:root{color-scheme:light;--ink: #183026;--ink-soft: #53635b;--forest: #173f2b;--on-forest: #ffffff;--forest-deep: #0d2a1c;--moss: #516b57;--sand: #d9c39d;--paper: #f6f3eb;--mist: #e8eee8;--surface: #fbfdf9;--surface-soft: #e5ede5;--accent: #477458;--accent-deep: #244c35;--accent-soft: #b7d0bd;--on-accent: #ffffff;--booking-header: #173f2b;--booking-header-muted: rgba(255, 255, 255, .68);--line: rgba(24, 48, 38, .18);--danger: #9e392e;--success: #2f6a49;--serif: "Cormorant Garamond", Georgia, serif;--sans: "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=dark]{color-scheme:dark;--ink: #edf0e9;--ink-soft: #adb8ae;--forest: #79b58c;--on-forest: #0a1710;--forest-deep: #0a1710;--moss: #8ea491;--sand: #ceb98f;--paper: #161514;--mist: #25231f;--surface: #1b1f1c;--surface-soft: #252c27;--accent: #679678;--accent-deep: #315a40;--accent-soft: #9fbea7;--on-accent: #ffffff;--booking-header: #0b1510;--booking-header-muted: rgba(255, 255, 255, .68);--line: rgba(237, 240, 233, .16);--danger: #ef8e82;--success: #83c49a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:.98}.eyebrow{margin-bottom:1.25rem;color:var(--moss);font-size:.69rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.eyebrow-light{color:#ffffffb8}.site-header{position:absolute;z-index:40;top:0;left:0;width:100%;min-height:92px;padding:1.15rem clamp(1.2rem,4vw,4.5rem);display:flex;align-items:center;justify-content:space-between;gap:2rem;color:#fff}.marketing-header{position:fixed;z-index:60;background-color:var(--forest-deep);-webkit-background-clip:text;background-clip:text;transition:min-height .32s cubic-bezier(.2,.7,.2,1),padding .32s cubic-bezier(.2,.7,.2,1)}.marketing-header:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--forest-deep) 94%,transparent);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .32s ease}.marketing-header .site-brand img{transition:width .32s cubic-bezier(.2,.7,.2,1),max-height .32s cubic-bezier(.2,.7,.2,1)}.site-header.marketing-header.is-compact{min-height:52px;padding-top:.3rem;padding-bottom:.3rem}.marketing-header.is-compact:before{opacity:1}.site-header.marketing-header.is-compact .site-brand img{width:118px;max-height:40px}.sticky-actions{display:flex;align-items:center;gap:.25rem}.sticky-actions a,.sticky-actions button{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:999px;background:none;color:inherit;cursor:pointer;transition:background .18s ease}.language-menu{position:relative}.sticky-actions .language-menu-button{padding:0 .7rem 0 .8rem;gap:.35rem;border:1px solid rgba(255,255,255,.35);height:34px;font-size:.72rem;font-weight:600;letter-spacing:.08em}.sticky-actions .language-menu-button:hover,.language-menu.is-open .language-menu-button{background:#ffffff24}.sticky-actions .language-menu-button:focus-visible{outline:2px solid var(--sand);outline-offset:2px}.language-menu-chevron{transition:transform .22s ease}.language-menu.is-open .language-menu-chevron{transform:rotate(180deg)}.language-menu-list{position:absolute;z-index:5;top:calc(100% + .5rem);right:0;min-width:150px;margin:0;padding:.35rem;list-style:none;border-radius:14px;background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line),0 18px 40px #0718104d;transform-origin:top right;animation:language-menu-in .18s cubic-bezier(.2,.7,.2,1)}.sticky-actions .language-menu-list button{width:100%;height:40px;padding:0 .8rem;justify-content:space-between;gap:1rem;border-radius:9px;color:var(--ink);font-size:.88rem;font-weight:500;text-align:left}.sticky-actions .language-menu-list button:hover,.sticky-actions .language-menu-list button:focus-visible{background:#18302614;outline:none}.sticky-actions .language-menu-list button[aria-checked=true]{font-weight:600}.language-menu-list svg{color:var(--forest)}@keyframes language-menu-in{0%{opacity:0;transform:translateY(-4px) scale(.97)}}.site-header .sticky-actions{gap:.4rem}.sticky-actions .sticky-book{text-decoration:none;margin-left:.45rem;padding:0 1rem;height:34px;background:var(--sand);color:var(--forest-deep);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.sticky-actions .sticky-book:hover,.sticky-actions .sticky-book:focus-visible{background:#fff}.sticky-actions a:not(.sticky-book):hover,.sticky-actions a:not(.sticky-book):focus-visible{background:#ffffff24;outline:none}.back-to-top{position:fixed;z-index:50;right:max(1.2rem,env(safe-area-inset-right));bottom:max(1.2rem,env(safe-area-inset-bottom));width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:color-mix(in srgb,var(--forest-deep) 88%,transparent);color:#fff;box-shadow:0 10px 28px #07181047;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(12px);translate:0 calc(var(--footer-lift, 0px) * -1);-webkit-tap-highlight-color:transparent;transition:opacity .24s ease,transform .24s cubic-bezier(.2,.7,.2,1),background .18s ease,color .18s ease,border-color .18s ease}.back-to-top.on-dark{border-color:#0d2a1c1f;background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--forest-deep);box-shadow:0 10px 28px #00000059}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:none}.back-to-top:focus-visible{background:var(--sand);color:var(--forest-deep);outline:none}@media(hover:hover){.back-to-top:hover{background:var(--sand);color:var(--forest-deep)}}@media(hover:none)and (pointer:coarse){.site-header,.name-lockup,.hero-tagline,.hero-actions,.hero-aside,.eyebrow,.snap-scroll main section h2,.evening-walk,.event-card,.primary-action,.store-badges{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}@media(prefers-reduced-motion:reduce){.back-to-top,.language-menu-chevron,.language-menu-list,.marketing-header,.marketing-header:before,.marketing-header .site-brand img{transition:none;animation:none}}.site-header.booking-header{position:sticky;min-height:76px;background:color-mix(in srgb,var(--booking-header) 96%,transparent);border-bottom:1px solid color-mix(in srgb,var(--accent-soft) 36%,transparent);color:var(--on-accent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-brand{flex:0 0 auto}.site-brand img{width:224px;max-height:76px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1)}.booking-header .site-brand img{width:166px;filter:brightness(0) invert(1)}[data-theme=dark] .site-footer img{filter:brightness(0) invert(1)}.header-actions{display:flex;align-items:center;gap:.7rem}.header-text-action,.header-icon-action,.header-book-action{background:none;color:inherit;cursor:pointer}.header-text-action{padding:.45rem;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.header-icon-action{width:38px;height:38px;display:grid;place-items:center}.header-book-action{display:inline-block;white-space:nowrap;text-decoration:none;padding:.8rem 1.2rem;border:1px solid rgba(255,255,255,.58);font-size:.74rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;transition:background .18s ease,color .18s ease}.header-book-action:hover{background:#fff;color:var(--forest-deep)}.booking-nav{display:flex;align-self:stretch;align-items:center;gap:2.2rem}.booking-nav button{height:100%;padding:0;position:relative;background:none;color:var(--booking-header-muted);cursor:pointer;font-size:.8rem;font-weight:500;letter-spacing:.04em}.booking-nav button:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:2px;background:var(--accent-soft);transform:scaleX(0);transition:transform .18s ease}.booking-nav button.active{color:var(--on-accent)}.booking-nav button.active:after{transform:scaleX(1)}.menu-toggle{display:none}.marketing-hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(8rem,14vw,12rem) clamp(1.2rem,8vw,9rem) clamp(4rem,10vh,7rem);color:#fff}.hero-image,.hero-shade{position:absolute;top:0;right:0;bottom:0;left:0}.hero-image{background:url(/sauna_background.png) center 54% / cover no-repeat;transform:scale(1.01)}.hero-backdrop{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background:url(/videos/hero-loop-poster.jpg) center / cover no-repeat var(--forest-deep);filter:blur(36px) brightness(.7)}.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;background:var(--forest-deep)}@media(min-width:1180px){.hero-video{left:auto;right:0;width:auto;aspect-ratio:9 / 16;box-shadow:-30px 0 80px #00000073}.hero-content{max-width:min(760px,calc(100% - 56.25svh - 3rem))}.hero-aside{display:none}}.hero-shade{background:linear-gradient(90deg,#071810c2,#07181057 58%,#07181021),linear-gradient(0deg,rgba(7,24,16,.58),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:760px}.hero-content h1{margin-bottom:1.5rem;max-width:690px;color:#fff;font-size:clamp(4.2rem,9vw,8.5rem);letter-spacing:-.045em}.hero-content h1.name-lockup{width:fit-content;max-width:none;margin:0 0 1.8rem;display:flex;flex-direction:column;align-items:center;font-family:var(--sans);font-weight:700;line-height:1;letter-spacing:.02em;font-size:clamp(2.6rem,5vw,4.4rem);text-shadow:0 2px 24px rgba(0,0,0,.35)}.name-lockup-city{margin:.18em 0;padding:.12em .04em .08em;border-top:2px solid rgba(255,244,228,.85);border-bottom:2px solid rgba(255,244,228,.85);font-size:1.62em;letter-spacing:.01em}.hero-tagline{margin:0 0 1rem;color:#fff;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1}.hero-intro{max-width:590px;margin-bottom:2.4rem;color:#ffffffd6;font-size:clamp(1rem,1.5vw,1.18rem);font-weight:350}.hero-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.primary-action,.quiet-action{min-height:52px;padding:.9rem 1.35rem;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;background:var(--forest);color:var(--on-forest);cursor:pointer;font-size:.78rem;font-weight:600;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:background .18s ease,opacity .18s ease,transform .18s ease}.secondary-action{min-height:42px;padding:.65rem .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:.75rem;font-weight:600}.secondary-action:hover{background:var(--surface-soft)}.sr-only{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.primary-action:hover,.quiet-action:hover{transform:translateY(-1px)}.primary-action:disabled,.quiet-action:disabled{cursor:not-allowed;opacity:.48;transform:none}.primary-action-light{background:var(--paper);color:var(--forest-deep)}.quiet-action{min-height:auto;padding:.35rem 0;background:transparent;border-bottom:1px solid var(--line);color:var(--ink)}.quiet-action-light{border-color:#fff6;color:#fff}.full-width{width:100%}.hero-aside{position:absolute;z-index:2;right:clamp(1.2rem,3.5vw,4rem);bottom:5rem;margin:0;font-size:.65rem;letter-spacing:.28em;writing-mode:vertical-rl}.editorial-section{max-width:1280px;margin:0 auto;padding:clamp(6rem,12vw,11rem) clamp(1.3rem,6vw,5rem);display:grid;grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr);gap:clamp(3rem,10vw,10rem)}.editorial-section h2,.events-header h2,.closing-cta h2{margin:0;font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.04em}.large-body{max-width:700px;margin:0;align-self:end;color:var(--ink-soft);font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.2}.ritual-steps{max-width:1280px;margin:0 auto;padding:0 clamp(1.3rem,6vw,5rem);display:grid;grid-template-columns:repeat(3,1fr)}.ritual-step{min-height:260px;padding:2rem clamp(1.2rem,3vw,2.4rem);border-top:1px solid var(--line);border-right:1px solid var(--line)}.ritual-step:first-child{padding-left:0}.ritual-step:last-child{border-right:0}.ritual-step>span{color:var(--moss);font-family:var(--serif);font-size:1.2rem}.ritual-step h3{margin:4rem 0 1rem;font-size:2rem}.ritual-step p{max-width:300px;color:var(--ink-soft)}.image-break{min-height:min(72vw,780px);margin:0 clamp(1rem,3vw,3rem);position:relative;background:linear-gradient(180deg,#0c231714,#0c23178a),url(/withoutbg-sauna_oven.png) center 65% / min(58vw,650px) auto no-repeat,var(--forest-deep);color:#fff}.image-break-copy{position:absolute;right:clamp(1.5rem,5vw,5rem);bottom:clamp(1.5rem,5vw,5rem);text-align:right}.image-break-copy span{font-family:var(--serif);font-size:clamp(5rem,13vw,12rem);line-height:.8}.image-break-copy p{margin:1.5rem 0 0;font-size:.7rem;letter-spacing:.25em}.coming-soon{min-height:70svh;padding:clamp(5rem,10vw,9rem);display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:end;gap:clamp(3rem,7vw,7rem);background:var(--forest-deep);color:#fff}.coming-soon-page{min-height:100svh;padding-top:clamp(9rem,16vw,12rem)}.coming-soon h1,.coming-soon h2{max-width:800px;margin:0;color:#fff;font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.04em}.coming-soon-body{max-width:620px;margin:1.8rem 0 2.4rem;color:#ffffffb8}.social-actions{display:flex;flex-wrap:wrap;gap:1rem}.outline-action-light{background:transparent;border:1px solid rgba(255,255,255,.58);color:#fff}.outline-action-light:hover{background:#ffffff14}.app-teaser{padding:2rem;border:1px solid rgba(255,255,255,.2)}.app-teaser h3{margin:1.4rem 0 .8rem;color:#fff;font-size:1.9rem}.app-teaser p{color:#ffffffa8}.store-badges{margin:1.6rem 0 0;padding:0;display:grid;gap:.6rem;list-style:none}.store-badge{padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid rgba(255,255,255,.22);font-size:.78rem;font-weight:600;letter-spacing:.04em}.store-badge small{white-space:nowrap;color:var(--sand);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase}.events-section{padding:clamp(5rem,9vw,8rem) clamp(1.3rem,6vw,5rem);background:var(--paper)}.events-header,.events-grid,.events-note{width:100%;max-width:1280px;margin-inline:auto}.events-header{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr);column-gap:clamp(3rem,10vw,10rem);align-items:end}.events-header .eyebrow{grid-column:1 / -1}.events-header h2{font-size:clamp(3rem,5.5vw,5.5rem);line-height:1}.events-header .large-body{font-size:clamp(1.5rem,2.3vw,2.1rem)}.events-grid{margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.6rem)}.event-card{position:relative;overflow:hidden;min-height:340px;padding:clamp(1.6rem,3vw,2.4rem);display:flex;flex-direction:column;background:var(--forest-deep);color:#fff;isolation:isolate}.event-card:before{content:"";position:absolute;inset:auto -30% -45% auto;width:90%;aspect-ratio:1;border-radius:50%;z-index:-1;opacity:.55;filter:blur(10px);transition:transform .7s cubic-bezier(.2,.7,.2,1)}.event-moon:before{background:radial-gradient(circle,rgba(236,228,205,.55) 0%,rgba(236,228,205,.12) 45%,transparent 70%)}.event-women:before{background:radial-gradient(circle,rgba(214,150,130,.55) 0%,rgba(214,150,130,.12) 45%,transparent 70%)}.event-card:hover:before{transform:translate(-8%,-8%) scale(1.1)}.event-icon{color:var(--sand)}.event-when{margin:auto 0 .6rem;padding-top:3rem;color:var(--sand);font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.event-card h3{margin:0 0 .8rem;color:#fff;font-size:clamp(1.9rem,2.6vw,2.4rem);line-height:1.05}.event-card p:last-child{margin:0;color:#ffffffbd}.events-note{margin-top:2rem}.events-note a{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink-soft);font-size:.95rem;text-underline-offset:.25em}.events-note a:hover{color:var(--ink)}.snap-scroll .events-section{min-height:100svh;display:flex;flex-direction:column;justify-content:center}@media(max-width:900px){.events-header{grid-template-columns:1fr;row-gap:1.2rem}.events-grid{grid-template-columns:1fr}.event-card{min-height:0}.event-when{padding-top:1.6rem}}@media(prefers-reduced-motion:reduce){.event-card:before{transition:none}}.practical-section{grid-template-columns:.9fr 1.1fr;padding-top:clamp(4rem,7vw,6rem)}html.snap-scroll{scroll-snap-type:y mandatory}@media(max-width:1179px),(max-height:760px){.snap-scroll .ritual-steps{scroll-snap-align:start}.snap-scroll .marketing-hero,.snap-scroll .experience-block,.snap-scroll .evening-walk .walk-stop:first-child,.snap-scroll .events-section,.snap-scroll .practical-section,.snap-scroll .coming-soon{scroll-snap-stop:always}}.snap-scroll .practical-section{min-height:100svh;align-content:center;align-items:center}.snap-scroll .coming-soon{min-height:100svh;align-content:center}.snap-scroll .marketing-hero,.snap-scroll .experience-block,.snap-scroll .events-section,.snap-scroll .practical-section,.snap-scroll .coming-soon,.snap-scroll .closing-cta{scroll-snap-align:start}.snap-scroll .site-footer{scroll-snap-align:end}.evening-walk{position:relative;height:calc(var(--walk-stops) * 100svh);background:var(--forest-deep);color:#fff}.walk-stage{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;align-items:center;justify-content:flex-start;padding:0 clamp(1.3rem,8vw,9rem) 0 calc(56.25svh + clamp(3rem,7vw,7rem))}.walk-glow{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;width:120%;height:120%;filter:blur(60px) saturate(1.3);opacity:.55;transition:opacity .4s ease}.walk-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(270deg,#071810eb,#07181099 55%,#07181066);pointer-events:none}.walk-frame{position:absolute;z-index:2;top:0;bottom:0;left:0;height:100%;aspect-ratio:9 / 16;box-shadow:30px 0 80px #00000073}.walk-frame video{width:100%;height:100%;display:block;object-fit:cover;background:#000}.walk-frame-progress{position:absolute;top:0;bottom:0;right:0;width:3px;background:#ffffff29}.walk-frame-progress span{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--sand);transform-origin:top;transform:scaleY(var(--p, 0));transition:transform .12s linear}.walk-captions{position:relative;z-index:1;width:100%;max-width:560px}.walk-captions ol{margin:1.4rem 0 0;padding:0;list-style:none;border-left:1px solid rgba(255,255,255,.14)}.walk-captions li{position:relative;padding-left:1.4rem}.walk-captions li:before{content:"";position:absolute;top:0;bottom:0;left:-1px;width:2px;background:var(--sand);transform:scaleY(0);transition:transform .5s cubic-bezier(.2,.7,.2,1)}.walk-captions li.is-active:before{transform:scaleY(1)}.walk-captions li>button{display:block;width:100%;margin:0;padding:.35rem 0;background:none;color:inherit;text-align:left;cursor:pointer}.walk-captions li>button:focus-visible{outline:2px solid var(--sand);outline-offset:4px}.walk-captions h3{margin:0;color:#ffffff80;font-size:1.35rem;line-height:1.15;letter-spacing:-.01em;transition:color .3s ease,font-size .5s cubic-bezier(.2,.7,.2,1)}.walk-captions li>button:hover h3{color:#ffffffd9}.walk-captions li.is-active h3{color:#fff;font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.02;letter-spacing:-.03em}.walk-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1),opacity .4s ease}.walk-body>div{overflow:hidden}.walk-body-media{display:grid;grid-template-columns:minmax(0,440px) auto;justify-content:start;align-items:center;gap:1.6rem;padding:1.5rem 2.5rem 2.5rem 0;margin-bottom:-1.5rem}.walk-body-media .zoom-trigger{margin:0}.walk-body-media .zoom-trigger img{height:clamp(6rem,11vh,8.5rem);filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}.walk-body p{max-width:440px;margin:0;color:#ffffffc2;font-size:clamp(1rem,1.4vw,1.15rem)}.walk-captions li.is-active .walk-body{grid-template-rows:1fr;opacity:1;padding:.5rem 0 .9rem}.walk-actions{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem}.walk-skip{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:0 1.2rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:transparent;color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.walk-skip:hover,.walk-skip:focus-visible{border-color:var(--sand);background:var(--sand);color:var(--forest-deep);outline:none}.walk-hint{margin:0;display:inline-flex;align-items:center;gap:.5rem;color:#fff9;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:opacity .3s ease}.walk-hint svg{animation:walk-nudge 1.8s ease-in-out infinite}.walk-hint.is-hidden{opacity:0}@keyframes walk-nudge{50%{transform:translateY(4px)}}.walk-stops{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.walk-stop{height:100svh}.snap-scroll .walk-stop{scroll-snap-align:start}@media(max-width:1179px){.walk-stage{align-items:flex-end;padding:0 clamp(1.3rem,6vw,4rem) 3.5rem}.walk-frame{top:0;right:0;bottom:0;left:0;width:100%;aspect-ratio:auto;box-shadow:none;z-index:0}.walk-frame-progress{top:auto;right:0;bottom:0;left:0;width:auto;height:3px}.walk-frame-progress span{transform-origin:left;transform:scaleX(var(--p, 0))}.walk-glow{display:none}.walk-stage:after{background:linear-gradient(0deg,#071810eb,#07181073 45%,#07181000 75%)}.walk-captions h3{font-size:1.05rem}.walk-captions li>button{padding:.2rem 0}.walk-captions li.is-active h3{font-size:2.2rem}.walk-actions{margin-top:1.2rem}.walk-hint{display:none}}@media(prefers-reduced-motion:reduce){.walk-captions li:before,.walk-captions h3,.walk-body,.walk-hint svg{transition:none;animation:none}}.legal-page{background:var(--paper);color:var(--ink)}.legal-hero{position:relative;overflow:hidden;padding:clamp(9rem,16vw,13rem) clamp(1.3rem,8vw,9rem) clamp(4rem,8vw,6.5rem);background:radial-gradient(ellipse 60% 80% at 85% 20%,rgba(217,195,157,.16),transparent 70%),linear-gradient(160deg,var(--forest) 0%,var(--forest-deep) 75%);color:#fff}.legal-hero:after{content:"";position:absolute;right:clamp(-6rem,-4vw,-2rem);bottom:-40%;width:min(44vw,520px);aspect-ratio:1;background:url(/saunagus-roskilde-mark-digital.png) center / contain no-repeat;filter:brightness(0) invert(1);opacity:.05;pointer-events:none}.legal-hero-inner{position:relative;z-index:1;max-width:1120px;margin:0 auto}.legal-hero h1{max-width:14ch;margin:0;font-size:clamp(3.2rem,7vw,6.2rem);letter-spacing:-.04em}.legal-intro{max-width:620px;margin:1.6rem 0 0;color:#fffc;font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.3}.legal-layout{max-width:1120px;margin:0 auto;padding:clamp(3.5rem,7vw,6rem) clamp(1.3rem,6vw,5rem);display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}.legal-nav{position:sticky;top:2rem}.legal-nav ul{margin:0;padding:0;list-style:none;border-left:1px solid var(--line)}.legal-nav a{position:relative;display:block;padding:.55rem 0 .55rem 1.1rem;color:var(--ink-soft);font-size:.95rem;text-decoration:none;transition:color .18s ease}.legal-nav a:hover{color:var(--ink)}.legal-nav a[aria-current=page]{color:var(--ink);font-weight:600}.legal-nav a[aria-current=page]:before{content:"";position:absolute;top:.4rem;bottom:.4rem;left:-1px;width:2px;background:var(--accent)}.legal-content{max-width:680px}.legal-content section+section{margin-top:2.6rem;padding-top:2.6rem;border-top:1px solid var(--line)}.legal-content h2{margin:0 0 1rem;font-size:clamp(1.8rem,3vw,2.3rem);letter-spacing:-.02em}.legal-content p,.legal-content li{color:var(--ink-soft);font-size:1.05rem;line-height:1.7}.legal-content p{margin:0 0 1rem}.legal-content ul{margin:0;padding-left:1.2rem}.legal-content li+li{margin-top:.4rem}.legal-content li::marker{color:var(--accent)}.legal-link{display:inline-flex;align-items:center;gap:.45rem;color:var(--accent-deep);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-decoration:none;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:.2rem}.legal-link svg{transition:transform .18s ease}.legal-link:hover svg{transform:translate(3px)}.legal-updated{margin-top:3rem!important;font-size:.85rem!important;color:var(--moss)!important}.legal-contact{padding:clamp(4rem,8vw,6.5rem) clamp(1.3rem,8vw,9rem);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem clamp(2.5rem,7vw,6rem);background:var(--forest-deep);color:#fff}.legal-contact-intro h2{margin:0 0 1rem;color:#fff;font-size:clamp(2.4rem,4.5vw,3.8rem);letter-spacing:-.03em}.legal-contact-intro p{margin:0;color:#ffffffb8}.legal-contact-list{margin:0;padding:0;list-style:none}.legal-contact-list li{display:grid;grid-template-columns:1.6rem 9rem minmax(0,1fr);align-items:center;column-gap:.8rem;row-gap:.6rem;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.14)}.legal-contact-list li:first-child{border-top:1px solid rgba(255,255,255,.14)}.legal-contact-list svg{color:var(--sand)}.legal-contact-list span{color:#ffffff94;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.legal-contact-list a{color:#fff;font-size:1.05rem;text-decoration:none;overflow-wrap:anywhere}.legal-contact-list a:hover{color:var(--sand)}.legal-contact-list a.legal-directions{grid-column:3;justify-self:start;display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .85rem;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:background .18s ease,color .18s ease,border-color .18s ease}.legal-contact-list a.legal-directions:hover{border-color:var(--sand);background:var(--sand);color:var(--forest-deep)}.legal-company{grid-column:1 / -1;margin:1rem 0 0;color:#ffffff80;font-size:.82rem}@media(max-width:900px){.legal-layout{grid-template-columns:1fr}.legal-nav{position:static}.legal-nav ul{display:flex;flex-wrap:wrap;gap:.5rem;border-left:0}.legal-nav a{padding:.5rem .95rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem}.legal-nav a[aria-current=page]{border-color:var(--forest);background:var(--forest);color:#fff}.legal-nav a[aria-current=page]:before{display:none}.legal-contact{grid-template-columns:1fr}.legal-contact-list li{grid-template-columns:1.6rem minmax(0,1fr)}.legal-contact-list span,.legal-contact-list a,.legal-contact-list a.legal-directions{grid-column:2}}.experience-block{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-bottom:clamp(3rem,6vw,5rem)}.experience-block .ritual-section{width:100%;padding-top:clamp(5rem,8vw,7rem);padding-bottom:clamp(3rem,5vw,4.5rem)}.experience-block .ritual-steps{width:100%}.practical-list{border-top:1px solid var(--line)}.practical-list article{padding:1.8rem 0;display:grid;grid-template-columns:.4fr 1fr;gap:2rem;border-bottom:1px solid var(--line)}.practical-list h3{margin:0;font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.practical-list p{margin:0;color:var(--ink-soft)}.practical-lines{white-space:pre-line}.practical-list a.zoom-link{cursor:zoom-in}.zoom-link-tail{white-space:nowrap}.zoom-link svg{margin-left:.25em;vertical-align:-.1em}.zoom-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.zoom-trigger{position:relative;margin:-1rem 0;padding:0;background:none;cursor:zoom-in}.zoom-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.zoom-trigger img{width:auto;height:clamp(6.5rem,9vw,8.5rem);transform:rotate(6deg);filter:drop-shadow(0 12px 14px rgba(13,42,28,.22));transition:transform .4s cubic-bezier(.2,.7,.2,1)}.zoom-badge{position:absolute;right:-.35rem;bottom:.1rem;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--paper);color:var(--forest);box-shadow:0 0 0 1px var(--line),0 4px 10px #0d2a1c2e;transition:transform .3s cubic-bezier(.2,.7,.2,1),background .2s ease,color .2s ease}.zoom-trigger:hover .zoom-badge,.zoom-trigger:focus-visible .zoom-badge{transform:scale(1.12);background:var(--forest);color:#fff}.zoom-trigger:hover img,.zoom-trigger:focus-visible img{transform:rotate(0) translateY(-3px) scale(1.04)}.zoom-dialog{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;margin:0;padding:clamp(1.5rem,5vw,4rem);border:0;background:transparent;overflow:hidden}.zoom-dialog[open]{display:grid;place-items:center;animation:zoom-fade .25s ease}.zoom-dialog::backdrop{background:#071810db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.zoom-dialog img{max-width:100%;max-height:calc(100dvh - clamp(3rem,10vw,8rem));width:auto;height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5));cursor:zoom-out;animation:zoom-in .35s cubic-bezier(.2,.7,.2,1)}.zoom-close{position:fixed;top:1.2rem;right:1.2rem;width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:transparent;color:#fff;cursor:pointer;transition:background .18s ease,color .18s ease}.zoom-close:hover,.zoom-close:focus-visible{background:#fff;color:var(--forest-deep);outline:none}@media(max-width:600px){.zoom-dialog{padding-top:5rem}.zoom-dialog img{max-height:calc(100dvh - 7rem)}}@keyframes zoom-fade{0%{opacity:0}}@keyframes zoom-in{0%{transform:scale(.92) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.zoom-trigger img{transition:none}.zoom-dialog[open],.zoom-dialog img{animation:none}}.practical-list a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.practical-list a:hover{color:var(--ink)}.practical-location{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.4rem}.practical-list a.directions-action{padding:.55rem .95rem;display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--line);color:var(--ink);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:background .16s ease,border-color .16s ease}.practical-list a.directions-action:hover{border-color:var(--ink);background:#1830260f}.closing-cta{min-height:70svh;padding:clamp(5rem,10vw,9rem);display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;background:var(--forest-deep);color:#fff}.closing-cta h2{max-width:800px;color:#fff}.closing-cta>div>p:last-child{margin:1.8rem 0 0;color:#ffffffa8}.site-footer{padding:1.6rem clamp(1.3rem,6vw,5rem) 1.2rem;display:grid;gap:.9rem;background:var(--paper);border-top:1px solid var(--line)}.footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.4rem}.footer-brand img{width:140px;filter:brightness(0) saturate(100%);opacity:.78}.footer-brand p{margin:0;color:var(--ink-soft);font-size:.85rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}.site-footer nav a{color:var(--ink-soft);font-size:.76rem;letter-spacing:.04em;text-decoration:none}.site-footer nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:.2em}.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.6rem;padding-top:.9rem;border-top:1px solid var(--line)}.footer-copyright{margin:0;color:var(--ink-soft);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}.steam-entrance{position:fixed;z-index:999;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--forest-deep);color:#fff;overflow:hidden}.steam-entrance:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--paper);opacity:0;animation:steam-fade 1.25s ease-in forwards}.steam-entrance canvas{position:absolute;top:0;right:0;bottom:0;left:0}.steam-entrance img,.steam-entrance p{position:absolute;z-index:2}.steam-entrance img{width:min(52vw,310px);filter:brightness(0) invert(1)}.steam-entrance p{bottom:12vh;margin:0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase}@keyframes steam-fade{0%,55%{opacity:0}to{opacity:1}}.restore-screen,.role-message{min-height:100svh;display:grid;place-content:center;justify-items:center;gap:1rem}.restore-screen img,.role-message img{width:min(65vw,300px)}.restore-screen p{color:var(--ink-soft);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase}.auth-page{position:relative;min-height:calc(100svh - 76px);display:grid;grid-template-columns:1fr 1fr;background:var(--paper);overflow:hidden}.auth-atmosphere{position:absolute;top:0;right:50%;bottom:0;left:0;background:linear-gradient(180deg,#081f142e,#081f14c7),url(/sauna_background.png) center / cover}.auth-brand{position:relative;z-index:1;min-height:calc(100svh - 76px);padding:clamp(3rem,8vh,6rem) clamp(2rem,7vw,7rem) clamp(3rem,7vh,5rem);display:flex;flex-direction:column;justify-content:space-between;color:#fff}.auth-logo img{width:min(65%,310px);filter:brightness(0) invert(1)}.auth-brand>p{max-width:540px;margin:0;color:#ffffffeb;font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.8rem);line-height:1.2}.auth-card{z-index:2;width:min(100%,560px);margin:auto;padding:8.5rem clamp(2rem,6vw,5.5rem) 4rem}.auth-card h1{margin-bottom:1rem;font-size:clamp(3.8rem,7vw,6rem);letter-spacing:-.04em}.auth-intro{max-width:390px;margin-bottom:2.3rem;color:var(--ink-soft)}.form-stack{display:grid;gap:1.2rem}.field{display:grid;gap:.45rem;color:var(--ink-soft);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.field input,.field select,.field textarea,.settings-section>input,.danger-section input{width:100%;padding:.7rem 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);outline:none;font-size:1rem;letter-spacing:normal;text-transform:none}.field input:focus,.field select:focus,.field textarea:focus,.settings-section>input:focus,.danger-section input:focus{border-color:var(--forest)}.field input,.field select{height:50px}.field textarea{min-height:84px;resize:vertical}.password-field{position:relative}.password-field input{padding-right:2.7rem}.field-icon{position:absolute;right:0;bottom:.75rem;width:36px;height:36px;display:grid;place-items:center;background:none;color:var(--ink-soft);cursor:pointer}.form-error,.page-error{margin:0;color:var(--danger);font-size:.82rem}.form-success,.page-success{color:var(--success)}.auth-links{margin-top:1.4rem;display:flex;justify-content:space-between;gap:1rem}.text-link{padding:0;display:inline-flex;align-items:center;gap:.4rem;background:none;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;font-size:.78rem;text-decoration:none}.text-link.destructive{color:var(--danger)}.auth-back{margin-bottom:3rem}.auth-terms{margin-top:2.3rem;color:var(--ink-soft);font-size:.68rem}.invite-confirmation{width:fit-content;margin:0;padding:.35rem .7rem;border:1px solid var(--line);color:var(--forest);font-family:monospace;font-size:.85rem;letter-spacing:.08em}.booking-main{width:min(100%,1540px);min-height:75svh;margin:0 auto;padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,4rem) 7rem;background:linear-gradient(135deg,color-mix(in srgb,var(--surface-soft) 48%,transparent),transparent 32rem)}.booking-page-heading{margin-bottom:3.5rem;padding:1rem 0 1rem clamp(1rem,2.5vw,2.2rem);display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;border-left:4px solid var(--accent)}.booking-page-heading h1{margin-bottom:.8rem;font-size:clamp(3.5rem,7vw,6.5rem);letter-spacing:-.045em}.booking-page-heading>div>p:last-child{margin:0;color:var(--ink-soft)}.booking-page-heading:has(+.upcoming-drops){margin-bottom:1.25rem}.upcoming-drops{margin-bottom:2.5rem}.upcoming-drops h2{margin:0 0 .75rem;font-size:1rem}.upcoming-drops-strip{display:flex;gap:.8rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}.upcoming-drop-card{flex:0 0 min(100%,32rem);min-height:7.4rem;padding:1rem 1.15rem;color:#fff;background:linear-gradient(135deg,var(--accent-deep),var(--accent));border-radius:14px;box-shadow:0 14px 32px color-mix(in srgb,var(--ink) 14%,transparent);border:0;cursor:pointer;font-family:var(--sans);text-align:left}.upcoming-drop-card.empty{background:linear-gradient(135deg,#74757b,#999a9f)}.upcoming-drop-card>span{display:flex;flex-direction:column;gap:.28rem}.upcoming-drop-card strong{color:#ffffffe5;font-size:.9rem}.upcoming-drop-card b{font-size:clamp(1.7rem,4vw,2.2rem);font-variant-numeric:tabular-nums;letter-spacing:-.035em}.upcoming-drop-card small{color:#ffffffbd;font-size:.78rem}.schedule-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:flex-end}.view-switch{display:flex;gap:.2rem;padding:.25rem;background:var(--surface-soft)}.view-switch button,.theme-options button{padding:.5rem .85rem;background:none;color:var(--ink-soft);cursor:pointer;font-size:.76rem}.view-switch button.active,.theme-options button.active{background:var(--accent);color:var(--on-accent)}.refresh-action,.calendar-controls button{width:42px;height:42px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer}.refresh-action:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.quiet-empty{min-height:260px;display:grid;place-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink-soft);font-family:var(--serif);font-size:1.6rem}.session-day{margin-bottom:clamp(2rem,4vw,3.5rem)}.session-day>h2{margin:0 0 .85rem;display:flex;align-items:center;gap:1rem;color:var(--accent-deep);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:500;text-transform:capitalize}.session-day>h2:after{height:2px;flex:1;background:color-mix(in srgb,var(--accent) 58%,transparent);content:""}[data-theme=dark] .session-day>h2{color:var(--accent-soft)}.session-day>div{display:grid;grid-template-columns:1fr;gap:.85rem}.session-row{width:100%;min-height:142px;padding:0;display:grid;grid-template-columns:clamp(240px,32vw,350px) 88px minmax(180px,1fr) minmax(135px,auto);align-items:center;gap:clamp(.9rem,2vw,1.75rem);overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--ink);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.selectable-session-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:0}.selectable-session-row .session-row{min-width:0}.session-select{min-width:48px;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--line);border-right:0;border-radius:6px 0 0 6px}.selectable-session-row:has(.session-select) .session-row{border-radius:0 6px 6px 0}.session-select input{width:18px;height:18px;accent-color:var(--accent)}.admin-list-tools{margin-bottom:1.2rem;display:grid;gap:.8rem}.lifecycle-filters,.bulk-action-bar{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.lifecycle-filters button{padding:.5rem .8rem;background:var(--surface);border:1px solid var(--line);cursor:pointer;font-size:.72rem}.lifecycle-filters button.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.history-controls{padding:.8rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap;background:var(--surface-soft);border-left:3px solid var(--accent);color:var(--ink-soft);font-size:.75rem}.history-range{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.history-range label{display:grid;gap:.25rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.history-range input{min-height:36px;padding:.35rem .55rem;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--ink);color-scheme:light dark}.history-count{font-weight:700}.history-scroll-sentinel{height:2px;margin-bottom:2rem}.bulk-action-bar{padding:.8rem 1rem;background:var(--surface-soft);border-left:3px solid var(--accent)}.bulk-action-bar strong{margin-right:auto;font-size:.78rem}.session-row:hover{background:var(--surface-soft);border-color:color-mix(in srgb,var(--accent) 60%,var(--line));box-shadow:0 10px 26px color-mix(in srgb,var(--accent-deep) 10%,transparent)}.session-row.past-session{background:color-mix(in srgb,var(--surface-soft) 58%,var(--surface));opacity:.7}.session-row.past-session .session-row-image{filter:grayscale(.9)}.session-time{padding:0;display:block;font-family:var(--serif);font-size:1.55rem;line-height:1}.session-time small{margin-top:.55rem;display:block;color:var(--ink-soft);font-family:var(--sans);font-size:.7rem}.session-row-image{width:100%;height:100%;min-height:142px;display:grid;place-items:center;overflow:hidden;background:var(--accent-deep);color:var(--on-accent);font-family:var(--serif);font-size:2.2rem}.session-row-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.session-row:hover .session-row-image img{transform:scale(1.04)}.session-row-main,.session-row-meta{display:grid;gap:.45rem}.session-row-main{align-content:start}.session-row-main strong{font-family:var(--serif);font-size:1.5rem;font-weight:500}.session-row-main span,.session-row-meta span{color:var(--ink-soft);font-size:.74rem}.session-row-meta{height:100%;min-width:135px;padding:1rem;align-content:center;justify-items:end;background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface));border-left:1px solid var(--line)}.session-row-meta strong{font-size:.85rem}.session-status.full,.session-status.closed{color:var(--danger)}.session-status.past{color:var(--ink-soft);font-weight:700;text-transform:uppercase}.calendar-shell{overflow:hidden;background:var(--surface);border-top:3px solid var(--accent);box-shadow:0 20px 50px color-mix(in srgb,var(--ink) 9%,transparent)}.calendar-controls{min-height:78px;display:grid;grid-template-columns:42px 70px 1fr 42px;align-items:center;gap:.7rem;background:var(--accent-deep);border-bottom:1px solid color-mix(in srgb,var(--on-accent) 22%,transparent);color:var(--on-accent)}.calendar-controls button{background:color-mix(in srgb,var(--on-accent) 8%,transparent);border-color:color-mix(in srgb,var(--on-accent) 36%,transparent);color:var(--on-accent)}.calendar-controls button:hover{background:color-mix(in srgb,var(--on-accent) 18%,transparent)}.calendar-controls button:nth-child(2){width:auto;padding:0 .8rem;font-size:.72rem}.calendar-controls p{min-width:0;margin:0;overflow:visible;text-align:center;text-transform:capitalize;white-space:nowrap}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:1040px;display:grid;grid-template-columns:64px repeat(7,minmax(130px,1fr))}.calendar-corner,.calendar-day-label{height:78px;background:var(--surface-soft);border-bottom:1px solid var(--line)}.calendar-day-label{padding:.9rem;display:grid;place-items:center;border-left:1px solid var(--line);color:var(--ink-soft)}.calendar-day-label span{font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.calendar-day-label strong{font-family:var(--serif);font-size:1.7rem;font-weight:500}.calendar-day-label.today{background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface));color:var(--accent-deep)}.calendar-day-label.past-day{background:color-mix(in srgb,var(--surface-soft) 70%,var(--surface));color:color-mix(in srgb,var(--ink-soft) 62%,transparent)}[data-theme=dark] .calendar-day-label.today{background:color-mix(in srgb,var(--accent) 58%,var(--surface));color:var(--on-accent)}.calendar-hours{position:relative;background:var(--surface-soft)}.calendar-hours>span{position:absolute;right:.8rem;color:var(--ink-soft);font-size:.6rem;transform:translateY(-50%)}.calendar-day-column{position:relative;background:var(--surface);border-left:1px solid var(--line)}.calendar-day-column:nth-child(2n){background:color-mix(in srgb,var(--surface-soft) 42%,var(--surface))}.calendar-day-column.admin-schedulable{cursor:crosshair;touch-action:pan-y}.calendar-admin-hint{margin:-1.2rem 0 1rem;color:var(--accent-deep);font-size:.72rem;font-weight:600}[data-theme=dark] .calendar-admin-hint{color:var(--accent-soft)}.calendar-hour-line{position:absolute;right:0;left:0;border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.calendar-past-overlay{position:absolute;z-index:1;top:0;right:0;left:0;pointer-events:none;background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--ink-soft) 7%,transparent) 0 8px,transparent 8px 16px),color-mix(in srgb,var(--surface-soft) 56%,transparent);border-bottom:1px solid color-mix(in srgb,var(--ink-soft) 32%,transparent)}.calendar-drop-marker,.calendar-current-time-marker{position:absolute;z-index:4;right:0;left:0;height:0;pointer-events:none;border-top:3px solid var(--accent-soft)}.calendar-drop-marker{padding:0;background:transparent;pointer-events:auto;cursor:pointer}.calendar-current-time-marker,.calendar-drop-marker.release-drop-preview{pointer-events:none}.calendar-current-time-marker{border-color:#c94a4a;border-top-width:2px}.calendar-drop-marker.empty{border-color:#8b8c91}.calendar-drop-marker.merge-target{border-color:#d88417;border-top-width:5px}.calendar-drop-marker.invalid{border-color:var(--danger)}.calendar-drop-marker span,.calendar-current-time-marker span{position:absolute;top:-.65rem;right:4px;padding:.1rem .3rem;background:var(--surface);color:var(--accent-deep);font-size:.58rem;font-weight:700;line-height:1}.calendar-current-time-marker span{color:#a42f2f}.calendar-drop-marker.empty span{color:#66676c}.calendar-drop-marker.merge-target span{color:#a45f08}.calendar-drop-marker.invalid span{color:var(--danger)}.calendar-session{--calendar-state: #2f8057;position:absolute;z-index:2;right:5px;left:5px;padding:.5rem;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;background:var(--accent);border-top:4px solid var(--calendar-state);color:var(--on-accent);cursor:pointer;text-align:left;transition:filter .18s ease,transform .18s ease}.calendar-session.state-draft{--calendar-state: #7b8491}.calendar-session.state-scheduled{--calendar-state: #b67520}.calendar-session.state-archived{--calendar-state: #555d64}.calendar-session.state-cancelled{--calendar-state: #b83f46}.calendar-session.bookings-closed{border-right:4px solid #b83f46}.calendar-session:hover{filter:brightness(1.08);transform:translateY(-1px)}.calendar-day-column.admin-schedulable .calendar-session.reschedulable{touch-action:none;-webkit-user-select:none;user-select:none}.calendar-day-column.admin-schedulable .calendar-session.not-reschedulable{cursor:pointer;touch-action:pan-y}.calendar-session.drag-source{opacity:.22}.calendar-session.past-session{opacity:.58;filter:grayscale(.82);outline:1px dashed color-mix(in srgb,var(--ink-soft) 52%,transparent)}.calendar-session.archived-session,.calendar-session.cancelled-session{opacity:.48;filter:grayscale(1);outline:2px dashed color-mix(in srgb,var(--ink-soft) 66%,transparent)}.calendar-reschedule-preview{z-index:6;pointer-events:none;border:2px dashed color-mix(in srgb,var(--on-accent) 78%,transparent);box-shadow:0 14px 28px color-mix(in srgb,var(--accent-deep) 30%,transparent);cursor:grabbing}.calendar-reschedule-preview.invalid{background:#9f3f3f;border-color:#ffffffd1}.calendar-reschedule-preview.invalid.has-image:after{background:#5c1212bd}.calendar-reschedule-preview.invalid .calendar-session-image{filter:grayscale(.65)}.calendar-reschedule-preview:hover{filter:none;transform:none}.calendar-create-preview{z-index:5;pointer-events:none;background:color-mix(in srgb,var(--accent) 78%,transparent);border:2px dashed color-mix(in srgb,var(--on-accent) 72%,transparent);box-shadow:0 12px 24px color-mix(in srgb,var(--accent-deep) 24%,transparent);opacity:.82;cursor:crosshair}.calendar-create-preview:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--on-accent) 16%,transparent);transform:scaleX(0);transform-origin:left}.calendar-create-preview.holding:after{animation:calendar-hold-progress .55s linear forwards}.calendar-create-preview:hover{filter:none;transform:none}@keyframes calendar-hold-progress{to{transform:scaleX(1)}}.calendar-session-image{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.calendar-session.has-image:after{content:"";position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#140c08c7,#140c0852)}.calendar-session-content{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;align-items:flex-start}.calendar-session-badges{max-width:100%;display:flex;gap:.2rem;margin-bottom:.2rem}.calendar-session-state{max-width:100%;padding:.1rem .28rem;overflow:hidden;border:1px solid color-mix(in srgb,white 38%,transparent);border-radius:999px;background:color-mix(in srgb,var(--calendar-state) 88%,black);color:#fff;font-size:.52rem;font-weight:800;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar-session-state.state-closed{background:#8f3037}.calendar-session.sold-out{background:var(--mist);color:var(--ink-soft)}.calendar-session.sold-out .calendar-session-image{filter:grayscale(1);opacity:.28}.calendar-session strong{font-size:.75rem}.calendar-session-content>span,.calendar-session-content>small{max-width:100%;overflow:hidden;font-size:.63rem;text-overflow:ellipsis;white-space:nowrap}.dialog-backdrop{position:fixed;z-index:300;top:0;right:0;bottom:0;left:0;padding:1rem;display:grid;place-items:center;background:#05140db8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-session-dialog{position:relative;width:min(100%,620px);max-height:92svh;padding:clamp(2rem,5vw,3.5rem);overflow:auto;background:var(--surface);border-top:4px solid var(--accent);box-shadow:0 28px 70px #05140d47}.admin-session-dialog h2{margin-bottom:.65rem;font-size:clamp(2.5rem,6vw,4.5rem)}.admin-session-intro{max-width:480px;margin-bottom:1.8rem;color:var(--ink-soft)}.admin-session-form{display:grid;gap:1.15rem}.admin-session-secondary-actions{margin-top:1.6rem;padding-top:1.2rem;display:grid;gap:1rem;border-top:1px solid var(--line)}.lifecycle-action-grid,.dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem;flex-wrap:wrap}.image-picker{margin:0;padding:1rem;border:1px solid var(--line)}.image-picker legend{color:var(--ink-soft);font-size:.72rem;font-weight:600;text-transform:uppercase}.upload-action input{display:none}.image-archive-hint{margin:.7rem 0 0;color:var(--ink-soft);font-size:.76rem}.image-archive{margin-top:.8rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:.5rem}.image-archive-item{position:relative}.image-archive-select{width:100%;min-height:64px;padding:.25rem;overflow:hidden;background:var(--surface-soft);border:2px solid transparent;cursor:pointer}.image-archive-select.selected{border-color:var(--accent)}.image-archive-delete{position:absolute;top:.3rem;right:.3rem;width:28px;height:28px;padding:0;display:grid;place-items:center;color:#fff;background:#5f1d18e0;border:0;border-radius:50%;cursor:pointer}.image-archive-delete:disabled{cursor:wait;opacity:.55}.image-archive img{width:100%;height:58px;object-fit:cover}.release-session-summary,.lifecycle-preview{margin:1rem 0 1.5rem;padding:1rem;display:grid;gap:.5rem;background:var(--surface-soft)}.release-session-summary button{padding:.55rem;background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left}.admin-destructive-action{width:fit-content;margin-top:.5rem}.lifecycle-preview{border-left:4px solid var(--success)}.lifecycle-preview.blocked{border-left-color:var(--danger)}.lifecycle-preview p{margin:0;font-size:.76rem}.dialog-actions{margin-top:1.5rem}.destructive-action{background:var(--danger)}.admin-session-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.admin-participant-dialog{position:relative;width:min(100%,980px);max-height:92svh;padding:clamp(2rem,4vw,3.5rem);overflow:auto;background:var(--surface);border-top:4px solid var(--accent);box-shadow:0 28px 70px #05140d47}.admin-participant-header{padding-right:3rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:end;gap:clamp(2rem,5vw,5rem)}.admin-participant-header h2{margin-bottom:.65rem;font-size:clamp(2.8rem,6vw,5rem)}.admin-participant-header>div>p:last-child{margin:0;color:var(--ink-soft)}.admin-participant-session-facts{margin:0;border-top:1px solid var(--line)}.admin-participant-session-facts>div{padding:.55rem 0;display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.admin-participant-session-facts dt{color:var(--ink-soft);font-size:.7rem}.admin-participant-session-facts dd{margin:0;font-size:.78rem;font-weight:600;text-align:right}.admin-participant-error{margin-top:1.5rem}.admin-participant-add{margin:2.2rem 0 2.8rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.2rem}.admin-participant-add .primary-action{min-width:180px}.admin-participant-list{border-top:1px solid var(--line)}.admin-participant-list-heading{padding:1.2rem 0;display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.admin-participant-list-heading h3{margin:0;font-size:1.8rem}.admin-participant-list-heading span,.admin-participant-message{color:var(--ink-soft);font-size:.74rem}.admin-participant-message{margin:0;padding:2rem 0;border-top:1px solid var(--line)}.admin-participant-row{padding:1rem 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,auto) minmax(110px,auto);align-items:center;gap:1.5rem;border-top:1px solid var(--line)}.session-dialog .admin-participant-row{grid-template-columns:minmax(0,1fr) auto}.admin-participant-identity,.admin-participant-meta{display:grid;gap:.12rem}.admin-participant-identity strong{font-family:var(--serif);font-size:1.45rem;font-weight:500;line-height:1.1}.admin-participant-identity span,.admin-participant-identity small,.admin-participant-meta span,.admin-participant-meta small{color:var(--ink-soft);font-size:.68rem}.admin-participant-identity small{text-transform:uppercase}.admin-participant-meta{justify-items:end;text-align:right}.admin-participant-meta strong{font-size:.78rem}.admin-participant-remove{justify-self:end}.admin-participant-remove:disabled{cursor:not-allowed;opacity:.38}.participant-confirmation{margin-top:1.5rem;padding:clamp(1.4rem,3vw,2.2rem);background:var(--surface-soft);border:1px solid var(--line);border-left:4px solid var(--danger)}.participant-confirmation .eyebrow{margin-bottom:.7rem}.participant-confirmation h3{margin-bottom:.8rem;font-size:2rem}.participant-confirmation>p:last-of-type{max-width:650px;color:var(--ink-soft)}.admin-seat-picker{max-width:360px;margin:1.5rem 0;padding:.8rem 0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admin-seat-picker>div:first-child{display:grid}.admin-seat-picker span{color:var(--ink-soft);font-size:.7rem}.admin-seat-picker strong{font-family:var(--serif);font-size:2rem;font-weight:500}.admin-seat-picker>div:last-child{display:flex}.admin-seat-picker button{width:42px;height:42px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);cursor:pointer}.admin-seat-picker button:disabled{cursor:not-allowed;opacity:.4}.participant-confirmation-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem}.participant-confirm{background:var(--danger)}.session-dialog{width:min(100%,860px);max-height:92svh;position:relative;display:grid;grid-template-columns:.86fr 1.14fr;overflow:auto;background:var(--paper)}.dialog-close{position:absolute;z-index:2;top:1rem;right:1rem;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);cursor:pointer}.session-dialog-image{width:100%;height:100%;min-height:560px;object-fit:cover}.session-dialog-content{padding:clamp(3rem,6vw,5rem)}.session-dialog h2{margin-bottom:1.5rem;font-size:clamp(3.2rem,6vw,5rem)}.session-description{color:var(--ink-soft)}.session-facts{margin:2.5rem 0;border-top:1px solid var(--line)}.session-facts>div{padding:.8rem 0;display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.session-facts dt{color:var(--ink-soft);font-size:.72rem}.session-facts dd{margin:0;font-size:.8rem;font-weight:500}.spot-picker,.booking-total{margin:1.5rem 0;display:flex;align-items:center;justify-content:space-between}.spot-picker>div:first-child{display:grid}.spot-picker span{color:var(--ink-soft);font-size:.72rem}.spot-picker strong{font-family:var(--serif);font-size:2.5rem;font-weight:500}.spot-picker>div:last-child{display:flex}.spot-picker button{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);cursor:pointer}.booking-total{padding-top:1.2rem;border-top:1px solid var(--line)}.booking-total strong{font-family:var(--serif);font-size:2rem;font-weight:500}.payment-banner{margin:-1.5rem 0 3rem;padding:1rem;border:1px solid var(--line);color:var(--ink-soft);text-align:center}.payment-banner.confirmed{border-color:var(--success);color:var(--success)}.payment-banner.failed{border-color:var(--danger);color:var(--danger)}.booking-history-section{margin-top:4rem;display:grid;grid-template-columns:minmax(150px,.25fr) 1fr;gap:3rem;border-top:1px solid var(--line)}.booking-history-section>h2{padding-top:1.4rem;font-size:2rem}.booking-history-row{padding:1.4rem 0;display:grid;grid-template-columns:70px 1fr auto;gap:2rem;border-bottom:1px solid var(--line)}.booking-history-date{display:grid;justify-items:center}.booking-history-date strong{font-family:var(--serif);font-size:2.6rem;font-weight:500;line-height:1}.booking-history-date span,.booking-history-main small{color:var(--ink-soft);font-size:.65rem;text-transform:uppercase}.booking-history-main h3{margin-bottom:.3rem;font-size:1.7rem}.booking-history-main p{margin-bottom:.3rem;color:var(--ink-soft);font-size:.78rem}.booking-history-actions{display:grid;align-content:center;justify-items:end;gap:.8rem}.booking-status{font-size:.63rem;letter-spacing:.08em;text-transform:uppercase}.status-refunded{color:var(--success)}.status-cancelled,.status-expired,.status-refund_failed{color:var(--danger)}.refund-note{grid-column:2 / -1;margin:0;color:var(--success);font-size:.76rem}.refund-note.error{color:var(--danger)}.settings-layout{max-width:1100px;border-top:1px solid var(--line)}.settings-section{padding:2.8rem 0;display:grid;grid-template-columns:minmax(180px,.36fr) minmax(320px,1fr);gap:clamp(2rem,8vw,8rem);border-bottom:1px solid var(--line)}.settings-section h2{margin:0;font-size:2.3rem}.settings-section-content{max-width:560px}.account-details{margin:0 0 2rem}.account-details>div,.setting-toggle{padding:.8rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}.account-details dt,.setting-toggle span{color:var(--ink-soft);font-size:.75rem}.account-details dd{margin:0;font-size:.82rem}.settings-form{max-width:420px}.settings-signout{margin-top:2rem}.setting-toggle input{accent-color:var(--forest)}.theme-options{display:flex;gap:1.5rem}.danger-section{color:var(--danger)}.danger-section p{color:var(--ink-soft)}.danger-section button{margin-top:1rem;padding:.8rem 1rem;background:transparent;border:1px solid currentColor;color:var(--danger);cursor:pointer}.danger-section button:disabled{cursor:not-allowed;opacity:.35}@media(max-width:900px){.site-header{min-height:74px}.site-brand img{width:172px;max-height:60px}.hero-aside{display:none}.editorial-section,.practical-section,.ritual-steps{grid-template-columns:1fr}.ritual-step,.ritual-step:first-child{min-height:auto;padding:1.8rem 0;border-right:0}.ritual-step h3{margin-top:2rem}.closing-cta{align-items:flex-start;flex-direction:column;justify-content:flex-end}.coming-soon{grid-template-columns:1fr;align-items:start}.auth-page{grid-template-columns:1fr}.auth-atmosphere,.auth-brand{display:none}.auth-card{padding-top:9rem}.booking-nav{position:absolute;top:75px;right:0;left:0;height:auto;padding:1rem;display:none;align-items:stretch;background:var(--booking-header);border-bottom:1px solid color-mix(in srgb,var(--accent-soft) 36%,transparent)}.booking-nav.open{display:grid}.booking-nav button{min-height:46px;color:var(--booking-header-muted)}.booking-nav button.active{color:var(--on-accent)}.booking-nav button:after{display:none}.menu-toggle{display:grid}.desktop-signout{display:none}.booking-page-heading{align-items:flex-start;flex-direction:column}.session-day>div{grid-template-columns:1fr}.booking-history-section{grid-template-columns:1fr;gap:0}.session-row{grid-template-columns:minmax(150px,32vw) 76px minmax(0,1fr)}.session-row-image{grid-row:1 / 3}.session-time{grid-column:2;grid-row:1}.session-row-main{grid-column:3;grid-row:1}.session-row-meta{grid-column:2 / 4;grid-row:2;padding:0 1rem 1rem 0;display:flex;align-items:center;justify-content:space-between}.session-dialog{grid-template-columns:1fr}.admin-participant-header{grid-template-columns:1fr;align-items:stretch;gap:1.5rem}.session-dialog-image{height:280px;min-height:0}}@media(max-width:620px){.site-header{padding-right:1rem;padding-left:1rem}.header-book-action{padding:.6rem .85rem;font-size:.68rem}.site-header:not(.booking-header){gap:.5rem}.site-header:not(.booking-header) .site-brand img{width:118px}.site-header.marketing-header.is-compact .site-brand img{width:96px;max-height:36px}.sticky-actions,.site-header .sticky-actions{gap:0}.sticky-actions .language-menu-button{padding:0 .5rem 0 .6rem}.sticky-actions .sticky-book{margin-left:.25rem;padding:0 .85rem}.marketing-hero{padding-right:1.2rem;padding-left:1.2rem}.hero-content h1{font-size:clamp(3.7rem,20vw,6rem)}.hero-content h1.name-lockup{font-size:min(3.4rem,calc((100vw - 2.4rem) / 8.7));margin-inline:auto}.editorial-section h2,.closing-cta h2,.coming-soon h1,.coming-soon h2{font-size:3.6rem}.coming-soon{padding:5rem 1.2rem}.coming-soon-page{padding-top:8rem}.social-actions .primary-action{width:100%}.practical-list article{grid-template-columns:1fr;gap:.6rem}.auth-card{padding-right:1.25rem;padding-left:1.25rem}.booking-main{padding-top:3rem}.booking-page-heading h1{font-size:3.8rem}.session-row{grid-template-columns:1fr;gap:.85rem;padding-bottom:1rem}.session-row-image{grid-column:1;grid-row:1;height:190px;min-height:190px}.session-time,.session-row-main,.session-row-meta{grid-column:1;padding-right:1rem;padding-left:1rem}.session-time{grid-row:2;display:flex;align-items:baseline;gap:.5rem}.session-time small{margin-top:0;display:inline}.session-row-main{grid-row:3}.session-row-meta{grid-row:4;padding-bottom:0}.session-dialog-content,.admin-session-dialog{padding:2.5rem 1.25rem 1.5rem}.dialog-backdrop:has(.admin-participant-dialog){padding:0}.admin-participant-dialog{width:100%;max-height:100svh;min-height:100svh;padding:2.5rem 1.25rem 1.5rem}.admin-participant-add{grid-template-columns:1fr}.admin-participant-add .primary-action{width:100%}.admin-participant-row{grid-template-columns:minmax(0,1fr) auto;gap:.8rem 1rem}.admin-participant-remove{grid-column:1 / -1;justify-self:start}.participant-confirmation-actions{align-items:stretch;flex-direction:column-reverse;gap:1rem}.participant-confirmation-actions .primary-action{width:100%}.admin-session-form-row{grid-template-columns:1fr}.booking-history-row{grid-template-columns:58px 1fr;gap:1rem}.booking-history-actions{grid-column:2;justify-items:start}.settings-layout{display:block}.settings-section{padding:2rem 0;grid-template-columns:1fr;gap:1.5rem}}.admin-attendance-summary{margin:1.5rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.admin-attendance-summary>div{padding:.75rem 1rem;text-align:center;border-right:1px solid var(--line)}.admin-attendance-summary>div:last-child{border-right:0}.admin-attendance-summary dt{color:var(--ink-soft);font-size:.7rem}.admin-attendance-summary dd{margin:0;font-size:1.25rem;font-weight:600}.admin-participant-dialog .admin-participant-row{grid-template-columns:minmax(0,1fr) minmax(130px,auto) auto minmax(110px,auto)}.admin-attendance-controls{display:flex;gap:.35rem}.admin-attendance-controls button{width:34px;height:34px;background:var(--surface-soft);border:1px solid var(--line);border-radius:50%;cursor:pointer}.admin-attendance-controls button.active{background:var(--forest);color:var(--on-forest)}.checkin-account-create{margin:1.5rem 0 2rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.75rem}.checkin-account-create .quiet-action{min-height:48px}.checkin-account-list{border-top:1px solid var(--line)}.checkin-account-row{padding:1rem 0;display:grid;grid-template-columns:minmax(140px,1fr) auto auto auto;align-items:center;gap:.8rem;border-bottom:1px solid var(--line)}.checkin-account-identity input,.checkin-password-reset input{min-width:0;padding:.6rem;background:var(--surface);border:1px solid var(--line)}.checkin-account-identity{display:grid;gap:.35rem}.checkin-account-identity small{color:var(--muted)}.setting-toggle.compact{padding:0;border:0}.checkin-password-reset{grid-column:1 / -1;display:flex;gap:.7rem}.checkin-kiosk{min-height:100svh;padding:clamp(1rem,2vw,2rem) clamp(1rem,4vw,4rem) 3rem;background:radial-gradient(circle at 85% 10%,rgba(217,195,157,.35),transparent 30%),var(--paper)}.checkin-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.checkin-header img{width:min(230px,45vw)}.checkin-header-actions{display:flex;gap:.75rem}.checkin-header-actions button,.checkin-state button{min-width:52px;min-height:52px;padding:.7rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer}.checkin-state{min-height:calc(100svh - 140px);display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center}.checkin-state h1{margin:0;font-size:clamp(2.5rem,6vw,5rem)}.checkin-state p{max-width:540px;margin:0;color:var(--ink-soft)}.checkin-session{padding:clamp(1.5rem,4vw,3rem) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:2rem}.checkin-session p{margin:0;color:var(--accent);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.checkin-session h1{margin:.2rem 0;font-size:clamp(2.5rem,5vw,4.6rem);line-height:1}.checkin-summary{margin:0;display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));background:var(--forest-deep);color:#fff;border-radius:18px}.checkin-summary div{padding:1rem 1.4rem;text-align:center}.checkin-summary dt{color:#ffffffb3;font-size:.68rem;text-transform:uppercase}.checkin-summary dd{margin:0;font-size:2rem;font-weight:600}.checkin-error{padding:.8rem 1rem;background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.checkin-search{max-width:760px;min-height:68px;margin:0 auto 2rem;padding:0 1.2rem;display:flex;align-items:center;gap:1rem;background:var(--surface);border:2px solid var(--line);border-radius:18px}.checkin-search:focus-within{border-color:var(--accent)}.checkin-search input{width:100%;border:0;outline:0;background:transparent;font-size:1.2rem}.checkin-search button{padding:.5rem;background:transparent;cursor:pointer}.checkin-roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1rem}.checkin-roster>button{min-height:100px;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:2px solid var(--line);border-radius:18px;text-align:left;cursor:pointer}.checkin-roster>button.checked{background:var(--surface-soft);border-color:var(--success)}.checkin-roster strong,.checkin-roster small{display:block}.checkin-roster strong{font-family:var(--serif);font-size:1.8rem;line-height:1.1}.checkin-roster small{margin-top:.3rem;color:var(--ink-soft)}.checkin-progress{min-width:58px;min-height:58px;display:grid;place-items:center;background:var(--surface-soft);border-radius:50%;font-weight:600}.checkin-progress svg{color:var(--success)}.checkin-no-results{grid-column:1 / -1;padding:3rem;color:var(--ink-soft);text-align:center}.checkin-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;padding:1rem;display:grid;place-items:center;background:#07140dad}.checkin-confirm{width:min(620px,100%);padding:clamp(2rem,6vw,4rem);background:var(--surface);border-radius:24px;text-align:center;box-shadow:0 30px 80px #0000004d}.checkin-confirm h2{margin:.2rem 0 1.5rem;font-size:clamp(2.8rem,7vw,5rem);line-height:1}.checkin-spot-options{margin:1.5rem 0 2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}.checkin-spot-options button{width:76px;height:76px;background:var(--surface-soft);border:2px solid var(--line);border-radius:50%;font-size:1.8rem;font-weight:600;cursor:pointer}.checkin-spot-options button.active{background:var(--forest);border-color:var(--forest);color:var(--on-forest)}.checkin-confirm-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem}.checkin-confirm-actions button{min-height:64px;background:transparent;border:1px solid var(--line);border-radius:14px;cursor:pointer}.checkin-confirm-actions .confirm{background:var(--forest);color:var(--on-forest)}.spin{animation:checkin-spin 1s linear infinite}@keyframes checkin-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.checkin-account-create,.checkin-account-row,.checkin-session{grid-template-columns:1fr}.checkin-summary{width:100%}}@media(max-width:620px){.admin-participant-dialog .admin-participant-row{grid-template-columns:minmax(0,1fr) auto}.admin-attendance-controls{grid-column:1 / -1}.checkin-kiosk{padding-inline:.8rem}.checkin-header{min-height:64px}.checkin-header-actions button{min-width:46px;min-height:46px}.checkin-summary div{padding:.7rem}.checkin-summary dd{font-size:1.5rem}.checkin-roster{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
