:root { --paper:#eef3eb; --surface:#fffef8; --green:#164b38; --lime:#e2edb3; --line:#d4dfd2; --shadow:0 12px 35px #1b422a0a; }
body { background:linear-gradient(135deg,#f6f7ef,#eaf1e6); }
.site-header { padding-top:22px; padding-bottom:16px; }
.brand-mark { background:#164b38; color:#fffef8; border:3px solid #d7e4be; box-shadow:0 0 0 1px #acc39f; }
.hero { position:relative; isolation:isolate; overflow:hidden; border:1px solid #d0dec9; border-radius:24px; background:#e5eedc; padding:32px 36px; margin:0 0 26px; grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr); gap:24px; }
.hero::before { content:""; position:absolute; z-index:-1; width:520px; height:330px; right:-140px; top:-160px; border:1px solid #a8c29d66; border-radius:48% 52% 65% 35%; box-shadow:0 0 0 30px #c9dbbd55,0 0 0 60px #c9dbbd33,0 0 0 90px #c9dbbd22; transform:rotate(-20deg); }
.hero::after { content:"⚑"; position:absolute; z-index:-1; right:25px; bottom:-30px; color:#b9cfa477; font-size:180px; line-height:1; }
.hero .eyebrow { font-size:10px; letter-spacing:.18em; margin-bottom:12px; }
.hero h1 { font-family:inherit; font-weight:750; letter-spacing:-.035em; font-size:clamp(28px,3vw,42px); line-height:1.5; margin-bottom:12px; }
.hero h1 em { font-style:normal; white-space:normal; }
.hero .lead { font-size:14px; line-height:1.85; color:#4d6553; }
.hero .steps { padding:18px 20px; border:1px solid #c9d8bf; border-radius:16px; background:#fffef8d9; }
.hero .steps li { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:13px; border:0; }
.hero .steps li+li { border-top:1px dashed #d4dfcb; }
.hero .steps li span { display:grid; place-items:center; width:26px; height:26px; flex:0 0 26px; background:#164b38; color:white; border-radius:50%; font-family:inherit; font-style:normal; font-size:11px; }
.panel { border-radius:18px; box-shadow:var(--shadow); }
.section-heading h2,.handoff h2 { font-family:inherit; font-weight:700; font-size:24px; letter-spacing:-.03em; }
.drop-zone { border:1px dashed #9ab38c; background:repeating-linear-gradient(110deg,#eaf0e5,#eaf0e5 32px,#e5eddf 32px,#e5eddf 64px); border-radius:12px; }
.totals strong { font-family:inherit; font-weight:700; }
.nine-card h3 { background:#164b38; color:#f3f7e9; padding:10px 12px; }
.nine-card th { background:#edf3e7; }
.handoff { background:#164b38; border:0; }
.status { border-radius:12px; }
@media(max-width:1000px) { .hero { grid-template-columns:minmax(0,1fr); padding:26px; gap:18px; } .hero .steps { display:flex; flex-wrap:wrap; gap:16px; padding:12px 16px; } .hero .steps li { border:0!important; padding:2px 0; } }
@media(max-width:620px) { .hero { padding:22px; } .hero h1 { font-size:28px; } .hero .lead br { display:none; } }
