:root{--bg:#f6efe3;--bg-2:#ede3d1;--paper:#fbf7ee;--ink:#1e2a3a;--ink-soft:#3a4a5e;--muted:#8a8375;--line:#c8bfac;--accent:#5a7791;--accent-soft:#aebfcc;--gold:#9a8458;--serif-display:"Playfair Display", "Didot", "Bodoni 72", Georgia, serif;--serif-text:"Cormorant Garamond", "EB Garamond", Georgia, serif;--sans:"Inter Tight", "Helvetica Neue", Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, Menlo, monospace;--maxw:1180px;--gutter:clamp(20px, 4vw, 56px);--radius:2px;--ease:cubic-bezier(.2, .7, .2, 1)}[data-palette=champagne]{--bg:#f6efe3;--bg-2:#ede3d1;--paper:#fbf7ee;--ink:#1e2a3a;--ink-soft:#3a4a5e;--muted:#8a8375;--line:#c8bfac;--accent:#5a7791;--accent-soft:#aebfcc;--gold:#9a8458}[data-palette=ivory]{--bg:#f3efe6;--bg-2:#e6dfd0;--paper:#faf6ed;--ink:#20201c;--ink-soft:#3b3a33;--muted:#857f70;--line:#cdc6b4;--accent:#6a6a58;--accent-soft:#b8b4a3;--gold:#9a8458}[data-palette=sage]{--bg:#efede2;--bg-2:#dde0ce;--paper:#f7f5ec;--ink:#1e2a22;--ink-soft:#3a4a3e;--muted:#7e8471;--line:#bec3ad;--accent:#5a6e55;--accent-soft:#a9b49f;--gold:#8e7a4f}[data-palette=bordeaux]{--bg:#f3ebe1;--bg-2:#e3d6c8;--paper:#faf3e9;--ink:#2a1a1f;--ink-soft:#4a2f38;--muted:#8a7568;--line:#cdb8a9;--accent:#6e2a36;--accent-soft:#b8959b;--gold:#9a6e45}[data-fontset=playfair]{--serif-display:"Playfair Display", Georgia, serif;--serif-text:"Cormorant Garamond", Georgia, serif}[data-fontset=bodoni]{--serif-display:"Bodoni Moda", "Didot", serif;--serif-text:"EB Garamond", Georgia, serif}[data-fontset=cormorant]{--serif-display:"Cormorant Garamond", Georgia, serif;--serif-text:"Cormorant Garamond", Georgia, serif}[data-fontset=italiana]{--serif-display:"Italiana", "Didot", serif;--serif-text:"EB Garamond", Georgia, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--serif-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"liga", "kern", "onum";font-size:18px;line-height:1.55}img{max-width:100%;display:block}.hero-photo{object-fit:cover;object-position:center;width:100%;height:110%}.display{font-family:var(--serif-display);letter-spacing:-.01em;font-weight:400;line-height:1}.italic{font-style:italic}.eyebrow{font-family:var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.meta{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:12px}.rule{background:var(--line);vertical-align:middle;width:48px;height:1px;display:inline-block}section{padding:clamp(80px, 10vw, 140px) var(--gutter);position:relative}.wrap{max-width:var(--maxw);margin:0 auto}.center{text-align:center}.botanical{pointer-events:none;opacity:.55;color:var(--ink);position:absolute}.botanical.tl{width:140px;top:24px;left:24px;transform:rotate(0)}.botanical.tr{width:140px;top:24px;right:24px;transform:scaleX(-1)}.botanical.bl{width:140px;bottom:24px;left:24px;transform:scaleY(-1)}.botanical.br{width:140px;bottom:24px;right:24px;transform:scale(-1)}[data-botanical=off] .botanical{display:none}.reveal{opacity:1;transition:opacity 1s var(--ease), transform 1s var(--ease);transform:translateY(0)}.reveal-ready .reveal{opacity:0;transform:translateY(14px)}.reveal.in{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.btn{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;background:var(--ink);color:var(--paper);border:1px solid var(--ink);cursor:pointer;transition:all .4s var(--ease);border-radius:var(--radius);align-items:center;gap:10px;padding:16px 28px;font-size:12px;text-decoration:none;display:inline-flex}.btn:visited{color:var(--paper)}.btn:hover,.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:visited{color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--paper)}.btn:hover,.btn:focus,.btn:active{text-decoration:none}.btn:disabled{cursor:wait;opacity:.65}.field{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.field label{font-family:var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.field input[type=text],.field input[type=password],.field input[type=number],.field textarea,.field select{font-family:var(--serif-text);border:none;border-bottom:1px solid var(--line);color:var(--ink);transition:border-color .3s var(--ease);background:0 0;border-radius:0;outline:none;padding:10px 0;font-size:18px}.field input:focus,.field textarea:focus,.field select:focus{border-bottom-color:var(--ink)}.field textarea{resize:vertical;min-height:90px}.choices{flex-wrap:wrap;gap:12px 28px;display:flex}.choice{cursor:pointer;font-family:var(--serif-text);-webkit-user-select:none;user-select:none;align-items:center;gap:12px;font-size:18px;display:inline-flex}.choice input{opacity:0;pointer-events:none;position:absolute}.choice .mark{border:1px solid var(--ink);width:14px;height:14px;transition:background .2s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.choice .mark.sq{border-radius:2px}.choice input:checked+.mark:after{content:"";background:var(--ink);border-radius:50%;width:6px;height:6px}.choice input:checked+.mark.sq:after{border-radius:1px}.count-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.count-cell{text-align:center;border:1px solid var(--line);background:var(--paper);padding:28px 12px}.count-num{font-family:var(--serif-display);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(48px,6vw,84px);line-height:1}.count-label{font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:10px;font-size:11px}.sch-row{border-top:1px solid var(--line);grid-template-columns:160px 1fr auto;align-items:start;gap:32px;padding:32px 0;display:grid}.sch-row:last-child{border-bottom:1px solid var(--line)}.sch-time{font-family:var(--serif-display);font-size:40px;font-style:italic}.sch-title{font-family:var(--serif-display);margin:0 0 4px;font-size:28px}.sch-sub{color:var(--muted);font-size:16px}.sch-meta{color:var(--muted);font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;font-size:12px}.loc-grid{grid-template-columns:1fr 1fr;gap:32px;display:grid}.loc-card{background:var(--paper);border:1px solid var(--line);padding:36px}.loc-card .map{aspect-ratio:4/3;background:var(--bg-2);margin-bottom:24px;position:relative;overflow:hidden}.loc-card .map iframe{filter:grayscale(.25)sepia(.08)saturate(.7)contrast(.95);border:0;width:100%;height:100%}.loc-card .map .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.faq-item{border-top:1px solid var(--line);padding:28px 0}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{cursor:pointer;font-family:var(--serif-display);justify-content:space-between;align-items:baseline;gap:24px;font-size:26px;font-weight:400;display:flex}.faq-q .plus{font-family:var(--sans);color:var(--muted);transition:transform .3s var(--ease);font-size:20px}.faq-item.open .faq-q .plus{transform:rotate(45deg)}.faq-a{max-height:0;transition:max-height .5s var(--ease);color:var(--ink-soft);overflow:hidden}.faq-item.open .faq-a{max-height:400px;padding-top:16px}.ph{background:var(--bg-2);color:var(--muted);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;background-image:repeating-linear-gradient(135deg,#0000 0 12px,#1e2a3a0a 12px 13px);justify-content:center;align-items:center;font-size:11px;display:flex;position:relative}.ph:after{content:"";border:1px solid var(--line);pointer-events:none;position:absolute;inset:12px}.tweaks-panel{background:var(--paper);border:1px solid var(--line);z-index:999;width:280px;font-family:var(--sans);padding:20px;font-size:13px;display:none;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 40px -20px #00000040}.tweaks-panel.open{display:block}.tweaks-panel h4{font-family:var(--serif-display);letter-spacing:0;margin:0 0 14px;font-size:22px;font-weight:400}.tweaks-row{margin-bottom:16px}.tweaks-row>.tw-label{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;display:block}.swatches{gap:8px;display:flex}.swatch{cursor:pointer;border:1px solid var(--line);border-radius:50%;width:28px;height:28px;position:relative}.swatch.on:after{content:"";border:1px solid var(--ink);border-radius:50%;position:absolute;inset:-4px}.opts{flex-wrap:wrap;gap:6px;display:flex}.opt{border:1px solid var(--line);cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:0 0;padding:6px 10px;font-size:11px}.opt.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.admin-page{min-height:100vh;padding:clamp(40px, 8vw, 90px) var(--gutter);background:var(--bg)}.admin-login,.admin-shell{width:min(100%,1040px);margin:0 auto}.admin-login{border:1px solid var(--line);background:var(--paper);max-width:460px;padding:clamp(28px,5vw,48px)}.admin-login h1,.admin-head h1{margin:10px 0 34px;font-size:clamp(42px,6vw,72px)}.admin-error{color:var(--accent);margin:0 0 18px}.admin-head{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.admin-stats{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;display:grid}.admin-stats div{border:1px solid var(--line);background:var(--paper);padding:20px}.admin-stats span{font-family:var(--serif-display);font-size:42px;line-height:1;display:block}.admin-stats small{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:8px;font-size:11px;display:block}.admin-stats p{color:var(--ink-soft);margin:12px 0 0}.wide-stat{grid-column:span 3}.responses-list{gap:16px;display:grid}.response-card,.empty-state{border:1px solid var(--line);background:var(--paper);padding:clamp(22px,4vw,32px)}.response-top{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.response-card h2{font-family:var(--serif-display);margin:0 0 4px;font-size:32px;font-weight:400}.response-card time{font-family:var(--sans);color:var(--muted);font-size:12px}.badge{border:1px solid var(--line);font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;flex:none;padding:7px 10px;font-size:11px}.badge.yes{color:var(--accent)}.badge.no{color:var(--muted)}.response-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:0;display:grid}.response-card dt{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10px}.response-card dd{color:var(--ink-soft);margin:5px 0 0}.response-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:18px;margin-top:22px;padding-top:18px;display:flex}.admin-edit-form{gap:4px;display:grid}.text-btn{cursor:pointer;font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:0 0;border:0;padding:0;font-size:11px}.text-btn.danger{color:var(--accent)}.text-btn:disabled{cursor:wait;opacity:.6}@media (max-width:900px){.hero-grid{grid-template-columns:1fr!important;min-height:auto!important}.hero-split{text-align:center}.hero-split p{margin-left:auto;margin-right:auto}.hero-date,.hero-actions{justify-content:center}.hero-date:after{content:"";background:var(--line);width:48px;height:1px;display:inline-block}.story-facts{gap:14px!important}.story-date-fact{padding-left:14px;padding-right:14px}.loc-grid{grid-template-columns:1fr}.dress-swatches{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:420px!important}.count-grid{grid-template-columns:repeat(4,1fr);gap:10px}.sch-row{grid-template-columns:90px 1fr}.sch-row .sch-meta{grid-column:2}}@media (max-width:600px){body{font-size:16px}html,body{max-width:100%;overflow-x:clip}.admin-head,.response-top{display:block}.admin-head .btn{margin-top:16px}.admin-stats,.response-card dl{grid-template-columns:1fr}.wide-stat{grid-column:auto}.story-facts{grid-template-columns:1fr!important;max-width:320px!important}.story-date-fact{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:18px;padding-bottom:18px;border-left:0!important;border-right:0!important}.badge{margin-top:14px;display:inline-flex}.count-grid{grid-template-columns:repeat(2,1fr)}.sch-time{font-size:28px}.sch-title{font-size:22px}}@media (max-width:380px){.dress-swatches{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}}
