:root{--bg-color: #f8f9fa;--text-primary: #023047;--text-secondary: rgba(2, 48, 71, .4);--accent: #e65100;--accent-soft: rgba(230, 81, 0, .1);--card-bg: #ffffff;--shadow-soft: 0 10px 40px rgba(0, 0, 0, .04);--shadow-hover: 0 30px 60px rgba(2, 48, 71, .08);--ease: cubic-bezier(.16, 1, .3, 1);--transition-slow: .8s var(--ease);--transition-fast: .4s var(--ease)}body{margin:0;overflow:hidden;background-color:var(--bg-color);font-family:Nunito,Avenir Next,Segoe UI,system-ui,sans-serif;width:100vw;height:100vh;color:var(--text-primary)}::selection{background:var(--accent);color:#fff}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}canvas{display:block;touch-action:none}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#f8f9facc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:5000;transition:opacity .6s var(--ease),visibility .6s}.loading-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-content{display:flex;flex-direction:column;align-items:center;gap:20px}@keyframes spin{to{transform:rotate(360deg)}}#gallery-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-color);z-index:2000;display:flex;flex-direction:column;align-items:center;padding:clamp(60px,8vh,120px) 20px;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;transition:opacity 1s var(--ease),visibility 1s}#gallery-overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.brand-mark{position:fixed;top:40px;left:50px;z-index:2005;transition:opacity .8s var(--ease)}.brand-mark .alias-wrapper{padding:8px 0}.brand-mark .alias{font-family:Shantell Sans,cursive;font-size:24px;font-weight:500;letter-spacing:-.045em;color:var(--accent)}.brand-mark.hidden{opacity:0;pointer-events:none}.draw-circle .circle-path{stroke-dashoffset:0}.alias{font-family:Shantell Sans,cursive;color:var(--accent);font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.045em;display:inline-block;transition:transform var(--transition-slow)}.social-links{position:fixed;top:40px;right:50px;display:flex;gap:24px;z-index:2001;transition:opacity .8s ease}.social-link{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),transform var(--transition-fast)}.social-link:hover{color:var(--accent);transform:translateY(-4px)}.gallery-grid{width:100%;border-bottom:1px solid rgba(2,48,71,.12)}.gallery-card{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;align-items:center;gap:12px;min-height:73px;border-top:1px solid rgba(2,48,71,.12);color:inherit;text-decoration:none;cursor:pointer;opacity:0;transform:translateY(18px);transition:color var(--transition-fast),padding var(--transition-fast)}.gallery-card:before{position:absolute;inset:-1px auto auto 0;width:0;height:1px;background:var(--scene-accent, var(--accent));content:"";transition:width .65s var(--ease)}.gallery-card:hover:before,.gallery-card:focus-visible:before,.gallery-card.is-preview-active:before{width:100%}.gallery-card:focus-visible{outline:none}.gallery-card:hover .card-index,.gallery-card:focus-visible .card-index,.gallery-card.is-preview-active .card-index{color:var(--scene-accent, var(--accent))}.gallery-card:hover .card-title,.gallery-card:focus-visible .card-title,.gallery-card.is-preview-active .card-title{color:color-mix(in srgb,var(--scene-accent, var(--accent)) 72%,var(--text-primary));transform:translate(5px)}.gallery-card:hover .card-open,.gallery-card:focus-visible .card-open,.gallery-card.is-preview-active .card-open{opacity:1;transform:translate(0)}.char{display:inline-block;will-change:transform,opacity}@media(max-width:1000px){.gallery-layout{grid-template-columns:minmax(320px,.9fr) minmax(340px,1.1fr);gap:54px;width:min(900px,calc(100vw - 64px))}.gallery-card{min-height:68px}}@media(max-width:800px){#gallery-overlay{padding:96px 20px 48px}.gallery-header{margin-bottom:42px}.gallery-layout{display:flex;flex-direction:column;gap:34px;width:min(560px,100%);padding-bottom:54px}.gallery-preview{position:relative;top:auto;order:-1;z-index:2;border-radius:4px;padding:8px;background:var(--bg-color);box-shadow:0 18px 45px #02142314}.gallery-preview-stage{aspect-ratio:2 / 1}.gallery-preview-caption{grid-template-columns:54px 1fr;margin-top:8px;padding:9px 2px 2px}.gallery-preview-hint,.gallery-preview-detail{display:none}.gallery-index-heading{padding-bottom:12px}.gallery-card{min-height:66px}.brand-mark{position:absolute;top:24px;left:20px}.brand-mark .alias{font-size:18px}.social-links{position:relative;top:auto;right:auto;justify-content:center;gap:28px;margin-top:8px;padding-bottom:20px}}.loader-content{width:min(300px,calc(100vw - 64px));gap:14px}.loader-mark{display:flex;align-items:center;gap:5px;height:34px;margin-bottom:8px}.loader-mark span{width:9px;height:22px;border-radius:999px;background:var(--loader-accent, var(--accent));animation:loader-wave .9s var(--ease) infinite alternate}.loader-mark span:nth-child(2){height:32px;animation-delay:-.3s}.loader-mark span:nth-child(3){animation-delay:-.6s}.loader-title{color:var(--text-primary);font-family:Nunito,Avenir Next,Segoe UI,system-ui,sans-serif;font-size:22px;font-weight:480;letter-spacing:-.02em}.loader-status{color:var(--text-secondary);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.loader-progress{width:100%;height:1px;overflow:hidden;background:#0230471a;transform:translateZ(0)}.loader-progress span{display:block;width:100%;height:100%;background:var(--loader-accent, var(--accent));transform:scaleX(.08);transform-origin:left center;transition:transform .3s var(--ease)}.loader-retry{margin-top:8px;border:1px solid rgba(2,48,71,.18);border-radius:999px;padding:10px 18px;background:transparent;color:var(--text-primary);font:inherit;font-size:10px;font-weight:620;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.loader-retry.hidden{display:none}@keyframes loader-wave{0%{transform:scaleY(.62);opacity:.45}to{transform:scaleY(1);opacity:1}}:root{--hud-edge: clamp(18px, 2.6vw, 44px);--hud-text: #ffffff;--hud-shadow: 0 1px 18px rgba(0, 0, 0, .35)}.liquid-glass,.minimal-btn{position:relative;isolation:isolate;border:0;background:#0e161e33;color:var(--hud-text);text-shadow:0 1px 6px rgba(0,0,0,.25);box-shadow:inset 0 1px 1.5px #fff9,inset 0 -1px 1px #ffffff29,inset 0 0 18px #ffffff14,0 10px 30px #00000029,0 1px 3px #0000001f;-webkit-backdrop-filter:blur(6px) saturate(140%) brightness(.94);backdrop-filter:blur(6px) saturate(140%) brightness(.94)}.liquid-glass:before,.minimal-btn:before{position:absolute;inset:0;z-index:-1;padding:1.2px;border-radius:inherit;background:linear-gradient(135deg,#ffffffe6,#fff3 24%,#fff0 46% 58%,#ffffff38 78%,#ffffffb3);content:"";pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.liquid-glass:after,.minimal-btn:after{position:absolute;inset:1px;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,#ffffff29,#fff0 48%);content:"";pointer-events:none}.liquid-glass-refract .liquid-glass,.liquid-glass-refract .minimal-btn{-webkit-backdrop-filter:url(#liquid-glass-lens) blur(3px) saturate(140%) brightness(.94);backdrop-filter:url(#liquid-glass-lens) blur(3px) saturate(140%) brightness(.94)}.liquid-glass-defs{position:absolute;width:0;height:0;overflow:hidden}.minimal-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;color:var(--hud-text)!important;cursor:pointer;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s ease}.minimal-btn:hover,.minimal-btn:focus-visible{background:#0e161e4d;transform:scale(1.06);outline:none}.minimal-btn:active{transform:scale(.95)}.minimal-btn[aria-pressed=true]{background:#fff3}.secondary-ui{top:var(--hud-edge)!important;right:var(--hud-edge)!important}.back-to-gallery,.scene-corner,.scene-edge,.secondary-ui{transition:opacity .7s var(--ease),transform .7s var(--ease)}body.hud-idle .back-to-gallery,body.hud-idle .scene-corner,body.hud-idle .scene-edge,body.hud-idle .secondary-ui{opacity:0}.scene-info.hidden,.back-to-gallery.hidden,.scene-navigation.hidden{display:none}.scene-info{--scene-accent: var(--accent);color:var(--hud-text)}.back-to-gallery{position:fixed;top:var(--hud-edge);left:var(--hud-edge);z-index:1450}.home-pill{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;padding:0;cursor:pointer;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s ease}.home-pill:hover,.home-pill:focus-visible{background:#0e161e4d;transform:scale(1.04);outline:none}.home-pill:active{transform:scale(.97)}.scene-corner{position:fixed;right:var(--hud-edge);bottom:calc(var(--hud-edge) + 4px);z-index:1400;display:flex;flex-direction:column;align-items:flex-end;gap:14px;max-width:min(34vw,420px)}.scene-info-interaction{opacity:0;transform:translateY(6px);transition:opacity .8s var(--ease),transform .8s var(--ease);margin:0;font-size:clamp(13px,.95vw,15px);font-weight:650;line-height:1.45;text-align:right;text-shadow:var(--hud-shadow)}.scene-corner.is-hinting .scene-info-interaction{opacity:.88;transform:none}.scene-info-actions{display:flex;gap:10px}.scene-info-actions[hidden]{display:none}.scene-info-actions button{height:46px;border-radius:999px;padding:0 22px;font:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s ease}.scene-info-actions button:hover,.scene-info-actions button:focus-visible{background:color-mix(in srgb,var(--scene-accent) 34%,rgba(255,255,255,.08));transform:scale(1.05);outline:none}.scene-info-actions button:active{transform:scale(.96)}.scene-navigation{--scene-accent: var(--accent)}.scene-edge{position:fixed;top:50%;z-index:1400;display:flex;align-items:center;gap:12px;border:0;padding:0;background:none;color:var(--hud-text);font:inherit;cursor:pointer;transform:translateY(-50%)}.scene-edge--prev{left:var(--hud-edge)}.scene-edge--next{right:var(--hud-edge)}.scene-edge-lens{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;transition:transform .45s cubic-bezier(.34,1.56,.64,1),background .3s ease}.scene-edge-name{overflow:hidden;max-width:0;height:40px;border-radius:999px;padding:0;font-size:15px;font-weight:700;line-height:40px;white-space:nowrap;opacity:0;transition:max-width .5s var(--ease),padding .5s var(--ease),opacity .3s ease}.scene-edge:hover .scene-edge-lens,.scene-edge:focus-visible .scene-edge-lens{background:#0e161e4d;transform:scale(1.08)}.scene-edge:active .scene-edge-lens{transform:scale(.95)}.scene-edge:hover .scene-edge-name,.scene-edge:focus-visible .scene-edge-name{max-width:320px;padding:0 18px;opacity:1}.scene-edge:focus-visible{outline:none}.scene-edge:focus-visible .scene-edge-lens,.home-pill:focus-visible,.scene-info-actions button:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--scene-accent) 70%,white),inset 0 1px 1.5px #fff9}@media(max-width:760px){.home-pill,.minimal-btn{width:44px;height:44px}.scene-corner{right:calc(var(--hud-edge) + 110px);bottom:calc(var(--hud-edge) + 6px);left:var(--hud-edge);align-items:flex-start;max-width:none}.scene-info-interaction{font-size:12.5px;text-align:left}.scene-info-actions button{height:42px;padding:0 18px;font-size:14px}.scene-edge{top:auto;bottom:calc(var(--hud-edge) + 6px);transform:none}.scene-edge--prev{right:calc(var(--hud-edge) + 52px);left:auto}.scene-edge-lens{width:42px;height:42px}.scene-edge-name{display:none}}.noscript-message{position:fixed;inset:auto 20px 20px;z-index:10000;margin:0;padding:16px;border-radius:12px;background:#fff;color:var(--text-primary);text-align:center}@media(max-width:700px){.gallery-intro{max-width:290px;margin-top:12px;font-size:12px}.gallery-header{margin-bottom:52px}.card-title{font-size:19px}.card-open{display:none}}@media(prefers-reduced-motion:reduce){.loader-mark span{animation:none}.scene-edge-name,.card-open{transition-duration:.01ms}}#gallery-overlay{--scene-accent: var(--accent);display:block;overflow:hidden;padding:0;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.94),transparent 48%),#f2f3f3;cursor:none}#gallery-overlay:after{position:fixed;right:0;bottom:0;left:0;z-index:2000;height:175px;background:linear-gradient(180deg,transparent,rgba(242,243,243,.9) 76%,#f2f3f3);content:"";pointer-events:none}#gallery-overlay .gallery-header{position:fixed;top:42px;left:50%;z-index:2010;margin:0;transform:translate(-50%);pointer-events:none}#gallery-overlay .gallery-title{margin:0;color:#02304775;font-family:DM Mono,monospace;font-size:8px;font-weight:400;letter-spacing:.28em}#gallery-overlay .gallery-intro{display:none}.gallery-canvas{--scene-accent: var(--accent);position:absolute;inset:0;z-index:1;overflow:hidden;outline:none;cursor:none;touch-action:none;transition:opacity .7s var(--ease),filter .7s var(--ease),transform .7s var(--ease)}.gallery-canvas canvas{position:absolute;inset:0;width:100%;height:100%}.gallery-canvas:after{position:absolute;inset:0;border:1px solid transparent;content:"";pointer-events:none;transition:border-color var(--transition-fast)}.gallery-canvas:focus-visible:after{border-color:color-mix(in srgb,var(--scene-accent) 45%,transparent)}.gallery-canvas.is-dragging canvas{cursor:grabbing}.gallery-canvas.is-opening{opacity:.22;filter:blur(8px);transform:scale(1.025)}.gallery-ambient{position:absolute;top:50%;left:50%;width:min(66vw,900px);aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--scene-accent) 12%,transparent);filter:blur(115px);opacity:.34;transform:translate(-50%,-50%);pointer-events:none;transition:background 1.1s var(--ease)}#gallery-overlay:hover .gallery-cursor{opacity:1}#gallery-overlay .gallery-grid{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}#gallery-overlay .gallery-card{min-height:0;border:0;opacity:1;transform:none}@media(max-width:700px){#gallery-overlay .gallery-header{top:27px}#gallery-overlay .brand-mark{position:fixed;top:22px}.gallery-instruction{top:58px;right:20px;bottom:auto}.gallery-instruction>span:last-child{display:none}.gallery-cursor{display:none}}@media(hover:none),(pointer:coarse){#gallery-overlay,.gallery-canvas{cursor:auto}.gallery-cursor{display:none}}@media(prefers-reduced-motion:reduce){.gallery-canvas,.gallery-cursor,.gallery-ambient{transition-duration:.01ms}}:root{--gallery-paper: #efede7;--gallery-paper-deep: #e8e5dd;--gallery-ink: #17272f;--gallery-muted: rgba(23, 39, 47, .48);--gallery-hairline: rgba(23, 39, 47, .07);--gallery-coral: #d85d38}.intro-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden;background:radial-gradient(120% 100% at 22% 18%,#fff6e9f2,#fff6e900 62%),linear-gradient(152deg,#f3f1ea,#efede7 46%,#e6e5e1)!important;color:var(--gallery-ink);opacity:1}.intro-grain{position:absolute;inset:0;z-index:1;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.intro-stage{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:32px;box-sizing:border-box}.intro-eyebrow{position:absolute;top:50%;left:50%;margin:0;display:inline-flex;align-items:baseline;white-space:pre;color:var(--gallery-muted);font-family:DM Mono,monospace;font-size:clamp(10px,.85vw,11.5px);font-weight:400;letter-spacing:.16em;text-transform:lowercase;pointer-events:none}.intro-eyebrow-name,.intro-eyebrow-year{color:inherit}.intro-eyebrow-sep{color:var(--gallery-coral)}.intro-caret{display:inline-block;width:1.5px;height:1em;margin-left:.35em;background:var(--gallery-coral);transform:translateY(.1em)}.intro-word{position:absolute;top:50%;left:50%;width:min(80vw,820px);pointer-events:none}.intro-word-svg{display:block;width:100%;height:auto;overflow:visible}.intro-text{fill:var(--gallery-coral);font-family:Homemade Apple,Shantell Sans,cursive;font-size:84px}.intro-rule{fill:none;stroke:var(--gallery-coral);stroke-width:2.4px;stroke-linecap:round;opacity:.6}.intro-skip{position:absolute;right:clamp(20px,4vw,36px);bottom:clamp(20px,4vh,32px);z-index:3;padding:6px 2px;border:0;background:none;color:var(--gallery-muted);font:400 10.5px/1 DM Mono,monospace;letter-spacing:.22em;text-transform:lowercase;cursor:pointer;opacity:0;transition:color .3s ease}.intro-skip:hover,.intro-skip:focus-visible{color:var(--gallery-ink);outline:none}.intro-skip:focus-visible{text-decoration:underline;text-underline-offset:4px}#gallery-overlay{--scene-accent: var(--gallery-coral);position:fixed;inset:0;display:block;overflow:hidden;padding:0;background:var(--gallery-paper);color:var(--gallery-ink);cursor:default;isolation:isolate}#gallery-overlay.hidden{display:none}#gallery-overlay:before,#gallery-overlay:after{display:none}.gallery-grid-backdrop{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(23,39,47,.027) 1px,transparent 1px),linear-gradient(90deg,rgba(23,39,47,.027) 1px,transparent 1px);background-position:center;background-size:52px 52px;-webkit-mask-image:radial-gradient(ellipse at center,black 12%,transparent 82%);mask-image:radial-gradient(ellipse at center,black 12%,transparent 82%);pointer-events:none}#gallery-overlay .brand-mark{position:fixed;top:clamp(22px,2.4vw,36px);left:clamp(20px,2.6vw,44px);z-index:55;display:flex;align-items:center;opacity:1;pointer-events:auto}#gallery-overlay .brand-mark .alias-wrapper{padding:0}#gallery-overlay .brand-mark .alias{display:block;color:var(--gallery-ink);font:750 clamp(19px,1.45vw,25px)/1 "Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;letter-spacing:-.045em;transform:none}.gallery-view-switch{position:fixed;top:clamp(20px,2.2vw,32px);left:50%;z-index:55;display:inline-flex;align-items:center;padding:4px;border:1px solid var(--gallery-hairline);border-radius:999px;background:#f6f4ef8c;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:0 1px 1px #ffffffb3 inset,0 -1px 1px #17272f0a inset,0 6px 22px #17272f12,0 1px 3px #17272f0a;transform:translate(-50%);-webkit-user-select:none;user-select:none}.gallery-view-switch .view-btn,.gallery-view-switch button{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:10px 24px;background:transparent;color:var(--gallery-muted);font:650 clamp(13.5px,.95vw,15.5px)/1 "Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;letter-spacing:.03em;cursor:pointer;outline:none;transition:color .25s ease,background-color .25s ease,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease}.gallery-view-switch button:hover{color:var(--gallery-ink)}.gallery-view-switch button[aria-pressed=true],.gallery-view-switch button.is-active{background:#fff;color:var(--gallery-ink);font-weight:600;box-shadow:0 2px 10px #17272f14}.gallery-view-switch button[aria-disabled=true]{cursor:wait;pointer-events:none;opacity:.5}.gallery-view-switch>span{display:none}.social-links{position:fixed;top:clamp(20px,2.2vw,32px);right:clamp(20px,2.6vw,44px);z-index:55;display:flex;align-items:center;gap:6px;padding:5px 7px;border:1px solid var(--gallery-hairline);border-radius:999px;background:#f6f4ef8c;backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:0 1px 1px #ffffffb3 inset,0 -1px 1px #17272f0a inset,0 6px 22px #17272f12,0 1px 3px #17272f0a;transition:opacity .4s ease}.social-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--gallery-ink);opacity:.65;transition:opacity .2s ease,transform .25s cubic-bezier(.22,1,.36,1),background-color .2s ease,color .2s ease,box-shadow .2s ease;text-decoration:none}.social-link svg{width:17px;height:17px;transition:transform .25s cubic-bezier(.22,1,.36,1)}.social-link:after{content:attr(data-label);position:absolute;top:calc(100% + 7px);left:50%;color:var(--gallery-muted);font:400 11px/1 DM Mono,monospace;letter-spacing:.14em;text-transform:lowercase;white-space:nowrap;opacity:0;transform:translate(-50%,-3px);transition:opacity .22s ease,transform .28s cubic-bezier(.22,1,.36,1);pointer-events:none}.social-link:hover,.social-link:focus-visible{opacity:1;color:var(--gallery-coral);background:#ffffffe6;transform:translateY(-2px);box-shadow:0 2px 8px #17272f14;outline:none}.social-link:hover svg,.social-link:focus-visible svg{transform:scale(1.08)}.social-link:hover:after,.social-link:focus-visible:after{opacity:1;transform:translate(-50%)}.social-links:hover .social-link:not(:hover){opacity:.36}@media(hover:none){.social-link:after{display:none}.social-links:hover .social-link:not(:hover){opacity:.65}}.social-links.hidden{opacity:0;pointer-events:none}.gallery-portfolio{position:fixed;bottom:clamp(20px,2.4vw,36px);right:clamp(20px,2.6vw,44px);z-index:55;display:flex;align-items:center;gap:9px;min-width:124px;height:48px;border:1px solid var(--gallery-hairline);border-radius:999px;padding:0 20px 1px 22px;overflow:hidden;background:#f6f4ef8c;color:var(--gallery-ink);font:700 clamp(14px,1vw,16px)/1 "Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;letter-spacing:-.015em;cursor:pointer;-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);box-shadow:0 1px 1px #ffffffb3 inset,0 -1px 1px #17272f0a inset,0 6px 22px #17272f12,0 1px 3px #17272f0a;transition:border-color .3s ease,color .3s ease,transform .35s cubic-bezier(.22,1,.36,1),background-color .3s ease,box-shadow .3s ease}.gallery-portfolio:hover,.gallery-portfolio:focus-visible{border-color:#d85d3861;color:var(--gallery-coral);background:#fff;outline:none;transform:translateY(-2px);box-shadow:0 4px 14px #d85d381f}.gallery-canvas{position:absolute;inset:0;z-index:2;overflow:hidden;outline:none;cursor:grab;touch-action:none;transition:opacity .5s ease,filter .5s ease,transform .6s cubic-bezier(.22,1,.36,1)}.gallery-canvas.has-hover{cursor:pointer}.gallery-canvas.is-dragging{cursor:grabbing}.gallery-canvas.is-opening{opacity:.08;filter:blur(8px);transform:scale(1.02)}.gallery-canvas canvas{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%}.gallery-canvas:after{position:absolute;inset:7px;z-index:3;border:1px solid transparent;border-radius:10px;content:"";pointer-events:none;transition:border-color .25s ease}.gallery-canvas:focus-visible:after{border-color:#d85d3852}.gallery-ambient{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.gallery-ambient:before,.gallery-ambient:after{content:"";position:absolute;top:50%;left:50%;aspect-ratio:1;border-radius:50%;translate:-50% -50%;filter:blur(100px);transition:background-color 1.4s ease;will-change:transform}.gallery-ambient:before{width:min(54vw,720px);background:color-mix(in srgb,var(--scene-accent, #d85d38) 15%,transparent);animation:ambientDriftA 26s ease-in-out infinite alternate}.gallery-ambient:after{width:min(40vw,540px);background:color-mix(in srgb,var(--scene-accent, #d85d38) 8%,transparent);animation:ambientDriftB 34s ease-in-out infinite alternate}@keyframes ambientDriftA{0%{transform:translate(-7%,-5%) scale(1)}to{transform:translate(8%,6%) scale(1.12)}}@keyframes ambientDriftB{0%{transform:translate(9%,7%) scale(1.06)}to{transform:translate(-8%,-6%) scale(.92)}}@media(prefers-reduced-motion:reduce){.gallery-ambient:before,.gallery-ambient:after{animation:none}}.gallery-keyboard-status{position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.gallery-list-view{position:absolute;inset:0;z-index:12;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;padding:98px 0 72px;opacity:0;pointer-events:none;scrollbar-width:none;transform:translateY(0);transition:opacity .34s ease,transform .5s cubic-bezier(.22,1,.36,1)}.gallery-list-view::-webkit-scrollbar{display:none}#gallery-overlay[data-view=list] .gallery-list-view{opacity:1;pointer-events:auto}#gallery-overlay:has(.gallery-canvas.is-mode-transitioning) .gallery-list-view{transform:none;transition:opacity .22s linear}#gallery-overlay:has(.gallery-canvas.is-mode-transitioning) .gallery-list-item{opacity:1;transform:none;transition:none;transition-delay:0ms}.gallery-list-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px 18px;width:min(calc(100vw - 64px),1360px);margin:0 auto}.gallery-list-item{position:relative;display:block;box-sizing:border-box;color:var(--gallery-ink);text-decoration:none;opacity:0;transform:translate(6px,10px);transition:opacity .34s ease,transform .52s cubic-bezier(.22,1,.36,1),filter .45s ease}#gallery-overlay[data-view=list] .gallery-list-item{opacity:1;transform:translate(0);transition-delay:var(--sweep-delay, 0ms)}.gallery-list-media{position:relative;display:block;aspect-ratio:3 / 2;overflow:hidden;border:1px solid rgba(23,39,47,.075);border-radius:13px;background:var(--gallery-paper-deep);transform:translateZ(0);transition:box-shadow .45s ease,transform .6s cubic-bezier(.22,1,.36,1)}#gallery-overlay.has-webgl-grid .gallery-list-media{background:transparent;border-color:transparent}#gallery-overlay.has-webgl-grid .gallery-list-media img{opacity:0}#gallery-overlay.has-webgl-grid .gallery-list-item,#gallery-overlay.has-webgl-grid[data-view=list] .gallery-list-item{transform:none}#gallery-overlay.has-webgl-grid[data-view=list] .gallery-list-item{transition:opacity .26s ease;transition-delay:0ms}.gallery-list-media:after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 54%,rgba(11,20,24,.18));content:"";opacity:0;transition:opacity .4s ease}.gallery-list-media img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.98);transform:scale(1.008);transition:filter .55s ease,transform .85s cubic-bezier(.16,1,.3,1)}.gallery-list-view-label{position:absolute;right:12px;bottom:12px;z-index:2;display:flex;align-items:center;gap:9px;border-radius:999px;padding:8px 11px 8px 12px;background:#f6f4efb8;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 1px 1px #fff9 inset,0 4px 14px #17272f14;color:var(--gallery-ink);font:520 10px/1 Nunito,Avenir Next,Segoe UI,system-ui,sans-serif;letter-spacing:-.01em;opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .48s cubic-bezier(.22,1,.36,1)}.gallery-list-view-label i{color:var(--scene-accent);font-style:normal;transition:transform .4s cubic-bezier(.22,1,.36,1)}.gallery-list-caption{display:grid;align-items:center;min-height:1.35em;margin-top:13px}.gallery-list-title{grid-area:1 / 1;min-width:0;overflow:hidden;color:var(--gallery-ink);font:510 clamp(14px,1.18vw,17px)/1.3 "Nunito","Avenir Next","Segoe UI",system-ui,sans-serif;letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity .3s ease,transform .45s cubic-bezier(.22,1,.36,1)}.gallery-list-item:hover .gallery-list-title,.gallery-list-item:focus-visible .gallery-list-title{opacity:1;transform:translateY(0)}.gallery-list-items:has(.gallery-list-item:hover) .gallery-list-item,.gallery-list-items:has(.gallery-list-item:focus-visible) .gallery-list-item{opacity:.52;transition-delay:0ms}.gallery-list-items:has(.gallery-list-item:hover) .gallery-list-item:hover,.gallery-list-items:has(.gallery-list-item:focus-visible) .gallery-list-item:focus-visible{opacity:1;filter:none;outline:none;transform:translateY(-5px)}.gallery-list-item:hover .gallery-list-media,.gallery-list-item:focus-visible .gallery-list-media{box-shadow:0 0 0 1px color-mix(in srgb,var(--scene-accent) 30%,transparent),0 18px 40px #17272f1c}.gallery-list-item:hover .gallery-list-media:after,.gallery-list-item:focus-visible .gallery-list-media:after{opacity:1}.gallery-list-item:hover .gallery-list-media img,.gallery-list-item:focus-visible .gallery-list-media img{filter:saturate(1.05) contrast(1.01);transform:scale(1.038)}.gallery-list-item:hover .gallery-list-view-label,.gallery-list-item:focus-visible .gallery-list-view-label{opacity:1;transform:translateY(0)}.gallery-list-item:hover .gallery-list-view-label i,.gallery-list-item:focus-visible .gallery-list-view-label i{transform:translate(2px,-2px)}#gallery-overlay[data-view=list] .gallery-canvas{z-index:2;cursor:default;pointer-events:none}#gallery-overlay .gallery-grid{position:fixed;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}@media(min-width:1500px){.gallery-list-items{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:721px)and (max-width:959px){.gallery-list-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 14px;width:calc(100vw - 48px)}.gallery-list-title{font-size:clamp(15px,2.2vw,19px)}}@media(max-width:720px){.intro-stage{padding:20px}.intro-eyebrow{letter-spacing:.18em}.intro-word{width:min(94vw,620px)}#gallery-overlay .brand-mark{top:18px;left:16px}#gallery-overlay .brand-mark .alias{font-size:18px}.gallery-view-switch{top:18px;padding:2px}.gallery-view-switch .view-btn,.gallery-view-switch button{padding:8px 15px;font-size:13px}.social-links{inset:auto auto 20px 16px;padding:3px 5px;gap:2px}.social-link{width:38px;height:38px}.social-link svg{width:16px;height:16px}.gallery-portfolio{bottom:20px;right:20px;height:42px;padding:0 16px;font-size:13.5px}.gallery-list-view{overflow-y:auto;padding:76px 0 52px}.gallery-list-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px;width:calc(100vw - 28px);margin:0 14px}.gallery-list-item{transform:translateY(16px)}.gallery-list-media{border-radius:9px}.gallery-list-caption{grid-template-columns:18px minmax(0,1fr);align-items:start;gap:6px;margin-top:9px}.gallery-list-title{display:-webkit-box;height:2.16em;overflow:hidden;font-size:clamp(12px,3.65vw,15px);line-height:1.08;letter-spacing:-.025em;white-space:normal;opacity:1;transform:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.gallery-list-view-label{display:none}.gallery-list-caption{display:flex;align-items:baseline;gap:7px;margin-top:9px}.gallery-list-items:has(.gallery-list-item:hover) .gallery-list-item,.gallery-list-items:has(.gallery-list-item:focus-visible) .gallery-list-item{opacity:1;filter:none}}@media(prefers-reduced-motion:reduce){.gallery-list-item,.gallery-list-media,.gallery-list-media img,.gallery-list-view-label,.gallery-list-title,.gallery-canvas,.gallery-view-switch button,.gallery-portfolio{transition-duration:.01ms!important}}.scene-veil{position:fixed;inset:0;z-index:4000;background:var(--gallery-paper);opacity:0;pointer-events:none;visibility:hidden}
