:root{--ink:#161410;--muted:#5c574e;--line:#d9d3c7;--paper:#f6f1e8;--card:#fffdf8;--accent:#8a1f12}
*{box-sizing:border-box}
html{font-size:18px}
body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.45 Georgia,"Times New Roman",serif}
nav{display:flex;justify-content:space-between;align-items:baseline;max-width:54rem;margin:0 auto;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line)}
nav a{color:var(--ink);text-decoration:none}
nav .brand{font:600 .95rem/1 system-ui,sans-serif;letter-spacing:.04em}
nav .links{font:500 .8rem/1 system-ui,sans-serif;display:flex;gap:1rem}
.wrap{max-width:54rem;margin:0 auto;padding:2rem 1.2rem 4rem}
h1{font:600 2.1rem/1.15 Georgia,serif;margin:0 0 .6rem}
h2{font:600 1.15rem/1.3 Georgia,serif;margin:2.1rem 0 .65rem}
.lede{font-size:1.15rem;max-width:36rem;margin:0 0 1.4rem}
.price{font:600 .9rem/1.3 system-ui,sans-serif;margin:0 0 .4rem}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.2rem 0 2rem}
.card{display:block;background:var(--card);border:1px solid var(--line);padding:1rem 1.1rem;text-decoration:none;color:var(--ink)}
.card:hover{border-color:var(--ink)}
.card h3{margin:0 0 .25rem;font:600 1.05rem/1.25 Georgia,serif}
.card p{margin:0;color:var(--muted);font-size:.92rem}
.sample{background:var(--card);border:1px solid var(--line);padding:1.2rem 1.3rem;margin:1.5rem 0;white-space:pre-wrap;font-size:.95rem}
.disclaimer{font: .82rem/1.4 system-ui,sans-serif;color:var(--muted);max-width:38rem;margin-top:2.4rem}
.disclaimer a{color:var(--muted)}
form{display:grid;gap:.7rem;margin:1rem 0 1.4rem}
label{font:600 .75rem/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
input,textarea,select{width:100%;padding:.55rem .6rem;border:1px solid var(--line);background:#fff;font:1rem Georgia,serif}
textarea{min-height:5.5rem}
.row{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0 1.5rem}
.hero-actions{margin:0 0 1.6rem}
button,.btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:.55rem .9rem;font:600 .85rem/1 system-ui,sans-serif;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:transparent;color:var(--ink)}
.letter{background:#fff;border:1px solid var(--line);padding:2rem 2.1rem;min-height:24rem;white-space:pre-wrap}
.letter footer.meta{margin-top:1.6rem;padding-top:.8rem;border-top:1px solid var(--line);font:.78rem/1.35 system-ui,sans-serif;color:var(--muted);white-space:normal}
.layout{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:start}
.deadline{background:var(--card);border:1px solid var(--line);padding:1rem 1.15rem;margin:0 0 1.2rem;max-width:38rem}
.deadline p{margin:0 0 .5rem}
.deadline p:last-child{margin:0}
.deadline .when{font:600 1.05rem/1.35 system-ui,sans-serif}
.steps{margin:0 0 1rem;padding:0 0 0 1.2rem;max-width:38rem}
.steps li{margin:0 0 .5rem}
.note{color:var(--muted);max-width:38rem;margin:0 0 1.2rem}
.note a,.steps a{color:var(--ink)}
.paybox{margin:0 0 1.4rem;max-width:38rem}
.paybox code{display:block;margin:.15rem 0 .7rem;font-size:.88em;word-break:break-all}
.other-letters{max-width:42rem;line-height:1.7;color:var(--muted)}
.other-letters a{color:var(--ink)}
@media (max-width:800px){.grid,.row,.layout{grid-template-columns:1fr}h1{font-size:1.65rem}}
@media print{nav,.no-print{display:none !important}body{background:#fff}.letter{border:0;padding:0} .wrap{padding:0}}

.kicker{font:600 .75rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem}
.ticket-box{background:var(--card);border:1px solid var(--line);padding:1rem 1.1rem;margin:0 0 1rem}
.ticket-box h2{margin:0 0 .45rem}
.ticket-box .hint{color:var(--muted);font-size:.92rem;margin:0 0 .7rem;max-width:none}
.ticket-preview{margin:.7rem 0 0}
.ticket-preview img{display:block;width:100%;max-height:22rem;object-fit:contain;background:#fff;border:1px solid var(--line)}
.ocr-status{font:.85rem/1.4 system-ui,sans-serif;color:var(--muted);margin:.55rem 0 0}
.ocr-readoff{margin:.7rem 0 0;padding:0 0 0 1.1rem;color:var(--muted);font:.88rem/1.4 system-ui,sans-serif}
.ocr-readoff li{margin:0 0 .25rem}
.council-list{columns:2;column-gap:2rem;margin:0 0 1.6rem;padding:0 0 0 1.1rem}
.council-list li{margin:0 0 .35rem;break-inside:avoid}
.council-list a{color:var(--ink)}
@media (max-width:800px){.council-list{columns:1}}

.paybox p{margin:0 0 .55rem}
.paybox p:last-child{margin:0}
.paybox .alt code{display:inline}

.offers{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0 0 1.8rem}
.offer{background:var(--card);border:1px solid var(--line);padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.35rem}
.offer h2{margin:.15rem 0 .25rem;font:600 1.25rem/1.25 Georgia,serif}
.offer p{margin:0;color:var(--muted)}
.offer .price{font:650 1.05rem/1.3 system-ui,sans-serif;color:var(--ink);margin:.2rem 0 .5rem}
.offer .btn{margin-top:auto;align-self:flex-start}
.diy{font-size:.95rem;color:var(--muted);max-width:40rem;margin:0 0 1.6rem}
.diy a{color:var(--ink)}
label.check,.check{display:flex;gap:.55rem;align-items:flex-start;text-transform:none;letter-spacing:0;font:.95rem/1.35 Georgia,serif;color:var(--ink);font-weight:400}
.check input{width:auto;margin-top:.2rem;flex:0 0 auto}
.figures{background:var(--card);border:1px solid var(--line);padding:1rem 1.15rem;margin:0 0 1rem}
.figures h2{margin:0 0 .6rem}
.figures .big{font:600 1.7rem/1.15 Georgia,serif;margin:.2rem 0 .5rem}
.figures table{width:100%;border-collapse:collapse;font-size:.95rem}
.figures td{padding:.28rem 0;border-bottom:1px solid var(--line)}
.figures td.num{text-align:right;font-variant-numeric:tabular-nums}
.figures tr.total td{border-bottom:0;border-top:2px solid var(--ink);font-weight:700;padding-top:.55rem}
.pack{background:var(--card);border:1px solid var(--line);padding:1.15rem 1.2rem;margin:1.6rem 0;max-width:38rem}
.pack h2{margin:0 0 .45rem}
.cta-banner{background:var(--card);border:1px solid var(--ink);padding:1rem 1.15rem;margin:0 0 1.4rem;max-width:42rem}
.cta-banner p{margin:0 0 .55rem}
.cta-banner p:last-child{margin:0}
.warn{color:var(--accent)}
.letter-kicker{font:650 .72rem/1 system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .8rem}
@media (max-width:800px){.offers{grid-template-columns:1fr}}
