:root{
  --navy:#173f5f; --blue:#245b83; --blue2:#2f6f9f; --ink:#24323d;
  --muted:#657580; --paper:#f4f6f7; --white:#fff; --line:#d8e0e5;
  --grey:#66727c; --soft:#e8edf0; --good:#386b54; --warn:#9a6b1e; --bad:#8a4141;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#eef2f4;line-height:1.55}
.wrap{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.brand-row{display:flex;align-items:center;gap:24px;padding:18px 0}
.logo{width:190px;max-height:72px;object-fit:contain;object-position:left center}
.brand-copy{border-left:1px solid var(--line);padding-left:24px;display:grid;gap:1px}
.brand-copy strong{font-size:1.55rem;color:var(--navy);letter-spacing:.02em}
.brand-copy span:last-child{color:var(--muted);font-size:.9rem}
.eyebrow,.kicker,.source-tag{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:var(--blue)}
.hero{margin:32px 0 22px;background:linear-gradient(120deg,#fff 0%,#fff 62%,#e5edf2 100%);border:1px solid var(--line);border-radius:18px;padding:34px;display:grid;grid-template-columns:1.6fr .75fr;gap:34px;box-shadow:0 8px 24px rgba(31,51,65,.05)}
h1{font-size:clamp(2rem,4vw,3.5rem);line-height:1.05;margin:.35rem 0 .8rem;color:var(--navy);max-width:780px}
.lede{font-size:1.08rem;max-width:760px;color:#4b5c67}
.hero-card{background:var(--grey);color:white;border-radius:14px;padding:24px;align-self:center}
.hero-card strong{font-size:1.05rem}.hero-card p{margin:.45rem 0 0}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.tab{border:1px solid var(--line);background:white;color:var(--navy);padding:11px 18px;border-radius:999px;font-weight:750;cursor:pointer}
.tab.active{background:var(--navy);color:white;border-color:var(--navy)}
.tab-panel{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:24px}
.tab-panel.active{display:block}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}
.section-head>div{display:flex;align-items:center;gap:12px}
.section-head h2{margin:0;color:var(--navy)}
.step{background:#dbe8f0;color:var(--navy);border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:850;letter-spacing:.06em}
select,input,textarea,button{font:inherit}
select,textarea{width:100%;border:1px solid #cbd5db;border-radius:9px;padding:10px;background:white;color:var(--ink)}
.brief{background:var(--grey);color:#fff;border-left:7px solid var(--navy);border-radius:12px;padding:18px 22px;margin-bottom:22px}
.brief-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.brief-grid div{background:rgba(255,255,255,.1);border-radius:8px;padding:10px}
.brief-grid small{display:block;opacity:.78}.brief-grid strong{display:block;margin-top:2px}
.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.control-card{border:1px solid var(--line);border-radius:13px;padding:20px;background:#f9fbfc}
.control-card h3{margin-top:0;color:var(--navy)}
label{display:block;font-weight:650;margin:16px 0}
label select{margin-top:6px}
input[type=range]{width:100%;accent-color:var(--blue)}
output{display:block;color:var(--blue);font-weight:800;margin-top:3px}
.run-row{display:flex;gap:10px;margin:22px 0}
button.primary,button.secondary{border-radius:9px;padding:11px 18px;font-weight:800;cursor:pointer}
button.primary{background:var(--navy);color:white;border:1px solid var(--navy)}
button.secondary{background:white;color:var(--navy);border:1px solid #b8c5cd}
.result{border-radius:14px;padding:24px;background:#eef3f6;border:1px solid var(--line)}
.result.empty{color:var(--muted)}
.result.good{border-left:7px solid var(--good)}.result.warn{border-left:7px solid var(--warn)}.result.bad{border-left:7px solid var(--bad)}
.result h2{margin-top:0;color:var(--navy)}
.result-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:18px}
.result ul{padding-left:20px}
.issue{background:white;border:1px solid var(--line);border-radius:10px;padding:14px;margin:9px 0}
.issue strong{color:var(--navy)}
.intro{max-width:850px;color:var(--muted)}
.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.evidence-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:#fbfcfd}
.evidence-card h3{color:var(--navy);font-size:1.35rem}
svg{width:100%;height:auto;background:white;border-radius:8px}
.takeaway{background:#e8eef2;border-radius:10px;padding:14px;margin-top:12px}
.method-note{margin-top:18px;background:#e8edf0;border-radius:10px;padding:16px}
.packing{background:#f2f5f7;padding:12px;border-radius:10px}
.challenge-card{background:linear-gradient(120deg,#173f5f,#245b83);color:white;border-radius:16px;padding:30px}
.challenge-card .kicker{color:#cfe5f4}.challenge-card h3{font-size:1.7rem;margin:.4rem 0}
.challenge-card .primary{background:white;color:var(--navy);margin-top:10px}
.reflection-grid,.chain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.reflection-grid article{border:1px solid var(--line);border-radius:12px;padding:20px}
.reflection-grid strong{color:var(--blue);font-size:.75rem;letter-spacing:.1em}
.reflection-grid h3{color:var(--navy)}
.reflection-box{margin-top:18px;background:#e8edf0;padding:20px;border-radius:12px}
.chain{margin:26px 0 34px}
.chain-grid article{background:var(--grey);color:white;border-radius:13px;padding:22px}
.chain-grid article>span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:white;color:var(--navy);font-weight:900}
.chain-grid h3{margin-bottom:.4rem}
footer{background:var(--navy);color:white;padding:24px 0;margin-top:20px}
footer .wrap{display:flex;justify-content:space-between;opacity:.92}
@media(max-width:850px){
 .hero,.decision-grid,.evidence-grid,.reflection-grid,.chain-grid{grid-template-columns:1fr}
 .brief-grid{grid-template-columns:1fr 1fr}.brand-copy{display:none}
 .section-head{align-items:flex-start;flex-direction:column}.section-head select{width:100%}
 .result-grid{grid-template-columns:1fr}
}
@media(max-width:520px){.brief-grid{grid-template-columns:1fr}.hero,.tab-panel{padding:20px}.wrap{width:min(100% - 20px,1180px)}}
