@charset "UTF-8";
:root { --ink:#302b30; --muted:#665d63; --paper:#faf6f0; --white:#fffefa; --line:#ded5ce; --accent:#7c3348; --soft:#eee1df; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.7 var(--sans); }
a { color:inherit; text-underline-offset:4px; }
a:focus-visible { outline:3px solid #a35315; outline-offset:5px; }
img { display:block; max-width:100%; height:auto; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:400; }
h1,h2 { font-family:var(--serif); letter-spacing:-.045em; line-height:1.08; }
h1 { font-size:clamp(44px,5.1vw,76px); }
h2 { font-size:clamp(30px,3.2vw,44px); }
h3 { font:400 27px/1.18 var(--serif); letter-spacing:-.025em; }
p { margin-bottom:1.1em; }
.skip-link { position:absolute; top:-100px; left:20px; background:white; padding:12px; z-index:10; }
.skip-link:focus { top:5px; }
.top-note { padding:9px 20px; text-align:center; color:var(--white); background:var(--accent); font-size:11px; letter-spacing:.035em; }
.site-header { max-width:1380px; margin:auto; padding:22px 42px; display:flex; align-items:center; gap:30px; border-bottom:1px solid var(--line); }
.brand { display:flex; gap:13px; align-items:center; text-decoration:none; font:400 24px/1.15 var(--serif); white-space:nowrap; }
.brand-symbol { width:43px; height:43px; border:1px solid var(--accent); border-radius:50% 50% 50% 8%; text-align:center; color:var(--accent); font:italic 38px/1 var(--serif); }
.brand-symbol span { display:none; }
.brand small { display:block; font:9px/1.2 var(--sans); letter-spacing:.1em; margin-top:7px; }
.main-nav { margin-left:auto; display:flex; gap:22px; }
.main-nav a { font-size:12px; text-decoration:none; padding:10px 0; }
.main-nav a:hover { text-decoration:underline; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:48px; padding:13px 20px; background:var(--accent); border:1px solid var(--accent); color:white; text-decoration:none; font-size:12px; font-weight:700; }
.button:hover { background:#632639; }
.site-header>.button { white-space:nowrap; font-size:11px; padding:12px 15px; }
main { max-width:1296px; padding:0 42px; margin:auto; }
.eyebrow { font-size:10px; line-height:1.6; font-weight:700; letter-spacing:.16em; color:var(--accent); margin-bottom:19px; }
.hero { display:grid; grid-template-columns:1.06fr 1fr; gap:7%; align-items:center; padding:60px 0 50px; }
.hero h1 { margin-bottom:24px; max-width:600px; }
.hero-deck { color:var(--muted); max-width:660px; font-size:17px; line-height:1.75; }
.hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:28px; }
.text-link { font-size:12px; text-decoration:none; border-bottom:1px solid var(--ink); padding:7px 0; }
.micro { font-size:11px; color:var(--muted); margin:16px 0 0; max-width:430px; }
.hero-visual { border-radius:120px 120px 8px 8px; background:var(--white); padding:22px; border:1px solid var(--line); overflow:hidden; }
.visual-label { display:flex; gap:10px; justify-content:space-between; font-size:9px; letter-spacing:.12em; padding:0 20px 16px; }
.hero-visual img { width:100%; aspect-ratio:1; object-fit:contain; border-radius:95px 95px 4px 4px; }
.visual-caption { display:grid; gap:6px; padding-top:16px; line-height:1.5; }
.visual-caption strong { font:400 19px/1.3 var(--serif); }
.visual-caption span { font-size:11px; color:var(--muted); }
.facts-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); padding:22px 0; }
.facts-strip>div { padding:0 24px; border-left:1px solid var(--line); }
.facts-strip>div:first-child { border-left:0; padding-left:0; }
.facts-strip strong { display:block; font:400 27px/1.3 var(--serif); }
.facts-strip span { font-size:11px; color:var(--muted); }
.reading { padding:54px 0 44px; }
.section-heading { display:flex; justify-content:space-between; align-items:start; gap:40px; margin-bottom:28px; }
.section-heading .eyebrow { margin:9px 0 0; }
.section-heading h2 { max-width:590px; margin:0; }
.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:19px; }
.guide-card { display:flex; flex-direction:column; min-width:0; padding:27px; border-top:3px solid var(--accent); background:var(--soft); text-decoration:none; }
.guide-card:nth-child(2) { background:#e7ebe2; border-color:#5b6c50; }
.guide-card:nth-child(3) { background:#eee6d9; border-color:#8b704d; }
.guide-card:hover { box-shadow:0 4px 0 #302b301a; }
.card-number { font:400 32px/1 var(--serif); color:var(--accent); margin-bottom:22px; }
.tag { font-size:9px; letter-spacing:.09em; margin-bottom:12px; }
.guide-card h3 { margin-bottom:15px; }
.guide-card p { font-size:12px; color:var(--muted); }
.read-link { display:flex; justify-content:space-between; font-size:11px; font-weight:700; margin-top:auto; padding-top:14px; }
.home-prose { max-width:100%; padding:10px 0 30px; display:grid; grid-template-columns:1fr 1.12fr; gap:35px 65px; }
.home-prose .prose-section:last-child { grid-column:1/-1; padding:28px 30px; border-left:4px solid var(--accent); background:#f0e9e3; }
.home-prose p,.home-prose li { font-size:14px; }
.prose-section { margin-bottom:32px; min-width:0; }
.prose-section h2 { font-size:32px; line-height:1.18; margin-bottom:20px; }
.prose-section p,.prose-section li { color:#50474f; }
.prose-section ul { padding-left:22px; }
.prose-section li { margin-bottom:10px; }
.table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--line); margin:24px 0; }
table { width:100%; border-collapse:collapse; background:var(--white); font-size:12px; }
th,td { text-align:left; vertical-align:top; padding:13px 15px; border-bottom:1px solid var(--line); min-width:95px; }
th { background:#eee5df; font-size:11px; }
tr:last-child td { border-bottom:0; }
.source-links a { font-size:13px; }
.article-heading { padding:40px 0 32px; border-bottom:1px solid var(--line); }
.back-link { display:inline-block; font-size:12px; text-decoration:none; margin-bottom:30px; }
.article-heading h1 { font-size:clamp(42px,5vw,67px); max-width:950px; margin-bottom:23px; }
.article-meta { font-size:11px; color:var(--muted); margin:0; }
.article-grid { display:grid; grid-template-columns:minmax(0,760px) 230px; justify-content:space-between; gap:65px; padding:40px 0 0; }
.article-grid article { min-width:0; }
.contents { border-left:2px solid var(--line); padding-left:20px; }
.contents a { display:block; font-size:12px; color:var(--muted); text-decoration:none; margin-bottom:13px; line-height:1.6; }
.contents a:hover { text-decoration:underline; }
.side-cta { margin-top:30px; padding:22px; background:var(--soft); font-size:12px; }
.side-cta .button { width:100%; font-size:11px; padding:12px 10px; gap:10px; }
.closing-cta { padding:42px max(42px,calc((100% - 1212px)/2)); background:var(--accent); color:var(--white); display:flex; gap:48px; justify-content:space-between; align-items:center; }
.closing-cta h2 { font-size:40px; max-width:750px; margin-bottom:15px; }
.closing-cta .eyebrow { color:#efd5d9; }
.closing-cta p:not(.eyebrow) { font-size:12px; color:#f1e1e4; max-width:760px; margin:0; }
.closing-cta .button { color:var(--accent); background:var(--white); white-space:nowrap; }
footer { max-width:1296px; margin:auto; padding:35px 42px 25px; display:grid; grid-template-columns:1fr 1fr; gap:18px 30px; font-size:11px; color:var(--muted); }
.footer-brand { font:400 24px/1.2 var(--serif); color:var(--ink); text-decoration:none; }
footer nav { display:flex; gap:25px; justify-content:flex-end; align-items:start; }
.disclosure { grid-column:1/-1; max-width:1000px; margin:0; }
.copyright { margin:0; }
.not-found { max-width:900px; padding:90px 30px; }
@media(max-width:1100px) { .site-header { flex-wrap:wrap; gap:17px; } .main-nav { order:3; width:100%; justify-content:space-between; margin:0; border-top:1px solid var(--line); padding-top:10px; } .site-header>.button { margin-left:auto; } .hero { gap:5%; } .hero h1 { font-size:56px; } .article-grid { gap:35px; grid-template-columns:minmax(0,1fr) 210px; } .guide-card { padding:22px; } }
@media(max-width:760px) { .site-header { padding:18px 22px; } .brand { font-size:20px; gap:10px; } .brand small { font-size:8px; } .brand-symbol { width:36px; height:36px; font-size:32px; } .site-header>.button { font-size:10px; padding:10px 12px; gap:8px; } .main-nav { gap:10px; } .main-nav a { font-size:11px; } main { padding:0 22px; } .hero { grid-template-columns:1fr; gap:30px; padding:35px 0; } .hero h1 { font-size:50px; max-width:620px; } .hero-deck { font-size:16px; } .hero-visual { max-width:500px; width:100%; margin:auto; padding:18px; border-radius:100px 100px 8px 8px; } .hero-visual img { border-radius:80px 80px 4px 4px; } .facts-strip>div { padding:0 13px; } .facts-strip strong { font-size:22px; } .facts-strip span { display:block; margin-top:7px; line-height:1.5; font-size:10px; } .section-heading { display:block; } .section-heading .eyebrow { margin-bottom:15px; } .section-heading h2 { font-size:36px; } .reading { padding:38px 0; } .guide-grid { grid-template-columns:1fr; gap:17px; } .guide-card { padding:24px; } .guide-card h3 { font-size:28px; } .card-number { margin-bottom:16px; } .home-prose { grid-template-columns:1fr; gap:10px; padding:0 0 25px; } .home-prose .prose-section:last-child { grid-column:auto; padding:22px 20px; } .article-heading { padding-top:28px; } .article-heading h1 { font-size:43px; } .article-grid { grid-template-columns:1fr; gap:10px; padding-top:27px; } .article-grid aside { order:-1; } .contents { margin-bottom:20px; } .side-cta { display:none; } .prose-section h2 { font-size:30px; } .article-grid article { font-size:15px; } .closing-cta { display:block; padding:32px 22px; } .closing-cta h2 { font-size:35px; } .closing-cta>.button { margin-top:24px; } footer { padding:30px 22px; grid-template-columns:1fr; } footer nav { justify-content:flex-start; flex-wrap:wrap; gap:18px; } .disclosure { grid-column:auto; } }
@media(max-width:760px) { .site-header>.button { display:none; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
