:root{--brand-red:#ff313b;--brand-cream:#f6f0e4;--brand-ink:#191919;--bg:#0f0f10;--surface:var(--brand-ink);--surface-raised:#232325;--surface-field:#131314;--surface-overlay:#2d2d30;--border:#343437;--border-strong:#77777c;--text:var(--brand-cream);--text-muted:#a8a39a;--accent:#ff4f59;--action:#d91f2d;--action-hover:#bd1824;--action-active:#9e111c;--on-action:#ffffff;--selected:#ff313b26;--focus-ring:var(--brand-cream);--success:#4cc9dc;--warning:#f2b84b;--danger:#ff6b73;--success-bg:#4cc9dc1f;--warning-bg:#f2b84b1f;--danger-bg:#ff6b731f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--card-pad:24px;--card-gap:24px;--section-gap:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--shadow-sm:0 1px 2px #00000066;--shadow-lg:0 16px 40px #000000b3;--target-min:24px;--target-touch:44px;--field-height:48px;--container:1200px;--dur-micro:120ms;--dur-ui:200ms;--dur-exit:160ms;--dur-panel:280ms;--dur-stagger:60ms;--ease-out:cubic-bezier(0.23, 1, 0.32, 1);--ease-in-out:cubic-bezier(0.77, 0, 0.175, 1);--ease-hover:ease;--z-nav:100;--z-overlay:200;--z-modal:300;--z-toast:500;--font-display:"Barlow Condensed","Arial Narrow",Impact,sans-serif;--font-sans:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif}:root{--dur-micro:120ms;--dur-ui:200ms;--dur-exit:160ms;--dur-panel:280ms;--dur-stagger:60ms;--ease-out:cubic-bezier(0.23, 1, 0.32, 1);--ease-in-out:cubic-bezier(0.77, 0, 0.175, 1);--ease-hover:ease}.otop{--card-pad:24px;--card-gap:24px;--section-gap:32px;--gutter:24px;color-scheme:dark;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}.otop *,.otop ::after,.otop ::before{box-sizing:border-box}.otop :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.otop h1,.otop h2,.otop h3,.otop p{margin:0}.otop svg{flex:none}.o-display{font-family:var(--font-display);text-transform:uppercase;font-weight:700}.o-label{font:600 13px/16px var(--font-sans);letter-spacing:.16em;text-transform:uppercase}.o-accent{color:var(--accent)}.o-muted{color:var(--text-muted)}.o-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.o-icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.o-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--field-height,48px);padding:0 var(--space-5);border:1.5px solid transparent;border-radius:var(--radius-md);font:600 15px/20px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:0 0;color:var(--text);position:relative;white-space:nowrap}.o-btn--primary{background:var(--action);color:var(--on-action)}.o-btn--secondary{border-color:var(--border-strong);color:var(--text)}.o-btn--text{padding:0 var(--space-2);color:var(--accent)}.o-btn--sm{min-height:40px;padding:0 var(--space-4);font-size:13px;border-radius:var(--radius-sm)}.o-btn--block{width:100%}.o-btn[aria-disabled=true],.o-btn[disabled]{background:var(--surface-raised);border-color:transparent;color:var(--text-muted);cursor:not-allowed}.o-btn__bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--on-action);transform-origin:left;transform:scaleX(0);opacity:.9}.o-btn[aria-busy=true] .o-btn__bar{transform:scaleX(.6)}@media (prefers-reduced-motion:no-preference){.o-btn{transition:background-color var(--dur-micro) var(--ease-hover),border-color var(--dur-micro) var(--ease-hover),transform var(--dur-micro) var(--ease-out)}.o-btn:active:not([disabled]){transform:scale(.97)}.o-btn[aria-busy=true] .o-btn__bar{animation:o-load 1.1s var(--ease-in-out) infinite alternate}}@media (hover:hover) and (pointer:fine){.o-btn--primary:hover:not([disabled]){background:var(--action-hover)}.o-btn--secondary:hover:not([disabled]){background:var(--surface-raised);border-color:var(--text)}.o-btn--text:hover{text-decoration:underline;text-underline-offset:4px}}.o-btn--primary:active:not([disabled]){background:var(--action-active)}@keyframes o-load{from{transform:scaleX(.15)}to{transform:scaleX(1)}}.o-nav{display:flex;align-items:center;gap:var(--space-5);min-height:72px;padding:0 max(var(--gutter),calc((100% - var(--container,1200px))/ 2 + var(--gutter)));background:var(--bg);border-bottom:1px solid var(--border)}.o-nav__logo{height:28px;width:auto;display:block}.o-nav__list{display:flex;gap:var(--space-1);margin:0 auto;padding:0;list-style:none}.o-nav__link{position:relative;display:inline-flex;align-items:center;min-height:var(--target-touch);padding:0 var(--space-3);font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-decoration:none}.o-nav__link[aria-current=page]{color:var(--accent)}.o-nav__link::after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:6px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left}.o-nav__link[aria-current=page]::after{transform:scaleX(1)}.o-nav__menu{display:none}.o-nav--compact{justify-content:space-between}.o-nav--compact .o-nav__cta,.o-nav--compact .o-nav__list{display:none}.o-nav--compact .o-nav__menu{display:inline-flex}@media (prefers-reduced-motion:no-preference){.o-nav__link::after{transition:transform var(--dur-ui) var(--ease-in-out)}}@media (hover:hover) and (pointer:fine){.o-nav__link:hover::after{transform:scaleX(1)}}@media (max-width:860px){.o-nav__list{display:none}.o-nav{justify-content:space-between}.o-nav__menu{display:inline-flex}.o-nav__cta{display:none}}.o-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-6);padding:var(--space-7) var(--space-5);align-items:end;background:var(--bg)}.o-hero__title{font:700 96px/88px var(--font-display);letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}.o-hero__title span{color:var(--accent);display:block}
.o-hero__title--img{line-height:0}.o-hero__slogan{display:block;width:100%;max-width:480px;height:auto}.o-hero__lead{max-width:44ch;margin-top:var(--space-6);font-size:18px;line-height:28px}.o-hero__place{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-4);color:var(--text);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.o-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-6)}.o-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:var(--space-4) 0;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.o-stat{padding:0 var(--space-3);text-align:center;min-width:0}.o-stat+.o-stat{border-left:2px solid var(--accent)}.o-stat__n{font:600 44px/44px var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.01em}.o-stat__l{margin-top:var(--space-1);font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(135deg,var(--surface-raised),var(--surface));border:1px solid var(--border);display:flex;align-items:flex-end;min-height:220px}.o-hero .o-media{border-radius:var(--radius-xl)}.o-media__tag{margin:var(--space-3);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--surface-overlay);color:var(--text-muted);font:600 11px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase}@media (max-width:760px){.o-hero{grid-template-columns:minmax(0,1fr);padding:var(--space-6) var(--space-4);gap:var(--space-5)}.o-hero__actions .o-btn{flex:1 1 100%}.o-hero__title{font-size:56px;line-height:52px}.o-stat__n{font-size:32px;line-height:32px}}.o-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:var(--card-gap);margin:0;padding:0;list-style:none}.o-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:left;color:var(--text);text-decoration:none;height:100%}.o-card__icon{display:grid;place-items:center;width:56px;height:56px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--surface-field);border:1px solid var(--border);color:var(--accent)}.o-card__icon .o-icon{width:28px;height:28px;stroke-width:1.75}.o-card__title{font:600 24px/28px var(--font-display);letter-spacing:.04em;text-transform:uppercase;text-wrap:balance}.o-card__meta{font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-card--feature{gap:0;padding:var(--space-2);overflow:hidden}.o-card__go{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3);font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.o-card__go .o-icon{width:18px;height:18px}.o-card--feature .o-media{border-radius:var(--radius-md);min-height:170px;width:100%}.o-card--feature .o-card__body{display:grid;gap:var(--space-2);padding:var(--space-4) var(--space-3) var(--space-3)}.o-card--feature .o-card__title{font-size:20px;line-height:24px;letter-spacing:.06em}@media (prefers-reduced-motion:no-preference){.o-card{transition:border-color var(--dur-micro) var(--ease-hover),transform var(--dur-ui) var(--ease-out);animation:o-in var(--dur-ui) var(--ease-out) both;animation-delay:calc(var(--i, 0) * var(--dur-stagger))}.o-card__go .o-icon{transition:transform var(--dur-ui) var(--ease-out)}}@media (hover:hover) and (pointer:fine){a.o-card:hover{border-color:var(--accent);transform:translateY(-2px)}a.o-card:hover .o-card__go .o-icon{transform:translateX(4px)}}.o-badge{display:inline-flex;align-items:center;gap:var(--space-1);min-height:24px;padding:0 var(--space-2);border-radius:var(--radius-pill);font:600 12px/16px var(--font-sans);letter-spacing:.06em;text-transform:uppercase;background:var(--surface-raised);color:var(--text);border:1px solid var(--border-strong)}.o-badge .o-icon{width:14px;height:14px;stroke-width:2.25}.o-badge--open{background:var(--success-bg);color:var(--success);border-color:var(--success)}.o-badge--few{background:var(--warning-bg);color:var(--warning);border-color:var(--warning)}.o-badge--full{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.o-badge--wait{color:var(--text)}.o-form{display:grid;gap:var(--space-5)}.o-field{display:grid;gap:var(--space-2);align-content:start;min-width:0}.o-field__label{font:600 14px/20px var(--font-sans);letter-spacing:.02em;color:var(--text)}.o-field__req{color:var(--accent);margin-left:2px}.o-field__opt{color:var(--text-muted);font-weight:400;font-size:13px;margin-left:var(--space-2)}.o-input,.o-select,.o-textarea{width:100%;min-height:var(--field-height,48px);padding:var(--space-2) var(--space-4);background:var(--surface-field);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);font:500 16px/24px var(--font-sans);appearance:none;-webkit-appearance:none}.o-select{padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8a39a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:20px}.o-input:focus,.o-select:focus,.o-textarea:focus{border-color:var(--text)}.o-textarea{min-height:112px;padding-top:var(--space-3);padding-bottom:var(--space-3);resize:vertical}.o-input::placeholder{color:var(--text-muted);opacity:1}.o-input[aria-invalid=true],.o-select[aria-invalid=true]{border-color:var(--danger)}.o-input:disabled{color:var(--text-muted);border-color:var(--border)}.o-field__help{font-size:14px;line-height:22px;color:var(--text-muted)}.o-field__error{display:flex;gap:var(--space-2);align-items:flex-start;font-size:14px;line-height:22px;color:var(--danger);font-weight:500}.o-field__error .o-icon{width:18px;height:18px;margin-top:2px}.o-fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--space-2)}.o-choices{display:flex;flex-wrap:wrap;gap:var(--space-2)}.o-choice{position:relative}.o-choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.o-choice span{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--field-height,48px);padding:0 var(--space-4);background:var(--surface-field);border:1px solid var(--border-strong);border-radius:var(--radius-md);font-weight:500}.o-choice input:checked+span{background:var(--selected);border-color:var(--accent);color:var(--text)}.o-choice input:checked+span::before{content:"";width:14px;height:8px;border-left:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:rotate(-45deg) translate(1px,-2px)}.o-choice input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.o-check{display:flex;gap:var(--space-3);align-items:center;min-height:var(--target-touch)}.o-check input{width:20px;height:20px;margin:0;accent-color:var(--action);flex:none}@media (prefers-reduced-motion:no-preference){.o-choice span,.o-input,.o-select,.o-textarea{transition:border-color var(--dur-micro) var(--ease-hover),background-color var(--dur-micro) var(--ease-hover)}}@media (hover:hover) and (pointer:fine){.o-input:hover:not(:disabled),.o-select:hover{border-color:var(--text-muted)}.o-choice:hover span{border-color:var(--text-muted)}}.o-steps{display:flex;gap:var(--space-2);margin:0;padding:0;list-style:none;counter-reset:s}.o-step{flex:1 1 0;min-width:0;display:grid;gap:var(--space-2);font:600 12px/16px var(--font-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.o-step::before{content:"";height:4px;border-radius:2px;background:var(--border-strong)}.o-step[data-state=done]::before{background:var(--accent)}.o-step[aria-current=step]{color:var(--text)}.o-step[aria-current=step]::before{background:var(--accent)}.o-step span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:560px){.o-step:not([aria-current=step]) span{display:none}.o-step[aria-current=step]{flex:3 1 0}}.o-days{display:flex;gap:var(--space-2);overflow-x:auto;padding:2px 2px var(--space-2);margin:0 -2px;scroll-snap-type:x proximity}.o-day{position:relative;flex:0 0 auto;scroll-snap-align:start}.o-day input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.o-day span{display:grid;justify-items:center;min-width:64px;min-height:76px;align-content:center;padding:var(--space-2);background:var(--surface-field);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.o-day b{font:600 26px/28px var(--font-display);letter-spacing:.02em;font-variant-numeric:tabular-nums}.o-day small{font:600 11px/14px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-day input:checked+span{background:var(--selected);border-color:var(--accent)}.o-day input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.o-day input:disabled+span{opacity:.55;border-style:dashed}.o-day input:disabled{cursor:not-allowed}.o-tz{display:inline-flex;gap:var(--space-2);align-items:center;font-size:14px;color:var(--text-muted)}.o-tz .o-icon{width:16px;height:16px}.o-slots{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,264px),1fr));margin:0;padding:0;list-style:none}.o-slot{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-content:center;padding:var(--space-4) var(--space-5);background:var(--surface-field);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.o-slot input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.o-slot__when{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:var(--space-4)}
.o-slot__date,.o-slot__time{font:600 clamp(22px,6.4vw,28px)/32px var(--font-display);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;font-variant-numeric:tabular-nums}
.o-slot__time{padding-left:var(--space-4);border-left:1px solid var(--border-strong)}.o-slot__what{font-weight:500;line-height:20px}.o-slot__sub{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;font-size:14px;color:var(--text-muted)}.o-slot:has(input:checked){background:var(--selected);border-color:var(--accent)}.o-slot:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.o-slot:has(input:disabled){border-style:dashed}.o-slot:has(input:disabled) .o-slot__date,.o-slot:has(input:disabled) .o-slot__time,.o-slot:has(input:disabled) .o-slot__what{color:var(--text-muted)}.o-slot:has(input:disabled) input{cursor:not-allowed}@media (prefers-reduced-motion:no-preference){.o-day span,.o-slot{transition:border-color var(--dur-micro) var(--ease-hover),background-color var(--dur-micro) var(--ease-hover)}.o-slots li{animation:o-in var(--dur-ui) var(--ease-out) both;animation-delay:calc(var(--i, 0) * 40ms)}}@media (hover:hover) and (pointer:fine){.o-slot:has(input:not(:disabled):not(:checked)):hover{border-color:var(--text)}.o-day input:not(:disabled):not(:checked):hover+span{border-color:var(--text)}}.o-book{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--card-gap);align-items:start;padding:var(--card-gap);background:var(--bg)}.o-panel{display:grid;gap:var(--space-5);padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);min-width:0}.o-panel__title{font:700 36px/40px var(--font-display);letter-spacing:.02em;text-transform:uppercase}.o-panel__step{display:grid;gap:var(--space-5);align-content:start}.o-panel__head{flex-wrap:wrap;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.o-panel__count{font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;padding-bottom:6px}.o-panel__foot{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;align-items:center;padding-top:var(--space-5);border-top:1px solid var(--border)}.o-summary{display:grid;gap:var(--space-4);padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);position:sticky;top:var(--space-5)}.o-summary dl{display:grid;gap:0;margin:0}.o-summary dl>div{padding:var(--space-3) 0;border-top:1px solid var(--border)}.o-summary dl>div:first-child{border-top:0;padding-top:0}.o-summary dt{font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-summary dd{margin:2px 0 0;font-weight:500}.o-summary dd[data-empty]{color:var(--text-muted);font-weight:400}.o-services{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,232px),1fr));margin:0;padding:0;list-style:none}.o-service{position:relative;display:grid;grid-template-columns:1fr auto;grid-template-areas:'ic dot' 'tx tx';align-items:start;gap:var(--space-4);padding:var(--space-4);min-height:148px;background:var(--surface-field);border:1px solid var(--border-strong);border-radius:var(--radius-md)}.o-service__ic{grid-area:ic;display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border);color:var(--accent)}.o-services>li{display:flex}.o-services>li>.o-service{flex:1}.o-service__tx{grid-area:tx;align-self:end}.o-service::after{content:"";grid-area:dot;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border-strong)}.o-service:has(input:checked)::after{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 5px,transparent 6px)}.o-service input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}.o-service .o-service__ic .o-icon{width:26px;height:26px;color:currentColor;stroke-width:1.75}.o-service b{display:block;font:600 22px/24px var(--font-display);letter-spacing:.05em;text-transform:uppercase}.o-service small{display:block;margin-top:var(--space-1);color:var(--text-muted);font-size:14px;line-height:20px}.o-service:has(input:checked){background:var(--selected);border-color:var(--accent)}.o-service:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.o-grid2{align-items:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.o-confirm{display:grid;gap:var(--space-4);justify-items:start}.o-confirm__mark{width:64px;height:64px;border-radius:var(--radius-pill);background:var(--success-bg);color:var(--success);border:2px solid var(--success);display:grid;place-items:center}.o-confirm__mark .o-icon{width:32px;height:32px;stroke-width:2.5}.o-confirm__ref{font:600 26px/28px var(--font-display);letter-spacing:.12em;font-variant-numeric:tabular-nums;padding:var(--space-3) var(--space-4);background:var(--surface-field);border:1.5px dashed var(--border-strong);border-radius:var(--radius-md)}@media (prefers-reduced-motion:no-preference){.o-panel__step{animation:o-in var(--dur-ui) var(--ease-out) both}.o-service{transition:border-color var(--dur-micro) var(--ease-hover),background-color var(--dur-micro) var(--ease-hover)}.o-confirm__mark{animation:o-pop var(--dur-panel) var(--ease-out) both}.o-confirm__mark path{stroke-dasharray:30;stroke-dashoffset:30;animation:o-draw var(--dur-panel) var(--ease-out) 120ms forwards}}@media (hover:hover) and (pointer:fine){.o-service:has(input:not(:checked)):hover{border-color:var(--text)}}@media (max-width:860px){.o-book{grid-template-columns:minmax(0,1fr);padding:var(--space-4)}.o-summary{position:static}.o-panel__title{font-size:30px;line-height:34px}.o-grid2{grid-template-columns:minmax(0,1fr)}.o-panel__foot{position:sticky;bottom:0;z-index:var(--z-nav);margin:0 calc(-1 * var(--card-pad)) calc(-1 * var(--card-pad));padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface-overlay);border-top:1px solid var(--border-strong);border-radius:0 0 var(--radius-xl) var(--radius-xl);flex-wrap:nowrap}.o-panel__foot .o-btn--primary{flex:1 1 auto}}.o-alert{display:flex;gap:var(--space-3);align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-overlay);color:var(--text)}.o-alert .o-icon{width:22px;height:22px;margin-top:1px}.o-alert b{display:block;font-weight:600}.o-alert p{font-size:14px;line-height:22px;color:var(--text-muted)}.o-alert--success{background:var(--success-bg);border-color:var(--success)}.o-alert--success .o-icon{color:var(--success)}.o-alert--warning{background:var(--warning-bg);border-color:var(--warning)}.o-alert--warning .o-icon{color:var(--warning)}.o-alert--danger{background:var(--danger-bg);border-color:var(--danger)}.o-alert--danger .o-icon{color:var(--danger)}.o-alert__act{margin-left:auto;align-self:center}.o-toast{box-shadow:var(--shadow-lg);max-width:420px}@media (prefers-reduced-motion:no-preference){.o-toast{animation:o-in var(--dur-ui) var(--ease-out) both}}.o-quote{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--card-gap);padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);align-items:stretch}.o-quote__shots{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.o-quote__shots .o-media{border-radius:var(--radius-md)}.o-quote__shots .o-media{min-height:200px}.o-quote__text{display:grid;gap:var(--space-4);align-content:center;padding:var(--space-3) var(--space-2)}.o-quote__who{font:600 22px/24px var(--font-display);letter-spacing:.06em;text-transform:uppercase}@media (max-width:640px){.o-quote{grid-template-columns:minmax(0,1fr)}}@media (max-width:560px){.otop{--card-pad:16px;--card-gap:16px;--section-gap:24px;--gutter:16px}.o-panel,.o-quote{border-radius:var(--radius-lg)}.o-panel__head{flex-direction:column-reverse;align-items:flex-start;gap:var(--space-1)}.o-panel__count{padding-bottom:0}.o-panel__title{font-size:28px;line-height:32px}}@media (min-width:561px) and (max-width:1023px){.otop{--gutter:24px}}@media (min-width:1024px){.otop{--gutter:48px}}.o-footer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:var(--space-6) var(--space-7);margin:var(--card-gap);padding:var(--space-7) var(--space-6) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.o-footer h3{font:600 12px/16px var(--font-sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--space-4)}.o-footer ul{margin:0;padding:0;list-style:none;display:grid;gap:0}.o-footer a{display:inline-flex;align-items:center;min-height:32px;color:var(--text-muted);text-decoration:none;font-size:14px}.o-footer__news{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:var(--space-2);margin-top:var(--space-4)}.o-footer__legal{grid-column:1/-1;padding-top:var(--space-5);border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}@media (hover:hover) and (pointer:fine){.o-footer a:hover{color:var(--text);text-decoration:underline;text-underline-offset:4px}}@media (max-width:860px){.o-footer{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6) var(--space-5);padding:var(--space-6) var(--space-5) var(--space-5)}.o-footer>:first-child,.o-footer>:nth-child(4){grid-column:1/-1}}@media (pointer:coarse){.o-footer a{min-height:44px}}@keyframes o-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes o-pop{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}@keyframes o-draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:no-preference){.o-hero__in{animation:o-in var(--dur-panel) var(--ease-out) both;animation-delay:calc(var(--i, 0) * var(--dur-stagger))}}@keyframes o-out{to{opacity:0;transform:translateY(4px)}}@media (prefers-reduced-motion:no-preference){.o-leave{animation:o-out var(--dur-exit) var(--ease-out) both}}.o-drawer{position:fixed;inset:0;z-index:var(--z-overlay);visibility:hidden}.o-drawer[data-open=true]{visibility:visible}.o-drawer__scrim{position:absolute;inset:0;background:#000000b3;opacity:0}.o-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(86%,360px);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--surface-overlay);border-left:1px solid var(--border);box-shadow:var(--shadow-lg);transform:translateX(100%);overflow-y:auto}.o-drawer[data-open=true] .o-drawer__scrim{opacity:1}.o-drawer[data-open=true] .o-drawer__panel{transform:none}.o-drawer__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.o-drawer .o-nav__link{min-height:52px;font-size:14px;border-bottom:1px solid var(--border);padding:0 var(--space-2)}.o-drawer .o-nav__link::after{display:none}@media (prefers-reduced-motion:no-preference){.o-drawer{transition:visibility 0s linear var(--dur-exit)}.o-drawer[data-open=true]{transition-delay:0s}.o-drawer__scrim{transition:opacity var(--dur-exit) var(--ease-out)}.o-drawer__panel{transition:transform var(--dur-exit) var(--ease-out)}.o-drawer[data-open=true] .o-drawer__scrim{transition-duration:var(--dur-panel)}.o-drawer[data-open=true] .o-drawer__panel{transition-duration:var(--dur-panel)}}.o-stack{display:grid;gap:var(--card-gap);min-width:0}.o-sec{display:grid;gap:var(--space-5);padding:var(--card-pad);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0}.o-sec--inset{background:var(--surface)}.o-sec__head{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.o-sec__text{min-width:0}.o-sec__title{font:600 22px/26px var(--font-display);letter-spacing:.05em;text-transform:uppercase}.o-sec__sub{font-size:14px;line-height:20px;color:var(--text-muted)}.o-sec__act{margin-left:auto;flex:none}.o-sec__body{display:grid;gap:var(--space-5);min-width:0}.o-chip{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:var(--radius-md);background:var(--surface-field);border:1px solid var(--border);color:var(--accent)}.o-chip .o-icon{width:20px;height:20px}.o-item{display:grid;gap:var(--space-4);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0}.o-item__head{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-touch)}.o-item__title{font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-item__act{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.o-iconbtn{display:inline-grid;place-items:center;width:var(--target-touch);height:var(--target-touch);padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:0 0;color:var(--text-muted);cursor:pointer}.o-iconbtn .o-icon{width:20px;height:20px}.o-iconbtn--danger{color:var(--danger);border-color:var(--danger-bg);background:var(--danger-bg)}.o-add{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);justify-self:center;min-height:var(--target-touch);padding:0 var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:0 0;color:var(--text);font:600 13px/16px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.o-add .o-icon{width:18px;height:18px}.o-seg{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--space-1);padding:var(--space-1);background:var(--surface-field);border:1px solid var(--border);border-radius:var(--radius-md)}.o-seg label{position:relative;min-width:0}.o-seg input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.o-seg span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-sm);font:600 14px/20px var(--font-sans);color:var(--text-muted);text-align:center}.o-seg input:checked+span{background:var(--surface-overlay);color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong)}.o-seg input:focus-visible+span{outline:2px solid var(--focus-ring);outline-offset:2px}.o-seg--end{justify-self:end;width:min(100%,280px)}.o-switch{position:relative;display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-touch);cursor:pointer}.o-switch input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer}.o-switch__track{position:relative;flex:none;width:48px;height:28px;border-radius:var(--radius-pill);background:var(--surface-field);border:1.5px solid var(--border-strong)}.o-switch__track::after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--text-muted)}.o-switch input:checked+.o-switch__track{background:var(--action);border-color:var(--action)}.o-switch input:checked+.o-switch__track::after{transform:translateX(20px);background:var(--on-action)}.o-switch input:focus-visible+.o-switch__track{outline:2px solid var(--focus-ring);outline-offset:2px}.o-switch__text{font-weight:500}.o-switch__text small{display:block;font-weight:400;font-size:14px;line-height:20px;color:var(--text-muted)}.o-devnote{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);font-size:14px;color:var(--text-muted)}.o-tabbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1);position:sticky;bottom:0;z-index:var(--z-nav);padding:var(--space-2) var(--space-2) calc(var(--space-2) + env(safe-area-inset-bottom,0px));background:var(--surface-overlay);border-top:1px solid var(--border-strong)}.o-tab{display:grid;justify-items:center;align-content:center;gap:2px;min-height:52px;border-radius:var(--radius-md);font:600 11px/14px var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none}.o-tab .o-icon{width:22px;height:22px}.o-tab[aria-current=page]{color:var(--accent);background:var(--selected)}.o-tab--cta{color:var(--on-action);background:var(--action)}.o-sticky{position:sticky;bottom:0;z-index:var(--z-nav);display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom,0px));background:var(--surface-overlay);border-top:1px solid var(--border-strong)}.o-sticky .o-btn{flex:1 1 auto}.o-wrap{width:100%;max-width:var(--container,1200px);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}.o-sect{padding:var(--space-8) 0}.o-sect__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.o-sect__title{font:700 48px/48px var(--font-display);letter-spacing:.01em;text-transform:uppercase}.o-sect__eyebrow{margin-bottom:var(--space-3)}.o-wrap>.o-footer{margin-left:0;margin-right:0}.o-cta{display:grid;gap:var(--space-5);justify-items:start;padding:var(--space-7) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}@media (max-width:760px){.o-sect{padding:var(--space-7) 0}.o-sect__title{font-size:34px;line-height:36px}.o-sect__head{flex-direction:column;align-items:flex-start;margin-bottom:var(--space-5)}.o-cta{padding:var(--space-6) var(--space-5)}}@media (prefers-reduced-motion:no-preference){.o-add,.o-iconbtn,.o-seg span,.o-switch__track,.o-tab{transition:background-color var(--dur-micro) var(--ease-hover),border-color var(--dur-micro) var(--ease-hover),color var(--dur-micro) var(--ease-hover),transform var(--dur-micro) var(--ease-out)}.o-switch__track::after{transition:transform var(--dur-ui) var(--ease-out),background-color var(--dur-micro) var(--ease-hover)}.o-add:active,.o-iconbtn:active,.o-tab:active{transform:scale(.97)}.o-item--new{animation:o-pop var(--dur-ui) var(--ease-out) both}}@media (hover:hover) and (pointer:fine){.o-iconbtn:hover{color:var(--text);border-color:var(--border-strong)}.o-iconbtn--danger:hover{border-color:var(--danger);color:var(--danger)}.o-add:hover{background:var(--surface-raised);border-color:var(--text)}.o-seg label:hover input:not(:checked)+span{color:var(--text)}}.o-review{display:grid;margin:0;padding:0 var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md)}.o-review>div{padding:var(--space-3) 0}.o-review>div+div{border-top:1px solid var(--border)}.o-review dt{font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.o-review dd{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:2px 0 0;font-weight:500;min-width:0}.otop [hidden]{display:none}.o-nav--sticky{position:sticky;top:0;z-index:var(--z-nav)}@media (max-width:560px){.o-seg span{padding:0 var(--space-1);font-size:13px;line-height:16px}.o-seg--end{justify-self:stretch;width:100%}}:root{color-scheme:dark}html{scroll-behavior:auto}body{background:var(--bg);color:var(--text);margin:0}.otop{--gutter:16px;min-height:100vh;display:flex;flex-direction:column}@media (min-width:560px){.otop{--gutter:24px}}@media (min-width:1000px){.otop{--gutter:48px}}.otop>main{flex:1 0 auto}.o-wrap{padding-left:max(var(--gutter),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),env(safe-area-inset-right,0px))}.o-nav{padding-left:max(var(--gutter),calc((100% - var(--container,1200px))/ 2 + var(--gutter)),env(safe-area-inset-left,0px));padding-right:max(var(--gutter),calc((100% - var(--container,1200px))/ 2 + var(--gutter)),env(safe-area-inset-right,0px))}.o-nav--sticky{position:sticky;top:env(safe-area-inset-top,0);z-index:var(--z-nav)}body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0);z-index:var(--z-nav);background:var(--bg)}.o-nav__logo{height:30px}.o-drawer{z-index:var(--z-overlay)}.o-tabbar{display:none}@media (max-width:860px){.o-tabbar{display:grid}.o-nav .o-nav__menu{display:inline-flex}}a{color:var(--accent)}.o-btn,.o-card,.o-footer a,.o-nav__link,.o-tab{-webkit-tap-highlight-color:transparent}.ph{position:relative;display:flex;align-items:flex-end;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);min-height:220px;background:radial-gradient(120% 90% at 80% 10%,color-mix(in srgb,var(--brand-red) 14%,transparent),transparent 60%),repeating-linear-gradient(135deg,transparent 0 14px,color-mix(in srgb,var(--text) 3.5%,transparent) 14px 15px),linear-gradient(160deg,var(--surface-raised),var(--bg))}.ph__mark{position:absolute;inset:0;display:grid;place-items:center;color:color-mix(in srgb,var(--text) 14%,transparent);pointer-events:none}.ph__mark .o-icon{width:56px;height:56px;stroke-width:1.25}.ph .o-media__tag{position:relative}.ph--hero{min-height:420px;border-radius:var(--radius-xl)}.ph--hero img{position:absolute;left:50%;top:46%;width:min(78%,420px);transform:translate(-50%,-50%);height:auto}.ph--tall{min-height:280px}.ph--wide{min-height:300px}.o-card--feature .ph{min-height:170px;border-radius:var(--radius-md)}.pg{padding-top:var(--space-7);padding-bottom:var(--space-6);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--space-6);align-items:end}.pg--solo{grid-template-columns:minmax(0,1fr)}.pg__title{font:700 64px/60px var(--font-display);letter-spacing:.01em;text-transform:uppercase;text-wrap:balance;margin-top:var(--space-3)}.pg__lead{max-width:60ch;margin-top:var(--space-5);font-size:18px;line-height:28px}.pg .o-hero__actions{margin-top:var(--space-5)}.crumb{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-muted);text-decoration:none;font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;min-height:var(--target-touch)}.crumb .o-icon{width:16px;height:16px;transform:scaleX(-1)}@media (max-width:860px){.pg{grid-template-columns:minmax(0,1fr)}.pg__title{font-size:44px;line-height:44px}}.sect-tight{padding-top:0}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--card-gap);align-items:stretch}.split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:860px){.split,.split--even{grid-template-columns:minmax(0,1fr)}}.panel{padding:var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);display:grid;gap:var(--space-5);align-content:start;min-width:0}.panel h2{font:700 40px/40px var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-wrap:balance}.panel p{max-width:65ch}.panel .o-hero__actions{margin-top:0}@media (max-width:560px){.panel{padding:var(--space-5)}.panel h2{font-size:32px;line-height:34px}}.points{margin:0;padding:0;list-style:none;display:grid;gap:0}.points li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid var(--border)}.points li:first-child{border-top:0}.points b{display:block;font:600 13px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--space-1)}.points p{font-size:14px;line-height:22px;color:var(--text-muted)}.chip{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-md);background:var(--surface-field);border:1px solid var(--border);color:var(--accent)}.prose{display:grid;gap:var(--space-4)}.prose p{max-width:65ch}.prose h3{font:600 26px/28px var(--font-display);letter-spacing:.04em;text-transform:uppercase;margin-top:var(--space-3)}.facts{display:grid;gap:0;margin:0}.facts>div{display:grid;grid-template-columns:minmax(0,9ch) minmax(0,1fr);gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border)}.facts>div:first-child{border-top:0}.facts dt{font:600 12px/22px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.facts dd{margin:0;font-weight:500}.week{display:grid;gap:0;margin:0;padding:0;list-style:none}.week li{display:grid;grid-template-columns:minmax(0,7.5ch) minmax(0,1fr) auto;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border)}.week li:first-child{border-top:0}.week b{font:600 24px/28px var(--font-display);letter-spacing:.06em;text-transform:uppercase}.week .times{display:flex;flex-wrap:wrap;gap:var(--space-2)}.time{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-3);border-radius:var(--radius-sm);background:var(--surface-field);border:1px solid var(--border-strong);font:600 14px/20px var(--font-sans);font-variant-numeric:tabular-nums}.week .o-btn{min-height:var(--target-touch)}@media (max-width:560px){.week li{grid-template-columns:4rem minmax(0,1fr) auto;gap:var(--space-3)}}.map{position:relative;height:168px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:linear-gradient(90deg,transparent 0 49%,color-mix(in srgb,var(--text) 7%,transparent) 49% 51%,transparent 51%),linear-gradient(0deg,transparent 0 62%,color-mix(in srgb,var(--text) 7%,transparent) 62% 64%,transparent 64%),repeating-linear-gradient(90deg,transparent 0 47px,color-mix(in srgb,var(--text) 4%,transparent) 47px 48px),repeating-linear-gradient(0deg,transparent 0 47px,color-mix(in srgb,var(--text) 4%,transparent) 47px 48px),var(--surface-field)}.map .o-icon{position:absolute;left:50%;top:50%;width:40px;height:40px;transform:translate(-50%,-80%);color:var(--accent);stroke-width:2;fill:color-mix(in srgb,var(--brand-red) 25%,transparent)}.pill-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.quoteband{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-6);align-items:center;padding:var(--space-7) var(--space-6);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl)}.quoteband .quoteband__slogan{max-width:none;margin:0;justify-self:center;font:700 64px/60px var(--font-display);letter-spacing:.005em;text-transform:uppercase;color:var(--text)}.quoteband .quoteband__slogan span{display:block;color:var(--accent)}@media (max-width:860px){.quoteband .quoteband__slogan{font-size:44px;line-height:42px}}.quoteband blockquote{margin:0;font:700 40px/42px var(--font-display);letter-spacing:.02em;text-transform:uppercase;text-wrap:balance}.quoteband blockquote em{font-style:normal;color:var(--accent)}.quoteband p{max-width:52ch;margin-top:var(--space-4);color:var(--text-muted)}@media (max-width:860px){.quoteband{grid-template-columns:minmax(0,1fr);padding:var(--space-6) var(--space-5)}.quoteband blockquote{font-size:30px;line-height:34px}}.cta-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);width:100%;margin:0;padding:0;list-style:none}.cta-steps li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--surface-field);border:1px solid var(--border);border-radius:var(--radius-md);font:600 13px/18px var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.cta-steps .o-icon{color:var(--accent)}@media (max-width:760px){.cta-steps{grid-template-columns:minmax(0,1fr)}}.o-cta h2{font:700 64px/60px var(--font-display);letter-spacing:.01em;text-transform:uppercase}@media (max-width:760px){.o-cta h2{font-size:40px;line-height:40px}}.soc{display:flex;gap:var(--space-2);margin-top:var(--space-4)}.soc a{display:grid;place-items:center;width:var(--target-touch);height:var(--target-touch);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text)}.o-footer .soc a{min-height:var(--target-touch)}.empty{display:grid;gap:var(--space-4);justify-items:start;padding:var(--space-6);background:var(--surface);border:1px dashed var(--border-strong);border-radius:var(--radius-lg)}.empty h3{font:600 26px/28px var(--font-display);letter-spacing:.04em;text-transform:uppercase}.empty p{max-width:56ch;color:var(--text-muted)}.filter{margin-bottom:var(--space-5)}.filter .o-seg{max-width:100%;overflow-x:auto}.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--card-gap);margin:0;padding:0;list-style:none}.gallery .ph{min-height:260px}.contact{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--card-gap);align-items:start}@media (max-width:860px){.contact{grid-template-columns:minmax(0,1fr)}}.contact .o-sec,.contact .panel{height:auto}.rows{display:grid;gap:0;margin:0;padding:0;list-style:none}.rows li{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border);min-height:var(--target-touch);overflow-wrap:anywhere}.rows li:first-child{border-top:0}.rows .o-icon{color:var(--accent)}.demo{margin-top:var(--space-4)}.stats-wrap{display:grid;gap:var(--card-gap)}.hero-ph-note{display:none}main:focus{outline:0}h1:focus{outline:0}
.otop [tabindex="-1"]:focus,.otop [tabindex="-1"]:focus-visible{outline:none}.otop .o-book{padding-left:0;padding-right:0}.o-footer{margin-bottom:var(--space-5)}.sr-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.otop .pg__title{margin-top:var(--space-3)}.otop .pg__lead{margin-top:var(--space-5)}
.o-soon{opacity:.5;filter:grayscale(1)}.o-soon .o-card__go{display:none}.o-badge-soon{display:inline-block;align-self:flex-start;margin-top:8px;padding:2px 10px;border:1px solid var(--border-strong);border-radius:999px;font-size:12px;line-height:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}

.map--live{height:220px;background:var(--surface-field)}.map--live iframe{display:block;width:100%;height:100%;border:0;filter:invert(92%) hue-rotate(180deg) contrast(.9)}
.ph--photo{display:block;padding:0;min-height:0;aspect-ratio:4/5;background:var(--surface-raised)}
.ph--photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.ph--hero-photo{max-height:560px;width:100%}
@media (max-width:860px){.ph--hero-photo{display:none}}
.pg:has(.ph--hero-photo){align-items:start}
.split>.o-sec{align-content:start}

/* Home hero: auto-scrolling photo carousel (replaces the single hero photo) */
.o-carousel{position:relative;height:420px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface)}
.o-carousel__viewport{height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)}
.o-carousel__rail{display:flex;align-items:center;width:max-content;height:100%}
.o-carousel__track{display:flex;align-items:center;height:100%;margin:0;padding:0;list-style:none}
.o-carousel__item{flex:none;width:280px;height:calc(100% - 32px);margin-right:var(--space-4);overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.o-carousel__item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-panel) var(--ease-out),filter var(--dur-panel) var(--ease-out)}
@keyframes o-carousel-scroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:no-preference){.o-carousel__rail{animation:o-carousel-scroll 45s linear infinite}}
@media (hover:hover) and (pointer:fine){.o-carousel:hover .o-carousel__rail{animation-play-state:paused}}
@media (prefers-reduced-motion:reduce) and (min-width:761px){.o-carousel__viewport{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}
@media (hover:hover) and (pointer:fine){.o-carousel__item:hover img{transform:scale(1.05);filter:brightness(1.08)}}
@media (max-width:760px){.o-carousel{height:300px}.o-carousel__item{width:200px}.o-carousel__rail{animation:o-carousel-scroll 40s linear infinite!important;animation-play-state:running!important}}

/* Floating rounded bottom tab bar (mobile) */
@media (max-width:860px){
.otop{--tabbar-h:66px;--tabbar-gap:12px;--tabbar-clear:calc(var(--tabbar-h) + var(--tabbar-gap) * 2 + env(safe-area-inset-bottom,0px));padding-bottom:var(--tabbar-clear)}
.o-tabbar{position:fixed;left:max(var(--space-3),env(safe-area-inset-left,0px));right:max(var(--space-3),env(safe-area-inset-right,0px));bottom:calc(var(--tabbar-gap) + env(safe-area-inset-bottom,0px));max-width:420px;margin:0 auto;z-index:calc(var(--z-nav) + 1);gap:0;padding:6px;border:1px solid var(--border);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-overlay) 55%,transparent);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);border-color:#ffffff1f;box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff1f}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.o-tabbar{background:var(--surface-overlay)}}
.o-tabbar::before{content:"";position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px) / 4);border-radius:var(--radius-pill);background:var(--selected);opacity:var(--on,0);transform:translateX(calc(var(--i,0) * 100%));pointer-events:none}
.o-tab{position:relative;z-index:1;border-radius:var(--radius-pill)}
.o-tab[aria-current=page]{background:transparent}
.o-tab--cta[aria-current=page]{background:var(--action);color:var(--on-action)}
.o-panel__foot{bottom:var(--tabbar-clear);padding-bottom:var(--space-3)}
}
@media (max-width:860px) and (prefers-reduced-motion:no-preference){
.o-tabbar{animation:o-tabbar-in var(--dur-panel) var(--ease-out) 120ms both}
.o-tabbar[data-ready]::before{transition:transform var(--dur-panel) var(--ease-in-out),opacity var(--dur-micro) var(--ease-hover);will-change:transform}
.o-tabbar[data-ready].is-jump::before{transition:opacity var(--dur-micro) var(--ease-hover)}
}
@keyframes o-tabbar-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

