
:root{
  --bg:#F6F5F1; --surface:#FFFFFF; --surface-2:#EFEDE6; --border:#DEDAD0; --border-strong:#C9C3B5;
  --ink:#1E2421; --muted:#5B6560; --accent:#1F7A5C; --accent-dim:#E4F0EA; --accent-ink:#0F3D2C;
  --warn:#8A5A12; --warn-dim:#F5ECDC; --bad:#8C3B2E; --bad-dim:#F6E9E6; --link:#2C5F7C;
  --shadow: 0 1px 2px rgba(30,36,33,0.06), 0 8px 24px -12px rgba(30,36,33,0.16);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{ margin:0; background:var(--bg); color:var(--ink); font-family:'Source Sans 3', system-ui, sans-serif; font-size:16px; line-height:1.6; }
h1,h2,h3{ font-family:'Source Serif 4', Georgia, serif; font-weight:600; letter-spacing:-0.01em; text-wrap:balance; margin:0 0 12px; }
h1{ font-size:clamp(28px,4vw,38px); }
h2{ font-size:24px; margin-top:48px; }
h3{ font-size:18px; }
p{ margin:0 0 14px; max-width:68ch; }
a{ color:var(--link); }
:focus-visible{ outline:2px solid var(--link); outline-offset:2px; border-radius:3px; }
[tabindex="-1"]:focus{ outline:none; }
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--bg); }
::-webkit-scrollbar-thumb{ background:var(--border-strong); border-radius:99px; }
.hidden{ display:none !important; }
.wrap{ max-width:880px; margin:0 auto; padding:0 20px; }

header.site{ border-bottom:1px solid var(--border); background:var(--surface); }
.site-inner{ max-width:880px; margin:0 auto; padding:16px 20px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; }
.brand{ font-family:'Source Serif 4', serif; font-weight:700; font-size:18px; text-decoration:none; color:var(--ink); }
.site-nav{ display:flex; gap:20px; font-size:14px; flex-wrap:wrap; }
.site-nav a{ text-decoration:none; color:var(--muted); }
.site-nav a:hover{ color:var(--ink); }

.hero{ padding:48px 0 8px; }
.hero .lede{ font-size:18px; color:var(--muted); max-width:60ch; }
.trust-line{ display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 8px; font-size:13.5px; color:var(--muted); }
.trust-line .pip{ background:var(--surface-2); border:1px solid var(--border); border-radius:999px; padding:5px 12px; }

.entry-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:28px 0 44px; }
@media (max-width:640px){ .entry-grid{ grid-template-columns:1fr; } }
.entry-card{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:22px; text-align:left; cursor:pointer; font:inherit; color:inherit; }
.entry-card:hover{ border-color:var(--accent); box-shadow:var(--shadow); }
.entry-card h3{ margin-bottom:6px; }
.entry-card p{ color:var(--muted); font-size:14.5px; margin:0; }

.panel{ background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:28px; box-shadow:var(--shadow); }

.flow-top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; gap:12px; flex-wrap:wrap; }
.change-route{ font-size:13px; color:var(--muted); background:none; border:none; cursor:pointer; text-decoration:underline; padding:0; font:inherit; }
.progress-row{ display:flex; align-items:center; gap:12px; flex:1; min-width:180px; }
.progress-track{ flex:1; height:6px; border-radius:999px; background:var(--surface-2); overflow:hidden; }
.progress-fill{ height:100%; background:var(--accent); border-radius:999px; transition:width .3s ease; }
.progress-label{ font-size:13px; color:var(--muted); white-space:nowrap; }

.q-field{ margin-bottom:22px; }
.q-label{ display:block; font-weight:600; margin-bottom:10px; }
.q-choices{ display:flex; gap:8px; flex-wrap:wrap; }
.q-choice{ border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); padding:10px 16px; border-radius:9px; cursor:pointer; font:inherit; font-size:14.5px; }
.q-choice:hover{ border-color:var(--accent); }
.q-choice[aria-pressed="true"]{ background:var(--accent-dim); border-color:var(--accent); color:var(--accent-ink); font-weight:600; }
.q-number-row{ display:flex; align-items:center; gap:10px; }
.q-number{ width:160px; font-size:16px; padding:10px 12px; border-radius:8px; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); }
.q-unit{ color:var(--muted); font-size:14px; }
.q-unknown{ display:flex; align-items:center; gap:7px; margin-top:8px; font-size:13.5px; color:var(--muted); }
.q-error{ color:var(--bad); font-size:13px; margin:8px 0 0; }

