:root{--ink:#142d30;--paper:#faf7ef;--raspberry:#a40856;--mint:#99e8df;--muted:#52605d}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}html{scroll-behavior:smooth}[hidden]{display:none!important}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:.22em}header,footer,nav,.actions,.brand{display:flex;align-items:center}header,footer{justify-content:space-between;padding:14px 6%;gap:14px}header{min-height:76px}.brand{gap:12px;font:600 1.48rem Georgia,serif;letter-spacing:-.047em;text-decoration:none}.monogram{display:block;width:39px;height:39px;flex:none}nav{gap:20px}nav a{text-decoration:none;font-size:.88rem}#sound{display:inline-flex;gap:6px;align-items:center;border:1px solid #89968b;background:transparent;border-radius:100px;padding:6px 12px;color:var(--ink);font-size:.8rem}.equalizer{font-size:1.2rem}.hero{isolation:isolate;position:relative;min-height:clamp(560px,45vw,710px);display:grid;align-items:center;overflow:hidden;background:#13292a;color:#fff8f0}.hero img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:58% 52%}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081b1ff2,#0c2628d9 25%,#0b21257c 49%,transparent 76%)}.hero-copy{padding:48px 6%;max-width:900px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:#23645f;margin:0 0 14px}.hero .eyebrow{color:var(--mint);font-size:clamp(.96rem,1.35vw,1.35rem)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.hero h1{font-size:clamp(4.25rem,7.9vw,8.5rem);line-height:.9;letter-spacing:-.065em;margin:0}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:#fff2e8;font-weight:400}.subtitle{font:1.45rem/1.22 Georgia;margin:18px 0 14px}.schedule{display:flex;gap:.6em;flex-wrap:wrap;margin:8px 0 11px;font-weight:bold;font-size:clamp(2.05rem,3.4vw,3.6rem);letter-spacing:-.055em;line-height:1.15}.schedule span{color:var(--mint)}.genres{font-size:1.08rem;font-weight:600;margin:0 0 24px}.actions{gap:12px;flex-wrap:wrap}.action{display:inline-flex;gap:18px;align-items:center;justify-content:space-between;padding:13px 19px;text-decoration:none;border:0;font-weight:700;font-size:.96rem}.primary,.submit{background:var(--raspberry);color:#fff}.secondary{border:1px solid #a4d8d5;background:#10282a99;color:white}.details,#calendar{padding:60px 6%}.details{display:grid;grid-template-columns:.95fr 1fr;gap:clamp(40px,8vw,125px);background:var(--ink);color:var(--paper);align-items:start}.about{padding-top:24px;max-width:500px}.about .eyebrow{color:var(--mint)}h2{font-size:clamp(2.1rem,4.3vw,4rem);line-height:1.03;letter-spacing:-.055em;margin:0 0 16px}#address{color:var(--mint);font-weight:600}#description{font-size:1.08rem;line-height:1.7}#venue-logo{width:113px;height:auto}.panel{background:var(--paper);color:var(--ink);padding:clamp(24px,3.5vw,48px)}.panel h2{font-size:clamp(2rem,3.5vw,3.1rem)}.panel label:not(.optin){display:block;margin:14px 0 5px;font-size:.86rem;font-weight:700}.panel input:not([type=checkbox]),.panel select,#share-url{width:100%;border:1px solid #a7aca1;padding:11px 12px;background:#fffefa;border-radius:0;color:var(--ink)}.optin{display:flex;align-items:start;gap:8px;margin:14px 0 17px;font-size:.85rem;line-height:1.4}.optin input{margin:2px 0 0;accent-color:#18635b;flex:0 0 17px;width:17px;height:17px}.submit{width:100%;background:var(--ink)}.submit:disabled{opacity:.65;cursor:wait}.helper,.fine{color:var(--muted)}.fine{font-size:.85rem}.error{color:#9a064b}.share{margin-top:24px}.share button,.text-btn{background:none;border:0;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:0}#share-feedback{font-size:.8rem;margin-left:8px}#guest-name{font-size:1.55rem;overflow-wrap:anywhere}#pass-code{display:block;margin:15px 0 24px}.empty{min-height:50vh;padding:70px 6%}.empty h1{font-size:3rem;line-height:1.1}#calendar{border-bottom:1px solid #c6cabe}#event-links a{display:block;padding:11px 0}footer{font-size:.84rem;border-top:1px solid #c5cbbd}footer a{text-decoration:none;font-family:Georgia}.action:hover,button:hover{filter:brightness(.94)}:focus-visible{outline:3px solid #d37b1c;outline-offset:3px}
@media(max-width:710px){header{min-height:60px;padding:10px 5%}.brand{font-size:1.15rem;gap:6px}.monogram{width:31px;height:31px}nav{gap:10px}nav a{font-size:.77rem}#sound{font-size:.7rem;padding:4px 8px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;background:#102d31}.hero-copy{order:0;padding:24px 6% 23px}.hero img{position:static;order:1;height:clamp(195px,50vw,330px);object-position:60% 55%}.hero::before{display:none}.hero .eyebrow{font-size:.92rem;margin-bottom:12px}.hero h1{font-size:clamp(3.4rem,13vw,6rem)}.subtitle{font-size:1.22rem;margin:14px 0 8px}.schedule{font-size:clamp(1.85rem,7.8vw,3.1rem)}.genres{font-size:.92rem;margin:9px 0 16px}.action{font-size:.86rem;padding:11px 14px}.details{grid-template-columns:1fr;gap:30px;padding:32px 6%}.about{padding-top:0}.panel{grid-row:1}.share{margin-top:14px}footer{font-size:.73rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#seating{padding:clamp(42px,6vw,96px) 6%;background:#fbf6ed;color:var(--ink)}
.seating-intro{display:grid;grid-template-columns:1fr .82fr;align-items:end;gap:8%;margin:0 0 30px}
.seating-intro h2{max-width:15ch;margin:0;font-size:clamp(2.6rem,5vw,5.25rem)}
#seating-story{font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.6;margin:0;max-width:48ch}
.seating-photos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,50px)}
.seating-photos article{min-width:0;display:flex;flex-direction:column;border-top:3px solid #ad1759}
.seating-photos img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;object-position:50% 58%}
.seating-photos article>div{flex:1;display:flex;flex-direction:column;align-items:start}
.seating-photos h3{margin:17px 0 4px;font:400 clamp(1.7rem,2.7vw,2.9rem)/1.13 Georgia,serif;letter-spacing:-.045em}
.seating-photos p{color:#37504e;margin:4px 0 13px;max-width:42ch;line-height:1.55}
.seating-photos a{margin-top:auto;color:#8a124d;font-size:.95rem;font-weight:bold;display:inline-block;padding:8px 0;text-underline-offset:4px}
.seating-photos a::after{content:' ↗';text-decoration:none;display:inline-block;padding-left:6px}
#seating-terms{border-top:1px solid #d5d4c6;padding-top:18px;margin:20px 0 0;font-size:.9rem;color:#405350}
#pool-photo{display:block;width:100%;height:auto;max-height:360px;aspect-ratio:3/2;object-fit:cover;object-position:50% 55%;margin-top:20px}
@media(max-width:710px){.seating-intro{display:block}.seating-intro h2{margin-bottom:14px}.seating-photos{grid-template-columns:1fr;gap:25px}.seating-photos img{aspect-ratio:4/3}.seating-intro{margin-bottom:24px}.seating-photos h3{margin-top:12px}}
