.lightbox{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:clamp(var(--s-4),5vw,var(--s-8));background:#040406db;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:lightbox-in var(--d-base) var(--ease);cursor:zoom-out}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:var(--r-lg);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);cursor:default;animation:lightbox-rise var(--d-slow) var(--ease)}@keyframes lightbox-rise{0%{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:none}}.lightbox-close{position:absolute;top:clamp(var(--s-3),3vw,var(--s-5));right:clamp(var(--s-3),3vw,var(--s-5));display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--surface);border:1px solid var(--border-strong);color:var(--text-muted);transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease)}.lightbox-close:hover{color:var(--text);background:var(--surface-hover)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.project-media-btn{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}@media(prefers-reduced-motion:reduce){.lightbox,.lightbox-img{animation:none}}:root[data-route=ink]{--ink: #16130f;--ink-soft: #3a342b;--ink-mute: #8a8272;--paper: #e7e2d7;--paper-card: #f5f2ea;--paper-deep: #dad3c4;--seal: #8e2420;--ink-shadow: rgba(22, 19, 15, .14);--ink-ease: cubic-bezier(.16, 1, .3, 1);--serif: "Cormorant Garamond", Georgia, serif;--grotesk: "Space Grotesk", system-ui, sans-serif;--typewriter: "Space Mono", ui-monospace, monospace;color-scheme:light;scroll-padding-top:96px;scrollbar-color:#3a352c #12100c}:root[data-route=ink] body{background:var(--paper);color:var(--ink);font-family:var(--grotesk)}:root[data-route=ink] ::selection{background:#a9782e;color:#f2eee5}.ink{position:relative;min-height:100vh;background-color:var(--paper);background-image:radial-gradient(rgba(22,19,15,.05) 1px,transparent 1px);background-size:4px 4px;overflow-x:hidden}.ink .reveal{transform:translateY(20px);transition:opacity .85s var(--ink-ease),transform .85s var(--ink-ease);transition-delay:var(--reveal-delay, 0ms)}.ink .reveal[data-visible=true]{transform:none}.ink em{font-style:italic;color:var(--seal)}.ink-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--seal);transform:scaleX(0);transform-origin:left;z-index:60}.ink-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:22px 5vw}.ink-brand{display:flex;align-items:center;gap:10px}.ink-monogram{display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;font-family:var(--serif);font-weight:700;font-size:17px}.ink-brand-name{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1}.ink-brand-name span{font-size:12px;letter-spacing:.04em}.ink-header-links{display:flex;gap:10px}.ink-btn{display:inline-block;padding:9px 16px;border:2px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--typewriter);font-size:11px;letter-spacing:.16em;transition:transform .25s var(--ink-ease),box-shadow .25s var(--ink-ease)}.ink-btn:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink-shadow)}.ink-btn-ghost{background:transparent;color:var(--ink)}.ink-btn-lg{padding:15px 24px;font-size:12px;letter-spacing:.04em}.ink-eyebrow{margin-bottom:12px;font-family:var(--typewriter);font-size:10px;letter-spacing:.24em;color:var(--seal)}.ink-head{text-align:center;margin-bottom:52px}.ink-head h2{font-family:var(--serif);font-size:clamp(32px,5vw,60px);font-weight:700;line-height:1.1}.ink-section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 5vw}.ink-card{background:var(--paper-card);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink-shadow)}.ink-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 5vw 80px;overflow:hidden}.ink-stroke{position:absolute;opacity:.5;fill:none;stroke:var(--ink)}.ink-stroke-a{top:14%;left:8%;width:150px}.ink-stroke-b{bottom:16%;right:9%;width:130px}.ink-kicker{display:inline-flex;align-items:center;gap:12px;margin-bottom:26px;font-family:var(--typewriter);font-size:11px;letter-spacing:.3em;text-transform:uppercase}.ink-rule{width:34px;height:2px;background:var(--seal)}.ink-title{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-weight:700;font-size:clamp(44px,8.6vw,136px);line-height:.9}.ink-title-the{display:inline-flex;align-items:center;gap:.4em;margin-bottom:.18em;font-size:.34em;font-style:italic;font-weight:500;letter-spacing:.02em;color:var(--ink-soft)}.ink-title-dash{width:1.6em;height:1px;background:var(--ink)}.ink-title-name{white-space:nowrap;letter-spacing:.01em}.ink-title-tail{margin-top:.02em;font-size:1.12em;font-weight:600;letter-spacing:-.01em;text-transform:none}.ink-lede{max-width:600px;margin:34px auto 0;font-family:var(--serif);font-size:clamp(20px,2.6vw,30px);line-height:1.35;color:var(--ink-soft)}.ink-scroll{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-top:clamp(28px,6vh,56px);color:var(--ink);text-decoration:none;font-family:var(--typewriter);font-size:10px;letter-spacing:.3em}.ink-scroll-ring{display:grid;place-items:center;width:40px;height:40px;border:1.5px solid var(--ink);border-radius:50%;background:var(--paper-card);box-shadow:3px 3px 0 var(--seal);transition:transform .2s var(--ink-ease),box-shadow .2s var(--ink-ease)}.ink-scroll-ring svg{animation:ink-bob 1.8s ease-in-out infinite}.ink-scroll:hover .ink-scroll-ring{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--seal)}@keyframes ink-bob{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.ink-scroll-ring svg{animation:none}}.ink-about{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 5vw}.ink-about-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1200px;width:100%}.ink-about-note{position:relative;z-index:3;padding:22px 24px}.ink-about-note p{font-size:14px;line-height:1.6;text-transform:uppercase;letter-spacing:.02em}.ink-about-note .ink-eyebrow{margin-bottom:10px;letter-spacing:.2em}.ink-about-note-a{justify-self:end;max-width:360px;margin-right:-40px}.ink-about-note-b{justify-self:start;align-self:end;max-width:340px;margin-left:-40px;margin-bottom:60px}.ink-portrait{position:relative;width:min(400px,64vw);aspect-ratio:3 / 4;border:2px solid var(--ink);background:var(--paper-deep);box-shadow:0 0 0 8px var(--paper),10px 10px #16130f1a;overflow:hidden}.ink-portrait img{width:100%;height:100%;object-fit:cover}.ink-portrait-empty,.ink-frame-empty{display:grid;place-items:center;height:100%;font-family:var(--serif);font-size:96px;color:#16130f33}.ink-chapter{margin:0 0 56px;text-align:center;font-family:var(--serif);font-size:clamp(34px,6vw,72px);font-weight:700}.ink-rows{display:flex;flex-direction:column;max-width:940px;width:100%;margin:0 auto;border-bottom:2px solid var(--ink)}.ink-row{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:32px 0;border-top:2px solid var(--ink)}.ink-row-period{font-family:var(--typewriter);font-size:12px;letter-spacing:.06em;color:var(--seal)}.ink-row h3{margin-bottom:4px;font-family:var(--serif);font-size:clamp(24px,3vw,36px);font-weight:700;line-height:1.15}.ink-row p{max-width:560px;line-height:1.7;color:var(--ink-soft)}.ink-artifacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:36px;max-width:1160px;width:100%;margin:0 auto}.ink-frame{position:relative;aspect-ratio:4 / 3;margin-bottom:18px;border:2px solid var(--ink);background:var(--paper-deep);box-shadow:6px 6px #16130f1f;overflow:hidden}.ink-frame img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s var(--ink-ease)}.ink-artifact:hover .ink-frame img{transform:scale(1.03)}.ink-skeleton{animation:ink-pulse 1.4s ease-in-out infinite}@keyframes ink-pulse{50%{opacity:.55}}.ink-artifact h3{margin-bottom:6px;font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.15}.ink-artifact h3 a:hover{color:var(--seal)}.ink-frame-btn{display:block;width:100%;height:100%;padding:0;cursor:zoom-in}.ink-desc{margin-bottom:12px}.ink-desc p{font-size:14px;line-height:1.6;color:var(--ink-soft)}.ink-desc p.is-clamped{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.ink-desc-more{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:0 0 2px;font-family:var(--typewriter);font-size:10px;letter-spacing:.18em;color:var(--ink);border-bottom:1px solid transparent;transition:border-color .25s var(--ink-ease)}.ink-desc-more:hover{border-color:var(--ink)}.ink-desc-sign{position:relative;width:9px;height:9px;transition:transform .4s var(--ink-ease)}.ink-desc-sign:before,.ink-desc-sign:after{content:"";position:absolute;inset:4px 0 auto;height:1px;background:var(--seal)}.ink-desc-sign:after{transform:rotate(90deg)}.ink-desc-more:hover .ink-desc-sign{transform:rotate(90deg)}.ink-dossier{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:clamp(16px,5vw,56px);background:#e7e2d7e0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ink-wash-in .35s var(--ink-ease) both;cursor:zoom-out}.ink-dossier-frame{position:relative;width:min(720px,100%);max-height:calc(100dvh - (2*clamp(16px,5vw,56px)));display:flex;cursor:default;animation:ink-card-in .55s var(--ink-ease) both}.ink-dossier.is-leaving .ink-dossier-frame{animation:ink-card-out .26s ease-in both}.ink-dossier-card{position:relative;width:100%;min-height:0;scrollbar-width:thin;scrollbar-color:var(--ink) transparent;overflow-y:auto;padding:clamp(28px,4vw,48px);background-color:var(--paper-card);background-image:radial-gradient(rgba(22,19,15,.04) 1px,transparent 1px);background-size:4px 4px;border:2px solid var(--ink);box-shadow:10px 10px 0 var(--ink-shadow);overscroll-behavior:contain}.ink-dossier.is-leaving{animation:ink-wash-out .26s ease-in both}@keyframes ink-wash-in{0%{opacity:0}}@keyframes ink-wash-out{to{opacity:0}}@keyframes ink-card-in{0%{opacity:0;transform:translateY(18px);box-shadow:0 0 0 var(--ink-shadow)}}@keyframes ink-card-out{to{opacity:0;transform:translateY(10px)}}.ink-dossier-close{position:absolute;z-index:2;top:16px;right:20px;display:grid;place-items:center;width:36px;height:36px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);transition:background .2s var(--ink-ease),border-color .2s var(--ink-ease)}.ink-dossier-close:hover{background:var(--seal);border-color:var(--seal)}.ink-dossier-title{max-width:90%;font-family:var(--serif);font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.05}.ink-dossier-rule{display:block;width:48px;height:2px;margin:20px 0 22px;background:var(--seal)}.ink-dossier-body p{font-size:15px;line-height:1.75;color:var(--ink-soft)}.ink-dossier-body p+p{margin-top:14px}.ink-dossier-tech{margin-top:26px}.ink-dossier-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}@media(prefers-reduced-motion:reduce){.ink-dossier,.ink-dossier-frame{animation:none}}.ink .lightbox{background:#e7e2d7e6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ink .lightbox-img{border:2px solid var(--ink);border-radius:0;box-shadow:10px 10px 0 var(--ink-shadow)}.ink .lightbox-close{border-radius:0;background:var(--ink);border:2px solid var(--ink);color:var(--paper)}.ink .lightbox-close:hover{background:var(--seal);border-color:var(--seal);color:var(--paper)}.ink-tech{font-family:var(--typewriter);font-size:11px;letter-spacing:.06em;color:var(--seal)}.ink-mark h4{margin-bottom:6px;font-family:var(--serif);font-size:22px;font-weight:700}.ink-skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:40px;max-width:1080px;width:100%;margin:0 auto}.ink-skill-label{margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--ink);font-family:var(--typewriter);font-size:11px;letter-spacing:.14em;color:var(--seal)}.ink-chips{display:flex;flex-wrap:wrap;gap:9px}.ink-chip{padding:8px 14px;border:2px solid var(--ink);background:var(--paper);font-size:13px;box-shadow:3px 3px #16130f1f}.ink-marks{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;max-width:1080px;width:100%;margin:0 auto}.ink-mark{padding:30px;border:2px dashed var(--ink);background:var(--paper-card)}.ink-mark p{line-height:1.6;color:var(--ink-soft)}.ink-mark-tag{margin-bottom:12px;font-family:var(--typewriter);font-size:10px;letter-spacing:.14em;color:var(--seal)}.ink-contact{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 5vw 90px}.ink-contact .ink-eyebrow{margin-bottom:22px}.ink-sign{margin-bottom:44px;font-family:var(--serif);font-size:clamp(46px,9vw,120px);font-weight:700;line-height:.9}.ink-contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.ink-colophon{margin-top:70px;font-family:var(--typewriter);font-size:11px;letter-spacing:.08em;color:var(--ink-mute)}@media(max-width:760px){.ink-header{padding:16px}.ink-header-links .ink-btn-ghost{display:none}.ink-section,.ink-about,.ink-contact{padding-inline:16px}.ink-about-grid{grid-template-columns:1fr;justify-items:center;gap:24px}.ink-about-note-a,.ink-about-note-b{justify-self:stretch;max-width:none;margin:0}.ink-about-note-a{order:2}.ink-about-note-b{order:3}.ink-row{grid-template-columns:1fr;gap:8px}.ink-artifacts{grid-template-columns:1fr}.ink-stroke{display:none}.ink-kicker{gap:8px;font-size:9px;letter-spacing:.14em}.ink-kicker .ink-rule{width:18px;flex:none}.ink-title-name{white-space:normal;text-wrap:balance}}.ink .ask-fab{background:var(--ink);color:var(--paper-card);border:1.5px solid var(--ink);border-radius:0;font-family:var(--typewriter);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;box-shadow:4px 4px 0 var(--seal)}.ink .ask-fab:hover{box-shadow:6px 6px 0 var(--seal)}.ink .ask-fab:active{box-shadow:2px 2px 0 var(--seal)}.ink .ask-panel{background:var(--paper-card);border:1.5px solid var(--ink);border-radius:0;color:var(--ink);box-shadow:6px 6px 0 var(--ink-shadow),6px 6px 0 1.5px var(--ink);backdrop-filter:none}.ink .ask-head{border-bottom:1.5px solid var(--ink)}.ink .ask-title{font-family:var(--serif);font-size:22px;font-weight:600}.ink .ask-note{font-family:var(--typewriter);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.ink .ask-close{color:var(--ink-soft);border-radius:0}.ink .ask-close:hover{color:var(--seal)}.ink .ask-msg{border-radius:0;font-family:var(--grotesk);font-size:13.5px}.ink .ask-bot{background:var(--paper);border:1px solid var(--ink-mute);color:var(--ink-soft)}.ink .ask-bot[data-error]{border-color:var(--seal);color:var(--seal)}.ink .ask-user{background:var(--ink);border:1px solid var(--ink);color:var(--paper-card)}.ink .ask-typing span{background:var(--ink-mute)}.ink .ask-form{border-top:1.5px solid var(--ink)}.ink .ask-input{background:var(--paper);border:1.5px solid var(--ink);border-radius:0;color:var(--ink);font-family:var(--grotesk)}.ink .ask-input:focus{outline:none;border-color:var(--seal)}.ink .ask-send{background:var(--seal);color:var(--paper-card);border-radius:0}.ink .ask-link{color:var(--seal)}.ink .ask-link:hover{color:var(--ink)}.ask-fab{--fab-h: 46px;--fab-gap: calc(clamp(var(--s-4), 3vw, var(--s-6)) + env(safe-area-inset-bottom, 0px)) ;position:fixed;right:clamp(var(--s-4),3vw,var(--s-6));bottom:var(--fab-gap);z-index:300;transform:translateZ(0);backface-visibility:hidden;display:inline-flex;align-items:center;gap:var(--s-2);height:46px;padding-inline:var(--s-5);border-radius:var(--r-pill);background:var(--gradient-accent);color:#0a0a0c;font-size:var(--t-sm);font-weight:620;box-shadow:var(--shadow-lg),0 0 34px #6e7bff52;transition:transform var(--d-fast) var(--ease),box-shadow var(--d-base) var(--ease)}.ask-fab:hover{transform:translateZ(0) translateY(-2px);box-shadow:var(--shadow-lg),0 0 46px #6e7bff75}.ask-fab:active{transform:translateZ(0) scale(.97)}.ask-panel{position:fixed;right:clamp(var(--s-4),3vw,var(--s-6));bottom:calc(clamp(var(--s-4),3vw,var(--s-6)) + 58px + env(safe-area-inset-bottom,0px));z-index:301;width:min(380px,calc(100vw - var(--s-6)));max-height:min(520px,calc(100vh - 140px));display:flex;flex-direction:column;border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;animation:ask-in var(--d-base) var(--ease)}@keyframes ask-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.ask-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);border-bottom:1px solid var(--border)}.ask-title{display:block;font-size:var(--t-sm);font-weight:620}.ask-note{display:block;margin-top:2px;font-size:var(--t-micro);color:var(--text-dim)}.ask-close{color:var(--text-dim);padding:4px;border-radius:var(--r-xs);transition:color var(--d-fast) var(--ease)}.ask-close:hover{color:var(--text)}.ask-feed{flex:1;overflow-y:auto;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.ask-msg{max-width:92%;padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--t-sm);line-height:1.55;white-space:pre-wrap}.ask-bot{align-self:flex-start;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-bottom-left-radius:var(--r-xs)}.ask-bot[data-error]{border-color:#e86a8a66;color:var(--rose)}.ask-user{align-self:flex-end;background:var(--iris-soft);border:1px solid rgba(110,123,255,.3);color:var(--text);border-bottom-right-radius:var(--r-xs)}.ask-typing{display:flex;gap:5px;align-items:center;padding-block:var(--s-4)}.ask-typing span{width:6px;height:6px;border-radius:50%;background:var(--text-dim);animation:ask-blink 1.3s var(--ease-soft) infinite}.ask-typing span:nth-child(2){animation-delay:.18s}.ask-typing span:nth-child(3){animation-delay:.36s}@keyframes ask-blink{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.ask-form{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-4) var(--s-4);border-top:1px solid var(--border)}.ask-input{flex:1;min-width:0;height:38px;padding-inline:var(--s-3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--border);color:var(--text);font-size:var(--t-sm)}.ask-input:focus{outline:none;border-color:var(--iris)}.ask-input:disabled{opacity:.6}.ask-send{display:grid;place-items:center;width:38px;height:38px;border-radius:var(--r-sm);background:var(--gradient-accent);color:#0a0a0c;flex-shrink:0;transition:opacity var(--d-fast) var(--ease)}.ask-send:disabled{opacity:.4;cursor:not-allowed}@supports (height: 100svh){.ask-fab{bottom:calc(100lvh - 100svh + var(--fab-gap))}.ask-panel{bottom:calc(100lvh - 100svh + clamp(var(--s-4),3vw,var(--s-6)) + 58px + env(safe-area-inset-bottom,0px));max-height:min(520px,calc(100svh - 140px))}}@media(max-width:480px){.ask-fab{--fab-h: 42px;height:var(--fab-h);padding-inline:var(--s-4);font-size:var(--t-xs);gap:6px}.ask-panel{right:var(--s-3);left:var(--s-3);width:auto}}@media(prefers-reduced-motion:reduce){.ask-panel{animation:none}.ask-typing span{animation:none;opacity:.5}}.ask-link{color:var(--iris);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.ask-link:hover{color:var(--text)}.stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--s-4)}.stack-group{display:flex;flex-direction:column;gap:var(--s-4);padding:var(--s-5);height:100%}.stack-group:hover{background:var(--surface-hover);border-color:var(--border-strong)}.stack-list{display:flex;flex-direction:column;gap:var(--s-3)}.stack-item{display:grid;grid-template-columns:1fr 72px;align-items:center;gap:var(--s-3)}.stack-name{font-size:var(--t-sm);color:var(--text)}.stack-meter{height:4px;border-radius:var(--r-pill);background:#ffffff12;overflow:hidden}.stack-meter-fill{display:block;height:100%;width:var(--level, 0%);border-radius:inherit;background:var(--gradient-accent);transition:width var(--d-slow) var(--ease)}.contact{--accent: var(--iris);padding:clamp(var(--s-6),6vw,var(--s-9)) var(--s-5);border-radius:var(--r-2xl);background:radial-gradient(90% 130% at 50% 0%,var(--iris-soft),transparent 62%),var(--surface);overflow:hidden}.contact.gradient-border:before{opacity:.5}.contact.gradient-border:hover:before{opacity:.85}.contact-inner{display:flex;flex-direction:column;align-items:center;gap:var(--s-4);text-align:center;max-width:620px;margin-inline:auto}.contact-title{max-width:16ch}.contact-lead{max-width:44ch}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s-3);margin-top:var(--s-3)}.contact-socials{display:flex;gap:var(--s-2);margin-top:var(--s-4)}.contact-social{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);transition:color var(--d-fast) var(--ease),background var(--d-fast) var(--ease),transform var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease)}.contact-social:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-strong);transform:translateY(-2px)}.footer{border-top:1px solid var(--border);padding-block:var(--s-6);margin-top:var(--s-7)}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4)}.footer-meta{display:flex;flex-direction:column;gap:2px}.footer-name{font-size:var(--t-sm);font-weight:560}.footer-copy{font-size:var(--t-xs);color:var(--text-dim)}.footer-socials{display:flex;flex-wrap:wrap;gap:var(--s-4)}.footer-social{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--text-dim);transition:color var(--d-fast) var(--ease)}.footer-social:hover{color:var(--text)}.error-banner{position:fixed;left:50%;bottom:var(--s-5);translate:-50% 0;z-index:200;display:flex;align-items:center;gap:var(--s-3);max-width:calc(100vw - var(--s-6));padding:var(--s-3) var(--s-3) var(--s-3) var(--s-4);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);font-size:var(--t-sm);animation:banner-in var(--d-base) var(--ease)}@keyframes banner-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.error-banner-text{color:var(--text-muted)}.error-banner-detail{color:var(--text-dim)}@media(max-width:560px){.error-banner-detail{display:none}}:root{--bg: #08080A;--bg-elevated: #0D0D10;--bg-raised: #131318;--surface: rgba(255, 255, 255, .026);--surface-hover: rgba(255, 255, 255, .045);--glass: rgba(14, 14, 18, .62);--glass-blur: 20px;--border: rgba(255, 255, 255, .075);--border-strong: rgba(255, 255, 255, .14);--text: #F5F5F7;--text-muted: #9A9AA5;--text-dim: #6E6E7A;--iris: #6E7BFF;--violet: #A78BFA;--mint: #63D2C3;--amber: #F5B45C;--rose: #E86A8A;--iris-soft: rgba(110, 123, 255, .14);--violet-soft: rgba(167, 139, 250, .12);--mint-soft: rgba(99, 210, 195, .12);--amber-soft: rgba(245, 180, 92, .12);--gradient-accent: linear-gradient(110deg, var(--iris), var(--violet) 48%, var(--mint));--gradient-text: linear-gradient(180deg, #FFFFFF 30%, rgba(245, 245, 247, .62));--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 20px;--r-xl: 24px;--r-2xl: 32px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--s-11: 180px;--font-sans: "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--t-display: clamp(2.75rem, 7.4vw, 6.5rem);--t-h1: clamp(2.25rem, 4.6vw, 3.75rem);--t-h2: clamp(1.75rem, 3.2vw, 2.75rem);--t-h3: clamp(1.25rem, 1.9vw, 1.6rem);--t-lead: clamp(1.0625rem, 1.35vw, 1.3125rem);--t-body: 1rem;--t-sm: .875rem;--t-xs: .8125rem;--t-micro: .6875rem;--ease: cubic-bezier(.16, 1, .3, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--d-fast: .18s;--d-base: .28s;--d-slow: .6s;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .34), 0 1px 2px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .46), 0 2px 8px rgba(0, 0, 0, .34);--shadow-glow: 0 0 64px rgba(110, 123, 255, .14);--max-w: 1180px;--gutter: clamp(20px, 5vw, 48px);--nav-h: 68px}[data-accent=iris]{--accent: var(--iris);--accent-soft: var(--iris-soft)}[data-accent=violet]{--accent: var(--violet);--accent-soft: var(--violet-soft)}[data-accent=mint]{--accent: var(--mint);--accent-soft: var(--mint-soft)}[data-accent=amber]{--accent: var(--amber);--accent-soft: var(--amber-soft)}[data-accent=rose]{--accent: var(--rose);--accent-soft: rgba(232, 106, 138, .12)}@media(prefers-reduced-motion:reduce){:root{--d-fast: 1ms;--d-base: 1ms;--d-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + var(--s-5))}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--t-body);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis-weight:none;text-rendering:optimizeLegibility;overflow-x:hidden}img,svg,video{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}:focus-visible{outline:2px solid var(--iris);outline-offset:3px;border-radius:var(--r-xs)}::selection{background:#6e7bff4d;color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--r-pill);border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:#ffffff38}h1,h2,h3,h4{font-weight:600;line-height:1.06;letter-spacing:-.03em;text-wrap:balance}p{text-wrap:pretty}.display{font-size:var(--t-display);font-weight:620;letter-spacing:-.045em;line-height:.98;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;color:transparent}.h2{font-size:var(--t-h2)}.h3{font-size:var(--t-h3)}.lead{font-size:var(--t-lead);color:var(--text-muted);line-height:1.55;letter-spacing:-.011em}.eyebrow{font-size:var(--t-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}.mono{font-family:var(--font-mono);font-size:var(--t-xs)}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(72px,11vw,160px)}.section-head{display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-8);max-width:640px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);transition:background var(--d-base) var(--ease),border-color var(--d-base) var(--ease),transform var(--d-base) var(--ease)}.glass{background:var(--glass);backdrop-filter:blur(var(--glass-blur)) saturate(160%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);border:1px solid var(--border)}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:var(--gradient-accent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--d-base) var(--ease);pointer-events:none}.gradient-border:hover:before,.gradient-border:focus-within:before{opacity:.75}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:48px;padding-inline:var(--s-5);border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:550;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;transition:transform var(--d-fast) var(--ease),background var(--d-fast) var(--ease),border-color var(--d-fast) var(--ease),box-shadow var(--d-base) var(--ease)}.btn:active{transform:scale(.975)}.btn-primary{background:var(--text);color:#0a0a0c;font-weight:600}.btn-primary:hover{box-shadow:0 8px 30px #ffffff1f;transform:translateY(-1px)}.btn-secondary{background:var(--surface);border:1px solid var(--border-strong);color:var(--text)}.btn-secondary:hover{background:var(--surface-hover);border-color:#ffffff3d;transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);height:38px;padding-inline:var(--s-3)}.btn-ghost:hover{color:var(--text)}.ripple{position:absolute;border-radius:50%;transform:scale(0);background:currentColor;opacity:.22;pointer-events:none;animation:ripple .62s var(--ease) forwards}@keyframes ripple{to{transform:scale(2.6);opacity:0}}.pill{display:inline-flex;align-items:center;gap:var(--s-2);height:28px;padding-inline:var(--s-3);border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:var(--t-xs);color:var(--text-muted);white-space:nowrap}.dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.dot[data-state=operational],.dot[data-state=ready]{background:var(--mint)}.dot[data-state=building],.dot[data-state=degraded]{background:var(--amber)}.dot[data-state=error],.dot[data-state=down]{background:var(--rose)}.dot-pulse{position:relative}.dot-pulse:after{content:"";position:absolute;inset:-3px;border-radius:50%;background:inherit;opacity:.4;animation:pulse 2.4s var(--ease-soft) infinite}@keyframes pulse{0%{transform:scale(1);opacity:.4}70%{transform:scale(2.4);opacity:0}to{transform:scale(2.4);opacity:0}}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--d-slow) var(--ease),transform var(--d-slow) var(--ease);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal[data-visible=true]{opacity:1;transform:none;will-change:auto}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}:root[data-route=world]{--w-ink: #171614;--w-paper: #efece5;--w-warm: #d8b981;--w-meta: .6875rem;--w-track: .22em;--w-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--w-ease: cubic-bezier(.16, 1, .3, 1);background:#e5eef7;scrollbar-width:none}:root[data-route=world]::-webkit-scrollbar{display:none}:root[data-route=world] body{background:#e5eef7}.w-work{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:0;font-family:var(--w-mono);color:#1f262b}.w-work.is-live a{pointer-events:auto}.w-work-col{width:min(34rem,100%);box-sizing:border-box;margin:0 auto;padding:clamp(96px,18vh,170px) clamp(16px,2.4vw,34px) 160px;font-size:.8rem;line-height:1.65;will-change:transform}.w-work-rule{margin:2.2em 0 .8em;font-size:.72rem;letter-spacing:.08em;color:#3f485599}.w-work-rule:first-child{margin-top:0}.w-work-intro{margin:0;font-size:var(--w-meta);letter-spacing:var(--w-track);text-transform:uppercase;color:#1f262b99}.w-work-item{margin-top:3rem;padding-top:2.4rem;border-top:1px solid rgba(63,72,85,.2)}.w-work-code{margin:0 0 .6em;font-size:.66rem;letter-spacing:.22em;color:#3f48559e}.w-work-title{margin:0;min-height:1.2em;font:700 clamp(1.05rem,2vw,1.4rem) / 1.2 var(--w-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--w-ink);overflow-wrap:anywhere}.w-work-lead{margin:1.2em 0 0;font-size:.92rem;line-height:1.65;color:var(--w-ink)}.w-work-body{margin:.9em 0 0;white-space:pre-line;font-size:.84rem;line-height:1.72;color:#1f262be0}.w-work-tech{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;margin:0;padding:0;list-style:none;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.w-work-shot{display:block;width:100%;height:auto;margin-top:1.8em;border:1px solid rgba(63,72,85,.2)}.w-work-links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:0}.w-work-links a{color:var(--w-ink);font-weight:600;text-decoration:none}.w-work-links a:hover,.w-work-links a:focus-visible{text-decoration:underline}.w-work-empty{margin:2rem 0 0;color:#1f262b99}.w-hint.is-away{visibility:hidden}.w-work .w-readout,.w-work .w-water-hint{transition:opacity .32s ease}.w-work.is-leaving .w-readout,.w-work.is-leaving .w-water-hint{opacity:0}.w-rings{position:fixed;inset:0;z-index:1;visibility:hidden;pointer-events:none;font-family:var(--w-mono);color:var(--w-ink)}.w-rings.is-cutting{visibility:visible}.w-rings,.w-hud{-webkit-user-select:none;user-select:none}.w-rings-stage{position:absolute;inset:0}.w-rings-stage canvas{pointer-events:none}.w-rings-hud{position:absolute;left:50%;bottom:clamp(72px,13vh,130px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transition:opacity .6s ease;text-transform:uppercase;letter-spacing:var(--w-track);font-size:var(--w-meta);white-space:nowrap}.w-rings.is-room .w-rings-hud{opacity:1;pointer-events:auto}.w-rings-eyebrow,.w-rings-count{margin:0;opacity:.55}.w-rings-switch{display:flex;align-items:center;gap:clamp(20px,6vw,72px)}.w-rings-arrow{padding:8px 10px;border:0;background:none;color:inherit;font:inherit;font-size:1.2rem;cursor:pointer;opacity:.6;transition:opacity .2s ease,transform .2s ease}.w-rings-arrow:hover,.w-rings-arrow:focus-visible{opacity:1}.w-rings-arrow.is-prev:hover{transform:translate(-3px)}.w-rings-arrow.is-next:hover{transform:translate(3px)}.w-rings-link{min-width:9ch;padding:10px 20px;color:inherit;font-weight:600;text-align:center;text-decoration:none;background:linear-gradient(currentColor,currentColor) top left / 9px 1px no-repeat,linear-gradient(currentColor,currentColor) top left / 1px 9px no-repeat,linear-gradient(currentColor,currentColor) top right / 9px 1px no-repeat,linear-gradient(currentColor,currentColor) top right / 1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom left / 9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom left / 1px 9px no-repeat,linear-gradient(currentColor,currentColor) bottom right / 9px 1px no-repeat,linear-gradient(currentColor,currentColor) bottom right / 1px 9px no-repeat;transition:letter-spacing .26s ease}.w-rings-link:hover,.w-rings-link:focus-visible{letter-spacing:.18em}.w-rings-hud{left:0;right:0;transform:none}.w-rings.is-room .w-rings-hud{pointer-events:none}.w-rings.is-room .w-rings-hud a,.w-rings.is-room .w-rings-hud button{pointer-events:auto}.w-rings-switch{gap:clamp(18px,3vw,44px)}.w-rings-side{min-width:9ch;text-align:center;font-size:.92em;opacity:.32}.w-rings-arrow{position:fixed;top:46%;padding:14px 10px;font-size:inherit;opacity:.7}.w-rings-arrow.is-prev{left:max(16px,calc(50% - min(30vw,420px)))}.w-rings-arrow.is-next{right:max(16px,calc(50% - min(30vw,420px)))}.w-rings-line{position:relative;display:block;width:clamp(40px,5vw,72px);height:1px;background:currentColor}.w-rings-line:after{content:"";position:absolute;top:-3px;width:7px;height:7px;border-top:1px solid currentColor}.w-rings-arrow.is-prev .w-rings-line:after{left:0;border-left:1px solid currentColor;transform:rotate(-45deg)}.w-rings-arrow.is-next .w-rings-line:after{right:0;border-right:1px solid currentColor;transform:rotate(45deg)}@media(max-width:600px){.w-rings-side{display:none}}.w-rings-hud{bottom:clamp(36px,7vh,84px);color:#3f4954}.w-rings-link{font-weight:500;font-size:1.06em;letter-spacing:.26em;transition:letter-spacing .32s var(--w-ease, ease),color .32s ease}.w-rings-link:hover,.w-rings-link:focus-visible{letter-spacing:.34em}.w-rings-side{opacity:.45;font-size:.82em;letter-spacing:.3em}.w-rings-arrow{display:inline-flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:#3f4954}.w-stage{position:fixed;inset:0;width:100vw;height:100svh;z-index:0}.w-canvas{display:block;touch-action:pan-y;outline:none}.w-annotation-wrap,.w-measure-wrap{pointer-events:none}.w-node{display:inline-flex;align-items:center;gap:4px;position:relative;font-family:var(--w-mono);font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.9),0 2px 6px rgba(0,0,0,.9);pointer-events:none;opacity:0;transform:translate(-50%,-50%);white-space:nowrap}.w-node-cross{display:inline-block;font-size:.82rem;font-weight:400;color:#fff;opacity:.95;line-height:1}.w-node-value{display:inline-block;white-space:nowrap;font-size:.72rem;font-weight:700;color:#fff}.w-measure{display:block;padding:2px 6px;white-space:nowrap;font-family:var(--w-mono);font-size:.5625rem;font-weight:700;letter-spacing:.12em;color:#1f262b;background:#e2e8edd6;opacity:0;transition:none}.w-annotation{display:flex;flex-direction:column;gap:2px;padding:5px 9px;border-left:1px solid rgba(23,22,20,.45);white-space:nowrap;font-family:var(--w-mono);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--w-ink);animation:w-annotation-in .26s var(--w-ease) both}.w-annotation-code{opacity:.45;font-size:.5625rem}.w-annotation-value{font-weight:700}@keyframes w-annotation-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.w-annotation{animation:none}}.w-hud{position:fixed;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,2.4vw,34px);pointer-events:none;font-family:var(--w-mono);color:var(--w-ink);text-transform:uppercase;letter-spacing:var(--w-track);font-size:var(--w-meta);font-weight:500}.w-hud:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 34% 20% at 0% 0%,rgba(34,46,64,.18),transparent 72%),radial-gradient(ellipse 26% 16% at 100% 0%,rgba(34,46,64,.12),transparent 72%),radial-gradient(ellipse 30% 16% at 0% 100%,rgba(34,46,64,.14),transparent 72%)}.w-hud>*{pointer-events:none}.w-hud a,.w-hud button{pointer-events:auto}.w-hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.w-hud-brand{display:flex;flex-direction:column;gap:4px}.w-glass{position:relative;display:inline-flex;align-items:center;padding:10px 16px;color:var(--w-ink);text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:none}.w-glass-frost{position:absolute;-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);pointer-events:none}.w-glass-shape{position:absolute;overflow:visible;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(40,60,90,.16))}.w-glass-pane{fill:url(#w-glass-fill);stroke:url(#w-glass-rim);stroke-width:1}.w-glass-sheen{fill:#fff;opacity:0;transition:opacity .26s ease}.w-glass:hover .w-glass-sheen{opacity:.16}.w-glass-label{position:relative;z-index:1;display:inline-flex;gap:8px}@media(max-width:480px){.w-glass{padding:8px 13px}}.w-glass:focus-visible{outline:1px solid var(--w-ink);outline-offset:3px}@media(prefers-reduced-motion:reduce){.w-glass{transition:none}.w-glass:hover{transform:none}}.w-mark{margin:0;font-size:clamp(.8rem,1.1vw,1rem);font-weight:700;letter-spacing:.1em}.w-role{margin:0;opacity:.6}.w-hud-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,4vw,60px)}.w-hud-bottom>:first-child{justify-self:start}.w-hint{opacity:.55}@media(max-width:700px){.w-hint{display:none}}.w-loader{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:transparent;pointer-events:auto}.w-loader-curtain{position:absolute;inset:0;background-color:#cbd7e4;background-image:radial-gradient(circle at 50% 50%,#ffffff73,#c8d6e633),radial-gradient(circle,rgba(118,142,170,.42) 1.25px,transparent 1.25px);background-size:100% 100%,36px 36px;background-position:0 0,18px 18px;-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0%,transparent 0%,#000 0%);mask-image:radial-gradient(circle at 50% 50%,transparent 0%,transparent 0%,#000 0%);transition:-webkit-mask-image 1.3s cubic-bezier(.25,1,.35,1),mask-image 1.3s cubic-bezier(.25,1,.35,1),opacity .9s ease}.w-loader.is-opening .w-loader-curtain{-webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0%,transparent 115%,#000 135%);mask-image:radial-gradient(circle at 50% 50%,transparent 0%,transparent 115%,#000 135%);opacity:0}.w-loader-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:1.15rem;padding:0 1.5rem;transition:opacity .45s ease,transform .65s cubic-bezier(.16,1,.3,1)}.w-loader.is-ready .w-loader-inner{opacity:0;transform:scale(.96) translateY(-4px);pointer-events:none}.w-loader.is-opening{pointer-events:none}.w-loader-mark{margin:0;font-size:.72rem;letter-spacing:.42em;text-transform:uppercase;color:#3f4855}.w-loader-bar{display:block;width:min(240px,52vw);height:1px;background:#3f485538;overflow:hidden}.w-loader-bar i{display:block;width:100%;height:100%;background:#3f4855;transform-origin:0 50%;transform:scaleX(0);transition:transform .5s cubic-bezier(.16,1,.3,1)}.w-loader-note{display:flex;gap:.9em;margin:0;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;color:#3f48558c}.w-loader-pct{display:inline-block;min-width:3.4em;text-align:right;font-variant-numeric:tabular-nums;color:#3f4855}@media(prefers-reduced-motion:reduce){.w-loader,.w-loader-bar i{transition:none}}.w-sound{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;opacity:.55;transition:opacity .26s ease}.w-sound:hover,.w-sound:focus-visible{opacity:.9}.w-sound-bars{display:inline-flex;align-items:flex-end;gap:2px;height:9px}.w-sound-bars i{width:2px;height:2px;background:currentColor;transition:height .32s ease}.w-sound.is-on .w-sound-bars i{animation:w-sound-bar 1.15s ease-in-out infinite}.w-sound.is-on .w-sound-bars i:nth-child(2){animation-delay:.19s}.w-sound.is-on .w-sound-bars i:nth-child(3){animation-delay:.38s}@keyframes w-sound-bar{0%,to{height:3px}50%{height:9px}}@media(prefers-reduced-motion:reduce){.w-sound.is-on .w-sound-bars i{animation:none;height:7px}.w-sound-bars i{transition:none}}.w-water{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .24s cubic-bezier(.22,.61,.36,1)}.w-work.is-live .w-water{opacity:1;pointer-events:auto;cursor:pointer}.w-water canvas{display:block;width:100%!important;height:100%!important}.w-water-ring{position:absolute;top:0;left:0;width:62px;height:62px;margin:-31px 0 0 -31px;border:1px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 18px 2px #ffffff8c,inset 0 0 12px #ffffff59;opacity:0;transition:opacity .22s ease;pointer-events:none;will-change:transform}.w-water-ring[data-on]{opacity:1}.w-water-hint{position:absolute;left:50%;bottom:clamp(18px,4vh,38px);transform:translate(-50%);margin:0;font-size:var(--w-meta);letter-spacing:var(--w-track);text-transform:uppercase;color:#1f262b8c;white-space:nowrap;pointer-events:none}.w-detail{position:fixed;inset:0;z-index:50;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box;padding:clamp(48px,9vh,88px) clamp(20px,5vw,48px) 120px;background:transparent;animation:w-detail-in .26s cubic-bezier(.22,.61,.36,1) both}.w-work.has-detail{z-index:60;pointer-events:auto}.w-work.has-detail .w-detail,.w-work.is-live .w-detail{pointer-events:auto}.w-detail::-webkit-scrollbar{width:6px}.w-detail::-webkit-scrollbar-track{background:transparent}.w-detail::-webkit-scrollbar-thumb{background:#3f485540;border-radius:3px}.w-detail::-webkit-scrollbar-thumb:hover{background:#3f485573}@keyframes w-detail-in{0%{opacity:0}to{opacity:1}}.w-detail-panel{position:relative;z-index:2;width:min(38rem,100%);margin:0 auto;padding:0 0 5rem;border:none;background:transparent;box-sizing:border-box;font-size:.85rem;line-height:1.7}.w-detail-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;display:block}.w-detail-glass-close{position:fixed;top:clamp(16px,2.4vw,34px);right:clamp(16px,2.4vw,34px);z-index:70;border:none!important;outline:none!important;box-shadow:none!important;background:none;font:inherit;font-family:var(--w-mono);font-size:var(--w-meta);letter-spacing:var(--w-track);text-transform:uppercase;font-weight:500;cursor:pointer}.w-detail-glass-close:focus,.w-detail-glass-close:focus-visible,.w-detail-glass-close:active{border:none!important;outline:none!important;box-shadow:none!important}.w-detail-sound-bar{position:fixed;bottom:clamp(16px,2.4vw,34px);left:clamp(16px,2.4vw,34px);z-index:70;pointer-events:auto;font-family:var(--w-mono);color:var(--w-ink);text-transform:uppercase;letter-spacing:var(--w-track);font-size:var(--w-meta);font-weight:500}@media(prefers-reduced-motion:reduce){.w-water,.w-water-ring{transition:none}.w-detail{animation:none}}.w-readout{position:absolute;top:var(--ay, 50%);left:var(--ax, 50%);width:min(72vh,92vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;font-size:clamp(.56rem,.72vw,.7rem);letter-spacing:.16em;text-transform:uppercase;color:#1f262bc7;animation:w-readout-in .42s cubic-bezier(.22,.61,.36,1) both}@keyframes w-readout-in{0%{opacity:0}to{opacity:1}}.w-readout-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.w-readout-lines path{fill:none;stroke:#1f262b6b;stroke-width:.25;vector-effect:non-scaling-stroke;stroke-dasharray:1 2;stroke-dashoffset:1;animation:w-leader-draw .36s cubic-bezier(.22,.61,.36,1) both}.w-readout-lines path:nth-child(2){animation-delay:40ms}.w-readout-lines path:nth-child(3){animation-delay:80ms}@keyframes w-leader-draw{to{stroke-dashoffset:0}}.w-readout p{margin:0}.w-readout-code{position:absolute;left:2%;top:16%;max-width:24%;line-height:1.5}.w-readout-name{display:block;font-weight:600;color:var(--w-ink);overflow-wrap:anywhere}.w-readout-stat{position:absolute;left:75%;top:35%;line-height:1.7;white-space:nowrap}.w-readout-stat span{color:#3f485599}.w-readout-cta{position:absolute;left:73%;top:66%;line-height:1.7;white-space:nowrap}.w-readout-date{display:block;color:#3f485599}.w-readout-go{display:block;padding-bottom:.4em;border-bottom:1px solid rgba(31,38,43,.42);font-weight:600;color:var(--w-ink)}@media(max-width:700px){.w-readout{width:94vw}.w-readout-lines{display:none}.w-readout-code{left:0;top:2%;max-width:60%}.w-readout-stat{left:auto;right:0;top:2%;text-align:right}.w-readout-cta{left:0;top:auto;bottom:8%}}@media(prefers-reduced-motion:reduce){.w-readout{animation:none}}.w-about{position:absolute;top:50%;left:50%;width:min(38rem,88vw);box-sizing:border-box;transform:translate(-50%,-50%);text-align:left;pointer-events:none;will-change:transform,opacity}.w-about-rule{margin:0 0 1.6em;font-size:.72rem;letter-spacing:.08em;color:#3f485599}.w-about-name{margin:0;font:700 clamp(1.4rem,3.4vw,2.4rem) / 1.15 var(--w-mono);letter-spacing:.02em;text-transform:uppercase;color:var(--w-ink)}.w-about-role{margin:.6em 0 0;font-size:var(--w-meta);letter-spacing:var(--w-track);text-transform:uppercase;color:#1f262b9e}.w-about-body{margin:2em 0 0;max-width:34em;font-size:.86rem;line-height:1.75;color:#1f262bd6}.w-about-meta{display:flex;flex-wrap:wrap;gap:.6em 2.2em;margin:2.6em 0 0;padding-top:1.4em;border-top:1px solid rgba(63,72,85,.2);font-size:var(--w-meta);letter-spacing:var(--w-track);text-transform:uppercase;color:#3f48559e}@media(prefers-reduced-motion:reduce){.w-about{transition:none}}.w-about>*{opacity:0}.w-about.is-in>*{animation:w-about-line .52s cubic-bezier(.22,.61,.36,1) both}.w-about.is-in .w-about-rule{animation-delay:40ms}.w-about.is-in .w-about-name{animation-delay:.11s}.w-about.is-in .w-about-role{animation-delay:.17s}.w-about.is-in .w-about-body{animation-delay:.23s}.w-about.is-in .w-about-meta{animation-delay:.3s}@keyframes w-about-line{0%{opacity:0;transform:translateY(.9em)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.w-about>*{animation:none;opacity:1}}.w-readout-code,.w-readout-stat,.w-readout-cta{animation:w-readout-label .34s cubic-bezier(.22,.61,.36,1) both}.w-readout-code{animation-delay:80ms}.w-readout-stat{animation-delay:.14s}.w-readout-cta{animation-delay:.2s}@keyframes w-readout-label{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}.w-readout-go{background-image:linear-gradient(#1f262b6b,#1f262b6b);background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;border-bottom:0;animation:w-readout-rule .36s cubic-bezier(.22,.61,.36,1) .24s both}@keyframes w-readout-rule{to{background-size:100% 1px}}@media(prefers-reduced-motion:reduce){.w-readout-code,.w-readout-stat,.w-readout-cta,.w-readout-go,.w-readout-lines path{animation:none}.w-readout-lines path{stroke-dashoffset:0}.w-readout-go{background-size:100% 1px}}.w-sound-hud{grid-column:3;justify-self:end;pointer-events:auto;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 4px}
