:root{--hero-frame-w: 16;--hero-frame-h: 9;--hero-zoom: 1;--hero-zoom-max: 2.7;--hero-anchor: .42;--hero-focus-x: .45;--hero-feather: 6vmin;--hero-drift-x: 0%;--hero-drift-y: 0%;--hero-drift-duration: 180s;--hero-drift-ease: cubic-bezier(.45, 0, .55, 1);--hero-mark-y: .5;--hero-mark-vw: .336;--hero-mark-min: 16rem;--hero-mark-max-vw: .72;--hero-grain-opacity: 0;--hero-grain-size: 40px;--hero-grain-duration: .4s;--hero-grain-blend: overlay;--hero-brightness: 1;--hero-contrast: 1;--hero-saturate: 1;--hero-surround-brightness: .5;--hero-surround-saturate: .6;--hero-tint-color: #ffffff;--hero-tint-opacity: 0;--hero-vignette: 0;--hero-scrim: 0;--hero-vh: 100svh;--hero-vw: 100vw;--hero-plate-h: clamp( var(--hero-vh) * var(--hero-zoom), var(--hero-vw) * var(--hero-frame-h) / var(--hero-frame-w), var(--hero-vh) * var(--hero-zoom-max) );--hero-plate-w: calc(var(--hero-plate-h) * var(--hero-frame-w) / var(--hero-frame-h));--hero-feather-used: clamp(0px, var(--hero-vw) - var(--hero-plate-w), var(--hero-feather));--hero-overhang-x: max(0px, calc((var(--hero-plate-w) - var(--hero-vw)) / 2));--hero-pan-x: clamp( -1 * var(--hero-overhang-x), (.5 - var(--hero-focus-x)) * var(--hero-plate-w), var(--hero-overhang-x) );--hero-pan-y: calc( (var(--hero-anchor) - .5) * (var(--hero-vh) * var(--hero-zoom) - var(--hero-plate-h)) )}.heroStage{position:relative;height:var(--hero-vh);min-height:var(--hero-vh);overflow:hidden;isolation:isolate;background:#06090b}.heroBackdrop{position:absolute;inset:0;z-index:0;display:none;background-image:url(/house/images/hero-backdrop.jpg);background-repeat:no-repeat;background-size:100% var(--hero-plate-h);background-position:center calc(50% + var(--hero-pan-y))}.heroPoster{position:absolute;inset:0;z-index:1}.heroPoster img,.heroVideo{position:absolute;top:50%;left:50%;width:var(--hero-plate-w);height:var(--hero-plate-h);object-fit:cover;max-width:none;transform:translate(-50%,-50%) translate(var(--hero-pan-x),var(--hero-pan-y))}.heroPoster img,.heroVideo{filter:brightness(var(--hero-brightness)) contrast(var(--hero-contrast)) saturate(var(--hero-saturate))}.heroBackdrop{filter:brightness(calc(var(--hero-brightness) * var(--hero-surround-brightness))) contrast(var(--hero-contrast)) saturate(calc(var(--hero-saturate) * var(--hero-surround-saturate)))}.heroVideo{z-index:2;opacity:0;transition:opacity .6s ease;transform:translate(-50%,-50%) translate(var(--hero-pan-x),var(--hero-pan-y)) translate3d(calc(-1 * var(--hero-drift-x)),calc(-1 * var(--hero-drift-y)),0);will-change:transform;backface-visibility:hidden;animation:hero-drift var(--hero-drift-duration) var(--hero-drift-ease) infinite alternate}.heroVideo.is-ready{opacity:1}@keyframes hero-drift{to{transform:translate(-50%,-50%) translate(var(--hero-pan-x),var(--hero-pan-y)) translate3d(var(--hero-drift-x),var(--hero-drift-y),0)}}@media(min-aspect-ratio:16 / 9){.heroBackdrop{display:block}.heroPoster img,.heroVideo{mask-image:linear-gradient(to right,transparent 0,#000 var(--hero-feather-used),#000 calc(100% - var(--hero-feather-used)),transparent 100%)}}html[data-hero-static] .heroVideo{display:none}.heroGrain{position:absolute;inset:-12%;z-index:3;pointer-events:none;background-image:url(/house/textures/grain-256.png);background-repeat:repeat;background-size:var(--hero-grain-size) var(--hero-grain-size);opacity:var(--hero-grain-opacity);mix-blend-mode:var(--hero-grain-blend);animation:hero-grain-jitter var(--hero-grain-duration) steps(1,end) infinite;will-change:transform}@keyframes hero-grain-jitter{0%{transform:translateZ(0)}10%{transform:translate3d(-3%,-5%,0)}20%{transform:translate3d(-8%,4%,0)}30%{transform:translate3d(5%,-8%,0)}40%{transform:translate3d(-4%,7%,0)}50%{transform:translate3d(-9%,-3%,0)}60%{transform:translate3d(7%,6%,0)}70%{transform:translate3d(2%,-9%,0)}80%{transform:translate3d(-6%,2%,0)}90%{transform:translate3d(4%,-4%,0)}}.heroScrim{position:absolute;inset:0;z-index:4;pointer-events:none;background:radial-gradient(ellipse 120% 100% at 50% 50%,transparent 40%,rgb(0 0 0 / var(--hero-vignette)) 100%),linear-gradient(to top,rgb(0 0 0 / var(--hero-scrim)) 0%,transparent 55%)}.heroTint{position:absolute;inset:0;z-index:4;pointer-events:none;background:var(--hero-tint-color);opacity:var(--hero-tint-opacity)}.heroContent{position:absolute;inset:0;z-index:5;pointer-events:none}.heroContent .heroMark{position:absolute;top:50%;left:50%;width:min(max(var(--hero-mark-min),var(--hero-vw) * var(--hero-mark-vw)),var(--hero-vw) * var(--hero-mark-max-vw));transform:translate(-50%,-50%) translateY(calc(var(--hero-vh) * (var(--hero-mark-y) - .5)));color:var(--color-paper);animation:hero-arrive 1.6s cubic-bezier(.22,1,.36,1) both}@keyframes hero-arrive{0%{opacity:0}to{opacity:1}}.heroContent .heroMark[data-write-on]{animation:none}.heroContent .heroWrite{position:absolute;bottom:max(var(--space-md),env(safe-area-inset-bottom));left:var(--gutter-left);pointer-events:auto;padding:.75rem 1rem .75rem 0;font-family:var(--font-letter);font-size:var(--text-small);letter-spacing:.02em;white-space:nowrap;color:var(--color-paper);text-decoration:underline dotted;text-decoration-thickness:1px;text-underline-offset:.3em;text-shadow:0 1px 3px rgb(0 0 0 / .65);animation:hero-arrive 1.6s cubic-bezier(.22,1,.36,1) both}@media(prefers-reduced-motion:reduce){.heroVideo,.heroGrain,.heroContent .heroMark,.heroContent .heroWrite{animation:none}}html[data-hero-freeze] .heroVideo,html[data-hero-freeze] .heroGrain{animation-play-state:paused}.wm-mark{display:block;width:100%;height:auto;color:var(--color-ink)}.wm-spine{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1.02;stroke-dashoffset:0}.wm-settle{opacity:1}.wm-cover{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;opacity:0}@media(prefers-reduced-motion:no-preference){.wm-spine{animation-name:wm-write;animation-timing-function:cubic-bezier(.45,.05,.55,.95);animation-fill-mode:both}.wm-settle{animation-name:wm-settle;animation-timing-function:linear;animation-fill-mode:both}.wm-cover{animation-name:wm-cover-off;animation-duration:.1s;animation-timing-function:linear;animation-fill-mode:both}}@keyframes wm-write{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes wm-settle{0%{opacity:0}to{opacity:1}}@keyframes wm-cover-off{0%{opacity:1}to{opacity:0}}
