.wrap{max-width:720px;margin:0 auto;padding:var(--ch-sp-6) var(--ch-sp-4) var(--ch-sp-12)}
header.top{display:flex;align-items:center;gap:var(--ch-sp-2);padding:var(--ch-sp-4) 0}
header.top svg{width:28px;height:28px;color:var(--ch-primary)}
header.top b{font:var(--ch-title)}
h1{font:var(--ch-display);letter-spacing:-.02em;margin:var(--ch-sp-8) 0 var(--ch-sp-4)}
h2{font:var(--ch-title);margin:var(--ch-sp-8) 0 var(--ch-sp-2)}
p{color:var(--ch-text);margin-bottom:var(--ch-sp-3)}
p.muted{color:var(--ch-text-muted)}
.hero{background:var(--ch-surface-sunken);border:1px solid var(--ch-border);border-radius:var(--ch-radius);padding:var(--ch-sp-6);margin-top:var(--ch-sp-4)}
.hero h1{margin-top:0}
.cta{display:inline-block;background:var(--ch-primary);color:var(--ch-on-primary);text-decoration:none;padding:14px 22px;border-radius:var(--ch-radius-sm);font-weight:600;margin-top:var(--ch-sp-4);min-height:44px}
.trust{background:var(--ch-surface);border:1px solid var(--ch-border);border-radius:var(--ch-radius);padding:var(--ch-sp-6);margin-top:var(--ch-sp-8)}
.trust li{margin-bottom:var(--ch-sp-2);color:var(--ch-text-muted)}
footer{border-top:1px solid var(--ch-border);margin-top:var(--ch-sp-12);padding-top:var(--ch-sp-4);font:var(--ch-caption);color:var(--ch-text-muted)}
footer nav{display:flex;flex-wrap:wrap;gap:var(--ch-sp-1) var(--ch-sp-2)}
footer a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--ch-sp-2);margin-left:calc(-1 * var(--ch-sp-2))}
aside.status{display:flex;align-items:baseline;gap:var(--ch-sp-2) var(--ch-sp-3);margin:var(--ch-sp-3) 0;padding:var(--ch-sp-3) var(--ch-sp-4);border:1px solid var(--ch-warning);border-radius:var(--ch-radius-sm);background:var(--ch-surface-sunken);color:var(--ch-text-muted);font:var(--ch-caption)}
aside.status strong{flex:none;color:var(--ch-warning)}
dl dt{font-weight:600;margin-top:var(--ch-sp-4)}
dl dd{margin:var(--ch-sp-1) 0 0;color:var(--ch-text-muted)}
form{display:grid;gap:var(--ch-sp-3);margin-top:var(--ch-sp-4)}
form label{display:grid;gap:var(--ch-sp-1);font-weight:600}
form input,form textarea{width:100%;border:1px solid var(--ch-border);border-radius:var(--ch-radius-sm);background:var(--ch-surface);color:var(--ch-text);font:inherit;padding:10px 12px;min-height:48px}
form textarea{resize:vertical;min-height:120px}
form button:disabled{cursor:not-allowed;opacity:.55}
.landing-record{background:var(--ch-paper-light);border:1px solid var(--ch-recap-border);border-left:6px solid var(--ch-accent);border-radius:2px var(--ch-radius-sm) var(--ch-radius-sm) 2px;padding:var(--ch-sp-4);margin-top:var(--ch-sp-6);box-shadow:4px 5px 0 var(--ch-landing-photo-wash);transform:rotate(-.35deg)}
.landing-record label{font:var(--ch-label);color:var(--ch-text-muted)}
.landing-record textarea{background:transparent;border:0;border-bottom:1px solid var(--ch-border);border-radius:0;padding:var(--ch-sp-3) 0;min-height:84px;line-height:1.65;resize:vertical}
.landing-record textarea:focus-visible{outline:var(--ch-focus-width) solid var(--ch-accent);outline-offset:var(--ch-focus-offset)}
.landing-record button{justify-self:start;background:var(--ch-primary);color:var(--ch-on-primary);border:0;border-radius:var(--ch-radius-sm);font:inherit;font-weight:600;min-height:48px;padding:0 20px;cursor:pointer}
.landing-record small{color:var(--ch-text-muted);font:var(--ch-caption)}
.continuation{border-top:1px solid var(--ch-border);margin-top:var(--ch-sp-8);padding-top:var(--ch-sp-6)}
.continuation p{max-width:58ch}
.mechanism{counter-reset:step;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ch-sp-3);margin:var(--ch-sp-5) 0 0;padding:0;list-style:none}
.mechanism li{min-width:0;padding-top:var(--ch-sp-3);border-top:2px solid var(--ch-accent);color:var(--ch-text)}
.mechanism li:before{counter-increment:step;content:"0" counter(step);display:block;margin-bottom:var(--ch-sp-2);color:var(--ch-accent);font:var(--ch-label)}
.archive-sample{margin-top:var(--ch-sp-8);padding:var(--ch-sp-6) 0;border-top:1px solid var(--ch-border);border-bottom:1px solid var(--ch-border)}
.archive-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--ch-sp-4)}
.archive-heading h2{margin:0}
.archive-heading p{margin:0;font:var(--ch-caption)}
.archive-list{display:grid;gap:var(--ch-sp-3);margin:var(--ch-sp-5) 0 0;padding:0;list-style:none}
.archive-list li{display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--ch-sp-4);align-items:start}
.archive-list time{padding-top:var(--ch-sp-3);color:var(--ch-text-muted);font:var(--ch-label);font-variant-numeric:tabular-nums}
.archive-note{position:relative;padding:var(--ch-sp-4);border:1px solid var(--ch-recap-border);border-left:4px solid var(--ch-accent);border-radius:2px var(--ch-radius-sm) var(--ch-radius-sm) 2px;background:var(--ch-paper-light);box-shadow:3px 4px 0 var(--ch-landing-photo-wash)}
.archive-note span{display:block;margin-bottom:var(--ch-sp-1);color:var(--ch-text-muted);font:var(--ch-label)}
.archive-note p{margin:0;color:var(--ch-text)}
.boundary{display:grid;grid-template-columns:max-content 1fr;gap:var(--ch-sp-2) var(--ch-sp-4);margin:var(--ch-sp-4) 0 0}
.boundary dt{margin:0;color:var(--ch-text-muted);font:var(--ch-label)}
.boundary dd{margin:0;color:var(--ch-text)}
.cta{transition:background-color .18s ease,transform .12s ease}
.cta:hover{background:var(--ch-primary-hover)}
.cta:active{transform:translateY(1px)}
footer a,dl dt{transition:color .18s ease}
footer a:hover{color:var(--ch-primary)}
@media (prefers-reduced-motion:reduce){.landing-record,.cta,footer a,dl dt{transition:none}.cta:active{transform:none}}
@media (min-width:760px){.hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(320px,1fr);gap:var(--ch-sp-8);align-items:center;padding:var(--ch-sp-8)}.hero-copy h1{margin-top:0}.landing-record{margin-top:0}}
@media (max-width:520px){aside.status{align-items:flex-start;flex-direction:column}.mechanism{grid-template-columns:1fr}.archive-heading{align-items:start;flex-direction:column}.archive-list li{grid-template-columns:1fr;gap:var(--ch-sp-1)}.archive-list time{padding-top:0}}
