@import "https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600&display=swap";
@import "https://fonts.googleapis.com/css2?family=Familjen+Grotesk:wght@400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box}@font-face{font-family:Imperial Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/20462b1d-e619-4027-aa0c-0fd543254dfc.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Imperial Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/666f8a75-4784-44a8-ae78-ad61f7996ee4.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:Imperial Script;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/34e33e2a-4581-491d-a224-7e607c496e6e.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(/assets/fonts/5cd7c673-dd77-4de9-b54a-00b12901b42a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dc9970de-62cb-4aed-b58e-4a7c8731ab4b.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/c5469578-2e18-40be-89a3-75d2da2e9302.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/4a733b19-cc61-4df5-9c5f-4a82dc4c1994.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/c570be7e-27eb-492f-803f-a2ba9dd8c89d.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(/assets/fonts/3487e0ac-73e0-4c9b-857b-e2ead161dd48.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(/assets/fonts/5cd7c673-dd77-4de9-b54a-00b12901b42a.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dc9970de-62cb-4aed-b58e-4a7c8731ab4b.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/c5469578-2e18-40be-89a3-75d2da2e9302.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/4a733b19-cc61-4df5-9c5f-4a82dc4c1994.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/c570be7e-27eb-492f-803f-a2ba9dd8c89d.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(/assets/fonts/3487e0ac-73e0-4c9b-857b-e2ead161dd48.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:Young Serif;src:url(/assets/fonts/young-serif-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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:Young Serif;src:url(/assets/fonts/young-serif-latin-ext.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;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}:root{--color-charcoal:#000;--color-charcoal-2:#131313;--color-cream:#fff;--color-cream-2:#f4f3f0;--color-terracotta:var(--color-text-primary);--color-terracotta-deep:var(--color-text-primary);--grey-0:#f8f9fb;--grey-25:#f6f8fa;--grey-50:#eceff3;--grey-100:#dfe1e6;--grey-200:#c1c7cf;--grey-300:#a4abb8;--grey-400:#808897;--grey-500:#666d80;--grey-600:#353849;--grey-700:#272835;--grey-800:#1a1b25;--grey-900:#0d0d12;--color-available:#6fcf7f;--color-available-glow:#6fcf7f2e;--font-display:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--font-display-italic:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--font-body:var(--font-inter), "Helvetica Neue", Arial, sans-serif;--font-mono:var(--font-familjen), var(--font-inter), system-ui, sans-serif;--font-script:var(--font-familjen), var(--font-inter), system-ui, sans-serif;--text-display-xl:72px;--text-display-l:54px;--text-display-m:44px;--text-heading-l:32px;--text-heading-m:26px;--text-heading-s:20px;--text-body-l:17px;--text-body-m:15px;--text-body-s:13.5px;--text-label:11px;--text-tag:10px;--ls-display-xl:-.025em;--ls-display-m:-.02em;--ls-display-s:-.01em;--ls-body:0em;--ls-mono:.08em;--ls-tag:.04em;--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:88px;--radius-s:8px;--radius-m:12px;--radius-l:16px;--radius-pill:999px;--shadow-stack:0 -16px 36px -14px #0000008c, 0 26px 60px -22px #000000b3, 0 4px 14px -8px #00000080;--shadow-lift:0 16px 40px -20px #00000080;--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--ease-default:ease;--ease-out:cubic-bezier(.16, 1, .3, 1);--max-container:1440px;--page-padding-desktop:60px;--page-padding-tablet:40px;--page-padding-mobile:20px;--grid-columns:12;--grid-gutter:24px;--measure-body:58ch;--measure-display:18ch}:root,[data-theme=dark]{--color-bg:var(--color-charcoal);--color-surface:var(--color-charcoal-2);--color-text-primary:#fff;--color-text-secondary:#ffffffb8;--color-text-tertiary:#ffffff80;--color-text-quiet:#ffffff5c;--color-text-accent:var(--color-terracotta);--color-border-subtle:#ffffff14;--color-border-default:#ffffff24;--color-border-strong:#ffffff47;--color-on-accent:var(--color-bg)}[data-theme=light]{--color-bg:#fff;--color-surface:var(--grey-25);--color-text-primary:var(--grey-900);--color-text-secondary:var(--grey-600);--color-text-tertiary:var(--grey-500);--color-text-quiet:var(--grey-400);--color-text-accent:var(--grey-900);--color-border-subtle:var(--grey-100);--color-border-default:var(--grey-100);--color-border-strong:var(--grey-200);--shadow-stack:0 18px 40px -20px #0000001a, 0 3px 10px -6px #0000000f;--shadow-lift:0 14px 32px -16px #0000001c, 0 3px 10px -6px #00000012;--color-on-accent:var(--color-bg)}html,body{background:var(--color-bg);color:var(--color-text-primary);font-family:var(--font-body);font-size:var(--text-body-m);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--duration-slow) ease, color var(--duration-slow) ease;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--color-text-primary);text-wrap:balance;margin:0;font-weight:400}h1{font-size:var(--text-display-l);letter-spacing:var(--ls-display-xl);line-height:1.05}h2{font-size:var(--text-heading-l);letter-spacing:var(--ls-display-m);line-height:1.15}h3{font-size:var(--text-heading-m);letter-spacing:var(--ls-display-m);line-height:1.2}h4{font-size:var(--text-heading-s);letter-spacing:var(--ls-display-s);line-height:1.3}p{text-wrap:pretty;max-width:var(--measure-body);margin:0}em{font-style:italic}em.accent,.italic-accent{color:var(--color-text-accent);font-style:italic}.display-xl{font-family:var(--font-display);font-size:var(--text-display-xl);letter-spacing:var(--ls-display-xl);font-weight:400;line-height:1.02}.display-l{font-family:var(--font-display);font-size:var(--text-display-l);letter-spacing:var(--ls-display-xl);font-weight:400;line-height:1.05}.display-m{font-family:var(--font-display);font-size:var(--text-display-m);letter-spacing:var(--ls-display-xl);font-weight:400;line-height:1.08}.heading-l{font-family:var(--font-display);font-size:var(--text-heading-l);letter-spacing:var(--ls-display-m);font-weight:400;line-height:1.15}.heading-m{font-family:var(--font-display);font-size:var(--text-heading-m);letter-spacing:var(--ls-display-m);font-weight:400;line-height:1.2}.heading-s{font-family:var(--font-display);font-size:var(--text-heading-s);letter-spacing:var(--ls-display-s);font-weight:400;line-height:1.3}.body-l{font-family:var(--font-body);font-size:var(--text-body-l);font-weight:400;line-height:1.6}.body-m{font-family:var(--font-body);font-size:var(--text-body-m);font-weight:400;line-height:1.6}.body-s{font-family:var(--font-body);font-size:var(--text-body-s);font-weight:400;line-height:1.55}.label,.mono-label{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:var(--ls-mono);text-transform:uppercase;color:var(--color-text-tertiary);font-weight:500}.fg-1{color:var(--color-text-primary)}.fg-2{color:var(--color-text-secondary)}.fg-3{color:var(--color-text-tertiary)}.fg-quiet{color:var(--color-text-quiet)}.fg-accent{color:var(--color-text-accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--color-terracotta);outline-offset:2px;border-radius:var(--radius-s)}.app{min-height:100vh;max-width:var(--max-container);padding:16px var(--page-padding-desktop) 0;flex-direction:column;margin:0 auto;display:flex}.skip{background:var(--color-terracotta);color:var(--color-cream);border-radius:var(--radius-pill);font-family:var(--font-body);padding:10px 16px;font-size:13px;position:absolute;left:-9999px}.skip:focus{z-index:100;top:12px;left:12px}.nav{padding-bottom:var(--space-6);border-bottom:.5px solid var(--color-border-default);justify-content:space-between;align-items:center;display:flex}.nav-logo{text-decoration:none}.logo{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-size:22px;font-style:italic;font-weight:400}.logo-dot{color:var(--color-terracotta)}.nav-right{align-items:center;gap:var(--space-6);display:flex}.nav-links{gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{font-family:var(--font-body);color:var(--color-text-secondary);opacity:.7;text-transform:lowercase;transition:opacity var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);font-size:13px;text-decoration:none}.nav-links a:hover{opacity:1}.nav-links a.active{opacity:1;color:var(--color-text-primary)}.mode-toggle{background:var(--color-border-subtle);border-radius:var(--radius-pill);font-family:var(--font-mono);padding:3px;font-size:10px;display:inline-flex}.mode-toggle button{color:inherit;border-radius:var(--radius-pill);cursor:pointer;opacity:.6;letter-spacing:.04em;text-transform:uppercase;transition:all var(--duration-base) var(--ease-out);background:0 0;border:none;padding:5px 10px;font-family:inherit;font-size:10px}.mode-toggle button:hover{opacity:.9}.mode-toggle button.active{background:var(--color-terracotta);color:var(--color-cream);opacity:1}.hero{padding:var(--space-9) 0 var(--space-8)}.hero-headline{font-family:var(--font-display);font-weight:400;font-size:var(--text-display-l);letter-spacing:-.025em;margin:var(--space-5) 0 var(--space-5);text-wrap:balance;max-width:18ch;color:var(--color-text-primary);line-height:1.05}.hero-headline em{font-style:italic}.hero-sub{font-size:var(--text-body-l);color:var(--color-text-secondary);max-width:52ch;margin:0 0 var(--space-6);line-height:1.6}.hero-ctas{gap:var(--space-3);margin-bottom:var(--space-8);display:flex}.hero-clients{align-items:baseline;gap:var(--space-4);flex-wrap:wrap;display:flex}.hero-clients-list{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-tertiary);text-transform:uppercase;font-size:11px}.available{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);font-weight:500;display:inline-flex}.available-dot{background:var(--color-available);width:7px;height:7px;box-shadow:0 0 0 3px var(--color-available-glow);animation:pulse 2s var(--ease-out) infinite;border-radius:50%}@keyframes pulse{0%,to{box-shadow:0 0 0 3px var(--color-available-glow)}50%{box-shadow:0 0 0 6px #6fcf7f14}}.section-label{font-family:var(--font-mono);font-size:calc(var(--text-label) + 2px);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-5);font-weight:500;display:inline-block}.section-label:before{content:""}.btn-primary,.btn-ghost,.btn-link{font-family:var(--font-body);cursor:pointer;align-items:center;gap:var(--space-2);font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background:var(--color-text-primary);color:var(--color-bg);border-radius:var(--radius-pill);transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), transform var(--duration-fast) ease;border:none;padding:13px 22px;font-size:13.5px}.btn-primary:hover{background:var(--color-terracotta);color:var(--color-cream);transform:translateY(-1px)}.btn-primary:active{transform:scale(.98)}.btn-arrow{transition:transform var(--duration-base) var(--ease-out);display:inline-block}.btn-primary:hover .btn-arrow{transform:translate(2px)}.btn-ghost{color:var(--color-text-primary);border-radius:var(--radius-pill);opacity:.85;transition:opacity var(--duration-base) var(--ease-out);background:0 0;border:.5px solid;padding:13px 22px;font-size:13.5px}.btn-ghost:hover{opacity:1}.btn-link{color:var(--color-text-accent);text-underline-offset:4px;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}.tag{font-family:var(--font-mono);font-size:var(--text-tag);letter-spacing:.06em;text-transform:uppercase;border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-text-primary) 9%, transparent);color:var(--color-text-secondary);white-space:nowrap;align-items:center;padding:6px 12px;font-weight:500;display:inline-flex}.tag-year{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg)}.work{padding:0 0 var(--space-8)}.work-header{justify-content:space-between;align-items:baseline;gap:var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.filters{gap:var(--space-2);display:flex}.filter{border:.5px solid var(--color-border-default);color:var(--color-text-secondary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);cursor:pointer;opacity:.8;white-space:nowrap;transition:all var(--duration-base) var(--ease-out);background:0 0;padding:5px 10px;font-size:12px;font-weight:500}.filter:hover{opacity:1}.filter.active{background:var(--color-terracotta);border-color:var(--color-terracotta);color:var(--color-cream);opacity:1}.project-list{flex-direction:column;display:flex}.project-row{gap:var(--space-5);border-bottom:.5px solid var(--color-border-subtle);cursor:pointer;color:inherit;transition:padding-left var(--duration-base) var(--ease-out);grid-template-columns:60px 1fr auto;padding:22px 0;text-decoration:none;display:grid}.project-row:hover{padding-left:var(--space-2)}.project-row:hover .project-title{color:var(--color-text-accent)}.project-row:hover .project-arrow{opacity:1;transform:translate(4px,-4px)}.project-year{font-family:var(--font-mono);color:var(--color-text-tertiary);padding-top:6px;font-size:11px}.project-title{font-family:var(--font-display);font-size:var(--text-heading-m);letter-spacing:-.02em;transition:color var(--duration-base) var(--ease-out);margin:0 0 6px;font-weight:400;line-height:1.2}.project-title em{font-style:italic}.project-desc{color:var(--color-text-secondary);max-width:58ch;margin:0 0 var(--space-3);font-size:13.5px;line-height:1.55}.project-tags{gap:var(--space-2);display:flex}.project-arrow{font-family:var(--font-display);color:var(--color-text-primary);opacity:.4;transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);align-self:start;padding-top:2px;font-size:22px}.project-row--thumb{grid-template-columns:60px 1fr 180px;align-items:center}.project-thumb{aspect-ratio:16/10;border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);width:180px;transition:transform var(--duration-base) var(--ease-out);position:relative;overflow:hidden}.project-thumb img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:opacity var(--duration-slow) ease, transform var(--duration-slow) var(--ease-out);opacity:.92;display:block}.project-thumb__arrow{width:26px;height:26px;color:var(--color-cream);font-family:var(--font-display);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:#1a18169e;border-radius:999px;place-items:center;font-size:14px;display:grid;position:absolute;top:6px;right:8px;transform:translateY(-2px)}.project-row--thumb:hover .project-thumb{transform:translateY(-2px)}.project-row--thumb:hover .project-thumb img{opacity:1;transform:scale(1.02)}.project-row--thumb:hover .project-thumb__arrow{opacity:1;transform:translateY(0)}[data-theme=light] .project-thumb__arrow{background:#1a1816b8}@media (max-width:720px){.project-row--thumb{gap:var(--space-3);grid-template-columns:50px 1fr}.project-thumb{display:none}}.empty{padding:var(--space-7) 0;text-align:center}.contact-band{margin:var(--space-9) 0 var(--space-7);background:var(--color-terracotta);color:var(--color-charcoal);padding:56px var(--page-padding-desktop);border-radius:var(--radius-l);position:relative;overflow:hidden}.contact-band-deco{font-family:var(--font-display);opacity:.1;pointer-events:none;color:var(--color-charcoal);font-size:240px;font-style:italic;font-weight:300;line-height:1;position:absolute;top:-90px;right:-40px}.contact-band-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;opacity:.7;font-size:11px;font-weight:500}.contact-band-headline{font-family:var(--font-display);letter-spacing:-.02em;margin:var(--space-4) 0 var(--space-6);max-width:16ch;color:inherit;font-size:44px;font-weight:400;line-height:1.05}.contact-band-headline em{font-style:italic}.contact-band-actions{align-items:center;gap:var(--space-7);flex-wrap:wrap;display:flex}.contact-btn{background:var(--color-charcoal);color:var(--color-cream);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;align-items:center;gap:var(--space-2);transition:transform var(--duration-fast) ease;border:none;padding:14px 24px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.contact-btn:hover{transform:translateY(-1px)}.contact-socials{gap:var(--space-4);display:flex}.contact-socials a{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-charcoal);text-underline-offset:4px;opacity:.7;font-size:11px;font-weight:500;text-decoration:underline}.contact-socials a:hover{opacity:1}.site-footer{padding:var(--space-6) 0 var(--space-7);justify-content:space-between;align-items:center;gap:var(--space-5);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);flex-wrap:wrap;font-size:11px;display:flex}.site-footer__right{align-items:center;gap:var(--space-5);display:inline-flex}.site-footer__email{font-family:var(--font-mono);letter-spacing:.03em;text-transform:none;color:var(--color-text-tertiary);transition:color var(--duration-base) var(--ease-out);font-size:11px;text-decoration:none}.site-footer__email:hover{color:var(--color-text-primary)}.site-footer__socials{--socials-color:var(--color-text-tertiary)}@media (max-width:600px){.site-footer{align-items:flex-start;gap:var(--space-3)}.site-footer__right{gap:var(--space-4)}}.case{padding:var(--space-7) 0 var(--space-8)}.case-back{cursor:pointer;font-family:var(--font-body);color:var(--color-text-secondary);align-items:center;gap:var(--space-2);margin-bottom:var(--space-7);transition:color var(--duration-base) var(--ease-out);background:0 0;border:none;padding:0;font-size:13px;font-weight:500;display:inline-flex}.case-back:hover{color:var(--color-text-accent)}.case-header{margin-bottom:var(--space-6)}.case-meta{margin-bottom:var(--space-3)}.case-meta .section-label{margin-bottom:0}.case-title{font-family:var(--font-display);font-size:var(--text-display-m);letter-spacing:-.025em;margin:0 0 var(--space-4);text-wrap:balance;max-width:22ch;font-weight:400;line-height:1.05}.case-title em{font-style:italic}.case-sub{font-size:var(--text-body-l);color:var(--color-text-secondary);max-width:58ch;line-height:1.6}.case-hero{background:var(--color-surface);border-radius:var(--radius-l);height:380px;margin:var(--space-7) 0;border:.5px solid var(--color-border-subtle);place-items:center;display:grid}.case-hero-tag{font-family:var(--font-display);color:var(--color-text-tertiary);letter-spacing:-.025em;font-size:96px;font-style:italic}.case-section{margin:var(--space-8) 0;max-width:64ch}.case-section p{margin:0 0 var(--space-4);font-size:var(--text-body-l);color:var(--color-text-secondary);line-height:1.7}.case-section p em{color:var(--color-text-accent);font-style:italic}.case-shots{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.case-shot{border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);height:220px}.case-foot{justify-content:space-between;align-items:flex-end;gap:var(--space-5);padding-top:var(--space-6);border-top:.5px solid var(--color-border-default);flex-wrap:wrap;display:flex}.case-credits p{color:var(--color-text-secondary);margin:0;font-size:13.5px}.case-next{border:.5px solid var(--color-border-strong);color:var(--color-text-primary);border-radius:var(--radius-pill);font-family:var(--font-body);cursor:pointer;align-items:center;gap:var(--space-2);transition:all var(--duration-base) var(--ease-out);background:0 0;padding:13px 22px;font-size:14px;font-weight:500;display:inline-flex}.case-next:hover{background:var(--color-terracotta);color:var(--color-cream);border-color:var(--color-terracotta)}.about,.explorations,.contact-page{padding:var(--space-7) 0 var(--space-8)}.about-header,.explorations header,.contact-page header{margin-bottom:var(--space-7)}.about-title,.explorations-title,.contact-page-title{font-family:var(--font-display);font-weight:400;font-size:var(--text-display-m);letter-spacing:-.025em;text-wrap:balance;max-width:18ch;margin:0;line-height:1.05}.about-title em,.explorations-title em,.contact-page-title em{font-style:italic}.about-grid{gap:var(--space-7);margin-bottom:var(--space-8);grid-template-columns:2fr 1fr;display:grid}.about-grid p{font-size:var(--text-body-l);color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:52ch;line-height:1.7}.about-side .section-label{margin-bottom:var(--space-3)}.fun-facts{margin:0;padding:0;list-style:none}.fun-facts li{color:var(--color-text-secondary);border-bottom:.5px solid var(--color-border-subtle);padding:10px 0;font-size:13.5px}.fun-facts li:last-child{border-bottom:0}.timeline{border-top:.5px solid var(--color-border-default);padding-top:var(--space-6)}.tl-row{gap:var(--space-5);border-bottom:.5px solid var(--color-border-subtle);grid-template-columns:140px 1fr;padding:18px 0;display:grid}.tl-year{font-family:var(--font-mono);color:var(--color-text-tertiary);letter-spacing:.04em;text-transform:uppercase;padding-top:2px;font-size:11px}.tl-body{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.tl-body b{color:var(--color-text-primary);font-weight:500;font-family:var(--font-body)}.exp-list{flex-direction:column;display:flex}.exp-row{gap:var(--space-5);border-bottom:.5px solid var(--color-border-subtle);cursor:pointer;transition:padding-left var(--duration-base) var(--ease-out);grid-template-columns:80px 1fr auto;padding:22px 0;display:grid}.exp-row:hover{padding-left:var(--space-2)}.exp-row:hover .exp-title{color:var(--color-text-accent)}.exp-row:hover .exp-arrow{opacity:1;transform:translate(4px,-4px)}.exp-year{font-family:var(--font-mono);color:var(--color-text-tertiary);padding-top:4px;font-size:11px}.exp-title{font-family:var(--font-display);letter-spacing:-.02em;transition:color var(--duration-base) var(--ease-out);margin:0 0 4px;font-size:22px;font-weight:400}.exp-note{color:var(--color-text-secondary);max-width:58ch;margin:0;font-size:13.5px}.exp-arrow{font-family:var(--font-display);color:var(--color-text-primary);opacity:.4;transition:all var(--duration-base) var(--ease-out);font-size:22px}.contact-page-sub{font-size:var(--text-body-l);color:var(--color-text-secondary);max-width:52ch;margin:0 0 var(--space-6);line-height:1.6}.contact-card{margin-bottom:var(--space-8)}.contact-elsewhere ul{margin:var(--space-3) 0 0;flex-direction:column;gap:0;padding:0;list-style:none;display:flex}.contact-elsewhere li{border-bottom:.5px solid var(--color-border-subtle);padding:14px 0}.contact-elsewhere a{font-family:var(--font-body);color:var(--color-text-secondary);transition:color var(--duration-base) var(--ease-out);font-size:14px;text-decoration:none}.contact-elsewhere a:hover{color:var(--color-text-accent)}@media (max-width:720px){.app{padding:12px var(--page-padding-mobile) 0}.hero-headline{font-size:38px}.case-title,.about-title,.explorations-title,.contact-page-title{font-size:34px}.nav-links{display:none}.about-grid{grid-template-columns:1fr}.contact-band{padding:36px 24px}.contact-band-headline{font-size:32px}.contact-band-deco{font-size:180px;top:-60px;right:-20px}}.entry{z-index:9999;background:var(--color-charcoal);color:var(--color-cream);padding:var(--space-7) var(--space-6);pointer-events:none;grid-template-rows:auto 1fr auto;grid-template-columns:1fr 1fr;display:grid;position:fixed;inset:0;overflow:hidden}.entry--reveal{animation:entry-fade .9s var(--ease-out) forwards}@keyframes entry-fade{to{opacity:0;transform:translateY(-2vh)}}.entry__center{justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;grid-area:2/1/auto/-1;display:flex}.entry__wordmark{font-family:var(--font-script);color:var(--color-cream);letter-spacing:-.02em;animation:entry-wm-slide 1.1s var(--ease-out) 80ms;font-size:clamp(120px,18vw,240px);line-height:.9}.entry__dot{color:var(--color-terracotta)}.entry__sub{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:#f4efe58c;animation:entry-wm-slide .7s var(--ease-out) .6s;font-size:11px}@keyframes entry-wm-slide{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.entry__meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#f4efe58c;align-items:baseline;gap:var(--space-3);font-size:11px;display:flex}.entry__meta--tl{grid-area:1/1}.entry__meta--tr{grid-area:1/2;justify-content:flex-end}.entry__meta--bl{grid-area:3/1;align-self:end}.entry__meta--br{grid-area:3/2;justify-content:flex-end;align-self:end}.entry__meta-detail{color:#f4efe54d}.entry__count{font-variant-numeric:tabular-nums;color:var(--color-cream);letter-spacing:.02em;font-size:14px;font-weight:500}.entry__pct{color:#f4efe566}.entry__curtain{background:var(--color-bg);pointer-events:none;position:absolute;inset:0;transform:translateY(100%)}.entry--reveal .entry__curtain{animation:entry-curtain .9s var(--ease-out) forwards}@keyframes entry-curtain{0%{transform:translateY(100%)}to{transform:translateY(0%)}}.site-nav{align-items:center;gap:var(--space-4);z-index:40;grid-template-columns:1fr auto 1fr;padding:8px 0;display:grid;position:relative}.site-nav__logo{justify-self:start}.site-nav .site-nav__right{justify-self:end}@media (min-width:901px){.site-nav__pill{z-index:41;position:fixed;top:22px;left:50%;transform:translate(-50%)}.site-nav__logo{grid-column:1}.site-nav .site-nav__right{grid-column:3}}.site-nav__pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-bg) 55%, transparent);border:.5px solid color-mix(in srgb, var(--color-text-primary) 14%, transparent);-webkit-backdrop-filter:blur(30px)saturate(1.7);box-shadow:0 16px 40px -18px #0009, inset 0 1px 0 color-mix(in srgb, var(--color-text-primary) 14%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--color-bg) 40%, transparent);justify-self:center;align-items:center;gap:6px;padding:5px 6px;display:flex}[data-theme=light] .site-nav__pill{box-shadow:0 10px 30px -10px #11111124,0 4px 10px -4px #11111114,inset 0 1px #ffffffb3}.site-nav__pill-tools{align-items:center;gap:2px;margin-left:10px;display:inline-flex}.site-nav__logo{align-items:baseline;text-decoration:none;display:inline-flex}.script-logo{font-family:var(--font-script);color:var(--color-text-primary);letter-spacing:-.005em;font-weight:400;line-height:.9;display:inline-block}.script-logo__dot{color:var(--color-terracotta)}.site-nav__links{justify-content:center;display:flex}.site-nav__links ul{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.site-nav__links a{border-radius:var(--radius-pill);color:var(--color-text-secondary);opacity:.85;white-space:nowrap;transition:opacity var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);align-items:center;padding:6px 14px;text-decoration:none;display:inline-flex}.site-nav__links a:hover{opacity:1;color:var(--color-text-primary)}.site-nav__links li.active a{opacity:1;color:var(--color-text-primary);background:color-mix(in srgb, var(--color-text-primary) 18%, transparent);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--color-text-primary) 12%, transparent)}[data-theme=light] .site-nav__links li.active a{background:color-mix(in srgb, var(--color-text-primary) 5%, transparent);box-shadow:inset 0 0 0 .5px color-mix(in srgb, var(--color-text-primary) 5%, transparent)}.site-nav__links .site-nav__num{display:none}.site-nav__num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-terracotta);font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.site-nav__label{font-family:var(--font-body);text-transform:lowercase;font-size:14px;font-weight:500}.site-nav__right{justify-content:flex-end;align-items:center;gap:12px;display:flex}.site-nav__hamburger{border:.5px solid var(--color-border-default);cursor:pointer;width:40px;height:40px;color:var(--color-text-primary);transition:border-color var(--duration-base) cubic-bezier(.16, 1, .3, 1), background var(--duration-base) cubic-bezier(.16, 1, .3, 1);background:0 0;border-radius:50%;display:none;position:relative}.site-nav__hamburger:hover{border-color:var(--color-text-primary)}.site-nav__hamburger span{width:18px;height:1.5px;transition:transform var(--duration-base) cubic-bezier(.16, 1, .3, 1), top var(--duration-base) cubic-bezier(.16, 1, .3, 1);background:currentColor;position:absolute;left:11px}.site-nav__hamburger span:first-child{top:16px}.site-nav__hamburger span:nth-child(2){top:22px}.site-nav__hamburger.is-open span:first-child{top:19px;transform:rotate(45deg)}.site-nav__hamburger.is-open span:nth-child(2){top:19px;transform:rotate(-45deg)}.site-nav__sheet{z-index:100;background:var(--color-bg);padding:90px var(--page-padding-mobile) var(--page-padding-mobile);opacity:0;pointer-events:none;flex-direction:column;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);display:none;position:fixed;inset:0;transform:translateY(-12px)}.site-nav--open .site-nav__sheet{opacity:1;pointer-events:auto;display:flex;transform:translateY(0)}.site-nav__sheet-close{top:26px;right:var(--page-padding-mobile);border:.5px solid var(--color-border-default);width:44px;height:44px;color:var(--color-text-primary);cursor:pointer;transition:background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);background:0 0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute}.site-nav__sheet-close:hover{background:color-mix(in srgb, var(--color-text-primary) 8%, transparent);border-color:var(--color-border-strong)}.site-nav__sheet nav{width:100%}.site-nav__sheet ul{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.site-nav__sheet li a{align-items:baseline;gap:var(--space-3);padding:var(--space-4) 0;border-bottom:.5px solid var(--color-border-subtle);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);opacity:.85;text-transform:lowercase;transition:opacity var(--duration-base) cubic-bezier(.16, 1, .3, 1), color var(--duration-base) cubic-bezier(.16, 1, .3, 1);grid-template-columns:40px 1fr;font-size:36px;line-height:1.1;text-decoration:none;display:grid}.site-nav__sheet li.active a,.site-nav__sheet li a:hover{opacity:1;color:var(--color-text-accent)}.site-nav__sheet .site-nav__num{align-self:center;font-size:11px}.site-nav__sheet-foot{padding-top:var(--space-6);border-top:.5px solid var(--color-border-subtle);margin-top:auto}.site-nav__sheet-foot .socials{gap:var(--space-4);flex-flow:wrap;width:auto}.site-nav__sheet-foot .socials li a{grid-template-columns:none;display:inline-flex}.sound-toggle{border-radius:var(--radius-pill);cursor:pointer;width:30px;height:30px;color:var(--color-text-secondary);transition:color var(--duration-base) var(--ease-out), transform var(--duration-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;margin-left:-8px;padding:0;display:inline-flex}.sound-toggle:hover{color:var(--color-text-accent);transform:translateY(-1px)}.sound-toggle.is-on{color:var(--color-available)}.mode-toggle-btn{border-radius:var(--radius-pill);cursor:pointer;width:30px;height:30px;color:var(--color-text-secondary);transition:color var(--duration-base) var(--ease-out), transform var(--duration-fast) ease;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.mode-toggle-btn:hover{color:var(--color-text-accent);transform:translateY(-1px)}@media (max-width:900px){.site-nav{gap:var(--space-3);grid-template-columns:auto 1fr auto;position:sticky;top:14px}.site-nav__links,.site-nav__socials{display:none}.site-nav__hamburger{display:inline-block}.site-nav__pill{-webkit-backdrop-filter:none;background:0 0;border:0;justify-self:end;padding:0;position:static;transform:none;box-shadow:0 0 #0000}[data-theme=light] .site-nav__pill{box-shadow:0 0 #0000}}.work-grid{padding:var(--space-9) 0 var(--space-7)}.work-grid__head{justify-content:space-between;align-items:baseline;gap:var(--space-5);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.work-grid__list{gap:var(--space-7) var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.project-card{gap:var(--space-3);color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative}.project-card__media{aspect-ratio:4/3;background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-l);transition:transform var(--duration-slow) var(--ease-out);margin:0;position:relative;overflow:hidden}.project-card__media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .6s var(--ease-out), filter var(--duration-slow) var(--ease-out);display:block}.project-card:hover .project-card__media img{filter:saturate(1.05);transform:scale(1.03)}.project-card__chip{width:36px;height:36px;color:var(--color-cream);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:#0000008c;border-radius:999px;place-items:center;display:grid;position:absolute;top:12px;right:12px;transform:translateY(-4px)}.project-card:hover .project-card__chip{opacity:1;transform:translateY(0)}.project-card__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-top:var(--space-3);display:flex}.project-card__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);transition:color var(--duration-base) var(--ease-out);margin:0;font-size:28px;font-weight:400;line-height:1.1}.project-card:hover .project-card__title{color:var(--color-text-accent)}.project-card__year{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.project-card__tagline{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-secondary);margin:0;font-size:18px;line-height:1.3}.project-card__tagline em{font-style:italic}.project-card__desc{color:var(--color-text-tertiary);max-width:48ch;margin:0;font-size:14px;line-height:1.55}.project-card__foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding-top:var(--space-3);border-top:.5px solid var(--color-border-subtle);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.project-card__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.project-card__link{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;transition:color var(--duration-base) var(--ease-out);font-size:10px;font-weight:500}.project-card:hover .project-card__link{color:var(--color-text-accent)}.project-card__actions{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.project-card__case{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-primary);white-space:nowrap;border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);transition:background var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);align-items:center;gap:6px;padding:8px 14px;font-size:10px;font-weight:500;display:inline-flex}.project-card__case .ui-arrow{transition:transform var(--duration-base) var(--ease-out)}.project-card:hover .project-card__case{background:var(--color-text-primary);color:var(--color-bg);border-color:var(--color-text-primary)}.project-card:hover .project-card__case .ui-arrow{transform:translate(3px)}.project-card__live{z-index:2;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;cursor:pointer;transition:color var(--duration-base) var(--ease-out);align-items:center;gap:5px;font-size:10px;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.project-card__live:hover{color:var(--color-text-primary)}@media (hover:none),(max-width:640px){.project-card__chip{opacity:1;transform:none}.project-card__case{background:var(--color-text-primary);color:var(--color-bg);border-color:var(--color-text-primary)}}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), transform .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(16px)}.reveal--in{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.socials{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:inline-flex}.socials a{color:var(--color-text-secondary);border-radius:var(--radius-pill);transition:color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), transform var(--duration-fast) ease;justify-content:center;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.socials a:hover{color:var(--color-text-accent);transform:translateY(-1px)}.socials--sm a{width:30px;height:30px}.socials--md a{width:38px;height:38px}.socials--lg a{height:38px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:.5px solid;padding:0 14px 0 12px;font-size:10px;font-weight:500}.socials--lg a:hover{background:var(--color-text-primary);color:var(--color-bg);border-color:var(--color-text-primary)}.socials__label{font-variant:small-caps}.site-nav__socials a{color:var(--color-text-primary)}.site-nav__socials a:hover{color:var(--color-text-accent)}.contact-band__socials{margin-top:0}.contact-band__socials a{color:var(--color-charcoal)}.contact-form{padding:var(--space-9) 0 var(--space-7)}.contact-form__card{background:var(--color-cream);color:var(--color-charcoal);border-radius:var(--radius-l);padding:var(--space-8);gap:var(--space-8);--color-text-primary:#050505;--color-text-secondary:#050505b8;--color-text-tertiary:#05050585;--color-text-quiet:#05050566;--color-border-subtle:#0505051a;--color-border-default:#0505052e;--color-border-strong:#05050552;--color-text-accent:var(--color-terracotta-deep);--color-bg:var(--color-cream);grid-template-columns:minmax(280px,1fr) 1.4fr;min-width:0;display:grid;position:relative;overflow:hidden}.contact-form__side{border-right:.5px solid var(--color-border-subtle);padding-right:var(--space-7);flex-direction:column;display:flex}.contact-form__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-4);font-size:11px;font-weight:500}.contact-form__title{font-family:var(--font-display);letter-spacing:-.025em;margin:0 0 var(--space-4);color:var(--color-text-primary);text-wrap:balance;font-size:36px;font-weight:400;line-height:1.05}.contact-form__title em{font-style:italic}.contact-form__sub{color:var(--color-text-secondary);margin:0 0 var(--space-7);max-width:38ch;font-size:15px;line-height:1.6}.contact-form__facts{padding-top:var(--space-5);border-top:.5px solid var(--color-border-subtle);gap:var(--space-4);flex-direction:column;margin:auto 0 0;display:flex}.contact-form__facts>div{flex-direction:column;gap:4px;display:flex}.contact-form__facts dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0;font-size:10px}.contact-form__facts dd{font-family:var(--font-body);color:var(--color-text-primary);margin:0;font-size:14px}.contact-form__facts dd a{color:var(--color-text-accent);text-underline-offset:3px;text-decoration:underline}.contact-form__socials-wrap{margin-top:4px}.contact-form__socials-wrap .socials a{width:32px;height:32px}.contact-form__panel{gap:var(--space-5);flex-direction:column;display:flex}.contact-form__step{align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:.5px solid var(--color-border-subtle);margin-top:var(--space-3);display:flex}.contact-form__step:first-child{margin-top:0}.contact-form__step-num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-terracotta-deep);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:500}.contact-form__step-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;font-size:11px;font-weight:500}.cf-row{gap:var(--space-5);display:grid}.cf-row--two{grid-template-columns:1fr 1fr}.cf-field{border:none;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.cf-field__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 8px;font-size:10px;font-weight:500;display:block}.cf-field__input{appearance:none;border:none;border-bottom:.5px solid var(--color-border-default);font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);width:100%;transition:border-color var(--duration-base) var(--ease-out);background:0 0;outline:none;padding:4px 0 10px;font-size:22px;font-weight:400;line-height:1.3}.cf-field__input::placeholder{color:var(--color-text-quiet);font-style:italic}.cf-field__input:focus{border-bottom-color:var(--color-terracotta-deep)}.cf-field__textarea{resize:vertical;border:.5px solid var(--color-border-default);border-radius:var(--radius-m);min-height:120px;font-size:17px;line-height:1.5;font-family:var(--font-body);padding:14px 16px}.cf-field__textarea:focus{border-color:var(--color-terracotta-deep)}.cf-budget{gap:var(--space-2);flex-wrap:wrap;display:flex}.cf-budget__pill{border:.5px solid var(--color-border-default);color:var(--color-text-secondary);font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:all var(--duration-base) var(--ease-out);background:0 0;padding:9px 16px;font-size:13px;font-weight:500}.cf-budget__pill:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}.cf-budget__pill.active{background:var(--color-charcoal);border-color:var(--color-charcoal);color:var(--color-cream)}.cf-foot{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-3);padding-top:var(--space-4);border-top:.5px solid var(--color-border-subtle);flex-wrap:wrap;display:flex}.cf-foot__note{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;font-size:10px}.cf-submit{white-space:nowrap}.cf-submit:disabled{opacity:.6;cursor:progress}.contact-form__panel--sent{gap:var(--space-4);flex-direction:column;display:flex}.contact-form__sent-headline{font-family:var(--font-display);letter-spacing:-.025em;margin:var(--space-2) 0;color:var(--color-text-primary);font-size:44px;font-weight:400;line-height:1.05}.contact-form__sent-headline em{font-style:italic}.contact-form__sent-sub{color:var(--color-text-secondary);max-width:52ch;margin:0;font-size:15px;line-height:1.7}.contact-form__sent-sub a{color:var(--color-text-accent)}.contact-form__sent-receipt{padding-top:var(--space-5);border-top:.5px solid var(--color-border-subtle);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);justify-content:space-between;margin-top:auto;font-size:10px;display:flex}@media (max-width:960px){.site-nav__top{grid-template-columns:1fr}.masthead__status{flex-wrap:wrap}.masthead__status-cell{padding:0 var(--space-3);min-width:0}.masthead__status-cell:first-child{border-left:0;padding-left:0}.masthead__index ul{gap:var(--space-4);flex-wrap:wrap}.masthead__edition{display:none}.contact-form__card{padding:var(--space-5);gap:var(--space-6);grid-template-columns:1fr}.contact-form__side{border-right:0;border-bottom:.5px solid var(--color-border-subtle);padding-right:0;padding-bottom:var(--space-6)}.contact-form__title{font-size:28px}.work-grid__list{gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.facts__list{grid-template-columns:repeat(2,1fr)}.pull-quote{padding:var(--space-6) 0}}@media (max-width:560px){.app{padding:12px var(--page-padding-mobile) 0}.cf-row--two{grid-template-columns:1fr}.contact-form{padding:var(--space-7) 0 var(--space-5)}.contact-form__card{padding:var(--space-4);gap:var(--space-5)}.contact-form__title{font-size:26px}.contact-form__sub{font-size:14px}.contact-form__sent-headline{font-size:28px}.cf-field__input{font-size:19px}.cf-field__textarea{font-size:15px}.cf-foot{align-items:stretch;gap:var(--space-3);flex-direction:column}.cf-submit{justify-content:center}.facts__list{grid-template-columns:1fr}.pull-quote__body{font-size:22px}.facts__row dd{font-size:18px}.project-card__title{font-size:22px}.project-card__tagline{font-size:16px}.project-card__desc{font-size:13.5px}}.about-hero{padding:var(--space-9) 0 var(--space-6)}.about-hero__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-5);font-size:11px;font-weight:500}.about-hero__title{font-family:var(--font-display);letter-spacing:-.025em;max-width:22ch;color:var(--color-text-primary);text-wrap:balance;margin:0;font-size:clamp(40px,5.4vw,60px);font-weight:400;line-height:1.04}.about-hero__title em{font-style:italic}.about-hero__name{font-style:italic;font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(currentColor,currentColor);-webkit-background-clip:text;background-clip:text;padding:0 2px;font-size:1em}.about-intro{gap:var(--space-9);padding:var(--space-7) 0 var(--space-9);border-bottom:.5px solid var(--color-border-subtle);grid-template-columns:minmax(0,2fr) minmax(280px,1fr);align-items:start;display:grid}.about-intro__body{max-width:56ch}.about-intro .about-slip{justify-self:end;width:100%;max-width:360px}.about-intro__body p{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:56ch;font-size:16px;line-height:1.7}.about-intro__body p:last-child{margin-bottom:0}.about-intro__body em{color:var(--color-text-primary);opacity:.95;font-style:italic}.about-slip{background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);padding:var(--space-5);flex-direction:column;align-self:stretch;display:flex;position:relative}.about-slip__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-3);font-size:10px;font-weight:500}.about-slip__list{border-top:.5px solid var(--color-border-subtle);flex-direction:column;margin:0;display:flex}.about-slip__list>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);border-bottom:.5px solid var(--color-border-subtle);padding:11px 0;display:flex}.about-slip__list dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;margin:0;font-size:10.5px}.about-slip__list dd{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:15px;font-style:italic;font-weight:400}.about-slip__stamp{padding-top:var(--space-4);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-quiet);flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin-top:auto;font-size:10px;display:flex}.about-slip__stamp>span{white-space:nowrap}.about-section{padding:var(--space-9) 0;border-bottom:.5px solid var(--color-border-subtle)}.about-section:last-of-type{border-bottom:0}.about-section__h{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-3);max-width:22ch;color:var(--color-text-primary);text-wrap:balance;font-size:38px;font-weight:400;line-height:1.1}.about-section__h em{font-style:italic}.about-section__sub{color:var(--color-text-secondary);margin:0 0 var(--space-6);max-width:56ch;font-size:15px;line-height:1.6}.about-facts{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.fact{background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);padding:var(--space-5);gap:var(--space-2);transition:transform var(--duration-slow) var(--ease-out), border-color var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative}.fact:hover{border-color:var(--color-border-default);transform:translateY(-3px)}.fact__meta{margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.fact__num,.fact__tag{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:10px;font-weight:500}.fact__title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);text-wrap:balance;margin:0 0 4px;font-size:24px;font-weight:400;line-height:1.18}.fact__title em{color:var(--color-text-accent);font-style:italic}.fact__body{color:var(--color-text-secondary);max-width:50ch;margin:0;font-size:14px;line-height:1.6}.fact--featured{background:var(--color-terracotta);color:var(--color-charcoal);border-color:var(--color-terracotta);padding:var(--space-7);border-radius:var(--radius-l);grid-column:1/-1}@media (max-width:720px){.fact--featured{padding:var(--space-5)}}.fact--featured .fact__num,.fact--featured .fact__tag{color:#0000008c}.fact--featured .fact__title{color:var(--color-charcoal);max-width:28ch;font-size:28px;line-height:1.15}.fact--featured .fact__title em{color:var(--color-charcoal);text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:1px}.fact--featured .fact__body{color:#000000c7;max-width:64ch;font-size:15px}.fact--skip{overflow:hidden}.skip-stage{height:120px;margin:var(--space-3) calc(var(--space-5) * -1) var(--space-4);padding:0 var(--space-5);background:linear-gradient(0deg, transparent 49.5%, var(--color-border-subtle) 50%, transparent 50.5%) 0 50% / 100% 100%;justify-content:center;align-items:center;display:flex;position:relative}.skip-stage__rope{fill:none;width:100%;height:100%;stroke:var(--color-terracotta);stroke-width:2px;stroke-linecap:round;stroke-dasharray:6 10;animation:1.2s linear infinite skip-rope;position:absolute;inset:0}@keyframes skip-rope{to{stroke-dashoffset:-32px}}.skip-stage__dial{z-index:1;background:var(--color-bg);border:1px solid var(--color-text-primary);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:88px;height:88px;display:flex;position:relative}.skip-stage__num{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);font-variant-numeric:tabular-nums;font-size:36px;line-height:1}.skip-stage__unit{font-family:var(--font-mono);letter-spacing:.18em;color:var(--color-text-tertiary);font-size:9px}.skip-stage__ticks{right:var(--space-3);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);flex-direction:column;gap:2px;margin:0;padding:0;font-size:9px;list-style:none;display:flex;position:absolute;bottom:8px}.skip-stage__ticks span{color:var(--color-terracotta);margin-right:4px}.fact--gaddafi{gap:var(--space-3) var(--space-6);padding:var(--space-6);grid-template-columns:1fr 1fr;display:grid;position:relative}.fact--gaddafi .fact__meta{grid-column:1/-1}.fact--gaddafi .fact__title{grid-column:1;max-width:18ch}.fact--gaddafi .fact__body{grid-column:1}.gaddafi-tabs{padding:var(--space-4);border-radius:var(--radius-m);background:#0000002e;flex-direction:column;grid-area:2/2/span 2;gap:6px;display:flex;position:relative}.gaddafi-tab{align-items:center;gap:var(--space-3);color:var(--color-charcoal);font-family:var(--font-body);transform-origin:0;background:#f4efe5eb;border-radius:8px;grid-template-columns:38px 1fr auto;padding:8px 12px;font-size:12px;line-height:1.3;display:grid}.gaddafi-tab--1{transform:translate(0)rotate(-.4deg)}.gaddafi-tab--2{transform:translate(6px)rotate(.3deg)}.gaddafi-tab--3{transform:translate(2px)rotate(-.5deg)}.gaddafi-tab--4{transform:translate(10px)rotate(.5deg)}.gaddafi-tab--5{transform:translate(4px)rotate(-.3deg)}.gaddafi-tab--6{opacity:.75;transform:translate(8px)rotate(.6deg)}.gaddafi-tab__hr{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-terracotta-deep);font-variant-numeric:tabular-nums;font-size:9.5px}.gaddafi-tab__title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.gaddafi-tab__tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#00000080;font-size:8.5px}.gaddafi-tabs__more{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#000000b3;border-radius:var(--radius-pill);background:#f4efe5b3;align-self:flex-start;margin-top:4px;padding:4px 10px;font-size:9.5px;font-weight:500}.gaddafi-timeline{margin-top:var(--space-5);padding-top:var(--space-3);grid-column:1/-1;height:70px;position:relative}.gaddafi-timeline__line{background:linear-gradient(90deg,#0000004d 0% 80%,#00000026 100%);height:1px;position:absolute;top:14px;left:5%;right:5%}.gaddafi-timeline__step{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-charcoal);flex-direction:column;align-items:center;gap:8px;font-size:9.5px;display:flex;position:absolute;top:0;transform:translate(-50%)}.gaddafi-timeline__dot{background:var(--color-charcoal);border:3px solid var(--color-terracotta);box-sizing:content-box;border-radius:50%;width:14px;height:14px;margin-top:7px}.gaddafi-timeline__dot--end{background:var(--color-terracotta);border-color:var(--color-charcoal)}.gaddafi-timeline__label{font-family:var(--font-mono);letter-spacing:.06em;text-align:center;color:#000000c7;white-space:nowrap;font-size:9px;line-height:1.3}@media (max-width:720px){.fact--gaddafi{grid-template-columns:1fr}.fact--gaddafi .gaddafi-tabs{grid-area:auto/1}.gaddafi-timeline{display:none}.skip-stage{height:96px}.skip-stage__dial{width:72px;height:72px}.skip-stage__num{font-size:28px}}.about-how{border-top:.5px solid var(--color-border-default);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.how-col{padding:var(--space-5) var(--space-5) var(--space-5) 0;border-right:.5px solid var(--color-border-subtle)}.how-col:not(:first-child){padding-left:var(--space-5)}.how-col:last-child{border-right:0;padding-right:0}.how-col__num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text-accent);margin-bottom:var(--space-3);font-size:11px;font-weight:500}.how-col__title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 var(--space-3);color:var(--color-text-primary);font-size:22px;font-style:italic;font-weight:400;line-height:1.2}.how-col__body{color:var(--color-text-secondary);max-width:32ch;margin:0;font-size:14px;line-height:1.6}.about-timeline{flex-direction:column;display:flex}.tl-row{gap:var(--space-5);padding:var(--space-4) 0;border-bottom:.5px solid var(--color-border-subtle);grid-template-columns:130px 1fr auto;align-items:baseline;display:grid}.tl-row:last-child{border-bottom:0}.tl-year{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.tl-body{font-family:var(--font-display);flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.tl-role{letter-spacing:-.01em;color:var(--color-text-primary);font-size:19px;font-weight:400}.tl-note{color:var(--color-text-tertiary);font-size:16px;font-style:italic}.tl-place{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-quiet);white-space:nowrap;font-size:10.5px;font-weight:500}.about-portrait{gap:var(--space-6);padding:var(--space-6) 0 var(--space-7);grid-template-columns:1.7fr 1fr;align-items:stretch;display:grid}.about-portrait--single{grid-template-columns:1fr;max-width:720px}.about-portrait__main{gap:var(--space-3);flex-direction:column;margin:0;display:flex}.about-portrait__main img{aspect-ratio:4/5;object-fit:cover;object-position:50% 22%;border-radius:var(--radius-l);background:var(--color-surface);border:.5px solid var(--color-border-subtle);filter:saturate(.97);width:100%;display:block}.about-portrait__main figcaption{justify-content:space-between;gap:var(--space-3);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);flex-wrap:wrap;font-size:10px;font-weight:500;display:flex}.about-portrait__cred{color:var(--color-text-quiet)}.about-portrait__inset{gap:var(--space-5);flex-direction:column;display:flex}.about-portrait__inset figure{gap:var(--space-2);flex-direction:column;flex:none;margin:0;display:flex}.about-portrait__inset img{aspect-ratio:4/5;object-fit:cover;object-position:50% 24%;border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);width:100%;display:block}.about-portrait__inset figcaption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:10px}.about-portrait__pull{padding-top:var(--space-5);border-top:.5px solid var(--color-border-subtle);margin-top:auto}.about-portrait__pull .section-label{margin-bottom:var(--space-3)}.about-portrait__pull p{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-secondary);max-width:28ch;margin:0;font-size:20px;line-height:1.3}.about-portrait__pull em{font-style:italic}.fact--with-image{grid-template-rows:auto auto 1fr auto;padding:0;display:grid;overflow:hidden}.fact--with-image .fact__meta,.fact--with-image .fact__title,.fact--with-image .fact__body{padding-left:var(--space-5);padding-right:var(--space-5)}.fact--with-image .fact__meta{padding-top:var(--space-5)}.fact--with-image .fact__body{padding-bottom:var(--space-5)}.fact__image{margin:var(--space-3) 0 0;overflow:hidden}.fact__image img{aspect-ratio:16/9;object-fit:cover;object-position:center 35%;filter:saturate(.95);width:100%;display:block}.about-portrait--single .about-portrait__inset{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:stretch;display:grid}@media (max-width:720px){.about-portrait--single .about-portrait__inset{grid-template-columns:1fr}}@media (max-width:960px){.about-portrait{grid-template-columns:1fr}.about-portrait__inset{flex-direction:row}.about-portrait__inset figure{width:50%}.about-portrait__pull{border-top:0;padding-top:0}.about-intro{gap:var(--space-6);padding-bottom:var(--space-7);grid-template-columns:minmax(0,1fr)}.about-intro .about-slip{justify-self:stretch;width:100%;min-width:0;max-width:100%}.about-slip,.about-slip__list,.about-slip__list>div{min-width:0}.about-slip__list dt{white-space:normal}.about-slip__list dd{overflow-wrap:anywhere;text-align:right;min-width:0}.about-how{border-top:0;grid-template-columns:1fr}.how-col{border-right:0;border-bottom:.5px solid var(--color-border-subtle);padding:var(--space-5) 0}.how-col:last-child{border-bottom:0}.tl-row{grid-template-columns:1fr;gap:4px}.tl-place{justify-self:start}}@media (max-width:720px){.about-facts{grid-template-columns:1fr}.about-facts .fact--featured{grid-column:auto}}@media (max-width:560px){.about-hero__title{font-size:34px}.about-section__h{font-size:28px}.fact__title{font-size:20px}.fact--featured .fact__title{font-size:24px}.about-portrait__inset{flex-direction:column}.about-portrait__inset figure{width:100%}}.case-study{padding:var(--space-5) 0 var(--space-9);max-width:1280px;margin:0 auto;position:relative}.cs-back{align-items:center;gap:var(--space-2);font-family:var(--font-body);color:var(--color-text-secondary);padding:var(--space-2) 0;margin-bottom:var(--space-6);opacity:.85;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.cs-back:hover{opacity:1;color:var(--color-text-accent);transform:translate(-3px)}.cs-cover{gap:var(--space-5);padding:var(--space-5) 0 0;flex-direction:column;display:flex;position:relative}.cs-cover__meta{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);justify-content:space-between;align-items:baseline;font-size:11px;font-weight:500;display:flex}.cs-cover__id{color:var(--cs-accent,var(--color-terracotta))}.cs-cover__title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);text-wrap:balance;max-width:min(64%,1050px);margin:0;font-size:clamp(22px,3.3vw,40px);font-weight:400;line-height:1.08}.cs-cover__title em{font-style:italic}.cs-cover__media{margin:var(--space-4) 0 0;aspect-ratio:16/9;background:var(--color-surface);border-radius:var(--radius-m);isolation:isolate;position:relative;overflow:hidden}.cs-cover__media img{object-fit:cover;width:100%;height:100%;display:block}.cs-metaband{padding:var(--space-6) 0;border-bottom:.5px solid var(--color-border-subtle);border-top:.5px solid var(--color-border-subtle);margin-top:var(--space-7)}.cs-metaband__inner{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(160px,1fr)) auto;align-items:center;display:grid}.cs-metaband__cell{flex-direction:column;gap:6px;display:flex}.cs-metaband__cell dt{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0;font-size:10px;font-weight:500}.cs-metaband__cell dd{font-family:var(--font-body);color:var(--color-text-primary);margin:0;font-size:14px;font-weight:500;line-height:1.4}.cs-metaband__live{align-items:center;gap:var(--space-2);background:var(--cs-accent,var(--color-terracotta));color:var(--color-cream);border-radius:var(--radius-pill);font-family:var(--font-body);white-space:nowrap;transition:transform var(--duration-fast) ease, filter var(--duration-base) var(--ease-out);padding:13px 22px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.cs-metaband__live:hover{filter:brightness(1.08);transform:translateY(-1px)}.cs-progress{margin:var(--space-6) 0 0;background:var(--color-surface);border:.5px solid var(--color-border-default);border-radius:var(--radius-m);padding:var(--space-5)}.cs-progress__inner{align-items:flex-start;gap:var(--space-4);display:flex}.cs-progress__dot{background:var(--color-terracotta);width:10px;height:10px;animation:pulse 2s var(--ease-out) infinite;border-radius:50%;flex-shrink:0;margin-top:8px;box-shadow:0 0 0 4px #7f7f7f38}.cs-progress__title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);margin:0 0 4px;font-size:20px;font-weight:400;line-height:1.2}.cs-progress__body{color:var(--color-text-secondary);max-width:56ch;margin:0;font-size:14px;line-height:1.6}.cs-intro{padding:var(--space-8) 0 var(--space-6)}.cs-intro .section-label{margin-bottom:var(--space-5)}.cs-intro__body p{font-family:var(--font-display);letter-spacing:-.012em;color:var(--color-text-primary);margin:0 0 var(--space-5);max-width:none;font-size:28px;font-weight:400;line-height:1.35}.cs-intro__body p:last-child{margin-bottom:0}.cs-intro__body p:nth-child(n+2){font-family:var(--font-body);letter-spacing:0;color:var(--color-text-secondary);max-width:none;font-size:18px;line-height:1.7}.cs-quotes{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.cs-quote{background:var(--color-surface);border-left:2px solid var(--cs-accent,var(--color-terracotta));padding:var(--space-4) var(--space-5);border-radius:0 var(--radius-m) var(--radius-m) 0;margin:0}.cs-quote__mark{display:none}.cs-quote p{font-family:var(--font-display);margin:0 0 var(--space-2);color:var(--color-text-primary);max-width:none;font-size:18px;font-style:italic;line-height:1.4}.cs-quote cite{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:10px;font-style:normal;font-weight:500;display:block}.cs-section{gap:var(--space-5);padding:var(--space-7) 0;border-top:.5px solid var(--color-border-subtle);grid-template-columns:160px 1fr;align-items:start;display:grid}.cs-section__head{top:var(--space-5);align-self:start;padding-top:6px;position:sticky}.cs-section__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cs-accent,var(--color-terracotta));font-variant-numeric:tabular-nums;font-size:11px;font-weight:500;display:block}.cs-section__title{display:none}.cs-section__body{max-width:none}.cs-section__body__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-5);color:var(--color-text-primary);text-wrap:balance;max-width:30ch;font-size:clamp(28px,3.4vw,38px);font-weight:400;line-height:1.1}.cs-section__body p{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:none;font-size:18px;line-height:1.75}.cs-section__list{margin:var(--space-5) 0 0;flex-direction:column;padding:0;list-style:none;display:flex}.cs-section__list li{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:.5px solid var(--color-border-subtle);color:var(--color-text-primary);grid-template-columns:40px 1fr;font-size:16px;line-height:1.6;display:grid}.cs-section__list li:last-child{border-bottom:0}.cs-section__list-num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--cs-accent,var(--color-terracotta));font-variant-numeric:tabular-nums;padding-top:4px;font-size:11px;font-weight:500}.cs-section__image{margin:var(--space-6) 0 0}.cs-section__image img{border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);width:100%;display:block}.cs-section__image figcaption{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-top:var(--space-3);max-width:60ch;font-size:10px;font-weight:500}.cs-intro,.cs-feedback,.cs-next-steps,.cs-gallery{gap:var(--space-5);grid-template-columns:160px 1fr;align-items:start;display:grid}.cs-intro>*,.cs-feedback>*,.cs-next-steps>*,.cs-gallery>*{grid-column:2}.cs-intro>.section-label,.cs-feedback>.section-label,.cs-next-steps>.section-label,.cs-gallery>.section-label{grid-column:1;margin-bottom:0;padding-top:4px}.cs-feedback{padding:var(--space-7) 0;border-top:.5px solid var(--color-border-subtle)}.cs-feedback__grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.cs-feedback__item{padding:var(--space-4) var(--space-5);background:var(--color-surface);border-left:2px solid var(--cs-accent,var(--color-terracotta));border-radius:0 var(--radius-m) var(--radius-m) 0;margin:0}.cs-feedback__mark{display:none}.cs-feedback__item blockquote{font-family:var(--font-display);color:var(--color-text-primary);margin:0;font-size:19px;font-style:italic;font-weight:400;line-height:1.4}.cs-next-steps{padding:var(--space-7) 0;border-top:.5px solid var(--color-border-subtle)}.cs-next-steps__title{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 var(--space-5);max-width:22ch;color:var(--color-text-primary);font-size:clamp(28px,3.4vw,36px);font-weight:400;line-height:1.1}.cs-next-steps__title em{font-style:italic}.cs-next-steps__list{gap:0 var(--space-6);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.cs-next-steps__list li{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:.5px solid var(--color-border-subtle);color:var(--color-text-primary);grid-template-columns:40px 1fr;font-size:16px;line-height:1.55;display:grid}.cs-next-steps__num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--cs-accent,var(--color-terracotta));font-variant-numeric:tabular-nums;padding-top:4px;font-size:11px;font-weight:500}.cs-gallery{padding:var(--space-7) 0;border-top:.5px solid var(--color-border-subtle)}.cs-gallery__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(380px,1fr));display:grid}.cs-gallery__item{border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);margin:0;overflow:hidden}.cs-gallery__item img{aspect-ratio:16/10;object-fit:cover;object-position:top center;width:100%;display:block}.cs-next{margin-top:var(--space-9);padding:var(--space-7) 0;border-top:.5px solid var(--color-border-default)}.cs-next__link{align-items:baseline;gap:var(--space-4) var(--space-5);color:inherit;padding:var(--space-5) 0;transition:padding var(--duration-base) var(--ease-out);grid-template-columns:1fr auto;text-decoration:none;display:grid}.cs-next__link:hover{padding-left:var(--space-2)}.cs-next__link:hover .cs-next__arrow{color:var(--color-text-accent);transform:translate(6px,-6px)}.cs-next__link:hover .cs-next__title{color:var(--color-text-accent)}.cs-next__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);grid-column:1/-1;font-size:11px;font-weight:500}.cs-next__title{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);transition:color var(--duration-base) var(--ease-out);font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.1}.cs-next__title em{color:var(--color-text-secondary);font-style:italic}.cs-next__arrow{font-family:var(--font-display);color:var(--color-text-primary);opacity:.6;transition:transform var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);font-size:32px}@media (max-width:880px){.cs-section,.cs-intro,.cs-feedback,.cs-next-steps,.cs-gallery{grid-template-columns:1fr}.cs-intro>*,.cs-feedback>*,.cs-next-steps>*,.cs-gallery>*{grid-column:1}.cs-section__head{position:static}.cs-intro>.section-label,.cs-feedback>.section-label,.cs-next-steps>.section-label,.cs-gallery>.section-label{margin-bottom:var(--space-4)}.cs-quotes,.cs-feedback__grid,.cs-next-steps__list{grid-template-columns:1fr}}@media (max-width:560px){.cs-cover__title{font-size:clamp(18px,4.4vw,24px)}.cs-intro__body p{font-size:20px}.cs-intro__body p:nth-child(n+2){font-size:16px}.cs-section__body__title{font-size:24px}.cs-section__body p{font-size:16px}.cs-gallery__grid{grid-template-columns:1fr}}.ex-carousel{padding:var(--space-7) 0 var(--space-6);position:relative}.ex-carousel__head{margin-bottom:var(--space-5);justify-content:space-between;align-items:baseline;display:flex}.ex-carousel__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:500}.ex-carousel__counter{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--color-text-tertiary);align-items:baseline;gap:4px;font-size:11px;display:inline-flex}.ex-carousel__counter-num{font-size:22px;line-height:1;font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-weight:400}.ex-carousel__counter-sep{color:var(--color-text-quiet)}.ex-carousel__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 var(--space-6);color:var(--color-text-primary);text-wrap:balance;max-width:22ch;font-size:clamp(40px,6vw,68px);font-weight:400;line-height:1.02}.ex-carousel__title em{font-style:italic}.ex-carousel__stage{aspect-ratio:16/9;border-radius:var(--radius-l);background:var(--color-surface);border:.5px solid var(--color-border-subtle);position:relative;overflow:hidden}.ex-carousel__slide{color:inherit;opacity:0;visibility:hidden;pointer-events:none;text-decoration:none;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1),visibility 0s linear .7s;display:block;position:absolute;inset:0;transform:scale(1.02)}.ex-carousel__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1);transform:scale(1)}.ex-carousel__slide figure{margin:0;position:absolute;inset:0;overflow:hidden}.ex-carousel__slide img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform 8s cubic-bezier(.16,1,.3,1)}.ex-carousel__slide.is-active img{transform:scale(1.04)}.ex-carousel__caption{left:var(--space-5);bottom:var(--space-5);right:var(--space-5);z-index:1;flex-direction:column;gap:6px;max-width:60ch;display:flex;position:absolute}.ex-carousel__caption:before{content:"";border-radius:var(--radius-m);z-index:-1;background:linear-gradient(#0000 0%,#0006 40%,#000000b3 100%);position:absolute;inset:-36px -16px -16px}.ex-carousel__cat{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffffffc7;font-size:10px;font-weight:500}.ex-carousel__slide-title{font-family:var(--font-display);letter-spacing:-.015em;color:#fff;margin:0;font-size:clamp(20px,2.8vw,28px);font-weight:400;line-height:1.2}.ex-carousel__caption p{color:#ffffffc7;margin:0;font-size:13.5px;line-height:1.5}.ex-carousel__controls{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-5);display:flex}.ex-carousel__nav{border:.5px solid var(--color-border-default);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-display);transition:all var(--duration-base) cubic-bezier(.16, 1, .3, 1);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.ex-carousel__nav:hover{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg);transform:scale(1.06)}.ex-carousel__dots{gap:var(--space-2);align-items:center;margin:0;padding:0;list-style:none;display:inline-flex}.ex-carousel__dot{background:var(--color-border-subtle);border-radius:var(--radius-pill);cursor:pointer;width:44px;height:4px;transition:background var(--duration-base) cubic-bezier(.16, 1, .3, 1);border:0;padding:0;position:relative;overflow:hidden}.ex-carousel__dot:hover{background:var(--color-border-strong)}.ex-carousel__dot.is-active{background:var(--color-border-default)}.ex-carousel__dot-fill{background:var(--color-text-accent);border-radius:var(--radius-pill);width:0;transition:width linear;position:absolute;inset:0}.ex-carousel__dot.is-active .ex-carousel__dot-fill{animation-name:dot-fill;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes dot-fill{0%{width:0}to{width:100%}}.marquee{width:100vw;padding:var(--space-3) 0;border-top:.5px solid var(--color-border-subtle);border-bottom:.5px solid var(--color-border-subtle);-webkit-user-select:none;user-select:none;pointer-events:none;margin:0 calc(50% - 50vw);position:relative;overflow:hidden}.marquee__track{width:max-content;animation:marquee-scroll var(--marquee-speed,60s) linear infinite;display:flex}.marquee--right .marquee__track{animation-direction:reverse}.marquee__group{padding-right:var(--space-5);flex-shrink:0;align-items:center;display:flex}@keyframes marquee-scroll{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee__track{animation:none}}.ex-marquee{margin-top:var(--space-5);margin-bottom:var(--space-7)}.ex-marquee__item{align-items:baseline;gap:var(--space-3);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);padding:0 var(--space-5);font-size:clamp(28px,4vw,48px);font-weight:400;line-height:1.1;display:inline-flex}.ex-marquee__num{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-text-accent);align-self:flex-start;margin-top:12px;font-size:12px;font-weight:500}.ex-marquee__label{font-style:italic}.ex-marquee__dot{color:var(--color-text-quiet);font-size:.55em}.ex-showreel{padding:var(--space-7) 0}.ex-showreel__head{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.ex-showreel__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);font-size:11px;font-weight:500}.ex-showreel__title{font-family:var(--font-display);letter-spacing:-.025em;max-width:22ch;color:var(--color-text-primary);margin:0;font-size:clamp(28px,3.6vw,40px);font-weight:400;line-height:1.1}.ex-showreel__title em{font-style:italic}.ex-showreel__slot{align-items:center;gap:var(--space-3);aspect-ratio:16/9;border-radius:var(--radius-l);background:linear-gradient(180deg, var(--color-surface), color-mix(in oklab, var(--color-bg), var(--color-surface) 70%));border:.5px dashed var(--color-border-default);transition:border-color var(--duration-base) cubic-bezier(.16, 1, .3, 1);flex-direction:column;justify-content:center;display:flex;position:relative;overflow:hidden}.ex-showreel__slot:hover{border-color:var(--color-text-accent)}.ex-showreel__play{background:var(--color-text-primary);width:72px;height:72px;color:var(--color-bg);transition:transform var(--duration-base) cubic-bezier(.16, 1, .3, 1);border-radius:50%;place-items:center;display:grid}.ex-showreel__slot:hover .ex-showreel__play{transform:scale(1.08)}.ex-showreel__slot p{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0;font-size:11px}.ex-filters{z-index:10;margin:var(--space-5) 0 var(--space-6);padding:var(--space-3) 0;background:var(--color-bg);border-bottom:.5px solid var(--color-border-subtle);position:sticky;top:0}.ex-filters ul{gap:var(--space-2);scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.ex-filters ul::-webkit-scrollbar{display:none}.ex-filter{border:.5px solid var(--color-border-default);color:var(--color-text-secondary);font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;opacity:.9;transition:all var(--duration-base) cubic-bezier(.16, 1, .3, 1);background:0 0;align-items:center;gap:8px;padding:9px 14px 9px 16px;font-size:13px;font-weight:500;display:inline-flex}.ex-filter:hover{opacity:1;color:var(--color-text-primary);border-color:var(--color-border-strong);transform:translateY(-1px)}.ex-filter.active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--color-bg);opacity:1}.ex-filter__count{font-family:var(--font-mono);letter-spacing:.06em;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.ex-filter.active .ex-filter__count{color:var(--color-bg);opacity:.6}.ex-grid{column-count:3;column-gap:var(--space-5);padding:var(--space-4) 0 var(--space-9)}.ex-card{width:100%;margin-bottom:var(--space-6);break-inside:avoid;color:inherit;text-decoration:none;display:inline-block;position:relative}.ex-card__media{margin:0 0 var(--space-3);border-radius:var(--radius-m);background:var(--color-surface);border:.5px solid var(--color-border-subtle);isolation:isolate;position:relative;overflow:hidden}.ex-card__media img{object-fit:cover;width:100%;height:auto;transition:transform .8s cubic-bezier(.16,1,.3,1);display:block}.ex-card:hover .ex-card__media img{transform:scale(1.025)}.ex-card__category{color:var(--color-cream);border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity var(--duration-base) cubic-bezier(.16, 1, .3, 1), transform var(--duration-base) cubic-bezier(.16, 1, .3, 1);background:#0000009e;padding:4px 10px;font-size:9.5px;font-weight:500;position:absolute;top:12px;left:12px;transform:translateY(-4px)}[data-theme=light] .ex-card__category{background:#000000b8}.ex-card:hover .ex-card__category{opacity:1;transform:translateY(0)}.ex-card__meta{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.ex-card__title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);transition:color var(--duration-base) cubic-bezier(.16, 1, .3, 1);margin:0;font-size:22px;font-weight:400;line-height:1.2}.ex-card:hover .ex-card__title{color:var(--color-text-accent)}.ex-card__year{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:11px}.ex-card__caption{color:var(--color-text-secondary);max-width:48ch;margin:0;font-size:13.5px;line-height:1.55}.ex-empty{padding:var(--space-9) 0}.ex-empty__inner{align-items:flex-start;gap:var(--space-4);max-width:64ch;padding:var(--space-6);background:var(--color-surface);border:.5px solid var(--color-border-default);border-radius:var(--radius-m);margin:0 auto;display:flex}.ex-empty__dot{background:var(--color-terracotta);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:8px;animation:2s cubic-bezier(.16,1,.3,1) infinite pulse;box-shadow:0 0 0 4px #7f7f7f38}.ex-empty h3{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);margin:0 0 8px;font-size:22px;font-weight:400;line-height:1.2}.ex-empty p{color:var(--color-text-secondary);max-width:56ch;margin:0;font-size:14px;line-height:1.6}@media (max-width:1100px){.ex-grid{column-count:2}}@media (max-width:720px){.ex-grid{column-count:1}.ex-filter{padding:8px 12px;font-size:12px}.ex-carousel__caption{left:var(--space-4);right:var(--space-4);bottom:var(--space-4)}.ex-carousel__nav{width:38px;height:38px}.ex-carousel__dot{width:28px}}.contact-page__hero{padding:var(--space-9) 0 var(--space-7);max-width:1100px}.contact-page__label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-5);font-size:11px;font-weight:500}.contact-page__title{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 var(--space-5);color:var(--color-text-primary);text-wrap:balance;max-width:22ch;font-size:clamp(40px,6.4vw,76px);font-weight:400;line-height:1.02}.contact-page__title em{font-style:italic}.contact-page__sub{font-size:var(--text-body-l);color:var(--color-text-secondary);max-width:60ch;margin:0;line-height:1.6}.contact-page__direct{padding:var(--space-6) 0 var(--space-7);border-top:.5px solid var(--color-border-subtle);border-bottom:.5px solid var(--color-border-subtle)}.contact-direct{gap:var(--space-7);grid-template-columns:1fr 1fr;align-items:end;display:grid}.contact-direct__head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:var(--space-3) 0 var(--space-3);max-width:18ch;color:var(--color-text-primary);font-size:clamp(28px,3.6vw,38px);font-weight:400;line-height:1.1}.contact-direct__head h2 em{font-style:italic}.contact-direct__head p{color:var(--color-text-secondary);max-width:48ch;margin:0;font-size:15px;line-height:1.6}.contact-direct__email{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-4) 0;border-bottom:.5px solid var(--color-border-default);font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);transition:color var(--duration-base) cubic-bezier(.16, 1, .3, 1), padding var(--duration-base) cubic-bezier(.16, 1, .3, 1), border-color var(--duration-base) cubic-bezier(.16, 1, .3, 1);grid-column:1/-1;font-size:clamp(22px,3vw,32px);font-weight:400;text-decoration:none;display:flex}.contact-direct__email:hover{color:var(--color-text-accent);padding-left:var(--space-3);border-color:var(--color-text-accent)}.contact-direct__email span:last-child{opacity:.6;transition:transform var(--duration-base) cubic-bezier(.16, 1, .3, 1);font-size:.7em}.contact-direct__email:hover span:last-child{opacity:1;transform:translate(4px,-4px)}.contact-direct__socials{gap:var(--space-3);margin-top:var(--space-3);flex-direction:column;grid-column:1/-1;display:flex}.contact-page__expect{padding:var(--space-9) 0 var(--space-7)}.contact-page__expect-title{font-family:var(--font-display);letter-spacing:-.025em;margin:var(--space-3) 0 var(--space-6);max-width:22ch;color:var(--color-text-primary);font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.1}.contact-page__expect-grid{gap:var(--space-5);grid-template-columns:repeat(3,1fr);display:grid}.expect-row{gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);transition:transform var(--duration-base) cubic-bezier(.16, 1, .3, 1), border-color var(--duration-base) cubic-bezier(.16, 1, .3, 1);flex-direction:column;display:flex}.expect-row:hover{border-color:var(--color-border-default);transform:translateY(-3px)}.expect-row__num{font-family:var(--font-mono);letter-spacing:.08em;color:var(--color-text-accent);font-variant-numeric:tabular-nums;margin-bottom:var(--space-2);font-size:11px;font-weight:500}.expect-row__title{font-family:var(--font-display);letter-spacing:-.015em;margin:0 0 var(--space-2);color:var(--color-text-primary);font-size:22px;font-weight:400;line-height:1.2}.expect-row__body{color:var(--color-text-secondary);max-width:36ch;margin:0;font-size:14px;line-height:1.6}@media (max-width:900px){.contact-direct{gap:var(--space-5);grid-template-columns:1fr}.contact-page__expect-grid{grid-template-columns:1fr}}.contact2{padding:clamp(36px, 6vh, 80px) 0 var(--space-9);grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(40px,6vw,96px);display:grid}.contact2__left{flex-direction:column;align-items:flex-start;display:flex}.contact2__avail{margin-bottom:var(--space-5)}.contact2__title{font-family:var(--font-display);letter-spacing:-.025em;max-width:13ch;margin:0;font-size:clamp(34px,4.4vw,58px);font-weight:500;line-height:1.04}.contact2__title em{font-family:var(--font-display-italic);font-style:italic}.contact2__sub{font-family:var(--font-body);color:var(--color-text-secondary);max-width:46ch;margin:var(--space-5) 0 0;font-size:clamp(16px,1.3vw,18px);line-height:1.6}.contact2__ways{flex-direction:column;gap:clamp(20px,3vh,28px);margin-top:clamp(28px,4vh,44px);display:flex}.contact2__way{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.contact2__email-note{cursor:default;color:var(--color-text-quiet)!important}.contact2__email-btn{border:.5px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--color-text-primary);transition:background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);align-items:center;gap:8px;padding:12px 22px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.contact2__email-btn:hover{background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);transform:translateY(-1px)}.contact2__email-plain{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-tertiary);transition:color var(--duration-base) var(--ease-out);font-size:13px;text-decoration:none}.contact2__email-plain:hover{color:var(--color-text-secondary)}.contact2__socials{flex-direction:column;align-items:flex-start;gap:12px;margin-top:clamp(26px,4vh,40px);display:flex}.contact2__note{padding-top:var(--space-4);border-top:.5px solid var(--color-border-subtle);font-family:var(--font-body);color:var(--color-text-tertiary);max-width:44ch;margin-top:clamp(18px,2.4vh,26px);font-size:14.5px;line-height:1.6}.cform{border:.5px solid var(--color-border-subtle);border-radius:var(--radius-l);background:color-mix(in srgb, var(--color-text-primary) 6%, var(--color-surface));gap:var(--space-4);flex-direction:column;padding:clamp(22px,2.4vw,36px);display:flex}.cform__row{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.cfield{flex-direction:column;gap:8px;min-width:0;display:flex}.cfield__label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-tertiary);align-items:baseline;gap:8px;font-size:11px;font-weight:500;display:inline-flex}.cfield__opt{letter-spacing:.04em;color:var(--color-text-quiet);text-transform:none;font-size:10px}.cfield__wrap{display:block;position:relative}.cfield__input{width:100%;font-family:var(--font-body);color:var(--color-text-primary);background:color-mix(in srgb, var(--color-text-primary) 7%, transparent);border-radius:var(--radius-m);transition:box-shadow var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);appearance:none;border:none;padding:13px 15px;font-size:15px;line-height:1.5}.cfield__input::placeholder{color:var(--color-text-quiet)}.cfield__input:focus{background:color-mix(in srgb, var(--color-text-primary) 10%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-text-primary) 24%, transparent);outline:none}.cfield__input.is-error{box-shadow:0 0 0 1.5px #e5484d99}.cfield__textarea{resize:vertical;min-height:132px}.cfield__select{cursor:pointer;padding-right:42px}.cfield__chev{color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.cfield__err{font-family:var(--font-body);color:#e5484d;font-size:12.5px}.cform__error{font-family:var(--font-body);color:#e5484d;margin:0;font-size:13.5px}.cform__submit{margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--color-text-primary);color:var(--color-bg);font-family:var(--font-body);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);border:none;justify-content:center;align-self:flex-start;align-items:center;padding:14px 30px;font-size:15px;font-weight:600;display:inline-flex}.cform__submit:hover{opacity:.92;transform:translateY(-1px)}.cform__submit:disabled{opacity:.6;cursor:default;transform:none}.cform--sent{align-items:flex-start}.cform__sent-check{background:var(--color-available);color:#08210d;width:44px;height:44px;margin-bottom:var(--space-2);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.cform__sent-title{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:clamp(24px,2.4vw,30px);font-weight:500}.cform__sent-sub{font-family:var(--font-body);color:var(--color-text-secondary);max-width:40ch;margin:10px 0 0;font-size:16px;line-height:1.6}.cform__cal{padding-top:var(--space-5);border-top:.5px solid var(--color-border-subtle);flex-direction:column;align-items:flex-start;gap:10px;width:100%;margin-top:clamp(28px,4vh,40px);display:flex}.cform__cal-sub{font-family:var(--font-body);color:var(--color-text-tertiary);max-width:40ch;margin:0;font-size:14px;line-height:1.55}.cform__cal-btn{border:.5px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--color-text-primary);transition:background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);align-items:center;gap:7px;padding:10px 18px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.cform__cal-btn:hover{background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);transform:translateY(-1px)}@media (max-width:860px){.contact2{grid-template-columns:1fr;gap:0}.contact2__left{display:contents}.contact2__avail{order:1}.contact2__title{order:2}.contact2__sub{order:3}.contact2__right{order:4;margin-top:clamp(28px,4vh,40px)}.contact2__ways{order:5;align-items:flex-start}.contact2__note{order:6}}@media (max-width:540px){.cform__row{grid-template-columns:1fr}.cform__submit{align-self:stretch}}.italic-accent,em.accent,.about-section__h em,.contact-band-headline em,.contact-form__sent-headline em,.contact-form__title em,.cs-cover__title em,.cs-next-steps__title em,.cs-section__body__title em,.ex-carousel__slide-title em,.ex-showreel__title em,.expect-row__title em,.fact__title em,.how-col__title em,.project-card__title em,.project-title em,.hero-statement em,.hero-statement .italic-accent{font-family:var(--font-display-italic);font-style:italic}html{scroll-behavior:smooth}#work{scroll-margin-top:96px}.hero-statement{flex-direction:column;justify-content:space-between;min-height:calc(100svh - 240px);padding:clamp(16px,3vh,32px) 0 clamp(48px,7vh,72px);display:flex;position:relative}.hop-word{white-space:nowrap;display:inline-block}.hop-char{transition:transform .45s cubic-bezier(.34,1.3,.64,1);transition-delay:calc(var(--i,0) * 38ms);display:inline-block}.hop-word:hover .hop-char{transform:translateY(var(--lift,-10px)) rotate(4deg)}.hop-word:hover .hop-char:nth-child(2n){transform:translateY(var(--lift,-10px)) rotate(-4deg)}@media (hover:none){.hop-word:hover .hop-char,.hop-word:hover .hop-char:nth-child(2n){transform:none}}@media (prefers-reduced-motion:reduce){.hop-char{transition:none}.hop-word:hover .hop-char,.hop-word:hover .hop-char:nth-child(2n){transform:none}}.hero-aurora{aspect-ratio:1;z-index:0;pointer-events:none;--hero-aurora:var(--color-available);width:clamp(340px,46vw,680px);position:absolute;top:clamp(-140px,-12vw,-60px);right:clamp(-120px,-9vw,-50px)}.hero-aurora svg{width:100%;height:100%;display:block}.hero-aurora__nodes circle{opacity:var(--o);transform-box:view-box;transform-origin:426px 62px;--amp:16deg;--dir:1;animation:heroAuroraDrift calc(var(--orbit) * .22s) ease-in-out infinite, heroAuroraTwinkle 6s var(--ease-out) infinite;animation-delay:calc(var(--i) * -3s), calc(var(--i) * .7s)}.hero-aurora__nodes circle:nth-child(2n){--dir:-1}@keyframes heroAuroraDrift{0%,to{transform:rotate(calc(var(--amp) * var(--dir) * -1))}50%{transform:rotate(calc(var(--amp) * var(--dir)))}}@keyframes heroAuroraTwinkle{0%,to{opacity:var(--o)}50%{opacity:calc(var(--o) * .35)}}[data-theme=light] .hero-aurora{opacity:.5}@media (max-width:640px){.hero-aurora{opacity:.6;width:clamp(260px,78vw,340px);top:-70px;right:-80px}[data-theme=light] .hero-aurora{opacity:.34}}.hero-statement__badge{margin:0}.hero-statement__badge,.hero-statement__mid,.hero-statement__scroll{z-index:1;position:relative}.hero-statement__mid{max-width:100%}.hero-statement__intro{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0 0 clamp(16px,2.2vh,26px);font-size:16px;font-weight:500}.hero-statement__title{font-family:var(--font-display);letter-spacing:-.028em;text-wrap:balance;margin:0;font-size:clamp(34px,5.6vw,80px);font-weight:500;line-height:1.04}.hero-statement__muted,.hero-statement__solid{display:block}.hero-statement__muted{color:color-mix(in srgb, var(--color-text-tertiary) 50%, var(--color-text-secondary));font-weight:400}.hero-statement__solid{color:var(--color-text-primary)}.hero-statement__sub{font-family:var(--font-body);color:var(--color-text-secondary);max-width:42ch;margin:clamp(22px,3.2vh,36px) 0 0;font-size:clamp(15px,1.4vw,18px);line-height:1.5}.hero-statement__actions{flex-wrap:wrap;align-items:center;gap:clamp(16px,3vw,34px);margin-top:64px;display:flex}.hero-statement__link{font-family:var(--font-body);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-strong);transition:color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);padding-bottom:2px;font-size:15px;font-weight:500;text-decoration:none}.hero-statement__link:hover{border-color:currentColor}.hero-statement__link span{font-family:var(--font-mono)}svg.lucide{vertical-align:middle;flex:none}.ui-arrow{vertical-align:middle}.chat-btn{--spring:cubic-bezier(.33, 1.4, .5, 1);--dur:.56s;--mx:0px;--my:0px;transform:translate(var(--mx), var(--my));will-change:transform;text-decoration:none;display:inline-flex}.chat-btn__inner{--pill-bg:var(--color-text-primary);--pill-fg:var(--color-bg);border-radius:var(--radius-pill);background:var(--pill-bg);width:208px;height:54px;color:var(--pill-fg);font-family:var(--font-body);letter-spacing:.005em;white-space:nowrap;justify-content:center;align-items:center;font-size:15px;font-weight:600;line-height:1;display:flex;position:relative;overflow:hidden}.chat-btn__rest,.chat-btn__stage{position:absolute;top:50%;left:50%}.chat-btn__rest{transition:opacity .19s var(--ease-out), transform var(--dur) var(--spring);transform:translate(-50%,-50%)}.chat-btn[data-state=plus] .chat-btn__rest,.chat-btn[data-state=talk] .chat-btn__rest{opacity:0;transform:translate(-50%,-50%)scale(.9)}.chat-btn__stage{opacity:0;transition:opacity .19s var(--ease-out);align-items:center;display:inline-flex;transform:translate(-50%,-50%)}.chat-btn[data-state=plus] .chat-btn__stage,.chat-btn[data-state=talk] .chat-btn__stage{opacity:1}.chat-btn__av{background:var(--pill-fg);width:38px;height:38px;color:var(--pill-bg);border:2px solid var(--pill-bg);font-family:var(--font-mono);letter-spacing:.05em;transition:width var(--dur) var(--spring), height var(--dur) var(--spring), margin-left var(--dur) var(--spring), transform var(--dur) var(--spring);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex;overflow:hidden}.chat-btn__av img{object-fit:cover;object-position:center 42%;width:100%;height:100%}.chat-btn__av--me{transform:translate(-10px,4px)scale(.5)}.chat-btn__av--you{transform:translate(10px,4px)scale(.5)}.chat-btn[data-state=plus] .chat-btn__av,.chat-btn[data-state=talk] .chat-btn__av{transform:translate(0)scale(1)}.chat-btn[data-state=talk] .chat-btn__av{width:34px;height:34px}.chat-btn[data-state=talk] .chat-btn__av--you{margin-left:-12px}.chat-btn__plus{max-width:30px;color:var(--pill-fg);opacity:0;transition:max-width var(--dur) var(--spring), padding var(--dur) var(--spring), transform var(--dur) var(--spring), opacity .16s var(--ease-out);justify-content:center;align-items:center;padding:0 9px;font-size:20px;font-weight:500;display:inline-flex;overflow:hidden;transform:translateY(13px)}.chat-btn[data-state=plus] .chat-btn__plus{opacity:1;transform:translateY(0)}.chat-btn[data-state=talk] .chat-btn__plus{opacity:0;max-width:0;padding:0;transform:translateY(6px)}.chat-btn__talk{max-width:0;color:var(--pill-fg);opacity:0;white-space:nowrap;transition:max-width var(--dur) var(--spring), padding-left var(--dur) var(--spring), transform var(--dur) var(--spring), opacity .18s var(--ease-out);padding-left:0;display:inline-flex;overflow:hidden;transform:translate(-10px)}.chat-btn[data-state=talk] .chat-btn__talk{opacity:1;max-width:120px;padding-left:12px;transform:translate(0)}@media (prefers-reduced-motion:reduce){.chat-btn{transform:none!important}.chat-btn__rest,.chat-btn__stage,.chat-btn__av,.chat-btn__plus,.chat-btn__talk{transition-duration:1ms!important}}.hero-statement__scroll{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-quiet);transition:color var(--duration-base) var(--ease-out);align-items:center;gap:12px;font-size:10px;text-decoration:none;display:inline-flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.hero-statement__scroll:hover{color:var(--color-text-secondary)}.hero-statement__scroll-arrow{writing-mode:horizontal-tb;animation:1.8s ease-in-out infinite heroScrollBounce;display:inline-block}@keyframes heroScrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (max-width:640px){.hero-statement__scroll{display:none}.hero-statement__title{font-size:clamp(32px,9vw,44px);line-height:1.16}.work-grid{padding-top:8px}.work-grid__head .section-label{margin-bottom:0}.hero-statement{justify-content:flex-start;gap:clamp(45px,8vh,70px);min-height:0;padding-bottom:clamp(24px,4vh,36px)}.hero-statement__intro{margin-bottom:18px}.hero-statement__actions{margin-top:38px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-statement__scroll-arrow,.hero-aurora__nodes circle{animation:none}}.skip,.btn-primary:hover,.filter.active,.case-next:hover,.mode-toggle button.active,.contact-band,.contact-band-deco,.contact-band__socials a,.fact--featured,.fact--featured .fact__title,.fact--featured .fact__title em,.fact--featured .fact__body,.cs-metaband__live{color:var(--color-on-accent)}.fact--featured .fact__num,.fact--featured .fact__tag{color:var(--color-on-accent);opacity:.55}.contact-band__socials a:hover{background:var(--color-on-accent);color:var(--color-text-primary);border-color:var(--color-on-accent)}.home-cta{justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-8);border-top:.5px solid var(--color-border-default);flex-wrap:wrap;padding:clamp(48px,9vh,100px) 0;display:flex}.home-cta__title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0;font-size:clamp(26px,3.4vw,44px);font-weight:500;line-height:1.1}.home-cta__sub{font-family:var(--font-body);color:var(--color-text-tertiary);white-space:nowrap;max-width:none;margin:14px 0 0;font-size:clamp(15px,1.5vw,18px);line-height:1.5}.home-cta__btn{background:var(--color-text-primary);color:var(--color-bg);border-radius:var(--radius-pill);font-family:var(--font-body);transition:transform var(--duration-fast) ease, opacity var(--duration-base) var(--ease-out);flex-shrink:0;align-items:center;gap:8px;padding:16px 34px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.home-cta__btn span{font-family:var(--font-mono)}.home-cta__btn:hover{opacity:.9;transform:translateY(-1px)}.home-cta__btn-wrap{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:inline-flex}.home-cta__email{border:.5px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--color-text-primary);transition:background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);align-items:center;gap:8px;padding:14px 26px;font-size:14.5px;font-weight:500;text-decoration:none;display:inline-flex}.home-cta__email:hover{background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);border-color:var(--color-text-primary);transform:translateY(-1px)}.home-cta__email .ui-arrow{transition:transform var(--duration-base) var(--ease-out)}.home-cta__email:hover .ui-arrow{transform:translate(2px,-2px)}.home-cta__email-short{display:none}@media (max-width:640px){.home-cta{align-items:flex-start;gap:var(--space-5);flex-direction:column}.home-cta__sub{white-space:normal}.home-cta__btn-wrap:has(.home-cta__email){gap:var(--space-3);grid-template-columns:1fr 1fr;width:100%;display:grid}.home-cta__btn-wrap:has(.home-cta__email)>*{min-width:0}.home-cta__btn-wrap:has(.home-cta__email) .chat-btn{display:flex}.home-cta__btn-wrap:has(.home-cta__email) .chat-btn__inner{width:100%;font-size:14px}.home-cta__email{justify-content:center;padding-left:14px;padding-right:14px}.home-cta__email-full{display:none}.home-cta__email-short{display:inline}}.back-to-top{z-index:60;border:.5px solid var(--color-border-strong);background:var(--color-text-primary);width:46px;height:46px;color:var(--color-bg);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);border-radius:50%;place-items:center;font-size:18px;display:grid;position:fixed;bottom:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);transform:translateY(12px)}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.back-to-top{transition:opacity var(--duration-base) var(--ease-out);transform:none}.back-to-top.is-visible{transform:none}}.section-rail{z-index:55;justify-content:flex-end;align-items:center;display:flex;position:fixed;top:50%;right:clamp(16px,2vw,30px);transform:translateY(-50%)}.section-rail__ticks{transition:opacity var(--duration-base) var(--ease-out);flex-direction:column;align-items:flex-end;gap:14px;display:flex}.section-rail__tick{background:var(--color-border-strong);width:20px;height:2px;transition:width var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);border-radius:2px}.section-rail__tick.is-active{background:var(--color-text-primary);width:30px}.section-rail:hover .section-rail__ticks,.section-rail:focus-within .section-rail__ticks{opacity:0}.section-rail__panel{opacity:0;pointer-events:none;width:390px;max-height:72vh;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);scrollbar-width:thin;scrollbar-color:#666 transparent;background:#343434;border:none;border-radius:30px;flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex;position:absolute;top:50%;right:0;overflow-y:auto;transform:translateY(-50%)translate(10px);box-shadow:0 18px 50px #00000061,0 3px 12px #00000038}.section-rail:hover .section-rail__panel,.section-rail:focus-within .section-rail__panel{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.section-rail__panel::-webkit-scrollbar{width:8px}.section-rail__panel::-webkit-scrollbar-track{background:0 0}.section-rail__panel::-webkit-scrollbar-thumb{background:#666 padding-box padding-box;border:2px solid #0000;border-radius:8px}.section-rail__row{text-align:left;cursor:pointer;color:#fffffff0;width:100%;font-family:var(--font-body);transition:background var(--duration-base) var(--ease-out);background:0 0;border:none;border-radius:14px;align-items:baseline;gap:10px;padding:9px 16px;font-size:14px;line-height:1.3;display:flex}.section-rail__num{color:#ffffff61;font-variant-numeric:tabular-nums;flex:none;min-width:15px;font-size:12px}.section-rail__label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.section-rail__row:hover{background:#ffffff0f}.section-rail__row.is-active{background:#454545}@media (max-width:1200px){.section-rail{display:none}}@media (prefers-reduced-motion:reduce){.section-rail__ticks,.section-rail__tick,.section-rail__panel,.section-rail__row{transition:none}}.expl{padding:var(--space-7) 0 var(--space-6)}.expl__head{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.expl__title{font-family:var(--font-display);letter-spacing:-.028em;max-width:20ch;margin:10px 0 0;font-size:clamp(30px,4vw,56px);font-weight:500;line-height:1.05}.expl__toggle{background:var(--color-surface);border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);flex-shrink:0;gap:2px;padding:4px;display:inline-flex}.expl__toggle-btn{cursor:pointer;border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);transition:color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:0 0;border:none;padding:8px 18px;font-size:11px}.expl__toggle-btn:hover{color:var(--color-text-secondary)}.expl__toggle-btn.is-active{background:var(--color-text-primary);color:var(--color-bg)}.expl__viewport{border:.5px solid var(--color-border-subtle);border-radius:var(--radius-l);background:radial-gradient(circle at 1px 1px, var(--color-border-subtle) 1px, transparent 0) 0 0 / 28px 28px, var(--color-surface);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;height:clamp(440px,74vh,840px);position:relative;overflow:hidden}.expl__viewport:active{cursor:grabbing}.expl__plane{will-change:transform;position:absolute;top:0;left:0}.expl__tile{border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);background:var(--color-bg);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);padding:0;position:absolute;overflow:hidden}.expl__tile img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.expl__viewport:not(:active) .expl__tile:hover{box-shadow:var(--shadow-lift);z-index:2;transform:scale(1.03)}.expl__hint{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-quiet);pointer-events:none;font-size:10px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.expl__grid{column-count:4;column-gap:var(--space-4)}@media (max-width:1100px){.expl__grid{column-count:3}}@media (max-width:720px){.expl__grid{column-count:2}}.expl__grid-tile{width:100%;margin:0 0 var(--space-4);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);background:var(--color-bg);cursor:pointer;break-inside:avoid;transition:transform var(--duration-base) var(--ease-out);padding:0;display:block;overflow:hidden}.expl__grid-tile img{width:100%;height:auto;display:block}.expl__grid-tile:hover{transform:translateY(-3px)}.expl__lightbox{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000db;justify-content:center;align-items:center;padding:clamp(24px,6vh,72px);display:flex;position:fixed;inset:0}.expl__lb-figure{flex-direction:column;gap:12px;max-width:min(1000px,92vw);max-height:88vh;margin:0;display:flex}.expl__lb-figure img{object-fit:contain;border-radius:var(--radius-s);max-width:100%;max-height:82vh}.expl__lb-figure figcaption{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#fff9;text-align:center;font-size:11px}.expl__lb-nav,.expl__lb-close{color:#fff;cursor:pointer;width:46px;height:46px;transition:background var(--duration-base) var(--ease-out);background:#ffffff0f;border:.5px solid #ffffff40;border-radius:50%;place-items:center;font-size:18px;display:grid;position:fixed}.expl__lb-nav:hover,.expl__lb-close:hover{background:#ffffff29}.expl__lb-nav--prev{top:50%;left:clamp(16px,3vw,40px);transform:translateY(-50%)}.expl__lb-nav--next{top:50%;right:clamp(16px,3vw,40px);transform:translateY(-50%)}.expl__lb-close{top:clamp(16px,3vw,32px);right:clamp(16px,3vw,40px)}@media (max-width:640px){.expl__lb-nav{top:auto;bottom:24px;transform:none}.expl__lb-nav--prev{left:24px}.expl__lb-nav--next{right:24px}}.has-cursor,.has-cursor *{cursor:none!important}.cursor-dot{pointer-events:none;z-index:9999;opacity:0;mix-blend-mode:difference;will-change:transform;width:16px;height:16px;transition:opacity .2s var(--ease-out), width .24s var(--ease-out), height .24s var(--ease-out);background:#fff;border-radius:50%;position:fixed;top:0;left:0}.cursor-dot.is-hover{width:44px;height:44px}.cursor-dot.is-down{width:12px;height:12px}@media (max-width:900px){.site-nav .site-nav__socials,.site-nav .site-nav__links{display:none}}.cs-summary{margin-top:var(--space-7);padding:var(--space-6) 0;border-top:.5px solid var(--color-border-subtle);border-bottom:.5px solid var(--color-border-subtle)}.cs-summary__label{margin-bottom:var(--space-3)}.cs-summary__row{border-radius:var(--radius-s);border-bottom:.5px solid var(--color-border-subtle);transition:background var(--duration-base) var(--ease-out), opacity .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s), transform .8s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay,0s);flex-direction:column;align-items:flex-start;gap:5px;padding:15px 14px;display:flex}.cs-summary__list>.cs-summary__row:last-child{border-bottom:0}.cs-summary__row:hover{background:color-mix(in srgb, var(--color-text-primary) 5%, transparent)}.cs-summary__k{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-tertiary);flex:none;padding-top:2px;font-size:11px;font-weight:500}.cs-summary__v{font-family:var(--font-body);color:var(--color-text-primary);text-align:left;font-size:clamp(15px,1.5vw,18px);line-height:1.4}@media (min-width:601px){.cs-summary__row{border-bottom:0;padding:16px 14px}.cs-summary__row--live{margin-top:var(--space-4);padding-top:var(--space-5);border-top:.5px solid var(--color-border-subtle)}.cs-summary__row--live .cs-summary__k{display:none}.cs-summary__live{border-radius:var(--radius-pill);background:var(--color-text-primary);width:100%;color:var(--color-bg);transition:opacity var(--duration-base) var(--ease-out);border:0;justify-content:center;align-items:center;gap:8px;padding:18px 24px;font-weight:500;text-decoration:none;display:flex}.cs-summary__live:hover{opacity:.9}}.cs-summary__live span{font-family:var(--font-mono)}@media (max-width:600px){.cs-summary__row{flex-direction:column;align-items:flex-start;gap:5px;padding:14px 10px}.cs-summary__k{flex:none}.cs-summary__v{text-align:left}.cs-summary__live{border-bottom:1px solid var(--color-border-strong);transition:border-color var(--duration-base) var(--ease-out);align-items:center;gap:6px;padding-bottom:1px;text-decoration:none;display:inline-flex}.cs-summary__live:hover{border-color:currentColor}}.about2{display:block}.ab-sec{padding:var(--space-9) 0;border-bottom:.5px solid var(--color-border-subtle)}.ab-sec>.section-label{margin-bottom:var(--space-3);display:block}.ab-sec>.about-section__h{margin-bottom:var(--space-6)}.ab-ph-tag{font-family:var(--font-mono);letter-spacing:.03em;color:var(--color-text-quiet);margin-top:6px;font-size:10.5px;line-height:1.4;display:block}.ab-ph-block{text-align:center;border:1px dashed var(--color-border-default);border-radius:var(--radius-m);background:var(--color-surface);padding:var(--space-5);justify-content:center;align-items:center;min-height:120px;display:flex}.ab-ph-block .ab-ph-tag{margin-top:0}.ab-ph-block--tall{min-height:320px}.ab-hero{gap:var(--space-8);padding:clamp(30px, 6.25vh, 70px) 0 var(--space-9);border-bottom:.5px solid var(--color-border-subtle);grid-template-columns:1.05fr .95fr;align-items:center;display:grid}.ab-hero__text .section-label{margin-bottom:var(--space-4)}.ab-hero__title{font-family:var(--font-display);letter-spacing:-.03em;color:var(--color-text-primary);margin:0 0 var(--space-5);text-wrap:balance;max-width:16ch;font-size:clamp(32px,4.6vw,58px);font-weight:400;line-height:1.03}.ab-hero__title em{font-style:italic}.ab-hero__sub{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:55ch;font-size:17px;line-height:1.55}.ab-hero__line{color:var(--color-text-tertiary);max-width:62ch;margin:0;font-size:15px;line-height:1.6}.ab-hero__sub strong{color:var(--color-text-primary);font-weight:600}.ab-hero__portrait{justify-self:end;width:90%;margin:0;position:relative}.ab-hero__portrait img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-l);border:.5px solid var(--color-border-subtle);width:100%;display:block}.ab-hero__portrait figcaption{margin-top:var(--space-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-primary);justify-content:space-between;gap:var(--space-3);font-size:10.5px;display:flex}.ab-hero__portrait figcaption span{color:var(--color-text-quiet)}.ab-lead-sec{gap:var(--space-8);grid-template-columns:1fr .9fr;align-items:start;display:grid}.ab-lead{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:0 0 var(--space-6);text-wrap:balance;max-width:35ch;font-size:clamp(22px,2.6vw,30px);font-weight:400;line-height:1.3}.ab-sub--wide{text-wrap:balance;max-width:84ch}.ab-lead__body{gap:var(--space-4);display:grid}.ab-lead__body p{color:var(--color-text-secondary);max-width:54ch;margin:0;font-size:15px;line-height:1.65}.ab-lead__aside .section-label{margin-bottom:var(--space-4)}.ab-pillcloud{padding:var(--space-2) 0 0;flex-wrap:wrap;align-content:start;gap:10px;margin:0;list-style:none;display:flex}.ab-pill{font-family:var(--font-mono);letter-spacing:.01em;color:var(--color-text-secondary);background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-pill);will-change:transform;transition:color var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);padding:7px 14px;font-size:14px;animation:5.5s ease-in-out infinite abFloat}.ab-pill:hover{color:var(--color-text-primary);border-color:var(--color-border-strong)}@keyframes abFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.ab-focus__body{column-count:2;column-gap:var(--space-8);max-width:68ch}.ab-focus__body p{color:var(--color-text-secondary);margin:0 0 var(--space-4);break-inside:avoid;font-size:15px;line-height:1.65}.ab-focus__body p:last-child{margin-bottom:0}.ab-focus__stack{flex-wrap:wrap;align-content:start;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ab-focus__stack li{font-family:var(--font-mono);letter-spacing:.02em;color:var(--color-text-secondary);background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-pill);padding:6px 12px;font-size:11.5px}.ab-builds{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.ab-build{gap:var(--space-5);background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-l);padding:var(--space-5);transition:border-color var(--duration-base) var(--ease-out);flex-direction:column;display:flex}.ab-build:hover{border-color:var(--color-border-default)}[data-theme=light] .ab-build{background:0 0}.ab-build__info{flex-direction:column;flex:1;min-width:0;display:flex}.ab-build__media{margin:0}.ab-build__media img,.ab-build__ph{aspect-ratio:16/9;border-radius:var(--radius-m);width:100%;display:block}.ab-build__media img{object-fit:cover}.ab-build__ph{text-align:center;padding:var(--space-5);border:1px dashed var(--color-border-default);background:color-mix(in srgb, var(--color-text-primary) 4%, transparent);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.ab-build__ph-name{font-family:var(--font-display);color:var(--color-text-tertiary);letter-spacing:-.01em;font-size:20px}.ab-build__ph .ab-ph-tag{margin-top:0}.ab-build__name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 var(--space-2);font-size:24px;font-weight:400}.ab-build__blurb{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:none;font-size:14.5px;line-height:1.6}.ab-build__meta{flex-direction:column;gap:8px;margin:0;display:flex}.ab-build__meta>div{gap:var(--space-3);grid-template-columns:64px 1fr;align-items:baseline;display:grid}.ab-build__meta dt{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-quiet);font-size:10px}.ab-build__meta dd{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.ab-build__link{margin-top:var(--space-5);border:.5px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--color-text-primary);transition:background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);background:0 0;align-self:flex-start;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.ab-build__link:hover{background:color-mix(in srgb, var(--color-text-primary) 6%, transparent);border-color:var(--color-text-primary);transform:translateY(-1px)}.ab-build__link .ui-arrow{transition:transform var(--duration-base) var(--ease-out)}.ab-build__link:hover .ui-arrow{transform:translate(2px,-2px)}.ab-chapter{gap:var(--space-8);grid-template-columns:1fr 1fr;align-items:center;display:grid}.ab-chapter__body{margin-top:var(--space-6)}.ab-chapter__body p{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:52ch;font-size:15px;line-height:1.65}.ab-chapter__body p:last-child{margin-bottom:0}.ab-wf-wrap{margin-top:0}.ab-wf{gap:var(--space-4);align-items:stretch;height:clamp(320px,30vw,420px);display:flex}.ab-wf__card{border-radius:var(--radius-l);background:var(--color-surface);border:.5px solid var(--color-border-subtle);min-width:0;color:var(--color-text-primary);transition:flex-basis .52s cubic-bezier(.34, 1.4, .5, 1), border-color var(--duration-base) var(--ease-out);flex-direction:column;flex:0 auto;text-decoration:none;display:flex;position:relative;overflow:hidden}.ab-wf__card.is-hover{border-color:var(--color-border-strong)}.ab-wf__preview{background:linear-gradient(150deg, color-mix(in srgb, var(--color-text-primary) 8%, var(--color-surface)) 0%, var(--color-surface) 60%);min-height:0;transition:background var(--duration-base) var(--ease-out);flex:1;display:block}.ab-wf__card.is-hover .ab-wf__preview{background:linear-gradient(150deg, color-mix(in srgb, var(--color-text-primary) 14%, var(--color-surface)) 0%, var(--color-surface) 65%)}.ab-wf__bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:.5px solid var(--color-border-subtle);display:flex}.ab-wf__meta{flex-direction:column;gap:4px;min-width:0;display:flex}.ab-wf__title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.ab-wf__label{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-quiet);white-space:nowrap;font-size:10.5px}.ab-wf__arrow{color:var(--color-text-tertiary);transition:transform var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);flex:none}.ab-wf__card.is-hover .ab-wf__arrow{color:var(--color-text-primary);transform:translate(3px,-3px)}.ab-approach{gap:var(--space-8);grid-template-columns:.8fr 1.2fr;align-items:start;display:grid}.ab-approach__head .section-label,.ab-approach__head .about-section__h{margin-bottom:var(--space-3)}.ab-approach__lead{color:var(--color-text-tertiary);max-width:30ch;margin:0;font-size:15px;line-height:1.6}.ab-approach__list{flex-direction:column;display:flex}.ab-approach__list .ab-principle{gap:var(--space-4);padding:var(--space-5) 0;border-top:.5px solid var(--color-border-subtle);grid-template-columns:40px 1fr;align-items:start;display:grid}.ab-approach__list .ab-principle:first-child{border-top:0;padding-top:0}.ab-principle__n{font-family:var(--font-mono);color:var(--color-text-quiet);letter-spacing:.04em;padding-top:5px;font-size:12px}.ab-principle__t{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);margin:0 0 var(--space-2);font-size:21px;font-weight:400}.ab-principle__b{color:var(--color-text-secondary);max-width:52ch;margin:0;font-size:14.5px;line-height:1.6}.ab-story{gap:var(--space-8);grid-template-columns:1.05fr .95fr;align-items:center;display:grid}.ab-story--flip .ab-story__text{order:2}.ab-story--flip .ab-story__media{order:1}.ab-story__text .section-label{margin-bottom:var(--space-4)}.ab-story__text .about-section__h{margin-bottom:var(--space-5)}.ab-story__body p{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:48ch;font-size:15px;line-height:1.65}.ab-story__body p:last-child{margin-bottom:0}.ab-story__media{gap:var(--space-4);flex-direction:column;display:flex}.ab-story__img{margin:0}.ab-story__img img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-l);border:.5px solid var(--color-border-subtle);width:100%;display:block}@media (min-width:901px){.ab-story:not(.ab-story--flip){grid-template-columns:1.05fr .7fr}}.ab-cake-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.ab-cake-grid__img{margin:0}.ab-cake-grid__img img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-m);border:.5px solid var(--color-border-subtle);width:100%;display:block}.ab-stack{--stack-top:96px;--stack-step:16px;flex-direction:column;display:flex}.ab-stack__card{background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-l);min-height:44vh;box-shadow:var(--shadow-stack);flex-direction:column;justify-content:center;padding:clamp(26px,3vw,46px);display:flex;position:sticky}.ab-stack__card:not(:last-child){margin-bottom:7vh}.ab-stack__grid{gap:var(--space-8);grid-template-columns:1.15fr .85fr;align-items:center;width:100%;display:grid}.ab-stack__text{flex-direction:column;min-width:0;display:flex}.ab-stack__text .section-label{margin-bottom:var(--space-4)}.ab-stack__text .about-section__h{margin-bottom:var(--space-5)}.ab-stack__p{color:var(--color-text-secondary);margin:0 0 var(--space-4);max-width:none;font-size:15px;line-height:1.65}.ab-stack__p:last-child{margin-bottom:0}.ab-stack__media{width:100%;max-width:340px;margin-left:auto}.ab-stack__media .ab-cake-grid{gap:var(--space-2)}.ab-illos.ab-illos--stack{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.ab-stack__photo{border-radius:var(--radius-m);border:.5px solid var(--color-border-subtle);margin:0;overflow:hidden}.ab-stack__photo img{width:100%;height:auto;display:block}@media (max-width:900px){.ab-stack__card{min-height:0;position:static}.ab-stack__grid{gap:var(--space-6);grid-template-columns:1fr}}.ab-evidence{margin-top:var(--space-5)}.ab-evidence__btn{font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-primary);background:var(--color-surface);border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);cursor:pointer;transition:border-color var(--duration-base) var(--ease-out);align-items:center;gap:8px;padding:9px 16px;font-size:11.5px;display:inline-flex}.ab-evidence__btn:hover{border-color:var(--color-text-primary)}.ab-evidence__note{margin:var(--space-4) 0 0;color:var(--color-text-secondary);max-width:46ch;font-size:14px;font-style:italic;line-height:1.6}.ab-illo-sec{gap:var(--space-8);grid-template-columns:.82fr 1.18fr;align-items:center;display:grid}.ab-illo-sec__text .about-section__sub{margin-bottom:0}.ab-illos{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}.ab-illo-sec .ab-illos{grid-template-columns:repeat(3,1fr)}.ab-illo{margin:0}.ab-illo img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-m);border:.5px solid var(--color-border-subtle);background:var(--color-surface);width:100%;display:block}.ab-notes{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.ab-note{--tilt:0deg;background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);padding:var(--space-5);gap:var(--space-3);opacity:0;transition:opacity .62s var(--ease-out) var(--reveal-delay,0s), transform .78s cubic-bezier(.22, 1.15, .36, 1) var(--reveal-delay,0s), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative;transform:translateY(-34px)rotate(0)scale(.97)}.ab-note--t0{--tilt:-1.6deg}.ab-note--t1{--tilt:1.2deg}.ab-note--t2{--tilt:-.7deg}.ab-note--t3{--tilt:1.8deg}.ab-note.reveal--in{opacity:1;transform:translateY(0) rotate(var(--tilt)) scale(1)}.ab-note:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lift);transition:transform .34s cubic-bezier(.34, 1.4, .5, 1), border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);transform:translateY(-5px)rotate(0)scale(1)}.ab-note__n{font-family:var(--font-mono);color:var(--color-text-quiet);letter-spacing:.04em;font-size:11px}.ab-note__t{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);margin:0;font-size:17px;font-weight:400;line-height:1.35}.ab-future__h{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);margin:var(--space-4) 0 var(--space-7);font-size:clamp(28px,3.6vw,46px);font-weight:400;line-height:1.1}.ab-future__h em{font-style:italic}.ab-flow{--flow-gap:34px;margin:0 0 var(--space-6);align-items:stretch;gap:var(--flow-gap);flex-wrap:wrap;padding:0;list-style:none;display:flex}.ab-flow__step{min-width:120px;padding:var(--space-5);background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);flex-direction:column;flex:1 1 0;gap:10px;display:flex;position:relative}.ab-flow__step:hover{border-color:var(--color-border-strong);transform:translateY(-3px)}.ab-flow__step:not(:last-child):after{content:"";right:calc(-1 * var(--flow-gap));width:var(--flow-gap);background:linear-gradient(90deg, color-mix(in srgb, var(--color-text-primary) 60%, transparent) 0%, color-mix(in srgb, var(--color-text-primary) 60%, transparent) 22%, transparent 55%) no-repeat, color-mix(in srgb, var(--color-text-primary) 13%, transparent);z-index:2;background-size:260% 100%,100% 100%;height:1.5px;animation:2.4s linear infinite abFlowLine;position:absolute;top:50%;transform:translateY(-50%)}.ab-flow__step:first-child:after{animation-delay:0s}.ab-flow__step:nth-child(2):after{animation-delay:.8s}.ab-flow__step:nth-child(3):after{animation-delay:1.6s}@keyframes abFlowLine{0%{background-position:200% 0,0 0}to{background-position:-60% 0,0 0}}.ab-flow__n{font-family:var(--font-mono);color:var(--color-text-quiet);letter-spacing:.04em;font-size:11px}.ab-flow__v{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);font-size:20px}.ab-flow__desc{font-family:var(--font-body);color:var(--color-text-tertiary);opacity:0;transition:opacity .34s var(--ease-out), transform .34s var(--ease-out);margin-top:2px;font-size:13px;line-height:1.5;transform:translateY(4px)}.ab-flow__step:hover .ab-flow__desc,.ab-flow__step:focus-within .ab-flow__desc{opacity:1;transform:translateY(0)}@media (hover:none){.ab-flow__desc{opacity:1;transform:none}}.ab-future__close{font-family:var(--font-display);letter-spacing:-.015em;color:var(--color-text-primary);margin:var(--space-7) 0 0;max-width:none;font-size:clamp(14px,1.6vw,19.5px);font-weight:400;line-height:1.4}.ab-future__close em{font-style:italic}@media (max-width:1024px){.ab-hero__sub,.ab-hero__line,.ab-lead,.ab-lead__body p,.about-section__sub,.about-section__h,.ab-build__blurb,.ab-chapter__body p,.ab-stack__p,.ab-approach__lead,.ab-principle__b,.ab-future__h,.ab-future__close{max-width:none}.ab-flow__desc{opacity:1;transform:none}.ab-stack__media{max-width:none;margin-left:0}}@media (max-width:900px){.ab-hero{gap:var(--space-6);grid-template-columns:1fr}.ab-hero__title{max-width:none;font-size:clamp(40px,10.5vw,44px);line-height:1.08}.ab-hero__portrait{order:1;justify-self:stretch;width:100%;margin:0}.ab-hero__portrait img{aspect-ratio:4/5;object-position:50% 20%}.ab-lead-sec{gap:var(--space-6);grid-template-columns:1fr}.ab-focus__body{column-count:1}.ab-chapter{gap:var(--space-6);grid-template-columns:1fr}.ab-chapter__text,.ab-wf-wrap,.ab-wf{min-width:0}.ab-builds{grid-template-columns:1fr}.ab-build__link{justify-content:center;align-self:stretch}.ab-lock__form{width:100%}.ab-lock__field{flex:auto;max-width:340px}.ab-lock__form .ab-lock__input{width:100%}.ab-approach,.ab-story{gap:var(--space-6);grid-template-columns:1fr}.ab-story--flip .ab-story__text{order:1}.ab-story--flip .ab-story__media{order:2}.ab-illo-sec{gap:var(--space-6);grid-template-columns:1fr}.ab-illo-sec .ab-illos{grid-template-columns:repeat(3,1fr)}.ab-notes{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.ab-sec{padding:var(--space-8) 0}.ab-illos{grid-template-columns:repeat(2,1fr)}.ab-build__meta>div{grid-template-columns:56px 1fr}.ab-wf{gap:var(--space-3);flex-direction:row;height:auto}.ab-wf__card{min-height:260px;flex:1 1 0!important}.ab-wf__title{white-space:normal;font-size:16px}.ab-wf__bar{padding:var(--space-4)}.ab-notes{grid-template-columns:1fr}.ab-note{--tilt:0deg}.ab-flow__step{flex:100%}.ab-flow__step:not(:last-child):after{top:auto;left:50%;right:auto;bottom:calc(-1 * var(--flow-gap));width:1.5px;height:var(--flow-gap);background:linear-gradient(180deg, color-mix(in srgb, var(--color-text-primary) 60%, transparent) 0%, color-mix(in srgb, var(--color-text-primary) 60%, transparent) 22%, transparent 55%) no-repeat, color-mix(in srgb, var(--color-text-primary) 13%, transparent);background-size:100% 260%,100% 100%;animation:2.4s linear infinite abFlowLineV;transform:translate(-50%)}}@keyframes abFlowLineV{0%{background-position:0 200%,0 0}to{background-position:0 -60%,0 0}}@media (prefers-reduced-motion:reduce){.ab-pill{animation:none}.ab-note{opacity:1!important;transform:rotate(var(--tilt))!important}.ab-flow__step:after{animation:none}}.ab-transition{border-top:.5px solid var(--color-border-subtle);text-align:center;flex-direction:column;align-items:center;padding:clamp(72px,13vh,150px) 0 clamp(56px,9vh,104px);display:flex}.ab-transition .section-label{margin-bottom:var(--space-4)}.ab-transition__h{font-family:var(--font-display);letter-spacing:-.025em;color:var(--color-text-primary);margin:0 0 var(--space-4);text-wrap:balance;max-width:18ch;font-size:clamp(30px,4vw,48px);font-weight:400;line-height:1.08}.ab-transition__h em{font-style:italic}.ab-transition__sub{color:var(--color-text-secondary);max-width:68ch;margin:0 0 var(--space-7);text-wrap:balance;font-size:16px;line-height:1.65}.ab-transition:after{content:"";background:var(--color-border-default);width:44px;height:1px;transition:opacity .55s var(--ease-out), width .75s var(--ease-out);margin-top:clamp(40px,7vh,80px);display:block}.ab-transition.is-opening:after{opacity:0;width:0}.ab-open{font-family:var(--font-body);color:var(--color-text-primary);cursor:pointer;transition:gap var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:10px;margin:0;padding:6px 2px;font-size:16px;font-weight:500;display:inline-flex}.ab-open__label{transition:background-size .4s var(--ease-out), color var(--duration-base) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% 1px;padding-bottom:3px}.ab-open[data-state=closed]:hover{gap:14px}.ab-open[data-state=closed]:hover .ab-open__label{background-size:100% 1.5px}.ab-open__arrow{transition:transform var(--duration-base) var(--ease-out)}.ab-open[data-state=closed]:hover .ab-open__arrow{transform:translateY(3px)}.ab-open[data-state=opening],.ab-open[data-state=open]{cursor:default;color:var(--color-text-tertiary)}.ab-open[data-state=opening] .ab-open__label,.ab-open[data-state=open] .ab-open__label{background-size:0% 1px}.ab-open__check{color:var(--color-available);flex:none}.ab-open__spinner{border:1.5px solid color-mix(in srgb, var(--color-text-primary) 20%, transparent);border-top-color:var(--color-text-secondary);border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite abSpin}@keyframes abSpin{to{transform:rotate(360deg)}}.ab-reveal{grid-template-rows:0fr;scroll-margin-top:88px;transition:grid-template-rows .9s cubic-bezier(.22,1,.36,1);display:grid}.ab-reveal.is-open{grid-template-rows:1fr}.ab-reveal__inner{min-height:0;overflow:hidden}.ab-reveal.is-settled .ab-reveal__inner{overflow:visible}.ab-reveal__inner>.ab-sec:first-child{padding-top:clamp(72px,11vh,128px)}.ab-reveal__inner>.ab-sec{padding-block:clamp(72px,10vh,112px)}.ab-reveal__inner>.ab-future{border-bottom:0;padding-bottom:clamp(28px,4vh,44px)}.ab-reveal+.home-cta{margin-top:0}.ab-chapter-marker{align-items:center;gap:var(--space-4);width:100%;margin-top:var(--space-2);display:flex}.ab-chapter-marker__line{background:var(--color-border-default);flex:1;height:1px;animation:.95s cubic-bezier(.2,.9,.25,1) 40ms forwards abMarkerDraw;transform:scaleX(0)}.ab-chapter-marker__line--l{transform-origin:100%}.ab-chapter-marker__line--r{transform-origin:0}.ab-chapter-marker__label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-tertiary);white-space:nowrap;opacity:0;animation:abMarkerLabel .65s var(--ease-out) .22s forwards;flex:none;align-items:center;gap:7px;font-size:12px;display:inline-flex;transform:translateY(6px)}.ab-chapter-marker__label svg{color:var(--color-available);flex:none}@keyframes abMarkerDraw{to{transform:scaleX(1)}}@keyframes abMarkerLabel{to{opacity:1;transform:translateY(0)}}.ab-actone{transition:filter .75s var(--ease-out), opacity .75s var(--ease-out)}.ab-actone.is-dimmed{filter:brightness(.5)saturate(.55);opacity:.5}@media (max-width:600px){.ab-transition{padding:clamp(56px,10vh,96px) 0 clamp(40px,7vh,72px)}}@media (prefers-reduced-motion:reduce){.ab-reveal{transition:none}.ab-reveal__inner{transition:none;transform:none}.ab-open__spinner{animation:none}.ab-transition:after{transition:none}.ab-open[data-state=closed] .ab-open__arrow,.ab-open[data-state=closed] .ab-open__label{animation:none}.ab-chapter-marker__line{animation:none;transform:scaleX(1)}.ab-chapter-marker__label{opacity:1;animation:none;transform:none}.ab-actone{transition:none}.ab-actone.is-dimmed{filter:none;opacity:1}}.ab-patterns{gap:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.ab-pcard{background:var(--color-surface);border:.5px solid var(--color-border-subtle);border-radius:var(--radius-m);padding:var(--space-5);gap:var(--space-3);transform-origin:50%;will-change:transform, opacity;-webkit-user-select:none;user-select:none;min-height:96px;transition:border-color .24s var(--ease-out), box-shadow .3s var(--ease-out), background .24s var(--ease-out);outline:none;flex-direction:column;display:flex;position:relative}@media (hover:hover) and (pointer:fine){.ab-pcard{cursor:grab}.ab-pcard.is-dragging{cursor:grabbing}.ab-pcard:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lift);background:color-mix(in srgb, var(--color-text-primary) 3%, var(--color-surface))}}.ab-pcard:focus-visible{border-color:var(--color-border-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-text-primary) 22%, transparent)}.ab-pcard__n{font-family:var(--font-mono);color:var(--color-text-quiet);letter-spacing:.04em;font-size:11px}.ab-pcard__t{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-primary);z-index:1;margin:0;font-size:17px;font-weight:400;line-height:1.35;position:relative}.ab-pcard__sticker{z-index:2;pointer-events:none;opacity:0;transform-origin:100% 0;width:clamp(34px,3.2vw,44px);height:auto;transition:opacity .24s var(--ease-out), transform .38s cubic-bezier(.34, 1.56, .64, 1);filter:drop-shadow(0 4px 8px #00000059);position:absolute;top:10px;right:10px;transform:scale(.5)rotate(-10deg)}.ab-pcard:hover .ab-pcard__sticker,.ab-pcard:focus-visible .ab-pcard__sticker,.ab-pcard.is-revealed .ab-pcard__sticker{opacity:1;transform:scale(1)rotate(0)}.ab-pcard__ideas{z-index:2;pointer-events:none;width:42px;height:34px;position:absolute;top:12px;right:12px}.ab-pcard__ideas i{background:color-mix(in srgb, var(--color-text-primary) 10%, var(--color-surface));border:.5px solid var(--color-border-default);opacity:0;transform-origin:100% 0;width:30px;height:22px;transition:opacity .24s var(--ease-out), transform .4s cubic-bezier(.34, 1.56, .64, 1);border-radius:5px;display:block;position:absolute;top:0;right:0;transform:rotate(0)scale(.6)}.ab-pcard:hover .ab-pcard__ideas i,.ab-pcard:focus-visible .ab-pcard__ideas i,.ab-pcard.is-revealed .ab-pcard__ideas i{opacity:1}.ab-pcard:hover .ab-pcard__ideas i:first-child,.ab-pcard:focus-visible .ab-pcard__ideas i:first-child,.ab-pcard.is-revealed .ab-pcard__ideas i:first-child{transition-delay:40ms;transform:translate(-11px,9px)rotate(-11deg)scale(1)}.ab-pcard:hover .ab-pcard__ideas i:nth-child(2),.ab-pcard:focus-visible .ab-pcard__ideas i:nth-child(2),.ab-pcard.is-revealed .ab-pcard__ideas i:nth-child(2){transition-delay:95ms;transform:translate(-4px,4px)rotate(3deg)scale(1)}.ab-pcard:hover .ab-pcard__ideas i:nth-child(3),.ab-pcard:focus-visible .ab-pcard__ideas i:nth-child(3),.ab-pcard.is-revealed .ab-pcard__ideas i:nth-child(3){transition-delay:.15s;transform:translate(2px,-1px)rotate(13deg)scale(1)}@media (max-width:900px){.ab-patterns{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.ab-patterns{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.ab-pcard{opacity:1!important}.ab-pcard__sticker,.ab-pcard__ideas i{transition:opacity .2s}}.ab-lock__btn{cursor:pointer;background:0 0}.ab-lock__icon{color:var(--color-text-tertiary);flex:none}.ab-lock__form{margin-top:var(--space-5);align-self:flex-start;align-items:center;gap:8px;display:inline-flex;position:relative}.ab-lock__field{align-items:center;display:inline-flex;position:relative}.ab-lock__input{width:190px;font-family:var(--font-body);color:var(--color-text-primary);background:color-mix(in srgb, var(--color-text-primary) 7%, transparent);border:.5px solid var(--color-border-default);border-radius:var(--radius-pill);transition:border-color var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);outline:none;padding:9px 40px 9px 15px;font-size:13px}.ab-lock__input::placeholder{color:var(--color-text-quiet)}.ab-lock__input:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-text-primary) 12%, transparent)}.ab-lock__eye{cursor:pointer;width:28px;height:28px;color:var(--color-text-tertiary);transition:color var(--duration-base) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.ab-lock__eye:hover{color:var(--color-text-primary)}.ab-lock__form.is-error .ab-lock__input{animation:abLockShake .38s var(--ease-out);border-color:#e5484d;box-shadow:0 0 0 1.5px #e5484d73}.ab-lock__go{background:var(--color-text-primary);width:34px;height:34px;color:var(--color-bg);cursor:pointer;transition:transform var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ab-lock__go:hover{opacity:.9;transform:translateY(-1px)}.ab-lock__err{font-family:var(--font-body);color:#e5484d;white-space:nowrap;font-size:12px;position:absolute;top:calc(100% + 7px);left:4px}@keyframes abLockShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.ab-lock__form.is-error .ab-lock__input{animation:none}}[data-theme=light] .cform{background:var(--grey-25);border-color:var(--color-border-subtle)}[data-theme=light] .cfield__input{background:#fff;border:none}[data-theme=light] .cfield__input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--grey-900) 8%, transparent);background:#fff}
