:root{--ink:#273d35;--paper:#f7f5ef;--accent:#987a56;--line:#d8ded7}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.6 system-ui,sans-serif}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;background:#fff;border-bottom:1px solid var(--line)}.brand{font:27px Georgia,serif;text-decoration:none;color:var(--ink)}nav{display:flex;flex-wrap:wrap;gap:20px}a{color:var(--ink)}main{max-width:1280px;margin:40px auto;padding:0 5% 60px}h1{font:clamp(34px,5vw,58px) Georgia,serif;margin:8px 0 20px}h2{font:30px Georgia,serif}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}.panel{background:#fff;padding:24px;border:1px solid var(--line);border-radius:12px;margin:20px 0}.panel h2{margin-top:0}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{display:block;font-size:12px;font-weight:650;margin-bottom:14px}input,select,textarea{width:100%;display:block;margin-top:5px;font:inherit;padding:11px 12px;border:1px solid #bdc8bd;background:#fff;border-radius:6px;color:var(--ink)}input[type=checkbox]{width:auto;display:inline;margin-right:8px}textarea{min-height:100px}button,.button{display:inline-block;background:var(--ink);color:#fff;border:0;border-radius:6px;padding:11px 16px;cursor:pointer;text-decoration:none;font:600 12px system-ui,sans-serif;margin:4px 4px 4px 0}button.secondary{background:#ecefe8;color:var(--ink)}button.danger{background:#8d4037}button:disabled{opacity:.45;cursor:wait}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table-scroll{overflow:auto}td input{min-width:75px}td select{min-width:80px}small{font-size:11px;color:#64746a}.pill{padding:3px 9px;background:#eef2ec;border-radius:12px;font-size:11px}#notice{min-height:25px;color:#985447;white-space:pre-wrap}.code{font-family:monospace;word-break:break-all;padding:14px;background:#eee}.theme-card{min-height:190px;position:relative;overflow:hidden;border-radius:12px;padding:28px;color:#fff;background:#536a56}.theme-card h2{font-size:35px}.theme-card.noir{background:#202225}.theme-card.terracotta{background:#ad694c}.theme-card a{color:inherit}footer{padding:25px 5%;border-top:1px solid var(--line);font-size:12px}footer a{float:right}[hidden]{display:none!important}.rsvp-card{border-left:3px solid var(--accent);padding:15px;background:#f6f7f2;margin:10px 0}canvas.qr{width:200px;height:200px;background:white;padding:10px}@media(max-width:650px){header{align-items:flex-start;gap:15px;flex-direction:column}main{margin-top:24px}.grid{display:block}nav{gap:12px}.fields{grid-template-columns:1fr}}

/* Deployment: keep the longer brand readable on small screens. */
header{flex-wrap:wrap;gap:16px}header .brand{max-width:100%;font-size:clamp(20px,3vw,29px)}header nav{flex-wrap:wrap;gap:12px}@media(max-width:480px){header{padding:18px 16px}header nav{width:100%;display:flex}header nav a{font-size:13px}}
.portal-feedback{max-width:min(92vw,540px);border:1px solid #bdcbbf;border-radius:12px;padding:24px;box-shadow:0 20px 70px #11241c44}.portal-feedback p{white-space:pre-wrap}.portal-feedback::backdrop{background:#11241c88}
