:root{--bg:#F9F5E3;--fg:#232323;--primary:#9C4557;--secondary:#648824;--notice:#C0392B;--border:#DBDBDB;--card:#FDFAEE;--muted:#6b6455}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Nunito Sans",system-ui,sans-serif;line-height:1.6}
h1,h2,h3{font-family:Lora,Georgia,serif;margin:.3em 0;line-height:1.25}h1{font-size:clamp(1.9rem,4vw,3rem)}
a{color:var(--primary)}img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 1rem}.narrow{max-width:820px;margin-left:auto;margin-right:auto}.section{padding:3rem 1rem}
.center{text-align:center}.left{text-align:left}.muted{color:var(--muted)}.small{font-size:.85rem}.big{font-size:1.15rem}
.h2{color:var(--primary);font-size:1.7rem}.eyebrow{color:var(--secondary);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.04em;margin:0}
.lead{font-size:1.2rem;color:var(--muted)}.quote{font-family:Lora,serif;font-size:1.35rem;color:var(--primary);font-style:italic;font-weight:600}
header.top{position:sticky;top:0;z-index:40;background:rgba(249,245,227,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(6px)}
.bar{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem}
.brand{font-family:Lora,serif;font-size:1.35rem;font-weight:700;color:var(--primary);text-decoration:none;margin:0}
nav.desk{display:flex;align-items:center;gap:1.1rem;font-size:.92rem;font-weight:600}nav.desk a{color:var(--fg);text-decoration:none}nav.desk a.active,nav.desk a:hover{color:var(--primary)}
nav.desk a.btn{color:#fff}.menu-btn{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}
nav.mob{display:none;flex-direction:column;gap:.7rem;padding:1rem;border-top:1px solid var(--border)}nav.mob.open{display:flex}nav.mob a{color:var(--fg);text-decoration:none;font-weight:600}nav.mob a.btn{color:#fff;text-align:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--primary);color:#fff;border:0;border-radius:10px;padding:.8rem 1.4rem;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;margin:.3rem .3rem .3rem 0;font-family:inherit}
.btn:hover{filter:brightness(.92)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{padding:.5rem 1rem;margin:0}.btn.big{padding:1rem 1.6rem;font-size:1.08rem}.btn.block{width:100%}
.btn.green{background:var(--secondary)}.btn.red{background:var(--notice)}.btn.ghost{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn.ghost-green{background:#f0f4e3;color:var(--secondary);border:1px solid #b9c99a}
.wa{display:inline-flex;align-items:center;gap:.35rem;color:var(--secondary);font-weight:700;text-decoration:none}.ic{width:18px;height:18px}
.deadline{background:var(--notice);color:#fff;padding:1rem 0;border-bottom:3px solid #8e2a20}.deadline p{margin:0}.deadline .big{font-size:1.2rem;font-weight:800}.deadline .text-yellow,.text-yellow{color:#ffe604}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:2.5rem;align-items:center;padding:2.5rem 1rem}
.date-pill{display:inline-block;border:1px solid #d8b3bb;background:#f6e9e6;color:var(--primary);font-family:Lora,serif;font-weight:700;font-size:1.4rem;padding:.5rem 1rem;border-radius:10px}
.photo{width:100%;border-radius:14px;border:1px solid var(--border);object-fit:cover}.photo.tall{height:430px}
.callout{border-left:4px solid var(--primary);background:#f6e9e6;padding:1rem 1.2rem;margin:1rem 0;border-radius:0 10px 10px 0}
.callout.maroon{border-color:var(--primary);background:#f6e9e6}.callout.green{border-color:var(--secondary);background:#eef2df}.callout.red{border-color:var(--notice);background:#fbe6e3}
.callout h2,.callout h3{color:var(--primary);font-size:1.1rem}.callout p{margin:.4rem 0}
.notice-text{color:var(--notice);font-weight:800}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1rem;margin:.8rem 0}.card.pad{padding:1.6rem}
.band{background:var(--card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem}.center-v{align-items:center;padding:3rem 1rem}
ol.plain{list-style:none;padding:0}
.regrid{display:grid;grid-template-columns:2fr 3fr;gap:2.5rem;margin-top:2rem}
label{display:block;font-weight:700;margin:.7rem 0 .25rem;font-size:.95rem}label.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:600}
input[type=text],input[type=tel],input[type=number],select{width:100%;padding:.65rem;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:1rem;font-family:inherit}
input:focus,select:focus{outline:2px solid var(--primary);outline-offset:1px}input[type=checkbox],input[type=radio]{accent-color:var(--primary);width:18px;height:18px}
.subbox{border:1px solid var(--border);border-radius:10px;padding:.8rem;margin-top:.8rem;background:#fff}
.radio{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;border:1px solid var(--border);border-radius:8px;padding:.6rem .8rem;margin:.4rem 0;font-weight:600;cursor:pointer}
.radio span{display:flex;gap:.5rem;align-items:center}.maplink{font-size:.88rem;color:var(--secondary);font-weight:700;text-decoration:none}
.trow{display:flex;justify-content:space-between}.link{background:none;border:0;color:var(--notice);cursor:pointer;font-weight:700}
.summary{display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0}.summary dt{color:var(--muted)}.summary dd{margin:0;text-align:right;font-weight:600}
.accordion{border:1px solid var(--border);border-radius:12px;background:var(--card)}.accordion details{border-bottom:1px solid var(--border);padding:.9rem 1.2rem}.accordion details:last-child{border:0}
.accordion summary{cursor:pointer;font-weight:700}.accordion p{margin:.6rem 0 0}
dialog{border:0;border-radius:14px;max-width:680px;width:calc(100% - 2rem);max-height:90vh;padding:1.6rem}dialog::backdrop{background:rgba(20,18,15,.78)}dialog h2{color:var(--primary)}
.dlg-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.regno{font-family:Lora,serif;font-size:2rem;font-weight:700;color:var(--secondary);margin:0}.tick{font-size:3rem;color:var(--secondary);margin:0}
footer{background:var(--card);border-top:1px solid var(--border);margin-top:2rem;padding-top:2.5rem}.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.links{list-style:none;padding:0}.links a{color:var(--muted);text-decoration:none}.links a:hover{color:var(--primary)}.fbottom{border-top:1px solid var(--border);padding:1.2rem;margin:2rem 0 0}
.big-links .wa{font-size:1.3rem;margin:.3rem 0}
.sticky-cta{display:none}
@media(max-width:900px){nav.desk{display:none}.menu-btn{display:block}.hero,.regrid,.grid2,.fgrid{grid-template-columns:1fr}.photo.tall{height:280px}
.sticky-cta{display:block;position:sticky;bottom:0;z-index:40;padding:.6rem;background:rgba(249,245,227,.96);border-top:1px solid var(--border)}}
@media(max-width:600px){.grid3{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
