:root{--bg:#f8f6f0;--ink:#191714;--muted:#6b6258;--line:#ded6ca;--panel:#fffdf8;--accent:#006d77;--accent-strong:#0b3d45;--gold:#b7791f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.site-header{align-items:center;background:hsla(45,36%,96%,.92);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:16px clamp(20px,5vw,64px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.brand{color:var(--accent-strong);font-size:20px;font-weight:800}nav{color:var(--muted);font-size:14px}.hero{align-items:flex-end;background:linear-gradient(110deg,rgba(25,23,20,.72),rgba(0,109,119,.32)),url(/hero.svg);background-size:cover;display:flex;min-height:58vh;padding:clamp(36px,7vw,88px)}.hero-copy{color:#fff;max-width:780px}.campaign-hero h1,.hero h1,.recap h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,8vw,104px);letter-spacing:0;line-height:.94;margin:0 0 18px}.hero p{font-size:clamp(19px,2.6vw,29px);margin:0}.eyebrow{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase}.campaign-hero,.recap,.section{margin:0 auto;max-width:1120px;padding:clamp(32px,6vw,72px) clamp(20px,5vw,64px)}.section-header{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:22px}.campaign-hero h1,.recap h1,.section h2{color:var(--accent-strong)}.section h2{font-size:clamp(28px,4vw,44px);margin:0}.campaign-card p,.campaign-hero p,.date,.section-header p,.session-row p,.unlock-card p{color:var(--muted)}.campaign-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.campaign-card,.session-row,.unlock-card{background:var(--panel);border:1px solid var(--line);border-radius:8px}.campaign-card{display:flex;flex-direction:column;gap:28px;justify-content:space-between;min-height:230px;padding:22px}.campaign-card h3{font-size:28px;margin:0 0 8px}.campaign-card span,.session-row span{color:var(--accent);font-size:13px;font-weight:800}.campaign-meta{align-items:center;gap:12px;margin-top:24px}.campaign-meta,.party-list{display:flex;flex-wrap:wrap}.party-list{gap:8px}.party-list span{border:1px solid var(--line);border-radius:999px;color:var(--accent-strong);padding:6px 10px}.search{display:flex;gap:10px;margin-bottom:22px}input{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);flex:1 1;font:inherit;min-width:0;padding:12px 14px}button{background:var(--accent);border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-weight:800;padding:12px 18px}.text-button{background:transparent;color:var(--muted);font-size:13px;padding:6px 0}.text-button:hover{color:var(--accent)}.cookie-note{font-size:13px;margin-top:-6px}.session-list{display:grid;grid-gap:12px;gap:12px}.session-row{display:grid;grid-gap:6px;gap:6px;padding:18px}.session-row strong{font-size:22px}.session-row p{margin:0}.unlock-screen{display:grid;min-height:calc(100vh - 62px);place-items:center;padding:24px}.unlock-card{display:grid;grid-gap:14px;gap:14px;max-width:460px;padding:26px}.unlock-card h1{margin:0}.back-link{color:var(--accent);display:inline-block;font-weight:800;margin-bottom:30px}.recap{max-width:860px}.recap h1{font-size:clamp(38px,6vw,70px)}.recap-body{font-family:Georgia,Times New Roman,serif;font-size:20px}.recap-body h1,.recap-body h2{color:var(--accent-strong);font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.1}.recap-body li{margin:8px 0}@media (max-width:700px){.search,.section-header{align-items:stretch;flex-direction:column}button{width:100%}}