/* Shared layout, imagery and responsive refinements. */
:root{--gutter:clamp(20px,4.5vw,80px)}
.header{height:88px;gap:24px}.header.scrolled{height:76px}
.brand{display:flex;align-items:center;gap:12px;letter-spacing:-.045em;font-size:18px}
.brand .brand-logo{width:36px;height:46px;object-fit:contain;background:#201f3b;padding:4px;border-radius:2px;flex:none}
.brand .brand-wordmark{display:block;font-size:inherit;letter-spacing:inherit;font-weight:800;margin:0}
.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:.22em;margin-top:7px}
.nav{gap:22px}.nav a{font-size:13px}.nav a[aria-current=page]{border-bottom:1px solid}
.header-cta{min-height:44px;align-items:center;white-space:nowrap}
.menu-toggle{flex:none}.eyebrow,.section-label,.source-link{font-size:12px}
.source-link{line-height:1.6}.text-link{min-height:44px;align-items:center}
.portrait-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:8%;align-items:center}
.portrait{height:auto;width:100%;max-width:500px;overflow:visible;background:transparent}
.portrait-window{width:100%;aspect-ratio:410/350;overflow:hidden;position:relative;background:#373a39}
.portrait .portrait-window img,.portrait-window>img{width:229.2683%;max-width:none;height:100%;position:absolute;left:0;top:0;object-fit:fill;filter:grayscale(1)}
.portrait figcaption{position:static;color:var(--ink);padding:16px 0 0;background:none;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:12px;letter-spacing:.05em}
.portrait figcaption span{font-size:11px;opacity:1;color:var(--muted);letter-spacing:.02em}
.portrait-copy .eyebrow{font-size:12px}.portrait-copy>p:not(.eyebrow){font-size:17px;line-height:1.7}.portrait-facts span{font-size:13px}.vita-button{margin-top:12px;background:var(--ink);color:white}
.salon-wide>img{height:auto;aspect-ratio:16/9;object-fit:contain}.salon-wide:hover>img{transform:none}
.salon-wide figcaption,.salon-gallery figcaption{font-size:14px;line-height:1.6}
.salon-gallery img{height:auto;aspect-ratio:16/9;object-fit:contain}.salon-gallery img:hover{transform:none}
.salon-history{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:30px 0}.salon-history p{font-size:16px}.salon-history strong{display:block;margin-bottom:10px;font-size:19px;letter-spacing:-.025em}
.locality{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center;border-top:1px solid var(--line);padding-top:55px;margin-top:55px}.locality>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.locality h3{font-size:clamp(32px,4vw,60px);letter-spacing:-.05em;line-height:1.1;margin:25px 0}.locality p{margin-bottom:20px;font-size:16px}.locality .eyebrow{font-size:12px}
.price-content table{font-size:16px}.price-hint,.prices-intro .prices-note,.price-footnote>p,.price-footnote details p,.price-footnote summary{font-size:14px}.price-content th span{font-size:13px}.price-footnote summary{min-height:44px;padding-top:12px}.contact-details p,.hours{font-size:15px}
.cinema{height:auto;background:var(--ink);color:white;position:relative}
.cinema-stage{height:calc(100svh - 88px);min-height:690px;max-height:1100px;position:relative;overflow:hidden;isolation:isolate}
.scroll-cinema .cinema{height:175svh}.scroll-cinema .cinema-stage{position:sticky;top:76px;height:calc(100svh - 76px);max-height:none}
.cinema-salon{position:absolute;inset:0;opacity:0;transform:scale(1.12)}.cinema-salon img{width:100%;height:100%;object-fit:cover}
.cinema-person{position:absolute;top:0;right:0;width:58%;height:100%;display:flex;align-items:center;overflow:hidden;z-index:1}
.cinema-person .portrait-window{flex:none;width:100%;height:auto;aspect-ratio:410/350;background:none}
.cinema-person .portrait-window>img{filter:grayscale(1);object-fit:fill}
.cinema-shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,#141414 10%,rgba(20,20,20,.5) 45%,transparent 75%),linear-gradient(0deg,#141414 0%,transparent 35%)}
.cinema-intro{position:relative;z-index:3;padding:clamp(32px,5vh,68px) var(--gutter) 85px;width:max-content;max-width:100%;animation:hero-title-in .9s ease both}
.cinema-intro .eyebrow{color:var(--blue);font-size:12px;letter-spacing:.12em}
.cinema h1{font-size:clamp(96px,12.2vw,186px);line-height:.86;letter-spacing:-.075em;font-weight:600;margin:38px 0 30px}
.cinema h1 span{color:var(--blue)}.cinema-lead{font-size:18px;line-height:1.5;margin-bottom:25px}.cinema-proof{display:flex;align-items:center;gap:15px;width:max-content;max-width:100%;margin-top:26px}.cinema-proof strong{font-size:37px;color:var(--blue);letter-spacing:-.06em;font-weight:400}.cinema-proof span{font-size:12px;line-height:1.5}
.cinema-outro{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:var(--gutter);z-index:4;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(35px)}
.cinema-outro h2{font-size:clamp(56px,8vw,122px);line-height:1;letter-spacing:-.065em;margin:25px 0}.cinema-outro h2 em{color:var(--blue)}.cinema-outro p{font-size:18px;line-height:1.6}.cinema-outro .eyebrow{font-size:12px}.cinema-outro .button{margin-top:25px}
.cinema-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:24px;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;letter-spacing:.06em}.cinema-bottom>a{padding:12px 0}.cinema-bottom>span:last-child{opacity:.6}.cinema-scroll{display:flex;gap:15px;align-items:center}.cinema-scroll i{display:block;width:80px;height:1px;background:#ffffff50}.cinema-scroll i:after{content:'';display:block;height:1px;background:var(--blue);width:calc(var(--progress,0)*100%)}
.instagram-section{padding:65px var(--gutter) 90px}.instagram-heading{display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:8%;margin-bottom:45px}.instagram-heading h2{font-size:clamp(45px,5.7vw,86px)}.instagram-heading>div{max-width:380px}.instagram-heading p{font-size:17px;margin-bottom:16px}.instagram-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.instagram-card{min-width:0}.instagram-image{position:relative;overflow:hidden;background:#e0e0dd}.instagram-image img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;transition:transform .5s}.instagram-card a:hover img{transform:scale(1.025)}.instagram-open{position:absolute;right:13px;top:13px;width:35px;height:35px;display:grid;place-items:center;background:white;color:var(--ink);border-radius:50%;font-size:23px}.instagram-caption{padding:19px 0}.instagram-caption .eyebrow{font-size:10px;letter-spacing:.06em;color:var(--muted)}.instagram-caption h3{font-size:23px;letter-spacing:-.03em;line-height:1.2;font-weight:500;margin:10px 0}.instagram-date{font-size:12px;color:var(--muted);line-height:1.6}
.vita-hero,.vita-section,.vita-return{padding:55px var(--gutter) 85px}.vita-hero{background:#e8ebed}.vita-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:8%;margin-top:45px}.vita-hero h1{font-size:clamp(82px,10vw,150px);letter-spacing:-.075em;line-height:.95;font-weight:600;margin:30px 0}.vita-hero h1 em{font-family:Georgia,serif;font-weight:400}.vita-lead{font-size:21px;line-height:1.55}.vita-jump{display:flex;gap:40px;border-top:1px solid #b9bfbe;margin-top:50px;padding-top:20px;font-size:14px}.vita-jump a{padding:12px 0}.vita-section h2{font-size:clamp(45px,5.5vw,85px);max-width:1000px}.vita-rows{margin-top:50px}.vita-rows article{display:grid;grid-template-columns:.6fr 1.4fr;gap:8%;padding:32px 0;border-top:1px solid var(--line)}.vita-rows article>span{font-size:20px;letter-spacing:-.025em}.vita-rows h3{font-size:27px;font-weight:500;letter-spacing:-.035em;margin-bottom:12px}.vita-rows p{max-width:680px;font-size:17px}.vita-engagement{background:var(--blue)}.engagement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:55px}.engagement-grid article{border-top:1px solid #8696ad;padding-top:25px}.engagement-grid h3{font-size:26px;font-weight:500;letter-spacing:-.035em;margin:18px 0}.engagement-grid p{font-size:16px}.vita-awards{background:var(--ink);color:white}.vita-awards .section-label>span:last-child{color:#c1c1c1}.vita-award-highlights{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:55px;padding:35px 0;border-top:1px solid #555;border-bottom:1px solid #555}.vita-award-highlights h3{font-size:45px;font-weight:400;color:var(--blue);letter-spacing:-.05em;margin:15px 0}.vita-award-highlights p{font-size:18px}.vita-award-list{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;margin-top:25px}.vita-award-list article{padding:26px 0;border-bottom:1px solid #454545}.vita-award-list h3{font-size:21px;line-height:1.3;font-weight:400;letter-spacing:-.02em}.vita-award-list p{font-size:15px;color:#babdc2;margin-top:8px}.vita-source{font-size:13px;color:#bfc1c4;margin-top:35px}.vita-source a{text-decoration:underline;text-underline-offset:3px}.vita-return{background:var(--blue)}.vita-return h2{margin:25px 0}.vita-return p{font-size:18px}.vita-return .button{margin-top:25px;background:var(--ink);color:white;border-color:var(--ink)}.vita-return .text-link{margin-left:25px}
@media(max-width:1150px){.nav{gap:16px}.nav a{font-size:12px}.brand{font-size:16px}.header{gap:20px}.cinema-stage{min-height:660px}.cinema h1{font-size:12.7vw}.cinema-person{width:62%}.cinema-intro{padding-top:40px}.instagram-grid{gap:18px}.instagram-caption h3{font-size:20px}}
@media(max-width:900px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--paper);padding:20px var(--gutter);border-bottom:1px solid var(--line);max-height:calc(100svh - 76px);overflow:auto}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{font-size:23px;min-height:48px;padding:12px 0}.menu-toggle{display:flex;width:44px;height:44px;border:0;align-items:center;justify-content:center;gap:6px;flex-direction:column;background:none;padding:0;cursor:pointer}.menu-toggle span{width:24px;height:1px;background:var(--ink)}.header,.header.scrolled{height:76px}.header-cta{margin-left:auto;font-size:14px}.header .brand{font-size:17px}.cinema h1{font-size:13vw}.cinema-person{width:72%;right:-6%}.cinema-shade{background:linear-gradient(90deg,#141414 0%,#14141488 45%,transparent 80%),linear-gradient(0deg,#141414,transparent 50%)}.cinema-intro{padding-top:30px}.cinema-stage{min-height:650px}.cinema-bottom>span:last-child{display:none}.portrait-section{gap:5%}.portrait-copy h2{font-size:44px}.instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-details{grid-template-columns:1fr 1fr;gap:35px}.contact-details>div:last-child{grid-column:1/-1;max-width:550px}}
@media(max-width:760px){
 html{scroll-padding-top:92px}.header{padding:0 20px;gap:12px}.header .brand{font-size:15px;gap:9px}.brand .brand-logo{width:29px;height:37px;padding:3px}.brand small{font-size:9px;letter-spacing:.16em}.header-cta{font-size:13px;gap:9px}.header-cta span{font-size:20px}.menu-toggle{width:44px;height:44px}
 .cinema-stage{height:auto;min-height:720px;max-height:none}.scroll-cinema .cinema{height:155svh;min-height:1020px}.scroll-cinema .cinema-stage{height:calc(100svh - 76px);min-height:630px;top:76px}
 .cinema-person{top:0;right:0;width:100%;height:auto;display:block}.cinema-person .portrait-window{width:100%;max-width:600px;margin-left:auto;aspect-ratio:410/350}
 .cinema-shade{background:linear-gradient(0deg,#141414 0%,#141414 15%,#141414e8 32%,#14141488 48%,transparent 67%)}
 .cinema-intro{position:absolute;bottom:72px;left:0;padding:0 var(--gutter);width:100%;animation:none}.cinema-intro .eyebrow{font-size:10px;letter-spacing:.07em;line-height:1.6;max-width:270px}
 .cinema h1{font-size:clamp(58px,17vw,104px);line-height:.88;margin:15px 0 18px;letter-spacing:-.065em}.cinema-lead{font-size:16px;line-height:1.5;margin-bottom:18px}.cinema-intro .button{font-size:14px;min-height:52px;padding:14px 18px}.cinema-proof{margin-top:16px;gap:11px}.cinema-proof strong{font-size:30px}.cinema-proof span{font-size:11px}.cinema-bottom{bottom:14px;font-size:10px;gap:16px}.cinema-scroll{font-size:9px;gap:10px}.cinema-scroll i{width:35px}
 .cinema-salon img{object-position:54% center}.cinema-outro{justify-content:center;padding:var(--gutter)}.cinema-outro h2{font-size:clamp(42px,10.2vw,72px);line-height:1.02}.cinema-outro .eyebrow{font-size:11px;max-width:270px}.cinema-outro p{font-size:17px}.cinema-outro .button{font-size:14px}
 .section-label{font-size:11px;line-height:1.6;letter-spacing:.065em;margin-bottom:34px}.eyebrow{font-size:12px}.intro,.prices,.salon,.contact,.awards,.instagram-section{padding-top:42px;padding-bottom:55px}.intro h2{font-size:clamp(39px,10vw,64px)}.intro-bottom{margin-top:25px}.intro-sign{margin-left:35%}
 .portrait-section{grid-template-columns:1fr;gap:30px;padding-bottom:55px}.portrait{max-width:480px;margin:0 auto}.portrait-window{aspect-ratio:410/350}.portrait figcaption{padding-top:13px;font-size:12px}.portrait figcaption span{font-size:10px}.portrait-copy h2{font-size:clamp(36px,9vw,58px)}.portrait-copy>p:not(.eyebrow){font-size:16px}.portrait-facts{gap:20px}.portrait-facts strong{font-size:32px}.portrait-facts span{font-size:13px;max-width:180px}
 .awards-heading h2{font-size:clamp(38px,10vw,67px)}.award-title h3{font-size:24px}.award-feature{gap:20px}.award-number{font-size:86px;min-width:78px}.award-years span{font-size:12px}.award-grid .eyebrow{font-size:11px}.award-grid p,.more-awards summary,.more-awards li{font-size:15px}.award-grid h3{font-size:28px}.statement-track{font-size:36px}
 .prices-intro h2,.salon-heading h2,.instagram-heading h2{font-size:clamp(40px,10vw,64px)}.prices-intro .prices-note{font-size:14px}.price-content{padding-left:0}.price-content table{font-size:15px}.price-group summary{min-height:68px;padding:20px 0}.price-group summary>span:first-child{font-size:22px;gap:15px}.price-group summary small{font-size:12px}.price-content td{padding-left:14px}.price-content th,.price-content td{padding-top:14px;padding-bottom:14px}.price-hint{font-size:13px}.price-footnote>p,.price-footnote details p,.price-footnote summary{font-size:14px}.source-link{font-size:12px}
 .salon-wide>img{height:auto;aspect-ratio:16/9;object-fit:contain}.salon-gallery{grid-template-columns:1fr;gap:24px;margin-top:15px}.salon-gallery img{aspect-ratio:16/9;object-fit:contain}.salon-wide figcaption,.salon-gallery figcaption{font-size:13px;padding-top:11px}.salon-history{grid-template-columns:1fr;gap:22px;padding-top:25px}.salon-history p{font-size:16px}.salon-history strong{font-size:19px}.locality{grid-template-columns:1fr;gap:25px;margin-top:35px;padding-top:30px}.locality>img{aspect-ratio:4/3}.locality .eyebrow{font-size:11px}.locality h3{font-size:42px;margin:15px 0 22px}
 .instagram-heading{grid-template-columns:1fr;gap:25px;margin-bottom:28px}.instagram-heading p{font-size:16px}.instagram-grid{gap:25px 17px}.instagram-caption .eyebrow{font-size:10px;line-height:1.5}.instagram-caption h3{font-size:20px}.instagram-date{font-size:12px}.instagram-open{width:32px;height:32px;top:9px;right:9px}.instagram-image img{aspect-ratio:3/4;object-fit:cover}.instagram-caption{padding-top:13px}
 .contact-top h2{font-size:clamp(37px,9.5vw,64px)}.contact-details{grid-template-columns:1fr}.contact-details>div:last-child{grid-column:auto}.contact-details p,.hours{font-size:15px}.hours>div{gap:16px}.contact-phone{font-size:clamp(29px,8vw,40px)}.contact-details .text-link,.footer-bottom{font-size:13px}.footer-bottom{line-height:1.7}.footer-bottom>div{gap:22px}.social-links a{padding:8px 0}
 .vita-hero,.vita-section,.vita-return{padding:30px var(--gutter) 50px}.vita-hero-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.vita-hero h1{font-size:clamp(76px,20vw,120px);margin:20px 0}.vita-lead{font-size:18px}.vita-hero .eyebrow{font-size:11px}.vita-jump{gap:18px;flex-wrap:wrap;margin-top:30px;font-size:13px}.vita-jump a{padding:10px 0}.vita-section h2{font-size:clamp(37px,9.6vw,60px)}.vita-rows{margin-top:30px}.vita-rows article{grid-template-columns:1fr;gap:15px;padding:25px 0}.vita-rows article>span{font-size:14px;color:var(--muted)}.vita-rows h3{font-size:25px}.vita-rows p{font-size:16px}.engagement-grid{grid-template-columns:1fr;gap:26px;margin-top:32px}.engagement-grid h3{font-size:26px;margin:13px 0}.vita-award-highlights{grid-template-columns:1fr;gap:30px;margin-top:30px;padding:28px 0}.vita-award-highlights h3{font-size:38px}.vita-award-highlights p{font-size:17px}.vita-award-list{grid-template-columns:1fr}.vita-award-list h3{font-size:22px}.vita-award-list p{font-size:15px}.vita-source{font-size:13px}.vita-return h2{font-size:48px}.vita-return p{font-size:16px}.vita-return .text-link{display:table;margin:20px 0 0}.vita-return .eyebrow{font-size:11px}
}
@media(max-width:370px){.header{gap:5px;padding:0 16px}.header .brand{font-size:13px;gap:7px}.brand small{font-size:8px}.brand .brand-logo{width:25px;height:32px}.header-cta{font-size:12px;gap:5px}.cinema-intro{bottom:66px}.cinema h1{font-size:17vw}.cinema-scroll{display:none}.instagram-grid{grid-template-columns:1fr}.instagram-image img{aspect-ratio:4/5;object-fit:contain;background:#181818}.award-title h3{font-size:22px}.award-feature{gap:15px}.award-number{font-size:76px;min-width:65px}.price-group summary>span:first-child{font-size:20px}.price-content table{font-size:14px}}
.portrait-window,.cinema-person .portrait-window{aspect-ratio:380/350}
.portrait .portrait-window img,.portrait-window>img{width:247.3684%}
.cinema-person{mask-image:linear-gradient(to bottom,#000 45%,#000 65%,transparent 100%)}
@media(max-width:760px){.cinema-person .portrait-window{aspect-ratio:380/350}.cinema-person{mask-image:linear-gradient(to bottom,#000 45%,transparent 100%)}}
@media(max-width:760px) and (max-height:680px){.scroll-cinema .cinema-stage{min-height:0;height:calc(100svh - 76px)}.cinema-intro{bottom:55px}.cinema h1{font-size:15vw;margin:10px 0 12px}.cinema-lead{font-size:14px;margin-bottom:13px}.cinema-proof{margin-top:12px}.cinema-proof strong{font-size:26px}.cinema-proof span{font-size:10px}.cinema-intro .button{min-height:46px;font-size:13px;padding:10px 15px}.cinema-intro .eyebrow{font-size:9px}.cinema-person{width:83%;right:0}.cinema-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.scroll-cinema .cinema{height:auto;min-height:0}.scroll-cinema .cinema-stage{position:relative;top:0}.cinema-person{transform:none!important;opacity:1!important}.cinema-salon,.cinema-outro{display:none}.cinema-intro{opacity:1!important;transform:none!important}.cinema-scroll{display:none}}
@media(max-height:520px) and (min-width:560px){.cinema-stage{height:auto;min-height:560px}.cinema-intro{position:relative;bottom:auto;padding:35px var(--gutter) 90px}.cinema h1{font-size:clamp(70px,12vw,105px);margin:24px 0}.cinema-person{width:55%;height:100%;right:0;display:flex}.cinema-person .portrait-window{max-width:none}.cinema-shade{background:linear-gradient(90deg,#141414 5%,#14141499 45%,transparent 85%),linear-gradient(0deg,#141414,transparent 45%)}.cinema-lead{font-size:16px}.cinema-proof{margin-top:20px}.cinema-scroll{display:none}}