/* Class profile indicators (service pages) */
.pg__metrics{margin-top:var(--space-6);max-width:640px}
.o-metrics{display:grid;grid-template-columns:repeat(3,88px);justify-content:start;gap:var(--space-7);margin:0;padding:0;list-style:none}
.o-metric{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}
.o-metric__l{margin-top:var(--space-3);font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.o-ring{position:relative;display:grid;place-items:center;width:88px;height:88px}
.o-ring svg{grid-area:1/1;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.o-ring circle{fill:none;stroke-width:6}
.o-ring__t{stroke:var(--border)}
.o-ring__v{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p))}
.o-ring__n{grid-area:1/1;display:flex;align-items:baseline;font:600 32px/32px var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.o-ring__n small{margin-left:2px;font-size:16px;color:var(--text-muted)}
.o-ring__n--u{flex-direction:column;align-items:center;font-size:17px;line-height:20px;letter-spacing:0;white-space:nowrap}
.o-ring__n--u small{margin:2px 0 0;font:600 11px/12px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.pg__metrics .o-metrics__note{margin-top:var(--space-5);font:400 12px/16px var(--font-sans);color:var(--text-muted)}
@media (prefers-reduced-motion:no-preference){
.o-metrics.is-pre .o-metric{opacity:0;transform:translateY(8px)}
.o-metrics.is-pre .o-ring__v{stroke-dashoffset:100;opacity:0}
.o-metrics.is-in .o-metric{transition:opacity var(--dur-ui) var(--ease-out),transform var(--dur-ui) var(--ease-out);transition-delay:calc(var(--i)*var(--dur-stagger))}
.o-metrics.is-in .o-ring__v{transition:stroke-dashoffset 500ms var(--ease-out),opacity var(--dur-micro) var(--ease-out);transition-delay:calc(var(--i)*var(--dur-stagger) + var(--dur-ui))}
}
@media (max-width:560px){
.o-metrics{gap:var(--space-4);justify-content:space-between}
}
/* Floating top controls (mobile): logo circle always visible, menu circle hides on scroll down */
@media (max-width:860px){
.otop{--nav-h:48px;--nav-gap:12px;--nav-clear:calc(var(--nav-h) + var(--nav-gap) * 2 + env(safe-area-inset-top,0px));padding-top:var(--nav-clear)}
.o-nav.o-nav--sticky{position:fixed;top:calc(var(--nav-gap) + env(safe-area-inset-top,0px));left:max(var(--space-3),env(safe-area-inset-left,0px));right:max(var(--space-3),env(safe-area-inset-right,0px));min-height:0;padding:0;gap:var(--space-3);justify-content:space-between;align-items:flex-start;border:0;background:none;box-shadow:none;pointer-events:none;z-index:calc(var(--z-nav) + 1)}
.o-nav.o-nav--sticky>*{pointer-events:auto}
.o-nav.o-nav--sticky .o-nav__home,.o-nav.o-nav--sticky .o-nav__menu,.o-nav.o-nav--sticky .o-nav__menu:hover:not([disabled]){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:var(--nav-h);min-width:var(--nav-h);min-height:var(--nav-h);border:1px solid #ffffff1f;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-overlay) 55%,transparent);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff1f;color:var(--text)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.o-nav.o-nav--sticky .o-nav__home,.o-nav.o-nav--sticky .o-nav__menu,.o-nav.o-nav--sticky .o-nav__menu:hover:not([disabled]){background:var(--surface-overlay)}}
.o-nav.o-nav--sticky .o-nav__home{padding:0 var(--space-3)}
.o-nav.o-nav--sticky .o-nav__logo{height:26px;width:auto;max-width:120px;object-fit:contain}
.o-nav.o-nav--sticky .o-nav__menu{width:var(--nav-h);padding:0}
.o-nav.o-nav--sticky .o-nav__menu.is-hidden{transform:translateY(calc(-100% - var(--nav-gap) - env(safe-area-inset-top,0px)));opacity:0;visibility:hidden;pointer-events:none}
}
@media (max-width:860px) and (prefers-reduced-motion:no-preference){
.o-nav.o-nav--sticky .o-nav__home{animation:o-nav-in var(--dur-panel) var(--ease-out) 120ms backwards}
.o-nav.o-nav--sticky .o-nav__menu{animation:o-nav-in var(--dur-panel) var(--ease-out) 160ms backwards;transition:transform var(--dur-ui) var(--ease-out),opacity var(--dur-ui) var(--ease-out),visibility 0s linear 0s}
.o-nav.o-nav--sticky .o-nav__menu.is-hidden{transition:transform var(--dur-exit) var(--ease-out),opacity var(--dur-exit) var(--ease-out),visibility 0s linear var(--dur-exit)}
}
@keyframes o-nav-in{from{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:none}}
/* Logo glow: blurred, brightened copy of the logo whose opacity breathes slowly (opacity only) */
.o-nav__glow{display:none}
@media (max-width:860px) and (prefers-reduced-motion:no-preference){
.o-nav.o-nav--sticky .o-nav__home{position:relative}
.o-nav.o-nav--sticky .o-nav__glow{display:block;position:absolute;left:50%;top:50%;z-index:-1;height:26px;width:auto;max-width:120px;transform:translate(-50%,-50%) scale(1.1);pointer-events:none;filter:blur(7px) brightness(1.8) saturate(1.4);opacity:0;will-change:opacity;animation:o-logo-glow 5.5s ease-in-out 1s infinite}
}
@keyframes o-logo-glow{0%,100%{opacity:0}50%{opacity:.85}}


/* Booking confirmation (calcom-booking.js) */
.o-booked{display:grid;gap:var(--space-5);padding:var(--space-5);background:var(--success-bg);border:2px solid var(--success);border-radius:var(--radius-lg)}
.o-booked__head{display:flex;align-items:center;gap:var(--space-4)}
.o-booked__mark{flex:none;display:grid;place-items:center;width:60px;height:60px;border-radius:999px;background:var(--success);color:var(--bg)}
.o-booked__mark .o-icon{width:32px;height:32px;stroke-width:3}
.o-booked__title{margin:0;font:700 clamp(36px,7vw,56px)/1 var(--font-display);letter-spacing:.02em;text-transform:uppercase}
.o-booked__title:focus,.o-booked__title:focus-visible{outline:none}
.o-booked__card{display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-md)}
.o-booked__what{margin:0;font-weight:600;font-size:18px;line-height:24px;color:var(--success)}
.o-booked__when{margin:0;min-width:0;font:700 clamp(24px,6.2vw,56px)/1.05 var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.o-booked__when small{display:block;margin-top:var(--space-1);font:500 16px/22px var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text-muted)}
.o-booked__where{display:flex;gap:var(--space-2);align-items:flex-start;margin:0;font-size:18px;line-height:24px}
.o-booked__where .o-icon{flex:none;width:22px;height:22px;margin-top:1px}
.o-booked__where a{text-decoration:underline;text-underline-offset:3px}
.o-booked__mail{margin:0;font-size:17px;line-height:26px}
.o-booked__mail span{display:block;margin-top:var(--space-1);font-size:15px;line-height:22px;color:var(--text-muted)}
@media (prefers-reduced-motion:no-preference){.o-booked{animation:o-in var(--dur-ui) var(--ease-out) both}.o-booked__mark{animation:o-pop 400ms var(--ease-out) both}}
.o-month{margin:var(--space-6) 0 var(--space-3);font:600 13px/16px var(--font-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.o-month:first-of-type{margin-top:0}
.o-slot__sub{grid-column:auto}
.o-next{display:grid;gap:var(--space-4);min-width:0}
.o-next__rhythm{margin:0;font-size:14px;line-height:20px;color:var(--text-muted)}
.o-slot--static{background:var(--surface-field)}
.o-slot__dn{color:var(--accent)}
.o-slot:has(input:disabled) .o-slot__dn{color:var(--text-muted)}
.o-booked__row{display:flex;flex-wrap:nowrap;align-items:center;gap:var(--space-4);white-space:nowrap}
.o-booked__time{padding-left:var(--space-4);border-left:1px solid var(--border-strong)}
.o-booked__card{grid-template-columns:minmax(0,1fr)}
.o-loading__track{display:block;height:2px;margin-top:var(--space-3);overflow:hidden;border-radius:var(--radius-pill);background:var(--border)}
.o-loading__bar{display:block;width:40%;height:100%;border-radius:inherit;background:var(--action)}
@media (prefers-reduced-motion:no-preference){.o-loading__bar{animation:o-loading-slide 1.2s var(--ease-in-out) infinite}}
@keyframes o-loading-slide{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
.o-btn[aria-busy=true]{overflow:hidden}
.o-btn__line{position:absolute;left:0;right:0;bottom:0;height:3px;overflow:hidden}
.o-btn__line-bar{display:block;width:40%;height:100%;background:var(--action)}
@media (prefers-reduced-motion:no-preference){.o-btn__line-bar{animation:o-loading-slide 1.2s var(--ease-in-out) infinite}}
@media (prefers-reduced-motion:reduce){.o-btn__line-bar{transform:translateX(75%)}}
.o-w{display:inline-block}
.o-booked .o-dn{position:relative;display:inline-block;color:var(--text)}
.o-dn__red{position:absolute;left:0;top:0;color:var(--accent)}
.o-booked__card{position:relative}
.o-booked__card::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 24px rgba(255,255,255,.16),0 0 0 1px rgba(255,255,255,.14);opacity:.5;pointer-events:none}
@keyframes o-word{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes o-fade-in{from{opacity:0}to{opacity:1}}
@keyframes o-halo{0%{opacity:0}33%{opacity:1}100%{opacity:.5}}
@media (prefers-reduced-motion:no-preference){
.o-booked--wait .o-w,.o-booked--wait .o-dn__red,.o-booked--wait .o-booked__card::after{opacity:0}
.o-booked--reveal .o-w{animation:o-word 1100ms var(--ease-out) both}
.o-booked--reveal .o-w2{animation-delay:800ms}
.o-booked--reveal .o-w3{animation-delay:1600ms}
.o-booked--reveal .o-dn__red{animation:o-fade-in 1100ms var(--ease-out) 2700ms both}
.o-booked--reveal .o-booked__card::after{animation:o-halo 2400ms var(--ease-out) 3800ms both}
}

/* Member accounts */
.o-nav__account{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-touch);padding:0 var(--space-2);font:600 12px/16px var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--text);text-decoration:none;white-space:nowrap}
.o-nav__account .o-icon{width:20px;height:20px}
.o-nav__initials{font:600 13px/16px var(--font-sans);letter-spacing:.04em}
@media (max-width:860px){
.o-nav.o-nav--sticky .o-nav__account{box-sizing:border-box;justify-content:center;width:var(--nav-h);height:var(--nav-h);min-height:var(--nav-h);margin-left:auto;padding:0;border:1px solid #ffffff1f;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--surface-overlay) 55%,transparent);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:var(--shadow-lg),inset 0 1px 0 #ffffff1f;animation:o-nav-in var(--dur-panel) var(--ease-out) 140ms backwards}
.o-nav.o-nav--sticky .o-nav__account .o-nav__account-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){@media (max-width:860px){.o-nav.o-nav--sticky .o-nav__account{background:var(--surface-overlay)}}}
.o-acc{max-width:520px;margin:0 auto}
.o-acc .pg__title{margin-bottom:var(--space-3)}
.o-acc__for{margin-bottom:var(--space-5);font-size:14px;line-height:22px}
.o-acc__for b{color:var(--text)}
.o-acc__form{display:grid;gap:var(--space-4)}
.o-acc>.o-acc__form{margin-top:var(--space-3)}
.o-acc__names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.o-acc__terms{align-items:flex-start;font-size:14px;line-height:22px}
.o-acc__alt{font-size:14px;line-height:22px;text-align:center}
.o-acc__legal{font-size:14px;line-height:22px}
.o-acc__or{font-size:14px;line-height:22px;text-align:center}
.o-acc__forgot,.o-acc__manage{font-size:14px;line-height:22px;justify-self:start}
.o-acc__actions{display:grid;gap:var(--space-3)}
.o-acc__bookings{display:grid;gap:var(--space-3)}
.o-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:var(--field-height,48px);box-sizing:border-box;padding:0 12px;background:#131314;border:1px solid #8e918f;border-radius:var(--radius-md);color:#e3e3e3;font:500 14px/20px "Google Sans",Roboto,system-ui,sans-serif;cursor:pointer}
.o-google:hover{background:#1f1f21}
.o-google__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;flex:none}
.o-acc .o-card .o-sec__title{color:var(--text)}
/* Legal pages */
.legal h2{margin:var(--space-6) 0 var(--space-3);font:600 22px/26px var(--font-display);letter-spacing:.05em;text-transform:uppercase}
.legal p{margin:0 0 var(--space-3)}
.legal ul{margin:0 0 var(--space-3);padding-left:var(--space-5);display:grid;gap:var(--space-2)}
.o-footer__legal a{color:inherit}
.o-footer__links{display:inline-block;white-space:nowrap}
/* Fixed confirm bar: chosen session + confirm button, always visible */
.o-confirmbar{position:fixed;left:var(--gutter,16px);right:var(--gutter,16px);bottom:var(--space-4,16px);z-index:var(--z-nav,50);display:flex;align-items:center;gap:var(--space-3,12px);padding:var(--space-3,12px) var(--space-4,16px);background:var(--surface,#161618);border:1px solid var(--border-strong,#3a3a3e);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-lg,0 12px 32px #0008)}
.o-confirmbar__text{flex:1 1 auto;min-width:0;display:grid;gap:2px;font-size:14px}
.o-confirmbar__when{font-family:var(--font-display);font-size:20px;text-transform:uppercase;letter-spacing:.02em}
.o-confirmbar .o-btn{flex:none}
@media (max-width:860px){.o-confirmbar{bottom:calc(var(--tabbar-clear, 90px) + var(--space-2,8px))}}
@media (min-width:861px){.o-confirmbar{left:50%;right:auto;width:min(560px,calc(100% - 32px));transform:translateX(-50%)}}
/* Confirm bar: the day number breathes from cream to red and back, slowly, with a rest at each colour */
.o-confirmbar .o-dn{position:relative;display:inline-block;color:var(--text)}
.o-confirmbar .o-dn__red{opacity:1;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.o-confirmbar .o-dn__red{opacity:0;will-change:opacity;animation:o-dn-breathe 6.2s ease-in-out 600ms infinite}}
@keyframes o-dn-breathe{0%,9.7%{opacity:0}50%,59.7%{opacity:1}100%{opacity:0}}
/* Proposal C: the confirm bar becomes a bottom sheet that slides up when a session is picked */
.o-confirmbar--sheet{flex-direction:column;align-items:stretch;gap:var(--space-3,12px);padding:var(--space-5,20px) var(--space-4,16px) var(--space-4,16px)}
.o-confirmbar--sheet .o-confirmbar__text{gap:4px}
.o-confirmbar__grip{position:absolute;left:50%;top:8px;width:36px;height:4px;margin-left:-18px;border-radius:2px;background:var(--border-strong,#3a3a3e)}
.o-confirmbar__label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted,#a8a8ad)}
.o-confirmbar--sheet .o-confirmbar__when{font:600 clamp(22px,6.4vw,28px)/32px var(--font-display)}
.o-confirmbar__close{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:none;color:var(--text-muted,#a8a8ad);cursor:pointer}
.o-confirmbar__close svg{width:22px;height:22px}
@keyframes o-sheet-up{from{translate:0 120%;opacity:0}to{translate:0 0;opacity:1}}
@media (prefers-reduced-motion:no-preference){.o-confirmbar--in{animation:o-sheet-up 520ms var(--ease-out,cubic-bezier(.22,1,.36,1)) both}}
/* Sheet: the same straight bar between date and time as on the session cards */
.o-confirmbar--sheet .o-confirmbar__when{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2,8px) 0}
.o-confirmbar__time{padding-left:var(--space-4,16px);margin-left:var(--space-4,16px);border-left:1px solid var(--border-strong,#3a3a3e)}
/* Proposal C, inverted: cream sheet, ink text, deeper red for text on cream (contrast) */
.o-confirmbar--sheet{--sheet-ink:var(--brand-ink,#191919);--sheet-red:#c0141f;background:var(--brand-cream,#f6f0e4);color:var(--sheet-ink);border-color:transparent;box-shadow:0 -8px 32px rgba(0,0,0,.45)}
.o-confirmbar--sheet .o-confirmbar__label,.o-confirmbar--sheet .o-muted{color:rgba(25,25,25,.62)}
.o-confirmbar--sheet .o-confirmbar__when,.o-confirmbar--sheet .o-dn{color:var(--sheet-ink)}
.o-confirmbar--sheet .o-dn__red,.o-confirmbar--sheet .o-accent{color:var(--sheet-red)}
.o-confirmbar--sheet .o-confirmbar__time{border-left-color:rgba(25,25,25,.28)}
.o-confirmbar--sheet .o-confirmbar__grip{background:rgba(25,25,25,.25)}
.o-confirmbar--sheet .o-confirmbar__close{color:rgba(25,25,25,.6)}
/* Proposal C bis: on the cream sheet, only the date and time sit in a dark box */
.o-confirmbar--sheet .o-confirmbar__when{padding:var(--space-3,12px) var(--space-4,16px);border-radius:var(--radius-md,12px);background:var(--brand-ink,#191919);color:var(--brand-cream,#f6f0e4)}
.o-confirmbar--sheet .o-confirmbar__when .o-dn{color:var(--brand-cream,#f6f0e4)}
.o-confirmbar--sheet .o-confirmbar__when .o-dn__red{color:var(--accent,#ff4f59)}
.o-confirmbar--sheet .o-confirmbar__when .o-confirmbar__time{border-left-color:rgba(246,240,228,.28)}
/* Sheet: remaining-seats label next to "Your session" (colours adapted to the cream background) */
.o-confirmbar__head{display:flex;align-items:center;gap:var(--space-3,12px);min-height:24px;padding-right:44px}
.o-confirmbar--sheet .o-badge--open{background:transparent;color:#0a6878;border-color:#0a6878}
.o-confirmbar--sheet .o-badge--few{background:transparent;color:#8a5200;border-color:#8a5200}
/* Sheet exit: reverse of the entrance, about 20% faster than the entrance (420 ms vs 520 ms), same easing, transform and opacity only */
@keyframes o-sheet-down{from{translate:0 0;opacity:1}to{translate:0 120%;opacity:0}}
@media (prefers-reduced-motion:no-preference){.o-confirmbar--out{pointer-events:none;animation:o-sheet-down 420ms var(--ease-out,cubic-bezier(.22,1,.36,1)) both}}
/* Swipe down from the handle to close the sheet */
.o-confirmbar--sheet{transform:translateY(var(--drag,0px))}
@media (min-width:861px){.o-confirmbar--sheet{transform:translate(-50%,var(--drag,0px))}}
@media (prefers-reduced-motion:no-preference){.o-confirmbar--sheet{transition:transform 220ms var(--ease-out,cubic-bezier(.23,1,.32,1))}}
.o-confirmbar--sheet.o-confirmbar--drag{transition:none}
.o-confirmbar__grip{touch-action:none;cursor:grab}
.o-confirmbar--sheet{touch-action:none}

/* Cookie consent (CookieConsent v3): themed with the OTOP tokens */
#cc-main{--cc-font-family:var(--font-sans);--cc-z-index:600;--cc-bg:var(--surface-raised);--cc-primary-color:var(--text);--cc-secondary-color:var(--text-muted);--cc-link-color:var(--accent);--cc-modal-border-radius:var(--radius-xl);--cc-btn-border-radius:var(--radius-md);--cc-modal-transition-duration:var(--dur-panel);--cc-overlay-bg:#0f0f10b3;--cc-separator-border-color:var(--border);--cc-btn-primary-bg:var(--action);--cc-btn-primary-color:var(--on-action);--cc-btn-primary-border-color:var(--action);--cc-btn-primary-hover-bg:var(--action-hover);--cc-btn-primary-hover-color:var(--on-action);--cc-btn-primary-hover-border-color:var(--action-hover);--cc-btn-secondary-bg:transparent;--cc-btn-secondary-color:var(--text);--cc-btn-secondary-border-color:var(--border-strong);--cc-btn-secondary-hover-bg:var(--surface-overlay);--cc-btn-secondary-hover-color:var(--text);--cc-btn-secondary-hover-border-color:var(--border-strong);--cc-toggle-on-bg:var(--action);--cc-toggle-on-knob-bg:var(--brand-cream);--cc-toggle-off-bg:var(--border-strong);--cc-toggle-off-knob-bg:var(--brand-cream);--cc-toggle-readonly-bg:var(--surface-overlay);--cc-toggle-readonly-knob-bg:var(--text-muted);--cc-toggle-readonly-knob-icon-color:var(--surface-raised);--cc-toggle-enabled-icon-color:var(--on-action);--cc-toggle-disabled-icon-color:var(--surface-raised);--cc-cookie-category-block-bg:var(--surface-field);--cc-cookie-category-block-border:var(--border);--cc-cookie-category-block-hover-bg:var(--surface-overlay);--cc-cookie-category-block-hover-border:var(--border);--cc-cookie-category-expanded-block-bg:var(--surface-field);--cc-cookie-category-expanded-block-hover-bg:var(--surface-overlay);--cc-footer-bg:var(--surface);--cc-footer-color:var(--text-muted);--cc-footer-border-color:var(--border);--cc-section-category-border:var(--border);--cc-webkit-scrollbar-bg:var(--border);--cc-webkit-scrollbar-hover-bg:var(--border-strong);color-scheme:dark}
#cc-main .cm,#cc-main .pm{border:1px solid var(--border);box-shadow:var(--shadow-lg)}
#cc-main .cm{max-width:min(440px,calc(100vw - 2*var(--space-4)));margin-bottom:var(--space-4)}
#cc-main .cm__title,#cc-main .pm__title{font:700 24px/28px var(--font-display);letter-spacing:.04em;text-transform:uppercase}
#cc-main .pm__section-title{font:600 13px/20px var(--font-sans);letter-spacing:.12em;text-transform:uppercase}
#cc-main .cm__desc,#cc-main .pm__section-desc,#cc-main .section__desc{font-size:15px;line-height:24px}
#cc-main .cm__btn,#cc-main .pm__btn{min-height:var(--field-height);font:600 14px/20px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;border-width:1.5px;transition:background-color var(--dur-micro) var(--ease-hover),border-color var(--dur-micro) var(--ease-hover),transform var(--dur-micro) var(--ease-out)}
#cc-main .cm__btn:active,#cc-main .pm__btn:active{transform:scale(.97)}
#cc-main a{text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){#cc-main{--cc-modal-transition-duration:0s}#cc-main .cm__btn:active,#cc-main .pm__btn:active{transform:none}}
.o-linkbtn{display:inline;padding:0;border:0;background:0 0;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.o-linkbtn:hover{color:var(--text)}
.o-linkbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}
.o-accent.o-linkbtn{color:var(--accent)}
.map__gate{position:absolute;left:0;right:0;bottom:0;display:grid;justify-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4)}
.map__gate[hidden]{display:none}
.map__gate small{font-size:12px;line-height:16px;color:var(--text-muted)}
.map__show{min-height:var(--target-touch);padding:0 var(--space-4);border:1.5px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text);font:600 13px/20px var(--font-sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-micro) var(--ease-hover)}
.map__show:hover{background:var(--surface-overlay)}
.map__prefs{padding:0;border:0;background:0 0;font:inherit;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.map__prefs:hover{color:var(--text)}
.map__show:focus-visible,.map__prefs:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
#cc-main .cm__btns{gap:var(--space-2)}
#cc-main .cm__btn-group{gap:var(--space-2)}
#cc-main .cm__btn-group:first-child{display:grid;grid-template-columns:1fr 1fr}
#cc-main .cm__btn-group:first-child .cm__btn{margin:0}
#cc-main .cm,#cc-main .pm{outline:0}
#cc-main :focus-visible:not(.cm):not(.pm){outline:2px solid var(--focus-ring);outline-offset:2px}
.map[data-embed]{height:220px}
.map[data-embed] .o-icon{top:36%}
@media screen and (max-width:640px){
#cc-main .cm__btn-group:first-child{display:grid!important;grid-template-columns:1fr 1fr;gap:var(--space-2);flex-direction:row!important}
#cc-main .cm__btn-group:first-child .cm__btn{margin:0!important}
#cc-main .cm__btn{min-height:var(--target-touch)}
#cc-main .cm__title{font-size:22px}
}
.o-footer__legal .o-linkbtn{color:var(--text-muted);text-decoration:none}
.o-footer__legal .o-linkbtn:hover{color:var(--text);text-decoration:underline}
