:root {
  --bg-dark: #120d08;
  --bg-brown: #21160e;
  --bg-card: #2b2118;
  --gold: #c7a56a;
  --gold-light: #e4c993;
  --cream: #f5eee4;
  --white: #ffffff;
  --border: rgba(255, 255, 255, .15);
  --text-muted: #b9aa98;
  --ink: #241a12;
  --max: 1200px;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Manrope', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg-dark); color: var(--cream); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 4px; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.section { padding: 88px 0; }
.section--compact { padding: 58px 0; }
.section--brown { background: var(--bg-brown); }
.section--cream { background: var(--cream); color: var(--ink); }
.section--cream .prose p, .section--cream .prose li { color: #5f554c; }
.section--cream .prose a { color: #7b5627; }
.section--cream .feature-card p, .section--cream .positioning-copy p, .section--cream .decision-list li { color: #5f554c; }
.section--cream .decision-list strong { color: var(--ink); }
.section--cream .decision-list, .section--cream .decision-list li { border-color: rgba(43,33,24,.18); }
.eyebrow { margin: 0 0 16px; color: var(--gold-light); font-size: .68rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; }
.display { margin: 0; font-family: var(--serif); font-weight: 400; line-height: .95; letter-spacing: -.035em; }
.section-title { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 6vw, 5.2rem); font-weight: 400; line-height: .95; letter-spacing: -.035em; }
.section-intro { max-width: 620px; margin: 18px auto 0; color: var(--text-muted); font-size: .92rem; }
.section-heading { margin-bottom: 44px; text-align: center; }
.rule { width: 42px; height: 1px; margin: 22px 0; background: var(--gold); }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 0 28px; border: 1px solid var(--gold); background: transparent; color: var(--cream); cursor: pointer; font-size: .7rem; font-weight: 600; letter-spacing: .17em; text-transform: uppercase; transition: .25s ease; }
.button:hover { background: var(--gold); color: var(--bg-dark); }
.button--solid { background: var(--gold-light); color: var(--ink); }
.button--dark { color: var(--ink); }
.button-group { display: flex; flex-wrap: wrap; gap: 14px; }
.skip-link { position: fixed; z-index: 999; top: -80px; left: 20px; padding: 10px 16px; background: var(--cream); color: var(--ink); }
.skip-link:focus { top: 20px; }

.site-header { position: absolute; z-index: 30; top: 0; right: 0; left: 0; border-bottom: 1px solid transparent; }
.site-header.is-scrolled, .site-header--solid { position: fixed; background: rgba(18, 13, 8, .94); border-color: var(--border); backdrop-filter: blur(15px); }
.header-inner { display: grid; min-height: 76px; align-items: center; grid-template-columns: 1fr auto 1fr; }
.utility-nav, .main-actions { display: flex; align-items: center; gap: 24px; }
.main-actions { justify-content: flex-end; }
.utility-nav a, .login-link { color: var(--cream); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; }
.brand { text-align: center; }
.brand strong { display: block; font-family: var(--serif); font-size: 1.4rem; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
.brand small { display: block; margin-top: 5px; color: var(--gold-light); font-size: .42rem; letter-spacing: .16em; text-transform: uppercase; }
.login-link { padding: 7px 16px; border: 1px solid rgba(199, 165, 106, .65); }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 23px; height: 1px; margin: 6px auto; background: var(--cream); transition: .25s; }
.mobile-menu { display: none; }

.hero { position: relative; display: flex; min-height: 100svh; align-items: center; overflow: hidden; background: #0b0906 url('../images/hero/private-club-evening-members.webp') center/cover no-repeat; }
.hero::before { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(8,6,4,.96) 0%, rgba(8,6,4,.79) 34%, rgba(8,6,4,.1) 67%, rgba(8,6,4,.35) 100%), linear-gradient(0deg, rgba(8,6,4,.7), transparent 38%); }
.hero-content { position: relative; z-index: 2; width: min(660px, 54%); padding-top: 90px; }
.hero h1 { font-size: clamp(3.1rem, 6vw, 5.8rem); }
.hero-description { max-width: 590px; margin: 24px 0 0; color: #d3c6b7; font-size: .95rem; line-height: 1.75; }
.hero .button { margin-top: 38px; }
.membership-statement { border-bottom: 1px solid var(--border); background: linear-gradient(100deg, #251a10, #17110b); }
.statement-grid { display: grid; align-items: center; grid-template-columns: .75fr 1px 1.15fr; gap: 54px; }
.statement-number { text-align: center; }
.statement-number strong { display: block; font-family: var(--serif); font-size: clamp(3.5rem, 6vw, 5.5rem); font-weight: 400; line-height: .9; }
.statement-number span { color: var(--text-muted); font-size: .65rem; letter-spacing: .25em; text-transform: uppercase; }
.statement-divider { width: 1px; height: 100px; background: var(--gold); }
.statement-copy { max-width: 500px; color: #d1c4b5; font-size: .9rem; }

.choice-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.choice-card { position: relative; min-height: 430px; overflow: hidden; border: 1px solid rgba(199,165,106,.68); }
.choice-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.choice-card:hover img { transform: scale(1.035); }
.choice-card::after { position: absolute; inset: 0; content: ''; background: linear-gradient(0deg, rgba(11,8,5,.98), rgba(11,8,5,0) 62%); }
.choice-card__content { position: absolute; z-index: 2; right: 20px; bottom: 24px; left: 20px; text-align: center; }
.choice-card__content span { display: block; font-size: .58rem; letter-spacing: .3em; text-transform: uppercase; }
.choice-card__content h3 { margin: 2px 0 7px; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 400; line-height: 1; text-transform: uppercase; }
.choice-card__content p { max-width: 420px; margin: 12px auto 0; color: #c7baac; font-size: .76rem; }

.audience-tabs { display: flex; width: min(430px, 100%); margin: 0 auto; }
.tab-button { flex: 1; padding: 12px 20px; border: 1px solid var(--border); background: rgba(255,255,255,.04); cursor: pointer; color: var(--text-muted); font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.tab-button.is-active { border-color: var(--gold); color: var(--gold-light); }
.benefits-panel { margin-top: 8px; overflow: hidden; border: 1px solid rgba(199,165,106,.5); background: var(--cream); color: var(--ink); }
.benefit-row { display: grid; min-height: 116px; align-items: center; grid-template-columns: 62px 1.2fr 1fr 28px; gap: 18px; padding: 18px 30px; border-bottom: 1px solid rgba(43,33,24,.14); }
.benefit-row:last-child { border: 0; }
.benefit-row__number { color: #8b7b6a; font-family: var(--serif); }
.benefit-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 500; line-height: 1; }
.benefit-row p { margin: 0; color: #5f554c; font-size: .78rem; line-height: 1.5; }
.benefit-row__plus { color: #8b7b6a; font-size: 1.7rem; font-weight: 300; }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.step-card { position: relative; min-height: 190px; padding: 30px 20px; border: 1px solid rgba(199,165,106,.45); text-align: center; }
.step-card + .step-card { border-left: 0; }
.step-number { color: var(--gold); font-family: var(--serif); letter-spacing: .3em; }
.step-card h3 { margin: 18px 0 8px; font-family: var(--serif); font-size: 1.55rem; font-weight: 400; line-height: 1.05; }
.step-card p { margin: 0; color: var(--text-muted); font-size: .72rem; }
.premium-banner { position: relative; min-height: 540px; display: flex; align-items: center; background: url('../images/lifestyle/private-members-lounge-city-view.webp') center/cover no-repeat; }
.premium-banner::before { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(9,7,5,.18), rgba(18,13,8,.92) 60%); }
.premium-copy { position: relative; width: min(520px, 50%); margin-left: auto; }
.premium-copy p, .premium-copy li { color: #d0c2b3; font-size: .9rem; }
.check-list { margin: 24px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding-left: 22px; }
.check-list li::before { position: absolute; left: 0; color: var(--gold); content: '✓'; }

.story-grid { display: grid; align-items: center; grid-template-columns: 1.2fr .8fr; gap: 70px; }
.story-quote { margin: 0; font-family: var(--serif); font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.25; }
.story-meta { margin-top: 22px; color: var(--gold-light); font-size: .62rem; letter-spacing: .2em; text-transform: uppercase; }
.story-photo { width: 100%; margin: 0; overflow: hidden; border: 1px solid rgba(199,165,106,.5); }
.story-photo img { width: 100%; height: auto; aspect-ratio: 16/10; object-fit: cover; object-position: center 32%; filter: grayscale(1) sepia(.25); }
.final-cta { position: relative; background: url('../images/hero/private-club-evening-members.webp') center 72%/cover no-repeat; }
.final-cta::before { position: absolute; inset: 0; content: ''; background: rgba(12,9,6,.7); }
.final-cta__inner { position: relative; display: flex; min-height: 360px; align-items: center; justify-content: space-between; gap: 30px; }
.final-cta__copy { max-width: 680px; }
.final-cta h2 { margin: 0; font-family: var(--serif); font-size: clamp(3.2rem, 6vw, 5.6rem); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.final-cta__copy p { max-width: 610px; margin: 22px 0 0; color: #d3c6b7; font-size: .9rem; }

.site-footer { padding: 50px 0 28px; background: var(--cream); color: var(--ink); }
.footer-brand { margin-bottom: 38px; text-align: center; }
.footer-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 36px; }
.footer-column h3 { margin: 0 0 14px; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase; }
.footer-column a { display: block; margin: 7px 0; color: #5f554c; font-size: .72rem; }
.footer-bottom { margin-top: 38px; padding-top: 20px; border-top: 1px solid rgba(43,33,24,.12); color: #786c60; font-size: .68rem; text-align: center; }

.inner-hero { position: relative; min-height: 68svh; display: flex; align-items: end; padding: 150px 0 84px; overflow: hidden; background: #17100a; }
.inner-hero::before { position: absolute; inset: 0; content: ''; background: linear-gradient(90deg, rgba(10,7,4,.94), rgba(10,7,4,.5)), url('../images/lifestyle/private-members-lounge-city-view.webp') center/cover no-repeat; }
.inner-hero--portrait::before { background: linear-gradient(90deg, rgba(10,7,4,.94), rgba(10,7,4,.32)), url('../images/profiles/distinguished-gentleman-private-club.webp') center/cover no-repeat; }
.inner-hero--woman::before { background: linear-gradient(90deg, rgba(10,7,4,.94), rgba(10,7,4,.32)), url('../images/profiles/elegant-woman-private-lounge.webp') center/cover no-repeat; }
.intent-hero h1 { font-size: clamp(3.5rem, 6.4vw, 6.3rem); }
.intent-hero--men::before { background: linear-gradient(90deg, rgba(10,7,4,.96), rgba(10,7,4,.2)), url('../images/profiles/elegant-woman-private-lounge.webp') center/cover no-repeat; }
.intent-hero--women::before { background: linear-gradient(270deg, rgba(10,7,4,.97), rgba(10,7,4,.24)), url('../images/profiles/distinguished-gentleman-private-club.webp') left center/cover no-repeat; }
.intent-hero--women .inner-hero__content { max-width: 700px; margin-left: auto; }
.country-hero--canada::before { background: linear-gradient(90deg, rgba(10,7,4,.96), rgba(10,7,4,.28)), url('../images/profiles/distinguished-gentleman-private-club.webp') center/cover no-repeat; }
.country-hero--usa::before { background: linear-gradient(90deg, rgba(10,7,4,.94), rgba(10,7,4,.2)), url('../images/profiles/elegant-woman-private-lounge.webp') center/cover no-repeat; }
.country-hero--uk::before { background: linear-gradient(270deg, rgba(10,7,4,.97), rgba(10,7,4,.3)), url('../images/lifestyle/private-members-lounge-city-view.webp') left center/cover no-repeat; }
.country-hero--uk .inner-hero__content { max-width: 670px; margin-left: auto; }
.country-hero--australia { align-items: center; padding-block: 140px 70px; }
.country-hero--australia::before { background: linear-gradient(rgba(10,7,4,.7), rgba(10,7,4,.78)), url('../images/hero/private-club-evening-members.webp') center/cover no-repeat; }
.country-hero--australia .inner-hero__content { max-width: 900px; margin-inline: auto; text-align: center; }
.country-hero--australia .inner-hero__content > p { margin-inline: auto; }
.country-hero--australia .button-group { justify-content: center; }
.local-hub-hero::before { background: linear-gradient(90deg, rgba(10,7,4,.96), rgba(10,7,4,.3)), url('../images/cities/new-york.webp') center/cover no-repeat; }
.guide-hero h1 { font-size: clamp(3.8rem, 7vw, 6.8rem); }
.guide-hero--daddy::before { background: linear-gradient(90deg, rgba(10,7,4,.97) 0%, rgba(10,7,4,.77) 45%, rgba(10,7,4,.18) 75%), url('../images/profiles/distinguished-gentleman-private-club.webp') 72% center/cover no-repeat; }
.guide-hero--baby::before { background: linear-gradient(270deg, rgba(10,7,4,.97) 0%, rgba(10,7,4,.78) 46%, rgba(10,7,4,.15) 76%), url('../images/profiles/elegant-woman-private-lounge.webp') 25% center/cover no-repeat; }
.guide-hero--baby .inner-hero__content { max-width: 700px; margin-left: auto; }
.inner-hero__content { position: relative; max-width: 720px; }
.inner-hero h1 { font-size: clamp(4rem, 8vw, 7.4rem); }
.inner-hero p { max-width: 570px; margin: 24px 0 0; color: #d3c6b7; }
.prose { max-width: 800px; margin-inline: auto; }
.prose h2 { margin: 60px 0 18px; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.6rem); font-weight: 400; line-height: 1; }
.prose h3 { margin: 32px 0 10px; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; }
.prose p, .prose li { color: #d0c2b3; }
.prose a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.feature-card { padding: 32px; border: 1px solid rgba(199,165,106,.35); background: rgba(255,255,255,.025); }
.feature-card span { color: var(--gold); font-family: var(--serif); }
.feature-card h2, .feature-card h3 { margin: 18px 0 10px; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.feature-card p { margin: 0; color: var(--text-muted); font-size: .83rem; }
.split { display: grid; align-items: center; grid-template-columns: 1fr 1fr; gap: 70px; }
.split img { width: 100%; min-height: 480px; object-fit: cover; }
.about-philosophy { align-items: stretch; }
.about-philosophy__image { height: clamp(540px, 48vw, 700px); min-height: 0 !important; object-position: 77% center; }
.about-philosophy .split__copy { align-self: center; }
.split__copy h2 { font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 5rem); font-weight: 400; line-height: .95; }
.split__copy p { color: var(--text-muted); }
.faq-list { max-width: 920px; margin: 0 auto; border-top: 1px solid var(--border); }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-question { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 4px; border: 0; background: transparent; cursor: pointer; text-align: left; }
.faq-question span:first-child { font-family: var(--serif); font-size: 1.55rem; }
.faq-icon { color: var(--gold); font-size: 1.4rem; transition: transform .25s; }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.faq-answer > div { overflow: hidden; }
.faq-answer p { margin: 0; padding: 0 40px 24px 4px; color: var(--text-muted); }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.faq-item.is-open .faq-icon { transform: rotate(45deg); }
.category-title { max-width: 920px; margin: 70px auto 20px; color: var(--gold-light); font-size: .7rem; letter-spacing: .25em; text-transform: uppercase; }
.contact-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 70px; }
.contact-card { padding: 34px; border: 1px solid rgba(199,165,106,.35); }
.contact-card h3 { font-family: var(--serif); font-size: 2rem; font-weight: 400; }
.contact-card p { color: var(--text-muted); font-size: .83rem; }
.contact-email-panel { align-self: start; padding: 48px; border: 1px solid rgba(199,165,106,.42); background: rgba(199,165,106,.06); }
.contact-email-panel h2 { margin-bottom: 18px; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1; }
.contact-email-panel > p:not(.eyebrow) { color: var(--text-muted); }
.contact-email-address { margin-top: 24px; overflow-wrap: anywhere; }
.contact-email-address a { color: var(--gold-light); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 7px; }
.field--full { grid-column: 1 / -1; }
.field label { color: var(--gold-light); font-size: .66rem; letter-spacing: .15em; text-transform: uppercase; }
.field input, .field select, .field textarea { width: 100%; border: 0; border-bottom: 1px solid rgba(199,165,106,.45); border-radius: 0; padding: 13px 0; background: transparent; color: var(--cream); }
.field option { color: var(--ink); }
.field textarea { min-height: 140px; resize: vertical; }
.form-status { min-height: 24px; color: var(--gold-light); font-size: .8rem; }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.article-card { display: flex; min-height: 310px; flex-direction: column; justify-content: flex-end; padding: 28px; border: 1px solid rgba(199,165,106,.35); background: linear-gradient(180deg, rgba(43,33,24,.22), rgba(43,33,24,.9)), url('../images/lifestyle/private-members-lounge-city-view.webp') center/cover; }
.article-card:nth-child(2n) { background-image: linear-gradient(180deg, rgba(43,33,24,.25), rgba(43,33,24,.94)), url('../images/profiles/elegant-woman-private-lounge.webp'); }
.article-card:nth-child(3n) { background-image: linear-gradient(180deg, rgba(43,33,24,.25), rgba(43,33,24,.94)), url('../images/profiles/distinguished-gentleman-private-club.webp'); }
.article-card span { color: var(--gold-light); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; }
.article-card h2 { margin: 10px 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.article-card p { margin: 0; color: #c5b7a7; font-size: .78rem; }
.legal-meta { margin-bottom: 40px; color: var(--gold-light); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.notice { padding: 22px 26px; border-left: 2px solid var(--gold); background: rgba(199,165,106,.08); color: #d0c2b3; }
.page-toc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 36px 0 70px; padding: 1px; background: var(--border); }
.page-toc a { padding: 16px 18px; background: var(--bg); color: var(--cream); font-size: .72rem; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.page-toc a:hover { background: rgba(199,165,106,.1); color: var(--gold-light); }
.legal-layout { display: grid; grid-template-columns: minmax(190px, 260px) minmax(0, 800px); align-items: start; justify-content: center; gap: 72px; }
.legal-nav { position: sticky; top: 110px; padding: 24px; border: 1px solid var(--border); }
.legal-nav strong { display: block; margin-bottom: 14px; color: var(--gold-light); font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.legal-nav a { display: block; padding: 7px 0; color: var(--text-muted); font-size: .78rem; text-decoration: none; }
.legal-nav a:hover { color: var(--cream); }
.legal-content { max-width: 800px; }
.legal-content h2 { scroll-margin-top: 110px; }
.legal-content table { width: 100%; margin: 22px 0 32px; border-collapse: collapse; font-size: .78rem; }
.legal-content th, .legal-content td { padding: 14px; border: 1px solid var(--border); text-align: left; vertical-align: top; }
.legal-content th { color: var(--cream); font-weight: 600; }
.legal-content td { color: var(--text-muted); }
.safety-signal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 34px; }
.safety-signal article { padding: 28px; border: 1px solid var(--border); background: rgba(255,255,255,.018); }
.safety-signal strong { display: block; margin-bottom: 12px; color: var(--gold-light); font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.safety-signal p { margin: 0; color: var(--text-muted); }
.safety-checklist { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px 46px; margin-top: 34px; padding: 0; list-style: none; counter-reset: safety-step; }
.safety-checklist li { position: relative; padding: 0 0 24px 54px; border-bottom: 1px solid var(--border); color: var(--text-muted); counter-increment: safety-step; }
.safety-checklist li::before { position: absolute; top: 0; left: 0; content: counter(safety-step, decimal-leading-zero); color: var(--gold); font-size: .72rem; letter-spacing: .16em; }
.safety-checklist strong { display: block; margin-bottom: 6px; color: var(--cream); font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.legal-note { margin-top: 24px; padding: 18px 22px; border: 1px solid var(--border); color: var(--text-muted); font-size: .78rem; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(199,165,106,.35); }
.trust-item { padding: 28px; border-right: 1px solid rgba(199,165,106,.25); }
.trust-item:last-child { border-right: 0; }
.trust-item strong { display: block; margin-bottom: 8px; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; line-height: 1; }
.trust-item p { margin: 0; color: var(--text-muted); font-size: .76rem; }
.location-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.location-card { position: relative; min-height: 250px; display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; overflow: hidden; border: 1px solid rgba(199,165,106,.38); background: linear-gradient(180deg, rgba(43,33,24,.1), rgba(18,13,8,.95)), url('../images/lifestyle/private-members-lounge-city-view.webp') center/cover; }
.location-card::before { position: absolute; inset: 0; content: ''; border: 1px solid transparent; transition: border-color .25s ease; }
.location-card:hover::before { border-color: var(--gold); }
.location-card span { position: relative; color: var(--gold-light); font-size: .6rem; letter-spacing: .2em; text-transform: uppercase; }
.location-card h3 { position: relative; margin: 8px 0 0; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.answer-block { max-width: 920px; margin: 0 auto 34px; padding: 26px 30px; border-left: 2px solid var(--gold); background: rgba(199,165,106,.07); }
.answer-block strong { display: block; margin-bottom: 8px; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; }
.answer-block p { margin: 0; color: #d0c2b3; }
.source-list { margin: 26px 0 0; padding: 0; list-style: none; }
.source-list li { margin: 10px 0; color: var(--text-muted); font-size: .8rem; }
.source-list a { color: var(--gold-light); text-decoration: underline; text-underline-offset: 3px; }
.content-review { width: min(calc(100% - 40px), 800px); margin: 0 auto 70px; padding-top: 20px; border-top: 1px solid var(--border); color: var(--text-muted); font-size: .72rem; }
.content-review a { color: var(--gold-light); }
.region-note { padding: 18px 22px; border: 1px solid rgba(199,165,106,.3); color: var(--text-muted); font-size: .78rem; }
.landing-intro { max-width: 760px; margin: 0 auto 46px; text-align: center; }
.landing-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 4.8rem); font-weight: 400; line-height: .95; }
.landing-intro p { max-width: 680px; margin: 18px auto 0; color: var(--text-muted); }
.audience-paths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.audience-path { padding: 38px; border: 1px solid rgba(199,165,106,.38); background: linear-gradient(145deg, rgba(199,165,106,.08), rgba(255,255,255,.015)); }
.audience-path h3 { margin: 10px 0 14px; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.1rem); font-weight: 400; line-height: 1; }
.audience-path p { color: var(--text-muted); }
.audience-path a { color: var(--gold-light); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; }
.coverage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.coverage-card { padding: 28px; border: 1px solid rgba(199,165,106,.3); background: rgba(255,255,255,.025); }
.coverage-card h3 { margin: 0 0 12px; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; }
.coverage-card p { margin: 0; color: var(--text-muted); font-size: .82rem; }
.city-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.city-list span { padding: 6px 10px; border: 1px solid rgba(199,165,106,.26); color: #d8c9b8; font-size: .68rem; }
.city-story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.city-story-card { overflow: hidden; border: 1px solid rgba(199,165,106,.38); background: rgba(255,255,255,.025); }
.city-story-card > a { display: block; overflow: hidden; }
.city-story-card img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .55s ease; }
.city-story-card:hover img { transform: scale(1.025); }
.city-story-card__copy { padding: 30px; }
.city-story-card__copy h3 { margin: 0 0 15px; font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.2rem); font-weight: 400; line-height: 1; }
.city-story-card__copy > p:not(.eyebrow) { min-height: 142px; margin: 0; color: var(--text-muted); font-size: .82rem; }
.city-story-card__copy > a { display: inline-block; margin-top: 22px; color: var(--gold-light); font-size: .66rem; letter-spacing: .13em; text-transform: uppercase; }
.positioning-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; align-items: start; }
.positioning-copy h2 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(2.8rem, 5vw, 4.7rem); font-weight: 400; line-height: .95; }
.positioning-copy p { color: var(--text-muted); }
.decision-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--border); }
.decision-list li { padding: 20px 0; border-bottom: 1px solid var(--border); color: var(--text-muted); }
.decision-list strong { display: block; margin-bottom: 5px; color: var(--cream); font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.membership-panel { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; padding: 42px; border: 1px solid rgba(199,165,106,.38); background: linear-gradient(120deg, rgba(199,165,106,.1), rgba(255,255,255,.02)); }
.membership-panel h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 400; line-height: 1; }
.membership-panel p, .membership-panel li { color: var(--text-muted); }
.membership-panel ul { margin: 0; padding-left: 20px; }
.membership-panel .button { margin-top: 22px; }
.guide-jump { position: sticky; z-index: 14; top: 76px; border-block: 1px solid var(--border); background: rgba(18,13,8,.96); backdrop-filter: blur(14px); }
.guide-jump .container { display: flex; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.guide-jump a { flex: 0 0 auto; padding: 18px 22px; color: var(--text-muted); font-size: .62rem; letter-spacing: .13em; text-transform: uppercase; }
.guide-jump a:hover { color: var(--gold-light); }
.guide-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.guide-card { padding: 34px; border: 1px solid rgba(199,165,106,.35); background: linear-gradient(145deg, rgba(199,165,106,.07), rgba(255,255,255,.015)); }
.guide-card > span, .standards-board article > span, .script-card > span, .signal-card > span, .first-date-plan article > span { color: var(--gold-light); font-size: .62rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.guide-card h3, .standards-board h3, .signal-card h3, .first-date-plan h3 { margin: 16px 0 12px; font-family: var(--serif); font-size: 2rem; font-weight: 400; line-height: 1; }
.guide-card p, .signal-card p { margin: 0; color: var(--text-muted); font-size: .82rem; }
.guide-editorial-split { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: 70px; }
.guide-editorial-split--reverse { grid-template-columns: 1.12fr .88fr; }
.guide-editorial-split img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 5; object-fit: cover; }
.guide-editorial-split h2 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 5vw, 5rem); font-weight: 400; line-height: .95; }
.guide-editorial-split p { color: var(--text-muted); }
.profile-formula { margin-top: 28px; padding: 25px 28px; border-left: 2px solid var(--gold); background: rgba(199,165,106,.08); }
.profile-formula strong { font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }
.profile-formula ol { margin-bottom: 0; padding-left: 20px; color: var(--text-muted); }
.script-pair { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.script-card { padding: 32px; border: 1px solid rgba(199,165,106,.42); background: rgba(199,165,106,.06); }
.script-card--muted { border-color: var(--border); background: rgba(255,255,255,.02); }
.script-card blockquote { margin: 20px 0; font-family: var(--serif); font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.18; }
.script-card p { margin: 0; color: var(--text-muted); font-size: .8rem; }
.section--cream .script-card { border-color: rgba(43,33,24,.2); background: rgba(43,33,24,.035); }
.section--cream .script-card > span { color: #7b5627; }
.section--cream .script-card p { color: #5f554c; }
.guide-callout { margin-top: 26px; padding: 24px 28px; border-left: 2px solid var(--gold); background: rgba(199,165,106,.075); }
.guide-callout strong { font-family: var(--serif); font-size: 1.55rem; font-weight: 500; }
.guide-callout p { margin: 8px 0 0; color: var(--text-muted); }
.meeting-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.meeting-timeline li { min-height: 280px; padding: 28px; border: 1px solid rgba(199,165,106,.38); }
.meeting-timeline li + li { border-left: 0; }
.meeting-timeline span { color: var(--gold); font-size: .7rem; letter-spacing: .2em; }
.meeting-timeline h3 { margin: 34px 0 12px; font-family: var(--serif); font-size: 1.8rem; font-weight: 400; line-height: 1; }
.meeting-timeline p { margin: 0; color: var(--text-muted); font-size: .78rem; }
.standards-board { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid rgba(199,165,106,.38); }
.standards-board article { padding: 34px; }
.standards-board article + article { border-left: 1px solid rgba(199,165,106,.28); }
.standards-board ul, .first-date-plan ul { margin: 0; padding-left: 18px; color: var(--text-muted); font-size: .8rem; }
.standards-board li, .first-date-plan li { margin: 9px 0; }
.signal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.signal-card { padding: 32px; border: 1px solid var(--border); }
.signal-card--green { border-top: 3px solid #78906d; }
.signal-card--amber { border-top: 3px solid var(--gold); }
.signal-card--red { border-top: 3px solid #925d53; }
.first-date-plan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.first-date-plan article { padding: 32px; border: 1px solid rgba(199,165,106,.35); background: rgba(255,255,255,.025); }
.sticky-join { position: fixed; z-index: 18; right: 18px; bottom: 18px; display: none; opacity: 0; pointer-events: none; transform: translateY(12px); box-shadow: 0 10px 40px rgba(0,0,0,.35); transition: opacity .25s ease, transform .25s ease; }
.sticky-join.is-active { opacity: 1; pointer-events: auto; transform: none; }

.reveal { opacity: 1; transform: none; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .utility-nav, .main-actions .login-link { display: none; }
  .header-inner { grid-template-columns: 42px 1fr 42px; }
  .brand { grid-column: 2; }
  .menu-toggle { display: block; grid-column: 3; }
  .mobile-menu { position: fixed; z-index: 20; inset: 0; display: flex; visibility: hidden; flex-direction: column; align-items: center; justify-content: center; gap: 26px; background: rgba(18,13,8,.98); opacity: 0; transition: .25s; }
  .mobile-menu a { font-family: var(--serif); font-size: 2rem; }
  .menu-open .mobile-menu { visibility: visible; opacity: 1; }
  .menu-open .menu-toggle span:first-child { transform: translateY(7px) rotate(45deg); }
  .menu-open .menu-toggle span:nth-child(2) { opacity: 0; }
  .menu-open .menu-toggle span:last-child { transform: translateY(-7px) rotate(-45deg); }
  .hero { min-height: 850px; background-position: 61% center; }
  .hero-content { width: 70%; }
  .audience-paths, .positioning-grid, .membership-panel, .guide-editorial-split, .guide-editorial-split--reverse { grid-template-columns: 1fr; }
  .guide-card-grid, .standards-board, .signal-grid, .first-date-plan { grid-template-columns: 1fr; }
  .standards-board article + article { border-top: 1px solid rgba(199,165,106,.28); border-left: 0; }
  .meeting-timeline { grid-template-columns: repeat(2, 1fr); }
  .meeting-timeline li + li { border-left: 1px solid rgba(199,165,106,.38); }
  .meeting-timeline li:nth-child(n+3) { border-top: 0; }
  .coverage-grid { grid-template-columns: repeat(2, 1fr); }
  .statement-grid { grid-template-columns: 1fr; gap: 30px; }
  .statement-divider { width: 100%; height: 1px; }
  .statement-copy { margin-inline: auto; text-align: center; }
  .choice-card { min-height: 380px; }
  .steps-grid, .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .step-card:nth-child(3) { border-left: 1px solid rgba(199,165,106,.45); }
  .premium-copy { width: 65%; }
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid, .location-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid rgba(199,165,106,.25); }
}

@media (max-width: 620px) {
  .coverage-grid { grid-template-columns: 1fr; }
  .audience-path, .membership-panel { padding: 28px 22px; }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 30px), var(--max)); }
  .section { padding: 68px 0; }
  .hero { min-height: 760px; background-position: 67% center; }
  .hero::before { background: linear-gradient(90deg, rgba(8,6,4,.92), rgba(8,6,4,.35)), linear-gradient(0deg, rgba(8,6,4,.9), transparent 55%); }
  .hero-content { width: 92%; padding-top: 40px; }
  .hero h1 { font-size: clamp(3rem, 12.5vw, 3.3rem); }
  .hero-description { max-width: 94%; font-size: .9rem; line-height: 1.65; }
  .choice-grid, .steps-grid, .feature-grid, .story-grid, .split, .footer-grid, .blog-grid, .city-story-grid, .script-pair { grid-template-columns: 1fr; }
  .page-toc, .safety-signal, .safety-checklist { grid-template-columns: 1fr; }
  .legal-layout { grid-template-columns: 1fr; gap: 30px; }
  .legal-nav { position: static; }
  .choice-card { min-height: 410px; }
  .step-card + .step-card { border-top: 0; border-left: 1px solid rgba(199,165,106,.45); }
  .benefit-row { grid-template-columns: 34px 1fr 20px; padding: 20px 16px; }
  .benefit-row p { grid-column: 2 / 3; }
  .premium-banner { min-height: 650px; align-items: end; background-position: 25% center; }
  .premium-banner::before { background: linear-gradient(0deg, rgba(18,13,8,.98) 0%, rgba(18,13,8,.75) 60%, rgba(18,13,8,.15)); }
  .premium-copy { width: 100%; margin-bottom: 30px; }
  .story-grid { gap: 36px; }
  .final-cta__inner { min-height: 390px; flex-direction: column; align-items: flex-start; justify-content: center; }
  .final-cta h2 { margin: 0; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .inner-hero { min-height: 74svh; padding-bottom: 64px; }
  .inner-hero > .container { min-width: 0; max-width: calc(100vw - 30px); }
  .inner-hero__content { width: calc(100vw - 30px); min-width: 0; max-width: calc(100vw - 30px); }
  .inner-hero h1 { overflow-wrap: anywhere; word-break: break-word; font-size: clamp(2.6rem, 11vw, 3.2rem); }
  .intent-hero h1 { font-size: clamp(3rem, 12.5vw, 3.5rem); }
  .intent-hero--women .inner-hero__content { margin-inline: auto; }
  .country-hero--uk .inner-hero__content { margin-inline: auto; }
  .country-hero--australia { align-items: end; padding-bottom: 64px; }
  .country-hero--australia .inner-hero__content { text-align: left; }
  .country-hero--australia .inner-hero__content > p { margin-inline: 0; }
  .country-hero--australia .button-group { justify-content: flex-start; }
  .guide-hero h1 { font-size: clamp(3.1rem, 14vw, 4.2rem); }
  .guide-hero--baby .inner-hero__content { margin-inline: auto; }
  .guide-jump .container { justify-content: flex-start; }
  .guide-jump a { padding-inline: 16px; }
  .guide-editorial-split { gap: 34px; }
  .guide-editorial-split img { min-height: 0; }
  .city-story-card__copy { padding: 24px 22px; }
  .city-story-card__copy > p:not(.eyebrow) { min-height: 0; }
  .meeting-timeline { grid-template-columns: 1fr; }
  .meeting-timeline li + li, .meeting-timeline li:nth-child(n+3) { border-top: 0; border-left: 1px solid rgba(199,165,106,.38); }
  .split { gap: 30px; }
  .split img { min-height: 360px; }
  .about-philosophy__image { height: 440px; min-height: 0; object-position: 74% center; }
  .form-grid { grid-template-columns: 1fr; }
  .field--full { grid-column: auto; }
  .location-grid { grid-template-columns: 1fr; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid rgba(199,165,106,.25); }
  .trust-item:last-child { border-bottom: 0; }
  .sticky-join { display: inline-flex; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