.assumptions-toggle{ margin:18px 0; }
.assumptions-toggle summary{ cursor:pointer; font-weight:600; font-size:14.5px; color:var(--link); }
.assumptions-body{ margin-top:12px; padding:14px 16px; background:var(--surface-2); border-radius:10px; font-size:14px; display:grid; grid-template-columns:1fr 1fr; gap:12px 16px; }
@media (max-width:560px){ .assumptions-body{ grid-template-columns:1fr; } }
.assumptions-body label{ display:block; font-size:13px; font-weight:600; margin-bottom:4px; }
.assumptions-body input{ width:100%; padding:8px 10px; border-radius:7px; border:1px solid var(--border-strong); font:inherit; font-size:14px; }
.assumptions-note{ grid-column:1 / -1; font-size:12.5px; color:var(--muted); margin:4px 0 0; }
.assumptions-error{ grid-column:1 / -1; color:var(--bad); font-size:13px; }

.step-actions{ display:flex; justify-content:space-between; margin-top:26px; }
.btn{ font:inherit; font-weight:600; font-size:14.5px; padding:11px 20px; border-radius:9px; cursor:pointer; border:1px solid var(--border-strong); background:var(--surface); color:var(--ink); }
.btn.primary{ background:var(--accent); border-color:var(--accent); color:#fff; }
.btn.primary:hover{ background:var(--accent-ink); }
.btn.ghost{ border-color:transparent; background:transparent; color:var(--muted); }

.results{ margin-top:20px; }
.result-conclusion{ font-size:20px; font-weight:600; margin-bottom:6px; }
.result-conclusion.tone-good{ color:var(--accent-ink); }
.result-conclusion.tone-caution{ color:var(--warn); }
.result-conclusion.tone-bad{ color:var(--bad); }
.reason-list{ margin:14px 0; padding-left:20px; }
.reason-list li{ margin-bottom:6px; color:var(--muted); font-size:14.5px; }

.split-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:18px 0; }
@media (max-width:640px){ .split-grid{ grid-template-columns:1fr; } }
.stat-box{ background:var(--surface-2); border-radius:10px; padding:14px 16px; }
.stat-box .l{ font-size:12.5px; color:var(--muted); margin-bottom:4px; }
.stat-box .n{ font-size:19px; font-weight:700; font-variant-numeric:tabular-nums; }

.block{ border-radius:10px; padding:16px; margin:14px 0; }
.block.info{ background:var(--surface-2); }
.block.warn{ background:var(--warn-dim); }
.block h4{ margin:0 0 8px; font-size:14.5px; }
.block ul{ margin:0; padding-left:20px; font-size:14px; color:var(--muted); }
.block ul li{ margin-bottom:5px; }

.partner-box{ border:1px solid var(--accent); background:var(--accent-dim); border-radius:12px; padding:18px; margin-top:16px; }
.partner-box p{ margin:0 0 12px; font-size:14px; color:var(--accent-ink); }
.partner-box a.btn{ text-decoration:none; }
.partner-tag{ font-size:11px; text-transform:uppercase; letter-spacing:0.04em; color:var(--accent-ink); background:rgba(255,255,255,0.5); padding:2px 8px; border-radius:999px; margin-left:8px; }

.result-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-top:20px; }

section.explain{ padding:24px 0 8px; }
.content-links{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin:18px 0 8px; }
@media (max-width:700px){ .content-links{ grid-template-columns:1fr; } }
.content-links a{ display:block; text-decoration:none; color:var(--ink); background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:16px; }
.content-links a:hover{ border-color:var(--accent); }
.content-links .k{ font-size:12px; color:var(--muted); display:block; margin-bottom:4px; }
.content-links .t{ font-weight:600; font-size:15px; }

footer.site{ margin-top:60px; border-top:1px solid var(--border); padding:32px 0 40px; background:var(--surface); }
.footer-grid{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:13.5px; color:var(--muted); }
.footer-grid a{ color:var(--muted); margin-right:16px; }

