:root{--ink:#14120f;--ink-2:#1d1a16;--paper:#f4efe6;--paper-dim:#f4efe6ad;--paper-faint:#f4efe66b;--line:#f4efe61f;--timber:#a8784b;--velvet:#3550a8;--velvet-hi:#4766c7;--brass:#d1ab63;--glass:#161310c7;--warn:#ffb36b;--serif:"Fraunces", Georgia, serif;--sans:"Manrope", system-ui, -apple-system, sans-serif;--r:14px}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.btn{border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-weight:600;text-decoration:none;transition:transform .15s,background .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--velvet);color:#fff}.btn-primary:hover{background:var(--velvet-hi)}.btn-lg{padding:18px 30px;font-size:17px}.btn-sm{padding:8px 14px;font-size:13px}.btn-block{width:100%}.btn-ghost{border:1px solid var(--line);color:var(--paper-dim);background:0 0;margin-top:12px}.btn-glass{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line)}.icon-btn{border:1px solid var(--line);background:#ffffff0a;border-radius:50%;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.link{color:var(--brass);background:0 0;border:0;padding:0;text-decoration:underline}.kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 12px;font-size:12px}.muted{color:var(--paper-faint)}.fine{color:var(--paper-faint);margin:12px 0 0;font-size:12px}.intro{background:radial-gradient(120% 80% at 80% 10%, #2a2119 0%, var(--ink) 60%);flex-direction:column;min-height:100dvh;padding:28px clamp(20px,5vw,64px);display:flex;position:relative;overflow:hidden}.intro-slats{transform-origin:top;pointer-events:none;background:repeating-linear-gradient(90deg,#a8784b38 0 14px,#0000 14px 34px);height:46%;animation:30s linear infinite slats;position:absolute;inset:-10% -10% auto;transform:perspective(600px)rotateX(58deg);-webkit-mask-image:linear-gradient(#000 10%,#0000 95%);mask-image:linear-gradient(#000 10%,#0000 95%)}@keyframes slats{to{background-position:340px 0}}.intro-glow{filter:blur(20px);pointer-events:none;background:radial-gradient(circle,#3550a873,#0000 60%);width:60vmax;height:60vmax;animation:9s ease-in-out infinite alternate glow;position:absolute;bottom:-25vmax;right:-20vmax}@keyframes glow{to{transform:translate(-6vmax,-4vmax)scale(1.1)}}.intro-top{z-index:1;justify-content:space-between;align-items:baseline;font-size:14px;display:flex;position:relative}.brand{font-family:var(--serif);font-size:20px}.brand em{color:var(--paper-dim);font-size:15px;font-style:italic}.intro-hero{z-index:1;max-width:980px;margin:auto 0;padding:60px 0 40px;position:relative}.headline{font-family:var(--serif);letter-spacing:-.025em;margin:0 0 28px;font-size:clamp(46px,8.6vw,118px);font-weight:350;line-height:.98}.headline .line{display:block}.headline .word{vertical-align:top;margin-right:.22em;padding-bottom:.08em;display:inline-block;overflow:hidden}.headline .word>span{animation:.9s cubic-bezier(.2,.8,.2,1) forwards rise;display:inline-block;transform:translateY(105%)}.headline .accent{color:var(--brass);font-style:italic}@keyframes rise{to{transform:none}}.reveal{opacity:0;animation:.8s forwards fade;transform:translateY(14px)}@keyframes fade{to{opacity:1;transform:none}}.lede{max-width:520px;color:var(--paper-dim);margin:0 0 32px;font-size:18px;line-height:1.55}.facts{color:var(--paper-dim);gap:32px;margin:40px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.facts strong{font-family:var(--serif);color:var(--paper);font-size:28px;font-weight:400;display:block}.picker-backdrop{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#0a090799;place-items:center;padding:20px;animation:.3s forwards fade;display:grid;position:fixed;inset:0}.picker{background:var(--ink-2);border:1px solid var(--line);border-radius:22px;width:min(980px,100%);max-height:calc(100dvh - 40px);padding:clamp(20px,4vw,36px);overflow:auto}.picker-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.picker h2{font-family:var(--serif);margin:0;font-size:clamp(28px,4vw,40px);font-weight:400}.picker-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.event-card{text-align:left;border-radius:var(--r);border:1px solid var(--line);opacity:0;background:#ffffff08;flex-direction:column;gap:8px;padding:20px;transition:border-color .2s,background .2s,transform .2s;animation:.5s forwards fade;display:flex}.event-card:hover{border-color:var(--brass);background:#d1ab630f;transform:translateY(-2px)}.event-icon svg{width:40px;height:40px;color:var(--brass)}.event-name{font-family:var(--serif);font-size:22px}.event-blurb{color:var(--paper-dim);flex:1;font-size:14px;line-height:1.45}.event-from{color:var(--paper-faint);margin-top:6px;font-size:12px}.sim{position:fixed;inset:0;overflow:hidden}.scene{touch-action:none;position:absolute;inset:0}.scene-loading{color:var(--paper-dim);place-items:center;gap:12px;display:grid;position:absolute;inset:0}.spinner{border:2px solid var(--line);border-top-color:var(--brass);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sim-top{padding:max(14px, env(safe-area-inset-top)) 16px 14px;pointer-events:none;z-index:3;align-items:center;gap:14px;display:flex;position:absolute;top:0;left:0;right:0}.sim-top>*{pointer-events:auto}.sim-title{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:12px;flex-direction:column;padding:6px 14px;line-height:1.2;display:flex}.sim-title small{color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.sim-title strong{font-family:var(--serif);font-size:18px;font-weight:400}.seg{border:1px solid var(--line);background:#ffffff0d;border-radius:999px;padding:3px;display:flex}.seg button{color:var(--paper-dim);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:7px 13px;font-size:13px}.seg button.on{background:var(--paper);color:var(--ink);font-weight:600}.seg-glass{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-left:auto}.panel{z-index:3;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;flex-direction:column;width:340px;display:flex;position:absolute;top:78px;bottom:16px;left:16px;overflow:hidden}.tabs{border-bottom:1px solid var(--line);display:flex}.tabs button{color:var(--paper-faint);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:14px 6px;font-size:14px;font-weight:600;display:inline-flex}.tabs .panel-close{display:none}.tabs button.on{color:var(--paper);border-bottom-color:var(--brass)}.badge{color:var(--brass);background:#d1ab6333;border-radius:999px;padding:1px 7px;font-size:11px}.panel-body{scrollbar-width:thin;flex:1;padding:16px;overflow-y:auto}.hint{color:var(--paper-faint);margin:0 0 12px;font-size:13px;line-height:1.45}.sub{letter-spacing:.12em;text-transform:uppercase;color:var(--paper-faint);margin:22px 0 10px;font-size:12px;font-weight:600}.sub:first-child{margin-top:4px}.catalog{flex-direction:column;gap:6px;display:flex}.cat-item{text-align:left;background:#ffffff08;border:1px solid #0000;border-radius:12px;grid-template-columns:40px 1fr auto 24px;align-items:center;gap:10px;padding:10px;transition:border-color .15s,background .15s;display:grid}.cat-item:hover{border-color:var(--line);background:#ffffff0f}.cat-icon svg{width:36px;height:36px;color:var(--brass)}.cat-text{flex-direction:column;min-width:0;display:flex}.cat-name{font-size:14px;font-weight:600}.count{color:var(--brass);margin-left:6px;font-size:12px}.cat-note{color:var(--paper-faint);font-size:12px}.cat-price{color:var(--paper-dim);white-space:nowrap;font-size:12px}.cat-add{background:var(--velvet);border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:grid}.toggles{flex-direction:column;gap:6px;display:flex}.toggle{cursor:pointer;background:#ffffff08;border-radius:12px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle-ui{background:#ffffff26;border-radius:999px;width:34px;height:20px;transition:background .2s;position:relative}.toggle-ui:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle input:checked+.toggle-ui{background:var(--velvet-hi)}.toggle input:checked+.toggle-ui:after{transform:translate(14px)}.toggle input:focus-visible+.toggle-ui{outline:2px solid var(--brass)}.toggle-text{flex-direction:column;font-size:14px;font-weight:600;display:flex}.toggle-text small{color:var(--paper-faint);font-size:12px;font-weight:400}.themes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.theme{text-align:left;border:1px solid var(--line);background:#ffffff08;border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.theme.on{border-color:var(--brass);background:#d1ab6314}.swatches{display:flex}.swatches i{border:2px solid var(--ink-2);border-radius:50%;width:20px;height:20px;margin-right:-6px}.theme-name{font-size:13px;font-weight:600}.theme-price{color:var(--paper-faint);font-size:12px}.colour-row{color:var(--paper-dim);align-items:center;gap:12px;font-size:13px;display:flex}.colour-row input[type=color]{border:1px solid var(--line);background:0 0;border-radius:12px;flex-shrink:0;width:44px;height:44px;padding:3px}.guest-count{justify-content:space-between;align-items:center;margin:4px 0 12px;display:flex}.guest-count div{text-align:center}.guest-count strong{font-family:var(--serif);font-size:52px;font-weight:400;line-height:1;display:block}.guest-count span{color:var(--paper-faint);font-size:13px}.range{width:100%;accent-color:var(--brass)}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.stats div{background:#ffffff08;border-radius:12px;padding:12px}.stats strong{font-size:22px;display:block}.stats span{color:var(--paper-faint);font-size:12px}.warn{color:var(--warn);background:#ffb36b1a;border-radius:10px;margin:0 0 12px;padding:10px 12px;font-size:13px}.vibe{margin-top:8px}.vibe-head{color:var(--paper-faint);justify-content:space-between;margin-bottom:8px;font-size:13px;display:flex}.vibe-head strong{color:var(--paper)}.vibe-bar{background:#ffffff14;border-radius:999px;height:8px;overflow:hidden}.vibe-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--velvet-hi), var(--brass), #ff7a59);height:100%;transition:width .4s;display:block}.quote{z-index:3;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:18px;width:330px;position:absolute;top:78px;right:16px;overflow:hidden}.quote-bar{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;display:flex}.quote-bar small{color:var(--paper-faint);font-size:12px;display:block}.quote-bar strong{font-family:var(--serif);font-size:26px;font-weight:400}.quote-toggle{color:var(--brass);font-size:12px}.quote-body{max-height:calc(100dvh - 190px);padding:0 16px 16px;display:none;overflow-y:auto}.quote.open .quote-body{display:block}.lines{margin:0 0 8px;padding:0;font-size:14px;list-style:none}.lines li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.lines li>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.lines small{color:var(--paper-faint);font-size:12px;display:block}.lines .taxline{color:var(--paper-dim)}.lines .total{border-top-color:#f4efe659;font-size:16px;font-weight:700}.per{color:var(--paper-faint);margin:0 0 14px;font-size:13px}.date{color:var(--paper-faint);flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;display:flex}.date input{border:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0d;border-radius:10px;padding:10px 12px}.selbar{z-index:4;background:var(--paper);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:6px;animation:.2s pop;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}@keyframes pop{0%{opacity:0;transform:translate(-50%,10px)}}.selname{padding:0 10px 0 12px;font-size:13px;font-weight:700}.selbar button{color:var(--ink);background:#14120f0f;border:0;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:600}.selbar button.danger{color:#b3261e}.selbar button.close{background:var(--ink);color:var(--paper)}.credit{z-index:2;color:var(--paper-faint);pointer-events:none;margin:0;font-size:11px;position:absolute;bottom:10px;right:18px}@media (max-width:900px){.sim-top{padding:max(10px, env(safe-area-inset-top)) 10px 10px;flex-wrap:wrap;gap:8px}.sim-title{flex:1}.seg-glass{order:3;justify-content:space-between;width:100%;margin:0}.seg-glass button{flex:1}.quote{border-radius:16px;width:auto;inset:auto 10px 64px}.quote-bar{padding:10px 14px}.quote-bar strong{font-size:21px}.quote-body{max-height:52dvh}.panel{width:auto;max-height:58dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:18px 18px 0 0;inset:auto 0 0}.panel .panel-body{display:none}.panel.open .panel-body{max-height:calc(58dvh - 50px);display:block}.panel.open~.quote{display:none}.tabs{border-bottom:0;align-items:center}.tabs .panel-close{border:1px solid var(--line);width:34px;height:34px;color:var(--paper);background:#ffffff0f;border-radius:50%;flex:none;place-items:center;margin:0 8px 0 2px;padding:0;display:grid}.panel.open .tabs{border-bottom:1px solid var(--line)}.tabs button{padding:13px 4px}.selbar{top:128px;bottom:auto}.selname,.credit{display:none}.facts{gap:22px}}.story{background:var(--ink);height:1100vh;position:relative}.story-stage{height:100dvh;position:sticky;top:0;overflow:hidden}.story-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.story-shade{pointer-events:none;opacity:.35;background:radial-gradient(120% 90% at 0 100%,#0a0907bf,#0a090700 60%),linear-gradient(#0a09078c 0%,#0a090700 22% 45%,#0a0907d9 100%);position:absolute;inset:0}.story-top{z-index:2;padding:max(20px, env(safe-area-inset-top)) clamp(20px, 5vw, 64px) 20px;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.story-cap{z-index:2;pointer-events:none;text-shadow:0 2px 24px #00000073;will-change:opacity, transform;max-width:640px;position:absolute;bottom:clamp(70px,12vh,120px);left:clamp(20px,5vw,64px)}.story-cap h2{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(38px,6.4vw,88px);font-weight:350;line-height:1}.story-cap p{color:var(--paper-dim);margin:0;font-size:clamp(15px,1.4vw,18px)}.story-cta{z-index:3;max-width:760px;position:absolute;bottom:clamp(40px,9vh,96px);left:clamp(20px,5vw,64px);right:clamp(20px,5vw,64px)}.story-cta .headline{font-size:clamp(52px,9vw,128px)}.story-cta .headline .word>span{transition:transform .9s cubic-bezier(.2,.8,.2,1);animation:none;transform:translateY(105%)}.story-cta.in .headline .word>span{transform:none}.story-cta .lede{margin-bottom:26px}.story-cta .facts{margin-top:28px}.story-hint{z-index:2;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);pointer-events:none;flex-direction:column;align-items:center;gap:10px;font-size:12px;display:flex;position:absolute;bottom:clamp(70px,12vh,120px);right:clamp(20px,5vw,64px)}.story-hint i{background:linear-gradient(var(--paper), transparent);transform-origin:top;width:1px;height:46px;animation:1.8s ease-in-out infinite hint}@keyframes hint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.story-bar{z-index:2;background:#ffffff14;height:3px;position:absolute;bottom:0;left:0;right:0}.story-bar span{background:var(--brass);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.story-loading{z-index:2;color:var(--paper-dim);align-items:center;gap:12px;font-size:14px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (max-width:900px){.story-hint{display:none}.story-top .btn{padding:7px 12px}.story-top .brand em{display:none}}
