:root{--font:"Inter", system-ui, -apple-system, sans-serif;--c-bg:#151e0d;--c-text:#ffffffe6;--c-text-dim:#fffc;--c-text-muted:#ffffff52;--c-surface:#d9d9d980;--c-surface-hover:#d9d9d940;--blur:blur(40px);--blur-layer:blur(clamp(80px, 14vw, 120px));--radius-btn:999px;--radius-preview:16px;--ease:cubic-bezier(.4, 0, .2, 1);--ease-backdrop-blur:ease-in;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration:.35s;--duration-overlay:.5s;--duration-backdrop-blur:.75s;--cross:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 48 48'%3E%3Cpath fill='%23d9d9d9' d='M47 23a1 1 0 1 1 0 2H1a1 1 0 1 1 0-2z'/%3E%3Cpath fill='%23d9d9d9' d='M23 1a1 1 0 1 1 2 0v46a1 1 0 1 1-2 0z'/%3E%3C/svg%3E");--edge-pad-h:clamp(15px, 2.5vw, 30px);--edge-pad-v:25px;--dot-size:clamp(9px, 1.75vw, 20px);--dot-gap:clamp(18px, 2vw, 25px);--screen-pad-v:calc(var(--edge-pad-v) * 2 + 1rem);--screen-pad-h:calc(var(--edge-pad-h) * 2 + var(--dot-size));--card-size:clamp(120px, 20vw, 200px)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{text-align:center;height:100%;font-size:20px;font-family:var(--font);background:var(--c-bg);color:var(--c-text);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-snap-type:y mandatory;overscroll-behavior:none;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100%}button{cursor:pointer;color:inherit;background:0 0;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}img,video{max-width:100%;display:block}svg{flex-shrink:0;display:block}#bg{object-fit:cover;z-index:0;will-change:transform;opacity:1;filter:brightness(.5);height:auto;min-height:150vw;transition:filter var(--duration-overlay) ease-in-out;position:fixed}@media (orientation:portrait){#bg{min-height:300vw}}@keyframes bg-scroll-parallax{0%{transform:translate(0,0)}to{transform:translateY(calc(100lvh - 100%))}}@supports (animation-timeline:scroll()){#bg{animation-name:bg-scroll-parallax;animation-duration:1s;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}}html.modal-open #bg{filter:brightness(.7);transition-duration:var(--duration-backdrop-blur)}html.modal-open.slideshow-modal-open #bg{filter:brightness(.35)}.screen{scroll-snap-align:start;height:auto;min-height:100lvh;padding:var(--screen-pad-v) var(--screen-pad-h);justify-content:center;align-items:center;display:flex;position:relative}#intro{min-height:100svh}#top-bar{z-index:10;height:64px;padding:0 var(--screen-pad-h);pointer-events:none;transition:opacity var(--duration-overlay) var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}#top-bar.hidden,html.modal-open #top-bar{opacity:0;pointer-events:none}.top-bar-content{opacity:0;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease);pointer-events:auto;transform:translateY(-6px)}.top-bar-content.visible{opacity:1;transform:translateY(0)}.tagline,.logo{transition:opacity .15s ease-in-out}#top-bar .logo{position:absolute}.screen:not(.active) .tagline,.screen.active .logo{opacity:0}#scroll-indicator{bottom:var(--edge-pad-v);z-index:10;transition:opacity var(--duration-overlay) var(--ease);position:fixed;left:50%;transform:translate(-50%)}#scroll-indicator.hidden,html.modal-open #scroll-indicator{opacity:0;pointer-events:none}.scroll-btn{--duration:.3s;width:40px;height:40px}@media (hover:hover){.scroll-btn svg{transition:transform var(--duration) var(--ease-spring)}.scroll-btn svg:hover{transform:scale(1.1)}}.scroll-btn svg>*{transform-origin:50%;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease-spring)}.scroll-btn .last-only{opacity:0;transition:opacity var(--duration) var(--ease), transform var(--duration) var(--ease-spring);transform:scale(.5)}.scroll-btn.last-screen svg>:not(.last-only){opacity:0;transform:scale(.5)}.scroll-btn.last-screen svg>.last-only{opacity:1;transform:scale(1)}#page-dots{z-index:10;transition:opacity var(--duration-overlay) var(--ease);position:fixed;top:50%;right:0;transform:translateY(-50%)}html.modal-open #page-dots{opacity:0;pointer-events:none}.page-dots-list{flex-direction:column;align-items:flex-end;margin:0;padding:0;list-style:none;display:flex}.page-dot-link{padding:calc(var(--dot-gap) / 2) var(--edge-pad-h);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;cursor:pointer;display:block;position:relative}.page-dot-label{top:50%;right:calc(50% + var(--dot-size) * .5 + var(--dot-gap) * .5);text-transform:uppercase;color:var(--c-text-dim);white-space:nowrap;opacity:0;visibility:hidden;transform:translate(calc(var(--dot-gap) * .25), -50%);transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s linear .2s;pointer-events:none;font-size:14px;position:absolute}@media (hover:hover){#page-dots:hover .page-dot-label{opacity:1;visibility:visible;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s;transform:translateY(-50%)}}#page-dots:has(:focus-visible) .page-dot-label{opacity:1;visibility:visible;transition:opacity .2s var(--ease), transform .2s var(--ease), visibility 0s;transform:translateY(-50%)}.page-dot{width:var(--dot-size);height:var(--dot-size);-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);transition:background var(--duration) var(--ease), opacity var(--duration) var(--ease);background:#ffffff80;border-radius:50%;display:block}.page-dot-link:focus-visible{outline:none}.page-dot-link:focus-visible .page-dot{outline:2px solid var(--c-text);outline-offset:4px}.page-dot-link[aria-current=page] .page-dot{background:#fff}@media (hover:hover){.page-dot-link:hover .page-dot{background:#fff}}.btn{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:var(--c-text);white-space:nowrap;cursor:pointer;transition:background var(--duration) var(--ease);background:#d9d9d980;border-radius:20px;justify-content:center;align-items:center;gap:10px;padding:16px 25px;font-size:clamp(14px,1.5vw,24px);display:inline-flex}.btn:hover,.btn:focus-visible{background:var(--c-surface-hover);outline:none}.btn:active{transform:scale(.96)}.btn-icon{width:46px;height:46px;padding:12px}#logo{animation:fadeInScale 1.2s var(--ease) both;max-width:calc(69vw - 40px)}#logo svg{max-width:100%}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.text{font-size:clamp(14px,1.5vw,20px)}.content{flex-direction:column;align-items:center;gap:clamp(20px,3vw,30px);display:flex}.gallery-grid{--preview-range-x:8px;--preview-range-y:1px;--preview-range-scale:1;grid-template-columns:1fr 1fr;justify-content:center;justify-items:center;gap:50px 0;width:100%;max-width:min(640px,90vw);display:grid}@media (width>=600px){.gallery-grid{column-gap:calc(100% - (var(--card-size) * 3.2));grid-auto-rows:calc(var(--card-size) * .8);max-width:calc(var(--card-size) * 4.1);padding-bottom:calc(var(--card-size) * .6);--preview-range-x:14px;--preview-range-y:1px;--preview-range-scale:1.5}.gallery-grid .image-preview{aspect-ratio:2/3;min-height:min-content}}.gallery-grid .image-preview:nth-child(3n){grid-column:1/-1;justify-self:center}.image-preview{--fx:0;--fy:0;--fs:0;width:var(--card-size);border-radius:var(--radius-preview);transform:translate(calc(var(--fx) * var(--preview-range-x)), calc(var(--fy) * var(--preview-range-y))) scale(calc(1 + (var(--fs) / 2 * var(--preview-range-scale))));background:#000;position:relative;overflow:hidden}.gallery-grid .image-preview:nth-child(8n+1){--fx:-.75;--fy:.35;--fs:-.1}.gallery-grid .image-preview:nth-child(8n+2){--fx:.95;--fy:-.3;--fs:-.35}.gallery-grid .image-preview:nth-child(8n+3){--fx:.5;--fy:.8;--fs:0}.gallery-grid .image-preview:nth-child(8n+4){--fx:.9;--fy:.1;--fs:-.2}.gallery-grid .image-preview:nth-child(8n+5){--fx:0;--fy:-.6;--fs:-.2}.gallery-grid .image-preview:nth-child(8n+6){--fx:.15;--fy:.65;--fs:-.4}.gallery-grid .image-preview:nth-child(8n+7){--fx:-.95;--fy:-.15;--fs:-.45}.gallery-grid .image-preview:nth-child(8n){--fx:.35;--fy:1;--fs:-.1}@supports (animation-timeline:scroll()){@keyframes preview-parallax{0%{translate:0 calc(var(--fs) * 150%)}to{translate:0 calc(var(--fs) * -150%)}}.image-preview{animation:linear both preview-parallax;animation-timeline:view();animation-range:entry exit}}@supports (corner-shape:squircle){.image-preview{border-radius:calc(var(--radius-preview) * 2);corner-shape:squircle}}.image-preview img{width:100%;height:auto;display:block}@media (hover:hover){a.image-preview img{transition:opacity var(--duration) var(--ease)}a.image-preview:hover img{opacity:.5}a.image-preview:after{content:"";color:var(--c-text);opacity:0;transition:opacity var(--duration) var(--ease);background:var(--cross) no-repeat center center;background-size:contain;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}a.image-preview:hover:after{opacity:1}}#contact .image-preview{width:clamp(200px,50vw,275px)}.modal-content .image-preview{width:clamp(190px,50vw,220px)}.link-cloud{--cloud-spread-x:min(400px, 40vw);--cloud-spread-y:25svh;--cloud-parallax-range:clamp(50px, 2vh, 62px);list-style:none;position:absolute;top:50%;left:50%}.link-cloud li{--cloud-parallax-factor:1;position:absolute}.link-cloud li:first-child{--cloud-parallax-factor:-.9;transform:translate(-50%, -50%) translate(calc(-.3 * var(--cloud-spread-x)), calc(-1.3 * var(--cloud-spread-y)))}.link-cloud li:nth-child(2){--cloud-parallax-factor:-.6;transform:translate(-100%, -50%) translate(calc(.95 * var(--cloud-spread-x)), calc(-.4 * var(--cloud-spread-y)))}.link-cloud li:nth-child(3){--cloud-parallax-factor:-1.8;transform:translate(-50%, -50%) translate(calc(.4 * var(--cloud-spread-x)), calc(1.2 * var(--cloud-spread-y)))}.link-cloud li:nth-child(4){--cloud-parallax-factor:-.55;transform:translate(-50%, -50%) translate(calc(-.3 * var(--cloud-spread-x)), calc(.45 * var(--cloud-spread-y)))}@supports (animation-timeline:scroll()){@keyframes link-cloud-parallax{0%{translate:0 calc(-1 * var(--cloud-parallax-factor) * var(--cloud-parallax-range))}to{translate:0 calc(var(--cloud-parallax-factor) * var(--cloud-parallax-range))}}#contact .link-cloud li{animation:linear both link-cloud-parallax;animation-timeline:view();animation-range:entry exit}}dialog{width:100%;height:100%;max-width:unset;max-height:unset;color:inherit;text-align:center;background:0 0;border:none;padding:0;overflow:hidden}.modal-dialog{font-size:16px}dialog::backdrop{-webkit-backdrop-filter:blur();transition:backdrop-filter var(--backdrop-blur-duration) var(--ease-backdrop-blur), -webkit-backdrop-filter var(--backdrop-blur-duration) var(--ease-backdrop-blur), display var(--duration-overlay) allow-discrete}dialog[open]{display:flex}dialog[open]::backdrop{transition-duration:var(--duration-backdrop-blur);-webkit-backdrop-filter:var(--blur-layer)}dialog.is-closing::backdrop{transition-duration:var(--duration-overlay);-webkit-backdrop-filter:blur()}.modal-shell{width:100%;min-height:100%;padding:var(--edge-pad-v) var(--edge-pad-h) 0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;opacity:0;transition:opacity var(--duration-overlay) var(--ease), transform var(--duration-overlay) var(--ease);flex-direction:column;justify-content:space-between;align-items:center;gap:90px;display:flex;overflow:hidden auto;transform:translateY(24px)}dialog:not(.is-closing) .modal-shell{transition-delay:.35s}.modal-content{text-align:center;flex-direction:column;align-items:center;gap:clamp(90px,10vw,105px);width:min(100%,640px);padding:0 8px;line-height:1.5;display:flex}.modal-title{letter-spacing:.35em;text-transform:uppercase;color:var(--c-text-dim)}dialog[open] .modal-shell{opacity:1;transform:translateY(0)}dialog.is-closing .modal-shell{opacity:0;transform:translateY(24px)}.modal-close-wrap{z-index:20;isolation:isolate;position:sticky;bottom:0;left:50%;transform:translate(-50%)}dialog:not(.slideshow-dialog) .modal-close-wrap .icon-btn{margin-bottom:calc(var(--edge-pad-v) + env(safe-area-inset-bottom,0px))}dialog:not(.slideshow-dialog) .modal-close-wrap:before{content:"";background:linear-gradient(to bottom, transparent, var(--c-bg));pointer-events:none;z-index:-1;width:100vw;height:31vh;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.icon-btn{--icon-size:48px;--icon-pad-y:12px;--icon-pad-x:16px;--icon-radius:30px;--icon-image:none;padding:var(--icon-pad-y) var(--icon-pad-x);border-radius:var(--icon-radius);-webkit-backdrop-filter:blur(40px);transition:background var(--duration) var(--ease);background:#d9d9d98c;justify-content:center;align-items:center;display:inline-flex;position:relative}.icon-btn:before{content:"";width:var(--icon-size);height:var(--icon-size);background:var(--icon-image) no-repeat center;background-size:contain}.icon-btn:hover,.icon-btn:focus-visible{background:#d9d9d9b3}.modal-close-btn{--icon-image:var(--cross)}.modal-close-btn:before{transform:rotate(45deg)}@media (width<=640px){.modal-dialog{font-size:14px}.icon-btn{--icon-size:30px;--icon-pad-y:7px;--icon-pad-x:10px;--icon-radius:18px}}@starting-style{dialog[open]::backdrop{-webkit-backdrop-filter:blur()}dialog[open] .modal-shell{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){dialog,dialog::backdrop,.modal-shell{transition-duration:.01ms}}.slideshow-root{--slide-gap:clamp(12px, 1vw, 20px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;width:100%;height:100%;position:relative;overflow:hidden}.slideshow-track{gap:var(--slide-gap);will-change:transform;height:100%;display:flex}.slideshow-slide{flex-shrink:0;justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.slideshow-img-wrap{will-change:transform;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.slideshow-img-wrap img{will-change:transform;max-width:none;max-height:none;transform-origin:0px 0px 0px;pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;top:0;left:0}.slideshow-dialog .modal-shell{gap:0;height:100%;min-height:0;padding:0;overflow:hidden}.slideshow-stage{width:100%;height:100%}.slideshow-dialog .modal-close-wrap{bottom:calc(var(--edge-pad-v) + env(safe-area-inset-bottom,0px));-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:absolute}.slideshow-dialog .modal-close-wrap .icon-btn{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.slideshow-stage>.slideshow-root{width:100%;height:100%}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;-webkit-user-select:none;user-select:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
