@layer components{.hero-carousel{z-index:1;height:calc(100% - 540px);max-height:480px;position:absolute;inset:max(150px,15%) 0 auto}.hero-carousel .flex-carousel{color:var(--text)}.flex-carousel>canvas{position:absolute;inset:0}.flex-carousel__fallback{padding-inline:var(--gutter);scrollbar-width:thin;justify-content:flex-start;align-items:center;gap:12px;display:flex;position:absolute;inset:0;overflow-x:auto}.flex-carousel:not([data-ready=true]){touch-action:auto}.flex-carousel__fallback>a{background:var(--surface);flex:none;max-width:80%;height:50%;display:block;overflow:hidden}.flex-carousel__fallback img{object-fit:contain;width:100%;height:100%}.flex-carousel[data-ready=true] .flex-carousel__fallback{visibility:hidden;pointer-events:none}.flex-carousel__empty{grid-template-columns:1fr 1.3fr 1fr;align-items:center;gap:12px;width:min(800px,90vw);height:50%;margin:auto;display:grid}.flex-carousel__empty>span{background:#101010;border:1px solid #262626;height:80%;display:block}.flex-carousel__empty>span:nth-child(2){height:100%}.flex-carousel__empty>p{text-align:center;font-family:var(--mono);color:var(--muted);letter-spacing:.1em;grid-column:1/-1;font-size:10px}.hero-carousel .flex-carousel__title{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:min(55vw,460px);font-size:10px;display:block;overflow:hidden}.hero-carousel .flex-carousel__count{font-family:var(--mono);color:var(--text);opacity:.7;font-size:10px}.carousel-toolbar{left:var(--gutter);right:var(--gutter);pointer-events:none;justify-content:flex-end;align-items:center;gap:24px;display:flex;position:absolute;bottom:0}.carousel-status{color:#b2ab9e;font-size:11px;position:absolute;left:50%;transform:translate(-50%)}.carousel-loading{align-items:center;gap:8px;display:inline-flex}.carousel-loading .loading-spinner{width:12px;height:12px}.carousel-random,.flex-carousel[data-preloaded=true]+.carousel-toolbar .carousel-loading{display:none}.flex-carousel[data-preloaded=true]+.carousel-toolbar .carousel-random{display:inline}.lightbox .lightbox-stage{flex-direction:column;gap:10px}.lightbox .lightbox-image{max-height:calc(100% - 54px)}.lightbox-credit{text-align:center;overflow-wrap:anywhere;max-width:100%}.lightbox-credit h2{font:500 clamp(14px, 2.2vw, 20px)/1.4 var(--serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.lightbox-credit p,.photo-file-details{color:var(--muted);font-size:12px}.photo-file-details summary{cursor:pointer}.collection-inline-lock{vertical-align:text-bottom;color:var(--muted);margin-inline-start:4px;display:inline-block}.carousel-hint{color:var(--muted);font-size:9px}.carousel-controls{pointer-events:auto;gap:6px;display:flex}.carousel-control{width:44px;min-height:44px;color:var(--text);background:#090909d9;border:1px solid #414141;border-radius:50%;place-items:center;transition:border-color .18s,background .18s;display:grid}.carousel-control svg{width:16px;height:16px}.carousel-pause{font-size:12px}.carousel-control:hover{background:#202020;border-color:#8a8a8a}.collection-picker{width:min(1100px,100% - 80px);max-width:none;max-height:calc(100svh - 80px);color:var(--text);overscroll-behavior:contain;scrollbar-width:thin;background:#0d0d0d;border:1px solid #414141;border-radius:24px;margin:auto;padding:clamp(24px,3.5vw,48px);position:fixed;inset:0;overflow-y:auto;box-shadow:0 32px 120px #000b}.collection-picker[open]{transform-origin:50%;animation:.52s cubic-bezier(.22,1,.36,1) both picker-center-enter}.collection-picker::backdrop{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#000b}.collection-picker-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.collection-picker-header h2{font-family:var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere;margin:10px 0 8px;font-size:clamp(28px,3.6vw,44px);line-height:1.5}.picker-close{border:1px solid #454545;border-radius:50%;flex-shrink:0;place-items:center;min-width:44px;min-height:44px;transition:background .18s;display:grid}.picker-close:hover{background:var(--surface-raised)}.collection-picker-footer{color:var(--muted);border-top:1px solid #303030;justify-content:space-between;gap:16px;margin-top:28px;padding-top:22px;font-size:9px;display:flex}.picker-empty{text-align:center;justify-items:center;gap:20px;padding:56px 0;display:grid}.picker-empty>svg{width:48px;height:48px;color:var(--muted)}.picker-empty h3{font-family:var(--serif);font-size:26px}.collections-noscript{padding-block:24px}.collections-noscript>a{justify-content:space-between;padding-block:12px;display:flex}.chroma-grid{--chroma-x:-9999px;--chroma-y:-9999px;--chroma-power:0;width:100%;position:relative}.chroma-grid-inner{grid-template-columns:repeat(var(--chroma-columns,3), minmax(0, 1fr));gap:12px;display:grid}.chroma-grid .chroma-card{isolation:isolate;background:linear-gradient(#222,#171717);border-radius:22px;flex-direction:column;gap:10px;min-width:0;padding:8px;transition:filter .25s;display:flex;position:relative;overflow:hidden}.chroma-grid .chroma-card:hover{filter:brightness(1.12)}.chroma-card:focus-visible{outline:2px solid var(--text);outline-offset:3px}.chroma-wash,.chroma-color,.chroma-card-glow{-webkit-mask-image:radial-gradient(circle 260px at calc(var(--chroma-x) - var(--chroma-ox,0px)) calc(var(--chroma-y) - var(--chroma-oy,0px)), #000 0%, #000 40%, #000e 50%, #0009 65%, #0003 85%, transparent 100%);mask-image:radial-gradient(circle 260px at calc(var(--chroma-x) - var(--chroma-ox,0px)) calc(var(--chroma-y) - var(--chroma-oy,0px)), #000 0%, #000 40%, #000e 50%, #0009 65%, #0003 85%, transparent 100%)}.chroma-wash{pointer-events:none;background:radial-gradient(130% 70% at 50% 100%, var(--chroma-accent), transparent 72%);opacity:calc(var(--chroma-power) * .22);position:absolute;inset:0}.chroma-media{z-index:1;aspect-ratio:3/2;background:#292929;border-radius:14px;place-items:center;display:grid;position:relative;overflow:hidden}.chroma-media>img{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.chroma-media>svg{color:#aaa;width:40px;height:40px}.chroma-mono{filter:grayscale()brightness(.88)}.chroma-color{opacity:var(--chroma-power)}.chroma-media-rim{border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f}.chroma-number{color:#eee;background:#0a0a0ac9;padding:3px 8px;position:absolute;top:10px;left:10px}.chroma-info{z-index:1;justify-content:space-between;align-items:center;gap:12px;padding:2px 6px 8px;display:flex;position:relative}.chroma-info>div{min-width:0}.chroma-title{font-family:var(--sans);overflow-wrap:anywhere;font-size:15px;font-weight:500;line-height:1.5}.chroma-subtitle{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.6}.chroma-info>svg{flex-shrink:0;width:18px;height:18px}.chroma-card-rim,.chroma-card-glow{z-index:2;border-radius:inherit;pointer-events:none;position:absolute;inset:0}.chroma-card-rim{box-shadow:inset 0 0 0 1px #ffffff12,inset 0 1px #ffffff1f}.chroma-card-glow{box-shadow:inset 0 0 0 1px var(--chroma-accent), inset 0 0 16px -8px var(--chroma-accent);opacity:var(--chroma-power)}.chroma-card:focus-visible .chroma-color{opacity:1;-webkit-mask-image:none;mask-image:none}@keyframes picker-center-enter{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:none}}@media (max-width:850px){.chroma-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.collection-picker{border-radius:20px;width:calc(100% - 24px);max-height:calc(100svh - 32px);padding:22px 16px 18px}.collection-picker-header{gap:12px;margin-bottom:24px}.collection-picker-header h2{font-size:28px}.collection-picker-footer{flex-direction:column;gap:6px}.chroma-grid-inner{grid-template-columns:minmax(0,1fr)}}@media (hover:none),(pointer:coarse){.chroma-mono{filter:none}.carousel-hint{display:none}}@media (prefers-reduced-motion:reduce){.chroma-mono{filter:none}.carousel-hint{display:none}}}@layer utilities{.lightbox-album-name{color:#d8c7a0;overflow-wrap:anywhere}.collection-slide-trigger{color:#ebd9b4;background:#282116;border:1px solid #a58c6370;border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:6px 14px;font-size:13px;display:inline-flex}.collection-slide-trigger span,.slideshow-toggle span{font-size:11px}.collection-slideshow .slideshow-toggle{color:#f2d9a9;background:#262017;border-color:#ad936760}.collection-slide-trigger:hover,.collection-slideshow .slideshow-toggle:hover{background:#3b3020}@media (prefers-reduced-motion:no-preference){.collection-slideshow .lightbox-image[data-loaded=true]{animation:.24s ease-out both collection-slide-in}}@keyframes collection-slide-in{0%{opacity:.35}to{opacity:1}}.chroma-grid .collection-card:nth-child(n){padding:8px}.hero .hero-title{pointer-events:none;bottom:112px}.hero .hero-title h1{margin-top:10px;margin-bottom:18px;font-size:clamp(80px,10.5vw,156px)}.hero .hero-title.long-identity h1{font-size:clamp(32px,4.5vw,64px)}.photo-masonry.masonry{columns:3;column-gap:12px;margin-top:28px;padding-top:0;position:relative}.photo-masonry[data-layout=positioned]{columns:auto}.photo-masonry .work-card{min-width:0;margin:0 0 12px;padding:0}.photo-masonry[data-layout=positioned] .work-card{margin:0;position:absolute;top:0;left:0}.masonry__reveal{width:100%;height:100%}.photo-masonry .photo-link{border-radius:12px;width:100%;height:100%;display:block}.photo-masonry .masonry__image{object-fit:contain;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.photo-masonry .masonry__caption{color:#fff;opacity:0;pointer-events:none;transition:opacity .35s ease, transform .5s var(--ease);background:linear-gradient(#0000,#0009);flex-direction:column;gap:3px;padding:48px 52px 14px 14px;display:flex;position:absolute;inset:auto 0 0;transform:translateY(6px)}.masonry__title{overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:1.4}.masonry__text{opacity:.8;font-size:10px;line-height:1.4}.photo-masonry .photo-open{border-color:#fff4;border-radius:50%}.photo-masonry .photo-link:is(:hover,:focus-visible) .masonry__caption{opacity:1;transform:none}.photo-masonry .photo-link:focus-visible{outline-offset:3px;outline-color:#eee}@media (hover:hover) and (pointer:fine){.photo-masonry .photo-link:hover img{transform:scale(1.07)}}@media (max-width:1000px){.photo-masonry.masonry{columns:2}.photo-masonry[data-layout=positioned]{columns:auto}}@media (max-width:767px){.hero-carousel{height:min(39%,100% - 450px);top:20%}.hero .hero-title{bottom:125px}.hero .hero-title h1{font-size:clamp(76px,24vw,132px)}.hero .hero-title.long-identity h1{font-size:32px}.carousel-hint{display:none}.carousel-toolbar{bottom:-15px}.carousel-controls{gap:8px}.hero-carousel .flex-carousel__title{max-width:46vw;font-size:9px}.hero-carousel .flex-carousel__caption{text-align:left;padding-left:var(--gutter);align-items:flex-start;top:auto;bottom:0}.photo-masonry .masonry__caption{opacity:1;transform:none}}@media (max-width:540px){.photo-masonry.masonry{columns:1}.photo-masonry[data-layout=positioned]{columns:auto}}@media (prefers-reduced-motion:reduce){.photo-masonry .photo-link:hover img{transform:none}}@media print{.hero-carousel,.collection-picker{display:none}.photo-masonry[data-layout=positioned]{columns:2;height:auto!important}.photo-masonry[data-layout=positioned] .work-card{margin-bottom:12px;position:relative;width:auto!important;height:auto!important;transform:none!important}}}
@layer utilities{.gallery-page{isolation:isolate;position:relative}.gallery-page #main:focus{outline:none}@media (min-width:768px){.gallery-page .hero{min-height:940px}.hero .hero-carousel{max-height:520px}}@media (min-width:1200px){.gallery-page .hero{min-height:max(940px,56.25vw)}.hero .hero-carousel{max-height:28.125vw}}.home-ascii-background{z-index:-1;pointer-events:none;opacity:.66;background:#050505;position:fixed;inset:0;overflow:hidden}.home-ascii-background .gradient-ascii-container{position:absolute;inset:0}.ascii-fallback{white-space:pre;color:#0000;-webkit-user-select:none;user-select:none;background:linear-gradient(#050505 12%,#80602688 75%,#161008 100%);-webkit-background-clip:text;background-clip:text;margin:0;font:12px/20px IBM Plex Mono,monospace;position:absolute;inset:0;overflow:hidden}.home-ascii-background[data-ready=true] .ascii-fallback{visibility:hidden}.gallery-page .site-footer{background:#050505d6}.site-entrance.site-entrance{z-index:100;color:#f2eee3;isolation:isolate;overscroll-behavior:none;background:#050505;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.site-entrance[open]{place-items:center;display:grid}.site-entrance::backdrop{background:#050505}.site-entrance[data-phase=exit]::backdrop{--entrance-blur:24px;background:0 0;animation:1.9s linear both entrance-home-focus}@keyframes entrance-home-focus{0%{-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate()}28%{-webkit-backdrop-filter:blur(calc(var(--entrance-blur) * .4)) saturate(1.12);backdrop-filter:blur(calc(var(--entrance-blur) * .4)) saturate(1.12)}48%{-webkit-backdrop-filter:blur(var(--entrance-blur)) saturate(1.18);backdrop-filter:blur(var(--entrance-blur)) saturate(1.18)}64%{-webkit-backdrop-filter:blur(calc(var(--entrance-blur) * .65)) saturate(1.1);backdrop-filter:blur(calc(var(--entrance-blur) * .65)) saturate(1.1)}to{-webkit-backdrop-filter:blur()saturate();backdrop-filter:blur()saturate()}}.entrance-grid,.entrance-grid-fallback{z-index:-2;position:absolute;inset:0}.entrance-grid{opacity:.8;transition:opacity 1.1s}.entrance-grid[data-finished=true]{opacity:.27}.site-entrance:has(.grid-scan[data-render-mode=webgl]) .entrance-grid-fallback{visibility:hidden}.entrance-grid .grid-scan{width:100%;height:100%}.entrance-grid-fallback{perspective:650px;opacity:.28;overflow:hidden}.entrance-grid-fallback>span{background-image:linear-gradient(#8b754b40 1px,#0000 1px),linear-gradient(90deg,#8b754b40 1px,#0000 1px);background-size:90px 90px;position:absolute;inset:-30%}.entrance-grid-fallback>span:first-child{transform:rotateX(65deg)translateY(42%)}.entrance-grid-fallback>span:nth-child(2){transform:rotateX(-65deg)translateY(-42%)}.entrance-grid-fallback>span:nth-child(3){opacity:.25;inset:29%}.site-entrance:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(at 50% 43%,#0000 25%,#05050577 100%);position:absolute;inset:0}.entrance-header,.entrance-footer{left:var(--gutter);right:var(--gutter);color:#b2ab9e;justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute}.entrance-header{font-size:10px;top:36px}.entrance-header>span:first-child{color:#f2eee3;font-family:var(--serif);text-transform:none;letter-spacing:-.03em;font-size:24px}.entrance-brand-dot{color:#efc978}.entrance-footer{bottom:max(12px, env(safe-area-inset-bottom));z-index:1;justify-content:center}.entrance-skip{color:#b2ab9e;text-underline-offset:4px;min-height:44px;padding-inline:16px;font-size:12px}.entrance-skip:is(:hover,:focus-visible){color:#f2eee3;text-decoration:underline}.entrance-stage{align-content:center;justify-items:center;width:100%;height:100%;padding:96px 24px 110px;display:grid;position:relative}.entrance-camera{pointer-events:none;opacity:0;visibility:hidden;place-items:center;width:min(620px,58vw);height:min(420px,46svh);display:grid;position:relative;top:6svh}.entrance-camera[data-visible=true]{visibility:visible}.entrance-camera>img{object-fit:contain;filter:drop-shadow(0 28px 30px #000b);-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.entrance-actions{visibility:hidden;opacity:0;transition:opacity .5s ease, transform .6s var(--ease);justify-items:center;gap:22px;margin-top:calc(6svh + 24px);display:grid;transform:translateY(12px)}.entrance-actions[data-visible=true]{visibility:visible;opacity:1;transform:none}.entrance-action-slot{place-items:center;min-width:300px;max-width:calc(100vw - 44px);height:64px;display:grid}.entrance-loading{color:#e8d09a;justify-content:center;align-items:center;min-height:60px;display:inline-flex}.entrance-loading .status-mark__label{font-family:var(--mono);letter-spacing:.2em}.entrance-loading[data-finishing=true]{animation:.32s both entrance-loading-complete}.entrance-button-reveal{animation:entrance-button-appear .56s var(--ease) both;place-items:center;display:grid}@keyframes entrance-loading-complete{0%,55%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes entrance-button-appear{0%{opacity:0;transform:translateY(15px)scale(.97)}to{opacity:1;transform:none}}.hero-brand-baseline{vertical-align:baseline;width:0;height:0;display:inline-block}.hero .hero-title,.hero .hero-title.long-identity{width:calc(100% - 2 * var(--gutter));max-width:none}.hero .hero-title h1,.hero .hero-title.long-identity h1{white-space:nowrap;overflow-wrap:normal;width:max-content;max-width:none;font-size:clamp(72px,8.5vw,132px);line-height:1.05}.hero-title h1 .gradient-text{max-width:none}.footer-brand .gradient-text__inner{min-width:0}.footer-brand .gradient-text__content,.footer-bottom>p{overflow-wrap:anywhere}@media (max-width:767px){.site-entrance[data-phase=exit]::backdrop{--entrance-blur:16px}.hero .hero-title h1,.hero .hero-title.long-identity h1{font-size:clamp(38px,12vw,80px)}}.hero-tech-layer{pointer-events:auto;z-index:2;font-family:inherit;display:block;position:absolute;inset:-28px -40px}.hero-tech-layer .tech-text{width:100%;height:100%;display:block}.entrance-start.entrance-start{letter-spacing:.02em;color:#fff4d8;-webkit-backdrop-filter:blur(14px)saturate(1.25);backdrop-filter:blur(14px)saturate(1.25);background:radial-gradient(at 24% 0,#ffe7b23b,#0000 68%),linear-gradient(160deg,#dfb45c47,#774c1a24);border-radius:30px;min-height:60px;padding:18px 28px;font-size:12px;font-weight:700;box-shadow:inset 0 1px #ffe9b885,inset 0 -2px 7px #d4a44e2e,0 8px 28px #00000052}.entrance-start>span:first-of-type{align-items:center;gap:12px;display:inline-flex}.entrance-start [lang=en]{font-family:var(--mono);letter-spacing:.08em;font-size:10px}.entrance-slash{color:#efd197}.entrance-lens-glass{z-index:5;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:radial-gradient(at 48% 48%,#f8e6bf22 0%,#e6ddcf0a 42%,#0000 72%),linear-gradient(115deg,#0000 24%,#ffefcf18 48%,#0000 70%);position:absolute;inset:0}.site-entrance[data-phase=exit] .entrance-grid,.site-entrance[data-phase=exit] .entrance-grid-fallback,.site-entrance[data-phase=exit]:after{opacity:0;transition:opacity .85s}.site-entrance[data-phase=exit] .entrance-header,.site-entrance[data-phase=exit] .entrance-footer{opacity:0;transition:opacity .16s}#entrance-status{color:#bfb7a7;text-align:center;max-width:calc(100vw - 48px);min-height:16px;font-size:9px}.camera-fallback{aspect-ratio:1.5;background:#151515;border:2px solid #8e846e;border-radius:22px;width:76%;position:relative}.camera-fallback>span{aspect-ratio:1;background:radial-gradient(circle,#323a2c 2%,#0d1114 19%,#292523 29%,#090909 35%,#191919 63%);border:10px double #685e4c;border-radius:50%;width:48%;position:absolute;top:16%;left:45%}.camera-fallback>i{background:#1a1a1a;border:1px solid #8e846e;border-radius:8px 8px 0 0;width:28%;height:12%;position:absolute;top:-9%;left:42%}.chroma-grid .chroma-color{opacity:0;transition:none;-webkit-mask-image:none;mask-image:none}@media (min-width:768px){.hero-carousel .flex-carousel__caption{gap:3px;top:auto;bottom:4px}.hero-carousel .flex-carousel__title,.hero-carousel .flex-carousel__count{font-size:9px}}.chroma-grid .chroma-card,.chroma-grid .chroma-card:hover{filter:none;transition:none}.chroma-grid .chroma-card:is(:hover,:focus-visible,:active) .chroma-color{opacity:1}@media (max-width:767px){.entrance-header{font-size:8px;top:24px}.entrance-header>span:first-child{font-size:22px}.entrance-camera{width:min(92vw,510px);height:min(39svh,340px)}.entrance-actions{gap:20px;margin-top:20px}.entrance-start.entrance-start{padding:17px 20px;font-size:11px}.entrance-start>span:first-of-type{gap:9px}.entrance-start [lang=en]{font-size:9px}.entrance-footer{bottom:max(8px, env(safe-area-inset-bottom))}}@media (max-height:580px) and (min-width:768px){.entrance-camera{width:min(500px,48vw);height:42svh;top:0}.entrance-stage{padding-block:clamp(32px,10svh,56px)}.entrance-actions{gap:12px;margin-top:20px}}@media (prefers-reduced-motion:reduce){.site-entrance[data-phase=exit]::backdrop{animation:none}.entrance-actions[data-visible=true]{transform:none}}@media print{.site-entrance,.home-ascii-background{display:none!important}}}
@layer utilities{@media (max-width:767px),(max-width:1024px) and (max-height:500px) and (pointer:coarse){.gallery-page{--gutter:5vw}.gallery-page .site-header{min-height:0;padding-block:max(3vw, env(safe-area-inset-top)) 2vw;grid-template-columns:minmax(0,1fr) auto;gap:1vw 4vw}.gallery-page .wordmark{min-width:0;max-width:100%;font-size:clamp(1.25rem,5.8vw,1.8rem)}.gallery-page .wordmark-text{min-width:0;max-width:100%}.gallery-page .brand-dot{flex-shrink:0}.gallery-page .language-control{grid-auto-columns:minmax(0,1fr);width:clamp(6rem,28vw,8rem)}.gallery-page .language-control .rubber-segment__item{min-width:0;padding-inline:1vw}.gallery-page .site-header nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw;width:100%;display:grid}.gallery-page .site-header nav a{justify-content:center;align-items:center;min-height:2.75rem;font-size:.75rem;display:flex}.gallery-page .hero{height:auto;min-height:0;max-height:none;padding:calc(var(--header-height,56px) + 24px) var(--gutter) 8vw;flex-direction:column;gap:4vw;display:flex}.gallery-page .hero-topline{flex-shrink:0;gap:4vw}.gallery-page .hero-carousel{width:calc(100% + 2 * var(--gutter));height:auto;max-height:none;margin-inline:calc(-1 * var(--gutter));flex:none;grid-template-rows:auto auto;display:grid;position:relative;inset:auto}.gallery-page .hero-carousel .flex-carousel{aspect-ratio:1.35;height:auto}.gallery-page .hero-carousel .flex-carousel__fallback>a{border-radius:14px;max-width:76%;height:69%}.gallery-page .hero-carousel .flex-carousel__caption{padding-inline:var(--gutter);gap:.4rem;bottom:0}.gallery-page .hero-carousel .flex-carousel__title{max-width:90vw;font-size:.65rem}.gallery-page .carousel-toolbar{width:calc(100% - 2 * var(--gutter));justify-content:space-between;margin:3vw auto 0;position:relative;inset:auto}.gallery-page .carousel-status{position:static;transform:none}.gallery-page .carousel-controls{gap:2vw}.gallery-page .hero .hero-title,.gallery-page .hero .hero-title.long-identity{order:1;width:100%;max-width:none;margin-block:1vw 3vw;position:relative;inset:auto}.gallery-page .hero .hero-title h1,.gallery-page .hero .hero-title.long-identity h1{margin-block:2vw 3vw;font-size:clamp(38px,12vw,80px)}.gallery-page .hero-label{font-size:.65rem}.gallery-page .hero-signature{gap:1vw;font-size:.75rem;line-height:1.7}.gallery-page .hero-bottom{gap:4vw;min-height:2.75rem;margin-top:0;padding-top:2vw;position:relative;inset:auto}.gallery-page .archive-section{padding-block:9vw 14vw}.gallery-page .section-index{margin-bottom:5vw}.gallery-page .archive-heading-row{gap:5vw;padding-bottom:5vw}.gallery-page .archive-heading-row h2{overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.75rem,8vw,2.5rem)}.gallery-page .view-switch{width:100%}.gallery-page .view-switch .rubber-segment{grid-auto-columns:minmax(0,1fr);width:100%;display:grid}.gallery-page .view-switch .rubber-segment__item{min-width:0;padding-inline:2vw;font-size:.75rem}.gallery-page .collection-intro{flex-wrap:wrap;gap:3vw}.gallery-page .photo-masonry.masonry{columns:2;column-gap:2.8%;margin-top:5vw}.gallery-page .photo-masonry[data-layout=positioned]{columns:auto}.gallery-page .photo-masonry .work-card{margin-bottom:2.8%}.gallery-page .photo-masonry[data-layout=positioned] .work-card{margin:0}.gallery-page .photo-masonry .masonry__caption{opacity:0;padding:8vw 9vw 2vw 2vw}.gallery-page .photo-masonry .photo-link:focus-visible .masonry__caption{opacity:1}.gallery-page .masonry__title{white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.gallery-page .masonry__text{display:none}.gallery-page .photo-masonry .photo-open{width:1.75rem;height:1.75rem;bottom:2vw;right:2vw}.collection-picker.collection-picker{width:92vw;max-height:90dvh;padding:4vw}.collection-picker .collection-picker-header{gap:3vw;margin-bottom:5vw}.collection-picker-header>div{min-width:0}.collection-picker .collection-picker-header h2{margin-block:2vw;font-size:clamp(1.2rem,6vw,1.7rem)}.collection-picker #collection-picker-hint{font-size:.75rem;line-height:1.7}.collection-picker .chroma-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw}.collection-picker .chroma-grid .chroma-card{border-radius:4vw;gap:2vw;padding:1.7vw}.collection-picker .chroma-media{aspect-ratio:4/3;border-radius:2.8vw}.collection-picker .chroma-info{gap:1vw;padding:0 .7vw 1vw}.collection-picker .chroma-title{font-size:.8rem}.collection-picker .chroma-subtitle{font-size:.6rem}.collection-picker .chroma-info>svg{width:.9rem;height:.9rem}.collection-picker .collection-picker-footer{gap:1vw;margin-top:5vw;padding-top:4vw}.lightbox.lightbox{width:96vw;height:96dvh;padding:max(3vw, env(safe-area-inset-top)) 3vw max(3vw, env(safe-area-inset-bottom))}.lightbox.lightbox[open]{grid-template-rows:2.75rem minmax(0,1fr) auto;gap:3vw}.lightbox .lightbox-footer{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:3vw;max-height:30svh;padding-top:3vw;display:grid}.lightbox .photo-caption{width:auto}.lightbox .lightbox-controls{gap:1vw;width:auto;position:sticky;top:0}.lightbox .exif-panel dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:3vw;display:grid}.lightbox .exif-panel dl>div{flex-direction:column;gap:.2rem;min-width:0}.site-entrance .entrance-stage{padding-inline:5vw}.site-entrance .entrance-camera{aspect-ratio:1598/984;width:min(90vw,68svh);height:auto;top:3svh}.site-entrance .entrance-action-slot{width:min(90vw,26rem);min-width:0;max-width:100%}.site-entrance .entrance-actions{gap:2svh;margin-top:calc(3svh + 20px)}.site-entrance .entrance-header{gap:4vw}.site-entrance .entrance-header>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.site-entrance .entrance-header>span:last-child{flex-shrink:0}}@media (max-width:1024px) and (max-height:500px) and (orientation:landscape) and (pointer:coarse){.gallery-page .site-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding-block:2vw}.gallery-page .site-header nav{grid-area:1/2;gap:2vw}.gallery-page .site-header .header-preferences{grid-area:1/3}.gallery-page .hero{padding-top:calc(var(--header-height,56px) + 16px);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-content:start;align-items:center;gap:3vw;display:grid}.gallery-page .hero-topline,.gallery-page .hero-bottom{grid-column:1/-1}.gallery-page .hero-carousel{width:100%;margin-inline:0}.gallery-page .hero-carousel .flex-carousel{aspect-ratio:1.6}.gallery-page .carousel-toolbar{width:100%}.gallery-page .hero .hero-title{order:0;margin-block:0}.gallery-page .hero .hero-title h1{margin-block:2vw}.gallery-page .hero-bottom{width:100%;padding-top:2vw}.site-entrance .entrance-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5vw;padding-block:15svh}.site-entrance .entrance-camera{width:100%;max-height:60svh;top:0}.site-entrance .entrance-actions{min-width:0;margin-top:0}.site-entrance .entrance-start{width:100%;padding-inline:3vw}.site-entrance .entrance-start>span:first-of-type{flex-wrap:wrap;justify-content:center;gap:1vw}}}
@layer utilities{.home-ascii-background .home-dot-grid{z-index:1;position:absolute;inset:0}.gallery-page{--scene-width:min(100vw, 177.778svh);--gutter:clamp(20px, calc(var(--scene-width) * .044), 72px);width:min(100%,177.778svh);margin-inline:auto}.site-identity{gap:5px;min-width:0;max-width:35%;display:grid}.gallery-page .archive-heading-row h2{overflow-wrap:anywhere;min-width:0}.site-identity .wordmark{width:fit-content;min-width:0;max-width:100%}.viewer-status{min-width:0;max-width:100%;font-family:var(--sans);letter-spacing:.02em;color:#dfc78f;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.5;display:block;overflow:hidden}.viewer-status[data-role=guest]{color:var(--muted)}.viewer-status:before{content:"";vertical-align:middle;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}@media (min-width:768px){.gallery-page .hero{min-height:max(940px, calc(var(--scene-width) * .5625))}.gallery-page .hero .hero-carousel{max-height:calc(var(--scene-width) * .28125)}.gallery-page .hero .hero-title h1,.gallery-page .hero .hero-title.long-identity h1{font-size:clamp(72px, calc(var(--scene-width) * .085), 132px)}.gallery-page .lightbox{width:min(100% - 24px,177.778svh);margin-inline:auto}.gallery-page .collection-picker{max-width:min(100vw - 32px,177.778svh)}.gallery-page .confirm-dialog{max-width:min(520px, calc(var(--scene-width) - 32px))}.gallery-page .entrance-header,.gallery-page .entrance-footer{left:calc((100vw - var(--scene-width)) / 2 + var(--gutter));right:calc((100vw - var(--scene-width)) / 2 + var(--gutter))}.gallery-page .entrance-header>span:first-child{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:50%;overflow:hidden}}@media (max-width:767px),(max-width:1024px) and (pointer:coarse){.gallery-page{--scene-width:100vw;--gutter:5vw;width:100%}.gallery-page .site-identity{grid-area:1/1;gap:2px;max-width:100%}.gallery-page .viewer-status{font-size:10px}}@media (max-width:767px),(max-width:1024px) and (max-height:500px) and (pointer:coarse){.gallery-page .hero{min-height:100svh}.gallery-page .hero .hero-carousel{max-height:none}}}
@layer utilities{.animation-experience-note{color:#b9af99;font-family:var(--sans);overflow-wrap:anywhere;margin:0 0 10px;font-size:11px;line-height:1.6}.gallery-page .site-header{left:var(--frame-left,max(0px, calc((100vw - var(--scene-width,100vw)) / 2)));width:var(--frame-width,var(--scene-width,100%));-webkit-backdrop-filter:blur(16px)saturate(135%);backdrop-filter:blur(16px)saturate(135%);background:linear-gradient(145deg,#fff4d714,#0000 55%),#0a0c0f75;border-radius:clamp(15px,2vw,28px);position:fixed;right:auto;box-shadow:inset 0 0 0 1px #fff4d721}.gallery-page #top,.gallery-page #archive,.gallery-page #about,.gallery-page #my-gear,.gallery-page #about-stories-heading,.gallery-page #photo-map,.gallery-page #color-walk,.gallery-page #postcard{scroll-margin-top:calc(var(--header-height,94px) + 16px)}.collection-note{font-family:var(--sans);letter-spacing:normal;color:var(--muted);overflow-wrap:anywhere;margin-inline-start:.5em;font-size:clamp(10px,.65em,14px);font-weight:400;line-height:1.5;display:inline}.gallery-page .site-header .mobile-archive-link,.index-mobile-language{display:none}.index-animation-help{border-top:1px solid var(--border);color:var(--muted);margin-top:8px;padding-top:8px;font-size:12px}.index-animation-help summary{cursor:pointer;padding-block:6px}.index-animation-help .animation-experience-note{margin:6px 0 0}@media (max-width:767px),(max-width:1024px) and (max-height:500px) and (pointer:coarse){.gallery-page .site-header{padding-block:max(6px, env(safe-area-inset-top)) 6px;grid-template-columns:minmax(0,1fr) auto auto;gap:clamp(6px,2vw,12px)}.gallery-page .site-header .site-identity{grid-area:1/1;min-width:0}.gallery-page .site-header>nav{grid-area:1/2;display:block}.gallery-page .site-header .header-tools{grid-area:1/3;gap:4px}.gallery-page .site-header .header-tool{padding-inline:8px}.gallery-page .site-header .header-preferences,.gallery-page .site-header [data-view-shortcut]{display:none}.gallery-page .site-header .mobile-archive-link{white-space:nowrap;display:flex}.index-mobile-language{border-top:1px solid var(--border);gap:8px;margin-top:8px;padding-top:8px;display:flex}.index-mobile-language button{min-height:36px;color:var(--muted);padding-inline:10px}.index-mobile-language button[aria-pressed=true]{color:#ecd5a4;border-bottom:1px solid}}@media (max-width:767px) and (orientation:portrait){.gallery-page .site-header[data-compact=true]{padding-block:6px}.gallery-page .site-header[data-compact=true] .site-identity,.gallery-page .site-header[data-compact=true] .header-preferences{display:none}.gallery-page .site-header[data-compact=true]>nav{grid-column:1;justify-self:start;width:auto}}}
@layer components{.grid-scan{width:100%;height:100%;position:relative;overflow:hidden}.grid-scan-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}}
@layer components{.star-border{isolation:isolate;border-radius:var(--star-border-radius);background:var(--star-border-surface);color:var(--star-border-text);font:inherit;-webkit-tap-highlight-color:transparent;border:0;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.875rem 1.5rem;font-weight:500;line-height:1.25;text-decoration:none;display:inline-flex;position:relative}.star-border:before{content:"";z-index:-1;border-radius:inherit;box-shadow:inset 0 0 0 var(--star-border-thickness) var(--star-border-track);pointer-events:none;position:absolute;inset:0}.star-border__light{z-index:-1;pointer-events:none;width:calc(100% + 96px);height:calc(100% + 96px);position:absolute;top:-48px;left:-48px}button.star-border,a.star-border{cursor:pointer}.star-border:focus-visible{outline:2px solid var(--star-border-track);outline-offset:3px}.star-border:disabled{cursor:not-allowed;opacity:.5}}
@layer components{.status-mark{--sm-size:20px;--sm-stroke:2;--sm-color:currentColor;--sm-done:#22c55e;--sm-error:#ef4444;--sm-fill:.06;--sm-font:14px;--sm-draw:.24s;--sm-strike-delay:.18s;--sm-muted:.55;--sm-check-delay:.12s;--sm-label-o:.65;--sm-ease-out:cubic-bezier(.23, 1, .32, 1);--sm-ease-in-out:cubic-bezier(.77, 0, .175, 1);align-items:center;gap:calc(var(--sm-size) * .5);vertical-align:middle;line-height:1;display:inline-flex;position:relative}.status-mark__glyph{color:var(--sm-color);flex:none;transition:color .2s;overflow:visible}.status-mark[data-status=done] .status-mark__glyph{color:var(--sm-done)}.status-mark[data-status=failed] .status-mark__glyph{color:var(--sm-error)}.status-mark__track{fill:currentColor;stroke:currentColor;stroke-width:var(--sm-stroke);fill-opacity:0;stroke-opacity:0;transition:fill-opacity .18s,stroke-opacity .2s}.status-mark[data-status=running] .status-mark__track{stroke-opacity:.2}.status-mark[data-status=done] .status-mark__track,.status-mark[data-status=failed] .status-mark__track{fill-opacity:var(--sm-fill)}.status-mark__ring{fill:none;stroke:currentColor;stroke-width:var(--sm-stroke);stroke-linecap:round;opacity:var(--sm-muted);transition:opacity .2s}.status-mark[data-status=running] .status-mark__ring,.status-mark[data-status=done] .status-mark__ring,.status-mark[data-status=failed] .status-mark__ring{opacity:1}.status-mark__check,.status-mark__cross{fill:none;stroke:currentColor;stroke-width:var(--sm-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1.05px;opacity:0;transition:stroke-dashoffset .16s var(--sm-ease-out), opacity 0s linear .16s}.status-mark[data-status=done] .status-mark__check,.status-mark[data-status=failed] .status-mark__cross,.status-mark[data-status=cancelled] .status-mark__cross{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset var(--sm-draw) var(--sm-ease-out) var(--sm-check-delay), opacity 0s linear var(--sm-check-delay)}.status-mark__label{color:var(--sm-color);font-size:var(--sm-font);opacity:var(--sm-label-o);line-height:1.25;transition:opacity .2s;position:relative}.status-mark[data-status=running]{--sm-label-o:1}.status-mark[data-status=done]{--sm-label-o:.6}.status-mark[data-status=failed]{--sm-label-o:1}.status-mark[data-status=cancelled]{--sm-label-o:.55}.status-mark__strike{height:max(1px, calc(var(--sm-font) / 14));transform-origin:0;pointer-events:none;transition:transform .16s var(--sm-ease-out);background:currentColor;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)translateY(-50%)}.status-mark[data-status=done][data-strike] .status-mark__strike{transition:transform .28s var(--sm-ease-out) var(--sm-strike-delay);transform:scaleX(1)}.status-mark__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes sm-breathe{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.status-mark[data-indeterminate] .status-mark__ring{animation:sm-breathe 1.4s var(--sm-ease-in-out) infinite}.status-mark__check,.status-mark__cross{stroke-dashoffset:0;transition:opacity .2s}.status-mark__strike{opacity:0;transition:opacity .2s;transform:scaleX(1)!important}.status-mark[data-status=done][data-strike] .status-mark__strike{opacity:1}}}
@layer components{.gradient-ascii-container{width:100%;height:100%;position:relative;overflow:hidden}.gradient-ascii-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}}
@layer components{.dot-grid{width:100%;height:100%;position:relative}.dot-grid__canvas{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.dot-grid{background-image:radial-gradient(circle,#82643180 1px,#0000 1.5px);background-size:35px 35px}.dot-grid[data-render-mode=webgl]{background-image:none}}
@layer components{.tech-text{touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative}.tech-text-canvas{width:100%;height:100%;display:block}}
