@font-face{font-family:Inter;src:url(../fonts/inter-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(../fonts/montserrat-var.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg-1: #0C0C0C;--bg-1-rgb: 12, 12, 12;--bg-0: #050505;--bg-2: #0A0A0A;--surface-1: #111111;--surface-2: #1A1A1A;--surface-3: #1E1E1E;--fg-1: #E0E0E0;--fg-2: #CCCCCC;--fg-3: #AAAAAA;--fg-4: #888888;--fg-on-accent:#0C0C0C;--white: #FFFFFF;--accent: #F2732F;--accent-rgb: 242, 115, 47;--accent-soft: rgba(242, 115, 47, .1);--accent-line: rgba(242, 115, 47, .2);--line-1: #222222;--line-2: #333333;--line-3: #444444;--line-white: rgba(255, 255, 255, .1);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Montserrat", "Inter", sans-serif;--w-extralight: 200;--w-light: 300;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--t-eyebrow: .75rem;--t-label: .875rem;--t-caption: .95rem;--t-body: 1.25rem;--t-lead: 1.8rem;--t-card: 1.5rem;--t-h3: 2.5rem;--t-stat: 3.5rem;--t-display: clamp(4rem, 8vw, 8rem);--lh-tight: 1.1;--lh-snug: 1.2;--lh-body: 1.9;--ls-eyebrow: .08em;--ls-label: .1em;--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 30px;--r-cta: 50px;--r-round: 50%;--shadow-card: 0 30px 60px rgba(0, 0, 0, .5);--shadow-img: 0 -10px 30px rgba(0, 0, 0, .5);--shadow-node: 0 10px 20px rgba(0, 0, 0, .5);--shadow-soft: 0 10px 30px rgba(0, 0, 0, .35);--ease-brand: cubic-bezier(.165, .84, .44, 1);--ease-expo: cubic-bezier(.77, 0, .175, 1);--dur-fast: .3s;--dur-mid: .5s;--dur-slow: 1.2s;--space-page: 2rem;--maxw: 1280px}.ds-eyebrow{font-family:var(--font-sans);font-size:var(--t-eyebrow);font-weight:var(--w-extralight);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);color:var(--accent)}.ds-block-title{font-family:var(--font-sans);font-size:var(--t-label);font-weight:var(--w-regular);text-transform:uppercase;letter-spacing:var(--ls-label);color:var(--accent)}.ds-display{font-family:var(--font-sans);font-size:var(--t-display);font-weight:var(--w-bold);line-height:var(--lh-tight);color:var(--white)}.ds-marquee{font-family:var(--font-sans);font-size:7.5vw;font-weight:var(--w-extralight);text-transform:uppercase;line-height:1;color:var(--fg-1)}.ds-card-title{font-family:var(--font-sans);font-size:var(--t-card);font-weight:var(--w-medium);color:var(--accent)}.ds-lead{font-family:var(--font-sans);font-size:var(--t-lead);font-weight:var(--w-light);line-height:1.6;color:var(--fg-3)}.ds-body{font-family:var(--font-sans);font-size:var(--t-body);font-weight:var(--w-regular);line-height:var(--lh-body);color:var(--fg-1)}.ds-caption{font-family:var(--font-sans);font-size:var(--t-caption);font-weight:var(--w-regular);color:var(--fg-4)}.ds-stat{font-family:var(--font-sans);font-size:var(--t-stat);font-weight:var(--w-bold);line-height:1;color:var(--accent)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg-1);color:var(--fg-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg-1)}body.loading{overflow:hidden}#preloader{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;background:var(--bg-0);transition:transform .8s cubic-bezier(.76,0,.24,1) .2s;will-change:transform}#preloader.done{transform:translateY(-100vh);pointer-events:none}.pl-word{position:relative;z-index:10;margin:0;display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:var(--w-medium);font-size:clamp(2rem,4.6vw,3.5rem);line-height:1.1;letter-spacing:-.015em;text-align:center;padding:0 6vw;opacity:0;animation:plWordIn 1s ease .2s forwards}.pl-dot{flex:none;width:11px;height:11px;border-radius:50%;background:var(--white);margin-right:14px}@keyframes plWordIn{to{opacity:.78}}.pl-curve{position:absolute;top:0;left:0;width:100%;height:calc(100% + 300px);z-index:1}.pl-curve path{fill:var(--bg-0)}@media (prefers-reduced-motion: reduce){#preloader{transition:opacity .35s ease}.pl-word{animation:none;opacity:.78}}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-page)}.eyebrow{font-size:var(--t-eyebrow);font-weight:var(--w-extralight);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:12px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--accent);opacity:.6}.grad{background:linear-gradient(100deg,#fff 0%,#fff 30%,var(--accent) 55%,#ffd9c4 75%,#fff 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:gradShift 9s ease-in-out infinite}@keyframes gradShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@media (prefers-reduced-motion: reduce){.grad{animation:none}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease-brand),transform .9s var(--ease-brand)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:88px;display:flex;align-items:center;transition:background var(--dur-fast) var(--ease-brand),backdrop-filter var(--dur-fast),border-color var(--dur-fast),height var(--dur-fast);border-bottom:1px solid transparent}.site-header.scrolled{background:rgba(var(--bg-1-rgb),.82);backdrop-filter:blur(14px);border-bottom-color:var(--line-1);height:72px}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;width:100%}.brand{display:flex;align-items:center;gap:13px;cursor:pointer}.brand .logo{width:34px;height:34px;position:relative}.brand .logo svg{width:100%;height:100%;display:block}.brand .logo svg path{transition:fill .4s var(--ease-brand)}.brand:hover .logo svg path{fill:var(--accent)}.brand .logo svg{animation:logoFloat 6s ease-in-out infinite;transform-origin:center}@keyframes logoFloat{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg) scale(1.04)}}.brand .wm{position:relative;font-size:17px;letter-spacing:.04em;white-space:nowrap;font-weight:var(--w-light);display:inline-flex;align-items:center;justify-content:flex-start;width:172px;overflow:hidden}.brand .wm .wm-text{font-weight:var(--w-light)}.brand .wm .wm-text b{font-weight:var(--w-regular)}.brand .wm.is-name .wm-text{color:var(--accent)}.brand .wm-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;background:var(--accent);opacity:0;border-radius:1px}.brand .wm.cv .wm-caret{opacity:1}.brand .wm.blink .wm-caret{animation:caretBlink .9s steps(1,end) infinite}@keyframes caretBlink{0%,to{opacity:1}50%{opacity:0}}.nav-links{display:flex;align-items:center;gap:38px}.nav-links a{font-size:14px;font-weight:var(--w-extralight);letter-spacing:.04em;color:var(--fg-3);position:relative;padding:4px 0}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-fast) var(--ease-brand)}.nav-links a:hover{color:var(--fg-1)}.nav-links a:hover:after{transform:scaleX(1)}.header-right{display:flex;align-items:center;gap:20px}.lang{display:flex;align-items:center;gap:2px}.lang button{background:none;border:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:var(--w-extralight);letter-spacing:.06em;color:var(--fg-4);padding:5px 9px;border-radius:var(--r-pill);transition:all var(--dur-fast)}.lang button.on{color:var(--bg-1);background:var(--accent);font-weight:var(--w-medium)}.btn{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:inherit;font-size:14px;font-weight:var(--w-regular);letter-spacing:.02em;padding:13px 26px;border-radius:var(--r-cta);border:1px solid var(--accent-line);background:var(--accent-soft);color:var(--fg-1);transition:all var(--dur-fast) var(--ease-brand)}.btn:hover{background:var(--accent);color:var(--bg-1);border-color:var(--accent);transform:translateY(-2px)}.btn.solid{background:var(--accent);color:var(--bg-1);border-color:var(--accent)}.btn.solid:hover{box-shadow:0 14px 40px rgba(var(--accent-rgb),.35)}.btn.ghost{background:transparent;border-color:var(--line-3);color:var(--fg-2)}.btn.ghost:hover{border-color:var(--accent);color:var(--accent);background:transparent;box-shadow:none}.btn.lg{padding:16px 32px;font-size:15px}.menu-toggle{display:none}.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;isolation:isolate}.hero-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none}.shapes{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.shapes .shape{position:absolute;opacity:0;transform:translateY(-150px) rotate(var(--rs));animation:shapeIn 2.4s cubic-bezier(.23,.86,.39,.96) var(--sd, 0s) forwards}.shapes .shape-fl{animation:shapeFloat 12s ease-in-out infinite}.shapes .shape-fill{width:100%;height:100%;border-radius:999px;position:relative;background:linear-gradient(90deg,var(--sg),transparent);backdrop-filter:blur(2px);border:2px solid rgba(255,255,255,.12);box-shadow:0 8px 32px #ffffff0a}.shapes .shape-fill:after{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.14),transparent 70%)}@keyframes shapeIn{to{opacity:1;transform:translateY(0) rotate(var(--r))}}@keyframes shapeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(16px)}}.shape.s1{left:-6%;top:16%;width:600px;height:140px;--r: 12deg;--rs: -3deg;--sd: .3s;--sg: rgba(242,115,47,.16)}.shape.s2{right:-4%;top:70%;width:500px;height:120px;--r: -15deg;--rs: -30deg;--sd: .5s;--sg: rgba(245,158,11,.13)}.shape.s3{left:7%;bottom:6%;width:300px;height:80px;--r: -8deg;--rs: -23deg;--sd: .4s;--sg: rgba(255,255,255,.07)}.shape.s4{right:16%;top:11%;width:200px;height:60px;--r: 20deg;--rs: 5deg;--sd: .6s;--sg: rgba(242,115,47,.13)}.shape.s5{left:24%;top:6%;width:150px;height:40px;--r: -25deg;--rs: -40deg;--sd: .7s;--sg: rgba(245,158,11,.11)}@media (prefers-reduced-motion: reduce){.shapes .shape{animation:none;opacity:1;transform:rotate(var(--r))}.shapes .shape-fl{animation:none}}.hero-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(var(--bg-1-rgb),.55) 0%,transparent 22%,transparent 70%,rgba(var(--bg-1-rgb),.85) 100%)}.beams{position:absolute;inset:-20% -10%;z-index:0;pointer-events:none}.beams i{position:absolute;top:-30%;height:160%;width:300px;background:linear-gradient(180deg,transparent,rgba(var(--accent-rgb),.13),transparent);filter:blur(50px);transform:rotate(18deg);opacity:0;animation:beamDrift 16s var(--ease-brand) infinite}.beams i:nth-child(1){left:6%;animation-delay:0s}.beams i:nth-child(2){left:30%;animation-delay:-6s;width:200px}.beams i:nth-child(3){left:60%;animation-delay:-11s;width:360px}@keyframes beamDrift{0%{opacity:0;transform:translateY(-40px) rotate(18deg)}40%,60%{opacity:.9}to{opacity:0;transform:translateY(70px) rotate(18deg)}}@media (prefers-reduced-motion: reduce){.beams i{animation:none;opacity:.45}}.hero-grid{position:relative;z-index:5;display:grid;grid-template-columns:540px 1fr;align-items:center;width:100%;max-width:1320px;margin:0 auto;padding:0 var(--space-page)}.hero-photo{position:relative;align-self:end;height:92vh;max-height:920px;display:flex;align-items:flex-end;justify-content:center}.hero-photo .floor-glow{position:absolute;left:50%;bottom:60px;transform:translate(-50%);width:480px;height:200px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.26),transparent 70%);filter:blur(40px);z-index:1}.hero-photo img{position:relative;z-index:2;height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6));animation:heroRise 1.3s var(--ease-brand) both}@keyframes heroRise{0%{opacity:0;transform:translateY(50px) scale(1.03)}to{opacity:1;transform:none}}.hero-content{align-self:center;padding:96px 0 96px 56px}.hero-content .eyebrow{margin-bottom:22px;animation:fadeUp .9s var(--ease-brand) both .1s}.hero-content h1{margin:0;font-size:clamp(3.5rem,7.3vw,7rem);line-height:.93;font-weight:var(--w-extralight);letter-spacing:-.02em}.hero-content h1 span{display:block;animation:fadeUp 1s var(--ease-brand) both}.hero-content h1 span:nth-child(1){animation-delay:.18s}.hero-content h1 span:nth-child(2){animation-delay:.3s;color:var(--fg-2)}.hero-lead{margin:30px 0 36px;max-width:44ch;font-size:19px;line-height:1.7;font-weight:var(--w-light);color:var(--fg-3);animation:fadeUp 1s var(--ease-brand) both .42s}.hero-ctas{display:flex;gap:16px;margin-bottom:52px;animation:fadeUp 1s var(--ease-brand) both .52s}.hero-stats{display:flex;animation:fadeUp 1s var(--ease-brand) both .62s}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (max-height: 820px){.hero-content{padding-bottom:7vh}.hero-content h1{font-size:clamp(2.8rem,6vw,4.6rem)}.hero-lead{font-size:17px;margin:20px 0 28px;max-width:42ch}.hero-ctas{margin-bottom:34px}.hero-stats .stats .num{font-size:42px}}@media (max-height: 660px){.hero-content{padding-bottom:5vh}.hero-content h1{font-size:clamp(2.4rem,5vw,3.4rem)}.hero-lead{margin:16px 0 22px}.hero-ctas{margin-bottom:26px}.hero-stats .stats .num{font-size:36px}}.stats{display:flex}.stats .stat{display:flex;flex-direction:column;gap:7px;padding-right:40px}.stats .stat+.stat{padding-left:40px;border-left:1px solid var(--line-2)}.stats .num{font-size:54px;font-weight:var(--w-bold);line-height:1;color:var(--accent);letter-spacing:-.02em}.stats .num .suf{color:var(--fg-3);font-weight:var(--w-light)}.stats .lbl{font-size:13px;font-weight:var(--w-extralight);letter-spacing:.03em;color:var(--fg-3);max-width:15ch}.scroll-hint{position:absolute;bottom:34px;right:40px;z-index:6;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-4);font-weight:var(--w-extralight)}.scroll-hint .line{width:1px;height:40px;background:linear-gradient(var(--accent),transparent);animation:scrollLine 2.2s ease-in-out infinite}@keyframes scrollLine{0%,to{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1;transform-origin:top}}.marquee{padding:38px 0;border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1);overflow:hidden;background:var(--bg-2)}.marquee-track{display:flex;white-space:nowrap;width:max-content;animation:marquee 38s linear infinite}.marquee-track span{font-size:4.4vw;font-weight:var(--w-extralight);text-transform:uppercase;color:var(--fg-1);letter-spacing:.01em;padding-right:1.2em;opacity:.9}.marquee-track span em{font-style:normal;color:var(--accent)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee:hover .marquee-track{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.marquee-track{animation:none}}.section{padding:9rem 0;position:relative}.section.alt{background:var(--bg-2)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:4rem}.section-head h2{margin:18px 0 0;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:var(--w-extralight);line-height:1.02;letter-spacing:-.02em;color:var(--white)}.section-head .sub{max-width:42ch;font-size:18px;line-height:1.7;font-weight:var(--w-light);color:var(--fg-3)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.proj-card{position:relative;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;background:var(--bg-0);border:1px solid var(--line-1);aspect-ratio:4 / 5;display:flex;flex-direction:column;justify-content:flex-end;transition:transform var(--dur-mid) var(--ease-brand),box-shadow var(--dur-mid) var(--ease-brand),border-color var(--dur-mid)}.proj-card .cover{position:absolute;inset:0;z-index:0}.proj-card .cover img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--ease-brand)}.proj-card.contain .cover img{object-fit:contain;object-position:center}.proj-card .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(var(--bg-1-rgb),0) 0% 42%,rgba(var(--bg-0-rgb,5,5,5),.55) 66%,rgba(var(--bg-0-rgb,5,5,5),.96))}.proj-card .spot{position:absolute;inset:0;z-index:2;opacity:0;transition:opacity var(--dur-mid);background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(var(--accent-rgb),.18),transparent 60%)}.proj-card .body{position:relative;z-index:3;padding:28px}.proj-card .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.proj-card .tag{font-size:12px;font-weight:var(--w-extralight);letter-spacing:.04em;color:var(--fg-2);padding:6px 14px;border:1px solid var(--line-white);border-radius:var(--r-pill);background:#00000040;backdrop-filter:blur(6px)}.proj-card h3{margin:0;font-size:var(--t-card);font-weight:var(--w-medium);color:var(--accent)}.proj-card p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--fg-2);font-weight:var(--w-light);max-width:46ch}.proj-card .go{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:14px;color:var(--fg-1);font-weight:var(--w-regular);transition:gap var(--dur-fast),color var(--dur-fast)}.proj-card .go svg{transition:transform var(--dur-fast) var(--ease-brand)}.proj-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-card);border-color:var(--accent-line)}.proj-card:hover .cover img{transform:scale(1.07)}.proj-card:hover .spot{opacity:1}.proj-card:hover .go{gap:16px;color:var(--accent)}.proj-card:hover .go svg{transform:translate(4px)}.about{text-align:center;max-width:780px;margin:0 auto}.about .eyebrow{justify-content:center}.about h2{margin:22px 0 40px;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:var(--w-extralight);line-height:1.18;letter-spacing:-.01em;color:var(--fg-1)}.about h2 b{font-weight:var(--w-regular);color:var(--white)}.about p{font-size:var(--t-body);line-height:var(--lh-body);color:var(--fg-2);font-weight:var(--w-light);margin:0 auto 1.7rem;max-width:62ch}.about p strong{color:var(--accent);font-weight:var(--w-medium)}.skills-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}.tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.tool{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--surface-1);border:1px solid var(--line-1);border-radius:var(--r-md);transition:transform var(--dur-fast) var(--ease-brand),border-color var(--dur-fast),background var(--dur-fast)}.tool:hover{transform:translateY(-4px);border-color:var(--accent-line);background:var(--surface-2)}.tool img{width:30px;height:30px;object-fit:contain}.tool span{font-size:14px;font-weight:var(--w-light);color:var(--fg-2)}.methods{display:flex;flex-direction:column;gap:2px}.method{padding:20px 0 20px 22px;border-left:2px solid var(--line-2);transition:border-color var(--dur-fast),padding var(--dur-fast)}.method:hover{border-left-color:var(--accent);padding-left:30px}.method h4{margin:0 0 6px;font-size:18px;font-weight:var(--w-medium);color:var(--fg-1)}.method p{margin:0;font-size:14px;line-height:1.6;color:var(--fg-3);font-weight:var(--w-light)}.skills-aside h3{font-size:22px;font-weight:var(--w-light);color:var(--fg-1);margin:0 0 24px}.approach-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.step{padding:38px 32px;background:var(--surface-1);border:1px solid var(--line-1);border-radius:var(--r-xl);position:relative;overflow:hidden;transition:border-color var(--dur-fast),transform var(--dur-fast) var(--ease-brand),box-shadow var(--dur-fast) var(--ease-brand)}.step:hover{border-color:var(--accent-line);transform:translateY(-6px);box-shadow:var(--shadow-card)}.step .spot{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity var(--dur-mid) var(--ease-brand);background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%),rgba(var(--accent-rgb),.16),transparent 60%)}.step:hover .spot{opacity:1}.step .glyph,.step h4,.step p{position:relative;z-index:1}.step .ghost-n{position:absolute;right:18px;top:0;font-size:150px;font-weight:var(--w-bold);color:#ffffff0a;line-height:1}.step .glyph{width:60px;height:60px;margin-bottom:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--line-2);color:var(--fg-2);transition:background var(--dur-fast) var(--ease-brand),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast) var(--ease-brand)}.step .glyph svg{width:28px;height:28px;display:block}.step:hover .glyph{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent);transform:translateY(-2px) scale(1.05)}.step h4{margin:0 0 12px;font-size:21px;font-weight:var(--w-medium);color:var(--fg-1)}.step p{margin:0;font-size:15px;line-height:1.7;color:var(--fg-3);font-weight:var(--w-light)}.flow-stack{position:relative;width:100%}.panel-h{margin:18px 0 0;font-size:clamp(2.6rem,5vw,4.2rem);font-weight:var(--w-extralight);line-height:1.02;letter-spacing:-.02em;color:var(--white)}.flow-section{position:relative;min-height:100vh;width:100%;overflow:hidden;--panel: var(--bg-1)}.flow-inner{position:relative;min-height:100vh;width:100%;display:flex;flex-direction:column;justify-content:center;padding:120px 0 90px;background:var(--panel);transform-origin:bottom left;will-change:transform;box-shadow:0 -34px 90px #000000b3}.flow-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;z-index:4;background:linear-gradient(90deg,transparent,rgba(var(--accent-rgb),.8),transparent)}.flow-inner:after{content:"";position:absolute;top:0;left:0;right:0;height:140px;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(var(--accent-rgb),.05),transparent)}.flow-inner>*{position:relative;z-index:2}.fp-about .flow-inner{--panel: #0a0a0a}.fp-skills .flow-inner{--panel: #0e0e0e}.fp-methods .flow-inner{--panel: #0a0a0a}.fp-approach .flow-inner{--panel: #0c0c0c}.fp-approach .flow-inner{background:radial-gradient(120% 80% at 80% 12%,rgba(var(--accent-rgb),.1),transparent 55%),var(--panel)}.tools-wide{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:720px}.tools-wide .tool{padding:22px 24px}.tools-wide .tool img{width:34px;height:34px}.tools-wide .tool span{font-size:15px}.skills-split{display:grid;grid-template-columns:1fr 720px;gap:64px;align-items:center}.methods-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 56px}.methods-grid .method{padding:22px 0 22px 24px}.methods-grid .method h4{font-size:20px;background-image:linear-gradient(90deg,var(--accent) 0%,var(--accent) 38%,var(--fg-1) 62%,var(--fg-1) 100%);background-size:220% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;transition:background-position .6s var(--ease-brand)}.methods-grid .method:hover h4{background-position:0 0}@media (prefers-reduced-motion: reduce){.methods-grid .method h4{transition:none}}.methods-grid .method p{font-size:15px}.flow-stack.no-flow .flow-section{min-height:0;overflow:visible}.flow-stack.no-flow .flow-inner{min-height:0;padding:8rem 0;transform:none!important;box-shadow:none}@media (max-width: 1100px){.skills-split{grid-template-columns:1fr;gap:36px}.tools-wide{max-width:560px}.methods-grid{grid-template-columns:1fr;gap:4px}}@media (max-width: 900px){.flow-section{min-height:0;overflow:visible}.flow-inner{min-height:0;padding:6rem 0;transform:none!important;box-shadow:none}.flow-inner:after{display:none}}.footer{position:relative;padding:8rem 0 3rem;background:var(--bg-0);overflow:hidden}.footer-bg{position:absolute;left:50%;bottom:-3%;transform:translate(-50%);font-size:27vw;font-weight:var(--w-bold);letter-spacing:-.05em;line-height:.8;color:#ffffff06;white-space:nowrap;z-index:0;pointer-events:none;user-select:none}.footer .wrap{position:relative;z-index:1}.footer-cta{text-align:center;margin-bottom:6rem}.footer-cta .eyebrow{justify-content:center;margin-bottom:26px}.footer-big{font-size:clamp(3rem,9vw,9rem);font-weight:var(--w-extralight);line-height:.92;letter-spacing:-.03em;margin:0 0 44px;text-transform:none}.footer-big .grad{display:inline-block}.magnetic-wrap{display:flex;justify-content:center}.magnetic{will-change:transform}.footer-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line-2);margin-bottom:3rem}.frow{display:flex;flex-direction:column;gap:6px;padding:28px 0;border-bottom:1px solid var(--line-2)}.contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-2);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;margin-bottom:4rem}.contact{background:var(--bg-0);padding:30px 32px;display:flex;align-items:center;gap:18px;transition:background var(--dur-fast)}.contact:hover{background:var(--surface-1)}.contact .ic{width:44px;height:44px;border-radius:50%;background:var(--surface-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-fast),transform var(--dur-fast);color:var(--fg-2)}.contact:hover .ic{background:var(--accent);color:var(--bg-1);transform:scale(1.08)}.contact .ic svg{width:20px;height:20px}.contact>span:not(.ic){display:flex;flex-direction:column;gap:5px}.contact .lbl{font-size:12px;color:var(--fg-4);text-transform:lowercase;letter-spacing:.04em}.contact .val{font-size:16px;color:var(--fg-1);font-weight:var(--w-light)}.contact:hover .val{color:var(--accent)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:2rem;border-top:1px solid var(--line-1)}.footer-bottom .copy{font-size:13px;color:var(--fg-4);font-weight:var(--w-extralight)}.socials{display:flex;gap:12px}.socials a{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--fg-3);transition:all var(--dur-fast) var(--ease-brand)}.socials a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.socials a svg{width:18px;height:18px}@media (max-width: 1100px){.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;padding:0;flex-shrink:0;background:none;border:1px solid var(--line-2);border-radius:var(--r-md);cursor:pointer;color:var(--fg-2);transition:border-color var(--dur-fast),background var(--dur-fast)}.menu-toggle:hover{border-color:var(--accent);background:var(--accent-soft)}.menu-toggle span{display:block;width:18px;height:1.5px;background:currentColor;border-radius:2px;transition:transform .38s var(--ease-brand),opacity .18s,width .18s;transform-origin:center}body.nav-open .menu-toggle{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}body.nav-open .menu-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}body.nav-open .menu-toggle span:nth-child(2){opacity:0;width:0}body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.nav-links{display:flex!important;flex-direction:column;align-items:flex-start;gap:0;position:fixed;top:0;right:0;bottom:0;width:min(320px,85vw);background:#080808f7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--line-2);padding:96px 36px 48px;z-index:500;transform:translate(110%);transition:transform .45s var(--ease-brand);overflow-y:auto}body.nav-open .nav-links{transform:translate(0)}body.nav-open{overflow:hidden}.nav-links a{font-size:20px;font-weight:var(--w-extralight);letter-spacing:.02em;color:var(--fg-2);padding:16px 0;width:100%;border-bottom:1px solid var(--line-1);transition:color var(--dur-fast) var(--ease-brand),padding-left var(--dur-fast) var(--ease-brand)}.nav-links a:last-child{border-bottom:none}.nav-links a:hover{color:var(--accent);padding-left:10px}.nav-links a:after{display:none}body.nav-open:before{content:"";position:fixed;inset:0;background:#0000009e;z-index:490;pointer-events:none}.hero-grid{grid-template-columns:1fr}.hero-photo{display:none}.hero-content{padding:130px 0 80px}.skills-grid{grid-template-columns:1fr;gap:40px}.projects{grid-template-columns:repeat(2,1fr)}.approach-grid,.contacts{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start;gap:16px}.footer-rows{grid-template-columns:1fr 1fr}}@media (max-width: 768px){:root{--space-page: 1.25rem}.section{padding:6.5rem 0}.section-head{margin-bottom:2.4rem}.section-head h2{font-size:clamp(1.9rem,7vw,3rem)}.section-head .sub{font-size:16px}.hero-content{padding:120px 0 60px}.hero-lead{font-size:17px;margin:20px 0 28px;max-width:100%}.hero-ctas{margin-bottom:36px;gap:12px}.stats .num{font-size:42px}.stats .stat{padding-right:28px}.stats .stat+.stat{padding-left:28px}.stats .lbl{font-size:12px}.scroll-hint{display:none}.marquee-track span{font-size:6vw}.footer{padding:5rem 0 2.5rem}.footer-cta{margin-bottom:4rem}.footer-bottom{flex-direction:column;align-items:center;gap:16px;text-align:center}}@media (max-width: 640px){:root{--space-page: 1rem}.section{padding:5.5rem 0}.header-right .btn{display:none}.hero-content{padding:110px 0 56px}.hero-lead{font-size:16px}.projects{grid-template-columns:1fr;gap:20px}.proj-card{aspect-ratio:unset;justify-content:flex-start;min-height:0}.proj-card .cover{position:relative;inset:auto;height:220px;flex-shrink:0;overflow:hidden}.proj-card .cover img{position:absolute;top:0;left:0;width:100%;height:100%}.proj-card.contain .cover img{object-fit:contain}.proj-card .scrim,.proj-card .spot{display:none}.proj-card .body{position:static;z-index:auto;background:var(--surface-1);padding:18px 20px 22px;flex:1}.proj-card .tag{backdrop-filter:none;background:var(--surface-2)}.proj-card p{max-width:100%}.tools{grid-template-columns:repeat(2,1fr);gap:12px}.tool{padding:14px 16px;gap:10px}.tools-wide{grid-template-columns:repeat(2,1fr);gap:12px;max-width:100%}.tools-wide .tool{padding:16px 18px}.tools-wide .tool img,.tools-wide .tool .tool-icon{width:28px;height:28px}.tools-wide .tool span{font-size:14px}.step{padding:30px 24px}.contact{padding:22px 18px}.contact .val{font-size:14px}.footer-rows{grid-template-columns:1fr}.frow{padding:20px 0}.footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.wm-dialog{padding:36px 24px 28px}}@media (max-width: 440px){.hero-content h1{font-size:clamp(2.5rem,11vw,3.6rem)}.hero-lead{font-size:15px}.hero-ctas{flex-direction:column;align-items:stretch}.hero-ctas .btn{width:100%;justify-content:center}.stats .num{font-size:34px}.stats .stat{padding-right:16px}.stats .stat+.stat{padding-left:16px}.pl-word{font-size:clamp(1.6rem,7.5vw,2.8rem)}.wm-dialog{padding:32px 18px 24px}.wm-title{font-size:clamp(1.5rem,7vw,1.9rem)}}body.modal-open{overflow:hidden}.write-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity var(--dur-mid) var(--ease-brand),visibility var(--dur-mid)}.write-modal.open{opacity:1;visibility:visible}.wm-overlay{position:absolute;inset:0;background:#050505c7;backdrop-filter:blur(8px)}.wm-dialog{position:relative;z-index:1;width:100%;max-width:520px;background:var(--surface-1);border:1px solid var(--line-2);border-radius:var(--r-xl);padding:44px 44px 40px;box-shadow:var(--shadow-card);transform:translateY(24px) scale(.98);opacity:0;transition:transform var(--dur-mid) var(--ease-brand),opacity var(--dur-mid) var(--ease-brand)}.write-modal.open .wm-dialog{transform:none;opacity:1}.wm-x{position:absolute;top:18px;right:18px;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-round);border:1px solid var(--line-2);background:transparent;color:var(--fg-3);cursor:pointer;transition:all var(--dur-fast) var(--ease-brand)}.wm-x svg{width:18px;height:18px}.wm-x:hover{color:var(--accent);border-color:var(--accent);transform:rotate(90deg)}.wm-title{margin:18px 0 10px;font-size:clamp(1.8rem,3.4vw,2.4rem);font-weight:var(--w-extralight);line-height:1.1;color:var(--fg-1);letter-spacing:-.01em}.wm-sub{margin:0 0 28px;font-size:15px;line-height:1.6;color:var(--fg-3);font-weight:var(--w-light);max-width:42ch}.wm-form{display:flex;flex-direction:column;gap:18px}.wm-field{display:flex;flex-direction:column;gap:8px}.wm-field>span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-4);font-weight:var(--w-light)}.wm-field input,.wm-field textarea{font-family:inherit;font-size:15px;color:var(--fg-1);font-weight:var(--w-light);background:var(--bg-1);border:1px solid var(--line-2);border-radius:var(--r-md);padding:13px 16px;outline:none;resize:vertical;transition:border-color var(--dur-fast) var(--ease-brand),box-shadow var(--dur-fast) var(--ease-brand)}.wm-field textarea{min-height:110px;line-height:1.55}.wm-field input::placeholder,.wm-field textarea::placeholder{color:var(--fg-4);opacity:.7}.wm-field input:focus,.wm-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}.wm-send{justify-content:center;margin-top:6px}.wm-send.sending{opacity:.8;cursor:progress}.wm-status{margin:4px 0 0;font-size:13.5px;text-align:center;font-weight:var(--w-light);min-height:1.2em;transition:opacity var(--dur-fast) var(--ease-brand)}.wm-status.ok{color:var(--accent);font-weight:var(--w-regular)}.wm-status.err{color:#e0563f}@media (max-width: 560px){.wm-dialog{padding:38px 24px 30px}}@media (prefers-reduced-motion: reduce){.write-modal,.wm-dialog{transition:opacity .2s ease}.wm-dialog,.wm-x:hover{transform:none}}body.loading .hero-content .eyebrow,body.loading .hero-content h1 span,body.loading .hero-lead,body.loading .hero-ctas,body.loading .hero-stats,body.loading .hero-photo img,body.loading .shapes .shape{animation-play-state:paused!important}.hero-content h1 span{animation-name:lineUp}@keyframes lineUp{0%{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(46%) rotate(1.2deg)}to{opacity:1;clip-path:inset(-15% 0 -15% 0);transform:none}}@media (prefers-reduced-motion: reduce){.hero-content h1 span{animation-name:fadeUp}}.site-header{transition:background var(--dur-fast) var(--ease-brand),backdrop-filter var(--dur-fast),border-color var(--dur-fast),height var(--dur-fast),transform .55s var(--ease-brand)}.site-header.hide{transform:translateY(-105%)}.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:100000;background:linear-gradient(90deg,var(--accent),#ffd9c4);transform-origin:left;transform:scaleX(0);pointer-events:none}@media (hover: hover) and (pointer: fine){html.has-cursor,html.has-cursor a,html.has-cursor button{cursor:none}html.has-cursor input,html.has-cursor textarea,html.has-cursor select{cursor:auto}}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:100002;pointer-events:none;border-radius:50%;opacity:0;transition:opacity .25s ease}.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--accent)}.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(var(--accent-rgb),.5);display:flex;align-items:center;justify-content:center;transition:width .35s var(--ease-brand),height .35s var(--ease-brand),margin .35s var(--ease-brand),background .35s,border-color .35s,opacity .25s}.cursor-ring .cur-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:var(--w-light);color:var(--fg-1);opacity:0;transition:opacity .25s;white-space:nowrap}.cursor-ring.is-link{width:56px;height:56px;margin:-28px 0 0 -28px;background:rgba(var(--accent-rgb),.1);border-color:rgba(var(--accent-rgb),.85)}.cursor-ring.is-view{width:94px;height:94px;margin:-47px 0 0 -47px;background:#0505058c;backdrop-filter:blur(3px);border-color:var(--accent)}.cursor-ring.is-view .cur-label{opacity:1}.marquee{-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.tilt-in{opacity:0;transform:perspective(1000px) translateY(60px) rotateX(6deg);transition:opacity .9s var(--ease-brand),transform .9s var(--ease-brand),box-shadow var(--dur-mid) var(--ease-brand),border-color var(--dur-mid)}.tilt-in.in{opacity:1;transform:none}.projects .proj-card.tilt-in.in:hover{transform:translateY(-10px);transition-duration:.45s}@media (prefers-reduced-motion: reduce){.tilt-in{opacity:1;transform:none}}.projects{counter-reset:proj}.projects .proj-card{counter-increment:proj}.projects .proj-card:before{content:"0" counter(proj);position:absolute;top:16px;right:22px;z-index:2;font-size:60px;font-weight:var(--w-bold);line-height:1;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);pointer-events:none;transition:-webkit-text-stroke-color .5s var(--ease-brand),transform .5s var(--ease-brand)}.projects .proj-card:hover:before{-webkit-text-stroke-color:rgba(var(--accent-rgb),.6);transform:translateY(-4px)}@media (min-width: 901px){.proj-card .cover{inset:-7% 0}}.next-case .nc-name{transition:transform .5s var(--ease-brand)}.next-case a:hover .nc-name{transform:scale(1.04)}@media (max-width: 640px){.projects .proj-card:before{font-size:40px;top:12px;right:14px}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cookie-note{position:fixed;z-index:90;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto 0 0;display:flex;align-items:center;gap:16px;padding:14px 16px 14px 20px;border:1px solid var(--line-2, rgba(255,255,255,.14));border-radius:16px;background:#121215f0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--fg-2, #c9c9c9);font-size:13.5px;line-height:1.5;opacity:0;transform:translateY(14px);transition:opacity .3s,transform .3s}.cookie-note.show{opacity:1;transform:none}.cookie-note p{margin:0;flex:1}.cookie-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.cookie-note .btn{padding:9px 18px;font-size:14px;white-space:nowrap}@media (max-width: 560px){.cookie-note{flex-direction:column;align-items:stretch;gap:10px;left:10px;right:10px;bottom:10px}}.footer-privacy{font-size:13px;color:var(--fg-4);font-weight:var(--w-extralight);text-decoration:underline;text-underline-offset:3px;margin-left:18px}.footer-privacy:hover{color:var(--accent)}.wm-consent{margin:4px 0 0;font-size:12px;line-height:1.5;color:var(--fg-4)}.wm-consent a{color:var(--fg-3);text-decoration:underline;text-underline-offset:2px}.legal{max-width:760px;margin:0 auto;padding:120px 20px 80px}.legal .back{display:inline-block;margin-bottom:28px;font-size:14px;color:var(--fg-3);text-decoration:none}.legal .back:hover{color:var(--accent)}.legal h1{margin:0 0 8px;font-size:clamp(1.9rem,4.4vw,2.8rem);line-height:1.1;font-weight:var(--w-light);letter-spacing:-.02em;color:var(--white)}.legal .upd{margin:0 0 36px;font-size:13px;color:var(--fg-4)}.legal h2{margin:34px 0 10px;font-size:1.15rem;font-weight:var(--w-regular);color:var(--white)}.legal p{margin:0 0 14px;font-size:15.5px;line-height:1.7;color:var(--fg-2);font-weight:var(--w-light)}.legal a{color:var(--accent);text-underline-offset:3px}.legal code{font-size:.9em;padding:1px 6px;border-radius:6px;background:#ffffff12}.legal b{color:var(--fg-1);font-weight:var(--w-regular)}body.case{background:var(--bg-0)}.read-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--accent),#ffd9c4);z-index:200;box-shadow:0 0 12px rgba(var(--accent-rgb),.6);transition:width .08s linear}.case-hero{position:relative;padding:150px 0 0;overflow:hidden;isolation:isolate}.case-hero .beams{position:absolute;inset:-20% -10%;z-index:0}.case-hero .glow{position:absolute;top:-10%;left:50%;transform:translate(-50%);width:1100px;height:600px;z-index:0;pointer-events:none;background:radial-gradient(ellipse at center,rgba(var(--accent-rgb),.14),transparent 65%);filter:blur(20px)}.case-hero .wrap{position:relative;z-index:3}.back-link{display:inline-flex;align-items:center;gap:10px;margin-bottom:44px;font-size:14px;font-weight:var(--w-light);letter-spacing:.03em;color:var(--fg-3);transition:gap var(--dur-fast),color var(--dur-fast)}.back-link svg{width:18px;height:18px;transition:transform var(--dur-fast) var(--ease-brand)}.back-link:hover{color:var(--accent);gap:16px}.back-link:hover svg{transform:translate(-4px)}.ch-head{max-width:980px}.ch-eyebrow{margin-bottom:26px}.ch-logo{height:clamp(3.2rem,7.4vw,6.8rem);width:auto;max-width:min(100%,780px);margin:0;display:block}.ch-brand{display:flex;align-items:center;flex-wrap:wrap;gap:.12em .32em;font-size:clamp(3.4rem,8vw,7.5rem)}.ch-logo-mark{height:.8em;width:auto;max-width:1.2em;flex:none}.ch-brand .ch-title{font-size:inherit;min-width:0}.ch-title{margin:0;font-size:clamp(3.4rem,8vw,7.5rem);line-height:.92;font-weight:var(--w-bold);letter-spacing:-.03em;color:var(--white)}.ch-title .lt{display:inline-block;opacity:0;transform:translateY(40px) rotate(6deg)}.ch-title.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ch-tagline{margin:30px 0 0;max-width:60ch;font-size:clamp(1.2rem,2.4vw,1.7rem);line-height:1.5;font-weight:var(--w-light);color:var(--fg-2)}.ch-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:64px 0 0;background:var(--line-1);border:1px solid var(--line-1);border-radius:var(--r-lg);overflow:hidden}.ch-meta .m{background:var(--bg-1);padding:26px 28px}.ch-meta .ml{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:var(--w-extralight);margin-bottom:12px}.ch-meta .mv{font-size:16px;font-weight:var(--w-light);color:var(--fg-1);line-height:1.45}.cs-stage{position:relative;height:200vh;margin-top:70px}.cs-stage.phone{height:auto;margin-top:30px}.cs-stage.phone .cs-sticky{position:static;height:auto;min-height:0;padding:5rem 0 6rem;overflow:visible}.cs-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.cs-perspective{perspective:1200px;width:100%;max-width:1180px;padding:0 var(--space-page)}.cs-kicker{text-align:center;margin-bottom:30px;will-change:transform}.cs-kicker .k1{font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--fg-4);font-weight:var(--w-extralight)}.cs-kicker .k2{margin:12px 0 0;font-size:clamp(1.8rem,4vw,3rem);font-weight:var(--w-extralight);color:var(--fg-1);letter-spacing:-.01em}.cs-card{position:relative;margin:0 auto;width:100%;max-width:1100px;border-radius:24px;padding:14px;background:linear-gradient(145deg,#1c1c1c,#0a0a0a);border:1px solid var(--line-3);will-change:transform;box-shadow:0 0 #0000004d,0 9px 20px #0000004a,0 37px 37px #00000042,0 84px 50px #00000026,0 149px 60px #0000000a}.cs-screen{position:relative;width:100%;overflow:hidden;border-radius:14px;background:#000;display:flex;flex-direction:column}.cs-screen img{width:100%;height:auto;display:block}.cs-screen .browser-bar{position:relative;height:34px;flex:none;z-index:2;background:#0a0a0ae6;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--line-1)}.cs-screen .browser-bar i{width:11px;height:11px;border-radius:50%;background:var(--line-3)}.cs-card.phone{max-width:360px;border-radius:46px;padding:13px;background:linear-gradient(160deg,#1d1d1d,#070707)}.cs-card.phone .cs-screen{border-radius:34px;max-height:74vh;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.cs-card.phone .cs-screen::-webkit-scrollbar{width:0;height:0}.cs-card.phone .cs-screen img{width:100%;height:auto}.case-section{padding:7rem 0;position:relative}.case-section.tight{padding:4.5rem 0}.sec-eyebrow{margin-bottom:22px}.sec-title{margin:0;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:var(--w-extralight);line-height:1.04;letter-spacing:-.02em;color:var(--white)}.sec-lead{margin:28px 0 0;max-width:64ch;font-size:var(--t-body);line-height:1.75;font-weight:var(--w-light);color:var(--fg-2)}.sec-lead+.sec-lead{margin-top:1.4rem}.sec-lead b{color:var(--accent);font-weight:var(--w-medium)}.overview-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:start}.pull{border-left:2px solid var(--accent);padding:6px 0 6px 28px;font-size:1.5rem;line-height:1.4;font-weight:var(--w-light);color:var(--fg-1)}.pull b{color:var(--accent);font-weight:var(--w-regular)}.ps-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:3.5rem}.ps-col{background:var(--surface-1);border:1px solid var(--line-1);border-radius:var(--r-xl);padding:40px}.ps-col.fix{background:linear-gradient(145deg,rgba(var(--accent-rgb),.06),rgba(var(--accent-rgb),.01));border-color:var(--accent-line)}.ps-col h4{margin:0 0 24px;font-size:13px;text-transform:uppercase;letter-spacing:.14em;font-weight:var(--w-regular);display:inline-flex;align-items:center;gap:12px}.ps-col.bad h4{color:var(--fg-3)}.ps-col.fix h4{color:var(--accent)}.ps-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.ps-col li{display:flex;gap:16px;font-size:16px;line-height:1.55;font-weight:var(--w-light);color:var(--fg-2)}.ps-col li .mk{flex:none;width:22px;height:22px;margin-top:1px;display:flex;align-items:center;justify-content:center}.ps-col.bad li .mk{color:var(--fg-4)}.ps-col.fix li .mk{color:var(--accent)}.ps-col li .mk svg{width:18px;height:18px}.scenario{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;margin-top:8rem}.scenario:first-of-type{margin-top:4rem}.scenario.flip .sc-media{order:2}.sc-text .sc-n{font-size:15px;font-weight:var(--w-bold);color:var(--accent);letter-spacing:.08em;display:inline-flex;align-items:center;gap:12px;margin-bottom:18px}.sc-text .sc-n:before{content:"";width:30px;height:1px;background:var(--accent)}.sc-text h3{margin:0 0 18px;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:var(--w-light);line-height:1.12;color:var(--white);letter-spacing:-.01em}.sc-text p{margin:0;font-size:17px;line-height:1.7;font-weight:var(--w-light);color:var(--fg-2);max-width:52ch}.sc-text .sc-bullets{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.sc-text .sc-bullets li{display:flex;gap:13px;font-size:15px;color:var(--fg-3);font-weight:var(--w-light);line-height:1.5}.sc-text .sc-bullets li:before{content:"";flex:none;width:6px;height:6px;margin-top:8px;border-radius:50%;background:var(--accent)}.sc-media{position:relative}.media-frame{position:relative;border-radius:var(--r-lg);overflow:visible;border:1px solid var(--line-2);background:#000;box-shadow:var(--shadow-card)}.media-clip{position:relative;border-radius:inherit;overflow:hidden;display:block}.media-frame img{width:100%;height:auto;display:block}.media-frame.contain{background:linear-gradient(145deg,#141414,#060606);padding:5%}.media-frame.contain .media-clip{border-radius:var(--r-sm)}.media-frame.phone{background:linear-gradient(160deg,#161616,#070707);padding:4% 22%}.media-frame.phone .media-clip{border-radius:var(--r-md)}.media-frame .caption{position:absolute;left:14px;bottom:14px;z-index:4;font-size:12px;letter-spacing:.03em;color:var(--fg-2);font-weight:var(--w-light);background:#000000c7;backdrop-filter:blur(8px);border:1px solid var(--line-white);padding:7px 14px;border-radius:var(--r-pill)}.hotspot{position:absolute;z-index:6;width:34px;height:34px;transform:translate(-50%,-50%);cursor:pointer;-webkit-appearance:none;appearance:none;background:none;border:0;padding:0;margin:0;outline:none}.hotspot .dot{position:absolute;inset:0;border-radius:50%;background:rgba(var(--accent-rgb),.16);border:2px solid var(--accent);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(var(--accent-rgb),.5);transition:transform var(--dur-fast) var(--ease-brand),background var(--dur-fast)}.hotspot .dot:before{content:"+";color:var(--accent);font-size:22px;font-weight:600;line-height:1}.hotspot .pulse{position:absolute;inset:0;border-radius:50%;background:var(--accent);animation:hsPulse 2.4s var(--ease-brand) infinite;z-index:-1}@keyframes hsPulse{0%{transform:scale(1);opacity:.55}70%,to{transform:scale(2.6);opacity:0}}.hotspot:hover .dot{transform:scale(1.18);background:rgba(var(--accent-rgb),.3)}.hotspot.found .dot{background:var(--accent);border-color:var(--accent)}.hotspot.found .dot:before{content:""}.hotspot.found .dot:after{content:"";width:12px;height:7px;border-left:2px solid var(--bg-0);border-bottom:2px solid var(--bg-0);transform:rotate(-45deg) translate(1px,-2px)}.hotspot.found .pulse{display:none}.hotspot .tip{position:absolute;bottom:130%;left:50%;transform:translate(-50%) translateY(8px);width:248px;padding:16px 18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--accent-line);box-shadow:var(--shadow-card);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--dur-fast) var(--ease-brand),transform var(--dur-fast) var(--ease-brand)}.hotspot.open .tip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.hotspot .tip h5{margin:0 0 7px;font-size:14px;font-weight:var(--w-medium);color:var(--accent)}.hotspot .tip p{margin:0;font-size:13px;line-height:1.5;color:var(--fg-2);font-weight:var(--w-light)}.hotspot .tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:var(--surface-2)}.hint-explore{display:inline-flex;align-items:center;gap:9px;margin-top:22px;font-size:13px;color:var(--fg-4);font-weight:var(--w-light);letter-spacing:.02em}.hint-explore svg{width:16px;height:16px;color:var(--accent)}.gallery{display:grid;gap:22px;margin-top:3rem}.gallery.g2{grid-template-columns:1fr 1fr}.gallery.g3{grid-template-columns:repeat(3,1fr)}.gallery .media-frame img{width:100%}.ds-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:3rem}.sw{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line-1);background:var(--surface-1)}.sw .chip{height:96px}.sw .meta{padding:14px 16px}.sw .meta .hx{font-size:14px;font-weight:var(--w-medium);color:var(--fg-1);letter-spacing:.02em}.sw .meta .nm{font-size:12px;color:var(--fg-4);margin-top:3px}.case-section.results{background:var(--bg-1);border-top:1px solid var(--line-1);border-bottom:1px solid var(--line-1)}.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:3.5rem}.metric{background:linear-gradient(145deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.01));border:1px solid var(--accent-line);border-radius:var(--r-lg);padding:36px 30px;text-align:left;transition:transform var(--dur-fast) var(--ease-brand),box-shadow var(--dur-fast) var(--ease-brand)}.metric:hover{transform:translateY(-6px);box-shadow:var(--shadow-card)}.metric .mnum{font-size:clamp(2.6rem,4.4vw,3.6rem);font-weight:var(--w-bold);color:var(--accent);line-height:1;letter-spacing:-.02em}.metric .mnum .pre,.metric .mnum .suf{font-weight:var(--w-light);color:var(--fg-2)}.metric .mlbl{margin-top:16px;font-size:14px;line-height:1.5;color:var(--fg-3);font-weight:var(--w-light)}.result-note{margin:3.2rem auto 0;max-width:70ch;text-align:center;font-size:1.15rem;line-height:1.7;font-weight:var(--w-light);color:var(--fg-3)}.next-case{position:relative;padding:7rem 0;text-align:center;overflow:hidden}.next-case .eyebrow{justify-content:center;margin-bottom:26px}.next-case .nc-name{font-size:clamp(2.6rem,6vw,5rem);font-weight:var(--w-extralight);letter-spacing:-.02em;color:var(--white);margin:0}.next-case a.nc-link{display:inline-flex;flex-direction:column;align-items:center;gap:18px}.next-case .nc-go{display:inline-flex;align-items:center;gap:12px;margin-top:12px;font-size:15px;color:var(--accent);font-weight:var(--w-light)}.next-case .nc-go svg{width:20px;height:20px;transition:transform var(--dur-fast) var(--ease-brand)}.next-case a:hover .nc-go svg{transform:translate(6px)}.explorer{position:fixed;right:26px;bottom:26px;z-index:150;display:flex;align-items:center;gap:14px;background:#111111db;backdrop-filter:blur(14px);border:1px solid var(--line-2);border-radius:var(--r-cta);padding:10px 20px 10px 12px;box-shadow:var(--shadow-card);transform:translateY(140%);opacity:0;transition:transform .6s var(--ease-brand),opacity .6s,border-color var(--dur-fast)}.explorer.show{transform:none;opacity:1}.explorer.complete{border-color:var(--accent)}.exp-ring{position:relative;width:46px;height:46px;flex:none}.exp-ring svg{width:46px;height:46px;transform:rotate(-90deg)}.exp-ring .track{stroke:var(--line-2)}.exp-ring .prog{stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .6s var(--ease-brand)}.exp-ring .pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:var(--w-semibold);color:var(--fg-1)}.exp-text{line-height:1.25}.exp-text .t1{font-size:13px;font-weight:var(--w-medium);color:var(--fg-1)}.exp-text .t2{font-size:11px;color:var(--fg-4);margin-top:2px}.explorer.complete .exp-text .t1{color:var(--accent)}.achv{position:fixed;left:50%;bottom:40px;transform:translate(-50%,160%);z-index:250;display:flex;align-items:center;gap:18px;background:linear-gradient(145deg,#1a1a1a,#0c0c0c);border:1px solid var(--accent);border-radius:var(--r-xl);padding:20px 30px 20px 22px;box-shadow:0 30px 80px #0009,0 0 40px rgba(var(--accent-rgb),.2);opacity:0;transition:transform .7s var(--ease-brand),opacity .5s}.achv.show{transform:translate(-50%);opacity:1}.achv .badge{width:56px;height:56px;flex:none;border-radius:50%;background:var(--accent-soft);border:1px solid var(--accent-line);display:flex;align-items:center;justify-content:center;color:var(--accent)}.achv .badge svg{width:28px;height:28px}.achv .txt .a1{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:var(--w-regular)}.achv .txt .a2{font-size:17px;font-weight:var(--w-medium);color:var(--fg-1);margin-top:4px}.achv .txt .a3{font-size:13px;color:var(--fg-3);font-weight:var(--w-light);margin-top:4px}.confetti{position:fixed;inset:0;z-index:240;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-20px;width:9px;height:9px;opacity:0}@media (max-width: 980px){.ch-meta{grid-template-columns:repeat(2,1fr)}.overview-grid{grid-template-columns:1fr;gap:40px}.ps-grid{grid-template-columns:1fr}.scenario{grid-template-columns:1fr;gap:36px;margin-top:5rem}.scenario.flip .sc-media{order:0}.gallery.g2,.gallery.g3{grid-template-columns:1fr}.results-grid{grid-template-columns:repeat(2,1fr)}.cs-stage{height:150vh}}@media (max-width: 560px){.ch-meta,.results-grid{grid-template-columns:1fr}.explorer{right:14px;bottom:14px;padding:8px 16px 8px 10px}.case-section{padding:5rem 0}}@media (prefers-reduced-motion: reduce){.hotspot .pulse{animation:none}.ch-title .lt{opacity:1;transform:none}}.draft-badge{display:inline-block;margin-left:10px;padding:3px 10px;border-radius:999px;border:1px dashed rgba(var(--accent-rgb),.55);color:var(--accent);font-size:11px;letter-spacing:.08em;text-transform:none;vertical-align:middle}.proc-grid{list-style:none;margin:3rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.proc{background:var(--surface-1);border:1px solid var(--line-1);border-radius:var(--r-xl);padding:28px}.proc-n{display:block;font-size:13px;letter-spacing:.14em;color:var(--accent);margin-bottom:18px}.proc h4{margin:0 0 10px;font-size:19px;font-weight:var(--w-regular);color:var(--fg-1)}.proc p{margin:0;font-size:15px;line-height:1.55;font-weight:var(--w-light);color:var(--fg-2)}.outcomes{list-style:none;margin:3rem 0 0;padding:0;display:grid;gap:16px;max-width:880px}.outcomes li{display:flex;gap:16px;font-size:18px;line-height:1.55;font-weight:var(--w-light);color:var(--fg-1);padding:22px 26px;border-radius:var(--r-xl);border:1px solid var(--accent-line);background:linear-gradient(145deg,rgba(var(--accent-rgb),.07),rgba(var(--accent-rgb),.01))}.outcomes .mk{flex:none;width:22px;height:22px;color:var(--accent);margin-top:2px}.outcomes .mk svg{width:100%;height:100%}@media (max-width: 768px){.proc{padding:22px}.outcomes li{font-size:16px;padding:18px}}.results-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.results-grid+.outcomes{margin-top:28px}.proto-link{display:inline-flex;align-items:center;gap:10px;margin-top:26px;padding:13px 22px;border-radius:999px;background:var(--accent);color:#fff;font-size:15px;font-weight:var(--w-medium);text-decoration:none;transition:transform .25s var(--ease-brand),box-shadow .25s;box-shadow:0 10px 30px -10px rgba(var(--accent-rgb),.7)}.proto-link:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(var(--accent-rgb),.85)}.proto-link span{font-size:13px;font-weight:var(--w-light);opacity:.8;padding-left:10px;border-left:1px solid rgba(255,255,255,.35)}@media (max-width: 560px){.proto-link span{display:none}}.scenario .media-clip{cursor:zoom-in}.scenario .media-clip:after{content:"";position:absolute;right:12px;top:12px;z-index:5;width:36px;height:36px;border-radius:50%;background:#0000009e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E") center/18px no-repeat;border:1px solid var(--line-white);backdrop-filter:blur(6px);opacity:0;transform:scale(.9);transition:opacity .2s,transform .2s;pointer-events:none}.scenario .media-clip:hover:after,.scenario .media-clip:focus-visible:after{opacity:1;transform:none}@media (hover: none){.scenario .media-clip:after{opacity:.85;transform:none}}html.lb-open{overflow:hidden}.lb{position:fixed;inset:0;z-index:1000;background:#040507f0;backdrop-filter:blur(10px);display:flex;flex-direction:column;animation:lbIn .2s ease}.lb[hidden]{display:none}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lb-top{display:flex;align-items:center;gap:12px;padding:14px 18px;flex:0 0 auto}.lb-cap{flex:1;min-width:0;font-size:14px;color:var(--fg-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-cnt{font-size:13px;color:var(--fg-3, #8a8f98);font-variant-numeric:tabular-nums}.lb-btn{height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--line-white);background:#ffffff0f;color:#fff;font:inherit;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s}.lb-btn:hover{background:#ffffff24}.lb-x{width:40px;padding:0}.lb-x svg{width:20px;height:20px}.lb-stage{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;padding:0 64px 24px;cursor:zoom-in}.lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;box-shadow:0 20px 80px #0009;user-select:none;-webkit-user-drag:none}.lb.zoomed .lb-stage{cursor:grab;place-items:start center}.lb.zoomed .lb-stage.drag{cursor:grabbing}.lb.zoomed .lb-stage img{max-width:none;max-height:none;border-radius:0}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--line-white);background:#0000008c;color:#fff;cursor:pointer;display:grid;place-items:center;z-index:2;transition:background .2s}.lb-nav:hover{background:#ffffff29}.lb-nav[hidden]{display:none}.lb-nav svg{width:22px;height:22px}.lb-prev{left:12px}.lb-next{right:12px}@media (max-width: 720px){.lb-stage{padding:0 8px 16px}.lb-nav{top:auto;bottom:18px;transform:none;width:44px;height:44px;background:#000000b3}.lb-prev{left:16px}.lb-next{right:16px}.lb-cap{font-size:13px}}@media (prefers-reduced-motion: reduce){.lb{animation:none}}@media (max-width: 640px){.ch-brand{font-size:clamp(2.5rem,10.4vw,4.2rem);gap:.08em .3em}.ch-brand .ch-logo-mark{height:.85em}}.ch-status{display:inline-flex;align-items:center;gap:9px;margin:22px 0 6px;padding:6px 14px;border-radius:999px;border:1px solid var(--line-2);font-size:13px;letter-spacing:.03em;color:var(--fg-2)}.ch-status i{width:8px;height:8px;border-radius:50%;background:var(--fg-4)}.ch-status.st-production i{background:#4ade80}.ch-status.st-prototype i{background:var(--accent)}.ch-status.st-concept i{background:transparent;border:1.5px solid var(--fg-3)}.ch-status.st-commission i{background:#60a5fa}.ch-status.st-company i{background:#c084fc}
