:root{--navy:#FBF8F2;--navy2:#F4EFE6;--coral:#B08D57;--cream:#2F3A35;--ink:#2F3A35;--sage:#7E9483}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Jost,system-ui,sans-serif;background:var(--navy2);color:var(--cream);line-height:1.5}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1rem;background:var(--navy);padding:.5rem 1rem;min-height:64px;overflow:hidden}
.badge{background:var(--coral);color:#fff;text-decoration:none;font-size:1.4rem;padding:.55rem .7rem;line-height:1;font-weight:300}
.top nav{display:flex;gap:1rem;flex-wrap:wrap;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;z-index:1}
.top nav a{color:var(--cream);text-decoration:none;opacity:.85}.top nav a:hover{color:var(--coral)}
.bunting{position:absolute;right:0;top:0;width:150px;height:64px;opacity:.95}
@media(max-width:600px){.top nav{display:none}}
main{max-width:860px;margin:0 auto;padding:0 1.1rem}
.hero{padding:2.5rem 0 1.5rem}
.poster{font-weight:300;font-size:clamp(2rem,8.5vw,3.6rem);line-height:1.08;margin:0;text-transform:uppercase}
.poster a{text-decoration:none}
.w{color:var(--cream)}.r,.coral{color:var(--coral)}
.tbc{font-size:.32em;background:var(--coral);color:#fff;padding:.15em .45em;border-radius:3px;letter-spacing:.08em;vertical-align:super;margin-left:.2em;font-weight:600}
.tbc-pill{display:inline-block;border:1px dashed var(--coral);color:var(--cream);padding:.3rem .8rem;border-radius:99px;font-size:.8rem;letter-spacing:.06em;margin:0 0 1rem}
.tbc-pill strong,.tbc-inline strong{color:var(--coral)}
.tbc-note{font-size:.9rem;opacity:.85;margin-top:1rem}
.confirmed .tbc,.confirmed .tbc-pill,.confirmed .tbc-note,.confirmed .tbc-inline{display:none}
.card-dark{background:var(--navy);padding:1.5rem 1.25rem;margin:1rem 0;font-weight:600}
.welcome-h{text-align:center;color:var(--coral);font-weight:400;font-size:2rem;margin:.2rem 0 1rem;text-shadow:2px 2px 0 #2bb6c9}
.btn{display:inline-block;background:var(--coral);color:#fff;border:0;padding:.8rem 2rem;font:600 .9rem Jost,sans-serif;letter-spacing:.15em;text-decoration:none;cursor:pointer;border-radius:2px}
.btn:hover{filter:brightness(1.08)}
.welcome .btn{display:block;width:max-content;margin:1rem auto 0}
.www{font-weight:300;font-size:clamp(1.8rem,7.5vw,3.2rem);line-height:1.1;padding:1rem 0 2rem}.www p{margin:0}
.paper{background:var(--cream);color:var(--ink);margin:1.5rem -1.1rem;padding:2rem 1.25rem;border-top:6px solid var(--coral)}
@media(min-width:900px){.paper{margin:2rem 0;padding:2.5rem 3rem;box-shadow:0 10px 30px rgba(0,0,0,.25)}}
.sec-h{letter-spacing:.12em;font-weight:700;margin:0 0 .5rem;font-size:1.6rem}
.sec-h::after{content:"";display:block;width:56px;height:3px;background:var(--coral);margin-top:.35rem}
.lead{margin:.4rem 0 1.4rem}
.tbc-inline{font-size:.85rem}
.days{list-style:none;padding:0;margin:0}
.days li{display:grid;grid-template-columns:5.2rem 2rem 1fr;gap:.5rem;padding:.75rem 0;border-bottom:1px solid rgba(27,42,74,.15);align-items:baseline}
.days .d{font-size:.85rem}.days .d b{color:var(--coral)}
.form .f{display:block;border:0;margin:0 0 1.3rem;padding:0}
.l{display:block;font-weight:700;font-size:.78rem;letter-spacing:.05em;margin-bottom:.45rem}
legend.l{padding:0}
input[type=text],input[type=number],input[type=search],select,textarea{width:100%;font:inherit;font-size:16px;padding:.65rem .75rem;border:1px solid #b9b3a3;background:#fff;color:var(--ink);border-radius:2px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--coral);outline-offset:1px}
.opt{display:flex;gap:.6rem;align-items:center;padding:.3rem 0;font-size:.9rem;font-weight:600;cursor:pointer}
.opt input{accent-color:var(--coral);width:1.15rem;height:1.15rem;flex:none}
.row2{display:grid;gap:.6rem;grid-template-columns:1fr}
@media(min-width:600px){.row2{grid-template-columns:1fr 1fr}}
fieldset .row2{margin-top:.6rem}
.diet{border:1px solid rgba(27,42,74,.15);padding:.5rem .75rem;margin:0 0 .6rem;background:rgba(255,255,255,.45)}
.diet-fields{display:grid;gap:.5rem;grid-template-columns:1fr;margin:.3rem 0 .2rem}
@media(min-width:600px){.diet-fields{grid-template-columns:1fr 2fr}}
.bubble{background:var(--navy);color:var(--cream);font-style:italic;margin:0 0 1rem;padding:1rem 1.2rem;position:relative;letter-spacing:.03em}
.bubble::after{content:"";position:absolute;bottom:-14px;right:2.5rem;border:14px solid transparent;border-top-color:var(--navy);border-bottom:0}
.err{color:var(--coral);font-weight:600;font-size:.85rem}
.hp{position:absolute;left:-9999px}
.foot{text-align:center;font-size:.75rem;padding:2rem 1rem;background:var(--navy);opacity:.9}

body{background:linear-gradient(#FBF8F2,#F1EBE0)}
.top{border-bottom:1px solid #e6dccb;backdrop-filter:blur(6px);background:rgba(251,248,242,.92)}
.badge{font-family:'Cormorant Garamond',serif;font-size:1.6rem;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;padding:0}
.poster,.www,.welcome-h,.sec-h{font-family:'Cormorant Garamond',serif;font-weight:500}
.poster{letter-spacing:.02em}.r,.coral{color:var(--coral)}.w{color:var(--ink)}
.poster .r{font-style:italic}
.welcome-h{text-shadow:none;letter-spacing:.2em;font-size:2.3rem}
.card-dark{background:#fff;border:1px solid #e6dccb;border-radius:18px;font-weight:400;box-shadow:0 12px 40px rgba(80,60,30,.08)}
.paper{background:#fff;border-top:0;border:1px solid #e6dccb;border-radius:18px;margin:1.5rem 0}
.paper::before{content:"✝";display:block;text-align:center;color:var(--coral);font-size:1.4rem;margin-bottom:.4rem}
.sec-h{text-align:center;font-size:2.1rem;letter-spacing:.14em}
.sec-h::after{margin:.4rem auto 0;background:var(--sage);width:40px;height:1px}
.lead{text-align:center;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.15rem}
.btn{border-radius:99px;background:var(--sage);letter-spacing:.2em}
.form .btn{display:block;margin:1rem auto 0;min-width:200px}
.opt{font-weight:400}.l{font-weight:500;color:var(--sage)}
input[type=text],input[type=number],input[type=search],select,textarea{border:1px solid #ddd2bf;border-radius:10px;background:#FDFBF7}
.opt input{accent-color:var(--sage)}
.diet{border-radius:12px;border-color:#ece3d3;background:#FBF8F2}
.bubble{background:#EEF2EC;color:var(--ink);border-radius:14px;border-left:3px solid var(--sage)}
.bubble::after{border-top-color:#EEF2EC}
.tbc{background:transparent;color:var(--coral);border:1px solid var(--coral);font-family:Jost,sans-serif}
.tbc-pill{border-color:var(--coral)}
.days .d b{color:var(--sage)}
.foot{background:transparent;color:var(--sage)}
.bunting path[fill="#ED4F54"]{fill:#B08D57}.bunting path[fill="#F5EFE0"]{fill:#A9BBA9}.bunting path[stroke]{stroke:#B08D57}
.poster,.www,.sec-h{font-variant-numeric:lining-nums}
