/* A single layout system for the home page. Photography rules remain in benefit-experiences.css. */
.home-page{--home-width:1180px;--home-gap:24px;--home-section:64px}
.home-page .container{width:90%;max-width:var(--home-width);padding-inline:0;margin-inline:auto}
.home-page #nav,.home-page #nav.scrolled{padding:18px max(5vw,calc((100vw - 1180px)/2));gap:30px;background:rgba(252,247,237,.96)}
.home-page #nav .nav-wordmark{width:180px}
.home-page #nav>.logo{position:relative;width:180px;height:42px;align-self:flex-start}
.home-page #nav .nav-brand-logo{position:absolute;top:-8px;left:0;width:180px;height:180px;max-width:none;object-fit:contain;transition:width .2s,height .2s,top .2s}
.home-page #nav.scrolled .nav-brand-logo{top:-13px;width:70px;height:70px}
.home-page #nav .nav-links{gap:24px;align-items:center}
.home-page #nav .nav-links>a{font-size:13px;white-space:nowrap}
.home-page #nav .nav-offer-link{padding:10px 15px;border:1px solid #cbb78f;border-radius:99px;color:#725426;font-weight:600}
.home-page .hero.hero-benefits-first{padding:calc(var(--nav-h,76px) + 12px) 0 32px}
.home-page .hero-benefits-first .hero-inner{display:grid;grid-template-columns:180px minmax(0,1fr) 180px;gap:24px;align-items:start;max-width:none;padding:0;text-align:center}
.home-page .hero-benefits-first .hero-brand{position:static;width:180px;max-width:100%;margin:0;display:flex;align-items:center;justify-content:flex-start}
.home-page .hero-benefits-first .hero-brand-logo{width:148px;height:148px;object-fit:contain}
.home-page .hero-intro-copy{grid-column:2;min-width:0}
.home-page .hero-benefits-first h1{font-size:clamp(34px,3.2vw,44px);line-height:1.08;margin:0 0 12px}
.home-page .hero-benefits-first .hero-intro-copy .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:12px}
.home-page .hero-benefits-first .hero-intro-copy .lede{font-size:14px;line-height:1.65;max-width:580px;margin-inline:auto}
.hero-offer-focus{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;margin:20px 0 28px}
.home-page .hero-primary-offer{display:flex;align-items:center;justify-content:center;width:min(440px,100%);min-height:60px;padding:16px 26px;font-size:17px;font-weight:600;line-height:1.4;letter-spacing:0;text-transform:none;background:#b9863f;border:1px solid #aa7735;box-shadow:0 7px 20px -12px #79532180}
.home-page .hero-primary-offer:hover{background:#c5944b}
.home-page .hero-offer-summary{margin:0;font-size:12px;line-height:1.55;color:#657064}
.hero-offer-summary strong{font-weight:600;color:#304c3c}.hero-offer-summary span{margin-left:10px}
.home-page .hero-benefits-first .hero-experiences{margin-top:0;padding:0}
.home-page .benefit-grid{gap:var(--home-gap)}
.home-page .benefit-card{border-radius:18px;box-shadow:0 6px 18px -16px #263e3266;border-color:#e3dccf}
.home-page .benefit-card:hover{box-shadow:0 12px 24px -18px #263e3255;transform:translateY(-3px)}
.home-page .benefit-body{padding:22px}
.home-page .benefit-body .benefit-therapy{font-size:10px;min-height:2.8em;margin-bottom:12px;line-height:1.4}
.home-page .benefit-body h3{font-size:27px;line-height:1.15;min-height:2.3em;margin-bottom:12px}
.home-page .benefit-body p{font-size:13px;line-height:1.75}
.home-page .benefit-link{padding-top:16px;font-size:12px;line-height:1.5}
.home-page nav.benefit-nav{position:static;inset:auto;padding:24px 0 0;margin:0;background:none;box-shadow:none;backdrop-filter:none;border:0;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:center}
.home-page .benefit-nav a{border:0;background:none;padding:0;font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#637363}
.home-page #therapies,.home-page #start-here,.home-page #intro-offers,.home-page #light-intro,.home-page #method,.home-page #faq{scroll-margin-top:calc(var(--nav-h,76px) + 20px)}
.home-page .offer-showcase,.home-page .benefit-section,.home-page .specialties,.home-page .trust-section,.home-page .location{padding:var(--home-section) 0}
.home-page .section-head{max-width:720px;margin:0 auto 28px;text-align:center}
.home-page .section-head h2,.home-page .privacy-feature h3,.home-page .trust-section h2,.home-page .location h2{font-size:clamp(30px,3vw,42px);line-height:1.12}
.home-page .section-head>p:last-child{font-size:15px;line-height:1.7;max-width:640px;margin-inline:auto}
.home-page .offer-showcase{background:#f3eee3;border-block:1px solid #e6decf}
.home-page .offer-pair{gap:24px;margin-top:0}
.home-page .offer-pair.single-offer{grid-template-columns:minmax(0,680px);justify-content:center}
.home-page .offer-tile{box-shadow:none;border-radius:18px;grid-template-columns:38% minmax(0,1fr)}
.home-page .offer-tile>img{object-fit:cover;object-position:60% 38%}
.home-page .offer-tile>img[src*="light-guest-"]{object-position:100% 38%}
.home-page .offer-tile>img[src*="couples-visit-"]{object-position:50% 23%}
.home-page .offer-tile-copy{padding:28px 24px}
.home-page .offer-tile h3{font-size:32px;min-height:2.2em}
.home-page .offer-tile .offer-tag{min-height:1.5em}
.home-page .offer-tile-copy>.btn{min-height:46px;width:100%;display:flex;align-items:center;justify-content:center}
.home-page .visit-options{margin-top:40px;padding-top:32px}
.home-page .visit-option-grid{gap:24px}.home-page .visit-option{padding:24px;display:flex;flex-direction:column}.home-page .visit-option>a{margin-top:auto;padding-top:14px}
.home-page .benefit-section{background:transparent}
/* A calm, text-only invitation; the couple photograph belongs to Love & Glow. */
.home-page .privacy-feature{max-width:960px;margin:0 auto;gap:0;padding:48px 52px;grid-template-columns:minmax(0,1fr);box-shadow:none;background:#fffcf5;border-radius:20px;text-align:center}
.home-page .privacy-feature>div{min-width:0}
.home-page .privacy-feature>div::before{content:'';display:block;width:64px;height:1px;margin:0 auto 26px;background:#b9863f}
.home-page .privacy-feature .eyebrow{font-size:11px;letter-spacing:.2em;color:#876731;margin:0 auto 18px;text-wrap:balance}
.home-page .privacy-feature h3{max-width:700px;margin:0 auto 22px;font-size:clamp(34px,4vw,52px);line-height:1.12;text-wrap:balance}
.home-page .privacy-feature p{max-width:680px;margin-inline:auto;font-size:16px;line-height:1.75}
.home-page .privacy-feature .privacy-note{max-width:720px;font-size:14px;line-height:1.8;margin:20px auto 0}
.home-page .privacy-feature .btn{max-width:100%;white-space:normal;text-align:center}
.home-page .specialties{background:#f3f3eb;color:#263e32;border-block:1px solid #e0e4d7}
.home-page .specialties h2,.home-page .specialty-copy h3{color:#263e32}
.home-page .specialties .section-head p,.home-page .specialty-copy p{color:#5b685d}
.home-page .specialties .eyebrow,.home-page .specialty-copy .eyebrow{color:#886333}
.home-page .specialty-grid{gap:24px;max-width:none}
.home-page .specialty-card{background:#fffcf5;border-color:#e0dfd3;border-radius:18px;transform:none}
.home-page .specialty-card>img{display:block;width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover;background:none;flex:none}
/* Keep both heads fully visible; trim excess framing below them. */
.home-page .specialty-card.pnoe>img{object-position:50% 0}
.home-page .specialty-card.pet>img{object-position:50% 52%}
.home-page .specialty-card.peptides>img{object-position:44% 52%}
.home-page .specialty-copy{padding:24px}.home-page .specialty-copy h3{font-size:27px;line-height:1.12}.home-page .specialty-copy .btn{background:transparent;border:1px solid #c6b995;color:#725426;box-shadow:none}
.home-page .mens-entry{width:90%;max-width:1180px;margin:64px auto 0;border-radius:18px}
.home-page .mens-entry-copy{padding:40px}.home-page .mens-entry h2{font-size:clamp(32px,3.5vw,46px)}
.home-page .mens-entry-visual{min-height:360px}.home-page .mens-entry-visual::after{display:none}
.home-page .trust-layout{grid-template-columns:1fr 1fr;gap:48px}
.home-page .studio-invitation{padding:40px 0;border-block:1px solid #e6decf;background:#f3eee3}
.home-page footer .footer-top{display:grid;grid-template-columns:1.1fr 1fr 1.1fr .7fr;gap:36px}
.home-page .footer-col a,.home-page .footer-col p{font-size:13px;line-height:1.6}
.home-page .footer-col a{padding:5px 0}
.home-page .footer-therapy-list{margin-top:10px;font-size:13px}
.home-page .footer-therapy-list summary{cursor:pointer;color:#e4c88c;padding:6px 0}
@media(max-width:1100px){
 .home-page #nav .nav-links{gap:15px}.home-page #nav .nav-links>a{font-size:12px}.home-page #nav .nav-wordmark{width:150px}
 .home-page .hero-benefits-first .hero-inner{grid-template-columns:150px minmax(0,1fr) 150px;gap:16px}
 .home-page .hero-benefits-first .hero-brand{width:150px}.home-page .hero-benefits-first .hero-brand-logo{width:130px;height:130px}
 .home-page .offer-tile{grid-template-columns:1fr}.home-page .offer-tile>img{height:300px;min-height:0}
 .home-page .specialty-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-page .specialty-card{display:flex}
}
@media(max-width:900px){
 .home-page #nav .nav-links{align-items:stretch;gap:0}
 .home-page .hero-benefits-first .hero-inner{grid-template-columns:130px minmax(0,1fr);text-align:left;gap:20px}
 .home-page .hero-benefits-first .hero-brand{width:130px}.home-page .hero-benefits-first .hero-intro-copy .lede{margin-left:0}
 .home-page .trust-layout{gap:32px}
 .home-page .specialty-grid{grid-template-columns:1fr;max-width:620px}.home-page .specialty-card{display:flex;flex-direction:column}
}
@media(max-width:700px){
 .home-page{--home-gap:20px;--home-section:44px}
 .home-page #nav,.home-page #nav.scrolled{padding:15px 5vw;gap:15px}.home-page #nav .nav-wordmark{width:150px}
 .home-page #nav>.logo{width:100px;height:42px}.home-page #nav .nav-brand-logo{width:110px;height:110px;top:-5px;left:-5px}.home-page #nav.scrolled .nav-brand-logo{width:65px;height:65px;top:-10px;left:0}
 .home-page #nav .nav-links{align-items:stretch;gap:0}.home-page #nav .nav-links>a{font-size:14px;white-space:normal}.home-page #nav .nav-offer-link{text-align:center;margin-top:10px}
 .home-page .hero-benefits-first .hero-inner{grid-template-columns:100px minmax(0,1fr);gap:12px;align-items:center;padding:0}
 .home-page .hero-benefits-first .hero-brand{width:100px}.home-page .hero-benefits-first .hero-brand-logo{width:100px;height:100px}
 .home-page .hero-benefits-first h1{font-size:28px;margin-bottom:10px}.home-page .hero-benefits-first .hero-intro-copy .eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:8px}
 .home-page .hero-benefits-first .hero-intro-copy .lede{font-size:12px;line-height:1.5}
 .hero-offer-focus{margin:20px 0 24px;gap:10px}.home-page .hero-primary-offer{min-height:58px;padding:14px 18px;font-size:16px}.home-page .hero-offer-summary{font-size:11px}.hero-offer-summary span{display:block;margin:2px 0 0}
 .home-page .benefit-body .benefit-therapy,.home-page .benefit-body h3{min-height:0}
 .home-page .offer-pair,.home-page .visit-option-grid,.home-page .privacy-feature,.home-page .trust-layout{grid-template-columns:1fr}
 .home-page .offer-tile{grid-template-columns:1fr}.home-page .offer-tile>img{height:auto;min-height:0;aspect-ratio:4/3}.home-page .offer-tile-copy{padding:22px 18px}.home-page .offer-tile h3{font-size:28px;min-height:0}.home-page .offer-tile .btn{font-size:12px}
 .home-page .privacy-feature{padding:32px 22px;gap:0}.home-page .privacy-feature p{font-size:15px}.home-page .privacy-feature .privacy-note{font-size:13px}
 .home-page .mens-entry{margin-top:44px}.home-page .mens-entry-copy{padding:28px}.home-page .mens-entry-visual{min-height:250px}
 .home-page .specialty-copy{padding:22px}.home-page .specialty-copy h3{font-size:25px}.home-page .trust-layout{gap:36px}
 .home-page footer .footer-top{grid-template-columns:1fr 1fr;gap:28px}
}
@media(max-width:380px){.home-page footer .footer-top{grid-template-columns:1fr}}
@media(max-width:380px){.home-page .hero-benefits-first .hero-inner{grid-template-columns:80px minmax(0,1fr);gap:10px}.home-page .hero-benefits-first .hero-brand,.home-page .hero-benefits-first .hero-brand-logo{width:80px;height:80px}.home-page .hero-benefits-first h1{font-size:25px}.home-page .offer-tile,.home-page .specialty-card{grid-template-columns:1fr}}

/* Introductory offers: price first, with clear details and no photographs. */
.home-page .offer-tile{grid-template-columns:1fr}
.home-page .offer-tile-copy{padding:32px;gap:0}
.home-page .offer-tile .offer-price{font-size:68px;line-height:1.05;margin:14px 0 22px;color:#223a2e}
.home-page .offer-price small{display:block;font:500 16px/1.5 var(--sans,Inter,Arial,sans-serif);margin-top:6px;color:#59685a}
.home-page .offer-tile h3{font-size:30px;min-height:0;margin:0 0 12px}
.home-page .offer-tile p{font-size:16px;line-height:1.65}
.home-page .offer-tile .offer-tag{font-size:12px}
.home-page .offer-tile .offer-saving,.home-page .offer-tile .offer-terms{font-size:14px}
.home-page .offer-tile-copy>.btn{font-size:15px;margin-top:auto}
@media(max-width:700px){.home-page .offer-tile-copy{padding:26px 24px}.home-page .offer-tile .offer-price{font-size:60px}.home-page .offer-tile h3{font-size:28px}}
