*,:before,:after{box-sizing:border-box;min-inline-size:0}:root{color-scheme:dark;interpolate-size:allow-keywords;scrollbar-gutter:stable;text-wrap:pretty;overflow-wrap:break-word;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;--background:oklch(17% .035 255);--foreground:oklch(97% .009 90);--muted:oklch(78% .02 252);--surface:oklch(25% .045 255/.68);--surface-raised:oklch(35% .04 255/.5);--primary:oklch(91% .04 82);--primary-hover:color-mix(in oklch, var(--primary), white 25%);--primary-contrast:oklch(23% .04 255);--border:color-mix(in oklch, var(--foreground) 18%, transparent);--danger:oklch(78% .12 25);--success:oklch(78% .12 155);--shadow:0 1.5rem 4rem oklch(0% 0 none/.15);--font-serif:"Cormorant Garamond", Georgia, serif;--step--1:clamp(.875rem, .84rem + .15vw, 1rem);--step-0:clamp(1rem, .965rem + .15vw, 1.0625rem);--step-1:clamp(1.375rem, 1.23rem + .7vw, 1.875rem);--step-2:clamp(2.25rem, 1.65rem + 2.5vw, 4rem);--hero-size:clamp(3.6rem, 1.75rem + 7.5vw, 9rem);--brand-size:clamp(1.5rem, 1.38rem + .5vw, 1.75rem);--header-space:5.5rem;--hero-padding:clamp(2.5rem, 1rem + 5vw, 6rem);--hero-gap:clamp(1.25rem, 1rem + 1vw, 1.75rem);--journey-space:clamp(1rem, .5rem + 3vw, 3rem);--nav-gap:clamp(.5rem, .2rem + 1.5vw, 2rem);--space-s:clamp(.75rem, .65rem + .5vw, 1rem);--space-m:clamp(1rem, .8rem + 1vw, 1.5rem);--space-l:clamp(1.5rem, 1rem + 2.5vw, 3rem);--section-space:clamp(3.5rem, 2rem + 6vw, 7rem);--ease-out:cubic-bezier(.23, 1, .32, 1);scroll-padding-block-start:2rem}body{min-block-size:100svh;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:var(--step-0);color:var(--foreground);background:var(--background);margin:0;font-weight:300;line-height:1.7}h1,h2,h3,h4{font-family:var(--font-serif);text-wrap:balance;font-weight:500;line-height:1.12}h1,h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p,h1,h2,h3,h4{margin-block:0}a{color:inherit;text-underline-offset:.25em}strong{font-weight:600}img,svg,video{block-size:auto;max-inline-size:100%;display:block}button,input,textarea,select{font:inherit}input,textarea,select{font-size:max(16px,1rem)}button,a,[role=button],summary{touch-action:manipulation}button,[role=button]{-webkit-user-select:none;user-select:none}:focus-visible{outline:2px solid var(--primary);outline-offset:5px}[hidden]{display:none!important}::selection{background:color-mix(in oklch, var(--primary) 30%, transparent)}html:has(dialog:modal){overflow:hidden}.winter-scene{z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 35%, oklch(34% .06 250), var(--background));position:fixed;inset:0;overflow:clip}.winter-poster,.winter-video{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.winter-poster{opacity:.9}.winter-video{opacity:0;transition:opacity 1.5s var(--ease-out)}.winter-video.is-playing{opacity:1}.winter-shade{background:linear-gradient(oklch(20% .04 255/.7),oklch(25% .05 255/.64) 45%,oklch(17% .035 255/.93)),radial-gradient(#0000,oklch(17% .035 255/.35));position:absolute;inset:0}.snow-overlay{position:absolute;inset:0;overflow:clip}.snowflake{inline-size:var(--snow-size);block-size:var(--snow-size);opacity:0;background:oklch(100% 0 none);border-radius:50%;position:absolute;inset-block-start:-1rem;inset-inline-start:var(--snow-left);box-shadow:0 0 4px oklch(100% 0 none/.2)}.winter-scene[data-paused=true] .snowflake{opacity:0;animation-play-state:paused}.app-shell{flex-direction:column;min-block-size:100svh;display:flex}.app-shell>main{flex:1}.site-header{align-items:center;column-gap:var(--nav-gap);padding-block:calc(1rem + env(safe-area-inset-top,0px)) 1rem;padding-inline:max(var(--space-l), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));border-block-end:1px solid color-mix(in oklch, var(--border) 50%, transparent);flex-wrap:wrap;row-gap:.5rem;display:flex}.brand{min-block-size:2.75rem;font-family:var(--font-serif);font-size:var(--brand-size);align-items:center;gap:.5rem;margin-inline-end:auto;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.brand svg{block-size:1em;inline-size:1em;color:var(--primary);flex:none}.brand em{font-weight:400}.nav{align-items:center;gap:var(--nav-gap);font-size:var(--step--1);flex-wrap:wrap;display:flex}.nav-link{min-block-size:2.75rem;color:var(--muted);text-align:center;justify-content:center;align-items:center;padding-block:.5rem;text-decoration:none;display:inline-flex}.site-header [aria-current=page]{color:var(--primary)}.site-header .nav-login{padding-block:.5rem;padding-inline:1rem}.skip-link{z-index:10;background:var(--background);padding:.7rem 1rem;position:absolute;inset-block-start:1rem;inset-inline-start:1rem;translate:0 -200%}.skip-link:focus{translate:0}.content-grid{--gutter:max(var(--space-m), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));--content:72rem;--breakout:88rem;grid-template-columns:[full-width-start] minmax(var(--gutter), 1fr) [breakout-start] minmax(0, calc((var(--breakout) - var(--content)) / 2)) [content-start] min(100% - var(--gutter) * 2, var(--content)) [content-end] minmax(0, calc((var(--breakout) - var(--content)) / 2)) [breakout-end] minmax(var(--gutter), 1fr) [full-width-end];display:grid}.content-grid>*{grid-column:content}.section{padding-block:var(--space-l);row-gap:var(--space-l)}.hero{padding-block:var(--section-space) var(--space-l);row-gap:var(--space-m)}.hero p{max-inline-size:64ch;color:var(--muted)}.hero h1{max-inline-size:22ch}.eyebrow{letter-spacing:.19em;text-transform:uppercase;color:var(--primary);font-family:Inter,sans-serif;font-size:.6875rem;font-weight:500}.section-heading{text-align:center;justify-items:center;gap:.8rem;display:grid}.section-heading>*{max-inline-size:100%}.section-heading>p:not(.eyebrow){max-inline-size:62ch;color:var(--muted)}.section-heading h2 em{font-weight:400}.winter-hero{justify-content:center;align-items:center;gap:var(--hero-gap);min-block-size:calc(100svh - var(--header-space));padding-block:var(--hero-padding) 2.5rem;padding-inline:max(var(--space-m), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));text-align:center;flex-direction:column;display:flex}.season-badge{border:1px solid var(--border);background:color-mix(in oklch, var(--foreground) 4%, transparent);backdrop-filter:blur(12px);max-inline-size:100%;color:var(--muted);border-radius:99rem;align-items:center;gap:.85rem;padding:.6rem 1.1rem;display:inline-flex}.season-badge span{letter-spacing:.16em;text-transform:uppercase;font-size:.6875rem;font-weight:400}.season-badge svg{flex:none;block-size:1rem;inline-size:1rem}.winter-hero h1{max-inline-size:100%;font-size:var(--hero-size);letter-spacing:-.045em;text-shadow:0 .25rem 2rem oklch(0% 0 none/.2);font-weight:500;line-height:.95}.winter-hero h1 em{letter-spacing:-.03em;font-weight:400}.winter-hero>p{color:var(--muted);max-inline-size:40rem;font-size:var(--step-0);margin-block-start:.5rem;line-height:1.9}.journey-link{color:var(--muted);flex-direction:column;align-items:center;gap:.9rem;margin-block-start:var(--journey-space);text-decoration:none;display:flex}.journey-link>span:first-child{letter-spacing:.16em;text-transform:uppercase;font-size:.75rem}.scroll-mouse{border:1px solid var(--border);border-radius:1rem;justify-content:center;block-size:2.3rem;inline-size:1.4rem;padding-block-start:.5rem;display:flex}.scroll-mouse>span{background:var(--muted);border-radius:1rem;block-size:6px;inline-size:2px}body:has(.winter-scene[data-paused=true]) .scroll-mouse>span{animation-play-state:paused}.actions,.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.button,button{border:1px solid var(--border);background:color-mix(in oklch, var(--foreground) 5%, transparent);min-block-size:2.75rem;max-inline-size:100%;color:var(--foreground);font-weight:400;font-size:var(--step--1);text-align:center;cursor:pointer;border-radius:99rem;justify-content:center;align-items:center;gap:.65em;padding-block:.75rem;padding-inline:1.4rem;text-decoration:none;display:inline-flex}.button svg,button svg{flex:none;block-size:1.2em;inline-size:1.2em}.button.primary,button.primary{background:var(--primary);color:var(--primary-contrast);border-color:#0000}button:disabled{cursor:not-allowed;opacity:.5}:is(.button,button,.brand,.nav-link,.journey-link,summary):active{transform:scale(.98)}a:not(.button):active{opacity:.75}.text-button{min-block-size:2.75rem;font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.card-grid{gap:var(--space-m);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));display:grid}.card,.form{align-content:start;gap:var(--space-m);padding:var(--space-l);border:1px solid var(--border);background:var(--surface);backdrop-filter:blur(18px);box-shadow:var(--shadow);border-radius:1.25rem;display:grid}.card h2,.card h3,.form h2{margin:0}.card p{color:var(--muted)}.form{max-inline-size:34rem}.field{gap:.45rem;display:grid}.field>span{font-weight:400;font-size:var(--step--1);color:var(--muted)}input,textarea,select{border:1px solid var(--border);background:color-mix(in oklch, var(--background) 60%, transparent);inline-size:100%;color:var(--foreground);border-radius:.7rem;padding-block:.8rem;padding-inline:1rem}input::placeholder,textarea::placeholder{color:oklch(63% .02 250)}input[type=checkbox]{block-size:1.1rem;inline-size:1.1rem;accent-color:var(--primary)}textarea{field-sizing:content;resize:vertical;text-wrap:stable;min-block-size:5lh;max-block-size:16lh}input:user-invalid,textarea:user-invalid{border-color:var(--danger)}.htmx-indicator{color:var(--muted);display:none}.htmx-request .htmx-indicator,.htmx-request.htmx-indicator{display:inline}.result,.notice{padding:var(--space-s);border:1px solid var(--border);background:color-mix(in oklch, var(--surface-raised) 70%, transparent);color:var(--foreground);font-size:var(--step--1);overflow-wrap:anywhere;border-radius:.7rem}.result:empty{display:none}.result pre,.result code{white-space:pre-wrap;overflow-wrap:anywhere}.media-preview{aspect-ratio:16/9;object-fit:cover;background:var(--surface-raised);border-radius:.7rem;inline-size:100%}.stat{font-variant-numeric:tabular-nums}.catalog-section{padding-block:var(--section-space)}.catalog-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.catalog-card{flex-direction:column;gap:1rem;display:flex;position:relative}.catalog-card .catalog-art{min-block-size:8rem;margin:calc(-1 * var(--space-l));background:radial-gradient(ellipse at 50% 20%, oklch(48% .06 245/.4), transparent), color-mix(in oklch, var(--surface-raised) 50%, transparent);color:var(--primary);font-family:var(--font-serif);border-radius:1.25rem 1.25rem 0 0;place-items:center;margin-block-end:0;font-size:3rem;display:grid}.catalog-card .catalog-art span{opacity:.7}.catalog-card h3{font-size:2rem}.catalog-card>.button{align-self:start;margin-block-start:auto}.catalog-card .calendar-access{color:var(--primary);font-size:.75rem}.catalog-message{padding:var(--space-l);text-align:center;border:1px dashed var(--border);color:var(--muted);background:color-mix(in oklch, var(--surface) 70%, transparent);border-radius:1.25rem;grid-column:1/-1;justify-items:center;gap:1rem;display:grid}.catalog-message h3{color:var(--foreground)}.catalog-message svg{block-size:1.75rem;inline-size:1.75rem}.catalog-actions{justify-content:center;display:flex}.site-footer{padding-block:2rem calc(2rem + env(safe-area-inset-bottom,0px));text-align:center;font-size:var(--step--1);color:var(--muted);row-gap:1rem}.footer-wish{justify-content:center;align-items:center;gap:1rem;display:flex}.footer-wish span{background:var(--border);block-size:1px;inline-size:3rem}.footer-wish svg{block-size:1rem;inline-size:1rem}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.5rem;margin-block-start:1rem;font-size:.8125rem;display:flex}.footer-links a{align-items:center;min-block-size:2.75rem;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.button:hover,button:hover{background:var(--surface-raised);border-color:color-mix(in oklch, var(--foreground) 35%, transparent)}.button.primary:hover,button.primary:hover{background:var(--primary-hover)}.nav-link:hover,.footer-links a:hover,.journey-link:hover,.text-button:hover{color:var(--foreground)}.text-button:hover{background:0 0}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,button,.card,.brand,.nav-link,.journey-link{transition:transform .16s var(--ease-out), background-color .2s var(--ease-out), border-color .2s var(--ease-out)}.snowflake{animation:snowfall var(--snow-duration) var(--snow-delay) linear infinite}.season-badge{animation:fade-down .7s var(--ease-out) both}.winter-hero h1{animation:fade-up .9s .15s var(--ease-out) both}.winter-hero>p{animation:fade-up .9s .3s var(--ease-out) both}.scroll-mouse>span{animation:2s ease-out 1s infinite scroll-hint}}@media (width<=38rem){:root{--header-space:7.5rem}.site-header{padding-block-end:.5rem;padding-inline:max(var(--space-m), env(safe-area-inset-left,0px), env(safe-area-inset-right,0px));column-gap:.75rem}.nav{flex-basis:100%;order:1;gap:.5rem}.nav-link{flex:1 1 0}.wide-break{display:none}}@media (height<=32rem) and (orientation:landscape){.winter-hero{--hero-size:clamp(3.6rem, 2rem + 4vw, 6rem);--hero-padding:2rem;--hero-gap:1rem;--journey-space:.5rem}.winter-hero .wide-break{display:none}}@keyframes snowfall{0%{opacity:0;transform:translateY(-1rem)}10%,90%{opacity:var(--snow-opacity)}to{transform:translate(var(--snow-drift), 105vh);opacity:0}}@keyframes fade-up{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-hint{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(.5rem)}}
