/* DatingChoice editorial identity, September 2026. Shared across all routes. */
:root{--paper:#f7f7fa;--surface:#fff;--ink:#241d29;--muted:#625d69;--brand:#a51e4a;--brand-dark:#801238;--line:#dedce3;--green:#216445;--shadow:0 12px 36px rgb(36 29 41 / 6%)}
body{background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.7}
::selection{background:#f6c7d5;color:#291b2e}
.container{width:min(1200px,calc(100% - 48px))}
.brand{gap:11px;letter-spacing:-.055em;flex-shrink:0;font-size:1.5rem;line-height:1.1;font-weight:500}
.brand-icon{width:43px;height:43px;display:block;flex:none}
.brand-wordmark strong{font-weight:800}.brand-wordmark{white-space:nowrap}
.site-header{background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}
.nav-shell{min-height:88px}.nav-links{gap:1.45rem}.nav-links a{font-size:.9rem;font-weight:650}.nav-links a.nav-adult{color:var(--brand)}
.nav-account-link{border-radius:8px!important;padding:.55rem 1rem!important;font-weight:700!important}
.eyebrow,.kicker{font-size:.875rem;letter-spacing:.13em;font-weight:800;color:var(--brand)}
.section{padding:76px 0}.section-head{max-width:760px;margin-bottom:32px}.section-head h2{font-size:clamp(2rem,4vw,3rem);letter-spacing:-.04em;line-height:1.15}
.lead{color:var(--muted);font-size:1.15rem;line-height:1.7}.page-hero{background:#f1eff5;border-bottom:1px solid var(--line);padding:48px 0 52px}.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.045em;max-width:1000px}
.card{border-radius:14px;box-shadow:none;background:#fff}.card h3{font-size:1.24rem;line-height:1.3;letter-spacing:-.025em}.card p{font-size:1rem}.card .text-link{font-size:.94rem}.sigil{background:#f4eaf0;border-radius:8px;color:var(--brand);font-size:.88rem;box-shadow:none}
.btn{border-radius:8px;min-height:48px;font-size:.94rem;font-weight:750;padding:.8rem 1.2rem;box-shadow:none}.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.btn-secondary{background:#fff}.text-link{font-weight:750}
.section-dark{background:#291b2e;color:#fff}.section-dark .kicker{color:#ffb3c4}.section-dark .lead,.section-dark p{color:#d8d0dd}.section-dark h2,.section-dark h3{color:#fff}.section-dark .btn-secondary{background:#fff;color:#291b2e}.section-dark .callout{background:#38283d;border-color:#5a485f;border-radius:14px}
.masthead{background:#291b2e;color:#eee9f1;font-size:.875rem;line-height:1.5}.masthead .container{display:flex;justify-content:space-between;gap:20px;padding-block:9px}.masthead a{color:inherit;text-decoration:none}.masthead a:hover{text-decoration:underline}.masthead-links{display:flex;gap:22px}
.brand-hero{padding:60px 0;background:#fff}.brand-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center}.brand-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(3.2rem,5.5vw,5rem);line-height:1.04;letter-spacing:-.055em;margin:18px 0 24px}.brand-hero h1 em{font-weight:500;color:var(--brand)}.brand-hero .lead{max-width:520px}.brand-hero .actions{margin-top:28px}.hero-small{font-size:.875rem;color:var(--muted);margin-top:22px}
.hero-photo{margin:0;position:relative}.hero-photo img{display:block;width:100%;height:430px;object-fit:cover;border-radius:16px 16px 0 0}.hero-photo figcaption{background:#291b2e;color:#fff;border-radius:0 0 16px 16px;padding:18px 22px;font-size:1.02rem}.hero-photo figcaption small{display:block;color:#d4cbd9;font-size:.875rem;margin-top:4px}
.trust-strip{border-block:1px solid var(--line);background:#fff}.trust-strip .container{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-block:22px}.trust-item{display:flex;gap:13px;align-items:center;font-size:.9rem;font-weight:650}.trust-check{display:grid;place-items:center;border:1px solid #c9bdd0;color:var(--brand);width:27px;height:27px;flex:none;border-radius:50%;font-weight:800}
.head-row{display:flex;justify-content:space-between;align-items:end;gap:26px;margin-bottom:32px}.head-row .section-head{margin:0}.head-row>a{flex-shrink:0}
.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.choice-card{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;position:relative}.choice-card .category-no{font-family:Georgia,serif;font-size:2rem;color:var(--brand);margin-bottom:18px;line-height:1}.choice-card h3{font-size:1.22rem;letter-spacing:-.02em;margin:0 0 12px}.choice-card p{color:var(--muted);font-size:.94rem;margin:0 0 24px}.choice-card a{margin-top:auto;font-weight:750;font-size:.9rem}.choice-card:hover{border-color:#bca4b1}
.overview-card{padding:28px;display:flex;flex-direction:column}.overview-card .service-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.service-letter{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#f1edf5;color:#291b2e;font:700 1.5rem Georgia,serif;flex:none}.overview-card h3{margin:0;font-size:1.5rem}.overview-card .service-heading small{display:block;font-size:.8rem;color:var(--muted)}.overview-card p{margin:0 0 20px;color:var(--muted)}.overview-card .text-link{margin-top:auto}.source-label{font-size:.8rem;color:var(--muted);margin:20px 0 0}.scope-note{font-size:.88rem;border-left:3px solid var(--brand);padding:14px 20px;background:#f6f2f7;color:var(--muted);margin:28px 0}.scope-note strong{color:var(--ink)}
.adult-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.adult-spotlight h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,3.6rem);font-weight:500;line-height:1.12;letter-spacing:-.04em;margin:20px 0}.age-label{display:inline-flex;align-items:center;gap:12px;font-size:.8rem;font-weight:750;letter-spacing:.06em}.age-label b{border:1px solid #957b9c;padding:4px 9px;border-radius:6px;font-size:.9rem}.adult-links{border-top:1px solid #645168}.adult-links a{color:#fff;display:block;padding:21px 0;border-bottom:1px solid #645168;text-decoration:none}.adult-links strong{display:flex;justify-content:space-between;gap:16px;font-size:1.13rem}.adult-links span{display:block;color:#d8d0dd;font-size:.9rem;margin-top:5px}.adult-links a:hover strong{text-decoration:underline}
.reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.reading-feature{background:#eeeaf2;border:1px solid #dcd2e2;border-radius:14px;padding:38px}.reading-feature h3{font:500 2.25rem/1.17 Georgia,serif;letter-spacing:-.035em;margin:20px 0}.reading-feature p{color:var(--muted)}.reading-list article{padding:22px 0;border-bottom:1px solid var(--line)}.reading-list article:first-child{padding-top:0}.reading-list h3{font-size:1.2rem;line-height:1.3;margin:7px 0}.reading-list p{margin:0;color:var(--muted);font-size:.92rem}.reading-list .kicker{font-size:.875rem}.reading-list a{text-decoration:none}.reading-list a:hover{text-decoration:underline}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px;counter-reset:method}.method-item{border-top:2px solid #b89caf;padding-top:20px}.method-item:before{counter-increment:method;content:'0' counter(method);font:500 2rem Georgia,serif;color:var(--brand)}.method-item h3{font-size:1.2rem;margin:15px 0 10px}.method-item p{color:var(--muted);margin:0}
.faq-layout{display:grid;grid-template-columns:.7fr 1fr;gap:70px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:1.05rem;font-weight:700;cursor:pointer;line-height:1.5}.faq-list p{color:var(--muted);margin-bottom:0}.topic-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.topic-nav a{border:1px solid #ccc3d2;padding:8px 16px;border-radius:6px;background:#fff;font-size:.875rem;text-decoration:none;font-weight:650}.topic-nav a:hover{border-color:var(--brand);color:var(--brand)}
.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:28px 0}.verdict-grid>div{border:1px solid var(--line);border-radius:12px;padding:24px;background:#fff}.verdict-grid h2,.prose .verdict-grid h2{font-family:inherit;font-size:1.14rem;margin-top:0}.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:28px 0}.fact-grid>div{padding:19px;background:#fff}.fact-grid dt{font-size:.875rem;font-weight:750;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.fact-grid dd{margin:5px 0 0;font-size:1rem}.source-list li{margin-bottom:12px}.prose h2{scroll-margin-top:110px}.prose a{overflow-wrap:anywhere}.prose .notice{font-size:.94rem}.review-framework .framework-row{border-radius:10px}.guide-top{background:#f1edf5}.guide-meta{font-size:.875rem}.guide-body h3{font-size:1.2rem}.notice{border-radius:10px}.side-card{border-radius:12px}.article-meta{font-size:.875rem}
.site-footer{background:#fff;border-top:1px solid var(--line);padding-top:58px}.footer-intro{padding-bottom:34px}.footer-grid{grid-template-columns:repeat(5,1fr);gap:30px;padding-block:32px}.footer-grid h2{font-size:.875rem;letter-spacing:.09em}.footer-grid a{font-size:.9rem}.footer-note{font-size:.875rem}.footer-note p{max-width:1000px}
.auth-section{background:#f3f0f6}.auth-card{box-shadow:var(--shadow);border-radius:16px}.auth-intro h1{font-weight:500}.auth-loading[hidden],[hidden]{display:none!important}
@media(min-width:761px){.nav-links{display:flex!important}.menu-btn{display:none}}
@media(max-width:1060px){.nav-links{gap:.9rem}.nav-links a{font-size:.875rem}.brand{font-size:1.25rem}.brand-icon{width:36px;height:36px}.brand-hero-grid{gap:35px}.brand-hero h1{font-size:3.8rem}.choice-grid{grid-template-columns:repeat(2,1fr)}.adult-spotlight{gap:42px}.footer-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.container{width:calc(100% - 36px)}.section{padding:48px 0}.nav-shell{min-height:76px}.brand{font-size:1.35rem}.brand-icon{width:38px;height:38px}.nav-links{gap:0;background:#fff}.nav-links a{font-size:1rem;padding:12px}.masthead .container{justify-content:center}.masthead-links{display:none}.brand-hero{padding:34px 0 40px}.brand-hero-grid{grid-template-columns:1fr;gap:30px}.brand-hero h1{font-size:clamp(3rem,10vw,4.3rem);max-width:540px}.hero-photo img{height:320px}.trust-strip .container{grid-template-columns:1fr;gap:12px;padding-block:18px}.head-row{display:block}.head-row>a{display:inline-block;margin-top:16px}.adult-spotlight,.reading-grid,.faq-layout{grid-template-columns:1fr;gap:30px}.method-grid{grid-template-columns:1fr;gap:25px}.method-item{display:block}.reading-feature{padding:26px}.footer-grid{grid-template-columns:repeat(2,1fr)}.verdict-grid{grid-template-columns:1fr}.page-hero{padding:30px 0 36px}.page-hero h1{font-size:2.9rem}}
@media(max-width:440px){.choice-grid{grid-template-columns:1fr}.hero-photo img{height:270px}.brand-hero h1{font-size:3.15rem}.brand-hero .actions{align-items:stretch;flex-direction:column}.hero-photo figcaption{font-size:.9rem}.fact-grid{grid-template-columns:1fr}.footer-grid{gap:24px}.section-head h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Keep secondary labels readable and the article/adult surfaces consistent. */
.guide-category,.guide-meta,.article-byline,.breadcrumbs ol,.toc h2,.toc ol,.footer-grid h2,.footer-note{font-size:.875rem}
.article-hero{background:#f1eff5;border-bottom:1px solid var(--line);padding:48px 0;margin-bottom:38px}.article-hero h1{font-size:clamp(2.6rem,5vw,4.4rem);font-weight:500;line-height:1.12}.prose p,.prose li{color:var(--muted)}.guide-body p,.choice-card p,.reading-list p{font-size:1rem}.guide-body .guide-meta{font-size:.875rem}
.adult-hero{background:#291b2e;color:#fff}.adult-hero .lead,.adult-hero .breadcrumbs ol{color:#ddd3e3}.adult-hero .eyebrow{background:#4b304e;color:#ffd5df}.adult-hero .btn-secondary{color:#291b2e}.adult-hero h1{font-weight:500}
table caption{text-align:left;padding:16px;font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line)}th{background:#f1edf5;font-size:.875rem}th[scope=row]{font-size:1rem;text-transform:none;letter-spacing:normal}.table-wrap{border-radius:12px}.brand-hero-grid>*,.reading-grid>*,.adult-spotlight>*{min-width:0}.brand-hero h1{overflow-wrap:normal}
@media(max-width:760px){.article-hero{padding:30px 0;margin-bottom:24px}.article-hero h1{font-size:2.6rem}.nav-links a{font-size:1rem}.masthead{font-size:.875rem}}
@media(max-width:440px){.brand-hero h1{font-size:2.8rem}.footer-grid{grid-template-columns:1fr}.article-hero h1,.page-hero h1{font-size:2.4rem}}
