@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Jost:wght@300;400;500&display=swap";:root{--night:#120b14;--night-raise:#1c1220;--line:#f0e7d529;--gold:#d2a95f;--gold-dim:#d2a95f9e;--gold-line:#d2a95f61;--ivory:#f1e8d4;--ivory-dim:#f1e8d4ad;--ember:#d87c50;--paper:#f5eeda;--paper-fold:#e7dcc0;--ink:#291c22;--ink-muted:#6d5b55;--ember-ink:#a34a28;--serif:"Cormorant Garamond", "Times New Roman", serif;--sans:"Jost", "Avenir Next", "Century Gothic", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--night);color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-weight:300;line-height:1.65}img{object-fit:cover;max-width:100%;display:block}a{color:inherit}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}h1,h2,h3,p,dl{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08}h2{letter-spacing:.01em;margin-bottom:20px;font-size:clamp(2.1rem,4vw,3rem)}section[id]{scroll-margin-top:36px}::selection{background:var(--gold);color:var(--night)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.measure{width:min(100% - 48px,700px);margin-inline:auto}.skip-link{z-index:40;background:var(--gold);color:var(--night);padding:10px 16px;font-weight:400;position:fixed;top:-80px;left:24px}.skip-link:focus{top:12px}.eyebrow{color:var(--gold);letter-spacing:.34em;text-transform:uppercase;margin:0 0 18px;font-size:.72rem;font-weight:400}.section-lede{max-width:58ch;color:var(--ivory-dim);font-size:1.02rem}.ornament{width:min(100%,280px);color:var(--gold);align-items:center;gap:18px;margin:8px auto 0;font-size:.7rem;display:flex}.ornament span{background:linear-gradient(90deg, transparent, var(--gold-line));flex:1;height:1px}.ornament span:last-child{background:linear-gradient(270deg, transparent, var(--gold-line))}.button{border:1px solid var(--gold);background:var(--gold);color:#221419;min-height:54px;font-family:var(--sans);letter-spacing:.22em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:15px 36px;font-size:.78rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#e2bd75;transform:translateY(-2px)}.text-button{color:var(--gold);letter-spacing:.24em;text-transform:uppercase;text-decoration:underline;text-decoration-color:var(--gold-line);text-underline-offset:6px;background:0 0;border:none;padding:0;font-size:.76rem;font-weight:400;transition:color .2s}.text-button:hover{color:var(--ivory)}.site-header{z-index:10;justify-content:space-between;align-items:center;gap:18px;padding:22px clamp(20px,4vw,48px);display:flex;position:absolute;inset:0 0 auto}.brand{align-items:center;gap:14px;text-decoration:none;display:inline-flex}.brand-mark{border:1px solid var(--gold-line);width:44px;height:44px;color:var(--gold);font-family:var(--serif);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:1.05rem;display:grid}.brand-name{color:var(--ivory);letter-spacing:.3em;text-transform:uppercase;font-size:.78rem}.site-header nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 26px;display:flex}.site-header nav a{color:var(--ivory-dim);letter-spacing:.24em;text-transform:uppercase;font-size:.72rem;text-decoration:none;transition:color .2s}.site-header nav a:hover{color:var(--gold)}.hero{text-align:center;padding:144px 24px 110px;position:relative;overflow:hidden}.hero:before{content:"";opacity:.38;background:url(/images/candlelit-table.jpg) 50% 30%/cover no-repeat;position:absolute;inset:0}.hero:after{content:"";background:linear-gradient(180deg, #120b1499 0%, #120b14de 52%, var(--night) 98%);position:absolute;inset:0}.hero-inner{z-index:1;flex-direction:column;align-items:center;max-width:860px;margin-inline:auto;display:flex;position:relative}.hero h1{letter-spacing:.015em;margin-bottom:18px;font-size:clamp(3.1rem,8vw,6rem)}.hero-theme{color:var(--gold);font-family:var(--serif);margin-bottom:26px;font-size:clamp(1.3rem,2.6vw,1.65rem);font-style:italic}.hero-dateline{color:var(--ivory-dim);letter-spacing:.26em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-bottom:26px;font-size:.76rem;display:flex}.hero-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 30px;margin:32px 0 46px;display:flex}.place-card{background:var(--paper);width:min(100%,540px);color:var(--ink);text-align:center;border-radius:12px;padding:32px 38px;position:relative;box-shadow:0 34px 70px #00000080}.place-card:before{content:"";background:linear-gradient(180deg, var(--paper-fold), #e7dcc000);border-radius:12px 12px 0 0;height:20px;position:absolute;inset:0 0 auto}.place-card-kicker{color:var(--ink-muted);letter-spacing:.32em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:16px;margin:0 0 18px;font-size:.66rem;display:flex}.place-card-kicker:before,.place-card-kicker:after{content:"";background:#291c2238;flex:1;height:1px}.seats-figure{justify-content:center;align-items:center;gap:22px;display:flex}.seats-number{font-family:var(--serif);font-size:4.6rem;font-weight:500;line-height:1}.seats-caption{color:var(--ink);letter-spacing:.2em;text-align:left;text-transform:uppercase;font-size:.82rem}.seats-cap{color:var(--ink-muted);letter-spacing:.24em;margin-top:4px;font-size:.66rem;display:block}.seats-urgency{color:var(--ember-ink);font-family:var(--serif);justify-content:center;align-items:center;gap:10px;margin:18px 0 0;font-size:1.12rem;font-style:italic;display:flex}.urgency-dot{background:var(--ember-ink);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.25}}.is-low .seats-number,.is-soldout .seats-number{color:var(--ember-ink)}.countdown{border-top:1px solid #291c222e;margin-top:20px;padding-top:18px}.countdown-label{color:var(--ink-muted);letter-spacing:.32em;text-transform:uppercase;margin:0 0 12px;font-size:.66rem}.countdown-row{justify-content:center;gap:12px;margin:0;display:flex}.cd-cell{flex-direction:column;align-items:center;gap:2px;min-width:62px;display:flex}.cd-cell+.cd-cell{border-left:1px solid #291c2229}.cd-num{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:500;line-height:1.1}.cd-unit{color:var(--ink-muted);letter-spacing:.28em;text-transform:uppercase;font-size:.6rem}.past-notice{color:var(--ink);font-family:var(--serif);margin:22px 0 0;font-size:1.15rem;font-style:italic}.night-section{padding:120px 24px 40px}.night-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(44px,6vw,84px);width:min(100%,1020px);margin-inline:auto;display:grid}.night-letter p{color:var(--ivory-dim);font-size:1.02rem}.night-letter p+p{margin-top:18px}.letter-signoff{color:var(--gold);font-family:var(--serif);margin-top:26px;font-size:1.35rem;font-style:italic}.night-figure{border:1px solid var(--gold-line);border-radius:300px 300px 18px 18px;margin:0;padding:16px 16px 22px}.night-figure img{aspect-ratio:3/4.1;border-radius:286px 286px 8px 8px;width:100%}.night-figure figcaption{color:var(--ivory-dim);font-family:var(--serif);text-align:center;margin-top:16px;font-size:.98rem;font-style:italic}.menu-section{padding:110px 0}.menu-controls{flex-wrap:wrap;align-items:center;gap:16px 28px;margin:26px 0 40px;display:flex}.menu-complete{color:var(--gold);font-family:var(--serif);margin:0;font-size:1.1rem;font-style:italic}.course-list{gap:28px;margin:0;padding:0;list-style:none;display:grid}.course-cover{border:1px solid var(--gold-line);background:var(--night-raise);width:100%;color:var(--ivory);border-radius:8px;justify-items:center;gap:10px;padding:46px 24px;transition:border-color .25s,transform .25s;display:grid;position:relative}.course-cover:before{content:"";pointer-events:none;border:1px solid #d2a95f38;border-radius:5px;position:absolute;inset:10px}.course-cover:hover:not(:disabled){border-color:var(--gold);transform:translateY(-3px)}.course-cover:disabled{cursor:default;opacity:.55}.cover-numeral{color:var(--gold);font-family:var(--serif);font-size:2.9rem;line-height:1}.cover-title{letter-spacing:.32em;text-transform:uppercase;font-size:.74rem}.cover-status{color:var(--gold-dim);font-family:var(--serif);font-size:1.02rem;font-style:italic}.course-body{background:var(--paper);color:var(--ink);text-align:center;border-radius:6px;padding:44px 40px 40px;position:relative}.course-body:before{content:"";pointer-events:none;border:1px solid #291c222e;border-radius:3px;position:absolute;inset:12px}.course-kicker{color:var(--ink-muted);letter-spacing:.32em;text-transform:uppercase;margin:0 0 14px;font-size:.66rem}.course-name{margin:0 0 12px;font-size:2.15rem}.course-name:focus{outline:none}.course-name:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.course-desc{max-width:46ch;color:var(--ink-muted);margin:0 auto 18px;font-size:.98rem}.course-pairing{font-family:var(--serif);margin:0;font-size:1.08rem;font-style:italic}.course-pairing span{color:var(--ember-ink);font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;margin-right:12px;font-size:.62rem;font-style:normal}html.js .course:not(.is-revealed) .course-body,html.js .course.is-revealed .course-cover{display:none}html.js .course.is-revealed .course-body{animation:.9s cubic-bezier(.2,.65,.3,1) both uncover}html:not(.js) .course-cover{display:none}@keyframes uncover{0%{opacity:0;clip-path:inset(0 0 88%)}60%{opacity:1}to{opacity:1;clip-path:inset(0)}}.details-section{padding:110px 0}.details-list{margin:44px 0 0}.details-row{border-top:1px solid var(--line);grid-template-columns:170px 1fr;gap:18px 36px;padding:30px 0;display:grid}.details-row:last-child{border-bottom:1px solid var(--line)}.details-row dt{color:var(--gold);letter-spacing:.32em;text-transform:uppercase;padding-top:5px;font-size:.72rem}.details-row dd{color:var(--ivory-dim);margin:0}.details-price{color:var(--ivory);font-family:var(--serif);margin:0 0 14px;font-size:2.1rem}.details-price span{color:var(--ivory-dim);font-family:var(--sans);letter-spacing:.26em;text-transform:uppercase;margin-left:10px;font-size:.7rem}.includes-list{margin:0 0 16px;padding:0;list-style:none}.includes-list li{padding-left:24px;position:relative}.includes-list li+li{margin-top:8px}.includes-list li:before{content:"✦";color:var(--gold);font-size:.62rem;position:absolute;top:.35em;left:0}.details-note{margin:0;font-size:.92rem}.rsvp-section{padding:110px 0}.rsvp-form{margin-top:44px}.field-row{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;display:grid}.field-row:has(.field-seats){grid-template-columns:200px 1fr}.field label{color:var(--gold);letter-spacing:.26em;text-transform:uppercase;margin-bottom:9px;font-size:.7rem;display:block}.label-soft{color:var(--ivory-dim);letter-spacing:.2em}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;color:var(--ivory);font-family:var(--sans);background:#f1e8d40d;border-radius:6px;padding:14px 16px;font-size:1rem;font-weight:300}.field textarea{resize:vertical;min-height:88px}.field input::placeholder,.field textarea::placeholder{color:#f1e8d461}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--gold);outline-offset:0;outline-width:1px}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23d2a95f' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;padding-right:44px}.field select option{background:var(--night-raise);color:var(--ivory)}.field [aria-invalid=true]{border-color:var(--ember)}.field-error{color:var(--ember);margin:8px 0 0;font-size:.84rem}.form-hint{max-width:62ch;color:var(--ivory-dim);margin:20px 0 0;font-size:.9rem}.form-hint a{color:var(--gold);text-underline-offset:4px}.form-confirm{border:1px solid var(--gold-line);background:#d2a95f14;border-radius:10px;margin-top:28px;padding:24px 28px}.confirm-title{color:var(--gold);font-family:var(--serif);margin:0 0 10px;font-size:1.45rem;font-style:italic}.form-confirm p{color:var(--ivory-dim);margin:0 0 10px;font-size:.94rem}.form-confirm p:last-child{margin-bottom:0}.form-confirm a{color:var(--gold);text-underline-offset:4px}.faq-section{padding:110px 0 130px}.faq-list{margin-top:40px}.faq-list details{border-top:1px solid var(--line);padding:24px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;font-family:var(--serif);justify-content:space-between;gap:24px;font-size:1.4rem;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--gold);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:60ch;color:var(--ivory-dim);margin:14px 44px 0 0}.site-footer{border-top:1px solid var(--line);padding:74px 24px 42px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:44px;width:min(100%,1020px);margin-inline:auto;display:grid}.footer-brand{font-family:var(--serif);margin:0 0 10px;font-size:1.9rem}.footer-tagline{color:var(--ivory-dim);margin:0}.footer-label{color:var(--gold);letter-spacing:.32em;text-transform:uppercase;margin:4px 0 12px;font-size:.68rem}.site-footer p{color:var(--ivory-dim);font-size:.95rem}.site-footer a{color:var(--ivory);text-underline-offset:4px}.footer-social{width:fit-content;margin-bottom:6px;display:block}.footer-fineprint{border-top:1px solid var(--line);color:#f1e8d473;text-align:center;width:min(100%,1020px);margin:56px auto 0;padding-top:22px;font-size:.8rem}@media (width<=940px){.night-grid{grid-template-columns:1fr}.night-figure{max-width:440px;margin-inline:auto}}@media (width<=720px){.site-header{flex-direction:column;align-items:center;gap:14px;padding-top:26px}.site-header nav{justify-content:center}.hero{padding:205px 20px 90px}.night-section,.menu-section,.details-section,.rsvp-section{padding-top:90px;padding-bottom:90px}.faq-section{padding:90px 0 110px}.details-row{grid-template-columns:1fr;gap:10px}.field-row,.field-row:has(.field-seats){grid-template-columns:1fr}.course-body{padding:34px 22px 32px}.faq-list summary{font-size:1.24rem}.faq-list details p{margin-right:0}.footer-grid{grid-template-columns:1fr;gap:30px}}@media (width<=400px){.hero h1{font-size:2.9rem}.place-card{padding:30px 16px 28px}.place-card-kicker{letter-spacing:.2em;justify-content:center;font-size:.58rem}.place-card-kicker:before,.place-card-kicker:after{display:none}.countdown-row{gap:8px}.cd-cell{min-width:48px}.cd-num{font-size:1.45rem}.cd-unit{letter-spacing:.2em;font-size:.54rem}.seats-number{font-size:3.6rem}.seats-figure{gap:14px}.hero-actions{flex-direction:column;gap:22px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.urgency-dot,html.js .course.is-revealed .course-body{animation:none}.button,.course-cover,.text-button{transition:none}}