:root{--bg:#f5f1e9;--surface:#fffdf8;--surface-2:#eae9df;--border:#d5d5c8;--border-strong:#a8afa1;--ink:#202c24;--muted:#566052;--accent:#a3472c;--accent-ink:#78331f;--accent-dim:#f4e6dc;--link:#334d3c;--shadow:none;--forest:#263e30}
body{font-size:17px;line-height:1.65}h1,h2,h3{font-weight:500;letter-spacing:-.035em}a{text-underline-offset:4px}a:hover{color:var(--accent)}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}button:disabled{opacity:.5;cursor:not-allowed}.wrap{max-width:1260px;padding:0 38px}.site-inner{max-width:1260px;padding:25px 38px;flex-wrap:nowrap}.brand{font-size:27px;letter-spacing:-1px;white-space:nowrap}.brand span{color:#62765b}header.site{background:var(--bg)}.site-nav{gap:27px;align-items:center;font-size:15px}.site-nav a{color:var(--ink)}.nav-cta{background:var(--forest);color:#fff!important;padding:9px 17px;border-radius:3px}.skip-link{position:absolute;left:12px;top:-100px;background:white;padding:12px;z-index:30}.skip-link:focus{top:10px}.menu-toggle{display:none;font:inherit;padding:8px 12px;background:none;border:1px solid var(--border-strong);border-radius:3px}.eyebrow{font:600 11px/1.5 'Source Sans 3',sans-serif;text-transform:uppercase;letter-spacing:2.3px;margin-bottom:20px;color:var(--muted)}
.home-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:54px;padding:48px 0 44px;align-items:center}.hero-copy h1{font-size:clamp(42px,4.3vw,65px);line-height:1.04;max-width:13ch;margin-bottom:22px}.hero-copy h1 em{font-weight:500;color:#5e7357;font-style:italic}.hero-copy .lede{font-size:18px;line-height:1.6;max-width:44ch;color:var(--muted);margin-bottom:26px}.hero-photo{margin:0;position:relative}.hero-photo img{width:100%;height:610px;object-fit:cover;border-radius:3px;display:block}.hero-photo figcaption{font-size:11px;margin-top:7px;color:var(--muted)}.photo-tag{position:absolute;bottom:42px;left:24px;right:24px;background:var(--bg);padding:19px 24px;display:flex;gap:14px;align-items:center}.photo-tag span:first-child{font-family:Georgia,serif;font-size:35px;color:#637756}.photo-tag p{margin:0;font-size:15px}.entry-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:0}.entry-card{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:3px;background:#e9eadf;border:1px solid #d8ddce;transition:background .15s}.entry-card:hover{background:#e0e5d5;transform:translateY(-1px)}.entry-card .route-number{font-size:11px;color:var(--muted)}.entry-card h3{font-size:23px;line-height:1.2;margin:0 0 4px;letter-spacing:-.02em}.entry-card p{font-size:14px}.route-arrow{margin-left:auto;background:var(--accent);color:#fff;padding:10px 16px;border-radius:3px;font-size:22px}.entry-note{font-size:12px;margin:13px 0 0;color:var(--muted)}.entry-note span{color:var(--forest);margin-right:6px}.principles{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:19px 0;font-size:13px}.principles span::before{content:'✓';color:#65775e;margin-right:10px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0 0 28px}.section-head h2{font-size:42px;line-height:1.1;margin:0}.section-head a{font-size:14px;white-space:nowrap}.editorial-section{padding:65px 0}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guide{color:var(--ink);text-decoration:none;border-top:1px solid var(--border-strong);padding-top:16px;display:flex;flex-direction:column}.guide .guide-top{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;margin-bottom:25px}.guide h3{font-size:29px;line-height:1.2;max-width:20ch}.guide p{font-size:15px;color:var(--muted);margin-bottom:20px}.guide .read{font-size:14px;margin-top:auto}.guide:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.feature-band{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:42px;background:var(--forest);color:#f7f2e9;border-radius:3px}.feature-band .eyebrow{color:#bacab2}.feature-band h2{font-size:40px;line-height:1.1;margin:0 0 18px}.feature-band p{color:#e2e7da;font-size:16px}.example{background:var(--bg);color:var(--ink);padding:27px 30px;border-radius:3px}.example .eyebrow{color:var(--muted);margin-bottom:15px}.example h3{font-size:27px}.example p{color:var(--muted);font-size:14px}.example ol{padding-left:20px;font-size:14px;margin-bottom:0}.text-link-light{color:#fff;font-size:14px}.method-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.method-grid h2{font-size:42px;line-height:1.15;margin:0 0 20px}.method-list{margin:0;padding:0;list-style:none;counter-reset:method}.method-list li{border-top:1px solid var(--border);padding:20px 0 20px 46px;position:relative}.method-list li:before{counter-increment:method;content:'0' counter(method);position:absolute;left:0;top:23px;font-size:12px;color:var(--muted)}.method-list h3{font-size:23px;margin-bottom:6px}.method-list p{font-size:15px;color:var(--muted);margin:0}.faq{max-width:830px;margin:auto}.faq h2{font-size:39px;margin:0 0 24px}.faq details{border-top:1px solid var(--border);padding:18px 0}.faq summary{font-weight:600;cursor:pointer}.faq details p{font-size:16px;padding-top:15px;color:var(--muted)}
footer.site{background:#eae9df;margin-top:40px;padding:38px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:28px}.footer-top p{font-size:13px;margin-top:8px}.footer-links{display:flex;gap:22px;font-size:13px;flex-wrap:wrap;max-width:620px;align-content:start}.footer-bottom{border-top:1px solid #ccd1c2;padding-top:18px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:20px}.footer-bottom a{color:inherit}.mobile-start{display:none}.panel{border-radius:3px;padding:40px;background:var(--surface);max-width:830px;margin:35px auto}.flow-top{background:var(--forest);color:#fff;margin:-40px -40px 35px;padding:22px 30px}.progress-label,.change-route{color:inherit;font-size:12px}.progress-track{background:#53634b}.progress-fill{background:#d4dfb9}.q-label{font-family:'Source Serif 4',Georgia,serif;font-weight:500;font-size:34px;line-height:1.2;letter-spacing:-.02em;margin-bottom:14px}.q-help{font-size:15px;color:var(--muted);margin-bottom:22px}.q-choices{display:grid;grid-template-columns:1fr;gap:10px}.q-choice{text-align:left;font-size:17px;padding:16px 20px;border-radius:3px;min-height:58px}.q-choice:before{content:'○';margin-right:14px;font-size:23px;vertical-align:middle}.q-choice[aria-pressed=true]{background:#e9eee1;color:var(--forest);border-color:var(--forest)}.q-choice[aria-pressed=true]:before{content:'●'}.q-number{width:230px;font-size:24px;border-radius:3px;padding:14px}.q-unknown{font-size:15px;min-height:44px}.q-unknown input{width:18px;height:18px;accent-color:var(--forest)}.q-error{font-size:15px}.btn{border-radius:3px;min-height:46px;font-size:15px}.step-actions{border-top:1px solid var(--border);padding-top:22px}.result-conclusion{font-size:36px;line-height:1.2}.results h4{font-size:17px}.block,.stat-box,.partner-box{border-radius:3px}.stat-box .n{font-family:'Source Serif 4',Georgia,serif;font-size:29px;font-weight:500}.stat-box .l{font-size:13px}.result-intro{font-size:11px;text-transform:uppercase;letter-spacing:2px}.assumptions-toggle{border-top:1px solid var(--border);padding-top:18px}.assumptions-body{border-radius:3px}.flow-active .home-hero,.flow-active .principles,.flow-active .home-content{display:none}.flow-active #check{min-height:65vh;padding-top:15px}.flow-active .mobile-start{display:none}.flow-heading{font-size:12px;color:var(--muted);text-align:center;margin-top:20px}
.article-head{max-width:900px;padding:45px 0 25px}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:30px}.article-head h1{font-size:clamp(36px,4.5vw,58px);line-height:1.1;margin:0 0 20px}.article-meta{font-size:12px;color:var(--muted);padding-bottom:25px;border-bottom:1px solid var(--border)}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 260px;gap:70px;padding:15px 0 50px}.article-body{min-width:0;font-size:18px;line-height:1.8}.article-body>p:first-of-type{font-size:21px;line-height:1.65}.article-body h2{font-size:32px;line-height:1.25;margin:40px 0 16px;scroll-margin-top:25px}.article-body h3{font-size:24px;margin-top:28px}.article-body table{border-collapse:collapse;width:100%;font-size:15px;margin:25px 0}.article-body th,.article-body td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}.article-body th{background:#e7eadd}.table-scroll{overflow:auto}.article-aside{font-size:14px}.aside-inner{position:sticky;top:24px}.article-aside nav{border-top:1px solid var(--border);padding:20px 0}.article-aside ol{padding-left:18px}.article-aside li{margin-bottom:10px}.aside-cta{background:#e5e9dc;padding:24px;border-radius:3px}.aside-cta h3{font-size:26px}.aside-cta .btn{display:block;text-decoration:none;margin-top:20px;text-align:center}.article-end{border-top:1px solid var(--border);margin-top:40px;padding-top:25px;font-size:14px}.knowledge-head{padding:50px 0 38px;max-width:850px}.knowledge-head h1{font-size:58px;line-height:1.05}.knowledge-head .lede{font-size:20px;color:var(--muted)}.knowledge-group{padding:20px 0 45px}.knowledge-group h2{font-size:32px;margin:0 0 24px}.knowledge-group .guide-grid{grid-template-columns:repeat(2,1fr);gap:34px 50px}.filter-row{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.filter-row a{font-size:13px;border:1px solid var(--border-strong);padding:8px 15px;border-radius:2px;text-decoration:none}.policy{max-width:790px;padding:45px 0}.policy h1{font-size:49px;line-height:1.1}.policy h2{font-size:29px}.policy p{font-size:17px}.policy .callout{padding:22px;background:#e7eadd;margin:25px 0}.no-js{padding:20px;border:1px solid var(--accent)}
@media(max-width:1050px){.site-nav{gap:16px}.nav-cta{display:none}.home-hero{gap:30px}.hero-photo img{height:570px}.article-layout{gap:35px;grid-template-columns:minmax(0,1fr) 220px}.feature-band{gap:30px}.method-grid{gap:45px}.brand{font-size:24px}}
@media(max-width:760px){.wrap{padding:0 22px}.site-inner{padding:18px 22px;position:relative;flex-wrap:wrap}.brand{font-size:24px}.menu-toggle{display:block}.site-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:12px}.site-nav.open{display:flex}.site-nav a{padding:12px 0;border-top:1px solid var(--border)}.home-hero{grid-template-columns:1fr;padding:30px 0;gap:25px}.hero-copy h1{font-size:46px;max-width:15ch}.hero-copy .lede{font-size:17px}.eyebrow{font-size:10px;margin-bottom:16px}.hero-photo img{height:270px;object-position:50% 47%}.photo-tag{left:14px;right:14px;bottom:35px;padding:12px 17px}.photo-tag p{font-size:13px}.photo-tag span:first-child{font-size:28px}.entry-card{padding:15px 13px;gap:10px}.entry-card h3{font-size:22px}.entry-card p{font-size:13px}.route-arrow{padding:8px 12px}.principles{font-size:12px;gap:10px;flex-wrap:wrap}.principles span{flex:1 1 43%}.editorial-section{padding:42px 0}.section-head{align-items:start;flex-direction:column;gap:12px}.section-head h2,.method-grid h2{font-size:35px}.guide-grid{grid-template-columns:1fr;gap:25px}.guide .guide-top{margin-bottom:15px}.guide h3{font-size:28px}.feature-band{grid-template-columns:1fr;padding:25px;gap:22px}.feature-band h2{font-size:34px}.example{padding:22px}.method-grid{grid-template-columns:1fr;gap:25px}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column;gap:10px}.mobile-start{display:block;position:fixed;bottom:12px;right:18px;left:18px;background:var(--forest);color:white;text-align:center;padding:12px;z-index:10;box-shadow:0 2px 15px #0002;text-decoration:none;border-radius:3px}body{padding-bottom:60px}.panel{padding:24px 20px;margin:20px auto}.flow-top{margin:-24px -20px 28px;padding:17px 20px}.q-label{font-size:29px}.result-conclusion{font-size:30px}.q-choice{font-size:16px}.result-actions .btn{flex:1 1 45%}.article-head{padding-top:28px}.article-head h1{font-size:38px}.article-layout{grid-template-columns:1fr;gap:15px}.article-aside{grid-row:1}.aside-inner{position:static}.article-aside nav{padding:12px 0}.article-aside nav ol{display:none}.article-aside nav:focus-within ol,.article-aside nav:hover ol{display:block}.article-aside .aside-cta{display:none}.article-body{font-size:17px}.article-body>p:first-of-type{font-size:19px}.article-body h2{font-size:28px}.knowledge-head h1{font-size:43px}.knowledge-group .guide-grid{grid-template-columns:1fr}.policy h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{header.site,footer.site,.home-content,.mobile-start,.result-actions,.site-nav,.hero-photo,.article-aside,.home-hero,.principles{display:none!important}body{background:white;padding:0;color:black}.wrap{max-width:none;padding:0}.panel{border:0;padding:10px;max-width:none}.article-layout{display:block}.article-head{padding-top:0}.block,.stat-box{break-inside:avoid}a{color:black}}

@media(max-width:760px){.article-aside nav ol{display:block}.article-aside nav{font-size:13px}.article-aside ol{columns:2;column-gap:25px}.article-aside li{break-inside:avoid}}

.hero-copy h1{max-width:17ch}.hero-photo img{height:590px}@media(max-width:760px){.hero-copy h1{max-width:16ch}.hero-photo img{height:270px}}
