@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#17202a;--paper:#f7f4ee;--accent:#9a4d20;--muted:#64707b;--line:#d9d3c9;--dark:#16232d;--light:#fffdfa}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.55}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:20px 4vw;background:rgba(247,244,238,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand span:last-child{display:flex;flex-direction:column}.brand small{font-size:.68rem;letter-spacing:.18em;color:var(--muted)}.mark{display:grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--ink);border-radius:50%;font-weight:700}nav{display:flex;gap:24px}nav a{color:inherit;text-decoration:none;font-size:.92rem}.hero{display:grid;grid-template-columns:1.25fr .85fr;gap:6vw;align-items:center;padding:8vw 4vw 7vw}.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.eyebrow.light{color:#efb07c}.hero h1,.section h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:.95;margin:.5rem 0 1.5rem}.hero h1{font-size:clamp(4rem,7vw,7.3rem);max-width:10ch}.hero h1 em{color:var(--accent)}.lede{font-size:1.13rem;max-width:46rem;color:#34414d}.actions{display:flex;gap:12px;margin:28px 0 18px}.button,button{border:1px solid #9fa8ae;border-radius:999px;padding:12px 18px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:none}.primary{background:var(--ink);color:white;border-color:var(--ink)}.meta,.muted{color:var(--muted);font-size:.9rem}.framework-card{background:var(--dark);color:white;border-radius:22px;padding:34px}.framework-card ol{list-style:none;padding:0;margin:20px 0 0}.framework-card li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-top:1px solid rgba(255,255,255,.15)}.framework-card li span{color:#efb07c}.framework-card li p{margin:.3rem 0 0;color:#d1d8dd;font-size:.92rem}.section{padding:7vw 4vw;border-top:1px solid var(--line)}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw}.section h2{font-size:clamp(2.5rem,5vw,5rem)}.alt{background:#efe9df}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.cards.compact{grid-template-columns:repeat(3,1fr)}.card{background:var(--light);border:1px solid var(--line);border-radius:18px;padding:24px}.card h3{margin-top:0}.bridge{text-align:center}.bridge p{max-width:50rem;margin-left:auto;margin-right:auto}.bridge a{color:var(--accent);font-weight:700}footer{display:flex;justify-content:space-between;padding:28px 4vw;border-top:1px solid var(--line);font-size:.85rem;color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(16,25,33,.55);display:grid;place-items:center;padding:20px;z-index:30}.modal[hidden]{display:none}.modal-panel{position:relative;width:min(720px,100%);max-height:85vh;overflow:auto;background:var(--light);border-radius:20px;padding:30px}.close{position:absolute;right:16px;top:14px;border:none;font-size:1.7rem;padding:4px 10px}.tool-grid{display:grid;gap:14px}.tool-grid label{display:grid;gap:6px;font-weight:600}.tool-grid textarea,.tool-grid input,.tool-grid select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:white;font:inherit}.result{margin-top:18px;padding:16px;border-radius:12px;background:#f1ece3}.score-row{display:grid;grid-template-columns:1fr 120px;gap:16px;align-items:center;margin:10px 0}@media(max-width:900px){nav{display:none}.hero,.two-col{grid-template-columns:1fr}.hero{padding-top:12vw}.hero h1{font-size:clamp(3.4rem,15vw,5.4rem)}.cards,.cards.compact{grid-template-columns:1fr}.framework-card{margin-top:20px}}@media(max-width:560px){.site-header{padding:14px 20px}.hero,.section{padding-left:20px;padding-right:20px}.hero h1{font-size:3.6rem}.actions{flex-direction:column;align-items:flex-start}footer{flex-direction:column;gap:8px;padding:24px 20px}}