@font-face{font-family:"Cormorant Garamond";font-style:normal;font-display:swap;font-weight:500;src:url("/assets/fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-display:swap;font-weight:600;src:url("/assets/fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:400;src:url("/assets/fonts/inter-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:500;src:url("/assets/fonts/inter-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-display:swap;font-weight:600;src:url("/assets/fonts/inter-latin-600-normal.woff2") format("woff2")}

:root { font-family: "Inter", sans-serif; color: #0c1d2f; background: #f8f6f1; font-synthesis: none; --navy:#062643; --navy-deep:#031b31; --gold:#d8a526; --gold-dark:#b88616; --ivory:#f8f6f1; --sand:#eee7dc; --ink:#102133; --line:#d7cbb9; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:320px; min-height:100vh; -webkit-font-smoothing:antialiased; background:var(--ivory); }
button,input { font:inherit; } button,a { -webkit-tap-highlight-color:transparent; } a { color:inherit; } img { display:block; width:100%; }
.page-width { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-shell { overflow:hidden; }
h1,h2,h3,.brand { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; }
h1,h2,h3,p { margin-top:0; } h2 { font-size:clamp(2.35rem,4vw,4rem); line-height:.98; letter-spacing:-.035em; }

.site-header { position:absolute; z-index:20; top:0; left:0; right:0; height:78px; padding:0 34px; display:flex; align-items:center; justify-content:space-between; color:white; background:rgba(3,27,49,.97); border-bottom:1px solid rgba(255,255,255,.1); }
.brand { text-decoration:none; font-size:1.75rem; letter-spacing:-.03em; white-space:nowrap; }
.nav-links { display:flex; align-items:center; gap:clamp(18px,2.2vw,34px); font-size:.82rem; font-weight:600; }
.nav-links a { text-decoration:none; position:relative; }
.nav-links a::after { content:""; position:absolute; height:1px; left:0; right:100%; bottom:-7px; background:var(--gold); transition:right .2s ease; }
.nav-links a:hover::after,.nav-links a:focus-visible::after { right:0; }
.nav-links a.is-current::after { right:0; }
.menu-button { display:none; border:0; color:white; background:transparent; padding:8px; }
.button { min-height:48px; border:1px solid transparent; border-radius:1px; padding:0 24px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; font-size:.84rem; font-weight:600; cursor:pointer; transition:transform .2s ease,background .2s ease,color .2s ease; }
.button:hover { transform:translateY(-2px); }
.button:focus-visible,.faq-item button:focus-visible,input:focus-visible { outline:3px solid rgba(216,165,38,.45); outline-offset:3px; }
.button-gold { color:white; background:var(--gold); border-color:var(--gold); box-shadow:0 8px 24px rgba(145,104,11,.16); }
.button-gold:hover { background:var(--gold-dark); }
.button-outline { color:white; background:rgba(5,25,43,.18); border-color:rgba(255,255,255,.85); }
.button-outline:hover { background:white; color:var(--navy); }
.nav-cta { min-height:42px; padding-inline:21px; }

.hero { position:relative; min-height:665px; display:flex; align-items:center; padding-top:78px; color:white; background:var(--navy) url('/assets/optimized/hero-san-diego.webp') center 38%/cover no-repeat; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,27,49,.79) 0%,rgba(3,27,49,.35) 47%,rgba(3,27,49,.03) 78%); }
.hero-content { position:relative; z-index:1; padding-block:88px 70px; }
.eyebrow { margin-bottom:18px; font-size:.72rem; letter-spacing:.19em; text-transform:uppercase; color:#f0ca72; font-weight:600; }
.eyebrow.dark { color:#9c751c; } .eyebrow.center { text-align:center; }
.hero h1 { max-width:650px; margin-bottom:22px; font-size:clamp(4rem,6.3vw,6.4rem); line-height:.84; letter-spacing:-.045em; }
.hero-copy { max-width:510px; margin-bottom:33px; font-size:1.1rem; line-height:1.7; color:rgba(255,255,255,.93); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.trust-strip { min-height:78px; padding:14px max(24px,calc((100vw - 930px)/2)); display:grid; grid-template-columns:repeat(3,1fr); align-items:center; background:var(--navy); color:white; }
.trust-item { min-height:42px; display:flex; justify-content:center; align-items:center; gap:16px; font-size:.82rem; font-weight:600; border-right:1px solid rgba(216,165,38,.45); }
.trust-item:last-child { border-right:0; } .trust-item svg { color:var(--gold); }

.about-section { padding-block:105px; display:grid; grid-template-columns:1.07fr .93fr; align-items:center; gap:clamp(50px,8vw,110px); }
.about-image-wrap { aspect-ratio:1.32; overflow:hidden; box-shadow:0 25px 65px rgba(20,38,53,.13); }
.about-image-wrap img { height:100%; object-fit:cover; }
.about-copy h2 { margin-bottom:28px; color:var(--ink); }
.about-copy p:not(.eyebrow) { max-width:460px; font-size:1.07rem; line-height:1.75; color:#2f3945; }
.audience-section { min-height:310px; padding:60px max(28px,calc((100vw - 1000px)/2)); display:grid; grid-template-columns:1fr 1px 1fr; align-items:center; gap:60px; background:#f2ede5; }
.audience-divider { width:1px; height:180px; background:var(--line); }
.audience-card { max-width:440px; margin-inline:auto; text-align:center; }
.audience-card svg { color:var(--gold); margin-bottom:16px; }
.audience-card h3 { margin-bottom:12px; font-size:2.25rem; }
.audience-card p { max-width:380px; margin:0 auto; line-height:1.65; color:#34404c; }

.locations-section { padding-block:95px; text-align:center; }
.locations-section h2 { margin-bottom:20px; }
.section-dek { max-width:720px; margin:0 auto 44px; color:#53606b; line-height:1.7; }
.location-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.location-card { position:relative; height:300px; overflow:hidden; background:var(--navy); }
.location-card img { height:100%; object-fit:cover; transition:transform .6s ease; }
.location-card:hover img { transform:scale(1.05); }
.location-shade { position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(1,13,24,.86)); }
.location-card>div:last-child { position:absolute; z-index:1; left:18px; right:18px; bottom:18px; text-align:left; }
.location-card h3 { margin:0 0 6px; color:white; font-family:"Inter",sans-serif; font-size:1rem; font-weight:600; }
.location-card p { margin:0; color:rgba(255,255,255,.72); font-size:.68rem; line-height:1.45; }

.chatrooms-section { padding-block:95px; background:#f2ede5; }
.section-heading { max-width:720px; margin-bottom:45px; }
.centered-heading { margin-inline:auto; text-align:center; }
.section-heading h2 { margin-bottom:20px; }
.section-heading>p:last-child { margin:0; color:#46515c; line-height:1.7; }
.chatroom-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.chatroom-card { min-height:315px; padding:30px 26px; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #d3c8b8; border-radius:0; background:#fbf9f5; color:var(--ink); text-align:left; cursor:pointer; transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease; }
.chatroom-card:hover { transform:translateY(-4px); border-color:var(--gold); }
.chatroom-card:focus-visible,.profile-tabs button:focus-visible,.profile-card a:focus-visible { outline:3px solid rgba(216,165,38,.45); outline-offset:3px; }
.chatroom-card svg { margin-bottom:30px; color:var(--gold); }
.chatroom-card>span { margin-bottom:12px; color:#98721b; font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.chatroom-card h3 { margin-bottom:13px; font-size:1.78rem; line-height:1; }
.chatroom-card p { flex:1; margin-bottom:24px; color:#505b66; font-size:.82rem; line-height:1.65; }
.chatroom-card b { display:flex; align-items:center; gap:8px; font-size:.72rem; font-weight:600; }
.chatroom-card b svg { margin:0; }
.chatroom-card.is-selected { border-color:var(--navy); background:var(--navy); color:white; box-shadow:0 22px 45px rgba(3,27,49,.16); }
.chatroom-card.is-selected p { color:rgba(255,255,255,.74); }
.chatroom-card.is-selected>span { color:#e7bd58; }
.room-preview { margin-top:18px; padding:26px 30px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:#e8dfd1; border-left:3px solid var(--gold); }
.room-preview span { display:block; margin-bottom:7px; color:#8f6b18; font-size:.66rem; font-weight:600; letter-spacing:.15em; text-transform:uppercase; }
.room-preview h3 { margin-bottom:6px; font-size:1.55rem; }
.room-preview p { margin:0; color:#46515c; font-size:.84rem; }
.room-preview small { display:block; max-width:650px; margin-top:8px; color:#65707a; font-size:.72rem; line-height:1.5; }
.room-preview .button { flex:none; }

.profiles-section { padding-block:95px 65px; }
.profiles-section + .about-section { padding-top:65px; }
.profiles-heading { margin-bottom:45px; display:flex; align-items:flex-end; justify-content:space-between; gap:48px; }
.profiles-heading h2 { margin-bottom:18px; }
.profiles-heading>div:first-child>p:last-child { margin:0; color:#46515c; }
.profile-tabs { display:flex; gap:8px; flex:none; }
.profile-tabs button { min-width:96px; min-height:43px; padding:0 18px; border:1px solid #bdb5aa; background:transparent; color:var(--ink); font-size:.76rem; font-weight:600; cursor:pointer; }
.profile-tabs button.is-active { border-color:var(--navy); background:var(--navy); color:white; }
.profile-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; animation:profile-fade .24s ease both; }
.profile-card { min-width:0; border:1px solid #ded8cf; background:#fbfaf7; transition:transform .25s ease,box-shadow .25s ease; }
.profile-card:hover { transform:translateY(-5px); box-shadow:0 20px 42px rgba(23,36,48,.12); }
.profile-photo { position:relative; aspect-ratio:4/5; overflow:hidden; background:#e8e2d8; }
.profile-photo img { height:100%; object-fit:cover; transition:transform .55s ease; }
.profile-card:hover .profile-photo img { transform:scale(1.035); }
.profile-photo>span { position:absolute; right:9px; top:9px; padding:5px 7px; background:rgba(3,27,49,.88); color:white; font-size:.58rem; font-weight:600; letter-spacing:.06em; }
.profile-info { padding:18px 16px 17px; }
.profile-info h3 { margin-bottom:6px; font-size:1.5rem; line-height:1; }
.profile-area { margin-bottom:14px; display:flex; align-items:center; gap:5px; color:#69737d; font-size:.7rem; }
.profile-area svg { color:var(--gold); }
.profile-tags { min-height:48px; margin-bottom:14px; display:flex; align-content:flex-start; gap:5px; flex-wrap:wrap; }
.profile-tags span { padding:5px 7px; background:#efe8dd; color:#58616a; font-size:.58rem; }
.profile-info a { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:13px; border-top:1px solid #ddd6cb; color:var(--navy); text-decoration:none; font-size:.68rem; font-weight:600; }
@keyframes profile-fade { from { opacity:.25; transform:translateY(6px); } to { opacity:1; transform:none; } }

.calculator-section { margin-bottom:105px; padding:45px 38px; display:grid; grid-template-columns:1fr 1.1fr .72fr; align-items:stretch; gap:44px; border:1px solid #dbcda9; background:#f9f6ef; box-shadow:0 22px 55px rgba(30,40,50,.07); }
.calculator-intro { padding:10px 0; }
.calculator-intro h2 { margin-bottom:20px; font-size:clamp(2.3rem,3.4vw,3.55rem); }
.calculator-intro>p:not(.eyebrow) { line-height:1.6; color:#39434d; }
.calculator-note { padding-top:18px; margin:0; border-top:1px solid var(--line); font-size:.74rem; color:#69727a!important; }
.calculator-controls { display:flex; flex-direction:column; justify-content:center; gap:22px; }
.range-field span { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:9px; font-size:.76rem; }
.range-field b { font-weight:600; } .range-field output { color:#7a5c17; font-variant-numeric:tabular-nums; }
.range-field input { width:100%; height:4px; accent-color:var(--gold); cursor:pointer; }
.calculate-button { width:100%; margin-top:2px; }
.calculator-result { min-height:265px; padding:30px 22px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #aab0b5; background:rgba(255,255,255,.58); text-align:center; }
.calculator-result span { font-family:"Cormorant Garamond",serif; font-size:1.25rem; }
.calculator-result h3 { margin:1px 0 24px; font-size:1.75rem; }
.calculator-result strong { font-family:"Cormorant Garamond",serif; font-size:clamp(2.1rem,3vw,3rem); color:var(--navy); font-variant-numeric:tabular-nums; }
.calculator-result small { margin-top:15px; font-size:.7rem; color:#65707a; }
.calculator-result.is-ready { border-color:var(--gold); box-shadow:inset 0 0 0 1px rgba(216,165,38,.16); }

.safety-section { padding-block:68px 72px; background:var(--navy); color:white; text-align:center; }
.safety-section h2 { margin-bottom:10px; }
.safety-section>div>p { margin-bottom:42px; color:rgba(255,255,255,.78); }
.safety-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.safety-grid>div { min-height:125px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-right:1px solid rgba(216,165,38,.48); }
.safety-grid>div:last-child { border-right:0; } .safety-grid svg { margin-bottom:13px; color:var(--gold); }
.safety-grid h3 { margin:0; font-family:"Inter",sans-serif; font-size:.95rem; font-weight:500; }
.safety-link { margin-top:38px; }
.process-section { padding-block:82px 75px; text-align:center; }
.process-section h2 { margin-bottom:43px; }
.process-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); }
.process-grid::before { content:""; position:absolute; z-index:0; top:21px; left:16.6%; right:16.6%; height:1px; background:var(--gold); }
.process-step { position:relative; z-index:1; }
.process-step span { width:44px; height:44px; margin:0 auto 16px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:white; font-weight:600; }
.process-step h3 { margin:0; font-family:"Inter",sans-serif; font-size:.9rem; font-weight:500; }
.process-step p { max-width:270px; margin:12px auto 0; color:#53606b; font-size:.82rem; line-height:1.65; text-align:center; }

.faq-section { padding-block:76px 86px; background:#f2eee8; }
.faq-inner { width:min(920px,calc(100% - 48px)); margin-inline:auto; }
.faq-section h2 { margin-bottom:38px; text-align:center; }
.faq-item { border:1px solid #c8c4bd; border-bottom:0; background:rgba(255,255,255,.35); }
.faq-item:last-child { border-bottom:1px solid #c8c4bd; }
.faq-item button { width:100%; min-height:58px; padding:0 22px; display:flex; align-items:center; justify-content:space-between; border:0; background:transparent; text-align:left; color:var(--ink); cursor:pointer; font-size:.9rem; font-weight:600; }
.faq-item button svg { transition:transform .2s ease; } .faq-item.is-open button svg { transform:rotate(180deg); }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-answer p { min-height:0; overflow:hidden; margin:0; padding-inline:22px; color:#53606c; line-height:1.65; }
.faq-item.is-open .faq-answer { grid-template-rows:1fr; } .faq-item.is-open .faq-answer p { padding-bottom:20px; }

.final-cta { position:relative; min-height:275px; display:grid; place-items:center; background:linear-gradient(135deg,#efe5d2 0%,#d9ba7a 100%); }
.final-cta-shade { position:absolute; inset:0; background:rgba(245,238,226,.28); }
.final-cta-content { position:relative; z-index:1; text-align:center; }
.final-cta h2 { margin-bottom:12px; color:#0b1e2f; }
.final-cta p { max-width:620px; margin:0 auto 24px; padding-inline:20px; color:#344657; font-size:.95rem; line-height:1.7; }
.site-footer { padding-block:56px; background:var(--navy); color:white; }
.footer-inner { display:grid; grid-template-columns:1.5fr .65fr .65fr; gap:90px; }
.footer-brand { padding-right:70px; border-right:1px solid rgba(216,165,38,.45); }
.footer-brand h2 { margin-bottom:14px; font-size:1.75rem; }
.footer-brand p { max-width:390px; margin:0; color:rgba(255,255,255,.72); font-size:.78rem; line-height:1.75; }
.footer-brand small { display:block; margin-top:14px; color:#e3bc5d; font-size:.68rem; }
.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:13px; font-size:.78rem; }
.footer-links a { text-decoration:none; }
.footer-links strong { margin-bottom:3px; color:#e3bc5d; font-size:.65rem; letter-spacing:.13em; text-transform:uppercase; }
.sponsored-disclosure { grid-column:1/-1; margin:0; padding-top:24px; border-top:1px solid rgba(216,165,38,.3); color:rgba(255,255,255,.62); font-size:.68rem; line-height:1.65; }
.sponsored-disclosure strong { color:#e3bc5d; }

/* Interior pages */
.text-link { width:max-content; margin-top:26px; display:flex; align-items:center; gap:9px; color:#8f6814; font-size:.78rem; font-weight:600; text-decoration:none; border-bottom:1px solid #c49a39; padding-bottom:6px; }
.text-link:hover svg { transform:translateX(3px); }
.text-link svg { transition:transform .2s ease; }
.inner-hero { position:relative; min-height:590px; padding-top:78px; display:flex; align-items:flex-end; color:white; background:var(--navy) url('/assets/optimized/hero-san-diego.webp') center 43%/cover no-repeat; }
.inner-hero-dating { background-image:url('/assets/optimized/hero-dating.webp'); background-position:center 52%; }
.inner-hero-safety { background-image:url('/assets/optimized/hero-safety.webp'); background-position:center 52%; }
.inner-hero-about { background-image:url('/assets/optimized/hero-about.webp'); background-position:center 50%; }
.inner-hero-faq { background-image:url('/assets/optimized/hero-faq.webp'); background-position:center 50%; }
.inner-hero-blog { background-image:url('/assets/optimized/hero-blog.webp'); background-position:center 54%; }
.inner-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,27,49,.94) 0%,rgba(3,27,49,.68) 48%,rgba(3,27,49,.18) 100%); }
.inner-hero-content { position:relative; z-index:1; padding-block:85px 74px; }
.inner-hero h1,.legal-hero h1 { max-width:760px; margin-bottom:25px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(4rem,7vw,7rem); line-height:.84; letter-spacing:-.048em; }
.inner-hero-content>p:last-child { max-width:610px; margin:0; color:rgba(255,255,255,.88); font-size:1.08rem; line-height:1.75; }
.inner-hero.is-compact { min-height:510px; }
.editorial-intro,.about-story { padding-block:110px; display:grid; grid-template-columns:.7fr 1.5fr; gap:9vw; }
.section-index { color:#916c18; font-size:.69rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.editorial-intro h2,.about-story h2 { margin-bottom:30px; }
.editorial-intro p:not(.section-index),.about-story-copy p { color:#3b4650; line-height:1.8; }
.editorial-intro .lead,.about-story-copy .lead { color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:1.65rem; line-height:1.4; }
.feature-band,.principles-section,.resource-section { padding-block:92px; background:var(--navy); color:white; }
.feature-band .section-heading { margin-bottom:42px; }
.feature-band .section-heading h2 { max-width:680px; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(216,165,38,.5); border-bottom:1px solid rgba(216,165,38,.5); }
.info-card { min-height:285px; padding:43px 36px; border-right:1px solid rgba(216,165,38,.35); }
.info-card:last-child { border-right:0; }
.info-card svg { margin-bottom:32px; color:var(--gold); }
.info-card h3 { margin-bottom:16px; font-size:2rem; }
.info-card p { margin:0; color:rgba(255,255,255,.72); line-height:1.7; font-size:.86rem; }
.neighborhood-guide { padding-block:110px; }
.split-heading { margin-bottom:60px; display:grid; grid-template-columns:1.2fr .8fr; align-items:end; gap:80px; }
.split-heading h2 { margin:0; }
.split-heading>p { max-width:450px; margin:0 0 5px; color:#4f5a64; line-height:1.75; }
.place-list { border-top:1px solid var(--line); }
.place-item { min-height:112px; display:grid; grid-template-columns:80px .8fr 1.3fr; align-items:center; gap:30px; border-bottom:1px solid var(--line); }
.place-item>span { color:#9e761b; font-size:.69rem; font-weight:600; letter-spacing:.1em; }
.place-item h3 { margin:0; font-size:2rem; }
.place-item p { margin:0; color:#56616b; line-height:1.65; }
.content-split { display:grid; grid-template-columns:1fr 1fr; min-height:620px; background:#eee8de; }
.content-split.reverse { direction:rtl; }
.content-split.reverse>* { direction:ltr; }
.content-split-image img { height:100%; object-fit:cover; }
.content-split-copy { max-width:650px; padding:95px clamp(40px,7vw,110px); align-self:center; }
.content-split-copy h2 { margin-bottom:28px; }
.content-split-copy>p:not(.eyebrow) { color:#3f4a54; line-height:1.75; }
.check-list { margin:0; padding:0; list-style:none; }
.check-list li { position:relative; padding:14px 0 14px 30px; border-bottom:1px solid #d1c6b5; color:#3f4a54; line-height:1.55; }
.check-list li::before { content:""; position:absolute; left:3px; top:21px; width:8px; height:8px; border:1px solid var(--gold-dark); transform:rotate(45deg); }
.quote-panel { padding-block:100px; text-align:center; }
.quote-panel p { max-width:900px; margin:0 auto 23px; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2.5rem,5vw,4.7rem); line-height:1; color:var(--ink); }
.quote-panel span { color:#8e6a18; font-size:.66rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.safety-callout { margin-block:72px; padding:31px 35px; display:flex; align-items:center; gap:25px; border:1px solid #d2bd83; background:#f3ecdc; }
.safety-callout svg { flex:none; color:#9e7417; }
.safety-callout h2 { margin-bottom:5px; font-size:2rem; }
.safety-callout p { margin:0; color:#4b5660; line-height:1.6; }
.safety-chapters { padding-bottom:105px; }
.safety-chapter { padding-block:50px; display:grid; grid-template-columns:1fr 1.25fr; gap:8vw; border-top:1px solid var(--line); }
.safety-chapter:last-child { border-bottom:1px solid var(--line); }
.safety-chapter-heading { display:grid; grid-template-columns:46px 52px 1fr; align-items:center; }
.safety-chapter-heading>span { color:#9b7419; font-size:.7rem; font-weight:600; }
.safety-chapter-heading svg { color:var(--gold-dark); }
.safety-chapter h2 { margin:0; font-size:2.7rem; }
.safety-chapter>div:last-child p { color:#4a5661; line-height:1.75; }
.safety-chapter>div:last-child p:last-child { margin-bottom:0; }
.resource-section>.page-width { display:grid; grid-template-columns:1fr .82fr; gap:9vw; }
.resource-section h2 { margin-bottom:23px; }
.resource-section p:not(.eyebrow) { max-width:560px; margin:0; color:rgba(255,255,255,.74); line-height:1.75; }
.resource-links { display:flex; flex-direction:column; border-top:1px solid rgba(216,165,38,.5); }
.resource-links a { min-height:70px; padding-inline:5px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid rgba(216,165,38,.5); text-decoration:none; font-size:.82rem; font-weight:600; }
.resource-links a:hover { color:#f0ca72; }
.about-story-title h2 { max-width:500px; }
.principles-section h2 { margin-bottom:48px; }
.principles-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.principles-grid article { min-height:270px; padding:34px 30px; border-top:1px solid rgba(216,165,38,.5); border-bottom:1px solid rgba(216,165,38,.5); border-right:1px solid rgba(216,165,38,.35); }
.principles-grid article:last-child { border-right:0; }
.principles-grid span { color:#e0b74f; font-size:.7rem; letter-spacing:.1em; }
.principles-grid h3 { margin:54px 0 16px; font-size:1.85rem; }
.principles-grid p { margin:0; color:rgba(255,255,255,.7); font-size:.82rem; line-height:1.7; }
.faq-page { padding-block:105px; display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; align-items:start; }
.faq-page aside { position:sticky; top:110px; }
.faq-page aside h2 { margin-bottom:25px; }
.faq-page aside>p:not(.eyebrow) { color:#53606b; line-height:1.7; }
.faq-note { padding-block:55px; background:#e9e1d5; }
.faq-note>.page-width { display:grid; grid-template-columns:55px 1fr auto; gap:28px; align-items:center; }
.faq-note svg { color:var(--gold-dark); }
.faq-note h2 { margin-bottom:7px; font-size:2rem; }
.faq-note p { margin:0; color:#53606b; }
.legal-page { background:#f5f1ea; }
.legal-hero { padding:185px 0 80px; background:var(--navy); color:white; }
.legal-hero h1 { margin-bottom:18px; }
.legal-hero>div>p:last-child { margin:0; color:rgba(255,255,255,.65); font-size:.78rem; }
.legal-content { width:min(820px,calc(100% - 48px)); padding-block:80px 110px; }
.legal-content h2 { margin:45px 0 14px; font-size:2rem; }
.legal-content p { color:#46525d; line-height:1.8; }
.legal-notice { padding:18px 20px; border-left:3px solid var(--gold); background:#ece4d7; font-size:.78rem; }

/* SEO content and journal */
.seo-intro,.safety-overview,.blog-intro { padding-block:100px; display:grid; grid-template-columns:.8fr 1.4fr; gap:9vw; }
.seo-intro h2,.safety-overview h2,.blog-intro h2 { margin:0; }
.seo-intro p,.safety-overview p,.blog-intro p { color:#45515c; line-height:1.8; }
.seo-intro .lead,.safety-overview .lead,.blog-intro .lead { color:var(--ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:1.55rem; line-height:1.42; }
.seo-intro a { color:#7f5e14; text-underline-offset:3px; }
.centered-link { margin-inline:auto; }
.breadcrumbs { min-height:54px; display:flex; align-items:center; gap:8px; color:#69737c; font-size:.68rem; }
.breadcrumbs>span { display:flex; align-items:center; gap:8px; }
.breadcrumbs a { color:#725817; text-decoration:none; }
.breadcrumbs b { color:#b9aea0; font-weight:400; }
.breadcrumbs.is-embedded { min-height:auto; margin-bottom:45px; color:rgba(255,255,255,.66); }
.breadcrumbs.is-embedded a { color:#e5c875; }
.value-grid.four { grid-template-columns:repeat(4,1fr); }
.value-grid.four .info-card { padding-inline:28px; }
.guide-steps,.editorial-method { padding-block:105px; }
.guide-step-grid,.method-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.guide-step-grid article,.method-grid article { min-height:280px; padding:34px 28px; border-right:1px solid var(--line); }
.guide-step-grid article:last-child,.method-grid article:last-child { border-right:0; }
.guide-step-grid span,.method-grid span { color:#9a7219; font-size:.68rem; font-weight:600; letter-spacing:.12em; }
.guide-step-grid h3,.method-grid h3 { margin:58px 0 16px; font-size:1.75rem; line-height:1; }
.guide-step-grid p,.method-grid p { margin:0; color:#53606b; font-size:.82rem; line-height:1.7; }
.safety-chapter>div:last-child a { display:inline-flex; margin-top:8px; color:#806016; font-size:.76rem; font-weight:600; text-underline-offset:4px; }
.warning-grid-section { padding-block:95px; background:#ece5da; }
.warning-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #c9baa4; }
.warning-grid article { min-height:240px; padding:32px 28px; border-right:1px solid #c9baa4; border-bottom:1px solid #c9baa4; }
.warning-grid article:nth-child(3n) { border-right:0; }
.warning-grid span { color:#916a15; font-size:.68rem; font-weight:600; letter-spacing:.1em; }
.warning-grid h3 { margin:42px 0 13px; font-size:1.65rem; }
.warning-grid p { margin:0; color:#4f5b65; font-size:.82rem; line-height:1.7; }
.meeting-timeline { padding-block:100px; text-align:center; }
.meeting-timeline h2 { margin-bottom:48px; }
.timeline-grid { display:grid; grid-template-columns:repeat(3,1fr); text-align:left; border:1px solid var(--line); }
.timeline-grid article { min-height:270px; padding:35px; border-right:1px solid var(--line); }
.timeline-grid article:last-child { border-right:0; }
.timeline-grid span { color:#916a15; font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
.timeline-grid h3 { margin:42px 0 20px; font-size:2rem; }
.timeline-grid ul { margin:0; padding-left:18px; color:#52606b; font-size:.84rem; line-height:1.8; }
.coverage-section { padding-block:95px; background:#eee7dc; }
.coverage-section>.page-width { display:grid; grid-template-columns:.65fr 1.35fr; gap:8vw; }
.coverage-links { border-top:1px solid #cfc2b0; }
.coverage-links a { padding:28px 3px; display:grid; grid-template-columns:.4fr .85fr 1fr; gap:30px; align-items:center; border-bottom:1px solid #cfc2b0; text-decoration:none; }
.coverage-links span { color:#906a17; font-size:.66rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.coverage-links h3 { margin:0; font-size:1.55rem; }
.coverage-links p { margin:0; color:#56616b; font-size:.78rem; line-height:1.6; }
.faq-group { margin-bottom:48px; }
.faq-group:last-child { margin-bottom:0; }
.faq-group>h2 { margin-bottom:18px; font-size:2.2rem; }

.blog-preview,.related-posts { padding-block:95px; background:#f2ede5; }
.blog-preview.is-compact { padding-block:80px; }
.blog-preview-heading { margin-bottom:42px; display:flex; align-items:flex-end; justify-content:space-between; gap:45px; }
.blog-preview-heading h2 { margin:0; }
.blog-preview-heading .text-link { flex:none; margin:0; }
.blog-card-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.blog-card-grid.two { grid-template-columns:repeat(2,1fr); }
.blog-card { min-width:0; display:flex; flex-direction:column; border:1px solid #d8cebf; background:#fbfaf7; }
.blog-card-image { aspect-ratio:1.45; overflow:hidden; background:#ddd5ca; }
.blog-card-image img { height:100%; object-fit:cover; transition:transform .5s ease; }
.blog-card:hover .blog-card-image img { transform:scale(1.035); }
.blog-card-body { flex:1; padding:26px 24px 24px; display:flex; flex-direction:column; }
.blog-card-meta { margin-bottom:22px; display:flex; justify-content:space-between; gap:20px; color:#8a681b; font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.blog-card h2 { margin-bottom:16px; font-size:2rem; line-height:.98; }
.blog-card h2 a { text-decoration:none; }
.blog-card-body>p { flex:1; margin-bottom:25px; color:#53606b; font-size:.8rem; line-height:1.68; }
.blog-card-link { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:16px; border-top:1px solid #ded6ca; color:#705311; text-decoration:none; font-size:.7rem; font-weight:600; }
.blog-index-grid { padding-bottom:110px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.blog-index-grid .blog-card.is-featured { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
.blog-index-grid .blog-card.is-featured .blog-card-image { aspect-ratio:auto; min-height:430px; }
.blog-index-grid .blog-card.is-featured .blog-card-body { padding:55px; }
.blog-index-grid .blog-card.is-featured h2 { font-size:3rem; }
.journal-standard { padding-block:90px; background:var(--navy); color:white; }
.journal-standard>.page-width { display:grid; grid-template-columns:.75fr 1.25fr; gap:9vw; }
.journal-points { border-top:1px solid rgba(216,165,38,.5); }
.journal-points p { margin:0; padding:23px 4px; border-bottom:1px solid rgba(216,165,38,.5); color:rgba(255,255,255,.72); line-height:1.65; }
.journal-points strong { color:white; }

.article-hero { padding:150px 0 75px; background:var(--navy); color:white; }
.article-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:7vw; align-items:center; }
.article-hero-grid>* { min-width:0; }
.article-hero h1 { max-width:720px; margin-bottom:25px; font-size:clamp(4rem,6.3vw,6.4rem); line-height:.86; letter-spacing:-.045em; }
.article-dek { max-width:650px; color:rgba(255,255,255,.78); font-size:1.02rem; line-height:1.75; }
.article-meta { margin-top:30px; display:flex; flex-wrap:wrap; gap:10px 25px; color:#e5c875; font-size:.67rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.article-author { margin-top:24px; display:flex; align-items:center; gap:13px; }
.article-author img { width:48px; height:48px; flex:0 0 48px; border-radius:50%; box-shadow:0 0 0 1px rgba(216,165,38,.58); }
.article-author span { display:block; margin-bottom:3px; color:#e5c875; font-size:.62rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.article-author strong { display:block; color:white; font-size:.82rem; font-weight:600; line-height:1.35; }
.article-hero-image { width:100%; min-width:0; aspect-ratio:4/5; max-height:570px; overflow:hidden; box-shadow:0 30px 70px rgba(0,0,0,.28); }
.article-hero-image img { height:100%; object-fit:cover; }
.article-layout { padding-block:90px 115px; display:grid; grid-template-columns:240px minmax(0,760px); justify-content:center; gap:8vw; align-items:start; }
.article-toc { position:sticky; top:105px; display:flex; flex-direction:column; border-top:1px solid var(--line); }
.article-toc>span { padding:18px 0; color:#8c6818; font-size:.65rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; border-bottom:1px solid var(--line); }
.article-toc a { padding:12px 0; border-bottom:1px solid var(--line); color:#5d6871; text-decoration:none; font-size:.7rem; line-height:1.45; }
.article-toc a:hover { color:#815f14; }
.article-content { min-width:0; }
.article-intro { margin-bottom:70px; padding-bottom:45px; border-bottom:1px solid var(--line); }
.article-intro p:first-child { font-family:"Cormorant Garamond",Georgia,serif; font-size:1.8rem; line-height:1.45; color:var(--ink); }
.article-content p { color:#3f4b55; font-size:.96rem; line-height:1.85; }
.article-content>section { margin-bottom:70px; scroll-margin-top:105px; }
.article-content .section-number { margin-bottom:10px; color:#936d18; font-size:.65rem; font-weight:600; letter-spacing:.13em; }
.article-content h2 { margin-bottom:25px; font-size:3rem; }
.article-content ul { margin:26px 0; padding:0; list-style:none; border-top:1px solid var(--line); }
.article-content li { position:relative; padding:14px 5px 14px 30px; border-bottom:1px solid var(--line); color:#43505a; line-height:1.65; }
.article-content li::before { content:""; position:absolute; left:5px; top:21px; width:7px; height:7px; border:1px solid #a0781d; transform:rotate(45deg); }
.example-box { margin:30px 0; padding:27px 30px; background:#eee7dc; border-left:3px solid var(--gold); }
.example-box>span { display:block; margin-bottom:16px; color:#815f14; font-size:.65rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.example-box p { margin:0 0 12px; color:#233443; font-family:"Cormorant Garamond",Georgia,serif; font-size:1.25rem; line-height:1.45; }
.example-box p:last-child { margin-bottom:0; }
.article-content blockquote { margin:34px 0; padding:35px; background:var(--navy); color:white; font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; line-height:1.25; }
.article-sources { padding:35px; background:#f0ebe3; }
.article-sources h2 { font-size:2.1rem; }
.article-sources a { color:#735615; text-underline-offset:3px; }
.article-faq { padding-top:20px; }
.article-disclaimer { padding-top:25px; border-top:1px solid var(--line); color:#6f777e!important; font-size:.72rem!important; }
.related-posts h2 { margin-bottom:40px; }
.not-found { min-height:650px; }
.not-found .hero-actions { margin-top:35px; }

@media (max-width:1020px) { .site-header{padding-inline:22px}.nav-links{gap:15px;font-size:.7rem}.nav-cta{display:none}.chatroom-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:repeat(3,1fr)}.calculator-section{grid-template-columns:1fr 1fr}.calculator-result{grid-column:1/-1;min-height:190px}.value-grid.four{grid-template-columns:repeat(2,1fr)}.value-grid.four .info-card:nth-child(2){border-right:0}.article-layout{grid-template-columns:210px minmax(0,680px);gap:5vw} }
@media (max-width:900px) {
  .page-width{width:min(100% - 36px,680px)}.site-header{position:fixed;height:68px}.brand{font-size:1.45rem}.menu-button{display:block}
  .nav-links{position:fixed;inset:68px 0 auto;padding:24px;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--navy-deep);box-shadow:0 18px 30px rgba(0,0,0,.3)}.nav-links.is-open{display:flex}.nav-links a{padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.12)}.nav-links .nav-cta{display:block;margin-top:18px}
  .hero{min-height:710px;padding-top:68px;background-position:76% center}.hero-overlay{background:linear-gradient(90deg,rgba(3,27,49,.82),rgba(3,27,49,.4))}.hero h1{font-size:clamp(3.45rem,14vw,5.5rem)}
  .trust-strip{grid-template-columns:1fr;padding-block:10px}.trust-item{min-height:55px;border-right:0;border-bottom:1px solid rgba(216,165,38,.3)}.trust-item:last-child{border-bottom:0}
  .about-section{padding-block:75px;grid-template-columns:1fr;gap:48px}.about-copy{text-align:center}.about-copy p:last-child{margin-inline:auto}
  .audience-section{grid-template-columns:1fr;gap:40px;padding-block:65px}.audience-divider{width:min(260px,80%);height:1px;margin-inline:auto}.location-grid{grid-template-columns:repeat(2,1fr)}
  .profiles-heading{align-items:flex-start;flex-direction:column;gap:28px}.calculator-section{padding:34px 26px;grid-template-columns:1fr;gap:38px}.calculator-intro{text-align:center}.calculator-result{grid-column:auto}
  .footer-inner{grid-template-columns:1fr 1fr;gap:46px}.footer-brand{grid-column:1/-1;padding:0 0 35px;border-right:0;border-bottom:1px solid rgba(216,165,38,.4)}
  .inner-hero{min-height:560px;padding-top:68px}.inner-hero h1,.legal-hero h1{font-size:4.6rem}.editorial-intro,.about-story,.seo-intro,.safety-overview,.blog-intro{grid-template-columns:1fr;gap:35px;padding-block:80px}.value-grid,.value-grid.four{grid-template-columns:1fr}.info-card,.value-grid.four .info-card{min-height:0;border-right:0;border-bottom:1px solid rgba(216,165,38,.35)}.info-card:last-child{border-bottom:0}.split-heading{grid-template-columns:1fr;gap:30px}.content-split{grid-template-columns:1fr}.content-split-image{height:410px}.content-split-copy{max-width:none;padding:70px 36px}.safety-chapter{grid-template-columns:1fr;gap:30px}.resource-section>.page-width{grid-template-columns:1fr;gap:55px}.principles-grid{grid-template-columns:repeat(2,1fr)}.principles-grid article:nth-child(2){border-right:0}.faq-page{grid-template-columns:1fr;gap:48px;padding-block:75px}.faq-page aside{position:static}.faq-note>.page-width{grid-template-columns:45px 1fr}.faq-note .button{grid-column:1/-1}.legal-hero{padding-top:155px}.guide-step-grid,.method-grid{grid-template-columns:repeat(2,1fr)}.guide-step-grid article:nth-child(2),.method-grid article:nth-child(2){border-right:0}.warning-grid{grid-template-columns:repeat(2,1fr)}.warning-grid article:nth-child(3n){border-right:1px solid #c9baa4}.warning-grid article:nth-child(2n){border-right:0}.coverage-section>.page-width{grid-template-columns:1fr;gap:35px}.blog-card-grid{grid-template-columns:1fr}.blog-index-grid{grid-template-columns:1fr}.blog-index-grid .blog-card.is-featured{grid-column:auto;grid-template-columns:1fr}.blog-index-grid .blog-card.is-featured .blog-card-image{min-height:350px}.journal-standard>.page-width{grid-template-columns:1fr;gap:35px}.article-hero-grid{grid-template-columns:1fr}.article-hero-image{max-height:420px;aspect-ratio:16/9}.article-layout{grid-template-columns:1fr;max-width:760px}.article-toc{position:static;display:none}.blog-card-grid.two{grid-template-columns:1fr 1fr}
}
@media (max-width:520px) {
  .page-width,.faq-inner{width:min(100% - 28px,480px)}h2{font-size:2.7rem}.hero{min-height:680px;background-position:76% center}.hero-content{padding-block:98px 52px}.hero h1{font-size:3.7rem}.hero-copy{font-size:.96rem}.hero-actions{flex-direction:column;align-items:stretch}.button{width:100%}
  .location-grid{grid-template-columns:1fr}.location-card{height:260px}.chatrooms-section{padding-block:75px}.chatroom-grid{grid-template-columns:1fr}.chatroom-card{min-height:270px}.room-preview{align-items:stretch;flex-direction:column}.profile-grid{grid-template-columns:repeat(2,1fr);gap:9px}.profile-info{padding-inline:12px}.profile-tags{min-height:0}.profile-info h3{font-size:1.3rem}.safety-grid{grid-template-columns:1fr}.safety-grid>div{border-right:0;border-bottom:1px solid rgba(216,165,38,.4)}.safety-grid>div:last-child{border-bottom:0}
  .process-grid{grid-template-columns:1fr;gap:32px}.process-grid::before{display:none}.calculator-section{width:calc(100% - 20px);padding-inline:20px}.footer-inner{grid-template-columns:1fr;gap:28px}.footer-brand{grid-column:auto}
  .inner-hero{min-height:520px}.inner-hero h1,.legal-hero h1{font-size:3.65rem}.inner-hero-content{padding-block:75px 60px}.editorial-intro .lead,.about-story-copy .lead,.seo-intro .lead,.safety-overview .lead,.blog-intro .lead{font-size:1.45rem}.feature-band,.principles-section,.resource-section{padding-block:72px}.info-card{padding-inline:8px}.split-heading{margin-bottom:42px}.place-item{padding-block:24px;grid-template-columns:45px 1fr;gap:8px 15px}.place-item p{grid-column:2}.content-split-image{height:300px}.content-split-copy{padding:60px 22px}.safety-callout{margin-block:40px;padding:25px 22px;align-items:flex-start}.safety-chapter{padding-block:40px}.safety-chapter-heading{grid-template-columns:34px 42px 1fr}.safety-chapter h2{font-size:2.1rem}.principles-grid{grid-template-columns:1fr}.principles-grid article{min-height:220px;border-right:0;border-bottom:0}.principles-grid article:last-child{border-bottom:1px solid rgba(216,165,38,.5)}.principles-grid h3{margin-top:38px}.quote-panel{padding-block:75px}.legal-content{width:min(100% - 30px,820px);padding-block:55px 80px}.guide-step-grid,.method-grid,.warning-grid,.timeline-grid{grid-template-columns:1fr}.guide-step-grid article,.method-grid article,.warning-grid article,.warning-grid article:nth-child(3n){min-height:0;border-right:0}.timeline-grid article{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.timeline-grid article:last-child{border-bottom:0}.coverage-links a{grid-template-columns:1fr;gap:8px}.blog-preview-heading{align-items:flex-start;flex-direction:column}.blog-card-grid.two{grid-template-columns:1fr}.blog-index-grid .blog-card.is-featured .blog-card-image{min-height:260px}.blog-index-grid .blog-card.is-featured .blog-card-body{padding:28px 24px}.blog-index-grid .blog-card.is-featured h2{font-size:2.25rem}.article-hero{padding-top:115px}.article-hero h1{font-size:3.7rem}.article-hero-image{height:300px}.article-layout{padding-block:65px 85px}.article-content h2{font-size:2.45rem}.article-intro p:first-child{font-size:1.55rem}.article-content blockquote{padding:28px 24px;font-size:1.65rem}.example-box{padding:24px 20px}.breadcrumbs{overflow:hidden;white-space:nowrap}.breadcrumbs>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important} }
