:root{--bg:#03030a;--paper:#fff;--blue:#0057ff;--blue-dim:#0057ff24;--blue-mid:#0057ff80;--cyan:#00cfff;--dim:#fff9;--dimmer:#ffffff57;--dimmest:#ffffff1f;--panel:#ffffff09;--panel-hi:#ffffff0f;--border-hi:#ffffff1f;--radius:14px;--radius-sm:8px;--ease:cubic-bezier(.16, 1, .3, 1);--syne:"Syne", sans-serif;--inter:"Inter", sans-serif;--mono:"JetBrains Mono", monospace;--text:var(--paper);--text-dim:var(--dim);--panel-2:#ffffff0d;--border:var(--border-hi);--accent:var(--blue);--accent-2:#2ecc9a;--danger:#ff5470}*{box-sizing:border-box}html,body,#root{height:100%}body{min-height:100vh;color:var(--paper);font-family:var(--inter);-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:radial-gradient(900px 560px at 18% -8%,#0057ff29,#0000 60%),radial-gradient(700px 500px at 100% 8%,#00cfff12,#0000 65%),radial-gradient(#ffffff0d 1px,#0000 1px);background-repeat:no-repeat,no-repeat,repeat;background-size:auto,auto,26px 26px;background-attachment:fixed,fixed,fixed;margin:0;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.page{max-width:880px;margin:0 auto;padding:56px 24px;position:relative}.page-narrow{max-width:560px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--blue);align-items:center;gap:.6rem;margin-bottom:1.4rem;font-size:.68rem;font-weight:500;display:inline-flex}.eyebrow:before{content:"";background:var(--blue);width:22px;height:1px;display:block}h1{font-family:var(--syne);letter-spacing:-.02em;margin:0 0 10px;font-weight:800;line-height:1.05}h2{font-family:var(--syne);letter-spacing:-.01em;margin:0 0 16px;font-size:1.2rem;font-weight:700}.brand-title{font-size:clamp(2rem,5vw,2.8rem)}p.muted{color:var(--dim);margin-top:0}.glow-text{color:var(--paper);text-shadow:0 0 24px var(--blue-mid), 0 0 60px #0057ff40}.stroke-text{color:#0000;-webkit-text-stroke:2px var(--paper)}.card{background:var(--panel);border:1px solid var(--border-hi);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:22px}.event-grid{gap:14px;margin-top:8px;display:grid}.event-card{background:var(--panel);border:1px solid var(--border-hi);border-left:3px solid color-mix(in srgb, var(--card-accent,var(--blue)) 55%, var(--border-hi));border-radius:var(--radius);transition:border-color .25s var(--ease), transform .25s var(--ease), background .25s var(--ease);padding:22px 24px;display:block;position:relative;overflow:hidden}.event-card:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,0%), color-mix(in srgb, var(--card-accent,var(--blue)) 22%, transparent), transparent 70%);transition:opacity .3s;position:absolute;inset:0}.event-card:hover{border-color:var(--border-hi);border-left-color:color-mix(in srgb, var(--card-accent,var(--blue)) 85%, transparent);background:var(--panel-hi);text-decoration:none;transform:translateY(-2px)}.event-card:hover:after{opacity:1}.event-card-top{justify-content:space-between;align-items:baseline;gap:14px;display:flex}.event-card h3{font-family:var(--syne);color:var(--paper);margin:0;font-size:1.15rem;font-weight:700}.event-card-cta{white-space:nowrap;font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dimmer);flex-shrink:0;align-items:center;gap:4px;font-size:.68rem;transition:color .2s;display:inline-flex}.event-card:hover .event-card-cta{color:color-mix(in srgb, var(--card-accent,var(--blue)) 85%, var(--paper))}.event-card .arrow{transition:transform .25s var(--ease);display:inline-block}.event-card:hover .arrow{transform:translate(3px,-3px)}.event-card .meta{flex-wrap:wrap;gap:8px;margin:12px 0 10px;display:flex}.event-card .pill{font-family:var(--mono);letter-spacing:.03em;text-transform:uppercase;color:var(--dim);background:var(--panel-2);border:1px solid var(--border-hi);border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:.72rem;display:inline-flex}.event-card .pill-dot{background:var(--card-accent,var(--blue));border-radius:50%;flex-shrink:0;width:6px;height:6px}.event-card .desc{color:var(--dim);font-size:.9rem;line-height:1.6}.btn{background:var(--blue);color:var(--paper);border-radius:var(--radius-sm);letter-spacing:.02em;cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--inter);transition:box-shadow .25s var(--ease), transform .15s var(--ease), opacity .2s;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;display:inline-flex;box-shadow:0 0 #0057ff00}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 24px #0057ff73}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{color:var(--dim);border:1px solid var(--border-hi);background:0 0}.btn-secondary:hover:not(:disabled){color:var(--paper);border-color:var(--dimmer);background:var(--panel-hi);box-shadow:none}.btn-danger{background:var(--danger)}.btn-danger:hover:not(:disabled){box-shadow:0 0 24px #ff547066}.field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.field label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dimmer);font-size:.68rem}.field input,.field textarea,.field select{background:var(--panel-2);border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--paper);font-size:.95rem;font-family:var(--inter);padding:11px 13px;transition:border-color .2s,box-shadow .2s}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-dim);outline:none}.booking-shell{background:var(--panel);border:1px solid var(--border-hi);border-radius:20px;grid-template-columns:300px 1fr;gap:0;max-width:980px;min-height:560px;margin:0 auto;padding:48px 24px 80px;display:grid;position:relative;overflow:hidden}@media (width<=860px){.booking-shell{grid-template-columns:1fr;margin:24px 16px 48px;padding:0}}.info-panel{border-right:1px solid var(--border-hi);flex-direction:column;padding:36px 30px;display:flex;position:relative}@media (width<=860px){.info-panel{border-right:none;border-bottom:1px solid var(--border-hi);padding:28px 24px}}.info-panel .vline{background:linear-gradient(180deg, transparent 0%, var(--blue) 25%, var(--cyan) 75%, transparent 100%);opacity:.6;width:2px;position:absolute;top:0;bottom:0;left:0}.info-panel .back-link{font-family:var(--mono);color:var(--dimmer);letter-spacing:.04em;margin-bottom:24px;font-size:.7rem;display:inline-block}.info-panel .back-link:hover{color:var(--blue);text-decoration:none}.info-panel h1{margin-bottom:6px;font-size:1.6rem}.info-panel .meta-row{color:var(--dim);flex-direction:column;gap:8px;margin:14px 0 18px;font-size:.85rem;display:flex}.info-panel .meta-row span{align-items:center;gap:8px;display:inline-flex}.info-panel .meta-dot{background:var(--blue);width:6px;height:6px;box-shadow:0 0 8px var(--blue);border-radius:50%;flex-shrink:0}.info-panel .desc{color:var(--dim);font-size:.88rem;line-height:1.7}.info-panel .selected-summary{border-top:1px solid var(--border-hi);font-family:var(--mono);color:var(--paper);margin-top:auto;padding-top:20px;font-size:.78rem;line-height:1.6}.step-panel{padding:36px 30px;position:relative;overflow:hidden}@media (width<=860px){.step-panel{padding:24px}}.step-enter{animation:stepIn .32s var(--ease)}@keyframes stepIn{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:translate(0)}}.cal-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.cal-head .label{font-family:var(--syne);text-transform:capitalize;font-size:1.05rem;font-weight:700}.cal-nav{gap:6px;display:flex}.cal-nav button{border:1px solid var(--border-hi);width:32px;height:32px;color:var(--dim);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;transition:border-color .2s,color .2s;display:flex}.cal-nav button:hover:not(:disabled){color:var(--blue);border-color:var(--blue-mid)}.cal-nav button:disabled{opacity:.25;cursor:not-allowed}.cal-weekdays,.cal-grid{grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays{margin-bottom:6px}.cal-weekdays span{font-family:var(--mono);color:var(--dimmer);text-align:center;text-transform:uppercase;letter-spacing:.05em;font-size:.62rem}.cal-grid{gap:3px}.cal-day{aspect-ratio:1;color:var(--dim);font-size:.85rem;font-family:var(--inter);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:background .18s,color .18s;display:flex;position:relative}.cal-day:hover:not(:disabled){background:var(--panel-hi);color:var(--paper)}.cal-day.empty{visibility:hidden}.cal-day.today{color:var(--cyan);font-weight:600}.cal-day:disabled{color:var(--dimmest);cursor:default}.cal-day.selected{background:var(--blue);color:var(--paper);box-shadow:0 0 18px #0057ff80}.cal-day .dot{background:var(--blue);border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.cal-day.selected .dot{background:var(--paper)}.time-col-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dimmer);margin-bottom:14px;font-size:.68rem}.time-list{flex-direction:column;gap:8px;max-height:420px;padding-right:4px;display:flex;overflow-y:auto}.time-pill{background:var(--panel-2);border:1px solid var(--border-hi);border-radius:var(--radius-sm);color:var(--paper);font-family:var(--mono);text-align:left;cursor:pointer;padding:10px 16px;font-size:.85rem;transition:border-color .2s,background .2s}.time-pill:hover{border-color:var(--blue-mid);background:var(--blue-dim)}.calendar-time-grid{grid-template-columns:1fr 200px;gap:32px;display:grid}@media (width<=640px){.calendar-time-grid{grid-template-columns:1fr}}.confirm-wrap{justify-content:center;align-items:center;min-height:70vh;display:flex;position:relative}.confirm-card{z-index:1;text-align:center;max-width:460px;position:relative}.confirm-card h1{margin-bottom:14px;font-size:2.1rem}.confirm-card .when{font-family:var(--mono);color:var(--paper);margin-bottom:6px;font-size:1rem}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:16px 0 24px;display:grid}.slot-btn{background:var(--panel-2);border:1px solid var(--border-hi);color:var(--paper);cursor:pointer;text-align:center;font-size:.9rem;font-family:var(--mono);border-radius:8px;padding:10px 8px}.slot-btn:hover{border-color:var(--blue)}.slot-btn.selected{background:var(--blue);border-color:var(--blue);color:var(--paper)}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--border-hi);padding:10px 12px}th{color:var(--dimmer);font-weight:500;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.badge{background:var(--panel-2);border:1px solid var(--border-hi);font-size:.72rem;font-family:var(--mono);border-radius:999px;padding:3px 10px;display:inline-block}.badge.accepted{color:var(--accent-2);border-color:var(--accent-2)}.badge.pending{color:#f5a623;border-color:#f5a623}.badge.cancelled,.badge.rejected{color:var(--danger);border-color:var(--danger)}.admin-shell{min-height:100vh;display:flex}.admin-nav{border-right:1px solid var(--border-hi);background:#ffffff05;flex-direction:column;flex-shrink:0;gap:4px;width:220px;padding:24px 16px;display:flex}.admin-nav a{color:var(--dim);border-radius:8px;padding:8px 12px;font-size:.9rem}.admin-nav a:hover,.admin-nav a.active{background:var(--panel-2);color:var(--paper);text-decoration:none}.admin-main{flex:1;max-width:960px;padding:32px}.error-msg{color:var(--danger);margin-top:8px;font-size:.9rem}.success-msg{color:var(--accent-2);margin-top:8px;font-size:.9rem}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.center-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.particle-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.particle-canvas canvas{width:100%;height:100%;display:block}.intake-q{border-top:1px solid var(--dimmest);transition:border-color .25s var(--ease);padding:24px 0}.intake-q:first-child{border-top:none;padding-top:4px}.intake-q.missing{border-top-color:var(--danger)}.intake-q-head{align-items:flex-start;gap:14px;display:flex}.intake-q-num{font-family:var(--mono);color:var(--dimmer);letter-spacing:.06em;flex-shrink:0;padding-top:4px;font-size:.7rem}.intake-q-label{font-family:var(--syne);color:var(--paper);margin:0;font-size:1.02rem;font-weight:700;line-height:1.45}.intake-q-hint{color:var(--dimmer);margin:5px 0 0;font-size:.8rem;line-height:1.6}.intake-q.missing .intake-q-label{color:var(--danger)}.intake-opts{flex-wrap:wrap;gap:8px;margin:16px 0 0 34px;display:flex}@media (width<=560px){.intake-opts{margin-left:0}}.intake-opt{font-family:var(--inter);color:var(--dim);background:var(--panel);border:1px solid var(--border-hi);cursor:pointer;transition:color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);border-radius:999px;padding:11px 16px;font-size:.86rem;line-height:1.3}.intake-opt:hover{color:var(--paper);border-color:var(--dimmer);background:var(--panel-hi)}.intake-opt:active{transform:scale(.97)}.intake-opt.on{color:var(--paper);background:var(--blue-dim);border-color:var(--blue);box-shadow:0 0 18px #0057ff47}.intake-opt:focus-visible{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-dim);outline:none}
