/* Site-specific homepage composition. Colors and type come from the engine theme. */
.home .hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:24px;align-items:stretch;padding:24px 0 40px}
.home .hero>div,.home .panel{padding:24px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius)}
.home .hero>div{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.home .hero .lead{margin-top:0}
.home .panel .eyebrow,.home .number{color:var(--accent)}
.home .panel ol{padding-left:22px}
.home .panel li{padding:8px 0;border-bottom:1px solid var(--line)}
.home .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 32px}
.home .grid .card{min-width:0}
.home .number{font: .8rem ui-monospace,monospace}
.home .note{padding:16px;border-left:3px solid var(--accent);background:var(--surface);color:var(--muted)}
.home a.button{text-decoration:none}
.card form label{display:grid;gap:6px}
.card form .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card form :is(input,select){width:100%;min-width:0}
.prose{max-width:760px}
.prose h2{margin-top:32px}
.empty{padding:24px;border:1px dashed var(--line);margin:24px 0}
@media(max-width:700px){.home .hero{grid-template-columns:1fr;padding-top:12px}.home .grid,.card form .grid{grid-template-columns:1fr}.home .hero>div,.home .panel{padding:18px}}
