:root { --paper:#f1f0e8; --surface:#fffef9; --ink:#24261f; --muted:#62645a; --line:#cbc8b9; --accent:#365c2d; --accent-dark:#25451e; --soft:#e5eadb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Avenir Next",Avenir,"Helvetica Neue",sans-serif; line-height:1.55; }
a { color:inherit; }
header { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 max(5vw,24px); border-bottom:1px solid var(--line); }
header span { color:var(--muted); font-size:14px; text-align:right; }
.brand { color:var(--accent-dark); font-size:19px; font-weight:750; text-decoration:none; }
main,footer { width:min(1080px,90vw); margin:0 auto; }
.intro { display:grid; grid-template-columns:1.2fr .8fr; gap:56px; padding:72px 0 56px; border-bottom:1px solid var(--line); }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:720px; margin-bottom:20px; font-size:clamp(36px,5vw,56px); line-height:1.06; letter-spacing:-.045em; }
.intro>div>p { max-width:700px; color:var(--muted); font-size:18px; }
.button { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--accent); border-radius:8px; background:var(--accent); color:white; padding:9px 15px; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.button:hover,.button:focus-visible { background:var(--accent-dark); }
aside { align-self:start; border:1px solid var(--line); background:var(--surface); padding:22px; }
aside strong { display:block; margin-bottom:12px; }
aside p { border-left:3px solid var(--accent); background:var(--soft); padding:13px; font-size:14px; }
aside span { color:var(--muted); font-size:12px; }
section { padding:54px 0; border-bottom:1px solid var(--line); }
h2 { font-size:26px; letter-spacing:-.025em; }
.context-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }
.context-grid p { margin:0; padding:18px 20px 0 0; color:var(--muted); }
.section-title { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:22px; }
.section-title p { max-width:480px; margin-bottom:4px; color:var(--muted); }
.workspace { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--line); background:var(--surface); }
form,.output { padding:24px; }
form { border-right:1px solid var(--line); }
label { display:block; margin-bottom:6px; font-size:14px; font-weight:700; }
input,select { width:100%; margin-bottom:16px; border:1px solid #aaa79d; border-radius:7px; background:white; padding:10px; font:inherit; }
input:focus,select:focus { border-color:var(--accent); outline:3px solid rgba(54,92,45,.16); }
.consent { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; margin:2px 0 18px; font-weight:500; }
.consent input { width:17px; margin:3px 0 0; accent-color:var(--accent); }
#status { margin:12px 0 0; color:var(--accent-dark); font-size:13px; }
.output { background:#ecebe2; }
#message { min-height:120px; border-left:3px solid var(--accent); background:var(--soft); padding:14px; }
#steps { margin:22px 0 0; padding-left:22px; color:var(--muted); }
#steps li { padding:5px 0; }
#steps li.done { color:var(--accent-dark); font-weight:700; }
.pilot { display:grid; grid-template-columns:260px 1fr; gap:52px; }
.pilot ul { padding-left:20px; }
.pilot li { margin-bottom:7px; }
footer { padding:28px 0 40px; color:var(--muted); font-size:13px; }
@media (max-width:760px) { header { align-items:flex-start; flex-direction:column; padding-top:15px; padding-bottom:15px; } header span{text-align:left}.intro,.workspace,.pilot { grid-template-columns:1fr; }.intro{gap:32px;padding-top:52px}.context-grid{grid-template-columns:1fr}.section-title{display:block}form{border-right:0;border-bottom:1px solid var(--line)} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
