/* Content-driven responsive layout: no fixed mobile hero height or black/image seam. */
:root{--page-gutter:clamp(20px,5.55vw,80px);--section-space:clamp(56px,7vw,100px)}
.zone.source-composition img{object-fit:cover;object-position:center}
.audience-image{height:auto;aspect-ratio:569/234;object-fit:cover}
.zone.source-composition:after{display:none}
.bio .bio-bg{opacity:1}
.bio:after{display:none}
.results .result-image{aspect-ratio:305/260;object-fit:cover}
.results .result h3{font-size:18px;line-height:24px;margin:14px 0 8px}
.results .result p{font-size:14px;line-height:21px}
.male-reviews{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-audience="men"] .pricing{background-image:url('assets/men-pricing.svg')}
.cta-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:64px}
.cta-copy .cta-action-row .cta-note{margin:0;min-width:0;max-width:100%;font-size:18px;line-height:1.5;white-space:normal}
.cta-note span{display:inline-block;margin-top:4px;font-size:16px;line-height:1.5;color:#b8b2aa}
.cta-action-row .button{flex-shrink:0}
@media(min-width:1101px){
 .zone-grid{gap:20px}.zone-grid .zone{height:260px}
 .male-zones{grid-template-columns:repeat(4,minmax(0,1fr))}
 .bio .bio-portrait{object-fit:cover;border-radius:25px}
 .bio .credentials{padding-left:16px}
 .cta-copy{padding:80px 40px 80px 80px}
 .cta-copy>p{margin:28px 0 0}
 .cta-action-row .button{padding:15px 24px;min-width:290px}
}
@media(max-width:1279px){.cta-action-row{flex-wrap:wrap;margin-top:32px;gap:16px}}
@media(max-width:800px){.male-reviews{grid-template-columns:1fr}.male-reviews .review:last-child{grid-column:auto}}
.hero-portrait{display:none}
.wrap{width:calc(100% - var(--page-gutter)*2)}
.section{padding-block:var(--section-space)}
.section-head>div,.bio-grid>* ,.pricing-grid>* ,.journey-grid>* ,.footer-grid>*{min-width:0}
.button{white-space:normal;max-width:100%}
.tabs{flex-wrap:wrap}
.direction{width:100%;max-width:100%}
.hero .actions{flex-wrap:wrap}
.hero{min-height:clamp(760px,64.25vw,925px)}
.hero-content{padding-top:clamp(56px,7.64vw,110px);padding-bottom:60px}
.hero h1{font-size:clamp(48px,4.86vw,70px)}
.hero-image{inset:0 auto auto calc(50% - min(79.16vw,1140px));height:100%;width:max(141.15vw,1800px);object-fit:cover}
.hero-stats{flex-wrap:wrap;row-gap:22px}
.section-head .text-link{max-width:100%;overflow-wrap:anywhere}
.approach-copy>.accent[data-figma-text]{white-space:normal;max-width:870px}
.audience h2{overflow-wrap:normal}
.bio h2{white-space:normal}
.cta-copy{min-width:0}
.cta-copy h2{font-size:clamp(30px,3.1vw,44px)}
/* Final split banner: original female crop and the supplied male bust. */
.cta-art img[data-audience-art]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.cta-art .eyebrow{left:64px;top:64px;letter-spacing:0;display:flex;align-items:center;gap:8px}
.cta-art .eyebrow:before{content:'';width:8px;height:8px;border-radius:50%;background:#c5a880;flex:none}
.cta-caption{font-family:Georgia,'Times New Roman',serif;font-style:italic;line-height:1.4;bottom:64px;right:32px}
.cta-caption:after{content:'';display:block;width:120px;height:1px;background:#c5a880;margin-top:16px}
.cta-copy .button{background:#c5a88033;border-color:#c5a880;color:#c5a880}
.cta-copy .button:hover{background:#c5a8804d}
.footer-grid{gap:clamp(24px,5.55vw,80px)}
@media(min-width:1441px){.hero-image{left:0;width:100%;height:100%;object-position:center}}
@media(min-width:1101px) and (max-width:1279px){
 .hero-image{width:1800px;left:calc(50% - 1015px)}
 .hero h1{max-width:56%;font-size:56px}
 .hero-description{max-width:48%}
 .hero-content>.eyebrow{margin-bottom:44px}
 .hero-stats{max-width:580px}.hero-stats>div{margin-right:24px;padding-right:24px}
 .header{gap:12px}.header nav{gap:12px}.header nav>a,.nav-drop summary{font-size:10px}
 .directions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .direction{height:auto;aspect-ratio:305/390}
 .direction-art h3{font-size:24px;line-height:29px;max-width:230px}
 .direction li{font-size:15px}.direction li a{min-height:36px}
 .bio-grid{grid-template-columns:1fr 1fr;gap:32px;padding-block:var(--section-space);min-height:0}
 .bio-portrait{height:500px;width:100%;object-fit:contain}
 .credentials{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:12px 32px;padding:0}
 .credentials>p{margin:0}.bio-stats{grid-column:1/-1;margin:16px 0}
}
@media(max-width:1100px){
 .hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:0;background:#17120e url('assets/hero-background.svg') center/cover}
 .hero:after{background:linear-gradient(90deg,#080706d9 0%,#0807069c 47%,#08070618 100%);z-index:-1}
 .hero-image{display:none}
 .hero .header{grid-column:1/-1;grid-row:1;min-height:90px;height:auto;padding-block:14px}
 .hero-content.wrap{grid-column:1;grid-row:2;width:auto;max-width:none;margin:0;padding:46px 0 44px var(--page-gutter);align-self:center;position:relative;z-index:2}
 .hero .hero-portrait{display:block;grid-column:2;grid-row:2;position:relative;align-self:end;justify-self:end;width:100%;height:auto;max-width:510px;margin:0;z-index:1}
 .hero-content>.eyebrow{font-size:10px;line-height:1.7;max-width:none;margin:0 0 28px;letter-spacing:1.3px}
 .hero h1{font-size:clamp(36px,4.6vw,50px);line-height:1.12;letter-spacing:-1.3px;max-width:none;margin:0 0 24px}
 .hero h1 span{display:inline}.hero h1 span:after{content:none}
 .hero-description{font-size:15px;line-height:1.65;max-width:500px;margin:0}
 .hero .actions{gap:20px;margin:28px 0 0;align-items:flex-start;flex-direction:column}
 .hero .actions>.button{font-size:11px;padding:14px 20px;min-height:46px;white-space:normal}
 .hero .actions>.text-link{font-size:12px;min-height:32px;display:inline-flex;align-items:center}
 .hero-stats{display:grid;grid-template-columns:auto auto;gap:20px 24px;align-items:start;margin:26px 0 0;max-width:360px}
 .hero-stats>div{min-width:0;padding:0;margin:0;border:0}
 .hero-stats>div:first-child{padding-right:24px;border-right:1px solid #ffffff26}
 .hero-stats strong{font-size:32px}.hero-stats span{font-size:10px}
 .hero-stats p{grid-column:1/-1;max-width:320px;font-size:12px;line-height:1.6}
 .topbar{display:none}
 .header .logo{width:56px;height:56px}
 .header nav{top:100%;left:0;right:0;max-height:70svh;overflow-y:auto;box-shadow:0 18px 30px #0005}
 .header-phone{display:block;font-size:14px}
 .header>.button{min-height:40px;height:auto}
 .audiences{padding-top:var(--section-space)}
 .audience{padding:24px;min-height:0}
 .audience-image{height:auto;aspect-ratio:569/234}
 .audience .subtitle{font-size:21px;line-height:1.4}
 .audience .description{font-size:16px;line-height:1.6}
 .audience-copy>.button{min-width:0;padding:14px 18px;font-size:12px;height:auto;min-height:54px}
 .zones,.directions,.results,.reviews,.journey{padding-block:var(--section-space)}
 .section-head h2,.directions .section-head h2{font-size:clamp(30px,4.2vw,42px);line-height:1.2}
 .zone-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .zone{height:auto;aspect-ratio:4/5}
 .zone:last-child{grid-column:auto;height:auto}
 .zone:last-child img{object-fit:cover}
 .zone h3{font-size:18px;left:16px;bottom:24px}
 .male-zones{grid-template-columns:repeat(4,minmax(0,1fr))}
 .approach .wrap{padding-block:var(--section-space);min-height:0}
 .approach-copy{max-width:72%}
 .approach-copy h2{font-size:clamp(30px,3.8vw,40px);line-height:1.2;margin-bottom:32px}
 .approach-copy .desktop-break{display:none}
 .approach-copy>p:not(.eyebrow){font-size:15px;line-height:1.6}
 .approach-copy>.accent[data-figma-text]{font-size:18px!important;line-height:1.5;max-width:none;white-space:normal}
 .approach .sculpture-hand{position:absolute;inset:auto 0 0 auto;object-fit:cover;object-position:right bottom;width:100%;height:100%;opacity:.75}
 .directions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .direction{height:auto;aspect-ratio:305/440}
 .direction-art h3{top:26px;left:26px;font-size:22px;line-height:27px;max-width:210px}
 .direction-open{top:26px;right:24px;width:40px;height:40px;font-size:22px}
 .direction ul{padding:0 24px 24px}.direction li{font-size:14px}.direction li a{min-height:36px}
 .results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}
 .result-image{object-fit:contain;background:#ede9e3}
 .bio-grid{grid-template-columns:1fr 1fr;padding-block:var(--section-space);min-height:0;gap:32px}
 .bio-grid>div:first-child{grid-column:1;grid-row:1}.bio-portrait{grid-column:2;grid-row:1;width:100%;height:auto;max-height:520px;align-self:end;object-fit:contain}
 .bio h2{font-size:42px}.bio p{font-size:15px}
 .credentials{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr;gap:12px 24px;padding:0;order:initial}
 .credentials>p{margin:0}.credentials>.bio-stats{grid-column:1/-1;margin:16px 0}.credentials>.text-link{font-size:11px;line-height:1.6}
 .pricing-grid{grid-template-columns:1fr;gap:36px}
 .pricing-grid>div:first-child{max-width:640px}
 .pricing h2 .desktop-break{display:none}
 .pricing h2{font-size:40px;line-height:1.2;max-width:550px}
 .price-list{padding:0}
 .price-row{grid-template-columns:24px minmax(0,1fr) auto}
 .price-row strong{grid-column:auto}
 .journey-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px}
 .journey-intro>h2{font-size:36px;line-height:1.2}
 .journey-figure figcaption{left:12px;top:12px;padding:8px 12px;font-size:10px;max-width:calc(100% - 24px)}
 .step{padding:24px;min-height:0}.step:after{top:24px;right:24px}.step:before{left:-26px}
 .step h3{font-size:21px}.step p:not(.eyebrow){font-size:14px}
 .journey-decoration{display:none}
 .reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .review{min-height:0}.review:last-child{grid-column:1/-1}
 .cta{grid-template-columns:1fr 1fr;min-height:0}
 .cta-art{height:auto;min-height:480px}.cta-art img{position:absolute;inset:0;object-position:35% center}
 .cta-art .eyebrow{left:24px;top:32px}.cta-caption{left:24px;right:24px;bottom:32px;font-size:18px}
 .cta-copy{padding:48px 28px}.cta-copy h2{font-size:34px;line-height:1.2}.cta-copy .button{height:auto;min-height:54px;white-space:normal}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:800px){
 .hero .header{display:flex;flex-wrap:nowrap;gap:12px;min-height:86px}
 .header>a:first-child{flex-shrink:0}.header-phone{margin-left:auto;font-size:13px}
 .header>.button{margin:0;min-width:0;font-size:10px;padding:10px 14px}
 .menu-toggle{padding:10px 0 10px 6px;font-size:11px}
 .audiences{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:24px}
 .audience{display:block;grid-row:auto}.audience-copy{display:block;padding-top:28px}
 .audience h2{font-size:clamp(32px,5vw,42px);line-height:1.12;max-width:600px;min-height:0;margin-bottom:24px}
 .audience .subtitle,.audience .description{min-height:0}.audience .description{margin-top:20px}
 .areas-list{margin:28px 0;padding-top:24px;font-size:12px}
 .section-head{display:block}.section-head>.text-link{margin-top:20px;display:inline-flex}
 .approach .wrap{padding-bottom:0}
 .approach-copy{max-width:none}
 .approach .sculpture-hand{position:relative;inset:auto;width:100%;height:250px;object-fit:cover;object-position:right;margin:0;opacity:1}
 .direction-art h3{font-size:20px;line-height:25px;left:20px;top:26px;max-width:180px;padding-right:40px}
 .direction-open{right:20px;width:36px;height:36px;font-size:20px}
 .direction ul{padding:0 18px 22px}.direction li{font-size:13px;line-height:20px}
 .direction li:before{top:16px}.direction li a{min-height:36px}
 .journey-grid{grid-template-columns:1fr;gap:36px}.journey-intro{max-width:620px}.journey-figure{max-width:460px}
 .step:before{display:none}
}
@media(max-width:620px){
 :root{--page-gutter:20px}
 .hero{grid-template-columns:minmax(0,1fr);background-position:center}
 .hero:after{background:linear-gradient(145deg,#090706e8 0%,#0d0a0880 48%,#0d0a0800 85%)}
 .hero .header{gap:10px;display:grid;grid-template-columns:48px 1fr auto;grid-template-rows:28px 34px;min-height:90px;padding-block:14px}
 .header .logo{width:48px;height:48px}.header>a:first-child{grid-column:1;grid-row:1/3}
 .header-phone{grid-column:2;grid-row:1;margin:0;justify-self:end;font-size:13px}
 .header>.button{grid-column:2;grid-row:2;justify-self:end;min-height:32px;padding:6px 14px;font-size:10px}
 .menu-toggle{grid-column:3;grid-row:1/3;padding:10px 0 10px 8px}
 .header nav{left:-20px;right:-20px;padding:24px}
 .hero-content.wrap{grid-column:1;grid-row:2;padding:28px var(--page-gutter) 0;align-self:start;width:100%}
 .hero-content>.eyebrow{font-size:10px;margin-bottom:22px;max-width:340px}
 .hero h1{font-size:clamp(33px,8.6vw,46px);line-height:1.13;letter-spacing:-1px;margin-bottom:20px}
 .hero-description{font-size:14px;line-height:1.65;max-width:460px}
 .hero .actions{margin-top:24px;gap:14px;flex-direction:row;align-items:center}
 .hero .actions>.button{font-size:10px;padding:12px 16px;min-height:44px}
 .hero .actions>.text-link{font-size:11px;min-height:32px}
 .hero-stats{grid-template-columns:auto auto minmax(0,1fr);gap:16px;max-width:none;align-items:center;margin-top:24px}
 .hero-stats strong{font-size:27px;white-space:nowrap}.hero-stats span{font-size:9px}
 .hero-stats>div:first-child{padding-right:16px}.hero-stats>div:nth-child(2){padding-right:16px;border-right:1px solid #ffffff26}
 .hero-stats p{grid-column:auto;font-size:10px;line-height:1.5;max-width:160px}
 .hero .hero-portrait{grid-column:1;grid-row:3;width:min(79%,340px);max-width:none;justify-self:end;margin-top:18px;margin-right:var(--page-gutter);height:auto}
 .zone-grid,.male-zones{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .zone,.male-zones .zone:last-child{height:auto;aspect-ratio:3/4}.zone:last-child{grid-column:auto}
 .zone h3{font-size:16px;left:14px;right:44px;bottom:22px}.zone>span{right:12px;bottom:22px;width:26px;height:26px}
 .directions-grid{grid-template-columns:1fr;gap:20px}
 .direction{aspect-ratio:305/400;min-height:390px}.direction-art h3{font-size:24px;line-height:29px;left:28px;top:28px;max-width:230px}
 .direction-open{width:44px;height:44px;right:28px;top:28px}
 .direction ul{padding:0 28px 24px}.direction li{font-size:14px}.direction li a{min-height:40px}.direction li:before{top:18px}
 .results-grid{grid-template-columns:1fr;gap:30px}.result h3{font-size:20px}.result p{font-size:14px}
 .bio-grid{grid-template-columns:1fr;gap:32px}.bio-grid>div:first-child{grid-column:1;grid-row:1}.bio-portrait{grid-column:1;grid-row:2;height:auto;max-height:500px;width:100%;object-fit:contain}.credentials{grid-column:1;grid-row:3;display:block}.credentials>p{margin:8px 0 24px}
 .bio h2{font-size:40px}.bio-stats{gap:48px}
 .pricing h2{font-size:34px}.price-row{grid-template-columns:24px minmax(0,1fr);padding:20px 14px;gap:10px}.price-row strong{grid-column:2}.price-row h3{font-size:19px;line-height:1.35}
 .reviews-grid{grid-template-columns:1fr}.review:last-child{grid-column:auto}.review{padding:24px}
 .cta{grid-template-columns:1fr}.cta-art{min-height:0;height:340px}.cta-copy{padding:40px 20px}.cta-copy h2{font-size:32px}.cta-copy p{margin:24px 0}
 .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer{padding-top:48px}
 dialog{padding:32px 24px}dialog h2{font-size:28px}
}
@media(max-width:359px){
 .zone h3{font-size:14px;right:38px;left:12px}
 .hero-stats{grid-template-columns:1fr 1fr}.hero-stats p{grid-column:1/-1;max-width:none;font-size:11px}.hero-stats>div:nth-child(2){border:0;padding:0}
 .header-phone{font-size:12px}.menu-toggle{font-size:10px}
 .tabs button{padding-inline:14px;min-width:0}
}

/* Stage 16: readable navigation without shrinking text to fit. */
.header .header-phone{font-size:20px;font-weight:650;line-height:1.3;white-space:nowrap}
@media(max-width:1100px){.header .header-phone{font-size:18px}}
.header #primary-nav>a,.header #primary-nav summary{font-size:16px;font-weight:500;line-height:1.4;letter-spacing:.2px}
.header #primary-nav .nav-drop>div a{font-size:16px;line-height:1.5}
@media(min-width:1101px){
 .header #primary-nav{gap:18px}
}
@media(min-width:1101px) and (max-width:1279px){
 .header{gap:12px}.header #primary-nav{gap:12px}
 .header #primary-nav>a,.header #primary-nav summary{font-size:15px}
}
@media(max-width:1100px){
 .header #primary-nav>a,.header #primary-nav summary{font-size:18px}
 .header .menu-toggle{font-size:14px}
}
