@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#111211;--panel:#1b1d1b;--text:#f4f5f1;--muted:#a3a69e;--line:#343732;--accent:#d6fd72;--heading:Manrope,Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--body)}::selection{background:var(--accent);color:#111}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--heading);font-weight:500;line-height:1.07;letter-spacing:-.05em}.shell{max-width:1440px;padding:0 64px;margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;height:98px;border-bottom:1px solid var(--line)}.brand{font-family:var(--heading);font-size:20px;letter-spacing:-1px;font-weight:700}.brand small{font-size:11px;vertical-align:super;margin-left:5px;color:var(--accent)}nav{display:flex;gap:32px;font-size:14px}nav a{color:var(--muted);transition:color .2s}nav a:hover,nav a.active{color:white}.nav-role{font-size:12px;color:var(--muted)}.hero{padding:77px 0 64px}.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:16px}.kicker:before{content:'';width:28px;height:1px;background:currentColor}.hero h1{font-size:clamp(64px,7.4vw,116px);letter-spacing:-.07em;margin:28px 0 40px;max-width:1160px}.hero h1 span{color:var(--accent)}.hero-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:end}.intro{color:#c5c8be;max-width:475px;font-size:19px;line-height:1.55}.hero-aside{display:flex;gap:36px;justify-content:flex-end;align-items:end}.hero-aside p{font-size:13px;color:var(--muted);line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:100px;padding:13px 24px;font-size:14px;line-height:1.3;background:none;transition:background .2s,transform .2s}.button:hover{background:var(--panel);transform:translateY(-2px)}.button.accent{background:var(--accent);border-color:var(--accent);color:#151914}.button.accent:hover{background:#e1ff99}.credibility{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:85px}.credibility span{font-family:var(--heading);font-size:18px;letter-spacing:-.6px}.credibility .label{font:12px var(--body);letter-spacing:0;color:var(--muted);max-width:110px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading h2{font-size:43px}.section-heading p{font-size:13px;color:var(--muted)}.project{margin-bottom:50px}.project-preview{display:grid;grid-template-columns:.78fr 1.22fr;min-height:510px;border-radius:12px;overflow:hidden}.preview-copy{display:flex;flex-direction:column;justify-content:space-between;padding:43px 0 40px 43px;z-index:1}.project-num{font-size:12px;letter-spacing:.12em;text-transform:uppercase}.preview-copy h3{font-size:clamp(35px,4vw,60px);letter-spacing:-.05em}.preview-copy p{margin-top:20px;font-size:14px;max-width:270px;line-height:1.55}.preview-bottom{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.chip{border:1px solid currentColor;border-radius:50px;padding:5px 11px;font-size:11px;opacity:.7}.project-media{display:flex;align-items:center;justify-content:center;overflow:hidden;padding:30px 25px;position:relative}.project-media img{width:100%;max-height:480px;object-fit:contain;transition:transform .6s}.project-preview:hover img{transform:scale(1.035)}.baby{background:#fff9ee;color:#2c241a}.baby .project-media{padding:50px 0 0}.baby img{mix-blend-mode:multiply}.sports{background:#e4ffc4;color:#183123}.sports img{mix-blend-mode:multiply;max-height:480px}.project-caption{display:flex;justify-content:space-between;padding:20px 0 0;align-items:center;gap:25px}.project-caption h3{font-size:22px;letter-spacing:-.035em;margin-bottom:6px}.project-caption p{font-size:13px;color:var(--muted)}.text-link{font-size:14px;border-bottom:1px solid #75796c;padding-bottom:4px;white-space:nowrap}.text-link:hover{color:var(--accent);border-color:var(--accent)}.small-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.small-grid .project-preview{display:block;min-height:0;height:380px;position:relative}.small-grid .project-media{height:100%;padding:28px 40px}.small-grid .project-media img{height:100%;width:100%;object-fit:contain}.kicks{background:#080511;border:1px solid #292135}.wallet{background:#223950}.wallet .project-media{padding:0}.wallet img{object-fit:cover!important;max-height:none;height:100%!important;width:100%;object-position:50% 42%}.confidential{display:grid;grid-template-columns:55px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:10px;gap:24px;padding:28px;margin:8px 0 100px}.lock{font-size:23px;color:var(--muted)}.confidential h3{font-size:23px;margin-bottom:7px}.confidential p{font-size:14px;color:var(--muted)}.nda{font-size:11px;border:1px solid var(--line);padding:7px 12px;border-radius:20px;letter-spacing:.1em}.about{display:grid;grid-template-columns:1fr 1.15fr;gap:100px;padding:80px 0;border-top:1px solid var(--line)}.about h2{font-size:61px;margin:25px 0}.about-intro{font-size:23px;color:#d3d6cc;line-height:1.5;margin-bottom:23px}.about-text{color:var(--muted);font-size:16px}.abilities{display:flex;gap:9px;flex-wrap:wrap;margin-top:25px}.abilities span{border:1px solid var(--line);padding:7px 14px;border-radius:30px;font-size:12px}.leadership{border-left:2px solid var(--accent);padding-left:25px;margin-top:30px}.leadership strong{display:block;font-size:17px;font-weight:500;color:var(--text);margin-bottom:8px}.experience{padding:25px 0 85px}.timeline{margin-top:25px}.job{border-top:1px solid var(--line);padding:24px 0;display:grid;grid-template-columns:1fr 1fr auto;gap:25px}.job h3{font-size:24px}.job p,.job time{color:var(--muted);font-size:14px}.job time{font-variant-numeric:tabular-nums}.closing{border-top:1px solid var(--line);padding:70px 0 60px;display:grid;grid-template-columns:1.2fr 1fr;align-items:end;gap:50px}.closing h2{font-size:65px}.closing p{font-size:16px;color:var(--muted);max-width:350px;justify-self:end}.footer{display:flex;justify-content:space-between;padding:28px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.case-hero{padding:48px 0 55px}.back{font-size:13px;color:var(--muted)}.case-title{font-size:clamp(50px,6.2vw,90px);max-width:1080px;margin:45px 0 30px}.case-intro{font-size:22px;line-height:1.5;color:#c5c8bd;max-width:770px}.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin-top:45px;border-top:1px solid var(--line);padding-top:24px}.case-meta dt{color:var(--muted);font-size:12px;margin-bottom:8px}.case-meta dd{margin:0;font-size:15px;line-height:1.5}.case-cover{height:590px;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-bottom:75px}.case-cover img{height:100%;width:100%;object-fit:contain}.case-cover.baby img,.case-cover.sports img{mix-blend-mode:multiply}.case-cover.wallet img{object-fit:cover}.case-layout{display:grid;grid-template-columns:190px 1fr;gap:75px;align-items:start}.case-index{position:sticky;top:40px;display:flex;flex-direction:column;gap:16px;font-size:13px;color:var(--muted);padding-top:10px}.case-index a:hover{color:var(--accent)}.case-section{margin-bottom:65px;scroll-margin-top:35px}.case-section .kicker{margin-bottom:20px}.case-section h2{font-size:43px;margin-bottom:25px}.case-section>p{max-width:780px;font-size:18px;color:#bfc3b8;line-height:1.7;margin-bottom:20px}.decision{display:grid;grid-template-columns:45px 1fr;gap:22px;border-top:1px solid var(--line);padding:25px 0}.decision .number{font-size:12px;color:var(--muted);padding-top:6px}.decision h3{font-size:25px;margin-bottom:12px}.decision p{font-size:16px;color:var(--muted);max-width:650px}.figure{margin:30px 0;background:#fff;border-radius:8px;overflow:hidden}.figure button{display:block;border:0;padding:0;width:100%;background:transparent}.figure img{display:block;width:100%;max-height:650px;object-fit:contain}.figure.dark{background:#050509}.figure figcaption{font-size:12px;line-height:1.5;color:#656961;background:#f0f1ed;padding:14px 20px}.outcome{background:var(--panel);border-radius:10px;padding:32px}.outcome h3{font-size:26px;margin-bottom:15px}.outcome p{color:var(--muted);font-size:16px}.next-case{padding:45px 0 65px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.next-case h2{font-size:45px;margin-top:15px}.lightbox{border:0;padding:20px;background:#f7f8f3;width:min(1100px,94vw);max-height:92vh;border-radius:10px}.lightbox::backdrop{background:#000b;backdrop-filter:blur(8px)}.lightbox img{width:100%;max-height:80vh;object-fit:contain}.lightbox button{float:right;background:#111;border:0;border-radius:50px;color:white;padding:9px 18px;font-size:13px;margin-bottom:12px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}.js-motion .reveal.visible{opacity:1;transform:translateY(0)}@media(min-width:1500px){.hero h1{font-size:116px}}@media(max-width:1000px){.shell{padding:0 32px}.hero h1{font-size:80px}.nav-role{display:none}.project-preview{min-height:440px}.preview-copy{padding:30px 0 30px 30px}.preview-copy h3{font-size:43px}.about{gap:50px}.case-layout{grid-template-columns:140px 1fr;gap:35px}.case-cover{height:480px}.case-title{font-size:70px}}@media(max-width:700px){.shell{padding:0 22px}.nav{height:78px}.brand{font-size:18px}nav{gap:19px;font-size:13px}.hero{padding:48px 0}.hero h1{font-size:56px;letter-spacing:-.065em}.hero-bottom{grid-template-columns:1fr;gap:27px}.intro{font-size:18px}.hero-aside{justify-content:space-between}.credibility{flex-wrap:wrap;justify-content:start;column-gap:28px;row-gap:16px;margin-bottom:55px}.credibility .label{max-width:none;width:100%}.credibility span{font-size:17px}.section-heading h2{font-size:34px}.section-heading p{font-size:12px}.project-preview{grid-template-columns:1fr;min-height:0}.preview-copy{padding:25px 27px;gap:25px}.preview-copy h3{font-size:43px}.preview-copy p{max-width:100%;margin-top:14px}.preview-bottom{margin-top:0}.project-media{height:350px;padding-top:0}.baby .project-media{padding:0}.sports .project-media{padding:0 12px 20px}.project-caption{align-items:start}.project-caption h3{font-size:20px}.project-caption p{font-size:12px}.text-link{font-size:12px}.small-grid{grid-template-columns:1fr;gap:0}.small-grid .project-preview{height:330px}.confidential{grid-template-columns:30px 1fr;gap:15px;padding:22px;margin-bottom:65px}.nda{grid-column:2;width:max-content}.confidential h3{font-size:21px}.about{grid-template-columns:1fr;gap:15px;padding:50px 0}.about h2{font-size:49px}.about-intro{font-size:21px}.job{grid-template-columns:1fr auto;gap:10px}.job h3{font-size:21px}.job p{grid-row:2}.job time{font-size:12px;grid-column:2;grid-row:1}.closing{grid-template-columns:1fr;gap:25px;padding:50px 0}.closing h2{font-size:49px}.closing p{justify-self:start}.footer{gap:15px;flex-wrap:wrap}.case-title{font-size:49px;margin-top:30px}.case-intro{font-size:19px}.case-meta{grid-template-columns:1fr 1fr;gap:20px}.case-cover{height:340px;margin-bottom:45px}.case-layout{grid-template-columns:1fr;gap:25px}.case-index{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 20px;margin-bottom:20px}.case-section h2{font-size:35px}.case-section>p{font-size:17px}.decision{grid-template-columns:25px 1fr;gap:15px}.next-case h2{font-size:34px}.next-case{gap:20px}.next-case .button{padding:12px 15px;font-size:12px}.outcome{padding:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
/* Persistent navigation, with a compact scroll state. */
body{padding-top:98px}header.shell{position:fixed;inset:0 0 auto;z-index:50;max-width:none;background:rgba(17,18,17,.94);transition:background .3s ease,box-shadow .3s ease;animation:header-enter .55s ease both}header .nav{max-width:1312px;margin:auto;transition:height .3s ease,border-color .3s ease}header.is-scrolled{background:rgba(17,18,17,.84);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 28px #0003}header.is-scrolled .nav{height:76px;border-color:transparent}.case-section{scroll-margin-top:100px}.case-index{top:105px}@keyframes header-enter{from{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){body{padding-top:78px}header.is-scrolled .nav{height:66px}}@media(prefers-reduced-motion:reduce){header.shell{animation:none}header.shell,header .nav{transition:none}}
/* Full, uncropped project artwork; continuous card-level backgrounds. */
.project-preview.baby,.case-cover.baby{background:radial-gradient(ellipse at 75% 65%,#fff0d7 0%,#fff9ef 36%,#ffffff 75%)}
.project-preview.sports,.case-cover.sports{background:radial-gradient(ellipse at 75% 55%,#e9ffda 0%,#f6fff1 40%,#ffffff 78%)}
.project-media,.baby .project-media,.sports .project-media{padding:32px;overflow:visible;min-width:0;min-height:0}
.project-media img,.small-grid .project-media img{display:block;width:100%;height:100%;max-height:460px;object-fit:contain!important;object-position:center;transform:none!important}
.project-preview:hover img{transform:none}
.project-preview.wallet,.case-cover.wallet{background:#14202f}
.wallet .project-media{padding:26px}
.wallet img{object-fit:contain!important;max-height:100%;object-position:center;height:100%!important}
.case-cover{padding:35px;height:auto;min-height:380px}
.case-cover img{height:auto;width:100%;max-height:620px;object-fit:contain!important;object-position:center}
.figure button{display:flex;align-items:center;justify-content:center;padding:24px}
.figure img{width:auto;max-width:100%;height:auto;max-height:700px;object-fit:contain}
.lightbox img{width:auto;max-width:100%;display:block;margin:auto;height:auto}
@media(max-width:1000px){.project-media,.baby .project-media,.sports .project-media{padding:22px}}
@media(max-width:700px){.project-media,.baby .project-media,.sports .project-media{height:auto;min-height:260px;padding:10px 18px 26px}.project-media img{height:auto;max-height:none}.small-grid .project-preview{height:auto;aspect-ratio:3/2}.small-grid .project-media,.wallet .project-media{height:100%;min-height:0;padding:18px}.case-cover{padding:14px;min-height:220px}.case-cover img{max-height:440px}.figure button{padding:14px}}
.kicks .project-media img,.wallet .project-media img,.case-cover.kicks img,.case-cover.wallet img{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.figure img[src$="baby-hero.webp"],.figure img[src$="sports-hero.webp"]{mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}
.kicks .project-media img,.wallet .project-media img,.case-cover.kicks img,.case-cover.wallet img{-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.figure.scene{background:#121522}.figure.scene button{padding:0}.figure.scene img{width:100%;max-width:100%;height:auto;max-height:none;display:block}.figure.scene figcaption{background:#1b1e2b;color:#c4c8d4}
.project-preview.baby-banner,.case-cover.baby-banner{display:block;min-height:0;height:auto;padding:0;background:#071226;overflow:hidden}.project-preview.baby-banner>img,.case-cover.baby-banner>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:2/1;transform:none!important;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}
.project-preview.sports-banner,.case-cover.sports-banner{display:block;min-height:0;height:auto;padding:0;background:#080512;overflow:hidden}.project-preview.sports-banner>img,.case-cover.sports-banner>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;aspect-ratio:2/1;transform:none!important;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}
.sports-banner.si-layered{position:relative;aspect-ratio:2/1;container-type:inline-size;background:#080512 url('assets/sports-banner-background.png') center/cover no-repeat;isolation:isolate}.sports-banner.si-layered>.si-phones{position:absolute;inset:3% 2%;width:96%;height:94%;aspect-ratio:auto;max-height:none;object-fit:contain;object-position:center;z-index:1;transform:none!important;mix-blend-mode:normal}.si-copy{position:absolute;z-index:2;left:55%;top:26%;transform:translateX(-50%);width:30%;color:#fff;font-family:var(--heading);font-size:5.1cqw;font-weight:400;line-height:1.12;letter-spacing:-.04em;text-align:center;text-shadow:0 2px 22px #0008}.si-mark{position:absolute;z-index:2;left:55%;top:7%;transform:translateX(-50%);width:14%;aspect-ratio:171/71;overflow:hidden;mix-blend-mode:screen}.si-mark>img{position:absolute;max-width:none!important;width:1197.66%!important;height:auto!important;left:-547.95%;top:-170.42%;object-fit:initial!important;transform:none!important;aspect-ratio:auto!important}
.sports-banner.si-layered .si-layout{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:1.5%;padding:4%;width:100%;height:100%}.si-device{display:block;width:100%;height:100%;overflow:hidden}.si-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;align-self:start;min-width:0;padding-top:1.7cqw;text-align:center;z-index:2}.si-logo-exact{display:block;width:55%;height:auto;aspect-ratio:188/88;mix-blend-mode:screen;margin:0 auto 2.4cqw}.si-headline{display:block;width:100%;text-align:center;color:#fff;font-family:var(--heading);font-weight:400;font-size:4.6cqw;line-height:1.15;letter-spacing:-.035em;text-shadow:0 2px 18px #0008}
.figure.sports-arena button{aspect-ratio:4/3;position:relative;width:100%;padding:4%;background:#080c16 url('assets/sports-arena-background.png') center/cover no-repeat}.figure.sports-arena svg{display:block;width:100%;height:100%;max-height:none;overflow:hidden}.lightbox img.scene-preview{background-image:var(--image-scene);background-size:cover;background-position:center;border-radius:7px;padding:2%;max-height:80vh}
.figure.sports-arena.sports-challenges button{aspect-ratio:3/2;padding:0}.figure.sports-challenges img{position:absolute;inset:5%;width:90%;height:90%;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}
.hero-person{display:flex;align-items:center;gap:24px;min-width:0}.hero-person .portrait{display:block;flex:0 0 120px;width:120px;height:120px;object-fit:contain;border-radius:18px;background:#20251f;box-shadow:0 12px 35px #0002}.hero-person .intro{font-size:18px;max-width:355px}@media(max-width:1000px){.hero-person{gap:20px}.hero-person .portrait{flex-basis:100px;width:100px;height:100px}}@media(max-width:700px){.hero-person{align-items:center;gap:18px}.hero-person .portrait{flex-basis:88px;width:88px;height:88px;border-radius:14px}.hero-person .intro{font-size:17px;line-height:1.5}}
.hero.hero-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:64px;align-items:center;padding:66px 0 62px}.hero-editorial h1{font-size:clamp(58px,6.2vw,94px);line-height:1.04;margin:27px 0 28px;letter-spacing:-.065em}.hero-editorial .intro{max-width:510px;font-size:18px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.hero-actions p{font-size:12px;line-height:1.65;color:var(--muted)}.hero-portrait{margin:0;align-self:center;overflow:hidden;border-radius:20px;background:#20251f;border:1px solid #363b32;box-shadow:0 22px 70px #0003}.hero-portrait>img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;display:block}.hero-portrait figcaption{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 20px;background:#1b1f1a;border-top:1px solid #343b30}.hero-portrait figcaption span:first-child{font-size:16px;letter-spacing:-.3px}.hero-portrait figcaption span:last-child{font-size:12px;color:#b5bdab}@media(max-width:1100px){.hero.hero-editorial{grid-template-columns:minmax(0,1fr) 290px;gap:36px}.hero-editorial h1{font-size:clamp(52px,6.1vw,75px)}.hero-actions{gap:20px;flex-wrap:wrap}.hero-portrait figcaption{padding:16px;flex-wrap:wrap;gap:3px 12px}}@media(max-width:700px){.hero.hero-editorial{display:flex;flex-direction:column;align-items:stretch;gap:34px;padding:42px 0}.hero-editorial h1{font-size:clamp(43px,9.8vw,66px);line-height:1.07;margin:23px 0}.hero-editorial .intro{font-size:18px}.hero-actions{margin-top:25px;align-items:center;gap:20px}.hero-portrait{align-self:flex-start;width:min(100%,300px);border-radius:18px}.hero-portrait figcaption{padding:16px 18px}.hero-portrait figcaption span:first-child{font-size:16px}.hero-portrait figcaption span:last-child{font-size:12px}}
.hero-portrait.animated-portrait{overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;position:relative;width:100%}.animated-face{display:block;width:100%;aspect-ratio:1;background-image:url('assets/ilya-face-sprite.png');background-size:300% 100%;background-position:0% 0%;background-repeat:no-repeat}.animated-face[data-pose="blink"]{background-position:50% 0%}.animated-face[data-pose="wink"]{background-position:100% 0%}.face-control{display:block;margin:12px 0 0 auto;border:1px solid #343a30;border-radius:30px;background:transparent;color:var(--muted);padding:7px 12px;font-size:12px;line-height:1.3}.face-control:hover{color:var(--text);border-color:#68725d}@media(max-width:700px){.hero-portrait.animated-portrait{width:min(100%,330px);align-self:center}}
.hero.hero-editorial{grid-template-columns:minmax(0,1fr) minmax(320px,420px);gap:52px}.animated-face{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 71%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.62) 88%,rgba(0,0,0,.18) 96%,transparent 100%),linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to bottom,#000 0%,#000 71%,rgba(0,0,0,.94) 78%,rgba(0,0,0,.62) 88%,rgba(0,0,0,.18) 96%,transparent 100%),linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}@media(max-width:1100px){.hero.hero-editorial{grid-template-columns:minmax(0,1fr) 330px;gap:32px}}@media(max-width:700px){.hero-portrait.animated-portrait{width:min(100%,365px)}}

/* Blend only the eyelids so hair, shoulders and face never jump between frames. */
.animated-face,.animated-face[data-pose="blink"],.animated-face[data-pose="wink"]{position:relative;background-position:0% 0%}
.animated-face::before,.animated-face::after{content:"";position:absolute;inset:0;background-image:url('assets/ilya-face-sprite.png');background-size:300% 100%;background-repeat:no-repeat;opacity:0;transition:opacity var(--eye-transition,100ms) cubic-bezier(.32,0,.24,1);pointer-events:none;-webkit-mask-image:radial-gradient(ellipse 10% 6.5% at 51% 47%,#000 58%,transparent 100%),radial-gradient(ellipse 8.5% 6.5% at 72% 47%,#000 58%,transparent 100%);mask-image:radial-gradient(ellipse 10% 6.5% at 51% 47%,#000 58%,transparent 100%),radial-gradient(ellipse 8.5% 6.5% at 72% 47%,#000 58%,transparent 100%)}
.animated-face::before{background-position:50% 0%}.animated-face::after{background-position:100% 0%}
.animated-face[data-pose="blink"]::before,.animated-face[data-pose="wink"]::after{opacity:1}
@media(prefers-reduced-motion:reduce){.animated-face::before,.animated-face::after{transition:none}}

.project-preview.kicks-banner,.small-grid .project-preview.kicks-banner,.case-cover.kicks-banner{display:block;height:auto;min-height:0;aspect-ratio:auto;padding:0;background:#070516;overflow:hidden;border:1px solid #282139}.project-preview.kicks-banner>img,.case-cover.kicks-banner>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;transform:none!important;mask-image:none;-webkit-mask-image:none}

.figure.kicks-studio{background:none}.figure.kicks-studio button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:3/2;padding:5%;overflow:hidden;background:#08051a url('assets/kicks-studio-background.png') center/cover no-repeat}.figure.kicks-studio svg{display:block;width:100%;height:100%;max-height:none;overflow:hidden}@media(max-width:700px){.figure.kicks-studio button{padding:3%}}

.figure.kicks-flows-scene button{display:block;padding:0;background:#08051a}.figure.kicks-flows-scene img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}

.small-grid .project-preview.kicks-banner,.small-grid .project-preview.vault-banner{display:block;aspect-ratio:2/1;width:100%;height:auto;min-height:0;padding:0;overflow:hidden}.project-preview.vault-banner{background:#081626;border:1px solid #20394b}.project-preview.vault-banner>img,.small-grid .project-preview.kicks-banner>img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;transform:none!important;mask-image:none;-webkit-mask-image:none}

.figure.vault-details button{display:block;padding:0;background:#081627}.figure.vault-details img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}

.case-cover.vault-scene-cover{display:block;min-height:0;height:auto;padding:0;background:#081627;overflow:hidden}.case-cover.vault-scene-cover img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}

.figure.vault-montage button{display:block;padding:0;background:#071425;aspect-ratio:3/2;overflow:hidden}.figure.vault-montage img{display:block;width:100%;height:100%;max-height:none;object-fit:contain;mask-image:none;-webkit-mask-image:none}

.confidential.binolla-project{grid-template-columns:180px minmax(0,1fr) auto;gap:30px}.binolla-brand{display:block;border-radius:8px;overflow:hidden;width:180px;line-height:0}.binolla-brand img{display:block;width:100%;height:auto}.binolla-actions{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.binolla-actions .nda{white-space:nowrap}.binolla-actions .text-link{white-space:nowrap}@media(max-width:1000px){.confidential.binolla-project{grid-template-columns:150px minmax(0,1fr);gap:24px}.binolla-brand{width:150px}.binolla-actions{grid-column:2;align-items:flex-start;flex-direction:row;align-items:center;flex-wrap:wrap}}@media(max-width:700px){.confidential.binolla-project{grid-template-columns:1fr;gap:22px}.binolla-actions{grid-column:1;gap:18px}.binolla-brand{width:170px}}

.confidential.binolla-project{grid-template-columns:200px minmax(0,1fr) auto}.binolla-brand{width:200px;border-radius:0;overflow:visible}.binolla-brand img{width:100%;height:auto;object-fit:contain}@media(max-width:1000px){.confidential.binolla-project{grid-template-columns:180px minmax(0,1fr)}.binolla-brand{width:180px}}@media(max-width:700px){.confidential.binolla-project{grid-template-columns:1fr}.binolla-brand{width:190px}}

.confidential.binolla-project{margin-bottom:64px}.other-projects{margin:0 0 100px}.other-projects .section-heading{margin-bottom:24px}.other-projects h2{font-size:30px;letter-spacing:-.04em}.project-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.project-list li{border-bottom:1px solid var(--line)}.project-list a{display:grid;grid-template-columns:40px minmax(0,1fr) auto 28px;align-items:center;gap:24px;padding:27px 12px;transition:background .2s,color .2s}.project-list a:hover{background:#1b1e18}.project-list-number{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.project-list-name{font-family:var(--heading);font-size:25px;line-height:1.2;letter-spacing:-.04em}.project-list-domain{font-size:13px;color:var(--muted)}.project-list-arrow{font-size:24px;color:var(--accent);transition:transform .2s}.project-list a:hover .project-list-arrow{transform:translate(3px,-3px)}@media(max-width:700px){.other-projects{margin-bottom:65px}.other-projects .section-heading{align-items:flex-start;gap:12px}.other-projects h2{font-size:27px}.project-list a{grid-template-columns:24px minmax(0,1fr) 24px;gap:14px;padding:23px 4px}.project-list-name{font-size:22px}.project-list-domain{grid-column:2;grid-row:2;font-size:12px}.project-list-arrow{grid-column:3;grid-row:1/3}.project-list-number{align-self:start;padding-top:4px}}@media(prefers-reduced-motion:reduce){.project-list a,.project-list-arrow{transition:none}.project-list a:hover .project-list-arrow{transform:none}}

/* Short, native transitions keep navigation immediate and scroll under user control. */
@view-transition{navigation:auto}
::view-transition-old(root){animation:page-out 120ms ease-out both}
::view-transition-new(root){animation:page-in 240ms cubic-bezier(.2,.7,.2,1) both}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
header::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(var(--scroll-progress,0));transform-origin:left;pointer-events:none;opacity:.75}
.nav nav a,.case-index a{position:relative;transition:color .18s ease}
.nav nav a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav nav a:hover::after,.nav nav a.active::after{transform:scaleX(1)}
.case-index a.active{color:var(--accent)}
.button{transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button:active{transform:scale(.98)}
.project-preview{transition:box-shadow .3s ease,border-color .3s ease,transform .3s ease}.figure button{transition:box-shadow .25s ease}.figure button:active{transform:scale(.995)}
.text-link{transition:color .18s ease,text-decoration-color .18s ease;text-underline-offset:5px}.text-link:hover{color:var(--accent);text-decoration:underline}
@media(hover:hover) and (pointer:fine){.project-preview:hover{transform:translateY(-4px);box-shadow:0 18px 42px #0003;border-color:#65715a}.button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0002}.figure button:hover{box-shadow:0 0 0 1px #687f6844}.binolla-brand{transition:opacity .2s ease}.binolla-brand:hover{opacity:.8}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}::view-transition-old(root),::view-transition-new(root){animation:none}header::after{display:none}.button,.project-preview,.figure button,.text-link,.nav nav a,.nav nav a::after,.binolla-brand{transition:none!important}.project-preview:hover,.button:hover,.button:active,.figure button:active{transform:none!important}}

/* Editorial reveals: large movement, staggered rhythm and a clean image wipe. */
.motion-reveal{opacity:1;translate:0 0;transition:opacity .8s cubic-bezier(.16,1,.3,1),translate .95s cubic-bezier(.16,1,.3,1),clip-path 1.05s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.motion-pending{opacity:0;translate:0 74px;transition-delay:0ms}
.motion-image{clip-path:inset(0 0 0 0 round 10px)}
.motion-image.motion-pending{clip-path:inset(0 0 20% 0 round 24px);translate:0 90px}
.word-mask{display:inline-block!important;overflow:hidden;vertical-align:top;color:inherit!important;padding-bottom:.08em;margin-bottom:-.08em}.word-mask>span{display:inline-block;color:inherit!important}
.project-preview{position:relative;isolation:isolate;transform-style:preserve-3d}
.case-hover-badge{position:absolute;z-index:5;left:var(--pointer-x,80%);top:var(--pointer-y,70%);width:100px;height:100px;border-radius:50%;background:var(--accent);color:#111611;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;font-size:12px;font-weight:600;line-height:1.3;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(-18deg);transition:opacity .25s,transform .4s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 28px #0003}.case-hover-badge>span{font-size:28px;line-height:1}
@media(hover:hover) and (pointer:fine){.project-preview:hover{transform:perspective(1400px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-6px);box-shadow:0 22px 60px #0004;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .3s}.project-preview.pointer-on .case-hover-badge,.project-preview:focus-visible .case-hover-badge{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}.project-list a{position:relative;isolation:isolate;overflow:hidden}.project-list a::before{content:"";position:absolute;inset:0;background:var(--accent);z-index:-1;transform:translateY(102%);transition:transform .45s cubic-bezier(.16,1,.3,1)}.project-list a:hover::before{transform:translateY(0)}.project-list a:hover{color:#111611;background:transparent}.project-list a:hover .project-list-domain,.project-list a:hover .project-list-number,.project-list a:hover .project-list-arrow{color:#27301e}.project-list-name{transition:translate .4s cubic-bezier(.16,1,.3,1)}.project-list a:hover .project-list-name{translate:12px 0}.button{transition:translate .3s cubic-bezier(.16,1,.3,1),transform .25s,box-shadow .25s,background .25s}.text-link{display:inline-block}.text-link:hover{translate:3px 0}.text-link{transition:translate .25s,color .2s}}
@media(max-width:700px){.motion-reveal.motion-pending{translate:0 45px}.motion-image.motion-pending{translate:0 55px}.case-hover-badge{display:none}}
@media(prefers-reduced-motion:reduce){.motion-reveal,.motion-reveal.motion-pending{opacity:1!important;translate:none!important;clip-path:none!important;transition:none!important}.case-hover-badge{display:none!important}.button,.project-list-name,.text-link{translate:none!important}.project-list a::before{transition:none}.project-preview:hover{transform:none!important}}

/* Shared column widths keep roles aligned across every experience row. */
.timeline .job{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 176px;align-items:start}.timeline .job>*{min-width:0}.timeline .job time{text-align:right}@media(max-width:700px){.timeline .job{grid-template-columns:minmax(0,1fr) auto;gap:10px}.timeline .job p{grid-column:1/-1;grid-row:2}.timeline .job time{grid-column:2;grid-row:1}}

/* Case links keep one underline and never move beyond the reveal boundary. */
.text-link,.text-link:hover,.text-link:focus-visible{translate:none;transform:none;text-decoration:none;border-bottom:1px solid #75796c;line-height:1.5;overflow:visible}.text-link:hover,.text-link:focus-visible{color:var(--accent);border-bottom-color:var(--accent)}.project-caption .text-link{flex-shrink:0}.project-caption>div{min-width:0}.project.motion-image:not(.motion-pending){clip-path:inset(-12px -12px -16px -12px round 0)}@media(max-width:480px){.project-caption{flex-wrap:wrap;gap:14px}.project-caption .text-link{margin-bottom:3px}}

.contact-section{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:80px;align-items:center;padding:88px 0 80px;border-top:1px solid var(--line);scroll-margin-top:100px}.contact-intro h2{font-size:clamp(44px,5.4vw,76px);line-height:1.08;margin:24px 0}.contact-intro h2 span{color:var(--accent)}.contact-intro>p{font-size:16px;color:var(--muted)}.contact-links{display:grid;gap:0}.contact-links>a{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 8px;border-bottom:1px solid var(--line);transition:color .25s,background .25s}.contact-links>a:first-child{border-top:1px solid var(--line)}.contact-links small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.contact-links strong{display:block;font-family:var(--heading);font-size:30px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.contact-handle{display:block;font-size:13px;color:var(--muted);margin-top:5px}.contact-arrow{display:flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:27px;transition:background .3s,color .3s,transform .3s,border-color .3s}.contact-links>a:hover,.contact-links>a:focus-visible{color:var(--accent)}.contact-links>a:hover .contact-arrow,.contact-links>a:focus-visible .contact-arrow{background:var(--accent);border-color:var(--accent);color:#111;transform:rotate(45deg)}@media(max-width:1000px){.contact-section{gap:40px}.contact-intro h2{font-size:54px}}@media(max-width:700px){.contact-section{grid-template-columns:1fr;gap:34px;padding:58px 0 50px}.contact-intro h2{font-size:clamp(40px,9vw,58px)}.contact-links>a{padding:22px 4px}.contact-links strong{font-size:27px}.contact-arrow{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.contact-links>a,.contact-arrow{transition:none}.contact-links>a:hover .contact-arrow,.contact-links>a:focus-visible .contact-arrow{transform:none}}

/* One overlay frame across every project cover, without changing image dimensions. */
.project .project-preview{border:0}.project .project-preview::after{content:"";position:absolute;inset:0;z-index:6;border:2px solid var(--accent);border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .25s ease}.project .project-preview:focus-visible::after{opacity:1}@media(hover:hover) and (pointer:fine){.project .project-preview:hover::after{opacity:1}}@media(prefers-reduced-motion:reduce){.project .project-preview::after{transition:none}}

.icon-arrow{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;overflow:visible}.button>.icon-arrow{width:18px;height:18px;margin-left:8px}.project-list-arrow .icon-arrow{display:block;width:24px;height:24px}.contact-arrow .icon-arrow,.case-hover-badge .icon-arrow{display:block;width:26px;height:26px}.binolla-actions .text-link .icon-arrow{width:15px;height:15px;margin-left:3px}
