:root{--charcoal:#1F2226;--silver:#C9CED6;--dim:#9299A4;--red:#E4002B;--panel:#272B30;--line:rgba(201,206,214,.18);--head:'Montserrat',sans-serif;--body:'Inter',sans-serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--charcoal);color:var(--silver);font:16px/1.65 var(--body);overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.skip{position:absolute;top:-60px;left:12px;z-index:100;background:var(--red);padding:10px}.skip:focus{top:10px}.noscript{margin:0;padding:12px 20px;background:#333;color:#fff}.nav-wrap{position:sticky;top:0;z-index:50;background:rgba(31,34,38,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font:800 13px var(--head);letter-spacing:.08em;color:#fff;min-width:0}.brand b{display:block;color:var(--dim);font-size:10px;letter-spacing:.14em}.brand-mark{width:39px;height:39px;border:1px solid var(--red);display:grid;place-items:center;font:800 24px var(--head);color:#fff}.nav-links{display:flex;gap:24px;font-size:13px}.nav-links a:hover,.text-link:hover{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 18px;font-size:13px;font-weight:700;letter-spacing:.01em;border:1px solid var(--line);min-height:48px}.button-red{background:var(--red);border-color:var(--red);color:#fff}.button-red:hover{background:#bd0024}.menu-toggle{display:none;background:none;border:0;font-size:24px}.hero{position:relative;min-height:640px;padding-top:84px;padding-bottom:70px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.hero-copy{position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:var(--dim);margin:0 0 20px}.eyebrow span,.status-dot{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:8px}.hero h1,.section h2,.visit-copy h2{font:700 clamp(42px,6.4vw,76px)/1.08 var(--head);letter-spacing:-.055em;color:#fff;margin:0 0 24px}.hero h1 em,.section h2 em,.visit-copy h2 em{font-style:normal;color:var(--red)}.hero-lede{max-width:440px;color:#aeb4bd;font-size:17px}.hero-actions{display:flex;align-items:center;gap:24px;margin:30px 0}.text-link{font-size:13px;font-weight:700}.hero-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--dim);flex-wrap:wrap}.meta-separator{color:var(--red)}.hero-art{position:relative;min-width:0}.hero-image{height:430px;position:relative;overflow:hidden}.fallback-tile{background:linear-gradient(140deg,#1F2226 0%,#454A52 56%,#C9CED6 160%);position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}.fallback-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--red);border-radius:50%;color:var(--red);font-size:20px;flex:0 0 auto}.image-caption{position:absolute;bottom:22px;left:22px;font-size:10px;letter-spacing:.18em;color:#fff}.hero-stamp{position:absolute;right:-18px;bottom:30px;background:var(--red);color:#fff;width:118px;height:118px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:700 10px var(--head);letter-spacing:.12em;transform:rotate(9deg)}.hero-stamp b{font-size:25px}.hero-side-note{position:absolute;right:-25px;top:30px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.22em;color:var(--dim)}.hero-bottom{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;color:var(--dim);font-size:9px;letter-spacing:.14em}.intro-band{background:#181a1d;border-block:1px solid var(--line)}.intro-inner{display:grid;grid-template-columns:1fr 2fr 1fr;gap:24px;align-items:center;padding-block:28px}.intro-inner p:first-child{font:700 12px/1.6 var(--head);letter-spacing:.1em;color:#fff}.intro-inner p:nth-child(2){font-size:14px;color:var(--dim);max-width:470px}.intro-inner a{font-size:12px;color:#fff;text-align:right}.section{padding-block:100px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:40px}.section-heading h2,.visit-copy h2{font-size:clamp(36px,5vw,58px);margin-bottom:0}.section-heading>p{max-width:390px;color:var(--dim);font-size:14px;margin:0 0 6px}.service-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:26px}.service-tab{border:1px solid var(--line);background:transparent;padding:10px 13px;font-size:12px}.service-tab.active,.service-tab:hover{background:var(--red);border-color:var(--red);color:#fff}.service-group h3{font:700 20px var(--head);color:#fff;margin:24px 0 10px}.service-list{display:grid;grid-template-columns:1fr 1fr;column-gap:34px}.service{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid var(--line)}.service h4{font-size:14px;color:#fff;margin:0;font-weight:600}.service p{font-size:11px;color:var(--dim);margin:2px 0 0}.service strong{font-size:13px;color:#fff;white-space:nowrap}.fine-print{color:var(--dim);font-size:11px;margin:24px 0}.gallery-section{background:#181a1d}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.gallery-card{min-height:210px;border:0;text-align:left;align-items:flex-start;justify-content:flex-end;padding:20px}.gallery-card .fallback-symbol{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%)}.gallery-label{color:#fff;font:700 11px var(--head);letter-spacing:.12em}.review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.review-card{padding:20px;background:#272b30;border:1px solid var(--line);min-width:0}.stars{color:var(--red);letter-spacing:.12em;font-size:12px}.review-card>p{font-size:13px;min-height:55px;color:#d4d8de}.review-by{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:14px;font-size:11px}.review-avatar{width:30px;height:30px;border-radius:50%;background:#3b4047;display:grid;place-items:center;color:#fff}.review-by b,.review-by small{display:block}.review-by small{color:var(--dim)}.visit-section{background:#181a1d;border-block:1px solid var(--line);padding-block:90px}.visit-grid{display:grid;grid-template-columns:1fr .85fr;gap:70px;align-items:start}.visit-copy>p:not(.eyebrow){color:var(--dim);max-width:460px}.visit-address{display:flex;gap:15px;align-items:center;margin:24px 0}.detail-icon{font-size:28px;color:var(--red)}.visit-address b{color:#fff}.visit-address p{margin:0;color:var(--dim);font-size:13px}.map-frame{height:230px;margin-top:26px;overflow:hidden;border:1px solid var(--line);background:#282c31}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.7) invert(.88) contrast(.85)}.hours-card{background:#24282d;border:1px solid var(--line);padding:32px}.hours-card h3{font:700 25px var(--head);color:#fff;margin:0 0 24px}.hours-row{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.hours-row b{color:#fff;text-align:right}.hours-note{display:flex;align-items:flex-start;margin-top:22px;color:var(--dim);font-size:11px}.hours-cta{display:flex;justify-content:space-between;gap:12px;margin-top:32px;font-size:12px}.hours-cta a{color:#fff;font-weight:700}.footer{padding:36px 0 24px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:28px;border-bottom:1px solid var(--line)}.footer-main p{color:var(--dim);font-size:12px}.footer-main>a:last-child{font-size:12px;color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding-top:20px;color:var(--dim);font-size:10px;letter-spacing:.05em}.mobile-cta{display:none}.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;align-items:center;justify-content:center;padding:24px}.lightbox.open{display:flex}.lightbox-close{position:absolute;right:20px;top:10px;font-size:38px;background:none;border:0}.lightbox-panel{width:min(600px,100%);height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#1F2226,#454A52,#C9CED6);gap:18px}.lightbox-panel p{color:#fff;font-weight:700}.service-group[hidden]{display:none}@media(max-width:800px){.nav-links{gap:12px}.nav-book{display:none}.hero{gap:24px;min-height:560px}.hero-image{height:350px}.hero-stamp{right:-6px}.hero-side-note{right:-10px}.intro-inner{grid-template-columns:1fr 2fr}.intro-inner a{grid-column:2;text-align:left}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visit-grid{gap:28px}.hours-card{padding:24px}}@media(max-width:600px){html{scroll-padding-top:72px}.container{width:calc(100% - 32px)}.nav{height:68px}.brand{font-size:11px}.brand-mark{width:34px;height:34px}.nav-links{display:none;position:absolute;left:0;right:0;top:68px;background:#202328;padding:18px 20px;flex-direction:column;border-bottom:1px solid var(--line)}.nav-wrap.menu-open .nav-links{display:flex}.hero{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding-top:54px;padding-bottom:58px;min-height:0}.hero h1{font-size:clamp(44px,12vw,64px)}.hero-lede{font-size:15px}.hero-actions{gap:16px;flex-wrap:wrap}.hero-image{height:300px}.hero-stamp{width:92px;height:92px;right:8px;bottom:22px}.hero-side-note{right:4px}.hero-bottom{bottom:18px;font-size:8px}.intro-inner{grid-template-columns:1fr;gap:4px;padding-block:20px}.intro-inner p{margin:6px 0}.intro-inner a{grid-column:auto;text-align:left;margin-top:8px}.section{padding-block:68px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px}.service-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:12px}.service-tab{flex:0 0 auto}.service-list{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gallery-card{min-height:150px;padding:13px}.review-grid{grid-template-columns:1fr 1fr;gap:8px}.review-card{padding:14px}.review-card>p{font-size:12px}.visit-section{padding-block:65px}.visit-grid{grid-template-columns:1fr;gap:28px}.hours-card{padding:22px}.hours-row{font-size:11px}.footer-main{align-items:flex-start;flex-direction:column;gap:14px}.footer-bottom{flex-wrap:wrap;font-size:9px}.mobile-cta{display:grid;grid-template-columns:.8fr 1.2fr;position:fixed;bottom:0;left:0;right:0;z-index:55;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(25,27,30,.97);border-top:1px solid var(--line);gap:10px}.mobile-cta a{display:grid;place-items:center;padding:10px;font-size:12px;font-weight:700;border:1px solid var(--line)}.mobile-cta a:last-child{background:var(--red);border-color:var(--red);color:#fff}body{padding-bottom:68px}.lightbox{padding:16px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.review-text.clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}.review-text.clamped.expanded{display:block}.review-expand{border:0;background:none;color:#fff;text-decoration:underline;font-size:12px;padding:2px 0 12px}.review-expand[hidden]{display:none}.review-attribution{font-size:12px;color:var(--dim);margin-top:22px}.mobile-cta a[hidden]{display:none!important}@media(max-width:600px){.review-grid{grid-template-columns:1fr}.review-card{min-width:0}}
/* Real salon photo wiring */
.hero.container{width:100%;max-width:none;min-height:660px;padding:105px max(20px,calc((100vw - 1160px)/2)) 76px;display:block;isolation:isolate;overflow:hidden;background:var(--charcoal);perspective:1000px}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;z-index:-2;transform:scale(1.025);transition:transform .5s ease;will-change:transform}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,34,38,.98) 0%,rgba(31,34,38,.91) 32%,rgba(31,34,38,.46) 65%,rgba(31,34,38,.2) 100%),linear-gradient(0deg,rgba(31,34,38,.8),transparent 45%,rgba(31,34,38,.16));z-index:-1;pointer-events:none}.hero-copy{max-width:650px;padding-block:38px}.hero-art{position:absolute;inset:0;pointer-events:none}.hero-stamp{right:max(30px,calc((100vw - 1160px)/2));bottom:85px}.hero-side-note{right:max(20px,calc((100vw - 1160px)/2));top:55px}.hero-bottom{left:max(20px,calc((100vw - 1160px)/2));right:max(20px,calc((100vw - 1160px)/2))}.hero-image-fallback{background:linear-gradient(140deg,#1F2226 0%,#454A52 56%,#C9CED6 160%)}.gallery-filters{display:flex;gap:8px;margin:-14px 0 22px;flex-wrap:wrap}.gallery-filter{background:transparent;border:1px solid var(--line);padding:9px 18px;font-size:12px;color:var(--silver)}.gallery-filter.active,.gallery-filter:hover{background:var(--red);border-color:var(--red);color:#fff}.gallery-card{position:relative;display:block;width:100%;min-height:0;aspect-ratio:3/4;padding:0;overflow:hidden;background:linear-gradient(140deg,#1F2226,#454A52,#C9CED6);isolation:isolate}.gallery-card img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover;aspect-ratio:3/4;transition:transform .5s ease}.gallery-card:hover img{transform:scale(1.045)}.gallery-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none}.gallery-card .fallback-symbol{display:none;position:absolute;left:50%;top:42%;transform:translate(-50%,-50%)}.gallery-card.fallback-tile .fallback-symbol{display:grid}.gallery-card .gallery-label{position:absolute;z-index:2;bottom:16px;left:16px;right:12px;text-align:left}.gallery-card[data-photo*="ash-blonde-balayage"]{aspect-ratio:1/1}.gallery-card[data-photo*="ash-blonde-balayage"] img{aspect-ratio:1/1;object-position:top;object-fit:cover}.storefront-photo{display:block;width:100%;max-height:220px;aspect-ratio:16/7;object-fit:cover;object-position:center 55%;border-radius:14px;margin:8px 0 22px;border:1px solid var(--line)}.visit-grid{align-items:start}.hours-card{overflow:hidden}.lightbox{gap:12px}.lightbox-panel{position:relative;width:min(600px,76vw);height:min(78vh,800px);background:linear-gradient(140deg,#1F2226,#454A52,#C9CED6);overflow:hidden}.lightbox-panel img{width:100%;height:100%;object-fit:contain;display:block}.lightbox-panel img[src*="ash-blonde-balayage"]{aspect-ratio:1/1;object-fit:cover;object-position:top;width:min(100%,70vh);height:auto;max-height:100%;margin:auto}.lightbox-panel .fallback-symbol{display:none;position:absolute;top:40%;left:calc(50% - 21px)}.lightbox-panel.fallback-tile .fallback-symbol{display:grid}.lightbox-panel p{position:absolute;bottom:0;left:0;right:0;padding:22px 16px 12px;margin:0;background:linear-gradient(transparent,rgba(0,0,0,.78));text-align:center}.lightbox-prev,.lightbox-next{border:1px solid var(--line);background:rgba(31,34,38,.8);color:#fff;font-size:38px;width:44px;height:56px;display:grid;place-items:center}.gallery-card[hidden]{display:none!important}@media(max-width:800px){.hero.container{min-height:590px;padding-top:80px}.hero-copy{max-width:600px}.hero-stamp{right:30px;bottom:60px}.hero-side-note{right:16px}.hero-bottom{left:20px;right:20px}.storefront-photo{max-height:200px}}@media(max-width:600px){.hero.container{min-height:620px;padding:55px 16px 65px}.hero:before{background:linear-gradient(90deg,rgba(31,34,38,.92),rgba(31,34,38,.48)),linear-gradient(0deg,rgba(31,34,38,.82),transparent 65%)}.hero-copy{padding-top:20px}.hero-stamp{width:84px;height:84px;right:22px;bottom:56px}.hero-side-note{right:12px;top:25px}.hero-bottom{left:16px;right:16px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card{aspect-ratio:3/4;min-height:0;padding:0}.gallery-card .gallery-label{font-size:9px;left:10px;bottom:11px}.storefront-photo{aspect-ratio:4/3;max-height:none}.lightbox{gap:4px;padding:12px}.lightbox-panel{width:calc(100vw - 104px);height:min(72vh,650px)}.lightbox-prev,.lightbox-next{width:32px;height:46px;font-size:28px}.lightbox-panel img[src*="ash-blonde-balayage"]{width:100%;height:auto;max-height:100%}}

/* Reliability, mobile navigation, and hero refinement */
button, a { -webkit-tap-highlight-color: transparent; }
.hero:before, .hero-art, .hero-stamp, .hero-side-note, .hero-bottom, .hero-bg { pointer-events: none; }
.hero-copy { pointer-events: auto; }
.menu-toggle { position:relative; z-index:3; display:none; align-items:center; justify-content:center; width:44px; height:44px; color:#fff; border:1px solid var(--line); border-radius:8px; }
.mobile-menu-book { display:none; }
.nav-links { z-index:70; }
.hero .hero-bg { z-index:-2; }
.hero:before { z-index:-1; }
.storefront-photo { transform:none!important; transition:none!important; }
@media (min-width:768px) {
 .hero.container { min-height:660px; }
 .hero:before { background:linear-gradient(90deg,rgba(31,34,38,.97) 0%,rgba(31,34,38,.88) 31%,rgba(31,34,38,.35) 54%,transparent 72%); }
 .hero-bg { object-position:center 30%; }
}
@media (max-width:767px) {
 .nav { position:relative; }
 .nav-links { display:none!important; position:absolute; top:68px; left:-16px; right:-16px; width:calc(100% + 32px); padding:16px; flex-direction:column; gap:0; background:#202328; border-bottom:1px solid var(--line); box-shadow:0 18px 28px rgba(0,0,0,.28); }
 .nav-wrap.menu-open .nav-links { display:flex!important; }
 .nav-links a:not(.mobile-menu-book) { padding:13px 8px; border-bottom:1px solid var(--line); font-size:15px; }
 .nav-links .mobile-menu-book { display:flex; margin-top:14px; width:100%; }
 .menu-toggle { display:flex!important; flex:0 0 44px; font-size:0; }
 .menu-toggle:before { content:""; width:20px; height:14px; border-top:2px solid #fff; border-bottom:2px solid #fff; display:block; }
 .menu-toggle:after { content:""; position:absolute; width:20px; height:2px; background:#fff; }
 .hero.container { display:flex; flex-direction:column; align-items:stretch; gap:20px; width:100%; min-height:0; padding:28px 16px 36px; background:var(--charcoal); overflow:hidden; perspective:1000px; }
 .hero:before { display:none!important; }
 .hero-bg { position:relative; inset:auto; display:block!important; width:100%; height:auto; aspect-ratio:4/5; max-height:none; object-fit:cover; object-position:50% 80%; border-radius:18px; border:1px solid rgba(228,0,43,.55); box-shadow:0 0 0 1px rgba(228,0,43,.12),0 8px 28px rgba(228,0,43,.09); transform:scale(1.25); transform-origin:50% 85%; z-index:0; order:2; pointer-events:none; }
 .hero-copy { order:1; max-width:none; padding:10px 0 0; position:relative; z-index:2; }
 .hero-art { position:absolute; inset:0; z-index:1; pointer-events:none; }
 .hero-stamp,.hero-side-note { display:none; }
 .hero-bottom { position:relative; inset:auto; order:3; margin-top:8px; pointer-events:none; }
 .hero-lede { max-width:42rem; }
 .storefront-photo { width:100%; aspect-ratio:4/3; max-height:260px!important; height:auto; object-fit:cover; object-position:50% 55%; transform:none!important; }
 .mobile-cta { z-index:80; }
}
@media (prefers-reduced-motion: reduce) {
 .hero-bg { transform:none!important; transition:none!important; }
}

/* Premium editorial hero redesign */
:root { --charcoal:#1F2226; --charcoal-deep:#14161A; --silver:#C9CED6; --signal-red:#E4002B; }
.hero.container {
  display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:center;
  gap:clamp(30px,5vw,76px); width:100%; max-width:none; min-height:680px;
  padding:76px max(24px,calc((100vw - 1160px)/2)) 58px; background:#14161A;
  isolation:isolate; overflow:hidden; perspective:none;
}
.hero-bg,.hero-art,.hero-stamp,.hero-side-note,.hero-bottom { display:none!important; }
.hero:before { display:none!important; }
.hero-copy { max-width:560px; padding:0; z-index:2; animation:hero-copy-in .7s ease-out both; }
.hero-copy .eyebrow { display:flex; align-items:center; gap:9px; color:#C9CED6; margin-bottom:23px; }
.hero-eyebrow-divider { display:inline-block; width:22px; height:1px; background:#E4002B; }
.hero h1 { font-size:clamp(48px,6.1vw,82px); line-height:1.02; letter-spacing:-.065em; margin-bottom:22px; }
.hero h1 em { color:#E4002B; }
.hero-lede { max-width:430px; font-size:clamp(15px,1.3vw,18px); line-height:1.75; color:#C9CED6; }
.hero-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin:28px 0 22px; }
.hero-explore { display:inline-flex; align-items:center; gap:10px; }
.hero-explore svg { transition:transform .25s ease; }
.hero-explore:hover svg { transform:translateX(4px); }
.hero-meta { display:flex; align-items:center; gap:9px; min-height:24px; color:#C9CED6; font-size:12px; }
.hero-meta .meta-separator { width:3px; height:3px; background:#E4002B; border-radius:50%; margin:0 4px; }
.hero-scroll-cue { display:inline-flex; align-items:center; gap:14px; margin-top:36px; color:#9299A4; font-size:9px; font-weight:700; letter-spacing:.2em; }
.scroll-cue-track { display:block; position:relative; height:35px; width:1px; background:rgba(201,206,214,.28); overflow:hidden; }
.scroll-cue-track i { position:absolute; left:-1px; top:0; width:3px; height:10px; background:#E4002B; border-radius:4px; animation:scroll-cue-drop 1.6s ease-in-out infinite; }
.hero-gallery { min-width:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:12px; height:520px; align-self:center; }
.hero-photo-card { position:relative; min-width:0; min-height:0; margin:0; overflow:hidden; isolation:isolate; border:1px solid rgba(201,206,214,.22); border-radius:12px; background:#202328; clip-path:inset(100% 0 0 0 round 12px); animation:hero-card-reveal .85s cubic-bezier(.2,.75,.25,1) forwards; }
.hero-photo-card:nth-child(1){animation-delay:.12s}.hero-photo-card:nth-child(2){animation-delay:.22s}.hero-photo-card:nth-child(3){animation-delay:.32s}.hero-photo-card:nth-child(4){animation-delay:.42s}.hero-photo-card:nth-child(5){animation-delay:.52s}
.hero-photo-feature { grid-column:1 / span 4; grid-row:1 / span 4; }
.hero-photo-blue { grid-column:5 / span 2; grid-row:1; }
.hero-photo-platinum { grid-column:5 / span 2; grid-row:2; }
.hero-photo-caramel { grid-column:5 / span 2; grid-row:3; }
.hero-photo-ombre { grid-column:5 / span 2; grid-row:4; }
.hero-photo-card img { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; object-position:var(--crop-x,50%) var(--crop-y,70%); transform:scale(var(--crop-scale,1.4)); transform-origin:var(--crop-x,50%) var(--crop-y,70%); transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .35s ease; }
.hero-photo-card:hover img { transform:scale(calc(var(--crop-scale,1.4) + .035)); }
.hero-photo-card:after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(0deg,rgba(20,22,26,.86),transparent); pointer-events:none; }
.hero-photo-card figcaption { position:absolute; z-index:2; left:12px; right:8px; bottom:10px; display:flex; align-items:center; gap:7px; color:#fff; font-size:clamp(9px,.85vw,12px); line-height:1.2; font-weight:600; letter-spacing:.01em; }
.hero-photo-card figcaption span { color:#E4002B; font-size:9px; letter-spacing:.1em; }
.hero-photo-blue figcaption,.hero-photo-platinum figcaption,.hero-photo-caramel figcaption,.hero-photo-ombre figcaption { left:8px; bottom:7px; font-size:9px; }
.hero-photo-fallback { background:linear-gradient(145deg,#14161A,#30343A,#C9CED6); }
@keyframes hero-copy-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes hero-card-reveal { from { opacity:0; clip-path:inset(100% 0 0 0 round 12px); } to { opacity:1; clip-path:inset(0 0 0 0 round 12px); } }
@keyframes scroll-cue-drop { 0% { transform:translateY(-2px); opacity:0; } 25% { opacity:1; } 100% { transform:translateY(30px); opacity:0; } }
@media (max-width:900px) and (min-width:768px) {
 .hero.container { gap:26px; padding-top:58px; padding-bottom:42px; min-height:610px; }
 .hero-gallery { height:440px; gap:8px; }
 .hero h1 { font-size:clamp(45px,5.7vw,62px); }
 .hero-photo-card figcaption { font-size:9px; }
}
@media (max-width:767px) {
 .hero.container { display:flex; flex-direction:column; align-items:stretch; gap:28px; min-height:0; padding:38px 18px 30px; width:100%; background:#14161A; overflow:hidden; }
 .hero-copy { width:100%; max-width:none; padding:0; }
 .hero h1 { font-size:clamp(46px,12vw,62px); line-height:1.03; margin-bottom:16px; }
 .hero-copy .eyebrow { font-size:9px; letter-spacing:.16em; margin-bottom:19px; }
 .hero-lede { max-width:36rem; font-size:15px; line-height:1.7; margin:0; }
 .hero-actions { gap:16px; margin:24px 0 18px; }
 .hero-actions .button { min-height:50px; }
 .hero-explore { min-height:48px; }
 .hero-meta { flex-wrap:wrap; font-size:11px; }
 .hero-scroll-cue { margin-top:24px; gap:12px; }
 .hero-gallery { width:100%; height:auto; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-template-rows:180px 116px; gap:8px; }
 .hero-photo-card { border-radius:10px; clip-path:inset(100% 0 0 0 round 10px); }
 .hero-photo-feature { grid-column:1 / span 4; grid-row:1; }
 .hero-photo-blue { grid-column:1; grid-row:2; }
 .hero-photo-platinum { grid-column:2; grid-row:2; }
 .hero-photo-caramel { grid-column:3; grid-row:2; }
 .hero-photo-ombre { grid-column:4; grid-row:2; }
 .hero-photo-card figcaption { left:9px; bottom:8px; gap:5px; font-size:10px; }
 .hero-photo-card figcaption span { font-size:8px; }
 .hero-photo-blue figcaption,.hero-photo-platinum figcaption,.hero-photo-caramel figcaption,.hero-photo-ombre figcaption { display:block; left:6px; right:4px; bottom:6px; font-size:8px; }
 .hero-photo-card img { transform:scale(var(--crop-scale,1.4)); }
 .hero-photo-card:hover img { transform:scale(var(--crop-scale,1.4)); }
}
@media (max-width:380px) {
 .hero.container { padding-inline:14px; }
 .hero-gallery { grid-template-rows:160px 102px; gap:6px; }
 .hero-photo-card figcaption { font-size:8px; left:6px; }
 .hero-photo-blue figcaption,.hero-photo-platinum figcaption,.hero-photo-caramel figcaption,.hero-photo-ombre figcaption { font-size:7px; }
 .hero-actions { gap:10px; }
}
@media (prefers-reduced-motion:reduce) {
 .hero-copy,.hero-photo-card,.scroll-cue-track i { animation:none!important; }
 .hero-photo-card { clip-path:inset(0 0 0 0 round 12px); opacity:1; }
 .hero-photo-card img,.hero-explore svg { transition:none!important; }
}

/* Ryan's Beauty Salon hero: neon editorial / coverflow */
.nav-wrap { transition:background .25s ease,border-color .25s ease; }
@media(min-width:768px){.nav-wrap{background:transparent;border-bottom-color:transparent}.nav-wrap.scrolled{background:rgba(20,22,26,.96);border-bottom-color:var(--line)}}
.hero.container{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(28px,5vw,76px);width:100%;max-width:none;min-height:clamp(640px,100svh,900px);padding:70px max(24px,calc((100vw - 1160px)/2)) 50px;background:#14161A;overflow:hidden;isolation:isolate;perspective:1200px}
.hero-bg,.hero-art,.hero-stamp,.hero-side-note,.hero-bottom{display:none!important}.hero:before{display:none!important}
.hero-copy{position:relative;z-index:2;max-width:560px;padding:0;animation:hero-copy-rise .6s ease-out both}
.hero-copy .eyebrow{display:flex;align-items:center;gap:9px;color:#C9CED6;font-size:10px;letter-spacing:.19em;margin-bottom:23px}
.hero-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#E4002B;box-shadow:0 0 10px rgba(228,0,43,.55)}
.hero h1{font-size:clamp(56px,6vw,96px);line-height:.99;letter-spacing:-.07em;margin:0 0 22px}
.headline-line{display:block;overflow:hidden;padding-bottom:.06em}.headline-line>span,.headline-line>em{display:inline-block;animation:headline-rise .7s cubic-bezier(.2,.7,.2,1) both}.headline-line:nth-child(2)>em{animation-delay:.08s;color:#E4002B;text-shadow:0 0 12px rgba(228,0,43,.2),0 0 28px rgba(228,0,43,.13)}.headline-line:nth-child(3)>span{animation-delay:.16s}
.hero-lede{max-width:430px;color:#C9CED6;font-size:clamp(15px,1.2vw,18px);line-height:1.75;margin:0}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0 18px}.hero-primary-cta{min-height:52px}.hero-ghost-cta{min-height:52px;background:transparent;border-color:rgba(201,206,214,.42);gap:10px}.hero-ghost-cta svg{transition:transform .2s ease}.hero-ghost-cta:hover svg{transform:translateX(3px)}
.hero-meta{display:flex;align-items:center;gap:9px;min-height:24px;font-size:12px;color:#C9CED6;flex-wrap:wrap}.hero-meta .status-dot{width:7px;height:7px;border-radius:50%;background:#E4002B;box-shadow:0 0 0 4px rgba(228,0,43,.12);animation:open-pulse 1.8s ease-in-out infinite}.hero-meta.is-closed .status-dot{background:#9299A4;box-shadow:none;animation:none}.meta-separator{width:3px;height:3px;border-radius:50%;background:#E4002B;margin:0 3px}
.hero-review-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-height:46px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(201,206,214,.18);font-size:11px;color:#C9CED6;transition:opacity .25s ease}.hero-review-line.is-fading{opacity:0}.hero-review-stars{color:#C9CED6;letter-spacing:.12em;font-size:10px}.hero-review-name{color:#9299A4;white-space:nowrap}
.hero-scroll-cue{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:#9299A4;font-size:9px;letter-spacing:.18em}.scroll-cue-track{position:relative;display:block;width:1px;height:28px;background:rgba(201,206,214,.28);overflow:hidden}.scroll-cue-track i{position:absolute;left:-1px;top:0;width:3px;height:8px;background:#E4002B;animation:scroll-cue-drop 1.5s ease-in-out infinite}
.hero-gallery{position:relative;min-width:0;height:min(62vh,560px);min-height:430px;transform-style:preserve-3d;isolation:isolate}.hero-gallery:before{content:"";position:absolute;inset:8% 0;background:radial-gradient(ellipse,rgba(228,0,43,.17),transparent 68%);filter:blur(12px);pointer-events:none}.hero-gallery:after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.hero-photo-card{position:absolute;left:50%;top:50%;width:min(58%,300px);aspect-ratio:4/5;margin:0;overflow:hidden;isolation:isolate;border:1px solid rgba(201,206,214,.7);border-radius:20px;background:#202328;box-shadow:0 16px 45px rgba(0,0,0,.32),0 0 20px rgba(228,0,43,.12);transform:translate(-50%,-50%) rotateZ(var(--rz,0deg)) translateX(var(--tx,0px)) translateZ(var(--tz,0px)) scale(var(--cs,1));transform-origin:center;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .45s ease;will-change:auto;clip-path:none;animation:hero-card-arrive .7s ease-out both}
.hero-photo-feature{--rz:-7deg;--tx:-68px;--tz:45px;--cs:1;z-index:5}.hero-photo-blue{--rz:9deg;--tx:138px;--tz:-100px;--cs:.78;z-index:2}.hero-photo-platinum{--rz:-2deg;--tx:92px;--tz:-35px;--cs:.87;z-index:3}.hero-photo-caramel{--rz:4deg;--tx:-126px;--tz:-95px;--cs:.76;z-index:1}.hero-photo-ombre{--rz:3deg;--tx:25px;--tz:-145px;--cs:.7;z-index:0}
.hero-photo-card img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:var(--crop-x,50%) var(--crop-y,70%);transform:scale(var(--crop-scale,1.4));transform-origin:var(--crop-x,50%) var(--crop-y,70%);transition:transform .55s ease,opacity .35s ease}
.hero-photo-card:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(0deg,rgba(20,22,26,.36),transparent);pointer-events:none}
.hero-photo-card figcaption{position:absolute;z-index:2;left:15px;bottom:13px;color:#C9CED6;font-size:10px;font-weight:700;letter-spacing:.2em;pointer-events:none}
.hero-photo-fallback{background:#1F2226}.hero-card-dots{display:none}
.service-marquee{height:56px;overflow:hidden;display:flex;align-items:center;border-block:1px solid rgba(201,206,214,.15);background:#14161A;white-space:nowrap}.service-marquee-track{display:flex;width:max-content;animation:marquee-left 40s linear infinite;will-change:transform}.service-marquee-track span{font-family:Montserrat,sans-serif;font-size:clamp(18px,2vw,24px);font-weight:700;letter-spacing:.12em;color:transparent;-webkit-text-stroke:1px rgba(201,206,214,.62);padding-right:24px}
.neon-intro{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:#14161A;color:#C9CED6;overflow:hidden;pointer-events:auto}.neon-word-wrap{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:13px}.neon-word,.neon-glow{font-family:Montserrat,sans-serif;font-size:clamp(40px,10vw,84px);font-weight:800;letter-spacing:.13em;color:#E4002B}.neon-glow{position:absolute;inset:0;opacity:0;text-shadow:0 0 5px #E4002B,0 0 14px #E4002B,0 0 30px rgba(228,0,43,.85);animation:neon-flicker .9s steps(1,end) both}.neon-subtitle{opacity:0;font-family:Montserrat,sans-serif;font-size:clamp(11px,2vw,16px);letter-spacing:.42em;animation:subtitle-in .35s ease .9s forwards}.neon-cut{position:absolute;left:-15%;top:52%;width:130%;height:2px;background:#E4002B;box-shadow:0 0 16px rgba(228,0,43,.8);opacity:0;transform:rotate(-18deg) scaleX(0);transform-origin:left center;animation:scissor-sweep .5s ease 1.4s forwards}.neon-intro.is-wiping{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);animation:neon-wipe .5s ease forwards}.neon-intro.is-hidden{display:none!important;pointer-events:none!important}
@keyframes headline-rise{from{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}@keyframes hero-copy-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-card-arrive{from{opacity:0;transform:translate(-50%,-43%) rotateZ(0deg) translateX(0) scale(.82)}to{opacity:1}}@keyframes neon-flicker{0%,8%,18%,24%{opacity:0}4%,12%,21%,100%{opacity:1}}@keyframes subtitle-in{to{opacity:1}}@keyframes scissor-sweep{0%{opacity:0;transform:rotate(-18deg) scaleX(0)}15%{opacity:1}100%{opacity:1;transform:rotate(-18deg) scaleX(1)}}@keyframes neon-wipe{to{clip-path:polygon(0 0,100% 0,100% 0,0 100%)}}@keyframes scroll-cue-drop{0%{transform:translateY(-2px);opacity:0}25%{opacity:1}100%{transform:translateY(24px);opacity:0}}@keyframes open-pulse{50%{box-shadow:0 0 0 7px rgba(228,0,43,.04)}}@keyframes marquee-left{to{transform:translateX(-50%)}}
@media(max-width:767px){
 .nav-wrap{height:64px}.nav{height:64px}.hero.container{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;min-height:100svh;padding:28px 18px 18px;background:#14161A;overflow:hidden}
 .hero-copy{max-width:none;padding:0;animation:none}.hero-copy .eyebrow{font-size:9px;margin-bottom:14px}.hero h1{font-size:clamp(40px,11vw,52px);line-height:1.01;letter-spacing:-.065em;margin-bottom:13px}.headline-line{padding-bottom:.035em}
 .hero-lede{font-size:14px;line-height:1.55;max-width:360px}.hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin:17px 0 12px}.hero-actions .button{width:100%;min-height:52px;height:52px}.hero-meta{font-size:11px;min-height:22px}.hero-review-line{margin-top:9px;padding-top:9px;min-height:36px;gap:7px;font-size:10px}.hero-review-quote{flex:1 1 100%;line-height:1.35}.hero-review-stars{font-size:9px}.hero-scroll-cue{display:none}
 .hero-gallery{height:clamp(210px,29svh,270px);min-height:210px;margin-top:auto;margin-bottom:-1px;width:100%;touch-action:pan-y;transform-style:preserve-3d}
 .hero-photo-card{width:70%;max-width:290px;border-radius:20px;box-shadow:0 12px 34px rgba(0,0,0,.35),0 0 16px rgba(228,0,43,.14);transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .4s ease}
 .hero-photo-feature{--rz:0deg;--tx:0px;--tz:40px;--cs:1;z-index:5}.hero-photo-blue{--rz:12deg;--tx:56%;--tz:-15px;--cs:.82;z-index:4}.hero-photo-platinum{--rz:-12deg;--tx:-56%;--tz:-15px;--cs:.82;z-index:4}.hero-photo-caramel{--rz:22deg;--tx:100%;--tz:-80px;--cs:.68;z-index:2}.hero-photo-ombre{--rz:-22deg;--tx:-100%;--tz:-80px;--cs:.68;z-index:1}
 .hero-card-dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:10}.hero-card-dots button{width:6px;height:6px;min-height:6px;padding:0;border:0;border-radius:50%;background:#626872;opacity:.7}.hero-card-dots button.active{background:#E4002B;opacity:1;box-shadow:0 0 8px rgba(228,0,43,.65)}
 .service-marquee{height:56px}.service-marquee-track{animation-duration:40s}
 .mobile-cta{transition:transform .25s ease,opacity .25s ease}.mobile-cta.cta-hidden{transform:translateY(110%);opacity:0;pointer-events:none}
}
@media(min-width:768px){.hero-gallery{transform-style:preserve-3d}.hero-photo-card{cursor:default}.hero-photo-card.is-active{z-index:8!important}.hero-photo-card.is-active figcaption{color:#fff}.hero.container{transition:background .2s ease}}
@media(hover:hover) and (pointer:fine) and (min-width:768px) and (prefers-reduced-motion:no-preference){.hero-gallery:hover .hero-photo-card{transition-duration:.8s}}
@media(prefers-reduced-motion:reduce){.hero-copy,.headline-line>span,.headline-line>em,.hero-photo-card,.neon-glow,.neon-subtitle,.neon-cut,.service-marquee-track,.scroll-cue-track i,.hero-meta .status-dot{animation:none!important;transition:none!important}.neon-intro{display:none!important}.hero-photo-card{clip-path:none;opacity:1}.service-marquee-track{transform:none}.hero-meta .status-dot{box-shadow:none}}


/* Desktop-only photo wall redesign. */
@media (min-width:768px) {
 .hero.container{height:min(calc(100svh - 72px),900px);min-height:620px;max-height:900px;grid-template-columns:minmax(0,46fr) minmax(0,54fr);gap:clamp(28px,3vw,56px);padding:clamp(22px,3vh,34px) max(28px,calc((100vw - 1500px)/2)) clamp(20px,2.6vh,30px);align-items:center;overflow:hidden;background:#14161A}
 .hero-copy{width:100%;max-width:640px;padding:0;animation:none;align-self:center}
 .hero-copy .eyebrow{margin:0 0 clamp(8px,1.6vh,17px);font-size:10px}
 .hero h1{font-size:clamp(44px,min(5.2vw,10vh),88px);line-height:.98;margin:0 0 clamp(8px,1.8vh,18px);letter-spacing:-.065em}
 .headline-line{padding-bottom:.035em}.headline-line>span,.headline-line>em{animation:none}
 .hero-lede{max-width:34ch;font-size:clamp(14px,1.15vw,17px);line-height:1.55;margin:0}
 .hero-actions{align-items:center;gap:12px;margin:clamp(10px,2vh,19px) 0 clamp(8px,1.6vh,15px)}
 .hero-actions .button{min-height:56px;height:56px;padding-inline:clamp(14px,1.4vw,22px)}
 .hero-primary-cta{position:relative;overflow:hidden;gap:9px;transform:translate3d(var(--mag-x,0),var(--mag-y,0),0);transition:transform .18s ease-out}
 .hero-primary-cta:after{content:"";position:absolute;top:-30%;bottom:-30%;left:-65%;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);animation:desktop-call-sheen 5s ease-in-out infinite;pointer-events:none}
 .hero-call-mobile-label,.nav-call-mobile-label{display:none}.hero-call-desktop-label{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
 .hero-ghost-cta{min-height:56px;height:56px;white-space:nowrap}
 .hero-directions-link{display:inline-flex;align-items:center;gap:6px;color:#C9CED6;font-size:12px;white-space:nowrap;text-decoration:underline;text-decoration-color:rgba(201,206,214,.35);text-underline-offset:4px}
 .hero-meta{font-size:11px;min-height:20px;gap:8px}.hero-review-line{min-height:35px;margin-top:clamp(5px,1vh,10px);padding-top:clamp(5px,1vh,9px);gap:7px;font-size:10px}.hero-scroll-cue{display:none}
 .hero-gallery{display:none!important}
 .desktop-photo-wall{display:block;position:relative;min-width:0;width:100%;height:100%;max-height:100%;overflow:hidden;perspective:1400px;isolation:isolate;align-self:stretch;background:radial-gradient(ellipse at 58% 48%,rgba(228,0,43,.15),transparent 58%),linear-gradient(145deg,#17191d,#14161A 70%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0%,#000 10%,#000 100%);mask-image:linear-gradient(to bottom,transparent 0%,#000 14%,#000 86%,transparent 100%),linear-gradient(to right,transparent 0%,#000 10%,#000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}
 .desktop-photo-wall:after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23grain)' opacity='.8'/%3E%3C/svg%3E")}
 .wall-tilt{position:absolute;inset:-10% -5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;transform:rotateY(-14deg) rotateZ(5deg) scale(1.08) translate3d(var(--wall-x,0px),var(--wall-y,0px),0);transform-origin:center;transition:transform .22s ease-out;will-change:transform}
 .wall-column{min-width:0;height:120%;overflow:hidden}.wall-strip{display:flex;flex-direction:column;gap:0;transform:translateY(0);animation:wall-scroll-up 62s linear infinite}
 .wall-column-2 .wall-strip{animation-name:wall-scroll-down;animation-duration:74s}.wall-column-3 .wall-strip{animation-duration:86s}
 .desktop-photo-wall:hover .wall-strip{animation-play-state:paused}
 .wall-card{flex:0 0 auto;min-width:0;width:100%;margin:0 0 18px;aspect-ratio:3/4;border:1px solid rgba(201,206,214,.25);border-radius:18px;overflow:hidden;background:#202328;box-shadow:0 12px 32px rgba(0,0,0,.34),0 0 17px rgba(228,0,43,.11)}
 .wall-card-frame{position:relative;width:100%;height:100%;overflow:hidden;border-radius:17px}.wall-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--wall-position,50% 60%);transform:scale(var(--wall-scale,1.3));transform-origin:center}
 .wall-card-label{position:absolute;left:10px;bottom:10px;padding:5px 8px;border:1px solid rgba(201,206,214,.18);border-radius:999px;background:rgba(20,22,26,.82);color:#C9CED6;font-size:9px;font-weight:700;letter-spacing:.1em}
 .nav-book .nav-call-desktop-label{display:inline;white-space:nowrap}
 @keyframes wall-scroll-up{from{transform:translateY(0)}to{transform:translateY(-50%)}}
 @keyframes wall-scroll-down{from{transform:translateY(-50%)}to{transform:translateY(0)}}
 @keyframes desktop-call-sheen{0%,68%{transform:translateX(0) skewX(-18deg);opacity:0}74%{opacity:1}90%,100%{transform:translateX(430%) skewX(-18deg);opacity:0}}
}
@media(min-width:768px) and (max-width:1099px){.hero.container{gap:24px;padding-inline:24px}.wall-tilt{grid-template-columns:repeat(2,minmax(0,1fr));inset:-10% 0}.wall-column-3{display:none}.hero-actions{gap:10px}.hero-directions-link{font-size:11px}}
@media(min-width:768px) and (max-height:700px){.hero.container{min-height:620px;height:calc(100svh - 72px)}.hero h1{font-size:clamp(44px,min(5.2vw,10vh),70px)}.hero-copy .eyebrow{margin-bottom:7px}.hero-actions{margin-top:9px;margin-bottom:7px}.hero-review-line{margin-top:4px;padding-top:4px}}
@media(min-width:768px) and (prefers-reduced-motion:reduce){.wall-strip,.hero-primary-cta:after{animation:none!important}.wall-tilt{transform:rotateY(-14deg) rotateZ(5deg) scale(1.08)!important;transition:none!important}.hero-copy,.headline-line>span,.headline-line>em{animation:none!important}.hero-primary-cta{transform:none!important;transition:none!important}}
@media(max-width:767px){.desktop-photo-wall{display:none!important}}


@media(min-width:768px){
 .hero:before{display:block!important;content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(420px circle at var(--spot-x,50%) var(--spot-y,50%),rgba(228,0,43,.095),transparent 72%),linear-gradient(145deg,rgba(201,206,214,.018),transparent 45%)}
 .desktop-photo-wall{z-index:1}.hero-copy{z-index:2}
}


@media(min-width:768px){.nav-book{display:inline-flex!important}.nav-call-desktop-label{white-space:nowrap}}
@media(min-width:768px) and (max-width:900px){.nav-links{gap:9px}.nav-book{font-size:10px;padding-inline:11px}.brand{font-size:10px}.brand-mark{width:32px;height:32px}}


/* Mobile-only hero coverflow. Desktop styles above remain unchanged. */
@media (max-width: 767px) {
  .hero.container { width:100%; min-height:0; padding:18px 16px 28px; display:flex; flex-direction:column; align-items:stretch; gap:0; overflow:hidden; perspective:none; }
  .hero-copy { display:contents; }
  .hero-copy .eyebrow { order:1; margin:0 0 9px; font-size:9px; letter-spacing:.16em; line-height:1.3; }
  .hero h1 { order:2; font-size:clamp(34px, 9.6vw, 40px); line-height:1.02; letter-spacing:-.055em; margin:0 0 12px; }
  .hero h1 .headline-line { display:inline; padding:0; }
  .hero h1 .headline-line + .headline-line:before { content:" "; }
  .hero-lede { order:5; margin:12px 0 0; max-width:100%; font-size:13px; line-height:1.4; color:#aeb4bd; }
  .hero-actions { display:contents; }
  .hero-primary-cta { order:4; width:100%; min-height:52px; height:52px; margin:0; font-size:14px; }
  .hero-ghost-cta { order:6; align-self:flex-start; margin-top:10px; min-height:44px; height:44px; padding:10px 14px; }
  .hero-directions-link { display:none!important; }
  .hero-meta { order:7; margin-top:12px; font-size:10px; line-height:1.4; }
  .hero-review-line { order:8; margin-top:9px; padding-top:8px; min-height:0; gap:6px; font-size:10px; line-height:1.35; }
  .hero-review-quote { flex:1 1 100%; }
  .hero-scroll-cue { display:none; }
  .hero-gallery { order:3; position:relative; display:block!important; width:100%; height:var(--stage-h,clamp(240px,calc(100svh - 360px),340px)); min-height:0; margin:0 0 10px; overflow:hidden; isolation:isolate; perspective:900px; perspective-origin:50% 45%; transform:none!important; touch-action:pan-y; }
  .hero-gallery:before { content:none!important; }
  .hero-gallery:after { content:none!important; }
  .mobile-carousel-glow { position:absolute; z-index:0; left:8%; right:8%; bottom:4px; height:34%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(228,0,43,.22) 0%,rgba(228,0,43,.08) 42%,transparent 74%); pointer-events:none; }
  .hero-photo-card { position:absolute; left:50%; top:50%; width:auto; height:calc(var(--stage-h,clamp(240px,calc(100svh - 360px),340px)) - 30px); aspect-ratio:3/4; max-width:84%; margin:0; overflow:hidden; isolation:isolate; border:1px solid rgba(201,206,214,.3); border-radius:18px; background:#202328; box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 14px rgba(228,0,43,.13); transform:translate3d(calc(-50% + var(--drag-x,0px) + var(--slot-x,0%)),calc(-50% + var(--drag-y,0px)),var(--slot-z,0px)) rotateY(var(--slot-ry,0deg)) scale(var(--slot-scale,1)); transform-origin:center; transition:transform 520ms cubic-bezier(.22,.8,.2,1),opacity 520ms; clip-path:none; animation:none; will-change:auto; }
  .hero-photo-card.is-active { box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 24px rgba(228,0,43,.27); }
  .hero-photo-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--crop-x,50%) var(--crop-y,70%); transform:scale(var(--crop-scale,1.4)); transform-origin:var(--crop-x,50%) var(--crop-y,70%); transition:none; }
  .hero-photo-card:after { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); opacity:.12; pointer-events:none; }
  .hero-photo-card figcaption { position:absolute; z-index:2; left:11px; bottom:11px; right:auto; padding:6px 9px; border:1px solid rgba(201,206,214,.45); border-radius:999px; background:rgba(31,34,38,.86); color:#e7e9ed; font-size:9px; line-height:1; letter-spacing:.12em; font-weight:700; pointer-events:none; }
  .hero-photo-card[aria-hidden="true"] { pointer-events:none; }
  .hero-card-dots { position:relative; left:auto; right:auto; bottom:auto; z-index:10; display:flex; justify-content:center; align-items:center; gap:9px; height:32px; margin:0; }
  .hero-card-dots button { display:grid; place-items:center; position:relative; width:6px; height:6px; min-height:6px; padding:0; margin:0 8px; border:0; border-radius:50%; background:#626872; opacity:.7; }
  .hero-card-dots button:before { content:""; position:absolute; inset:-19px; }
  .hero-card-dots button.active { background:#E4002B; opacity:1; box-shadow:0 0 8px rgba(228,0,43,.65); }
  .mobile-carousel-arrow { position:absolute; z-index:20; top:42%; width:30px; height:38px; display:grid; place-items:center; border:1px solid rgba(201,206,214,.18); border-radius:999px; padding:0; background:rgba(31,34,38,.45); color:rgba(233,236,240,.75); animation:mobile-chevron-pulse 2.2s ease-in-out infinite; }
  .mobile-carousel-prev { left:1px; } .mobile-carousel-next { right:1px; }
  .mobile-carousel-arrow svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-carousel-hint { position:absolute; z-index:20; bottom:0; left:0; right:0; margin:0; text-align:center; font-size:9px; line-height:1; letter-spacing:.14em; color:rgba(201,206,214,.7); pointer-events:none; animation:mobile-hint-pulse 2s ease-in-out infinite; }
  .mobile-carousel-hand { display:inline-block; margin-right:5px; font-size:13px; }
  .hero-gallery.hints-hidden .mobile-carousel-arrow,.hero-gallery.hints-hidden .mobile-carousel-hint { display:none; }
  .mobile-carousel-arrow:focus-visible,.hero-card-dots button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  @keyframes mobile-chevron-pulse { 50% { opacity:.48; } }
  @keyframes mobile-hint-pulse { 50% { opacity:.45; } }
}
/* Mobile-only hero coverflow. Desktop styles above remain unchanged. */
@media (max-width: 767px) {
  .hero.container { width:100%; min-height:0; padding:18px 16px 28px; display:flex; flex-direction:column; align-items:stretch; gap:0; overflow:hidden; perspective:none; }
  .hero-copy { display:contents; }
  .hero-copy .eyebrow { order:1; margin:0 0 9px; font-size:9px; letter-spacing:.16em; line-height:1.3; }
  .hero h1 { order:2; font-size:clamp(34px, 9.6vw, 40px); line-height:1.02; letter-spacing:-.055em; margin:0 0 12px; }
  .hero h1 .headline-line { display:inline; padding:0; }
  .hero h1 .headline-line + .headline-line:before { content:" "; }
  .hero-lede { order:5; margin:12px 0 0; max-width:100%; font-size:13px; line-height:1.4; color:#aeb4bd; }
  .hero-actions { display:contents; }
  .hero-primary-cta { order:4; width:100%; min-height:52px; height:52px; margin:0; font-size:14px; }
  .hero-ghost-cta { order:6; align-self:flex-start; margin-top:10px; min-height:44px; height:44px; padding:10px 14px; }
  .hero-directions-link { display:none!important; }
  .hero-meta { order:7; margin-top:12px; font-size:10px; line-height:1.4; }
  .hero-review-line { order:8; margin-top:9px; padding-top:8px; min-height:0; gap:6px; font-size:10px; line-height:1.35; }
  .hero-review-quote { flex:1 1 100%; }
  .hero-scroll-cue { display:none; }
  .hero-gallery { order:3; position:relative; display:flex!important; flex-direction:column; width:100%; height:auto; min-height:0; margin:0 0 10px; overflow:visible; isolation:isolate; transform:none!important; touch-action:pan-y; }
  .mobile-carousel-stage { position:relative; width:100%; height:var(--stage-h,clamp(240px,calc(100svh - 360px),340px)); min-height:0; overflow:hidden; perspective:900px; perspective-origin:50% 45%; isolation:isolate; touch-action:pan-y; }
  .hero-gallery:before { content:none!important; }
  .hero-gallery:after { content:none!important; }
  .mobile-carousel-glow { position:absolute; z-index:0; left:8%; right:8%; bottom:4px; height:34%; border-radius:50%; background:radial-gradient(ellipse at center,rgba(228,0,43,.22) 0%,rgba(228,0,43,.08) 42%,transparent 74%); pointer-events:none; }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card { position:absolute; left:50%; top:50%; width:auto; height:calc(var(--stage-h,clamp(240px,calc(100svh - 360px),340px)) - 30px); aspect-ratio:3/4; max-width:84%; margin:0; overflow:hidden; isolation:isolate; border:1px solid rgba(201,206,214,.3); border-radius:18px; background:#202328; box-shadow:0 10px 26px rgba(0,0,0,.28),0 0 14px rgba(228,0,43,.13); transform:translate3d(calc(-50% + var(--drag-x,0px) + var(--slot-x,0%)),calc(-50% + var(--drag-y,0px)),var(--slot-z,0px)) rotateY(var(--slot-ry,0deg)) scale(var(--slot-scale,1)); transform-origin:center; transition:transform 520ms cubic-bezier(.22,.8,.2,1),opacity 520ms; clip-path:none; animation:none; will-change:auto; }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card.is-active { box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 24px rgba(228,0,43,.27); }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:var(--crop-x,50%) var(--crop-y,70%); transform:scale(var(--crop-scale,1.4)); transform-origin:var(--crop-x,50%) var(--crop-y,70%); transition:none; }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card:after { content:""; position:absolute; inset:0; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E"); opacity:.12; pointer-events:none; }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card figcaption { position:absolute; z-index:2; left:11px; bottom:11px; right:auto; padding:6px 9px; border:1px solid rgba(201,206,214,.45); border-radius:999px; background:rgba(31,34,38,.86); color:#e7e9ed; font-size:9px; line-height:1; letter-spacing:.12em; font-weight:700; pointer-events:none; }
  .mobile-carousel-stage .mobile-carousel-stage .hero-photo-card[aria-hidden="true"] { pointer-events:none; }
  .hero-card-dots { position:relative; left:auto; right:auto; bottom:auto; z-index:10; display:flex; justify-content:center; align-items:center; gap:9px; height:32px; margin:0; }
  .hero-card-dots button { display:grid; place-items:center; position:relative; width:6px; height:6px; min-height:6px; padding:0; margin:0 8px; border:0; border-radius:50%; background:#626872; opacity:.7; }
  .hero-card-dots button:before { content:""; position:absolute; inset:-19px; }
  .hero-card-dots button.active { background:#E4002B; opacity:1; box-shadow:0 0 8px rgba(228,0,43,.65); }
  .mobile-carousel-stage .mobile-carousel-stage .mobile-carousel-arrow { position:absolute; z-index:20; top:42%; width:30px; height:38px; display:grid; place-items:center; border:1px solid rgba(201,206,214,.18); border-radius:999px; padding:0; background:rgba(31,34,38,.45); color:rgba(233,236,240,.75); animation:mobile-chevron-pulse 2.2s ease-in-out infinite; }
  .mobile-carousel-prev { left:1px; } .mobile-carousel-next { right:1px; }
  .mobile-carousel-arrow svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .mobile-carousel-stage .mobile-carousel-stage .mobile-carousel-hint { position:absolute; z-index:20; bottom:0; left:0; right:0; margin:0; text-align:center; font-size:9px; line-height:1; letter-spacing:.14em; color:rgba(201,206,214,.7); pointer-events:none; animation:mobile-hint-pulse 2s ease-in-out infinite; }
  .mobile-carousel-hand { display:inline-block; margin-right:5px; font-size:13px; }
  .hero-gallery.hints-hidden .mobile-carousel-arrow,.hero-gallery.hints-hidden .mobile-carousel-hint { display:none; }
  .mobile-carousel-arrow:focus-visible,.hero-card-dots button:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  @keyframes mobile-chevron-pulse { 50% { opacity:.48; } }
  @keyframes mobile-hint-pulse { 50% { opacity:.45; } }
}

/* Updated salon identity, owner feature, and location cards */
.brand{gap:0}.brand-logo{display:block;width:clamp(150px,18vw,220px);height:42px;object-fit:contain;object-position:left center}.footer .brand-logo{height:44px;width:190px}
.neon-word-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column}.neon-logo{display:block;width:min(70vw,420px);height:auto;max-height:160px;object-fit:contain;position:relative;z-index:2}.neon-logo-glow{position:absolute;inset:0;margin:auto;filter:blur(15px);opacity:.55;z-index:1;animation:logo-flicker 1.15s ease-in-out 3 both}@keyframes logo-flicker{0%,12%,24%,36%,48%,60%,72%,84%,100%{opacity:.55}18%,42%,66%{opacity:.08}}
.owner-section{padding:clamp(64px,8vw,108px) 0;background:#1a1c20;border-block:1px solid var(--line);overflow:hidden}.owner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,80px)}.owner-photo-panel{position:relative;max-height:460px;min-height:320px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(ellipse at 50% 75%,rgba(228,0,43,.22),transparent 62%),#24282d;border:1px solid rgba(201,206,214,.32);border-radius:20px;isolation:isolate;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .2s ease,opacity .7s ease;opacity:0;translate:0 18px}.owner-photo-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 49.8%,rgba(228,0,43,.45) 50%,transparent 50.3%);pointer-events:none;z-index:2}.owner-photo-panel:after{content:"";position:absolute;inset:0;opacity:.06;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E")}.owner-photo-panel.is-visible{opacity:1;translate:0 0}.owner-photo-panel img{position:relative;z-index:1;display:block;width:100%;height:100%;max-height:460px;object-fit:contain;object-position:center bottom;transition:transform .2s ease}.owner-copy h2{font:700 clamp(38px,5vw,58px)/1.05 var(--head);color:#fff;margin:0 0 22px;letter-spacing:-.05em}.owner-copy>p:not(.eyebrow){max-width:52ch;color:#b9bec7;font-size:15px}.owner-signature{display:flex;align-items:center;gap:8px;color:var(--red);font:42px/1.2 "Great Vibes",cursive;margin:18px 0}.owner-signature svg{width:17px;height:17px}
.visit-container>.eyebrow{margin-bottom:12px}.visit-title{font:700 clamp(36px,5vw,58px)/1.06 var(--head);color:#fff;letter-spacing:-.05em;margin:0 0 30px}.location-tabs{display:none}.location-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.location-panel{min-width:0;padding:24px;background:#24282d;border:1px solid var(--line);border-radius:16px}.location-panel[hidden]{display:none!important}.location-panel h3{font:700 24px var(--head);color:#fff;margin:0 0 8px}.location-address{font-size:13px;color:var(--dim);margin:0 0 16px}.location-panel .storefront-photo{aspect-ratio:4/3;max-height:360px;margin:10px 0 18px}.location-hours{margin:8px 0 16px}.location-panel .map-frame{height:230px;margin-top:20px}.woodbridge-hours{font-size:13px;color:#fff;margin:28px 0}.location-panel .visit-actions .button{min-height:48px}.location-panel .booking-note{margin:12px 0}.visit-container>.hours-note{margin-top:22px}
@media(max-width:767px){.brand-logo{height:34px;width:154px}.owner-grid{grid-template-columns:1fr;gap:24px}.owner-photo-panel{min-height:0;height:clamp(270px,78vw,380px);max-height:380px}.owner-photo-panel img{max-height:380px}.owner-copy h2{font-size:40px}.location-tabs{display:flex;gap:8px;margin-bottom:16px}.location-tab{flex:1;min-height:48px;border:1px solid var(--line);background:transparent;padding:10px 12px;font-size:13px;font-weight:700}.location-tab.active{background:var(--red);border-color:var(--red);color:#fff}.location-grid{display:block}.location-panel{padding:16px}.location-panel .storefront-photo{aspect-ratio:4/3;max-height:260px}.location-panel .map-frame{height:220px}.location-panel .visit-actions{display:grid;grid-template-columns:1fr}.location-panel .visit-actions .button{width:100%}.visit-title{font-size:38px}}
@media(min-width:768px){.location-tabs{display:none}.location-panel[hidden]{display:block!important}}
@media(prefers-reduced-motion:reduce){.owner-photo-panel,.owner-photo-panel img,.neon-logo-glow{animation:none!important;transition:none!important;transform:none!important;translate:0 0!important}.owner-photo-panel{opacity:1}}

.mobile-menu-brand{display:none}
@media(max-width:767px){body.locations-ready .location-tabs{display:flex}.mobile-menu-brand{display:block;padding:10px 0 16px;border-bottom:1px solid var(--line);margin-bottom:8px}.mobile-menu-brand img{display:block;width:154px;height:46px;object-fit:contain;object-position:left center}}

@media(max-width:767px){body:not(.locations-ready) .location-tabs{display:none!important}}
