.spa-page{--kyno-ink:#34242d;--kyno-pink:#d6a6b9;--kyno-paper:#fff8ef;--forest:#63364e;--ink:#34242d;background:#fcf5f7;color:var(--kyno-ink)}
.spa-page main{overflow:clip}.kyno-shell{margin:24px auto 0;width:calc(100% - 48px);max-width:1440px;border:2px solid var(--kyno-ink);border-radius:36px;background:var(--kyno-pink);box-shadow:9px 9px 0 var(--kyno-ink);padding:22px 36px 40px}
.kyno-local-nav{display:flex;align-items:center;justify-content:space-between;gap:24px}.kyno-brand img{width:110px;height:110px;mix-blend-mode:normal;object-fit:contain;border-radius:18px}.kyno-local-nav nav{display:flex;gap:26px;border:2px solid var(--kyno-ink);background:var(--kyno-paper);padding:17px 25px;border-radius:60px}.kyno-local-nav nav a{font-size:13px;text-decoration:none;font-weight:700;color:var(--kyno-ink)}
.spa-page .button{background:linear-gradient(130deg,#8b526b,#63364e);border:2px solid var(--kyno-ink);box-shadow:3px 4px 0 var(--kyno-ink);color:#fff!important}.spa-page .button:hover{transform:translateY(-2px);background:linear-gradient(130deg,#985c77,#73415a)}
.spa-page .spa-hero{width:100%;max-width:1200px;display:grid;grid-template-columns:1fr .9fr;gap:70px;padding:30px 0 0;align-items:center}.spa-page .spa-hero h1{font-family:Arial,sans-serif;font-weight:900;font-size:clamp(48px,5.6vw,82px);line-height:1.02;letter-spacing:-.055em;margin:24px 0;color:var(--kyno-ink)}.spa-hero h1 span{color:var(--kyno-paper);-webkit-text-stroke:1.5px var(--kyno-ink);paint-order:stroke fill;text-shadow:3px 3px 0 var(--kyno-ink)}
.spa-page .spa-hero .eyebrow{display:inline-block;background:var(--kyno-ink);color:var(--kyno-paper);padding:11px 16px;border-radius:30px;letter-spacing:.06em;font-size:10px;transform:rotate(-2deg)}.spa-page .spa-hero .lead{font-size:17px;max-width:49ch;color:var(--kyno-ink)}.spa-page .spa-hero .small{font-size:12px;margin-top:20px}.kyno-hero-notes{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.kyno-hero-notes span{font-size:11px;border:1px solid #34242d66;border-radius:20px;padding:7px 11px}
.kyno-makeover{margin:0;min-width:0;width:100%;max-width:460px;justify-self:center}.kyno-wash-stage{position:relative;width:100%;aspect-ratio:3/4;border:3px solid var(--kyno-ink);border-radius:46% 46% 24px 24px;overflow:hidden;background:#fff8ef;box-shadow:7px 7px 0 #63364e}.kyno-wash-stage>img,.kyno-wash-stage canvas{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;margin:0}.kyno-wash-stage canvas{visibility:hidden}.kyno-wash-stage.is-ready canvas{visibility:visible}.kyno-wash-stage.is-ready .kyno-before{visibility:hidden}.kyno-wash-label{position:absolute;top:24px;left:50%;padding:9px 19px;background:var(--kyno-paper);border:2px solid var(--kyno-ink);border-radius:13px;transform:translateX(-50%) rotate(-4deg);font-weight:800;font-size:18px;box-shadow:3px 3px 0 var(--kyno-ink);z-index:3}.kyno-sponge{position:absolute;left:0;top:0;width:38%;transform:translate(-50%,-50%);opacity:0;pointer-events:none;z-index:2;filter:drop-shadow(3px 6px 3px #34242d44)}.kyno-sponge svg{display:block;width:100%;height:auto}.kyno-makeover figcaption{font-size:11px;text-align:center;margin:17px 0 12px}.kyno-wash-controls{display:flex;justify-content:center;gap:10px}.kyno-wash-controls button{min-height:44px;min-width:76px;border:1.5px solid var(--kyno-ink);border-radius:30px;padding:9px 15px;background:var(--kyno-paper);color:var(--kyno-ink);font:700 12px Arial;cursor:pointer}.kyno-wash-controls button:hover,.kyno-wash-controls button[aria-pressed=true]{background:var(--kyno-ink);color:white}.spa-page :focus-visible{outline:3px solid #63364e;outline-offset:5px}
.kyno-ribbon{margin:46px 0 0;display:flex;justify-content:center;flex-wrap:wrap;gap:20px 60px;padding:25px 20px;border-block:2px solid var(--kyno-ink);background:#63364e;color:#fff8ef;font-size:16px;font-weight:700}.kyno-ribbon span::before{content:'✦';margin-right:16px;color:#d6a6b9}
.spa-page .section{padding-block:80px}.spa-page main h2{font-size:clamp(34px,4vw,52px);line-height:1.15;color:var(--kyno-ink)}.spa-page .section-intro{max-width:640px;color:#674f5a}.spa-page .kyno-services .service-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:36px;border:0}.spa-page .kyno-services .service-list>div{display:block;padding:18px;background:var(--kyno-paper);border:2px solid var(--kyno-ink);border-radius:26px;box-shadow:4px 5px 0 #d6a6b9}.kyno-service-photo{width:100%;height:210px;object-fit:contain;background:#eee4df;border-radius:17px;display:block;margin-bottom:23px}.spa-page .kyno-services .service-list h3{font-size:27px;line-height:1.15;margin-bottom:15px}.spa-page .kyno-services .service-list p{font-size:14px;line-height:1.75;margin:0}
.spa-page .salon-details{background:#edcedb;border:2px solid var(--kyno-ink);border-radius:36px;box-shadow:7px 7px 0 var(--kyno-ink);padding:48px;gap:70px}.spa-page .reel-box{border:2px solid var(--kyno-ink);border-radius:26px;background:#fff8ef;overflow:hidden}.spa-page .reel-box button{background:transparent;color:var(--kyno-ink)}.spa-page .play-icon{background:#63364e;color:white}.spa-page .kyno-gallery .pf-motion-stage{border:2px solid var(--kyno-ink);border-radius:32px;background:#e9c7d6;box-shadow:6px 6px 0 #63364e}.spa-page .kyno-gallery .photo-tile{background:var(--kyno-paper)}.spa-page .visit-steps{border-top:2px solid var(--kyno-ink)}.spa-page .visit-steps .service-list{gap:32px}.spa-page .visit-steps .service-list>div{border:2px solid var(--kyno-ink);border-radius:26px;background:var(--kyno-paper);padding:28px}.spa-page .contact-form{border:2px solid var(--kyno-ink);background:#edcedb;box-shadow:5px 5px 0 #63364e}.spa-page .google-map{border:2px solid var(--kyno-ink);border-radius:26px}.spa-page .site-footer{background:#63364e}.spa-page .salon-contact{border-top:2px solid var(--kyno-ink)}
@media(max-width:1000px){.kyno-shell{padding:20px 28px 32px}.kyno-local-nav{gap:14px}.kyno-local-nav nav{gap:14px;padding:13px 18px}.kyno-local-nav>.button{display:none}.spa-page .spa-hero{gap:32px}.spa-page .spa-hero h1{font-size:58px}.spa-page .kyno-services .service-list{grid-template-columns:repeat(2,minmax(0,1fr))}.spa-page .salon-details{gap:30px;padding:32px}}
@media(max-width:650px){.kyno-shell{width:calc(100% - 28px);margin-top:16px;padding:12px 17px 26px;border-radius:26px;box-shadow:5px 5px 0 var(--kyno-ink)}.kyno-local-nav{flex-direction:column;gap:5px}.kyno-brand img{width:90px;height:90px}.kyno-local-nav nav{width:100%;justify-content:center;gap:13px;padding:12px 10px}.kyno-local-nav nav a{font-size:10px}.spa-page .spa-hero{grid-template-columns:1fr;gap:30px;padding-top:30px}.spa-page .spa-hero h1{font-size:clamp(42px,11.7vw,65px);margin-block:20px}.spa-page .spa-hero .lead{font-size:15px;line-height:1.7}.spa-page .spa-hero .eyebrow{font-size:8px;letter-spacing:.03em;padding:10px 12px}.spa-page .spa-hero .button{padding:14px 16px;font-size:12px}.kyno-hero-notes{margin-top:18px}.kyno-hero-notes span{font-size:10px;padding:5px 8px}.kyno-wash-stage{border-radius:28% 28% 20px 20px}.kyno-wash-label{font-size:15px;top:18px;left:50%}.kyno-ribbon{gap:14px 22px;font-size:12px;margin-top:30px;padding:20px 16px}.kyno-ribbon span::before{margin-right:8px}.spa-page .section{padding-block:50px}.spa-page .kyno-services .service-list{grid-template-columns:1fr;gap:22px}.spa-page .kyno-services .service-list>div{padding:22px}.kyno-service-photo{height:270px}.spa-page .salon-details{padding:28px 22px;border-radius:26px}.spa-page .visit-steps .service-list>div{padding:24px}.spa-page .kyno-gallery .pf-motion-stage{margin-inline:0}.spa-page .contact-form{padding:24px}.spa-page .contact-layout{gap:24px}.kyno-makeover figcaption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.kyno-sponge{display:none!important}.spa-page .button{transition:none}}

@media(max-width:650px){.spa-page .spa-hero{display:flex;flex-direction:column;align-items:stretch;gap:0}.kyno-hero-copy{display:contents}.kyno-hero-copy>.eyebrow{order:1;align-self:flex-start}.kyno-hero-copy>h1{order:2}.kyno-makeover{order:3;margin:4px 0 28px}.kyno-hero-copy>.lead{order:4}.kyno-hero-copy>.button{order:5;align-self:flex-start}.kyno-hero-copy>.small{order:6}.kyno-hero-notes{order:7}}

/* Continuous salon service ribbon, with decorative paw prints. */
.kyno-ribbon{display:flex;flex-wrap:nowrap;gap:0;padding:0;position:relative;justify-content:initial}.kyno-ribbon-window{overflow:hidden;flex:1;min-width:0}.kyno-ribbon-track{display:flex;width:max-content;animation:kyno-ribbon-flow 26s linear infinite}.kyno-ribbon-group{display:flex;align-items:center;justify-content:space-around;gap:48px;min-width:100vw;flex-shrink:0;padding:24px}.kyno-ribbon-group>span{display:flex;align-items:center;gap:18px;white-space:nowrap}.kyno-ribbon span::before{content:none}.kyno-ribbon svg{width:25px;height:25px;fill:#f4d6e3;flex-shrink:0;transform:rotate(-14deg)}.kyno-ribbon-pause{align-self:stretch;width:54px;flex-shrink:0;border:0;border-left:1px solid #fff8ef50;background:#63364e;color:#fff8ef;font-size:19px;cursor:pointer}.kyno-ribbon.is-paused .kyno-ribbon-track{animation-play-state:paused}.spa-page .site-footer h2{color:#fff8ef}.spa-page .site-footer h2 em{color:#f4d6e3}
@keyframes kyno-ribbon-flow{to{transform:translateX(-50%)}}
@media(max-width:650px){.kyno-ribbon-group{gap:28px;padding:20px 14px}.kyno-ribbon-group>span{gap:12px}.kyno-ribbon svg{width:21px;height:21px}.kyno-ribbon-pause{width:44px}}
@media(prefers-reduced-motion:reduce){.kyno-ribbon-track{animation:none}.kyno-ribbon-window{overflow-x:auto}.kyno-ribbon-group[aria-hidden=true],.kyno-ribbon-pause{display:none}}

@keyframes kyno-text-rise{from{opacity:.15;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes kyno-text-side{from{opacity:.15;transform:translateX(-20px)}to{opacity:1;transform:none}}
.kyno-text-in{animation:kyno-text-rise .7s cubic-bezier(.2,.65,.3,1) both}.kyno-text-in[data-text-entrance=side]{animation-name:kyno-text-side}
@media(prefers-reduced-motion:reduce){.kyno-text-in{animation:none!important}}
@media(max-width:380px){.kyno-local-nav nav{gap:9px}.kyno-local-nav nav a{font-size:9px}.spa-page .spa-hero h1{font-size:40px}.spa-page .spa-hero .eyebrow{font-size:7px}.kyno-wash-controls{gap:7px}.kyno-wash-controls button{min-width:66px;padding-inline:12px}}

/* Desktop hero fits the viewport, including the sticky site navigation. */
@media(min-width:1001px){
 .kyno-shell{margin-top:16px;padding:10px 32px 18px;border-radius:30px}
 .kyno-local-nav{height:64px}.kyno-brand img{width:72px;height:72px}.kyno-local-nav nav{padding:11px 22px}.kyno-local-nav>.button{min-height:44px;padding:10px 20px}
 .spa-page .spa-hero{padding-top:14px;gap:48px;grid-template-columns:1.1fr 1fr}
 .kyno-makeover{max-width:min(390px,calc((100svh - 320px)*.75))}
 .spa-page .spa-hero h1{font-size:clamp(44px,7.6svh,72px);margin:14px 0;line-height:1.02}
 .spa-page .spa-hero .eyebrow{margin-bottom:8px;padding:8px 13px;font-size:9px}
 .spa-page .spa-hero .lead{font-size:clamp(14px,1.85svh,17px);line-height:1.6;margin-bottom:18px;max-width:52ch}
 .spa-page .spa-hero .small{margin:12px 0 0;font-size:11px}.kyno-hero-notes{margin-top:14px;gap:6px}.kyno-hero-notes span{padding:5px 9px;font-size:10px}
 .kyno-makeover figcaption{margin:10px 0 8px;font-size:10px}.kyno-wash-controls button{min-height:36px;padding:7px 12px;font-size:11px}.kyno-wash-controls{gap:8px}
}
@media(min-width:1001px) and (max-height:700px){.kyno-shell{margin-top:12px;padding-block:6px 14px}.kyno-local-nav{height:50px}.kyno-brand img{width:58px;height:58px}.spa-page .spa-hero{padding-top:10px;gap:36px}.spa-page .spa-hero h1{font-size:44px;margin-block:10px}.spa-page .spa-hero .lead{font-size:13px;line-height:1.5;margin-bottom:12px}.spa-page .spa-hero .button{min-height:42px;padding:10px 18px;font-size:12px}.kyno-hero-notes{margin-top:9px}.kyno-makeover{max-width:calc((100svh - 280px)*.75)}}
