.hero{min-height:100svh;max-width:calc(var(--page-max) + 2 * var(--gutter));padding:0 var(--gutter) var(--gutter);grid-template-rows:auto minmax(240px,1fr) auto;margin-inline:auto;display:grid;position:relative;overflow:clip}.hero__header{z-index:3;font-family:var(--font-serif);align-items:baseline;gap:.4em;padding-block:clamp(12px,2vw,28px);font-size:clamp(22px,2.4vw,36px);line-height:1;display:flex;position:relative}.hero__logo{color:var(--brand-blue);transform-origin:0 0;text-decoration:none;display:block}.hero__logo-mark{aspect-ratio:413/100;fill:currentColor;width:auto;height:.92em;display:block}.hero__crumb,.hero__nav{color:var(--muted);transition:opacity .8s var(--ease-out) .15s}.hero__nav{gap:.35em;margin-left:auto;display:flex}.hero__nav a{color:var(--ink);text-decoration:none}.hero__nav a:hover{text-underline-offset:.15em;text-decoration:underline 1px}.hero__frame{clip-path:inset(0 round var(--radius-frame));perspective:1800px;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;transition:clip-path 1.3s cubic-bezier(.5,0,.15,1);position:relative;container-type:size}.hero__frame[data-dragging]{cursor:grabbing}.hero__sky,.hero__clouds{pointer-events:none;position:absolute;inset:0}.hero__art{object-fit:cover;object-position:50% 100%;will-change:transform;-webkit-user-drag:none;width:106%;max-width:none;height:107%;position:absolute;top:-3%;left:-3%}.hero__clouds{will-change:transform}.hero__leaves{pointer-events:none;position:absolute;inset:0}.hero__leaf{top:0;left:var(--x);width:clamp(calc(var(--size) * .75px), calc(var(--size) / 4.8 * 1cqmin), calc(var(--size) * 1.6px));aspect-ratio:84/76;background:var(--body);animation:hero-leaf-fall var(--d) linear var(--delay) infinite;position:absolute;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2084%2076'%3e%3cpath%20d='M32.0979%2057.1963C30.8979%2045.9963%2022.5979%2031.8629%2018.5979%2026.1963C14.7691%2020.1963%20-1.40208%207.19628%200.0979232%202.69628C1.29792%20-0.903717%205.26459%20-0.137051%207.09792%200.696283C5.93126%206.19628%208.59792%2017.7963%2028.5979%2020.1963C53.5979%2023.1963%2076.0979%2036.1963%2076.0979%2048.1963C76.0979%2057.7963%2080.7646%2070.1963%2083.0979%2075.1963C57.5979%2076.6963%2033.5979%2071.1963%2032.0979%2057.1963Z'/%3e%3c/svg%3e") 50%/contain no-repeat}.hero__leaf:after{content:"";background:var(--vein);position:absolute;inset:0;mask:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2084%2076'%3e%3cpath%20d='M15.5977%2018.6963C16.7493%2019.4552%2017.9004%2020.2398%2019.0292%2021.0266C25.0098%2025.2133%2030.8049%2029.6288%2036.2789%2034.3461C40.1126%2037.6741%2043.8161%2041.1553%2046.9584%2045.012C48.4388%2046.8443%2049.7911%2048.7725%2050.7808%2050.8108C55.4955%2060.3336%2064.4168%2066.5663%2073.6568%2070.3584C74.9479%2070.8703%2076.2733%2071.3354%2077.5977%2071.6963C76.3404%2071.1469%2075.1014%2070.5114%2073.901%2069.8434C65.3097%2064.9397%2057.4073%2058.2607%2053.4145%2049.5818C52.3293%2047.1978%2050.8712%2045.0841%2049.29%2043.1242C45.9342%2039.0096%2042.0115%2035.5331%2037.9165%2032.3451C32.0741%2027.8346%2025.8238%2023.9285%2019.3239%2020.5387C18.0976%2019.9032%2016.847%2019.2807%2015.5977%2018.6963Z'/%3e%3cpath%20d='M53.5977%2065.6963C53.8607%2065.3933%2054.0972%2065.0589%2054.3145%2064.714C55.8723%2062.1287%2056.6673%2059.2434%2057.0524%2056.3082L56.5873%2057.2684C57.0076%2056.9183%2057.4777%2056.5714%2057.9577%2056.2439C60.5987%2054.5112%2063.4825%2052.9792%2066.9423%2053.4469C67.3246%2053.5033%2067.7077%2053.5845%2068.0977%2053.6962C67.8085%2053.4118%2067.4962%2053.1519%2067.1544%2052.9179C63.9558%2050.6955%2059.3247%2051.627%2056.2679%2053.7651C55.6829%2054.1648%2055.1285%2054.6083%2054.608%2055.1242L54.1604%2055.574L54.1429%2056.0844C54.0155%2058.8357%2054.0305%2061.6719%2053.777%2064.5244C53.7347%2064.9137%2053.6814%2065.3044%2053.5977%2065.6963Z'/%3e%3cpath%20d='M40.5977%2049.4406C40.7938%2049.0353%2040.9755%2048.6217%2041.1433%2048.2016C42.618%2044.4189%2043.1171%2040.3393%2042.5801%2036.2125L42.2187%2037.4371C42.2309%2037.4234%2042.244%2037.4091%2042.2578%2037.3943C44.4311%2035.2899%2048.3477%2034.3056%2052.2604%2034.3887C52.6988%2034.3943%2053.1436%2034.4113%2053.5977%2034.4406C53.2001%2034.2194%2052.7965%2034.0165%2052.3845%2033.8324C48.7109%2032.201%2043.7351%2031.8987%2040.0633%2035.3488C40.0338%2035.3804%2040.0049%2035.4122%2039.9766%2035.4441L39.5071%2035.974L39.6152%2036.6687C40.0979%2040.3104%2040.4576%2044.16%2040.5825%2048.0997C40.5933%2048.5437%2040.5989%2048.9904%2040.5977%2049.4406Z'/%3e%3c/svg%3e") 50%/contain no-repeat}@keyframes hero-leaf-fall{0%{transform:translateY(-14cqh)rotate(0)}to{transform:translate3d(var(--drift), 112cqh, 0) rotate(var(--turn))}}.hero[data-paused=true] .hero__leaf{animation-play-state:paused}.js .hero__leaf{animation:none}.hero__stage{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.hero__pause{z-index:2;width:44px;height:44px;color:var(--ink);cursor:pointer;transition:opacity .6s var(--ease-out) .4s, background-color .2s;background:#fffc;border:1px solid #1414141f;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:clamp(10px,1.5vw,20px);right:clamp(10px,1.5vw,20px)}.hero__pause:hover{background:#fff}.hero__pause svg{width:18px;height:18px}.card{width:264px;height:470px;transform-style:preserve-3d;pointer-events:auto;color:#fff;-webkit-user-drag:none;border-radius:28px;margin:-235px 0 0 -132px;text-decoration:none;position:absolute;top:50%;left:50%}.card__face{border-radius:inherit;-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.card__front{background:repeating-linear-gradient(135deg, #ffffff0d 0 20px, transparent 20px 40px), linear-gradient(180deg, var(--card-top), var(--card-bottom));flex-direction:column;justify-content:space-between;padding:24px;display:flex;box-shadow:0 20px 56px #00000038}.card__cover,.card__video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.card__front--image{justify-content:flex-end}.card__front--image:after{content:"";background:linear-gradient(#0000,#0009);position:absolute;inset:55% 0 0}.card__front--image .card__meta{z-index:1}.card__video{opacity:0;transition:opacity .5s}.card__video[data-playing]{opacity:1}.card__tag{font-family:var(--font-sans);letter-spacing:.14em;text-transform:uppercase;border:2px solid #ffffff59;border-radius:999px;align-self:flex-start;padding:6px 14px;font-size:18px;position:relative}.card__meta{gap:8px;display:grid;position:relative}.card__name{font-family:var(--font-serif);font-size:44px;line-height:1}.card__client{font-family:var(--font-sans);opacity:.75;font-size:20px}.card__meta:before{content:"";background:var(--card-accent);border-radius:3px;width:44px;height:6px;margin-bottom:8px}.card__back{background:var(--ink);place-items:center;display:grid;transform:rotateY(180deg)}.card__monogram{font-family:var(--font-serif);color:var(--bg);font-size:128px}.hero__intro{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;padding-top:clamp(16px,2.4vw,32px);display:flex}.hero__headline{max-width:80%;font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:pretty;transition:opacity .9s var(--ease-out), transform .9s var(--ease-out);flex:24ch;margin:0;font-size:clamp(28px,3.4vw,60px);font-weight:400;line-height:1.04}.hero__cta{border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-family:var(--font-sans);white-space:nowrap;transition:opacity .9s var(--ease-out) .15s, transform .9s var(--ease-out) .15s, scale .2s var(--ease-out);border-radius:999px;padding:12px 20px;font-size:15px;text-decoration:none}.hero__cta:hover,.hero__cta:focus-visible{scale:1.1}@media (width<=640px){.hero__headline{max-width:none}}.hero__loader,.hero__skip{display:none}.js .hero__loader{z-index:2;top:clamp(12px,2vw,28px);right:var(--gutter);pointer-events:none;transition:opacity .5s var(--ease-out);justify-items:end;display:grid;position:absolute}.hero__counter{font-family:var(--font-sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:flex-start;margin:0;font-size:clamp(56px,10vw,168px);font-weight:400;line-height:.9;display:flex}.hero__percent{letter-spacing:0;margin-left:.15em;font-size:.25em}.hero__loader-label{color:var(--muted);font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;margin:.8em 0 0;font-size:11px}.js .hero__skip{z-index:4;left:var(--gutter);bottom:calc(var(--gutter) + 8px);color:var(--ink);font-family:var(--font-sans);cursor:pointer;transition:opacity .4s var(--ease-out), visibility 0s linear .4s;background:0 0;border:0;align-items:center;gap:10px;padding:0 16px 0 0;font-size:13px;display:flex;position:absolute}.hero__skip-icon{background:var(--bg);border:1px solid #14141426;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.hero__skip-icon svg{width:16px;height:16px}.js .hero__sky,.js .hero__leaves{opacity:0}.js .hero__clouds{transform:translateY(110%)}.js .hero[data-phase=intro] .hero__frame{clip-path:inset(-30vh calc(-1 * var(--gutter)) -50vh calc(-1 * var(--gutter)) round 0px)}.js .hero[data-phase=intro] .hero__logo{transform:scale(var(--logo-intro-scale))}.js .hero[data-revealed=false] :is(.hero__crumb,.hero__nav,.hero__pause){opacity:0;pointer-events:none}.js .hero[data-revealed=false] .hero__headline,.js .hero[data-revealed=false] .hero__cta{opacity:0;pointer-events:none;transform:translateY(14px)}.js .hero[data-revealed=false] .hero__leaf{animation-play-state:paused}.js .hero:not([data-phase=intro]) .hero__loader{opacity:0}.js .hero[data-revealed=true] .hero__skip{opacity:0;visibility:hidden}.js .hero[data-phase=intro] .hero__clouds{visibility:hidden}.hero{--logo-intro-scale:2.4}@media (width<=640px){.hero{--logo-intro-scale:1.7}.hero__crumb{display:none}.hero__nav{font-size:.8em}}@media (height<=500px){.hero{grid-template-rows:auto minmax(200px,1fr) auto}.hero__headline{font-size:clamp(24px,3.2vw,34px)}}@media (prefers-reduced-motion:reduce){.js .hero__loader,.js .hero__skip,.hero__leaves{display:none}.hero *,.hero :before{transition:none!important}}.booking{border:1px solid var(--line);font-family:var(--font-sans);background:#fff;border-radius:20px;gap:24px;padding:clamp(20px,2.6vw,32px);display:grid;container-type:inline-size}.booking__fields{grid-template-columns:1fr;gap:16px;display:grid}@container (width>=520px){.booking__fields{grid-template-columns:1fr 1fr}}.booking__field{gap:8px;display:grid}.booking__field label,.booking__label{margin:0;font-size:14px;font-weight:500}.booking__input{border:1px solid var(--line);min-width:0;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:10px;padding:0 14px;font-size:16px}.booking__input::placeholder{color:#9b9993}.booking__input:focus{border-color:var(--brand-blue);outline:none;box-shadow:0 0 0 3px #344ead2e}.booking__when{gap:12px;display:grid}.booking__muted{color:var(--muted);margin:0;font-size:14px}.booking__picker{transition:grid-template-columns .35s var(--ease-out), gap .35s var(--ease-out);grid-template-columns:minmax(0,1fr) 0fr;gap:0;display:grid}.booking__picker[data-open]{grid-template-columns:minmax(0,1fr) minmax(0,.62fr);gap:clamp(16px,2.4vw,28px)}.booking__calendar{min-width:0}.booking__month{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.booking__month-name{margin:0;font-size:15px;font-weight:500}.booking__nav{border:1px solid var(--line);width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;place-items:center;display:grid}.booking__nav svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.booking__nav:disabled{cursor:default;opacity:.3}.booking__weekdays,.booking__days{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.booking__weekdays span{color:var(--muted);text-align:center;padding:6px 0;font-size:12px}.booking__date{aspect-ratio:1;max-height:48px;color:var(--brand-blue);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#344ead14;border:0;border-radius:50%;font-size:15px;font-weight:600;transition:background-color .15s,color .15s}.booking__date:hover:not(:disabled){background:#344ead2e}.booking__date:disabled{color:#b4b2ac;cursor:default;background:0 0;font-weight:400}.booking__date[aria-pressed=true]{background:var(--brand-blue);color:#fff}.booking__times{opacity:0;min-width:0;min-height:0;transition:opacity .25s var(--ease-out) .1s;flex-direction:column;display:flex;overflow:hidden}.booking__picker[data-open] .booking__times{opacity:1}.booking__times-title{white-space:nowrap;margin:0;font-size:15px;font-weight:500}.booking__zone{color:var(--muted);margin:2px 0 10px;font-size:12px}.booking__time-list{overscroll-behavior:contain;gap:8px;max-height:300px;padding-right:4px;display:grid;overflow-y:auto}.booking__time{min-height:44px;color:var(--brand-blue);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:#fff;border:1px solid #344ead66;border-radius:10px;font-size:15px;font-weight:600;transition:background-color .15s,color .15s}.booking__time:hover{border-color:var(--brand-blue)}.booking__time[aria-pressed=true]{border-color:var(--brand-blue);background:var(--brand-blue);color:#fff}@container (width<=520px){.booking__picker,.booking__picker[data-open]{grid-template-columns:minmax(0,1fr);gap:20px}.booking__times{display:none}.booking__picker[data-open] .booking__times{display:flex}.booking__time-list{max-height:264px}}.booking__check:empty{display:none}.booking__footer{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.booking__submit{background:var(--brand-blue);color:#fff;min-height:48px;font:inherit;cursor:pointer;border:0;border-radius:10px;padding:0 28px;font-size:16px;font-weight:500}.booking__submit:disabled{cursor:not-allowed;opacity:.45}.booking__link{color:var(--brand-blue);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.booking--done p{margin:0;font-size:17px}.booking__done-title{font-family:var(--font-serif);font-size:clamp(28px,3vw,40px)!important}@media (prefers-reduced-motion:reduce){.booking__picker,.booking__times{transition:none}}.contact[data-astro-cid-lcdefpme]{max-width:calc(var(--page-max) + 2 * var(--gutter));padding:clamp(48px, 8vw, 120px) var(--gutter);border-top:1px solid var(--line);align-items:start;gap:clamp(32px,5vw,72px);margin-inline:auto;display:grid}@media (width>=960px){.contact[data-astro-cid-lcdefpme]{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}}
