/* Editorial photos, motion, films and location. */
.hair-card{aspect-ratio:4/5}.hair-photo{display:block;width:100%;height:100%;object-fit:cover;background:none;filter:saturate(.78);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s}.hair-card:hover .hair-photo{transform:scale(1.035);filter:saturate(1)}.hair-caption{font-size:clamp(16px,1.8vw,26px)}.hair-caption small{font-size:9px;letter-spacing:1px;line-height:1.6}.hair-top{font-size:10px}.hair-card:nth-child(2){--reveal-delay:100ms}.hair-card:nth-child(3){--reveal-delay:200ms}.reveal{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.section-heading h2,.about h2{text-wrap:balance}.button{position:relative;overflow:hidden}.button span{transition:transform .25s}.button:hover span{transform:translate(3px,-3px)}.nav nav a{position:relative;padding:12px 0}.nav nav a:after{content:'';height:1px;background:var(--accent);position:absolute;left:0;right:0;bottom:4px;transform:scaleX(0);transform-origin:left;transition:transform .25s}.nav nav a:hover:after{transform:scaleX(1)}
.reels{border-top:1px solid var(--line);background:#1b1d1a}.reel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;max-width:840px;margin:48px auto 0}.reel-card{margin:0;min-width:0}.reel-card:nth-child(2){--reveal-delay:120ms}.reel-frame{background:#101210;overflow:hidden;border:1px solid #393c34;aspect-ratio:9/14}.reel-frame video{display:block;width:100%;height:100%;object-fit:contain}.reel-card figcaption{display:flex;gap:20px;padding:24px 0 0;border-top:1px solid var(--line);margin-top:16px}.reel-number{color:var(--accent);font-size:11px;padding-top:4px}.reel-card h3{font-size:21px;letter-spacing:-.5px;font-weight:500;margin:0}.reel-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:10px 0 0}
.location-section{background:#ebe7de;color:#20251f;padding-top:85px;padding-bottom:30px;--line:#c4c4b7;--muted:#555e50}.location-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}.location-section .eyebrow{color:#58604d}.location-section h2{font-family:Manrope,Arial,sans-serif;font-size:clamp(36px,4.8vw,72px);font-weight:500;line-height:1.07;letter-spacing:-2.5px}.location-section h2 em{font-family:Georgia,serif;color:#747a57}.location-heading>p{color:var(--muted);font-size:13px;line-height:1.8}.location-layout{display:grid;grid-template-columns:.9fr 1.25fr;border:1px solid var(--line);background:#f5f2eb}.location-info{padding:44px}.location-city{font-size:10px;letter-spacing:2px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}.location-city span{font-size:18px}.location-info h3{font-family:Georgia,serif;font-weight:400;font-size:42px;line-height:1.1;letter-spacing:-1px;margin:30px 0 24px}.location-info address{font-style:normal;font-size:15px;line-height:1.85}.location-info .contact-action{border-color:#6c7354;margin-top:12px}.location-info .contact-action span,.location-info .contact-instagram span{color:#626b4d}.location-links{border-top:1px solid var(--line);margin-top:28px;padding-top:24px;display:grid;gap:15px}.location-links .eyebrow{display:block;margin:0;font-size:9px}.location-links a{font-size:19px;letter-spacing:0}.location-hours{font-size:11px;line-height:1.8;color:var(--muted);margin:22px 0}.location-info .primary{width:100%;background:#283527;color:#f5f2eb}.location-info .primary:hover{background:#40503a}.location-visual{min-width:0;display:flex;flex-direction:column;background:#d7d9cb;border-left:1px solid var(--line)}.location-tabs{display:flex;gap:6px;padding:15px;background:#e1e1d5;border-bottom:1px solid var(--line)}.location-tabs button{border:0;background:transparent;color:#454e3e;min-height:44px;padding:12px 22px;font-size:12px;transition:background .25s,color .25s}.location-tabs button[aria-selected=true]{background:#283527;color:#f5f2eb}.location-panel{position:relative;flex:1;min-height:480px}.location-panel[hidden]{display:none}.location-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.location-panel video{display:block;position:absolute;width:100%;height:100%;object-fit:contain;background:#171918}.map-fallback{position:absolute;left:15px;right:15px;bottom:20px;background:#f5f2eb;color:#283527;padding:15px;text-align:center;font-size:11px;box-shadow:0 2px 12px #0002}.location-signoff{display:flex;justify-content:space-between;gap:20px;padding-top:28px;font-size:9px;letter-spacing:2px}.location-signoff a{min-height:44px;display:flex;align-items:center}.location-signoff>span{display:flex;align-items:center}.location-section a:focus-visible,.location-section button:focus-visible{outline-color:#40503a}.location-panel:not([hidden]){animation:panel-arrive .4s ease-out}@keyframes panel-arrive{from{opacity:.3}to{opacity:1}}
@media(max-width:900px){.location-info{padding:28px}.location-layout{grid-template-columns:1fr 1fr}.location-info h3{font-size:36px}.reel-grid{gap:24px}.hair-caption{left:14px;right:14px}.hair-caption small{font-size:8px}.hair-top{left:14px;font-size:9px}}
@media(max-width:600px){.hair-caption{font-size:23px;left:22px;right:22px}.hair-caption small{font-size:9px}.reel-grid{grid-template-columns:1fr;max-width:380px;gap:40px}.reel-frame{aspect-ratio:9/14}.location-heading{display:block}.location-heading>p{margin-top:24px}.location-layout{grid-template-columns:1fr}.location-visual{border-left:0;border-top:1px solid var(--line)}.location-panel{min-height:410px}.location-section h2{font-size:40px;letter-spacing:-1.5px}.location-info{padding:28px 24px}.location-signoff{font-size:8px;letter-spacing:1px}.hair-card:nth-child(n),.reel-card:nth-child(n){--reveal-delay:0ms}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.location-panel:not([hidden]){animation:none}.hair-photo,.button span,.nav nav a:after,.reveal,.location-tabs button{transition:none}}
/* Keep motion restrained; panels animate through the cancellable JS transition. */
.location-panel:not([hidden]){animation:none}.location-visual{overflow:hidden}.reveal{transition-duration:.75s;transition-timing-function:cubic-bezier(.22,1,.36,1)}.contact-action span,.contact-instagram span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}.contact-action:hover span,.contact-instagram:hover span{transform:translate(3px,-3px)}.map-fallback{transition:background .25s,box-shadow .25s}.map-fallback:hover{background:#fffdf7;box-shadow:0 4px 18px #0002}dialog[open]{animation:dialog-arrive .3s cubic-bezier(.22,1,.36,1)}dialog[open]::backdrop{animation:backdrop-arrive .25s ease-out}@keyframes dialog-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}@keyframes backdrop-arrive{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.reveal,.contact-action span,.contact-instagram span,.map-fallback{transition:none}dialog[open],dialog[open]::backdrop{animation:none}}
/* Gift certificate: supplied scan, restrained presentation. */
.gift{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;align-items:center;background:#20221f;border-top:1px solid var(--line);overflow:hidden}.gift-description{font-size:15px;line-height:1.9;color:var(--muted);margin:28px 0}.gift .button{border:0}.gift-note{font-size:12px!important;line-height:1.8;color:var(--muted);margin:18px 0}.gift-steps{display:flex;flex-wrap:wrap;gap:20px;margin-top:46px;padding-top:24px;border-top:1px solid var(--line)}.gift-steps>span{color:var(--accent);font-size:11px}.gift-steps b{display:block;color:var(--muted);font-weight:400;margin-top:9px}.gift-art{position:relative;justify-self:center;width:min(100%,330px);padding:24px 26px 18px;background:#111310;color:var(--ink);border:1px solid #555548;box-shadow:18px 22px 0 #171918,0 28px 60px #0004;transform:rotate(3deg);transition:transform .4s,box-shadow .4s}.gift-art:hover{transform:rotate(0) translateY(-5px);box-shadow:10px 16px 0 #171918,0 35px 65px #0006}.gift-art img{display:block;width:100%;height:auto;margin:20px 0;filter:grayscale(1)}.gift-art-label,.gift-art-action{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1.7px}.gift-art-action{border-top:1px solid var(--line);padding-top:17px;font-size:8px}.gift-art-action>span{font-size:22px;color:var(--accent)}
#gift-dialog{max-width:580px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:42px}#gift-dialog h2{font-size:38px}#gift-dialog .eyebrow{font-size:9px;margin-bottom:18px}#gift-intro{font-size:13px}#gift-form>label:not(.gift-consent){display:block;font-size:13px;margin:19px 0 8px}#gift-form>input{display:block;width:100%;min-height:50px;border:1px solid #5e6057;border-radius:0;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:#232622}#gift-form input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#gift-form input::placeholder{color:#a6a79f}#gift-form small{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:8px}.gift-consent{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;color:var(--muted);margin:22px 0}.gift-consent input{width:20px;height:20px;flex-shrink:0;accent-color:var(--accent);margin:0}.gift-submit{width:100%;border:0}.gift-submit:disabled{cursor:wait;opacity:.65;transform:none}.gift-status{font-size:13px!important;margin:12px 0 0;color:#f1ba94}.gift-status:empty{display:none}.gift-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.gift-success-mark{font-size:45px!important;color:var(--accent)}#gift-success h3{font-size:28px;font-weight:500}body:has(dialog[open]){overflow:hidden}
.blade-transition{position:fixed;inset:0;pointer-events:none;z-index:100;visibility:hidden;overflow:hidden}.blade-transition.active{visibility:visible}.blade-half{position:absolute;inset:0;background:#171918}.blade-top{clip-path:polygon(0 0,100% 0,100% 20%,0 80%)}.blade-bottom{clip-path:polygon(0 80%,100% 20%,100% 100%,0 100%)}.blade-glint{position:absolute;inset:0;background:var(--accent);clip-path:polygon(0 79.8%,100% 19.8%,100% 20.2%,0 80.2%);opacity:0}.blade-transition.active .blade-top{animation:blade-top .8s cubic-bezier(.65,0,.25,1) both}.blade-transition.active .blade-bottom{animation:blade-bottom .8s cubic-bezier(.65,0,.25,1) both}.blade-transition.active .blade-glint{animation:blade-glint .8s ease-out both}@keyframes blade-top{0%,20%{transform:translate(0,0)}100%{transform:translate(-12%,-100%)}}@keyframes blade-bottom{0%,20%{transform:translate(0,0)}100%{transform:translate(12%,100%)}}@keyframes blade-glint{0%{opacity:0;clip-path:polygon(0 79.8%,0 79.8%,0 80.2%,0 80.2%)}20%{opacity:1;clip-path:polygon(0 79.8%,100% 19.8%,100% 20.2%,0 80.2%)}60%,100%{opacity:0}}
@media(max-width:900px){.gift{gap:7%}.gift-art{width:min(100%,280px);padding:18px}.nav nav{gap:14px}}@media(max-width:600px){.gift{grid-template-columns:1fr;gap:44px}.gift-art{width:250px;margin:0 0 20px}.gift-copy h2{font-size:40px}.gift-description{font-size:14px}.gift-steps{gap:24px;margin-top:30px}#gift-dialog{padding:40px 23px 24px}#gift-dialog h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.gift-art{transform:none}.blade-transition{display:none}}
/* Compact brand in the navigation; team cards remain explicitly unfilled. */
.header-brand .header-logo{width:36px;height:45px;animation:none}.header-brand{gap:12px}.hero .hero-slogan{margin-top:30px}.nav nav{gap:18px}.masters{background:var(--bg)}.masters-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.master-card{border:1px solid var(--line);min-width:0}.master-placeholder{position:relative;aspect-ratio:4/4.3;background:linear-gradient(145deg,#2b2e29,#1c1f1b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;color:#989b8e;overflow:hidden}.master-placeholder svg{width:40%;opacity:.45}.master-placeholder>span:last-child{font-size:9px;letter-spacing:1.8px}.master-number{position:absolute;top:22px;left:22px;font-size:9px;letter-spacing:2px;color:var(--accent)}.master-details{padding:26px}.master-details .eyebrow{font-size:8px;margin-bottom:12px;color:var(--accent)}.master-details h3{font-size:26px;font-weight:500;margin:0}.master-details>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--muted);margin:16px 0 23px}.master-details details{border-top:1px solid var(--line)}.master-details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:12px;min-height:54px;list-style:none}.master-details summary::-webkit-details-marker{display:none}.master-details summary span{font-size:23px;color:var(--accent)}.master-details details[open] summary span{transform:rotate(45deg)}.master-details summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.master-price{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.master-price-note{font-size:11px;line-height:1.7;color:var(--muted)}
@media(max-width:1100px){.nav nav{gap:12px;font-size:11px}.nav{gap:14px;padding-inline:4%}.header-brand .wordmark{font-size:23px}.header-brand .wordmark span{font-size:10px;margin-left:4px}.master-details{padding:20px}}
@media(max-width:750px){.nav{height:auto;min-height:76px;flex-wrap:wrap;padding:14px 6%;gap:10px}.nav nav{display:flex;order:3;width:100%;overflow:auto;gap:20px;white-space:nowrap;padding:4px 0;font-size:12px}.nav nav a{display:flex;align-items:center;min-height:36px}.header-brand .header-logo{width:31px;height:38px}.masters-grid{grid-template-columns:1fr;max-width:440px;margin-inline:auto}.master-placeholder{aspect-ratio:4/3.5}.hero .hero-slogan{margin-top:24px}}
.gift-from{padding:0;border:0;margin:22px 0 0;display:flex;gap:12px}.gift-from legend{font-size:13px;margin-bottom:10px}.gift-from label{display:flex;align-items:center;gap:9px;min-height:46px;padding:10px 16px;border:1px solid #5e6057;font-size:13px;cursor:pointer}.gift-from label:has(:checked){border-color:var(--accent);background:#d19d7310}.gift-from input{accent-color:var(--accent);width:17px;height:17px;margin:0}#gift-form>[hidden]{display:none!important}@media(max-width:750px){.nav nav a{min-height:44px}}
.gift-wish-toggle{display:flex;gap:10px;align-items:center;min-height:48px;font-size:13px;margin-top:18px;cursor:pointer}.gift-wish-toggle input{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}#gift-wish-fields>label{display:block;font-size:13px;margin:10px 0}#gift-wish{width:100%;resize:vertical;min-height:100px;max-height:230px;background:#232622;color:var(--ink);border:1px solid #5e6057;padding:12px 14px;font:inherit;font-size:16px}#gift-wish:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Balanced brand lockup: matching wordmark sizes, intact shield proportions. */
.nav .header-brand{gap:10px;align-items:center}.nav .header-brand .header-logo{width:auto;height:30px;flex-shrink:0;object-fit:contain}.nav .header-brand .wordmark{display:flex;align-items:baseline;gap:8px;font-size:23px;line-height:1;font-weight:700;letter-spacing:-.7px}.nav .header-brand .wordmark span{font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:-.4px;margin:0}
@media(max-width:1100px){.nav .header-brand .wordmark{font-size:20px}.nav .header-brand .header-logo{height:27px}}
@media(max-width:750px){.nav .header-brand .wordmark{font-size:21px}.nav .header-brand .header-logo{height:28px}.nav .header-brand{gap:9px}}
/* Branded preview covers. Native video controls remain available after play. */
.reel-frame{position:relative}.video-cover{position:absolute;inset:0;z-index:3;width:100%;height:100%;border:0;padding:28px;text-align:left;overflow:hidden;background:#171918;color:#f1eee6;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.video-cover[hidden]{display:none}.video-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#101310aa,transparent 42%,#101310e8);pointer-events:none}.video-cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.64);transition:transform .7s ease,filter .4s}.video-cover:hover .video-cover-photo{transform:scale(1.035);filter:grayscale(1) brightness(.8)}.video-cover-brand,.video-cover-play,.video-cover-caption{position:relative;z-index:1}.video-cover-brand{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:600;letter-spacing:1.6px}.video-cover-brand img{width:30px;height:auto;filter:grayscale(1);mix-blend-mode:screen}.video-cover-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;border:1px solid #f1eee6b3;border-radius:50%;display:grid;place-items:center;background:#17191840;transition:background .25s}.video-cover-play svg{width:22px;height:22px;margin-left:1px}.video-cover:hover .video-cover-play{background:#d19d73;color:#171918;border-color:#d19d73}.video-cover-caption{display:flex;flex-direction:column;gap:14px}.video-cover-caption>span{font-size:9px;letter-spacing:2.5px}.video-cover-caption strong{font-family:Georgia,serif;font-size:clamp(25px,3vw,38px);line-height:1.2;font-weight:400}.video-cover-hint{margin-top:5px;color:#d5cfc2}.video-cover:focus-visible{outline:2px solid var(--accent);outline-offset:-7px}.video-cover:disabled{cursor:wait}.video-cover:disabled .video-cover-play{opacity:.5}.hero-media .video-cover{padding:30px}.hero-media .video-cover~.media-shade{pointer-events:none}
.master-placeholder.has-photo{background:#262923}.master-placeholder.has-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 15%;filter:grayscale(1)}.master-placeholder.has-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0005,transparent 30%,transparent 70%,#0008);pointer-events:none}.master-placeholder.has-photo .master-number{z-index:1;color:var(--ink)}.master-placeholder.has-photo>span:last-child{position:absolute;left:22px;bottom:20px;z-index:1;color:#eee8df;font-size:8px;letter-spacing:1.5px}.master-demo-note{font-size:11px;line-height:1.7;color:var(--muted);margin:22px 0 0}
@media(prefers-reduced-motion:reduce){.video-cover-photo,.video-cover-play{transition:none}.video-cover:hover .video-cover-photo{transform:none}}

/* Cover scanner dust at the outer edges without altering the original artwork. */
.gift-scan{display:block;background:#000;margin:20px 0;overflow:hidden}.gift-art .gift-scan img{margin:0;clip-path:inset(1.5%)}
/* A single editorial card opens the children's collection on demand. */
.kids-collection .video-cover-photo{filter:saturate(.55) brightness(.75)}.kids-collection .video-cover:hover .video-cover-photo{filter:saturate(.8) brightness(.85)}
#kids-gallery-dialog{max-width:940px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:28px;overflow:auto}#kids-gallery-dialog .dialog-close{z-index:2;background:var(--bg)}.kids-gallery-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:36px;align-items:center}.kids-player-frame{background:#090b09;min-width:0;aspect-ratio:9/16;max-height:76dvh;display:flex;align-items:center;justify-content:center}.kids-player-frame video{display:block;width:100%;height:100%;max-height:76dvh;object-fit:contain}.kids-gallery-info{padding:18px 8px 16px 0;min-width:0}.kids-gallery-info h2{font-size:40px}.kids-gallery-info>.eyebrow{font-size:9px}.kids-gallery-info>p{font-size:12px;line-height:1.8}.kids-gallery-controls{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:28px 0 18px;border-top:1px solid var(--line);padding-top:18px}.kids-gallery-controls button{width:44px;height:44px;border:1px solid var(--line);color:var(--ink);background:transparent;font-size:20px}.kids-gallery-controls button:hover{border-color:var(--accent);color:var(--accent)}.kids-gallery-controls p{font-size:11px;margin:0;color:var(--ink)}.kids-gallery-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kids-film-choice{min-width:0;min-height:70px;position:relative;padding:0;border:2px solid transparent;background:#101210;color:var(--ink);transition:border-color .2s}.kids-film-choice img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;opacity:.58}.kids-film-choice>span{position:absolute;bottom:5px;left:7px;font-size:10px;text-shadow:0 1px 4px #000}.kids-film-choice[aria-pressed=true]{border-color:var(--accent)}.kids-film-choice[aria-pressed=true] img,.kids-film-choice:hover img{opacity:1}.kids-gallery-note{font-size:10px!important;color:var(--muted)}.kids-gallery-error{font-size:12px!important;color:#f1ba94!important}.kids-gallery-error a{text-decoration:underline}
@media(max-width:650px){#kids-gallery-dialog{padding:48px 18px 20px}.kids-gallery-layout{grid-template-columns:1fr;gap:18px}.kids-player-frame{aspect-ratio:auto;height:47dvh;max-height:none}.kids-player-frame video{max-height:47dvh}.kids-gallery-info{padding:0}.kids-gallery-info h2{font-size:26px}.kids-gallery-info h2 br{display:none}.kids-gallery-info h2 em:before{content:' '}.kids-gallery-info>.eyebrow,.kids-gallery-info>p:not(.kids-gallery-error){display:none}.kids-gallery-controls{margin:14px 0 12px;padding-top:12px}.kids-gallery-list{gap:9px}.kids-film-choice img{height:68px;aspect-ratio:auto;object-fit:cover}.kids-gallery-error:not([hidden]){display:block}}
/* Three equal editorial cards and one filtered haircut collection. */
.reel-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1160px;gap:24px}.reel-frame{aspect-ratio:9/14}.reel-card h3{font-size:20px}.reel-card .video-cover{padding:22px}.reel-card .video-cover-caption strong{font-size:30px}.reel-card .video-cover-brand{font-size:9px;letter-spacing:1px}.reel-card .video-cover-brand img{width:25px}.reel-card .video-cover-hint{font-size:8px;letter-spacing:1.5px}.reel-card .video-cover-photo{filter:saturate(.55) brightness(.75)}
.kids-player-frame #haircut-gallery-image{display:block;width:100%;height:100%;object-fit:contain}.kids-player-frame [hidden]{display:none!important}.haircut-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.haircut-filters button{background:transparent;color:var(--muted);border:1px solid var(--line);padding:10px 13px;min-height:44px;font-size:12px}.haircut-filters button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.kids-gallery-list{grid-template-columns:repeat(4,minmax(0,1fr))}.kids-film-choice[hidden]{display:none}.kids-gallery-list .kids-film-choice img{height:76px;object-fit:cover}.kids-gallery-controls{margin-top:18px}
@media(min-width:701px) and (max-width:900px){.reel-grid{gap:16px}.reel-card .video-cover{padding:16px}.reel-card .video-cover-caption strong{font-size:24px}.reel-card .video-cover-brand{font-size:8px}.reel-card figcaption{gap:12px}.reel-card h3{font-size:18px}}
@media(max-width:700px){.reel-grid{grid-template-columns:1fr;max-width:390px;gap:38px}.reel-card .video-cover-caption strong{font-size:34px}.reel-card .video-cover{padding:26px}}
@media(max-width:650px){.kids-gallery-list .kids-film-choice img{height:56px}.kids-player-frame{height:40dvh}.kids-player-frame video{max-height:40dvh}.haircut-filters{margin-top:14px}.haircut-filters button{padding:9px 11px}.kids-gallery-controls{margin-top:12px}}

.master-awaiting-photo>img{width:72px;height:auto;opacity:.55}.master-work-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin:0 0 18px;font-size:13px}.master-price>span:last-child{white-space:nowrap;color:var(--ink)}.kids-gallery-info>p.haircut-master-credit{display:block;font-size:12px;color:var(--accent);margin:12px 0}.haircut-master-filters{margin-top:18px}

.haircut-filters button:disabled{opacity:.4;cursor:not-allowed}

/* Vector arrows keep the same monochrome appearance on iOS and desktop. */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex:none;overflow:visible}
.masters-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));max-width:1120px;margin-inline:auto;align-items:stretch}
.master-card{display:flex;flex-direction:column}.master-details{display:flex;flex-direction:column;flex:1}.master-placeholder{flex-shrink:0;aspect-ratio:4/4.3}.master-details>p:not(.eyebrow){min-height:3.6em}.master-details .master-work-button{margin-top:0}.master-details details{margin-top:0}.master-price{min-height:46px;align-items:center}.master-price>span:first-child{line-height:1.5}
@media(max-width:750px){.masters-grid{grid-template-columns:1fr;max-width:440px}.master-details>p:not(.eyebrow){min-height:0}.master-placeholder{aspect-ratio:4/4.3}}

/* A compact mobile header and a right-hand drawer. Desktop navigation stays inline. */
.mobile-menu-toggle{display:none}
#mobile-menu{position:fixed;inset:0 0 0 auto;margin:0;padding:0;width:min(84vw,360px);max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-left:1px solid var(--line);background:var(--bg);color:var(--ink);overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 70px #0003}
#mobile-menu[open]{display:flex;flex-direction:column}
#mobile-menu::backdrop{background:#0009}
.mobile-menu-heading{display:flex;align-items:center;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top)) 22px 12px;border-bottom:1px solid var(--line)}
.mobile-menu-heading>span{font-size:10px;letter-spacing:2.5px;color:var(--muted)}
#mobile-menu-close{display:grid;place-items:center;width:44px;height:44px;background:transparent;border:0;color:var(--accent);padding:9px}
#mobile-menu-close svg{width:26px;height:26px}
#mobile-menu nav{padding:4px 22px 20px}
#mobile-menu nav a{display:flex;align-items:center;min-height:53px;padding:14px 3px;border-bottom:1px solid var(--line);font-size:16px;line-height:1.35;font-weight:500;transition:color .15s}
#mobile-menu nav a:hover,#mobile-menu nav a[aria-current]{color:var(--accent)}
.mobile-menu-footer{display:flex;flex-direction:column;align-items:center;gap:18px;margin-top:auto;padding:26px 20px calc(30px + env(safe-area-inset-bottom))}
.mobile-menu-footer img{width:49px;height:60px;object-fit:contain;opacity:.85}
.mobile-menu-footer span{font-size:8px;letter-spacing:1.7px;color:var(--muted)}
@media(max-width:750px){
 .mobile-menu-ready .nav{display:grid;grid-template-columns:minmax(0,1fr) 44px auto;min-height:76px;height:auto;padding:14px 5%;gap:10px;align-items:center}
 .mobile-menu-ready .nav>nav{display:none}
 .mobile-menu-ready .mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:10px;border:0;background:transparent;color:var(--ink)}
 .mobile-menu-toggle svg{width:24px;height:24px}
 .mobile-menu-ready .nav .header-brand .wordmark{font-size:17px;gap:5px}
 .mobile-menu-ready .nav .header-brand{gap:7px}
 .mobile-menu-ready .nav .header-brand .header-logo{height:27px}
 .mobile-menu-ready .nav-book{display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px;font-size:11px;font-weight:600;background:var(--accent);color:var(--bg);border:0;white-space:nowrap}
 .mobile-menu-ready .nav-book>span{display:none}
}
@media(max-width:350px){.mobile-menu-ready .nav{gap:5px}.mobile-menu-ready .nav .header-brand .wordmark{font-size:15px}.mobile-menu-ready .nav-book{padding:10px;font-size:10px}}
@media(prefers-reduced-motion:reduce){#mobile-menu nav a{transition:none}}

/* A touch-sized return to top, clear of the phone's bottom safe area. */
.back-to-top{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:20;display:grid;place-items:center;width:48px;height:48px;padding:12px;border:1px solid var(--accent);border-radius:50%;background:var(--bg);color:var(--accent);box-shadow:0 4px 20px #0004;cursor:pointer}
.back-to-top[hidden]{display:none}.back-to-top svg{width:24px;height:24px}.back-to-top:hover{background:var(--accent);color:var(--bg)}.back-to-top:focus-visible{outline:2px solid var(--ink);outline-offset:4px}

.master-placeholder.has-photo .master-number{display:flex;align-items:center;gap:10px;text-shadow:0 1px 5px #0009}.master-number img{display:block;width:29px;height:auto;flex:none;filter:drop-shadow(0 1px 3px #0006)}

.footer-to-top{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;color:var(--accent);white-space:nowrap}.footer-to-top svg{width:24px;height:24px}body>footer{flex-wrap:wrap;gap:24px}
.map-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:28px 28px 100px;background:#e1e1d5;color:#283527}.map-loading img{width:42px;height:auto;filter:brightness(.35)}.map-loading strong{font-size:20px}.map-loading span{font-size:13px}.map-loading small{font-size:12px;line-height:1.6;max-width:280px}.map-loading[hidden]{display:none}.location-panel iframe{opacity:0}.location-panel iframe.map-loaded{opacity:1}.map-fallback{z-index:1}

.content-pending .masters-grid{visibility:hidden}#content-status{color:var(--muted);line-height:1.8}#content-status a{text-decoration:underline}#content-status button{min-height:44px;padding:10px 16px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}#content-status[hidden]{display:none}

/* Text-only controls: the existing copper palette warms to amber on interaction. */
:root{--button-hover:#edb65f;--button-hover-ink:#171918;--button-feedback:150ms}
.button{justify-content:center;gap:0}
.text-button,.nav-book,.contact-action,.footer-to-top{padding-inline:14px}
.text-button,.nav-book,.contact-action{display:inline-flex;align-items:center;justify-content:center;color:var(--accent);min-height:44px}
.master-work-button{justify-content:center}
:is(.button,.text-button,.nav-book,.contact-action,.footer-to-top,.back-to-top,.haircut-filters button,.kids-gallery-controls button,.location-tabs button,body .reviews-scroll-controls button,body .reviews-dialog-footer button){
 transition:background-color var(--button-feedback) ease-out,color var(--button-feedback) ease-out,border-color var(--button-feedback) ease-out,transform var(--button-feedback) ease-out,box-shadow var(--button-feedback) ease-out;
}
@media(hover:hover) and (pointer:fine){
 :is(.button,.text-button,.nav-book,.contact-action,.footer-to-top,.back-to-top,.haircut-filters button,.kids-gallery-controls button,.location-tabs button,body .reviews-scroll-controls button,body .reviews-dialog-footer button):hover:not(:disabled){
  background:var(--button-hover);color:var(--button-hover-ink);border-color:var(--button-hover);transform:translateY(-2px) scale(1.03);box-shadow:0 5px 16px #d19d7326;
 }
 .service-list a:hover{color:var(--button-hover);border-color:var(--button-hover)}
}
:is(.button,.text-button,.nav-book,.contact-action,.footer-to-top,.back-to-top,.haircut-filters button,.kids-gallery-controls button,.location-tabs button,body .reviews-scroll-controls button,body .reviews-dialog-footer button):focus-visible{
 background:var(--button-hover);color:var(--button-hover-ink);outline:2px solid var(--accent);outline-offset:4px;
}
:is(.button,.text-button,.nav-book,.contact-action,.footer-to-top,.back-to-top,.haircut-filters button,.kids-gallery-controls button,.location-tabs button,body .reviews-scroll-controls button,body .reviews-dialog-footer button):active:not(:disabled){
 background:var(--button-hover);color:var(--button-hover-ink);transform:scale(.98);
}
@media(prefers-reduced-motion:reduce){
 :is(.button,.text-button,.nav-book,.contact-action,.footer-to-top,.back-to-top,.haircut-filters button,.kids-gallery-controls button,.location-tabs button,body .reviews-scroll-controls button,body .reviews-dialog-footer button){transition:none!important;transform:none!important}
}
body>footer>a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:750px){.hair-caption small{font-size:11px}.section-heading>p,.master-details>p:not(.eyebrow){font-size:13px}}

.map-spinner{width:28px;height:28px;border:2px solid #28352730;border-top-color:#283527;border-radius:50%;animation:map-spin 1s linear infinite}
@keyframes map-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.map-spinner{animation:none}}

.hero .hero-business{font-family:inherit;font-size:11px;font-weight:500;line-height:1.6;letter-spacing:2px;margin-top:0}


/* Vector playback controls stay monochrome on iOS, independent of emoji fonts. */
.video-toggle{appearance:none;-webkit-appearance:none;display:grid;place-items:center;padding:0;line-height:1}
.video-toggle svg{display:block;width:20px;height:20px;pointer-events:none}
.video-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.video-toggle:active{background:var(--accent);border-color:var(--accent);color:var(--bg)}

/* A clear, stable preview instead of a frozen transition frame from the film. */
.hero-video-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.3) brightness(.9);pointer-events:none}
.hero-video-playing .hero-video-poster{visibility:hidden}
.hero-media .media-shade{pointer-events:none}
