@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolagegrotesque_v9_3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGGInHEVA.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolagegrotesque_v9_3y9K6as8bTXq_nANBjzKo3IeZx8z6up5BeSl9D4dj_x9PpZBMlGIInE.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwhsk.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrainsmono_v24_tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwg.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/spacegrotesk_v22_V8mDoQDjQSkFtoMM3T6r8E7mPb94C-s0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/spacegrotesk_v22_V8mDoQDjQSkFtoMM3T6r8E7mPbF4Cw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--sky-50:#eef7ff;--sky-100:#cdeeff;--sky-200:#9fd3fa;--sky-300:#71b7f4;--sky-400:#5da3e3;--sky-500:#3f8fd6;--sky-600:#5788b3;--sky-700:#1f3b6d;--sky-800:#111c36;--sky-900:#031835;--white:#fff;--cream:#fff9f1;--cream-2:#f6efe2;--sand:#eee8d2;--ink:#060606;--ink-2:#1a1a1a;--night:#0a0a0f;--sun:#ffda3f;--coral:#fc9073;--bg:var(--cream);--bg-raised:var(--white);--bg-sunken:var(--cream-2);--bg-inverse:var(--ink);--fg:var(--ink);--fg-muted:#0606069e;--fg-subtle:#0606066b;--fg-inverse:var(--cream);--border:#0606061f;--border-strong:#060606d9;--brand:var(--sky-500);--brand-fg:var(--white);--hero-from:#3d8fdb;--hero-mid:#3176b9;--hero-to:#2f6aa4;--brand-strong:#2b6cb0;--glass-bg:#ffffff38;--glass-border:#ffffff8c;--focus:var(--ink);--line:#ffffffb3;--hairline:1.5px;--font-display:"Bricolage Grotesque", "Arial Black", system-ui, sans-serif;--font-sans:"Space Grotesk", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem);--text-3xl:clamp(2rem, 1.3rem + 2.8vw, 3.5rem);--text-4xl:clamp(2.6rem, 1.4rem + 5vw, 5.5rem);--text-5xl:clamp(3.2rem, 1.2rem + 8vw, 8.5rem);--leading-tight:.95;--leading-snug:1.2;--leading-body:1.6;--tracking-tight:-.035em;--tracking-label:.14em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:144px;--gutter:clamp(16px, 4vw, 60px);--container:1320px;--section-y:clamp(72px, 10vw, 160px);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:36px;--radius-pill:999px;--shadow-sm:0 1px 2px #111c3614;--shadow-md:0 10px 30px -12px #111c3647;--shadow-lg:0 30px 60px -24px #111c3666;--shadow-brand:0 6px 16px -6px #1e3a5f73;--shadow-glass:inset 0 4px 6px #ffffff40;--glow:0 0 24px #ffffff8c;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-bounce:cubic-bezier(.3, 1.25, .4, 1);--ease-std:cubic-bezier(.4, 0, .2, 1);--dur-fast:.18s;--dur-base:.32s;--dur-slow:.6s;--dur-reveal:.9s;--hover-scale:1.03;--press-scale:.97;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b1733;--bg-raised:#142346;--bg-sunken:#0e1b3a;--bg-inverse:var(--cream);--fg:var(--cream);--fg-muted:#fff9f1ad;--fg-subtle:#fff9f173;--fg-inverse:var(--ink);--border:#fff9f11f;--border-strong:#fff9f1d9;--brand:var(--sky-400);--hero-from:#1c3868;--hero-mid:#13264b;--hero-to:#0b1733;--glass-bg:#ffffff14;--glass-border:#ffffff38;--focus:var(--cream);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){:root{--dur-fast:1ms;--dur-base:1ms;--dur-slow:1ms;--dur-reveal:1ms;--hover-scale:1;--press-scale:1}}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}html.lenis{scroll-behavior:auto}html.scroll-locked,body.scroll-locked{overflow:hidden!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}*{scrollbar-width:none}::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--fg);font:400 var(--text-base) / var(--leading-body) var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color var(--dur-base) ease, color var(--dur-base) ease;margin:0;overflow-x:clip}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}img,video,svg{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--sky-300);color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-4);background:var(--ink);color:var(--cream);border-radius:var(--radius-pill);transition:transform var(--dur-fast) var(--ease-out);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);position:relative}.stack>*+*{margin-top:var(--stack-gap,var(--space-5))}.cluster{align-items:center;gap:var(--cluster-gap,var(--space-3));flex-wrap:wrap;display:flex}.split{gap:var(--space-7);align-items:center;display:grid}@media (min-width:900px){.split{gap:var(--space-9);grid-template-columns:1fr 1fr}}
.label{font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase}.label--muted{color:var(--fg-muted)}.eyebrow{align-items:center;gap:var(--space-2);font:500 var(--text-sm) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;display:inline-flex}.display{font-family:var(--font-display);font-weight:800;font-size:var(--text-5xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-variation-settings:"opsz" 96}.display>span{display:block}.heading{font:800 var(--text-3xl) / 1.02 var(--font-display);letter-spacing:var(--tracking-tight);font-variation-settings:"opsz" 72}.lead{font-size:var(--text-xl);color:var(--fg-muted);max-width:38ch;line-height:1.45}.lead strong{color:var(--fg);font-weight:600}.btn{--btn-bg:var(--ink);--btn-fg:var(--cream);justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-pill);background:var(--btn-bg);color:var(--btn-fg);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-base) ease, background-color var(--dur-base) ease;border:1px solid #0000;display:inline-flex}.btn:hover{transform:scale(var(--hover-scale));box-shadow:var(--shadow-brand)}.btn:active{transform:scale(var(--press-scale))}.btn__icon{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease-spring);flex:none}.btn:hover .btn__icon{transform:translate(3px)}.btn:hover .btn__icon--diag{transform:translate(2px,-2px)}.btn--light{--btn-bg:var(--white);--btn-fg:var(--ink)}.btn--brand{--btn-bg:var(--brand-strong);--btn-fg:var(--white)}.btn--ghost{--btn-bg:transparent;--btn-fg:var(--fg);border-color:var(--border-strong)}.btn--glass{--btn-bg:var(--glass-bg);--btn-fg:var(--white);border-color:var(--glass-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.btn--sm{min-height:34px;padding:0 var(--space-4)}.icon-btn{background:var(--bg-raised);border:1px solid var(--border);width:36px;height:36px;transition:transform var(--dur-fast) var(--ease-spring);border-radius:50%;place-items:center;display:grid}.icon-btn:hover{transform:scale(1.06)}.icon-btn:active{transform:scale(.94)}.icon-btn svg{width:18px;height:18px}.theme-toggle{position:relative;overflow:hidden}.theme-toggle svg{transition:transform var(--dur-slow) var(--ease-bounce);position:absolute;top:50%;left:50%}.theme-toggle .ico-sun{color:#f5a623;transform:translate(-50%,-50%)}.theme-toggle .ico-moon{color:var(--cream);transform:translate(-50%,-220%)}[data-theme=dark] .theme-toggle{background:var(--sky-800)}[data-theme=dark] .theme-toggle .ico-sun{transform:translate(-50%,120%)}[data-theme=dark] .theme-toggle .ico-moon{transform:translate(-50%,-50%)}.segmented{--seg-i:0;border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid;position:relative}.segmented:before{content:"";width:calc((100% - 6px) / var(--seg-count,2));border-radius:var(--radius-pill);background:var(--ink);transform:translateX(calc(var(--seg-i) * 100%));transition:transform var(--dur-base) var(--ease-bounce);position:absolute;inset:3px auto 3px 3px}[data-theme=dark] .segmented:before{background:var(--cream)}.segmented button{z-index:1;min-width:34px;height:28px;padding:0 var(--space-2);font:500 11px / 1 var(--font-mono);letter-spacing:.08em;color:var(--fg-muted);transition:color var(--dur-base) ease;position:relative}.segmented button[aria-pressed=true]{color:var(--fg-inverse)}.nav{inset:var(--space-4) 0 auto;z-index:50;padding-inline:var(--gutter);pointer-events:none;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:fixed}.nav>*{pointer-events:auto}.nav__side{align-items:center;gap:var(--space-2);display:flex}.nav__side--end{justify-content:flex-end}.nav-pill{align-items:center;gap:var(--space-5);border-radius:var(--radius-pill);background:var(--glass-bg);border:1px solid var(--glass-border);height:56px;box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(14px)saturate(1.3);transition:gap var(--dur-slow) var(--ease-std), background-color var(--dur-base) ease;padding:0 8px;display:flex;position:relative}.nav-pill:after{content:"";background:var(--brand);height:2px;transform:scaleX(var(--page,0));transform-origin:0;opacity:0;transition:opacity var(--dur-base) ease;border-radius:2px;position:absolute;bottom:-1px;left:22px;right:22px}.nav.is-scrolled .nav-pill:after{opacity:1}.nav.is-scrolled .nav-pill{background:color-mix(in srgb, var(--bg) 78%, transparent);border-color:var(--border)}.nav-pill__avatar{width:40px;height:40px;transition:transform var(--dur-fast) var(--ease-spring);border-radius:50%;flex:none;overflow:hidden}.nav-pill__avatar:hover{transform:scale(1.06)}.nav-pill__avatar img{object-fit:cover;width:100%;height:100%}.nav-pill__links{align-items:center;gap:var(--space-1);max-width:640px;transition:max-width var(--dur-slow) var(--ease-std), opacity var(--dur-base) ease;display:flex;overflow:hidden}.nav-link{border-radius:var(--radius-pill);font-size:var(--text-sm);white-space:nowrap;transition:border-color var(--dur-fast) ease;border:1px solid #0000;padding:8px 12px}.nav-link:hover,.nav-link[aria-current=true]{border-color:var(--border-strong)}.nav-pill__status{align-items:center;gap:var(--space-2);opacity:0;white-space:nowrap;max-width:0;font-size:var(--text-sm);transition:max-width var(--dur-slow) var(--ease-std), opacity var(--dur-base) ease;display:flex;overflow:hidden}.nav.is-compact .nav-pill{gap:var(--space-3)}.nav.is-compact .nav-pill__links{opacity:0;max-width:0}.nav.is-compact .nav-pill__status{opacity:1;max-width:240px;padding-right:var(--space-3)}@media (max-width:760px){.nav{grid-template-columns:auto 1fr}.nav__side:first-child{display:none}}.mobile-bottom-nav{display:none}@media (max-width:760px){.mobile-bottom-nav{bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:95;pointer-events:none;justify-content:center;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 20px);margin-inline:auto;animation:.45s cubic-bezier(.16,1,.3,1) backwards mobile-nav-slide-up;display:flex;position:fixed;left:0;right:0}.footer{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}}@media (max-width:360px){.mobile-bottom-nav{gap:6px;max-width:calc(100vw - 12px)}}@keyframes mobile-nav-slide-up{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-bottom-nav__pill{pointer-events:auto;box-sizing:border-box;border-radius:var(--radius-pill);background:color-mix(in srgb, var(--cream) 84%, transparent);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(1.4);height:50px;transition:background-color var(--dur-base) ease, border-color var(--dur-base) ease;align-items:center;gap:3px;padding:4px;display:inline-flex;box-shadow:0 10px 30px -6px #111c3629,0 2px 8px -2px #111c3614}[data-theme=dark] .mobile-bottom-nav__pill{background:color-mix(in srgb, var(--bg-sunken) 82%, transparent);border-color:var(--border);box-shadow:0 10px 30px -6px #0009,0 2px 8px #0000004d}.mobile-bottom-nav__link{border-radius:var(--radius-pill);height:38px;color:var(--fg-muted);transition:background-color var(--dur-base) ease, border-color var(--dur-base) ease, box-shadow var(--dur-base) ease, padding var(--dur-base) var(--ease-spring), color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 10px;text-decoration:none;display:inline-flex}.mobile-bottom-nav__link:active{transform:scale(.95)}.mobile-bottom-nav__icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.mobile-bottom-nav__icon svg{stroke:currentColor;width:18px;height:18px;display:block}.mobile-bottom-nav__label{opacity:0;white-space:nowrap;max-width:0;font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:-.01em;color:inherit;transition:max-width var(--dur-base) var(--ease-std), opacity var(--dur-fast) ease, margin-left var(--dur-base) ease;margin-left:0;font-weight:600;line-height:1;display:inline-block;overflow:hidden}.mobile-bottom-nav__link[aria-current=true]{background:var(--bg-raised);color:var(--fg);border-color:color-mix(in srgb, var(--border) 60%, transparent);padding:0 12px 0 10px;box-shadow:0 2px 8px #111c361a,0 1px 2px #111c360d}[data-theme=dark] .mobile-bottom-nav__link[aria-current=true]{background:var(--bg-raised);color:var(--white);border-color:var(--border);box-shadow:0 2px 8px #0006}.mobile-bottom-nav__link[aria-current=true] .mobile-bottom-nav__label{opacity:1;max-width:85px;margin-left:5px}.mobile-bottom-nav__btn--work{pointer-events:auto;background:color-mix(in srgb, var(--cream) 88%, transparent);width:48px;height:48px;color:var(--fg);border:1px solid var(--border);-webkit-backdrop-filter:blur(18px)saturate(1.4);transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-base) ease, background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;box-shadow:0 10px 24px -4px #111c3629,0 2px 6px #111c3614}[data-theme=dark] .mobile-bottom-nav__btn--work{background:color-mix(in srgb, var(--bg-sunken) 84%, transparent);color:var(--cream);border-color:var(--border);box-shadow:0 10px 24px -4px #00000080}.mobile-bottom-nav__btn--work:hover{border-color:var(--brand);color:var(--brand);transform:scale(1.06)}.mobile-bottom-nav__btn--work:active{transform:scale(.94)}.mobile-bottom-nav__btn--work[aria-current=page],.mobile-bottom-nav__btn--work.is-active{background:var(--bg-raised);color:var(--brand);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand), 0 8px 24px -4px #111c3633}[data-theme=dark] .mobile-bottom-nav__btn--work[aria-current=page],[data-theme=dark] .mobile-bottom-nav__btn--work.is-active{background:var(--bg-raised);color:var(--brand);border-color:var(--brand);box-shadow:0 0 0 2px var(--brand), 0 8px 24px -4px #0009}.mobile-bottom-nav__btn--work svg{width:20px;height:20px;display:block}.mobile-bottom-nav__wa{pointer-events:auto;color:#fff;width:48px;height:48px;transition:transform var(--dur-fast) var(--ease-spring), box-shadow var(--dur-base) ease, background-color var(--dur-fast) ease;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:#111;border:1px solid #ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:flex;box-shadow:0 10px 24px -4px #111c3647,0 2px 6px #111c361f}[data-theme=dark] .mobile-bottom-nav__wa{color:#fff;background:#101c38;border-color:#ffffff38;box-shadow:0 10px 24px -4px #0009}.mobile-bottom-nav__wa:hover{transform:scale(1.06);box-shadow:0 12px 28px -4px #25d36659,0 2px 8px #0003}.mobile-bottom-nav__wa:active{transform:scale(.94)}.mobile-bottom-nav__wa svg{width:22px;height:22px;display:block}.pulse-dot{background:var(--sun);border-radius:50%;flex:none;width:9px;height:9px;position:relative}.pulse-dot:after{content:"";border:2px solid var(--sun);border-radius:50%;animation:1.8s cubic-bezier(.4,0,.6,1) infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}@media (prefers-reduced-motion:reduce){.pulse-dot:after{animation:none}}.chip{border-radius:var(--radius-pill);border:1px solid var(--border);height:26px;font:500 11px / 1 var(--font-mono);letter-spacing:.06em;color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.chip--filter{height:34px;padding:0 var(--space-4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--fg);transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring)}.chip--filter:hover{border-color:var(--border-strong)}.chip--filter:active{transform:scale(var(--press-scale))}.chip--filter[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.card{border-radius:var(--radius-lg);background:var(--bg-raised);border:1px solid var(--border);transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) ease;flex-direction:column;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card__media{aspect-ratio:16/10;background:radial-gradient(120% 90% at 20% 0%, #fff9, transparent 60%), linear-gradient(160deg, var(--sky-100), var(--sky-300));place-items:center;padding:7%;display:grid;position:relative;overflow:hidden}.shot{background:var(--white);width:100%;transform:translateY(calc((.5 - var(--p,.5)) * 18px));transition:scale var(--dur-slow) var(--ease-out), box-shadow var(--dur-slow) ease;border-radius:10px;overflow:hidden;box-shadow:0 24px 40px -22px #111c3673,0 2px 6px #111c3614}.shot:before{content:"";background:radial-gradient(circle, #ff8a80 3px, transparent 3.5px) 10px 50% / 10px 10px no-repeat, radial-gradient(circle, #ffd26a 3px, transparent 3.5px) 24px 50% / 10px 10px no-repeat, radial-gradient(circle, #8fdc97 3px, transparent 3.5px) 38px 50% / 10px 10px no-repeat, var(--cream-2);height:16px;display:block}.shot img{width:100%;height:auto;display:block}.card:hover .shot{scale:1.03;box-shadow:0 30px 50px -22px #111c3680,0 2px 6px #111c3614}.card__body{gap:var(--space-3);padding:var(--space-5);display:grid}.card__title{font:700 var(--text-xl) / 1.15 var(--font-display);letter-spacing:-.02em}.card__text{color:var(--fg-muted);font-size:var(--text-sm)}.card__meta{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.card__link:after{content:"";z-index:1;position:absolute;inset:0}.card__link:focus-visible{outline:none}.card:has(.card__link:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.bento{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (min-width:720px){.bento{grid-template-columns:repeat(2,1fr)}}@media (min-width:1100px){.bento{grid-template-columns:repeat(6,1fr)}.bento>*{grid-column:span 2}.bento>.bento--wide{grid-column:span 3}.bento>.bento--hero{grid-column:span 4}}.bento .card__media{aspect-ratio:auto;flex:1;min-height:220px}.bento--hero .card__media{padding:5% 12%}.block{isolation:isolate;position:relative;overflow:hidden}.block--brand{background:var(--brand-strong);color:var(--white)}.block--sky{background:linear-gradient(180deg, var(--hero-from), var(--hero-to));color:var(--white)}.block--ink{background:var(--ink);color:var(--cream)}.block--white{background:var(--white);color:var(--ink)}.block--ink .lead,.block--brand .lead,.block--sky .lead{color:#ffffffc7}.block--white .lead{color:#0606069e}.marquee{--marquee-speed:38s;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee__track{align-items:center;gap:var(--space-6);padding-right:var(--space-6);animation:marquee var(--marquee-speed) linear infinite;flex:none;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__item{font:800 clamp(1.8rem, 4vw, 3.4rem) / 1 var(--font-display);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap}.marquee__sep{flex:none;width:.9em;height:.9em;font-size:clamp(1.8rem,4vw,3.4rem)}@keyframes marquee{to{transform:translate(-100%)}}.marquee.is-driven .marquee__track{transform:translateX(var(--x,0)) skewX(calc(var(--velocity,0) * -10deg));animation:none}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.tile-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.tile{place-items:center;gap:var(--space-2);aspect-ratio:1;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-raised);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) ease;display:grid}.tile:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)rotate(-2deg)}.tile img{object-fit:contain;width:36px;height:36px}.tile span{font:500 10px / 1.2 var(--font-mono);letter-spacing:.04em;color:var(--fg-muted);text-align:center}.accordion{border-top:1px solid var(--border)}.accordion__item{border-bottom:1px solid var(--border)}.accordion__summary{align-items:center;gap:var(--space-4);padding:var(--space-5) 0;cursor:pointer;grid-template-columns:1fr auto;list-style:none;display:grid}.accordion__summary::-webkit-details-marker{display:none}.accordion__plus{border:1px solid var(--border);width:28px;height:28px;transition:transform var(--dur-base) var(--ease-bounce), background-color var(--dur-fast) ease;border-radius:50%;flex:none;position:relative}.accordion__plus:before,.accordion__plus:after{content:"";background:currentColor;width:10px;height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.accordion__plus:after{transform:translate(-50%,-50%)rotate(90deg)}.accordion__summary:hover .accordion__plus{background:var(--bg-sunken)}.accordion__item[open] .accordion__plus{transform:rotate(45deg)}.accordion__content{padding:0 0 var(--space-6);color:var(--fg-muted);max-width:70ch}.accordion__item[open] .accordion__content{animation:fade-up var(--dur-base) var(--ease-out)}.stat{gap:var(--space-1);display:grid}.stat__value{font:800 var(--text-2xl) / 1 var(--font-display);letter-spacing:-.03em}.stat__label{font-size:var(--text-sm);color:var(--fg-muted)}.feature{gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);min-height:100%;transition:transform var(--dur-base) var(--ease-spring);flex-direction:column;display:flex}.feature:hover{transform:translateY(-6px)rotate(-.6deg)}.feature__big{font:800 var(--text-3xl) / 1 var(--font-display);letter-spacing:-.03em}.feature--ink{background:var(--ink-2);color:var(--cream)}.feature--sky{background:linear-gradient(160deg, var(--sky-100), var(--sky-200));color:var(--sky-800)}.feature--brand{background:var(--brand-strong);color:var(--white)}.feature--white{background:var(--white);color:var(--ink);border:1px solid var(--border)}.dialog{width:min(920px, calc(100% - 2 * var(--gutter)));border-radius:var(--radius-xl);background:var(--bg);max-height:calc(100dvh - 48px);color:var(--fg);box-shadow:var(--shadow-lg);border:0;padding:0;overflow:auto}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0318358c}.dialog[open]{animation:dialog-in var(--dur-slow) var(--ease-out)}.dialog__close{top:var(--space-4);margin:var(--space-4) var(--space-4) 0 auto;z-index:2;position:sticky}@keyframes dialog-in{0%{opacity:0;transform:translateY(24px)scale(.98)}}.toast{left:50%;bottom:var(--space-6);z-index:80;padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);background:var(--ink);color:var(--cream);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;transition:transform var(--dur-base) var(--ease-spring);position:fixed;transform:translate(-50%,160%)}.toast.is-visible{transform:translate(-50%)}.blueprint{isolation:isolate;color:var(--white);background:linear-gradient(180deg, var(--hero-from), var(--hero-mid) 55%, var(--hero-to));position:relative}.cloud{z-index:-1;pointer-events:none;width:var(--w,420px);aspect-ratio:2.6;--c:#fffffff2;background:radial-gradient(closest-side, var(--c) 55%, transparent) 16% 72% / 40% 64% no-repeat, radial-gradient(closest-side, var(--c) 55%, transparent) 40% 42% / 46% 96% no-repeat, radial-gradient(closest-side, var(--c) 55%, transparent) 66% 52% / 44% 84% no-repeat, radial-gradient(closest-side, var(--c) 55%, transparent) 88% 74% / 30% 54% no-repeat, radial-gradient(closest-side, var(--c) 65%, transparent) 50% 90% / 94% 42% no-repeat;filter:blur(var(--blur,6px));opacity:var(--o,.9);animation:drift var(--drift,90s) ease-in-out infinite alternate;position:absolute}@keyframes drift{to{translate:var(--dx,80px) 0}}[data-theme=dark] .cloud{--c:#a0b9e638}[data-theme=dark] .cloudbank--back{display:none}@media (max-width:760px){.cloud{filter:blur(var(--blur,3px))}.firefly{box-shadow:0 0 6px 2px #ffec968c}}[data-offscreen],[data-offscreen]:before,[data-offscreen]:after,[data-offscreen] *,[data-offscreen] :before,[data-offscreen] :after{animation-play-state:paused!important}.cloudbank{z-index:1;pointer-events:none;--bank:var(--bg);--puff:radial-gradient(closest-side, var(--bank) 72%, transparent 100%);background:linear-gradient(transparent 38%, var(--bank) 62%);height:clamp(150px,21vw,320px);position:absolute;bottom:-1px;left:-6%;right:-6%}.cloudbank:before{content:"";transform-origin:50% 100%;background:var(--puff) -2% 62% / 22% 78% no-repeat, var(--puff) 11% 38% / 20% 84% no-repeat, var(--puff) 24% 58% / 24% 80% no-repeat, var(--puff) 37% 30% / 22% 88% no-repeat, var(--puff) 50% 52% / 24% 82% no-repeat, var(--puff) 63% 34% / 22% 86% no-repeat, var(--puff) 76% 56% / 24% 80% no-repeat, var(--puff) 89% 36% / 22% 86% no-repeat, var(--puff) 102% 60% / 22% 78% no-repeat;animation:bank-breathe var(--breathe,28s) ease-in-out infinite alternate;position:absolute;inset:0}@keyframes bank-breathe{0%{transform:translate(-.8%)scaleY(.98)}35%{transform:translate(-.1%)scaleY(1.03)}70%{transform:translate(.5%)scaleY(.99)}to{transform:translate(.8%)scaleY(1.02)}}.cloudbank--back{--bank:#ffffff61;--puff:radial-gradient(closest-side, var(--bank) 50%, transparent 100%);z-index:0;height:clamp(140px,19vw,280px);translate:0 calc(var(--p,0) * 40px);background:0 0;bottom:14%}.cloudbank--back:before{--breathe:37s;background:var(--puff) 4% 50% / 30% 90% no-repeat, var(--puff) 30% 30% / 32% 100% no-repeat, var(--puff) 58% 46% / 30% 92% no-repeat, var(--puff) 86% 28% / 32% 100% no-repeat;animation-direction:alternate-reverse}.cloudbank--top{top:-1px;bottom:auto;transform:scaleY(-1)}@media (prefers-reduced-motion:reduce){.cloud,.cloudbank:before{animation:none}}.night{z-index:-1;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}[data-theme=dark] .night{display:block}.night__stars{--s:#fffbffe6;background:radial-gradient(1.2px 1.2px at 12% 18%, var(--s), transparent), radial-gradient(1px 1px at 27% 62%, var(--s), transparent), radial-gradient(1.6px 1.6px at 41% 9%, #d6ebff, transparent), radial-gradient(1px 1px at 55% 44%, var(--s), transparent), radial-gradient(1.4px 1.4px at 68% 23%, var(--s), transparent), radial-gradient(1px 1px at 79% 71%, #d6ebff, transparent), radial-gradient(1.8px 1.8px at 88% 12%, var(--s), transparent), radial-gradient(1px 1px at 94% 52%, var(--s), transparent), radial-gradient(1.2px 1.2px at 6% 83%, #d6ebff, transparent), radial-gradient(1px 1px at 34% 88%, var(--s), transparent);background-size:420px 300px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 55%,#0000 90%);mask-image:linear-gradient(#000 55%,#0000 90%)}.night__stars--far{opacity:.55;background-size:260px 190px}.night__stars--near{filter:drop-shadow(0 0 2px #a5caf6);background-size:610px 430px}@media (prefers-reduced-motion:no-preference){.night__stars{animation:twinkle var(--tw,5s) ease-in-out infinite alternate}.night__stars--far{--tw:3.4s}.night__stars--near{--tw:6.5s;animation-delay:-2s}}@keyframes twinkle{0%{opacity:var(--o1,.5)}to{opacity:var(--o2,1)}}.meteor{left:var(--x,20%);top:var(--y,12%);filter:drop-shadow(0 0 6px #d6ebff);width:140px;height:2px;transform:rotate(var(--a,18deg)) translateX(0) scaleX(0);transform-origin:100%;opacity:0;background:linear-gradient(90deg,#0000,#a5caf6 40%,#fffbff);border-radius:2px;position:absolute}.meteor.is-flying{animation:1.3s cubic-bezier(.3,.1,.4,1) forwards meteor}@keyframes meteor{0%{opacity:0;transform:rotate(var(--a)) translateX(0) scaleX(.2)}15%{opacity:1}70%{opacity:1;transform:rotate(var(--a)) translateX(var(--d,380px)) scaleX(1)}to{opacity:0;transform:rotate(var(--a)) translateX(calc(var(--d,380px) * 1.2)) scaleX(.4)}}.firefly{left:var(--x);top:var(--y);width:var(--r,4px);aspect-ratio:1;opacity:0;background:#fff6c8;border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #ffec968c,0 0 22px 8px #ffe2782e}@media (prefers-reduced-motion:no-preference){.firefly{animation:firefly-glow var(--g,3.2s) ease-in-out var(--delay,0s) infinite, firefly-wander var(--w,14s) ease-in-out var(--delay,0s) infinite alternate}}@media (prefers-reduced-motion:reduce){.firefly{opacity:.7}}@keyframes firefly-glow{0%,to{opacity:.1}45%,60%{opacity:.95}}@keyframes firefly-wander{0%{translate:0}33%{translate:var(--dx1,30px) var(--dy1,-20px)}66%{translate:var(--dx2,-20px) var(--dy2,-40px)}to{translate:var(--dx3,10px) var(--dy3,10px)}}.paint-scene{--paint-color:var(--hero-from);position:relative}.paint-scene [data-paint-hold]{top:var(--hold-top,0px);position:sticky}.paint-scene__canvas{z-index:5;pointer-events:none;height:100vh;margin-top:-100vh;position:sticky;top:0;overflow:hidden}.paint-scene__canvas:after{content:"";background:var(--paint-color);opacity:clamp(0, (var(--paint,0) - .96) * 25, 1);position:absolute;inset:0}.paint-scene__canvas svg{width:100%;height:100%;display:block}.paint-scene__stroke{fill:none;stroke:var(--paint-color);stroke-width:40px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--paint,0))}.paint-scene__run{height:150vh}@media (prefers-reduced-motion:reduce){.paint-scene [data-paint-hold]{position:static}.paint-scene__canvas,.paint-scene__run{display:none}}.roll{vertical-align:bottom;margin-block:-.08em;padding-block:.08em;display:inline-grid;position:relative;overflow:hidden}.roll__a,.roll__b{white-space:nowrap;grid-area:1/1}.roll__b{display:inline-flex}.roll__b>span{display:inline-block;transform:translateY(115%)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.roll__a{transition:transform .45s var(--ease-out)}.roll__b>span{transition:transform .5s var(--ease-spring);transition-delay:calc(var(--i) * 14ms)}:is(a,button):hover .roll__a,.roll:hover .roll__a{transform:translateY(-115%)}:is(a,button):hover .roll__b>span,.roll:hover .roll__b>span{transform:none}[data-split]:not([data-split=scrub]) .w{cursor:default}[data-split][data-reveal].is-in:not([data-split=scrub]) .w:hover{overflow:visible}[data-split][data-reveal].is-in:not([data-split=scrub]) .w:hover>span{transition:transform .4s var(--ease-spring);transition-delay:0s;transform:translateY(-.06em)rotate(-4deg)scale(1.04)}}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.sheet{align-items:center;gap:var(--space-3);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);row-gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.sheet__no{color:var(--fg);white-space:nowrap}.sheet:before{content:"";background:linear-gradient(currentColor,currentColor) 50%/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50%/1.5px 100% no-repeat;flex:none;width:11px;height:11px}.blueprint .sheet,.block--brand .sheet,.block--ink .sheet{color:var(--white);border-radius:var(--radius-pill);background:#0a23464d;padding:6px 12px}.blueprint .sheet__no,.block--brand .sheet__no,.block--ink .sheet__no{color:var(--white)}@property --dim-em{syntax:"<length>";inherits:true;initial-value:16px}.dim{--dim-em:1em;display:inline-block;position:relative}.dim:after{content:"";left:0;right:0;top:calc(100% + var(--dim-em) * .1);height:calc(var(--dim-em) * .16);border-inline:var(--hairline) solid currentColor;background:linear-gradient(currentColor, currentColor) center / 100% var(--hairline) no-repeat;transform:scaleX(var(--dim-scale,1));transition:transform 1.2s var(--ease-out) .5s;position:absolute}.dim:before{content:attr(data-dim);left:50%;top:calc(100% + var(--dim-em) * .34);z-index:1;font:500 clamp(10px, .14em, 14px) / 1.6 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:currentColor;white-space:nowrap;opacity:var(--dim-label,1);transition:opacity var(--dur-slow) ease 1.2s;position:absolute;translate:-50%}@media (prefers-reduced-motion:no-preference){[data-reveal] .dim,.dim[data-reveal]{--dim-scale:0;--dim-label:0}.is-in .dim,.dim.is-in{--dim-scale:1;--dim-label:1}}.fig{padding:14px;position:relative}.fig:before,.fig:after{content:"";pointer-events:none;--m:22px;background:linear-gradient(currentColor, currentColor) 0 0 / var(--m) var(--hairline), linear-gradient(currentColor, currentColor) 0 0 / var(--hairline) var(--m), linear-gradient(currentColor, currentColor) 100% 0 / var(--m) var(--hairline), linear-gradient(currentColor, currentColor) 100% 0 / var(--hairline) var(--m), linear-gradient(currentColor, currentColor) 0 100% / var(--m) var(--hairline), linear-gradient(currentColor, currentColor) 0 100% / var(--hairline) var(--m), linear-gradient(currentColor, currentColor) 100% 100% / var(--m) var(--hairline), linear-gradient(currentColor, currentColor) 100% 100% / var(--hairline) var(--m);opacity:.5;background-repeat:no-repeat;position:absolute;inset:0}.fig:after{display:none}.fig__caption{font:500 11px / 1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);padding-top:var(--space-2);position:absolute;bottom:-4px;left:14px;translate:0 100%}.ruler{height:28px;color:var(--fg);background:linear-gradient(90deg, currentColor var(--hairline), transparent 0) 0 100% / 120px 100% repeat-x, linear-gradient(90deg, currentColor var(--hairline), transparent 0) 0 100% / 24px 45% repeat-x, linear-gradient(currentColor, currentColor) 0 100% / 100% var(--hairline) no-repeat;opacity:.35;background-position-x:var(--ruler-shift,0)}.blueprint .ruler{color:var(--white);opacity:.55}.graph{width:100%;height:auto;color:var(--white);display:block;overflow:visible}.graph__edge{fill:none;stroke:#ffffff80;stroke-width:1.6px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:var(--draw,0);vector-effect:non-scaling-stroke}.graph__node rect,.graph__node circle{fill:#fff3;stroke:#ffffffa6;stroke-width:1px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 6px 14px #111c362e)}.graph__node text{font:500 11px var(--font-mono);letter-spacing:.06em;fill:var(--white);text-transform:uppercase}.graph__hub rect{fill:var(--white);stroke:none;filter:drop-shadow(0 0 18px #ffffffb3)}.graph__hub text{fill:var(--sky-700);font-weight:700}.graph__packet{fill:var(--white);filter:drop-shadow(0 0 4px #fff)}@media (prefers-reduced-motion:no-preference){.graph__packet{offset-rotate:0deg;animation:packet var(--dur,3.2s) var(--ease-std) var(--delay,0s) infinite}}@keyframes packet{0%{offset-distance:0%;opacity:0}10%,85%{opacity:1}to{offset-distance:100%;opacity:0}}[data-reveal]{opacity:0;transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(28px)}[data-reveal].is-in{opacity:1;transform:none}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}}[data-split] .w{vertical-align:top;display:inline-block}[data-split] .w>span{display:inline-block}@media (prefers-reduced-motion:no-preference){[data-split][data-reveal]{opacity:1;transform:none}[data-split][data-reveal] .w{overflow-clip-margin:.1em;margin-bottom:-.06em;padding-bottom:.06em;overflow:clip}[data-split][data-reveal] .w>span{transform-origin:0 100%;transition:transform var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--delay,0s) + var(--wi) * 45ms);transform:translateY(110%)rotate(4deg)}[data-split][data-reveal].is-in .w>span{transform:none}[data-split=scrub]{color:var(--fg)}[data-split=scrub] .w>span{opacity:clamp(.5, calc((var(--p,0) * 2.2 - .45) * var(--wn) - var(--wi) + 1), 1);transition:opacity .12s linear}.card[data-reveal]{opacity:1;clip-path:inset(18% 0 0 0 round var(--radius-lg));transition:clip-path 1.1s var(--ease-out), transform 1.1s var(--ease-out);transition-delay:calc(var(--i,0) * 90ms);transform:translateY(60px)scale(.97)}.card[data-reveal].is-in{clip-path:inset(0 0 0 0 round var(--radius-lg));transform:none}}
html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}
.section-head{gap:var(--space-3);max-width:760px;display:grid}.loader{z-index:100;pointer-events:none;place-items:center;animation:.5s 7s forwards loader-failsafe;display:grid;position:fixed;inset:0}.loader__cover{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.loader__cover path{fill:none;stroke:var(--bg);stroke-width:80%;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1}.loader__signature{width:min(82vw,660px);height:auto;color:var(--brand-strong);position:relative;overflow:visible}[data-theme=dark] .loader__signature{color:var(--sky-100)}.loader__signature mask path{fill:none;stroke:#fff;stroke-width:15px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;stroke-dashoffset:1px;opacity:0}@keyframes loader-failsafe{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.loader{display:none}}:root{--cursor:url(/assets/img/cursors/paper.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/paper-hover.svg) 6 3, pointer}.blueprint,.mascot-fly:not(.is-on-paper){--cursor:url(/assets/img/cursors/sky.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/sky-hover.svg) 6 3, pointer}[data-theme=dark]{--cursor:url(/assets/img/cursors/night.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/night-hover.svg) 6 3, pointer}[data-theme=dark] .blueprint{--cursor:url(/assets/img/cursors/sky.svg) 6 3, auto;--cursor-hover:url(/assets/img/cursors/sky-hover.svg) 6 3, pointer}html{cursor:var(--cursor)}:is(a,button,[role=button],label,summary,select,.mascot,.wm__hit){cursor:var(--cursor-hover)}.deck__stage,.deck__stage:active{cursor:url(/assets/img/cursors/drag.svg) 22 14,grab}.sound-toggle .ico-mute,.sound-toggle[aria-pressed=false] .ico-waves{display:none}.sound-toggle[aria-pressed=false] .ico-mute{display:inline}.music-toggle .ico-off{display:none}.music-toggle[aria-pressed=false] .ico-off{display:inline}.music-toggle[aria-pressed=false] svg{opacity:.75}.nav-mark{aspect-ratio:1;width:48px;display:block}.nav-pill{padding-inline:var(--space-2)}.nav:not(.is-scrolled) .nav-pill{background:#0a234642}.nav-pill__links .nav-link{color:var(--white)}.nav.is-scrolled .nav-pill__links .nav-link{color:var(--fg)}.nav-pill__links{margin:-14px -10px;padding:14px 10px}.nav-pill__links .nav-link{--cloud:var(--white);isolation:isolate;transition:color var(--dur-base) ease;border:0;position:relative}.nav.is-scrolled .nav-pill__links .nav-link{--cloud:var(--sky-100)}[data-theme=dark] .nav.is-scrolled .nav-pill__links .nav-link{--cloud:var(--sky-700)}.nav-pill__links .nav-link:before{content:"";z-index:-1;pointer-events:none;background:var(--cloud);opacity:0;transition:opacity var(--dur-base) ease, scale var(--dur-base) var(--ease-spring);position:absolute;inset:-6px -3px 1px;scale:.6;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M 12 14 C 12 6, 26 2, 34 8 C 40 -1, 60 -1, 66 8 C 74 2, 88 6, 88 14 C 95 14, 100 19, 100 27 C 100 35, 95 40, 86 40 L 14 40 C 5 40, 0 35, 0 27 C 0 19, 5 14, 12 14 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 42' preserveAspectRatio='none'%3E%3Cpath fill='%23000' d='M 12 14 C 12 6, 26 2, 34 8 C 40 -1, 60 -1, 66 8 C 74 2, 88 6, 88 14 C 95 14, 100 19, 100 27 C 100 35, 95 40, 86 40 L 14 40 C 5 40, 0 35, 0 27 C 0 19, 5 14, 12 14 Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}.nav-pill__links .nav-link:hover:before{opacity:.35;scale:.96}.nav .nav-pill__links .nav-link[aria-current=true]{color:var(--sky-800)}[data-theme=dark] .nav .nav-pill__links .nav-link[aria-current=true]{color:var(--white)}.nav-pill__links .nav-link[aria-current=true]:before{opacity:1;scale:1}.nav-pill__links .nav-link--page{margin-left:var(--space-3)}.nav-pill__links .nav-link--page:after{content:"";left:calc(-1 * var(--space-2) - 1px);opacity:.35;background:currentColor;width:1px;position:absolute;top:28%;bottom:28%}.nav-pill__status{color:var(--fg);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}@keyframes caret-blink{50%{opacity:0}}.hero{flex-direction:column;justify-content:flex-end;min-height:100svh;padding-top:110px;display:flex;overflow:hidden}.hero__center{z-index:2;text-align:center;justify-items:center;gap:var(--space-5);max-width:980px;display:grid;position:relative}.hero__mark{aspect-ratio:1;width:clamp(84px,9vw,120px);margin-bottom:var(--space-2);display:block}.mascot-fly{--accent:var(--sky-100);z-index:60;aspect-ratio:1;transform-origin:0 0;will-change:transform;color:var(--white);filter:drop-shadow(0 10px 22px #1f3b6d47);transition:color var(--dur-base) ease, filter var(--dur-base) ease;display:block;position:fixed;top:0;left:0}.mascot-fly:not(.is-placed){visibility:hidden}.mascot-fly .mk-ring{fill:var(--tejo-face);transition:fill var(--dur-base) ease}.mascot-fly.is-hello svg{animation:mark-hop .6s var(--ease-bounce) 2}.mascot-fly.is-hello .mk-eye{animation:.6s ease-in-out 2 mark-happy}.mascot-fly.is-hello .mk-packet{animation:packet-hop .6s var(--ease-bounce) 2}.mascot-hello{z-index:61;pointer-events:none;background:var(--white);color:var(--sky-800);font:600 18px / 1.25 var(--font-sans);opacity:0;transform-origin:0 100%;width:max-content;max-width:min(15em,100vw - 24px);transition:opacity .3s ease, scale .45s var(--ease-spring);border-radius:1.3em;padding:.7em 1.2em;position:fixed;top:0;left:0;translate:0 -100%;scale:.6;box-shadow:0 12px 28px #1f3b6d38}.mascot-hello.is-on{opacity:1;scale:1}.mascot-hello__rest{visibility:hidden}.mascot-hello.is-left{transform-origin:100% 100%}.mascot-hello.is-below{transform-origin:0 0;translate:0}.mascot-fly.is-on-paper{filter:drop-shadow(0 4px 12px #1f3b6d59)}.mascot-fly.is-in-footer{--accent:var(--sky-300);color:var(--cream);filter:none}.mascot-fly .mk-packet,.mascot-fly .mk-eye{transition:fill .7s}.mascot-fly,.mascot-fly .mk-ring{transition-duration:.7s}.mascot-fly.is-in-footer .mk-ring{fill:#0000}.wm.has-tejo .wm__mark{visibility:hidden}.mascot svg{width:100%;height:auto;display:block;overflow:visible}.mascot .mk-eye{transform-box:fill-box;transform-origin:50%;translate:var(--lx,0) var(--ly,0);transition:translate .25s var(--ease-out)}.mascot .mk-packet,.mascot .mk-stem{transform-box:fill-box}.mascot .mk-stem{transform-origin:50% 100%}@media (prefers-reduced-motion:no-preference){.mascot svg{transform-origin:50% 90%;animation:4.2s ease-in-out infinite mark-float}.mascot .mk-eye{animation:9s ease-in-out infinite mark-eyes}.mascot .mk-packet{animation:1.9s ease-in-out infinite packet-bob}.mascot .mk-stem{animation:4.2s ease-in-out infinite stem-wave}.mascot.is-idle-hop svg{animation-name:mark-float,idle-hop;animation-duration:4.2s,.9s;animation-timing-function:ease-in-out, var(--ease-out);animation-iteration-count:infinite,1}.mascot.is-idle-twirl svg{animation-name:mark-float,idle-twirl;animation-duration:4.2s,1.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-wiggle svg{animation-name:mark-float,idle-wiggle;animation-duration:4.2s,.9s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-shake svg{animation-name:mark-float,idle-shake;animation-duration:4.2s,.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-stretch svg{animation-name:mark-float,idle-stretch;animation-duration:4.2s,1.2s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-sleepy svg{animation-name:mark-float,idle-sleepy;animation-duration:4.2s,2.8s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-wink svg{animation-name:mark-float,idle-wink;animation-duration:4.2s,1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite,1}.mascot.is-idle-boop svg{animation-name:mark-float,idle-boop;animation-duration:4.2s,.75s;animation-timing-function:ease-in-out, var(--ease-out);animation-iteration-count:infinite,1}.mascot.is-idle-boop .mk-eye{animation:.35s ease-in-out 2 mark-happy}.mascot.is-idle-boop .mk-packet,.mascot.is-idle-juggle .mk-packet{animation-name:packet-bob,idle-juggle;animation-duration:1.9s,1.1s;animation-timing-function:ease-in-out,cubic-bezier(.3,0,.3,1);animation-iteration-count:infinite,1}.mascot.is-idle-sleepy .mk-eye{animation:2.8s ease-in-out idle-eyes-shut}.mascot.is-idle-wink .mk-eye:nth-child(3){animation:1s ease-in-out idle-eyes-wink}.mascot.is-idle-stretch .mk-eye{animation:1.2s ease-in-out idle-eyes-yawn}}@keyframes idle-hop{20%{scale:1.08 .9}45%{translate:0 -18%;scale:.95 1.05}72%{translate:0;scale:1.06 .94}}@keyframes idle-boop{14%{scale:1.2 .76}38%{translate:0 -12%;scale:.9 1.12}62%{translate:0;scale:1.05 .95}80%{scale:.98 1.02}}@keyframes idle-twirl{50%{scale:-1 1}}@keyframes idle-wiggle{15%{rotate:-10deg}35%{rotate:9deg}55%{rotate:-7deg}75%{rotate:5deg}}@keyframes idle-shake{15%{translate:-5%}35%{translate:5%}55%{translate:-4%}75%{translate:4%}}@keyframes idle-stretch{35%{scale:.9 1.12}65%{scale:1.04 .96}}@keyframes idle-sleepy{20%,70%{translate:0 3%;rotate:8deg}78%{translate:0 -4%;rotate:-3deg}}@keyframes idle-wink{20%,60%{rotate:-6deg}}@keyframes idle-juggle{40%{translate:0 -130%;rotate:180deg}70%{translate:0;rotate:360deg}82%{translate:0 -20%}}@keyframes idle-eyes-shut{18%,72%{transform:scaleY(.12)}}@keyframes idle-eyes-wink{20%,60%{transform:scaleY(.1)}}@keyframes idle-eyes-yawn{30%,60%{transform:scaleY(.35)}}@keyframes mark-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-8px)rotate(3deg)}}@keyframes mark-eyes{0%,17%,21%,44%,76%,84%,88%,to{transform:none}19%{transform:scaleY(.1)}48%,56%{transform:translate(-22%)}64%,72%{transform:translate(22%)}86%{transform:scaleY(.1)}90%{transform:scaleY(.1)}}@keyframes stem-wave{0%,to{transform:none}50%{transform:scaleY(1.07)}}@keyframes packet-hop{50%{translate:0 -45%}}@keyframes mark-hop{0%,to{transform:translateY(0)rotate(0)}40%{transform:translateY(-14px)rotate(-6deg)}}@keyframes mark-happy{50%{transform:scaleY(.35)}}.hero__title{color:var(--white);text-shadow:0 4px 40px #1f3b6d38}.hero__title>span{display:block}.hero__light{letter-spacing:-.045em;font-weight:300}.hero__title .dim{margin-bottom:.75em}.hero__actions{margin-top:var(--space-4);justify-content:center}.hero__eyebrow{color:var(--white);text-shadow:0 1px 14px #1f3b6d59}.hero:before{content:"";z-index:-1;pointer-events:none;mix-blend-mode:soft-light;opacity:.55;background:radial-gradient(60% 9% at 22% 18%,#ffffff29,#0000 70%),radial-gradient(48% 7% at 74% 34%,#ffffff1f,#0000 70%),radial-gradient(70% 8% at 40% 62%,#ffffff1a,#0000 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero__mark:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(closest-side,#ffffff73,#0000);border-radius:50%;position:absolute;inset:-40%}.hero__mark{position:relative}.hero__side{writing-mode:vertical-rl;font:500 11px / 1 var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:var(--white);opacity:.85;white-space:nowrap;position:absolute;top:50%;left:clamp(18px,3vw,44px);translate:0 -50%;rotate:180deg}@media (min-width:761px){.hero{justify-content:center;padding-bottom:clamp(120px,14vw,220px)}.hero__center{text-align:left;place-items:center start;column-gap:clamp(32px,6vw,120px);row-gap:var(--space-4);max-width:var(--container);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"eyebrow mark""title mark""actions mark";padding-left:clamp(64px,8vw,128px)}.hero__eyebrow{grid-area:eyebrow}.hero__title{grid-area:title}.hero__actions{margin-top:calc(var(--space-4) * -1);grid-area:actions;justify-content:flex-start}.hero__mark{grid-area:mark;width:clamp(190px,24vw,350px);margin:0 clamp(16px,5vw,110px) 0 0}}.hero.is-measuring .hero__center,.hero.is-measuring .hero__mark,.hero.is-measuring .hero__mark *{transition:none!important;animation:none!important;transform:none!important}@media (max-width:760px){.hero{justify-content:flex-start;padding-top:clamp(190px,27svh,270px)}.hero__center{text-align:left;justify-items:start;gap:var(--space-4);padding-left:58px}.hero__mark{width:92px;margin:0;position:absolute;top:-112px;right:10px}.hero__title{font-size:clamp(3.3rem,17vw,4.6rem);line-height:.92}.hero__actions{margin-top:var(--space-5);--cluster-gap:var(--space-2);flex-wrap:nowrap;justify-content:flex-start}.hero__actions .btn{padding:0 var(--space-4);letter-spacing:.08em;font-size:clamp(.625rem,3vw,.75rem)}.hero__side{left:18px}}@media (max-width:520px){.sheet{text-align:center;border-radius:14px;flex-direction:column;gap:4px}.sheet:before{display:none}.hero .sheet,.contact__inner .sheet{align-self:center}}@media (max-width:759px){.blueprint>.cloud:not(:first-of-type),.work>.cloud:not(:first-of-type){display:none}.hero>.cloud:first-of-type{--o:.55;right:-14%;--w:260px!important;top:8%!important;left:auto!important}}.hero>.container{z-index:2;position:relative}.hero{padding-bottom:clamp(170px,19vw,290px)}.hero .cloudbank{z-index:3;height:clamp(120px,15vw,230px)}.hero .cloudbank--back{opacity:.6;bottom:10%}.ticker{padding-block:var(--space-4) var(--space-6);color:var(--sky-600)}[data-theme=dark] .ticker{color:var(--sky-300)}.ticker .marquee__item{opacity:.9;font-weight:700}.marquee__sep{opacity:.6;background:radial-gradient(circle,currentColor 5px,#0000 5.5px) 50%/12px 12px no-repeat,linear-gradient(currentColor,currentColor) 50%/100% 1.5px no-repeat;flex:none;width:64px;height:12px}.intro__grid{gap:var(--space-8);align-items:center;display:grid}@media (min-width:960px){.intro__grid{gap:var(--space-9);grid-template-columns:5fr 7fr;align-items:start}.intro__photo{position:sticky;top:120px}.intro__text{padding-block:12vh 8vh}.intro__statement{font-size:var(--text-3xl);line-height:1.18}}.intro__photo{max-width:460px;color:var(--fg);margin-bottom:var(--space-5)}.intro__photo img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-md);width:100%}.intro__statement{font-size:var(--text-2xl);letter-spacing:-.015em;color:var(--fg-muted);line-height:1.3}.intro__statement strong{margin-top:var(--space-4);color:var(--fg);font-weight:600;display:block}.intro__stats{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.intro__clients{gap:var(--space-4);display:grid}.logo-row{align-items:center;gap:var(--space-6);flex-wrap:wrap;padding:0;list-style:none;display:flex}.logo-row img{filter:grayscale();opacity:.7;width:auto;height:34px;transition:filter var(--dur-base) ease, opacity var(--dur-base) ease}.logo-row img:hover{filter:none;opacity:1}[data-theme=dark] .logo-row img{filter:grayscale()invert()}[data-theme=dark] .logo-row img:hover{filter:invert()}.work{padding-block:var(--space-6) clamp(220px, 24vw, 340px);background:linear-gradient(180deg, var(--hero-from) 0%, var(--hero-mid) 40%, var(--hero-to) calc(100% - clamp(320px, 34vw, 480px)), color-mix(in srgb, var(--hero-to) 55%, var(--bg)) calc(100% - clamp(160px, 17vw, 240px)), var(--bg) 100%);overflow:hidden}.work>.container{z-index:1;position:relative}.work__head{text-align:center;justify-items:center;gap:var(--space-4);margin-bottom:var(--space-8);display:grid}.bracket-heading{font:800 var(--text-4xl) / 1 var(--font-display);letter-spacing:var(--tracking-tight);align-items:center;gap:.25em;display:inline-flex}.bracket-heading__b{opacity:.8;transition:transform 1s var(--ease-out) .2s;font-weight:300}.bracket-heading:not(.is-in) .bracket-heading__b--l{transform:translate(-160%)}.bracket-heading:not(.is-in) .bracket-heading__b--r{transform:translate(160%)}.bracket-heading[data-reveal]{opacity:1;transform:none}.work__sub{max-width:22ch;font:800 var(--text-2xl) / 1.1 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:var(--white)}.deck{gap:var(--space-6);outline:none;min-height:min(78vh,720px);display:grid}@media (min-width:900px){.deck{grid-template-columns:minmax(16rem,.75fr) 1.25fr;align-items:stretch}}.deck:focus-visible{outline:2px solid var(--white);outline-offset:8px;border-radius:var(--radius-lg)}.deck__info{z-index:200;justify-content:center;gap:var(--space-6);flex-direction:column;display:flex;position:relative}.deck__foot{justify-content:space-between;align-items:center;gap:var(--space-3) var(--space-5);max-width:36rem;padding-top:var(--space-4);border-top:1px solid #ffffff40;flex-wrap:wrap;display:flex}.deck__all{align-items:center;gap:var(--space-2);color:var(--white);display:inline-flex}.deck__all>span{text-underline-offset:5px;transition:text-decoration-color var(--dur-base) ease;-webkit-text-decoration:underline #fff6;text-decoration:underline #fff6}.deck__all:hover>span{-webkit-text-decoration-color:var(--white);text-decoration-color:var(--white)}.deck__all:hover .btn__icon{transform:translate(3px)}.deck__count{font:300 clamp(2.4rem, 5vw, 4.2rem) / 1 var(--font-display);letter-spacing:-.04em;font-variant-numeric:tabular-nums;align-items:center;gap:.2em;display:flex}.deck__count i{opacity:.7;background:currentColor;width:2px;height:.8em;margin-inline:.18em;rotate:15deg}.deck__count [data-deck-current]{font-weight:800}.deck-info{min-height:15rem;display:grid}.deck-info__item{align-content:start;gap:var(--space-3);opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease, transform var(--dur-slow) var(--ease-out);grid-area:1/1;display:grid;transform:translateY(16px)}.deck-info__item.is-active{opacity:1;pointer-events:auto;transition-delay:.12s;transform:none}.deck-info__meta{color:var(--white)}.deck-info__title{font:800 var(--text-3xl) / 1 var(--font-display);letter-spacing:var(--tracking-tight)}.deck-info__text{color:var(--white);max-width:42ch}.chip--light{color:var(--white);border-color:#fff6}.deck__nav{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.deck__btn{width:52px;height:52px;color:var(--white);transition:background-color var(--dur-fast) ease, transform var(--dur-fast) var(--ease-spring);border:1px solid #ffffff59;border-radius:10px;place-items:center;display:grid;position:relative}.deck__btn:before{content:"";pointer-events:none;--c:#ffffffe6;background:linear-gradient(var(--c), var(--c)) 0 0 / 10px 1.5px, linear-gradient(var(--c), var(--c)) 0 0 / 1.5px 10px, linear-gradient(var(--c), var(--c)) 100% 0 / 10px 1.5px, linear-gradient(var(--c), var(--c)) 100% 0 / 1.5px 10px, linear-gradient(var(--c), var(--c)) 0 100% / 10px 1.5px, linear-gradient(var(--c), var(--c)) 0 100% / 1.5px 10px, linear-gradient(var(--c), var(--c)) 100% 100% / 10px 1.5px, linear-gradient(var(--c), var(--c)) 100% 100% / 1.5px 10px;opacity:0;transition:opacity var(--dur-fast) ease, scale var(--dur-base) var(--ease-spring);background-repeat:no-repeat;border-radius:13px;position:absolute;inset:-5px;scale:1.15}.deck__btn:hover{background:#ffffff1f}.deck__btn:hover:before{opacity:1;scale:1}.deck__btn:active{transform:scale(.94)}.deck__btn svg{width:18px;height:18px}.deck__hint{color:var(--white);opacity:.9}.deck__stage{touch-action:pan-y;-webkit-user-select:none;user-select:none;min-height:min(70vh,640px);position:relative}.deck__cards{position:absolute;inset:0}.deck-card{will-change:transform, opacity;width:clamp(240px,30vw,480px);transition:box-shadow var(--dur-base) ease;background:0 0;border:0;margin:calc(clamp(240px,30vw,480px)/-3.57143) 0 0 calc(clamp(240px,30vw,480px)/-2);padding:0;position:absolute;top:50%;left:50%}.deck-card img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.deck-card .shot{transform:none;box-shadow:0 30px 50px -24px #0318358c}.deck-card[data-active] .shot{box-shadow:0 40px 70px -26px #031835a6,0 0 0 1px #ffffff80}.deck-card[data-active]:hover .shot{scale:1.03}.deck-card:focus-visible{outline:none}@media (max-width:899px){.deck__stage{touch-action:pan-y;order:-1;min-height:380px}.deck-card{width:min(72vw,320px);margin:calc(min(72vw,320px)/-3.57143) 0 0 calc(min(72vw,320px)/-2)}.deck-info{min-height:13rem}}.case{gap:var(--space-7);padding:0 clamp(20px,5vw,56px) clamp(24px,5vw,56px);display:grid}.case__head{gap:var(--space-4);justify-items:start;display:grid}.case__head .lead{max-width:60ch}.case__facts{gap:var(--space-6);flex-wrap:wrap;display:flex}.case__facts div{gap:var(--space-1);display:grid}.case__cover{border-radius:var(--radius-lg);border:1px solid var(--border);width:100%}.case__metrics{gap:var(--space-5);padding-block:var(--space-5);border-block:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.case__story{gap:var(--space-6);display:grid}.case__story section{gap:var(--space-3);display:grid}.case__story p{font-size:var(--text-lg);max-width:64ch}@media (min-width:760px){.case__story{grid-template-columns:1fr 1fr}.case__story section:last-child{grid-column:1/-1}}.case__gallery{gap:var(--space-4);display:grid}.case__gallery img{border-radius:var(--radius-md);border:1px solid var(--border);width:100%}@media (min-width:760px){.case__gallery{grid-template-columns:1fr 1fr}.case__gallery img:first-child{grid-column:1/-1}}.exp{gap:var(--space-7);display:grid}@media (min-width:960px){.exp{gap:var(--space-9);grid-template-columns:4fr 8fr;align-items:start}.exp__head{position:sticky;top:110px}}.exp__edu{gap:var(--space-3);margin-top:var(--space-5);display:grid}.edu-list{gap:var(--space-4);padding:0;list-style:none;display:grid}.edu-list li{gap:2px;display:grid}.edu-list span:last-child{color:var(--fg-muted);font-size:var(--text-sm)}.job{gap:var(--space-1) var(--space-4);grid-template-columns:1fr;display:grid}.job__role{font:700 var(--text-xl) / 1.15 var(--font-display);letter-spacing:-.02em}.job__org{color:var(--fg-muted)}@media (min-width:640px){.job{grid-template-columns:150px 1fr}.job__period{grid-row:1/span 2;padding-top:6px}}.accordion__content{gap:var(--space-4);display:grid}@media (min-width:640px){.accordion__content{padding-left:calc(150px + var(--space-4))}}.numbers{background:var(--bg-sunken)}.hscroll{position:relative}.hscroll__sticky{justify-content:center;gap:var(--space-7);padding-block:var(--space-9);flex-direction:column;display:flex}.hscroll.is-pinned .hscroll__sticky{height:100vh;padding-block:0;position:sticky;top:0;overflow:hidden}.hscroll__head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;display:flex}.hscroll__meta{align-items:center;gap:var(--space-4);min-width:220px;font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:.1em;color:var(--fg-muted);font-variant-numeric:tabular-nums;display:flex}.hscroll__bar-track{background:var(--border);border-radius:3px;flex:1;height:3px;overflow:hidden}.hscroll__bar{background:var(--brand);transform-origin:0;height:100%;transform:scaleX(var(--p,0));display:block}.hscroll__viewport{padding-block:var(--space-5) var(--space-7);overflow:hidden}.hscroll:not(.is-pinned) .hscroll__viewport{scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto}.hscroll:not(.is-pinned) .hscroll__viewport::-webkit-scrollbar{display:none}.hscroll__track{gap:var(--space-5);width:max-content;padding-inline:max(var(--gutter), calc((100vw - var(--container)) / 2 + var(--gutter)));will-change:transform;display:flex}.hscroll__card{scroll-snap-align:center;transform-origin:50% 100%;flex:none;width:clamp(260px,26vw,360px);min-height:300px}.hscroll__card:hover{transform:none}.hscroll__card p{opacity:.9}.hscroll__card.feature--brand p{opacity:1}.studio{padding-bottom:0;position:relative;overflow-x:clip}.studio__inner{z-index:1;position:relative}.studio__top{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.studio__top .sheet{flex:none}.studio__meta{font:500 var(--text-xs) / 1.5 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);margin:0}.studio__title{z-index:3;font:800 clamp(3rem, .8rem + 8vw, 8.5rem) / .9 var(--font-display);letter-spacing:-.045em;font-variation-settings:"opsz" 96;text-wrap:balance;margin:0;position:relative}.studio__line{display:block}.studio__line--2{text-align:right}.studio__title em{color:var(--brand);transition:scale var(--dur-base) var(--ease-spring), rotate var(--dur-base) var(--ease-spring);font-style:normal;display:inline-block}.studio__title em:hover{rotate:-3deg;scale:.86}.studio__stage{--mx:0;--my:0;z-index:2;aspect-ratio:800/440;width:min(62vw,820px);margin:var(--space-4) auto 0;perspective:1200px;position:relative;container-type:inline-size}.studio__window{--w:clamp(280px, 64cqi, 620px);z-index:2;width:var(--w);background:var(--white);translate:-50% -50%;rotate:4deg;transform:rotateX(calc(var(--my) * -9deg)) rotateY(calc(var(--mx) * 12deg));transition:transform .5s var(--ease-out), rotate var(--dur-slow) var(--ease-spring), scale var(--dur-base) var(--ease-spring), box-shadow var(--dur-base) ease;border:1px solid #111c361f;border-radius:14px;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 40px 70px -26px #111c3673,0 8px 20px #111c361a}.studio__window:hover{rotate:1.5deg;scale:1.02;box-shadow:0 50px 80px -26px #111c3680,0 10px 24px #111c361f}[data-theme=dark] .studio__window{border-color:#ffffff24;box-shadow:0 40px 80px -26px #000000b3}.studio__window-bar{background:var(--cream-2);border-bottom:1px solid #111c3614;align-items:center;gap:6px;margin:0;padding:10px 14px;display:flex}.studio__window-bar i{border-radius:50%;width:10px;height:10px}.studio__window-bar i:first-child{background:#ff6b5e}.studio__window-bar i:nth-child(2){background:#ffc03d}.studio__window-bar i:nth-child(3){background:#3dcf62}.studio__window-bar span{border-radius:var(--radius-pill);background:var(--white);font:500 11px / 1 var(--font-mono);letter-spacing:.04em;color:#111c36a6;align-items:center;gap:7px;margin-inline:auto;padding:5px 14px;display:inline-flex}.studio__window-bar img{border-radius:4px}.studio__window-view{aspect-ratio:1440/900;background:linear-gradient(100deg, var(--cream-2) 30%, var(--cream) 50%, var(--cream-2) 70%) 0 0 / 300% 100%;animation:1.4s linear infinite preview-wait;position:relative;overflow:hidden}.studio__window-view.is-loaded{animation:none}.studio__window-view img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.studio__window-view iframe{transform-origin:0 0;width:1440px;height:900px;scale:var(--k,.36);pointer-events:none;opacity:0;border:0;transition:opacity .5s;position:absolute;top:0;left:0}.studio__window-view.is-live iframe{opacity:1}@keyframes preview-wait{to{background-position:-150% 0}}.studio__window-link{z-index:1;border-radius:inherit;position:absolute;inset:0}.studio__window-link:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.studio__services{margin:0;padding:0;list-style:none}.studio__services li{border-radius:var(--radius-pill);font:500 11px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--sky-800);background:var(--white);rotate:var(--r,0deg);transition:rotate var(--dur-base) var(--ease-spring), scale var(--dur-base) var(--ease-spring), border-color var(--dur-fast) ease, color var(--dur-fast) ease, opacity var(--dur-slow) var(--ease-out);border:1px solid #3f8fd64d;padding:10px 14px;box-shadow:0 10px 24px -10px #3f8fd680}.studio__services li:hover{border-color:var(--brand);color:var(--brand-strong);rotate:0deg;scale:1.1}.studio__foot{justify-items:center;gap:var(--space-5);margin:var(--space-8) auto 0;text-align:center;max-width:46ch;display:grid}.studio__lead{font-size:var(--text-lg);color:var(--fg-muted);margin:0;line-height:1.55}.studio__word{z-index:0;width:100%;height:auto;margin-top:var(--space-7);fill:var(--fg);fill-opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:-1.2%;font-weight:800;display:block;position:relative}@media (min-width:760px){.studio__services{pointer-events:none;position:absolute;inset:0 -12%}.studio__services li{left:var(--x);top:var(--y);pointer-events:auto;position:absolute}}@media (max-width:759px){.studio__stage{width:100%;margin-top:var(--space-6);aspect-ratio:auto;justify-items:center;display:grid}.studio__window{--w:100%;position:relative;top:auto;left:auto;translate:none;rotate:2deg}.studio__services{margin-top:var(--space-5);flex-wrap:wrap;justify-content:center;gap:16px 10px;display:flex}.studio__services li{rotate:calc(var(--r,0deg) * .5)}}.wm{--wm-elastic:linear(0, .171, .374, .583, .778, .944, 1.073, 1.163, 1.216, 1.236, 1.23, 1.204, 1.166, 1.123, 1.079, 1.039, 1.006, .98, .963, .953, .95, .953, .959, .967, .976, .985, .993, 1, 1.005, 1.008, 1.01, 1.008, 1.005, 1.003, 1, .999, .998, .999, 1);width:100%;height:auto;display:block;overflow:visible}.wm__letter{clip-path:var(--from);transition:clip-path .7s cubic-bezier(.215, .61, .355, 1) calc(var(--i) * 70ms)}.wm__shape{fill:var(--sky-300);transform-box:fill-box;transform-origin:50%}.wm__dot{transition:transform 1s var(--wm-elastic) .55s;transform:scale(0)translateY(-60%)}.wm__bar{transform-origin:0;transition:transform .9s cubic-bezier(.645,.045,.355,1) .7s;transform:scaleX(0)}.wm__caret{fill:var(--cream);transform-origin:50% 100%;transition:transform .6s var(--wm-elastic) 1s;transform:scaleY(0)}.wm{--accent:var(--sky-300)}.wm .mk-ring{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .9s cubic-bezier(.65,0,.35,1)}.wm .mk-stem{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--wm-elastic) .35s;transform:scaleY(0)}.wm .mk-eye{transform-box:fill-box;transform-origin:50%;transition:transform .35s var(--ease-bounce) .7s;transform:scaleY(0)}.wm .mk-packet{transform-box:fill-box;transform-origin:50%;transition:transform .9s var(--wm-elastic) .8s;transform:scale(0)}.wm.is-in .mk-ring{stroke-dashoffset:0}.wm.is-in .mk-stem,.wm.is-in .mk-eye{transform:none}.wm.is-in .mk-packet{animation:2.4s ease-in-out 1.8s infinite packet-bob;transform:none}.wm.is-in .mk-eye{animation:4.5s 2.5s infinite blink}@keyframes blink{0%,94%,to{transform:none}97%{transform:scaleY(.1)}}@keyframes packet-bob{50%{translate:0 -12%}}.wm.is-in .wm__letter{clip-path:inset(0)}.wm.is-in .wm__dot,.wm.is-in .wm__bar{transform:none}.wm.is-in .wm__caret{animation:1.1s step-end 1.8s infinite caret-blink;transform:none}.footer__mark:hover .wm.is-in .wm__dot{animation:dot-hop .9s var(--wm-elastic)}@keyframes dot-hop{30%{transform:translateY(-45%)scale(1.15)}}@media (prefers-reduced-motion:reduce){.wm__letter{clip-path:none;transition:none}.wm__shape,.wm [class^=mk-]{stroke-dashoffset:0!important;transition:none!important;animation:none!important;transform:none!important}}.footer__inner{gap:var(--space-4);font-size:var(--text-sm);align-items:center;display:grid}.footer__meta{gap:var(--space-2);color:#fff9f1b3;flex-wrap:wrap;display:flex}.footer__consent{color:inherit;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #fff9f166;text-decoration:underline #fff9f166}.footer__consent:hover{color:var(--cream);text-decoration-color:currentColor}.footer__clock{gap:var(--space-3);align-items:center;display:flex}.footer__clock .label--muted{color:#fff9f180}.footer__links{gap:var(--space-5);flex-wrap:wrap;padding:0;list-style:none;display:flex}.footer__links a{position:relative}.footer__links a:after{content:"";transform-origin:100%;height:1px;transition:transform var(--dur-base) var(--ease-out);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.footer__links a:hover:after{transform-origin:0;transform:scaleX(1)}@media (min-width:900px){.footer__inner{gap:var(--space-7);grid-template-columns:1fr auto auto}}@media (max-width:640px){.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:92dvh;margin:auto 0 0}.dialog[open]{animation:sheet-in var(--dur-slow) var(--ease-out)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:no-preference){.hero__inner{transform:translateY(calc(var(--p,0) * -22vh));opacity:calc(1 - var(--p,0) * 1.5)}.hero-shot{transform:translateY(calc(var(--p,0) * var(--d) * -9px)) rotate(calc(var(--p,0) * var(--r) * 2))}.hero__sun{translate:0 calc(var(--p,0) * 30vh)}.hero .cloud{translate:calc(var(--p,0) * 18vw) calc(var(--p,0) * 8vh)}.hero .cloud:nth-of-type(2n){translate:calc(var(--p,0) * -22vw) calc(var(--p,0) * 4vh)}.hero__title>span:nth-child(2){--delay:.12s}.hero__title>span:nth-child(3){--delay:.24s}.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 120px)) rotate(calc(-7deg + var(--p,.5) * 9deg));rotate:0deg}.index-row[data-reveal]{transform:translate(-24px)}.index-row[data-reveal].is-in{transform:none}.index-row{border-bottom-color:#0000;position:relative}.index-row:after{content:"";background:var(--border);transform-origin:0;height:1px;transition:transform 1.2s var(--ease-out) calc(var(--i,0) * 70ms);position:absolute;inset:auto 0 0;transform:scaleX(0)}.index-row.is-in:after{transform:scaleX(1)}}@media (prefers-reduced-motion:no-preference) and (max-width:760px){.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 50px)) rotate(calc(-4deg + var(--p,.5) * 5deg))}}.hire{padding-top:calc(var(--section-y) + clamp(150px, 21vw, 320px));overflow-x:clip}.hire .cloudbank--top{--bank:var(--bg-sunken)}.hire__inner{z-index:2;gap:var(--space-8);display:grid;position:relative}.hire__lead{max-width:600px;font-size:var(--text-lg);color:var(--fg-muted)}.hire__grid{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}@media (min-width:860px){.hire__grid{grid-template-columns:repeat(3,1fr)}}.hire__card{gap:var(--space-3)}.hire__card-title{font:800 var(--text-2xl) / 1.1 var(--font-display);letter-spacing:-.02em}.hire__card-text{opacity:.82}.hire__proof{padding-top:var(--space-4);border-top:1px solid;border-top-color:color-mix(in srgb, currentColor 22%, transparent);font:500 var(--text-xs) / 1.4 var(--font-mono);letter-spacing:.04em;margin-top:auto}.hire__proof span{opacity:.65;margin-right:.4em}[data-theme=dark] .hire .feature--white{background:var(--bg-raised);color:var(--fg)}.hire__how{gap:var(--space-5);margin-top:var(--space-8);display:grid}.hire__how-title{font-size:clamp(2.4rem,.6rem + 6vw,6.5rem)}.hire__sky{padding-top:84px;position:relative}.hire__trail{display:none}.hire__steps{z-index:1;align-items:start;gap:var(--space-8);margin:0;padding:0;list-style:none;display:grid;position:relative}.hire__cloud{--cloud:var(--white);--ink-c:var(--ink);gap:var(--space-2);width:min(100%,290px);padding:var(--space-5) var(--space-6);background:var(--cloud);color:var(--ink-c);text-align:center;filter:drop-shadow(0 16px 22px #1f3b6d24);border-radius:999px;justify-items:center;font-weight:500;line-height:1.35;display:grid;position:relative}.hire__cloud:before,.hire__cloud:after{content:"";z-index:-1;background:var(--cloud);border-radius:50%;position:absolute}.hire__cloud:before{aspect-ratio:1;width:34%;bottom:42%;left:14%}.hire__cloud:after{aspect-ratio:1;width:44%;bottom:30%;right:12%}.hire__cloud:nth-child(2n){justify-self:end}.hire__cloud:last-child{--cloud:var(--sky-200);--ink-c:var(--sky-800)}.hire__step-no{font:600 var(--text-xs) / 1 var(--font-mono);letter-spacing:var(--tracking-label);color:var(--brand)}.hire__cloud:last-child .hire__step-no{color:var(--sky-800)}[data-theme=dark] .hire__cloud{--cloud:#1f3663;--ink-c:var(--cream);filter:drop-shadow(0 16px 24px #00000059)}[data-theme=dark] .hire__cloud:last-child{--cloud:var(--brand-strong);--ink-c:var(--white)}[data-theme=dark] .hire__cloud:last-child .hire__step-no{color:var(--sky-100)}.hire__note{text-align:center;font-size:var(--text-sm);color:var(--fg-muted);margin:0}@media (min-width:900px){.hire__sky{padding-top:110px}.hire__steps{gap:var(--space-5);grid-template-columns:repeat(4,1fr)}.hire__cloud{justify-self:stretch;width:100%}.hire__cloud:nth-child(2n){margin-top:90px}.hire__trail{fill:none;width:100%;height:100%;stroke:var(--brand);stroke-width:2px;stroke-dasharray:2 9;stroke-linecap:round;opacity:.45;vector-effect:non-scaling-stroke;display:block;position:absolute;inset:0;overflow:visible}.hire__trail path{vector-effect:non-scaling-stroke}}@property --bob{syntax:"<length>";inherits:false;initial-value:0}.hire__cloud:first-child{--depth:140px}.hire__cloud:nth-child(2){--depth:-60px}.hire__cloud:nth-child(3){--depth:200px}.hire__cloud:nth-child(4){--depth:-20px}@media (prefers-reduced-motion:no-preference){.hire__cloud{translate:0 calc((var(--p,.5) - .5) * var(--depth,0px) + var(--bob));will-change:translate}.hire__cloud.is-in{animation:7s ease-in-out infinite alternate cloud-bob;animation-delay:calc(var(--i,0) * -1.9s)}.hire__cloud:hover{transition:scale .4s var(--ease-spring);scale:1.04}.hire__trail{translate:0 calc((var(--p,.5) - .5) * 60px)}}@media (prefers-reduced-motion:no-preference) and (max-width:899px){.hire__cloud:nth-child(n){--depth:0px}}@keyframes cloud-bob{0%{--bob:-6px}to{--bob:8px}}.contact{background:var(--sky-900)}.contact__band{background:linear-gradient(180deg, var(--hero-from) 0%, var(--hero-mid) 30%, var(--hero-to) 64%, color-mix(in srgb, var(--hero-to) 50%, var(--horizon)) 84%, var(--horizon) 100%);padding-block:clamp(230px,27vw,390px) clamp(160px,18vw,260px);overflow:hidden}.contact__band .cloudbank--top{--bank:var(--bg)}.contact__band>.container{z-index:2;position:relative}.contact__inner{text-align:center;justify-items:center;gap:var(--space-5);display:grid}.contact__actions{justify-content:center}.contact__title{font:800 var(--text-5xl) / .95 var(--font-display);letter-spacing:var(--tracking-tight);max-width:13ch}.contact__lead{max-width:46ch;font-size:var(--text-lg);color:var(--white)}.contact__email{font:500 var(--text-sm) / 1 var(--font-mono);color:var(--white);letter-spacing:.04em;overflow-wrap:anywhere}.hero__center,.hero .cloud,.contact__band .cloud{will-change:transform}:root{--horizon:#9fd0f5;--sea-back:#69b4e6;--sea-mid:#3f93d4;--sea-top:#2a7bc0;--sea-deep:#0b2b57;--sea-floor:#061a3a;--glint:#fff}[data-theme=dark]{--horizon:#2c4d86;--sea-back:#1f4278;--sea-mid:#183566;--sea-top:#112a55;--sea-deep:#081a3a;--sea-floor:#040c1f;--glint:#e3ecff}.footer{isolation:isolate;color:var(--cream);padding-block:clamp(150px, 16vw, 210px) var(--space-6);position:relative}@media (max-width:760px){.footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}}.ocean{z-index:-1;pointer-events:none;background:linear-gradient(180deg, var(--horizon) 0 50px, var(--sea-top) 112px, color-mix(in srgb, var(--sea-top) 45%, var(--sea-deep)) 38%, var(--sea-deep) 72%, var(--sea-floor));position:absolute;inset:0;overflow:hidden}.ocean[data-offscreen] *,.ocean[data-offscreen] :before,.ocean[data-offscreen] :after{animation-play-state:paused!important}.wave{left:0;top:var(--top);height:var(--h);width:calc(100% + var(--tile));background:var(--fill);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 100' preserveAspectRatio='none'%3E%3Cpath d='M0 38 Q150 8 300 38 T600 38 V100 H0 Z'/%3E%3C/svg%3E") 0 0 / var(--tile) 100% repeat-x;animation:wave-roll var(--speed) linear infinite;will-change:transform;position:absolute}.wave--back{--fill:var(--sea-back);--tile:520px;--h:64px;--top:22px;--speed:26s;opacity:.85}.wave--mid{--fill:var(--sea-mid);--tile:760px;--h:70px;--top:36px;--speed:19s;animation-direction:reverse}.wave--front{--fill:var(--sea-top);--tile:980px;--h:72px;--top:48px;--speed:14s}@keyframes wave-roll{to{transform:translateX(calc(-1 * var(--tile)))}}.ocean__glints{background:radial-gradient(1.6px 1.6px at 12% 20%, var(--glint), transparent), radial-gradient(1.2px 1.2px at 23% 62%, var(--glint), transparent), radial-gradient(2px 2px at 37% 34%, var(--glint), transparent), radial-gradient(1.3px 1.3px at 49% 70%, var(--glint), transparent), radial-gradient(1.8px 1.8px at 58% 18%, var(--glint), transparent), radial-gradient(1.2px 1.2px at 71% 52%, var(--glint), transparent), radial-gradient(2px 2px at 83% 28%, var(--glint), transparent), radial-gradient(1.4px 1.4px at 92% 66%, var(--glint), transparent);height:120px;animation:3.2s ease-in-out infinite glint;position:absolute;top:96px;left:0;right:0}.ocean__glints+.ocean__glints{animation-delay:-1.6s;top:108px;transform:translate(4%)}@keyframes glint{0%,to{opacity:.2}50%{opacity:.95}}.ocean__shimmer{width:min(340px,46vw);height:150px;position:absolute;top:78px;left:62%;translate:-50%;-webkit-mask:linear-gradient(#000 40%,#0000);mask:linear-gradient(#000 40%,#0000)}.ocean__shimmer:before,.ocean__shimmer:after{content:"";animation:2.2s ease-in-out infinite alternate shimmer;position:absolute;inset:0}.ocean__shimmer:before{background:radial-gradient(12px 1.6px at 24% 45%, color-mix(in srgb, var(--glint) 81%, transparent), transparent), radial-gradient(14px 1.7px at 43% 19%, color-mix(in srgb, var(--glint) 91%, transparent), transparent), radial-gradient(20px 1.8px at 49% 11%, color-mix(in srgb, var(--glint) 57%, transparent), transparent), radial-gradient(15px 1.8px at 58% 94%, color-mix(in srgb, var(--glint) 83%, transparent), transparent), radial-gradient(7px 1.3px at 60% 17%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(14px 1.5px at 51% 5%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(14px 1.6px at 40% 51%, color-mix(in srgb, var(--glint) 68%, transparent), transparent), radial-gradient(15px 1.9px at 32% 96%, color-mix(in srgb, var(--glint) 87%, transparent), transparent), radial-gradient(6px 1.9px at 51% 32%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(9px 2.1px at 65% 82%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(14px 2.1px at 53% 2%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(17px 1.9px at 65% 9%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(19px 1.2px at 41% 10%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(7px 1.9px at 66% 11%, color-mix(in srgb, var(--glint) 63%, transparent), transparent), radial-gradient(15px 1.2px at 41% 55%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(13px 1.3px at 52% 13%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(14px 1.3px at 56% 93%, color-mix(in srgb, var(--glint) 73%, transparent), transparent), radial-gradient(12px 1.2px at 35% 82%, color-mix(in srgb, var(--glint) 100%, transparent), transparent), radial-gradient(11px 1.4px at 49% 22%, color-mix(in srgb, var(--glint) 58%, transparent), transparent), radial-gradient(16px 1.3px at 62% 10%, color-mix(in srgb, var(--glint) 82%, transparent), transparent), radial-gradient(13px 1.7px at 23% 37%, color-mix(in srgb, var(--glint) 94%, transparent), transparent), radial-gradient(8px 2px at 56% 19%, color-mix(in srgb, var(--glint) 92%, transparent), transparent), radial-gradient(21px 1.3px at 56% 25%, color-mix(in srgb, var(--glint) 98%, transparent), transparent), radial-gradient(11px 1.5px at 78% 85%, color-mix(in srgb, var(--glint) 60%, transparent), transparent), radial-gradient(18px 1.4px at 55% 6%, color-mix(in srgb, var(--glint) 92%, transparent), transparent), radial-gradient(9px 1.3px at 48% 58%, color-mix(in srgb, var(--glint) 87%, transparent), transparent)}.ocean__shimmer:after{background:radial-gradient(21px 1.7px at 51% 8%, color-mix(in srgb, var(--glint) 68%, transparent), transparent), radial-gradient(6px 1.1px at 74% 88%, color-mix(in srgb, var(--glint) 67%, transparent), transparent), radial-gradient(11px 1.7px at 57% 44%, color-mix(in srgb, var(--glint) 61%, transparent), transparent), radial-gradient(19px 2.1px at 53% 36%, color-mix(in srgb, var(--glint) 85%, transparent), transparent), radial-gradient(5px 1.1px at 43% 67%, color-mix(in srgb, var(--glint) 96%, transparent), transparent), radial-gradient(17px 1.1px at 46% 68%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(20px 1.2px at 49% 47%, color-mix(in srgb, var(--glint) 80%, transparent), transparent), radial-gradient(16px 1.8px at 36% 71%, color-mix(in srgb, var(--glint) 87%, transparent), transparent), radial-gradient(13px 2px at 64% 77%, color-mix(in srgb, var(--glint) 94%, transparent), transparent), radial-gradient(17px 2px at 44% 41%, color-mix(in srgb, var(--glint) 81%, transparent), transparent), radial-gradient(13px 1.2px at 36% 61%, color-mix(in srgb, var(--glint) 84%, transparent), transparent), radial-gradient(14px 1.8px at 68% 95%, color-mix(in srgb, var(--glint) 72%, transparent), transparent), radial-gradient(15px 1.2px at 35% 71%, color-mix(in srgb, var(--glint) 89%, transparent), transparent), radial-gradient(17px 1.6px at 47% 5%, color-mix(in srgb, var(--glint) 65%, transparent), transparent), radial-gradient(17px 1.4px at 28% 68%, color-mix(in srgb, var(--glint) 56%, transparent), transparent), radial-gradient(16px 1.3px at 50% 30%, color-mix(in srgb, var(--glint) 63%, transparent), transparent), radial-gradient(15px 1.4px at 39% 87%, color-mix(in srgb, var(--glint) 85%, transparent), transparent), radial-gradient(13px 1.9px at 42% 21%, color-mix(in srgb, var(--glint) 96%, transparent), transparent), radial-gradient(8px 1.2px at 32% 85%, color-mix(in srgb, var(--glint) 77%, transparent), transparent), radial-gradient(15px 1.8px at 66% 81%, color-mix(in srgb, var(--glint) 98%, transparent), transparent), radial-gradient(10px 1.3px at 55% 28%, color-mix(in srgb, var(--glint) 74%, transparent), transparent), radial-gradient(11px 1.4px at 64% 61%, color-mix(in srgb, var(--glint) 93%, transparent), transparent), radial-gradient(4px 2px at 42% 94%, color-mix(in srgb, var(--glint) 57%, transparent), transparent), radial-gradient(12px 1.4px at 52% 69%, color-mix(in srgb, var(--glint) 91%, transparent), transparent), radial-gradient(6px 1.9px at 54% 4%, color-mix(in srgb, var(--glint) 66%, transparent), transparent), radial-gradient(6px 1.7px at 56% 15%, color-mix(in srgb, var(--glint) 75%, transparent), transparent);animation-delay:-1.1s}@keyframes shimmer{0%{opacity:.15;transform:translate(-4px)}to{opacity:.95;transform:translate(4px)}}.ocean__rays{transform-origin:50% 0;background:linear-gradient(100deg,#0000 12%,#ffffff12 16%,#0000 22%),linear-gradient(96deg,#0000 38%,#ffffff0f 43%,#0000 49%),linear-gradient(104deg,#0000 63%,#ffffff14 67%,#0000 73%),linear-gradient(98deg,#0000 82%,#ffffff0d 86%,#0000 91%);height:70%;animation:9s ease-in-out infinite alternate rays;position:absolute;top:100px;left:0;right:0;-webkit-mask:linear-gradient(#000,#0000);mask:linear-gradient(#000,#0000)}@keyframes rays{0%{opacity:.55;transform:skew(-4deg)}to{opacity:1;transform:skew(4deg)}}.ocean__bubbles{position:absolute;inset:110px 0 0;overflow:hidden}.ocean__bubbles i{bottom:-24px;left:var(--x);width:var(--s);aspect-ratio:1;animation:bubble var(--d) ease-in infinite;animation-delay:var(--l);background:radial-gradient(circle at 32% 30%,#ffffff8c,#ffffff0f 45%,#0000 70%);border:1px solid #ffffff73;border-radius:50%;position:absolute}@keyframes bubble{0%{opacity:0;transform:translate(0)}12%{opacity:.9}50%{transform:translate(var(--sway), -45vh)}85%{opacity:.7}to{opacity:0;transform:translateY(-90vh)}}@media (prefers-reduced-motion:reduce){.ocean *,.footer__mark{animation:none!important}}.footer__mark{animation:7s ease-in-out infinite float-on-sea}@keyframes float-on-sea{50%{transform:translateY(-6px)rotate(-.4deg)}}.footer__mark{margin-bottom:var(--space-7);color:var(--cream);display:block;position:relative}.wm__letter--at{transition:clip-path .7s cubic-bezier(.215, .61, .355, 1) calc(var(--i) * 70ms), opacity .25s ease, transform .5s var(--ease-spring);transform-box:fill-box;transform-origin:50%}.wm__at{fill:var(--sky-300);opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .2s ease, transform .6s var(--ease-spring);transform:scale(.3)rotate(-160deg)}.wm.is-at .wm__letter--at{opacity:0;transform:scale(.3)rotate(140deg)}.wm.is-at .wm__at{opacity:1;transform:none}.wm__hit{fill:#0000;outline:none}.wm__ping{fill:none;stroke:var(--sky-300);stroke-width:10px;opacity:0;transform-box:fill-box;transform-origin:50%;pointer-events:none}@media (prefers-reduced-motion:no-preference){.wm.is-in:not(.is-at) .wm__letter--at{animation:4.2s ease-in-out 2.6s infinite at-nudge}.wm.is-in:not(.is-at) .wm__ping{animation:4.2s ease-out 2.6s infinite at-ping}}@keyframes at-nudge{0%,78%,to{transform:none}83%{transform:translateY(-14%)rotate(-12deg)}88%{transform:translateY(0)rotate(9deg)}93%{transform:rotate(-5deg)}97%{transform:rotate(2deg)}}@keyframes at-ping{0%,80%{opacity:0;transform:scale(.55)}84%{opacity:.9}to{opacity:0;transform:scale(1.25)}}.wm__hit:focus-visible{stroke:var(--sky-300);stroke-width:12px;stroke-dasharray:30 20}.wm-spread{left:var(--ax,50%);top:var(--ay,50%);z-index:5;pointer-events:none;width:0;height:0;position:absolute}.wm-card{background:var(--cream);min-width:176px;color:var(--ink);border:2px solid var(--sky-300);opacity:0;transition:transform .45s var(--ease-out) calc((4 - var(--k)) * 30ms), opacity .2s calc((4 - var(--k)) * 30ms), background-color var(--dur-fast) ease;border-radius:16px;gap:2px;padding:12px 16px;display:grid;position:absolute;top:0;left:0;transform:translate(-50%,-50%)scale(.15);box-shadow:0 18px 40px #00000059}.wm-card b{font:700 var(--text-base) / 1.2 var(--font-display);letter-spacing:-.01em}.wm-card small{font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.04em;color:#06060699}.wm-card:hover,.wm-card:focus-visible{background:var(--sky-100);outline:none}.wm-spread.is-open{pointer-events:auto}.wm-spread.is-open .wm-card{opacity:1;pointer-events:auto;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) rotate(var(--r)) scale(1);transition-delay:calc(var(--k) * 45ms)}@media (prefers-reduced-motion:reduce){.wm-card,.wm__at,.wm__letter--at{transition:none}}@media (max-width:760px){.nav-pill{display:none}.hero .cloud{--o:.4}.hero .cloud[data-cloud="2"]:nth-of-type(2){top:-3%}.nav{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;inset-block-start:var(--space-3)}.nav__side:first-child{display:flex}.intro__stats .stat__label{font-size:var(--text-xs)}.logo-row{gap:var(--space-5)}.logo-row img{height:26px}.hero .cloud,.contact__band .cloud,.hero .cloudbank{will-change:auto}.ocean__bubbles i:nth-child(n+9){display:none}}@media (prefers-reduced-motion:no-preference){.hero__center{transform:translateY(calc(var(--p,0) * 22vh));opacity:calc(1 - var(--p,0) * 1.25)}.hero .cloudbank:not(.cloudbank--back){transform:translateY(calc(var(--p,0) * -62vh));will-change:transform}.hero .cloudbank:not(.cloudbank--back):after{content:"";background:var(--bank);height:110vh;position:absolute;top:99%;left:0;right:0}.hero__title>span:nth-child(2){--delay:.12s}.hero__title>span:nth-child(3){--delay:.24s}.mascot-fly.is-entering{animation:mark-in 1s var(--ease-spring) .15s both}@keyframes mark-in{0%{opacity:0;rotate:-20deg;scale:.5}}.hero .cloud[data-cloud="1"]{transform:translate(calc(var(--p,0) * -8vw), calc(var(--p,0) * -20vh))}.hero .cloud[data-cloud="2"]{transform:translate(calc(var(--p,0) * 10vw), calc(var(--p,0) * -28vh))}.hero .cloud[data-cloud="3"]{transform:translateY(calc(var(--p,0) * -40vh)) scale(calc(1 + var(--p,0) * .4))}.hero .cloudbank--back{transform:translateY(calc(var(--p,0) * -34vh));will-change:transform}.studio__line{translate:calc((var(--p,.5) - .5) * -40px) 0}.studio__line--2{translate:calc((var(--p,.5) - .5) * 40px) 0}.studio__window{translate:-50% calc(-50% + (.5 - var(--p,.5)) * 50px)}.studio__services li{translate:calc(var(--mx) * var(--depth,50px) * .35) calc((.5 - var(--p,.5)) * var(--depth,50px) + var(--my) * var(--depth,50px) * .25);animation:5.5s ease-in-out infinite balloon-bob;animation-delay:calc(var(--i,0) * -.9s)}.studio__stage:not(.is-in) .studio__services li{opacity:0;scale:.4}.studio__stage.is-in .studio__services li{transition-delay:calc(.45s + var(--i,0) * 80ms), calc(.45s + var(--i,0) * 80ms), 0s, 0s, calc(.45s + var(--i,0) * 80ms)}.studio__stage.is-in .studio__services li:hover{transition-delay:0s}@keyframes balloon-bob{50%{transform:translateY(-8px)}}.studio__word{translate:0 calc((.5 - var(--p,.5)) * 50px)}@media (max-width:759px){.studio__services li,.studio__line,.studio__line--2{translate:none}.studio__window{translate:0 calc((.5 - var(--p,.5)) * 24px)}}@media (max-width:959px){.intro__photo{transform:translateY(calc((.5 - var(--p,.5)) * 40px))}}.contact__band .cloud{transform:translateY(calc((.5 - var(--p,.5)) * 120px))}}.projects-hero{padding-block:clamp(150px,15vw,190px) clamp(190px,22vw,300px);overflow:hidden}.projects-hero .cloudbank{height:clamp(120px,15vw,230px)}.projects-hero .cloudbank--back{opacity:.6;bottom:10%}.projects-hero__inner{z-index:2;text-align:center;justify-items:center;gap:var(--space-5);display:grid;position:relative}.btn:hover .btn__icon--back{transform:translate(-3px)}.projects-hero__lead{max-width:40ch;font-size:var(--text-lg);color:var(--white)}.projects-main{padding-block:0 var(--space-9)}.projects-page .nav-mark.mascot{--accent:var(--sky-100);color:var(--white);filter:drop-shadow(0 4px 12px #1f3b6d59);transition:transform var(--dur-fast) var(--ease-spring), filter var(--dur-fast) ease}.projects-page .nav-mark.mascot:hover{filter:drop-shadow(0 6px 16px #1f3b6d80);transform:scale(1.06)}.projects-page .nav-mark.mascot .mk-ring{fill:var(--tejo-face);stroke:currentColor;transition:fill var(--dur-base) ease}[data-theme=dark] .projects-page .nav-mark.mascot{--accent:var(--sky-200);filter:drop-shadow(0 4px 14px #0000008c)}.nav-center{justify-content:center;align-items:center;gap:var(--space-2);min-width:0;display:flex}.nav-center .nav-search-pill{flex:0 540px;margin-inline:0}.nav-home{background:color-mix(in srgb, var(--bg) 78%, transparent);width:52px;height:52px;color:var(--fg);border:1px solid var(--border);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px)saturate(1.3);transition:transform var(--dur-fast) var(--ease-spring), border-color var(--dur-fast) ease;border-radius:50%;flex:none;place-items:center;display:grid}.nav-home:hover{border-color:var(--border-strong);transform:scale(1.06)}.nav-home:active{transform:scale(.94)}.nav-home svg{width:19px;height:19px}@media (max-width:760px){.nav-home{width:42px;height:42px}.nav-home svg{width:17px;height:17px}}.projects-page .nav{gap:var(--space-4);grid-template-columns:auto minmax(0,1fr) auto}.nav-search-pill{align-items:center;gap:var(--space-3);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--bg) 78%, transparent);border:1px solid var(--border);width:min(100%,540px);min-width:0;height:52px;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(14px)saturate(1.3);transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, background-color var(--dur-fast) ease;margin-inline:auto;padding:0 18px;display:flex;position:relative}.nav-search-pill:focus-within{border-color:var(--brand);background:color-mix(in srgb, var(--bg-raised) 92%, transparent);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent), var(--shadow-sm)}.nav-search-pill .projects-search-icon{width:18px;height:18px;color:var(--fg-muted);transition:color var(--dur-fast) ease;flex:none}.nav-search-pill:focus-within .projects-search-icon{color:var(--brand)}.nav-search-pill .projects-search-input{min-width:0;height:100%;font:450 var(--text-sm) / 1 var(--font-sans);color:var(--fg);background:0 0;border:0;outline:none;flex:1;padding:0}.nav-search-pill .projects-search-input::placeholder{color:var(--fg-subtle);font-size:var(--text-sm)}.nav-search-pill .nav-search__kbd{border:1px solid var(--border);background:color-mix(in srgb, var(--bg-sunken) 70%, transparent);min-width:20px;height:20px;font:500 11px / 1 var(--font-mono);color:var(--fg-subtle);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.nav-search-pill:focus-within .nav-search__kbd{display:none}.nav-search-pill .projects-search-clear{border-radius:var(--radius-pill);background:var(--bg-sunken);width:22px;height:22px;color:var(--fg-muted);cursor:pointer;transition:background var(--dur-fast) ease, color var(--dur-fast) ease;border:0;flex:none;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:none}.nav-search-pill .projects-search-clear.is-visible{display:inline-flex}.nav-search-pill .projects-search-clear:hover{background:var(--border);color:var(--fg)}@media (max-width:760px){.projects-page .nav{grid-template-columns:auto 1fr;gap:8px;padding-inline:12px;inset-block-start:var(--space-3)}.projects-page .nav__side:first-child{display:flex}.projects-page .nav-center{display:none}.projects-page .nav__side--end{justify-self:end}.project-card__body{padding:14px 16px 16px}}.projects-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:calc(-1 * var(--space-6));z-index:2;flex-wrap:wrap;display:flex;position:relative}.projects-filters{gap:var(--space-2)}@media (max-width:760px){.projects-filters{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);flex-wrap:nowrap;overflow-x:auto}.projects-filters .chip--filter{flex:none}}.projects-filters .chip__count{opacity:.55}.projects-view{--seg-count:2}.projects-view button{min-width:72px}.projects-meta{gap:var(--space-4);min-height:20px;margin-block:var(--space-5);flex-wrap:wrap;align-items:center;display:flex}.projects-meta .reset-link{font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--brand);text-underline-offset:3px;text-decoration:underline}.projects-grid{gap:var(--space-5);perspective:1200px;grid-template-columns:1fr;margin-top:0;display:grid}@media (min-width:680px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1080px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.project-card{border-radius:var(--radius-md);background:var(--bg-raised);will-change:transform, box-shadow;border:0;flex-direction:column;height:100%;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px -4px #00000014}[data-theme=dark] .project-card{box-shadow:0 4px 24px -4px #00000073}.project-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -12px #00000024}[data-theme=dark] .project-card:hover{box-shadow:0 20px 42px -10px #000000a6}@media (prefers-reduced-motion:reduce){.project-card{transition:none!important;transform:none!important}}.project-card__visual{aspect-ratio:15/8;background:var(--bg-sunken);cursor:pointer;border-bottom:0;position:relative;overflow:hidden}.project-card__img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out);display:block}.project-card:hover .project-card__img{transform:scale(1.03)}.project-card__badges{top:var(--space-3);left:var(--space-3);right:var(--space-3);pointer-events:none;z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute}.project-card__badge-discipline{border-radius:var(--radius-pill);height:22px;font:600 10px / 1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(8px);background:#060606b8;align-items:center;padding:0 8px;display:inline-flex}[data-theme=dark] .project-card__badge-discipline{color:var(--ink);background:#ffffffd9}.project-card__badge-year{border-radius:var(--radius-pill);height:22px;font:500 10px / 1 var(--font-mono);color:#fff;-webkit-backdrop-filter:blur(8px);background:#060606b8;align-items:center;padding:0 8px;display:inline-flex}[data-theme=dark] .project-card__badge-year{color:var(--ink);background:#ffffffd9}.project-card__body{padding:var(--space-4) var(--space-5) var(--space-5);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.project-card__meta-line{justify-content:space-between;align-items:center;gap:var(--space-2);font:500 var(--text-xs) / 1 var(--font-mono);letter-spacing:.06em;color:var(--fg-subtle);padding-bottom:2px;display:flex}.project-card__meta-line>span:first-child{white-space:nowrap;flex-shrink:0}.project-card__meta-line>span:last-child{white-space:nowrap;text-overflow:ellipsis;text-align:right;overflow:hidden}.project-card__title{font:800 var(--text-xl) / 1.15 var(--font-display);letter-spacing:-.02em;margin:0}.project-card__title a{color:var(--fg);justify-content:space-between;align-items:center;width:100%;text-decoration:none;display:inline-flex}.project-card__title svg{opacity:.45;width:16px;height:16px;transition:transform var(--dur-fast) ease, opacity var(--dur-fast) ease, color var(--dur-fast) ease}.project-card:hover .project-card__title a{color:var(--brand)}.project-card:hover .project-card__title svg{opacity:1;color:var(--brand);transform:translate(2px,-2px)}.project-card__category{font:500 var(--text-xs) / 1.3 var(--font-mono);letter-spacing:.04em;color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.project-card__summary{font-size:var(--text-sm);line-height:var(--leading-body);color:var(--fg-muted);margin:var(--space-1) 0 0;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.8em;display:-webkit-box;overflow:hidden}.project-card__tags{padding-top:var(--space-2);flex-wrap:wrap;align-items:center;gap:5px;margin-top:auto;display:flex}.project-tag{font:500 11px / 1 var(--font-mono);border-radius:var(--radius-sm);border:1px solid var(--border);height:22px;color:var(--fg-muted);background:var(--bg-sunken);align-items:center;padding:0 7px;display:inline-flex}.project-tag--more{color:var(--fg-subtle);background:0 0;border-style:dashed;font-size:10px}.project-card__footer{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:0;min-height:28px;margin-top:auto;display:flex}.project-card__metric{font:500 11px / 1 var(--font-mono);color:var(--fg-muted);flex:1;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.project-card__metric strong{color:var(--fg);white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:700}.project-card__metric span{color:var(--fg-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.project-card__cta{font:600 11px / 1 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brand);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) ease;background:0 0;border:0;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:0;display:inline-flex}.project-card__cta svg{width:12px;height:12px;transition:transform var(--dur-fast) ease}.project-card:hover .project-card__cta{color:var(--brand-strong)}.project-card:hover .project-card__cta svg{transform:translate(3px)}.project-card-wrap>.project-card{height:100%}.projects-grid.is-table-view{display:block}.projects-grid:has(.projects-table-wrapper){display:block}.projects-table-wrapper{width:100%;margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-sm);grid-column:1/-1;overflow-x:auto}.projects-table{border-collapse:collapse;text-align:left;width:100%;min-width:860px}.projects-table th{font:600 11px / 1 var(--font-mono);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--fg-muted);background:var(--bg-sunken);border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 18px}.projects-table td{border-bottom:1px solid var(--border);font-size:var(--text-sm);vertical-align:middle;padding:14px 18px}.projects-table tr:last-child td{border-bottom:0}.projects-table tr{cursor:pointer;transition:background-color var(--dur-fast) ease}.projects-table tbody tr:hover{background:color-mix(in srgb, var(--brand) 6%, var(--bg-raised))}.projects-table__thumb{border-radius:var(--radius-sm);background:var(--bg-sunken);border:1px solid var(--border);width:52px;height:34px;display:block;overflow:hidden}.projects-table__thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.projects-table__title{font:700 var(--text-sm) / 1.25 var(--font-display);color:var(--fg)}.projects-table__cat{font:400 11px / 1.3 var(--font-mono);color:var(--fg-muted);margin-top:2px}.projects-table__stack{font:400 12px / 1.4 var(--font-mono);color:var(--fg-muted);max-width:260px}.projects-empty{text-align:center;padding:clamp(48px, 10vw, 80px) var(--space-5);border-radius:var(--radius-lg);border:1px dashed var(--border);background:var(--bg-sunken);place-items:center;gap:var(--space-4);grid-column:1/-1;display:grid}.projects-empty__icon{border-radius:var(--radius-pill);background:var(--bg-raised);width:56px;height:56px;color:var(--fg-muted);border:1px solid var(--border);place-items:center;display:grid}.projects-empty__title{font:700 var(--text-xl) / 1.2 var(--font-display)}.projects-empty__desc{max-width:44ch;color:var(--fg-muted);font-size:var(--text-sm)}.case-page__body{padding-block:clamp(120px, 14vw, 168px) var(--space-8);gap:var(--space-6);max-width:920px;display:grid}.case-page__body .case{padding:0}.case-page__more{gap:var(--space-5);padding-block:var(--space-8) var(--space-9);border-top:1px solid var(--border);display:grid}.case-page__list{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.case-page__link{gap:var(--space-2);color:inherit;text-decoration:none;display:grid}.case-page__link img{aspect-ratio:1600/848;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border);width:100%;height:auto;transition:transform var(--dur-base) var(--ease-std)}.case-page__link:hover img{transform:translateY(-3px)}.case-page__link-title{font-weight:600}@media (max-width:760px){.case-page__list{gap:var(--space-4);grid-template-columns:1fr 1fr}}.preview-page{height:100svh;overflow:hidden}.preview-frame{background:var(--white);border:0;width:100%;height:100%;display:block}.is-guided .loader{display:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}.nav__side--end{view-transition-name:nav-tools}::view-transition-old(root){animation:none}::view-transition-new(root){animation:page-in .5s var(--ease-out) both}}@keyframes page-in{0%{opacity:0}}:root{--tejo-face:var(--sky-400)}:root[data-theme=dark]{--tejo-face:#1c3868}.tejo-zoom{--accent:var(--sky-100);z-index:1000;pointer-events:none;width:100%;height:100%;color:var(--white);position:fixed;inset:0}.tejo-zoom .mk-ring{fill:var(--tejo-face)}.mascot.is-away{visibility:hidden}.is-tejo-arriving body:after{content:"";z-index:1000;background:var(--tejo-face);animation:.4s 3s forwards tejo-cover-failsafe;position:fixed;inset:0}@keyframes tejo-cover-failsafe{to{opacity:0;visibility:hidden}}.is-tejo-leaving .nav__side--end,.is-tejo-arriving .nav__side--end{view-transition-name:none}
