:root{--bg:#060807;--bg-2:#0b0f0d;--bg-3:#111714;--ink:#ece8df;--ink-2:#ece8df9e;--ink-3:#ece8df5c;--line:#ece8df1a;--sage:#b9cbb1;--sage-deep:#3f5a44;--ember:#e7a468;--serif:"Instrument Serif", "Times New Roman", serif;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--k:clamp(1px, min(calc(100vw / 1440), calc(100svh / 900)), 1.8px);--gutter:clamp(calc(16 * var(--k)), 3vw, calc(40 * var(--k)));--radius:clamp(calc(18 * var(--k)), 2.2vw, calc(32 * var(--k)));--ease:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;touch-action:pan-x pan-y}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:clip}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:calc(16 * var(--k));-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;overflow-x:clip}body.is-loading{overflow:clip}img,svg,canvas{max-width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0;font-weight:400}ul,ol{margin:0;padding:0;list-style:none}em{font-family:var(--serif);font-style:italic;font-weight:400}::selection{background:var(--sage);color:var(--bg)}.mono{font-family:var(--mono);font-size:calc(11 * var(--k));letter-spacing:.14em;text-transform:uppercase}.eyebrow{color:var(--ink-2);align-items:center;gap:calc(12 * var(--k));display:flex}.eyebrow span{color:var(--ink-3)}.eyebrow .idx{min-width:calc(34 * var(--k));height:calc(22 * var(--k));padding:0 calc(8 * var(--k));border:1px solid var(--line);border-radius:calc(99 * var(--k));color:var(--sage);place-items:center;display:inline-grid}.section-title{font-family:var(--sans);font-size:clamp(calc(44 * var(--k)), 7vw, calc(112 * var(--k)));letter-spacing:-.045em;font-weight:400;line-height:.95}.section-title em{letter-spacing:-.02em;color:var(--sage)}.btn{height:calc(48 * var(--k));padding:0 calc(24 * var(--k));border-radius:calc(99 * var(--k));font-size:calc(14 * var(--k));isolation:isolate;transition:color .5s var(--ease);will-change:transform;justify-content:center;align-items:center;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn span{z-index:1;position:relative}.btn:before{content:"";z-index:0;border-radius:inherit;transition:transform .55s var(--ease);position:absolute;inset:0;transform:translateY(101%)}.btn:hover:before{transform:translateY(0)}.btn--light{background:var(--ink);color:var(--bg)}.btn--light:before{background:var(--sage)}.btn--ghost{color:var(--ink);-webkit-backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);background:#0e121059;box-shadow:inset 0 0 0 1px #ece8df40}.btn--ghost:before{background:var(--ink)}.btn--ghost:hover{color:var(--bg)}.loader{z-index:100;background:var(--bg);color:var(--sage);place-items:center;display:grid;position:fixed;inset:0}.loader__logo{width:clamp(calc(90 * var(--k)), 12vw, calc(150 * var(--k)));visibility:hidden;overflow:visible}.skip-loader .loader>*,.no-loader .loader{display:none}.loader__meta{left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + calc(16 * var(--k)));color:var(--ink-2);justify-content:space-between;display:flex;position:absolute}.loader__count{font-variant-numeric:tabular-nums;color:var(--ink)}.loader__bar{left:var(--gutter);right:var(--gutter);bottom:var(--gutter);background:var(--line);height:1px;position:absolute}.loader__bar span{background:var(--sage);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.cursor{pointer-events:none;z-index:90;mix-blend-mode:difference;position:fixed;inset:0}.cursor__dot,.cursor__ring{will-change:transform;border-radius:50%;position:absolute;top:0;left:0}.cursor__dot{width:calc(6 * var(--k));height:calc(6 * var(--k));margin:calc(-3 * var(--k)) 0 0 calc(-3 * var(--k));background:#fff}.cursor__ring{width:calc(40 * var(--k));height:calc(40 * var(--k));margin:calc(-20 * var(--k)) 0 0 calc(-20 * var(--k));transition:width .45s var(--ease), height .45s var(--ease), margin .45s var(--ease), background .45s var(--ease), border-color .45s;border:1px solid #fff9;place-items:center;display:grid}.cursor__label{font-family:var(--mono);font-size:calc(10 * var(--k));letter-spacing:.14em;text-transform:uppercase;color:#000;opacity:0;transition:opacity .3s}.cursor.is-hover .cursor__ring{width:calc(64 * var(--k));height:calc(64 * var(--k));margin:calc(-32 * var(--k)) 0 0 calc(-32 * var(--k));background:#ffffff1f}.cursor.is-view{mix-blend-mode:normal}.cursor.is-view .cursor__ring{width:calc(96 * var(--k));height:calc(96 * var(--k));margin:calc(-48 * var(--k)) 0 0 calc(-48 * var(--k));background:color-mix(in srgb, color-mix(in srgb, var(--tint,var(--sage)) 45%, var(--sage)) 72%, transparent);-webkit-backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);border-color:#ece8df59}.cursor.is-view .cursor__label{opacity:1}.cursor.is-view .cursor__dot{opacity:0}@media (hover:none),(pointer:coarse){.cursor{display:none}}@media (hover:hover) and (pointer:fine){body.has-cursor,body.has-cursor a{cursor:none}}.leaves{z-index:40;pointer-events:none;width:100%;height:100lvh;position:fixed;top:0;left:0}.grain{z-index:80;pointer-events:none;opacity:.07;will-change:transform;background-image:url(/grain.webp);animation:1s steps(6,end) infinite grain;position:fixed;inset:-6vh -6vw}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-6vw,4vh)}40%{transform:translate(4vw,-6vh)}60%{transform:translate(-4vw,-2vh)}80%{transform:translate(6vw,6vh)}to{transform:translate(0)}}.nav{z-index:60;top:calc(var(--gutter) + 8 * var(--k));left:calc(var(--gutter) + 16 * var(--k));right:calc(var(--gutter) + 16 * var(--k));justify-content:space-between;align-items:center;gap:calc(16 * var(--k));transition:transform .6s var(--ease);display:flex;position:fixed}.nav.is-hidden{transform:translateY(-160%)}.nav__brand{align-items:center;gap:calc(10 * var(--k));letter-spacing:-.02em;font-weight:500;font-size:calc(17 * var(--k));display:flex}.nav__brand em{color:var(--ink-3);font-family:var(--sans);font-style:normal}.nav__logo{width:calc(26 * var(--k));height:calc(30 * var(--k));color:var(--sage);transition:transform .8s var(--ease)}.nav__brand:hover .nav__logo{transform:rotate(-18deg)scale(1.08)}.nav__pill{gap:calc(4 * var(--k));padding:calc(5 * var(--k));border-radius:calc(99 * var(--k));-webkit-backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);background:#0e121073;border:1px solid #ece8df14;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav__pill a{padding:calc(8 * var(--k)) calc(16 * var(--k));border-radius:calc(99 * var(--k));font-size:calc(13 * var(--k));color:var(--ink-2);transition:color .3s,background .3s}.nav__pill a:hover,.nav__pill a.is-active{color:var(--ink);background:#ece8df14}.nav__cta{height:calc(42 * var(--k));padding:0 calc(20 * var(--k));font-size:calc(13 * var(--k))}.hero{height:100svh;min-height:calc(640 * var(--k));padding:var(--gutter);position:relative}.hero__frame{border-radius:var(--radius);width:100%;height:100%;box-shadow:0 0 0 1px #ece8df14, 0 calc(40 * var(--k)) calc(120 * var(--k)) calc(-40 * var(--k)) #000c;will-change:transform;background:#070a09;position:relative;overflow:hidden;container-type:size}.hero__gl{width:100%;height:100%;position:absolute;inset:0}.hero__vignette{pointer-events:none;background:radial-gradient(120% 90% at 60% 40%,#0000 40%,#040605bf 100%),linear-gradient(#0406058c 0%,#0000 22%);position:absolute;inset:0}.hero__giant{left:0;right:0;top:max(11%, calc(120 * var(--k)));pointer-events:none;white-space:nowrap;justify-content:center;display:flex;position:absolute}.hero__giant-row{font-family:var(--serif);font-size:clamp(calc(80 * var(--k)), min(19.5vw, 31.2svh), calc(390 * var(--k)));letter-spacing:.02em;color:#ece8dfe6;will-change:transform;margin:-.25em -.6em -.06em;padding:.25em .6em .06em;line-height:.8;display:block;-webkit-mask-image:linear-gradient(#000000f2 0% 11.7%,#00000080 60.3%,#0000000f 100%);mask-image:linear-gradient(#000000f2 0% 11.7%,#00000080 60.3%,#0000000f 100%)}.hero__giant-row .char{will-change:transform;background:linear-gradient(#ece8df 0% 55%,#b9cbb1 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:-.12em -.1em 0;padding:.12em .1em .06em;display:inline-block}.hero__person{aspect-ratio:1446/911;will-change:transform;pointer-events:none;height:80%;position:absolute;bottom:0;left:max(100% - 127cqh,60% - 45cqh)}.hero__person img{object-fit:contain;object-position:right bottom;width:100%;height:100%;position:absolute;inset:0}.hero__me{-webkit-mask-image:linear-gradient(#000 70%,#0000 100%);mask-image:linear-gradient(#000 70%,#0000 100%)}.hero__person .hero__halo{opacity:.55;width:112.448%;height:119.758%;inset:-9.879% auto auto -6.224%;transform:scale(1.015)}.hero__fade{pointer-events:none;background:linear-gradient(#0000 0%,#0507068c 55%,#050706f5 100%);height:45%;position:absolute;bottom:0;left:0;right:0}.hero__top{top:calc(88 * var(--k));left:calc(32 * var(--k));right:calc(32 * var(--k));color:var(--ink-2);justify-content:space-between;display:flex;position:absolute}.hero__clock b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:400}.status{align-items:center;gap:calc(10 * var(--k));display:inline-flex}.status i{width:calc(7 * var(--k));height:calc(7 * var(--k));background:radial-gradient(circle closest-side,#7ee08a 0 88%,#7ee08a00 100%);position:relative}.status i:after{content:"";background:radial-gradient(circle closest-side,#7ee08a99 0 96%,#7ee08a00 100%);animation:2s infinite pulse;position:absolute;inset:0}@keyframes pulse{0%{opacity:1;transform:scale(1)}70%,to{opacity:0;transform:scale(3.8)}}.hero__content{left:clamp(calc(20 * var(--k)), 3.5vw, calc(56 * var(--k)));bottom:clamp(calc(24 * var(--k)), 5vw, calc(64 * var(--k)));max-width:calc(560 * var(--k));z-index:2;position:absolute}.hero__content .eyebrow{margin-bottom:calc(20 * var(--k))}.hero__title{font-size:clamp(calc(40 * var(--k)), 5.2vw, calc(84 * var(--k)));letter-spacing:-.045em;line-height:.98}.hero__title em{color:var(--sage);letter-spacing:-.02em}.hero__sub{margin-top:calc(20 * var(--k));color:var(--ink-2);font-size:clamp(calc(15 * var(--k)), 1.15vw, calc(17 * var(--k)));max-width:calc(420 * var(--k))}.hero__actions{margin-top:calc(32 * var(--k));gap:calc(10 * var(--k));flex-wrap:wrap;display:flex}.hero__scroll{right:clamp(calc(20 * var(--k)), 3.5vw, calc(56 * var(--k)));bottom:clamp(calc(24 * var(--k)), 5vw, calc(64 * var(--k)));align-items:center;gap:calc(12 * var(--k));color:var(--ink-2);z-index:2;display:flex;position:absolute}.hero__scroll i{width:1px;height:calc(56 * var(--k));background:var(--line);position:relative;overflow:hidden}.hero__scroll i:after{content:"";background:var(--ink);width:100%;height:40%;animation:drip 2s var(--ease) infinite;position:absolute;top:-40%;left:0}@keyframes drip{to{top:110%}}.split-line{margin-bottom:-.08em;padding-bottom:.08em;display:block;overflow:hidden}.split-line>span{will-change:transform;display:inline-block}.about{padding:clamp(calc(120 * var(--k)), 18vw, calc(260 * var(--k))) var(--gutter) clamp(calc(100 * var(--k)), 14vw, calc(200 * var(--k)));position:relative;overflow:hidden}.vine{top:calc(60 * var(--k));left:max(0px, calc(50% - calc(780 * var(--k))));width:clamp(calc(120 * var(--k)), 14vw, calc(220 * var(--k)));height:calc(100% - calc(60 * var(--k)));pointer-events:none;position:absolute;overflow:visible}.vine__stem{fill:none;stroke:var(--sage);stroke-width:1.4px;stroke-linecap:round;opacity:.7}.vine .leaf-shape{fill:#b9cbb112;stroke:var(--sage);stroke-width:1.1px;stroke-linejoin:round}.vine .leaf-rib{fill:none;stroke:var(--sage);stroke-width:.8px;opacity:.7}.about__inner{max-width:calc(1180 * var(--k));padding-left:clamp(0px, 8vw, calc(120 * var(--k)));margin:0 auto;position:relative}.manifesto{margin-top:calc(40 * var(--k));font-size:clamp(calc(30 * var(--k)), 4.3vw, calc(68 * var(--k)));letter-spacing:-.035em;line-height:1.08}.manifesto .word{opacity:.12;transition:none;display:inline-block}.manifesto em{color:var(--sage)}.about__grid{margin-top:clamp(calc(64 * var(--k)), 9vw, calc(120 * var(--k)));background:var(--line);border:1px solid var(--line);border-radius:calc(20 * var(--k));grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.about__card{background:var(--bg);padding:calc(28 * var(--k));min-height:calc(180 * var(--k));justify-content:flex-start;gap:calc(32 * var(--k));flex-direction:column;display:flex}.about__card span{color:var(--sage)}.about__card p{font-size:calc(20 * var(--k));letter-spacing:-.02em;line-height:1.3}.services{position:relative}.services__pin{align-items:center;gap:clamp(calc(40 * var(--k)), 5vw, calc(80 * var(--k)));height:100svh;padding:0 var(--gutter) 0 clamp(calc(20 * var(--k)), 6vw, calc(96 * var(--k)));display:flex;overflow:hidden}.services__head{width:min(34vw, calc(460 * var(--k)));z-index:2;flex:none;position:relative}.services__head:before{content:"";z-index:-1;pointer-events:none;top:-50vh;bottom:-50vh;left:-100vw;right:calc(-80 * var(--k));background:linear-gradient(90deg, var(--bg) calc(100% - calc(140 * var(--k))), transparent);position:absolute}.services__head .section-title{margin-top:calc(24 * var(--k))}.services__progress{margin-top:calc(48 * var(--k));background:var(--line);width:100%;height:1px}.services__progress span{background:var(--sage);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.services__track{gap:calc(20 * var(--k));will-change:transform;display:flex}.svc{width:clamp(calc(300 * var(--k)), 30vw, calc(440 * var(--k)));height:min(64vh, calc(560 * var(--k)));padding:calc(32 * var(--k));border-radius:calc(24 * var(--k));background:linear-gradient(160deg, #b9cbb112, #b9cbb103 60%), var(--bg-2);border:1px solid var(--line);flex-direction:column;flex:none;transition:border-color .5s;display:flex;position:relative;overflow:hidden}.svc:before{content:"";pointer-events:none;background:radial-gradient(calc(400 * var(--k)) circle at var(--mx,50%) var(--my,50%), #b9cbb124, transparent 60%);opacity:0;transition:opacity .4s;position:absolute;inset:0}.svc:hover{border-color:#b9cbb14d}.svc:hover:before{opacity:1}.svc__num{color:var(--ink-3)}.svc__icon{margin:calc(40 * var(--k)) 0 auto;width:calc(64 * var(--k));height:calc(64 * var(--k))}.svc__icon svg{fill:none;width:100%;height:100%;stroke:var(--sage);stroke-width:1.2px;stroke-linecap:round}.svc h3{font-size:clamp(calc(32 * var(--k)), 2.8vw, calc(44 * var(--k)));letter-spacing:-.04em;margin-bottom:calc(16 * var(--k));line-height:1}.svc p{color:var(--ink-2);font-size:calc(15 * var(--k))}.tags{gap:calc(6 * var(--k));margin-top:calc(24 * var(--k));flex-wrap:wrap;display:flex}.tags li{padding:calc(6 * var(--k)) calc(10 * var(--k));border:1px solid var(--line);border-radius:calc(99 * var(--k));font-size:calc(10 * var(--k));color:var(--ink-2)}.work{padding:clamp(calc(100 * var(--k)), 12vw, calc(180 * var(--k))) var(--gutter) 0}.work__head{max-width:calc(1400 * var(--k));margin:0 auto clamp(calc(48 * var(--k)), 6vw, calc(96 * var(--k)));justify-content:space-between;align-items:flex-end;gap:calc(24 * var(--k));flex-wrap:wrap;display:flex}.work__head .eyebrow{order:2}.work__stack{max-width:calc(1400 * var(--k));margin:0 auto}.project{top:calc(var(--gutter) + calc(72 * var(--k)));height:calc(100svh - var(--gutter) * 2 - calc(96 * var(--k)));min-height:calc(480 * var(--k));margin-bottom:8vh;position:sticky}.project:last-child{margin-bottom:0}.project{pointer-events:none}.project__card{pointer-events:auto;gap:calc(24 * var(--k));height:100%;padding:clamp(calc(20 * var(--k)), 3vw, calc(40 * var(--k)));border-radius:var(--radius);background:radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--c2) 22%, transparent), transparent 60%), linear-gradient(180deg, var(--c1), #070908);transform-origin:50% 0;will-change:transform;border:1px solid #ece8df17;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);display:grid;position:relative;overflow:hidden}.project__shade{z-index:5;opacity:0;pointer-events:none;border-radius:inherit;background:#050706;position:absolute;inset:0}.project__info{justify-content:flex-end;gap:calc(16 * var(--k));flex-direction:column;display:flex;container-type:inline-size}.project__info>.mono{color:var(--c2);margin-bottom:auto}.project__info h3{font-size:min(clamp(calc(52 * var(--k)), 7vw, calc(120 * var(--k))), 13cqi);letter-spacing:.01em;font-kerning:none;line-height:.9}.project__info h3.t-nebesno{font-family:Inter, var(--sans);letter-spacing:-.03em;font-kerning:normal;font-weight:700}.project__info h3.t-kirovdent{font-family:Sora, var(--sans);letter-spacing:0;font-kerning:normal;font-weight:700}.project__info h3.t-infraconcept{font-family:"Plus Jakarta Sans", var(--sans);letter-spacing:-.01em;font-kerning:normal;font-weight:700}.project__wordmark{fill:currentColor;width:auto;height:.935258em;display:block}.project__info p{color:var(--ink-2);max-width:calc(360 * var(--k))}.project__visual{justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;position:relative;container-type:size}.mock{--bar:calc(34 * var(--k));width:min(100%, (100cqh - var(--bar)) * 1.6);border-radius:calc(14 * var(--k));box-shadow:0 calc(30 * var(--k)) calc(80 * var(--k)) calc(-30 * var(--k)) #000c, 0 0 0 1px #0000004d;will-change:transform;background:#0a0c0b;border:1px solid #ece8df1a;position:relative;overflow:hidden}.mock__bar{align-items:center;gap:calc(6 * var(--k));height:var(--bar);padding:0 calc(14 * var(--k));border-bottom:1px solid #ece8df0f;display:flex}.mock__bar i{width:calc(9 * var(--k));height:calc(9 * var(--k));background:#ece8df26;border-radius:50%}.mock__body{aspect-ratio:16/10;position:relative;overflow:hidden}.mock__body img{transform-origin:50% 0;width:100%;height:auto;transition:transform 1.4s var(--ease), filter .8s;filter:saturate(.9)brightness(.92);display:block;transform:scale(1.02)}.project__card:hover .mock__body img{filter:none;transform:scale(1.06)}.mock__url{margin-left:calc(14 * var(--k));padding:calc(3 * var(--k)) calc(12 * var(--k));border-radius:calc(99 * var(--k));color:var(--ink-2);font-size:calc(10 * var(--k));letter-spacing:.08em;text-transform:none;background:#ece8df0f}.project__link{align-items:center;gap:calc(8 * var(--k));margin-top:calc(8 * var(--k));color:var(--c2);text-transform:none;letter-spacing:.04em;font-size:calc(13 * var(--k));display:inline-flex}.project__link i{transition:transform .5s var(--ease);font-style:normal}.project__card:hover .project__link i{transform:translate(calc(3 * var(--k)), calc(-3 * var(--k)))}.design{padding:clamp(calc(100 * var(--k)), 12vw, calc(180 * var(--k))) var(--gutter) 0}.design__head{max-width:calc(1400 * var(--k));margin:0 auto clamp(calc(40 * var(--k)), 5vw, calc(72 * var(--k)));align-items:end;gap:calc(24 * var(--k));grid-template-columns:1fr auto;display:grid}.design__head .eyebrow{grid-area:1/2}.design__head .section-title{grid-area:1/1}.design__lede{max-width:calc(440 * var(--k));color:var(--ink-2);grid-column:1/-1}.design__grid{max-width:calc(1400 * var(--k));gap:calc(16 * var(--k));grid-template-columns:repeat(5,minmax(0,1fr));margin:0 auto;display:grid}.design__more{margin-top:clamp(calc(40 * var(--k)), 5vw, calc(64 * var(--k)));justify-content:center;display:flex}.dcat{gap:calc(12 * var(--k));padding:calc(18 * var(--k));border-radius:var(--radius);background:radial-gradient(120% 80% at 50% 0%, color-mix(in srgb, var(--c2) 16%, transparent), transparent 70%), var(--bg-2);transition:border-color .5s var(--ease);border:1px solid #ece8df14;flex-direction:column;display:flex;position:relative;overflow:hidden}.dcat:hover{border-color:color-mix(in srgb, var(--c2) 40%, transparent)}.dcat__fan{aspect-ratio:1;position:relative}.dcat__fan img{aspect-ratio:3/4;object-fit:cover;border-radius:calc(10 * var(--k));background:var(--bg-3);width:50%;box-shadow:0 calc(18 * var(--k)) calc(40 * var(--k)) calc(-12 * var(--k)) #000c, 0 0 0 1px #ece8df14;transform:translate(-50%, -50%) translateX(var(--x,0%)) translateY(var(--y,0%)) rotate(var(--r,0deg));transition:transform .8s var(--ease);position:absolute;top:50%;left:50%}.dcat__fan img:first-child{--x:-30%;--y:4%;--r:-10deg}.dcat__fan img:nth-child(2){--y:-3%;z-index:1}.dcat__fan img:nth-child(3){--x:30%;--y:4%;--r:10deg}.dcat:hover .dcat__fan img:first-child{--x:-48%;--y:6%;--r:-16deg}.dcat:hover .dcat__fan img:nth-child(2){--y:-8%}.dcat:hover .dcat__fan img:nth-child(3){--x:48%;--y:6%;--r:16deg}.dcat--logos .dcat__fan img{object-fit:contain;background:#fff;padding:8%}.dcat__meta{justify-content:space-between;align-items:baseline;gap:calc(8 * var(--k));flex-wrap:wrap;display:flex}.dcat__meta h3{font-size:clamp(calc(20 * var(--k)), 1.9vw, calc(28 * var(--k)));letter-spacing:-.03em;line-height:1.1}.dcat__meta .mono{color:var(--c2);font-size:calc(10 * var(--k))}@media (width<=1180px){.design__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.dcat{grid-column:span 2}.dcat:nth-child(-n+2){grid-column:span 3}.dcat:nth-child(-n+2) .dcat__fan{aspect-ratio:16/10}.dcat:nth-child(-n+2) .dcat__fan img{width:34%}.dcat:nth-child(-n+2) .dcat__fan img:first-child{--x:-58%}.dcat:nth-child(-n+2) .dcat__fan img:nth-child(3){--x:58%}.dcat:nth-child(-n+2):hover .dcat__fan img:first-child{--x:-80%}.dcat:nth-child(-n+2):hover .dcat__fan img:nth-child(3){--x:80%}}@media (width<=640px){.design__head{grid-template-columns:1fr}.design__head .eyebrow{grid-area:auto/1}.design__head .section-title{grid-row:auto}.design__grid{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter);scroll-padding:0 var(--gutter);grid-template-columns:none;grid-auto-columns:72%;grid-auto-flow:column;overflow-x:auto}.design__grid::-webkit-scrollbar{display:none}.dcat,.dcat:nth-child(-n+2){scroll-snap-align:start;grid-column:auto}.dcat:nth-child(-n+2) .dcat__fan{aspect-ratio:1}.dcat:nth-child(-n+2) .dcat__fan img{width:50%}.dcat:nth-child(-n+2) .dcat__fan img:first-child{--x:-30%}.dcat:nth-child(-n+2) .dcat__fan img:nth-child(3){--x:30%}}.marquee{padding:clamp(calc(100 * var(--k)), 14vw, calc(200 * var(--k))) 0;overflow:hidden}.marquee__row{white-space:nowrap;display:flex}.marquee__inner{align-items:center;gap:clamp(calc(24 * var(--k)), 3vw, calc(48 * var(--k)));padding-right:clamp(calc(24 * var(--k)), 3vw, calc(48 * var(--k)));will-change:transform;flex-shrink:0;display:flex}.marquee__inner span{font-size:clamp(calc(56 * var(--k)), 9vw, calc(150 * var(--k)));letter-spacing:-.05em;line-height:1.1}.marquee__inner svg{width:clamp(calc(36 * var(--k)), 4vw, calc(64 * var(--k)));height:clamp(calc(42 * var(--k)), 5vw, calc(76 * var(--k)));color:var(--sage);flex-shrink:0}.marquee__row--outline span{font-family:var(--serif);color:#0000;-webkit-text-stroke:1px #ece8df73;letter-spacing:-.02em;font-style:italic}.marquee__row--outline svg{color:var(--ember)}.process{max-width:calc(1400 * var(--k));padding:0 var(--gutter) clamp(calc(120 * var(--k)), 14vw, calc(200 * var(--k)));gap:clamp(calc(40 * var(--k)), 6vw, calc(120 * var(--k)));grid-template-columns:1fr 1.2fr;margin:0 auto;display:grid}.process__side{top:calc(140 * var(--k));align-self:start;position:sticky}.process__side .section-title{margin-top:calc(24 * var(--k))}.process__logo{margin-top:calc(56 * var(--k));width:clamp(calc(80 * var(--k)), 9vw, calc(130 * var(--k)));color:var(--sage);opacity:.9}.process__logo svg{aspect-ratio:436/540;width:100%;height:auto}.step{grid-template-columns:calc(60 * var(--k)) 1fr;gap:calc(24 * var(--k));padding:calc(48 * var(--k)) 0;display:grid;position:relative}.step__line{background:var(--line);height:1px;position:absolute;top:0;left:0;right:0}.step__line:after{content:"";background:var(--sage);transform:scaleX(var(--p,0));transform-origin:0;position:absolute;inset:0}.step__num{color:var(--sage);padding-top:calc(12 * var(--k))}.step h3{font-size:clamp(calc(32 * var(--k)), 3.4vw, calc(52 * var(--k)));letter-spacing:-.04em;margin-bottom:calc(16 * var(--k));line-height:1}.step p{color:var(--ink-2);max-width:calc(460 * var(--k));font-size:calc(17 * var(--k))}.experience{max-width:calc(1400 * var(--k));padding:clamp(calc(40 * var(--k)), 6vw, calc(80 * var(--k))) var(--gutter) clamp(calc(40 * var(--k)), 5vw, calc(72 * var(--k)));margin:0 auto}.experience__head{justify-content:space-between;align-items:flex-end;gap:calc(24 * var(--k));margin-bottom:clamp(calc(40 * var(--k)), 5vw, calc(72 * var(--k)));flex-wrap:wrap;display:flex}.experience__head .section-title{margin-top:calc(24 * var(--k))}.xp{grid-template-columns:calc(170 * var(--k)) 1.3fr 1.2fr calc(90 * var(--k));align-items:center;gap:calc(24 * var(--k));padding:calc(28 * var(--k)) 0;border-top:1px solid var(--line);transition:padding .6s var(--ease);display:grid;position:relative}.experience__list .xp:last-child{border-bottom:1px solid var(--line)}.xp:before{content:"";z-index:-1;transform-origin:bottom;transition:transform .6s var(--ease);background:linear-gradient(90deg,#b9cbb114,#0000 70%);position:absolute;inset:0;transform:scaleY(0)}.xp:hover:before{transform:scaleY(1)}.xp:hover{padding-left:calc(16 * var(--k))}.xp__year{color:var(--sage)}.xp__main h3{font-size:clamp(calc(22 * var(--k)), 2.2vw, calc(32 * var(--k)));letter-spacing:-.03em;line-height:1.1}.xp__main p{color:var(--ink-2);margin-top:calc(4 * var(--k));font-size:calc(15 * var(--k))}.xp__tags{margin-top:0}.xp__kind{color:var(--ink-3);text-align:right}.xp[data-kind=edu] .xp__year{color:var(--ember)}.contact{min-height:100svh;padding:clamp(calc(100 * var(--k)), 12vw, calc(160 * var(--k))) var(--gutter);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.contact__glow{pointer-events:none;background:radial-gradient(circle,#b9cbb124,#e7a4680d 30%,#0000 60%);width:90vmax;height:90vmax;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.contact__title{margin:calc(32 * var(--k)) 0 calc(56 * var(--k));font-size:clamp(calc(56 * var(--k)), 11vw, calc(200 * var(--k)));letter-spacing:-.055em;line-height:.9}.contact__title .line{margin-bottom:-.18em;padding-bottom:.24em;display:block;overflow:hidden}.contact__title .line>span{margin-bottom:-.24em;padding-bottom:.24em;display:inline-block}.contact__title em{color:var(--sage);letter-spacing:-.03em}.contact__mail{align-items:center;gap:calc(18 * var(--k));padding:calc(10 * var(--k)) calc(32 * var(--k)) calc(10 * var(--k)) calc(10 * var(--k));border-radius:calc(99 * var(--k));z-index:41;-webkit-backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);backdrop-filter:blur(calc(18 * var(--k))) saturate(1.4);font-size:clamp(calc(18 * var(--k)), 2vw, calc(28 * var(--k)));letter-spacing:-.03em;background:#0e121073;border:1px solid #ece8df2e;transition:border-color .4s,background .4s;display:inline-flex;position:relative}.contact__mail:hover{border-color:var(--sage);background:#b9cbb114}.contact__mail-circle{width:clamp(calc(52 * var(--k)), 5vw, calc(72 * var(--k)));aspect-ratio:1;background:var(--sage);color:var(--bg);transition:transform .8s var(--ease);border-radius:50%;place-items:center;display:grid;overflow:hidden}.contact__mail-circle svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:50%;height:50%;transition:transform .38s var(--ease);grid-area:1/1}.contact__mail-circle .send{transform:translate(-170%,170%)}.contact__mail:hover .env{transition-duration:.23s;transition-timing-function:cubic-bezier(.55,0,.9,.45);transform:translate(170%,-170%)}.contact__mail:hover .send{transition-delay:70ms;transform:none}.contact__meta{margin-top:calc(28 * var(--k));justify-content:center;gap:calc(12 * var(--k)) calc(28 * var(--k));color:var(--ink-2);flex-wrap:wrap;display:flex}.contact__meta a:hover{color:var(--ink)}.footer{padding:0 var(--gutter);position:relative;overflow:hidden}.footer__row{align-items:center;gap:calc(24 * var(--k));padding:calc(28 * var(--k)) 0;border-top:1px solid var(--line);color:var(--ink-2);grid-template-columns:1fr auto 1fr;display:grid}.footer__top{justify-self:end}.footer__links{gap:calc(28 * var(--k));display:flex}.footer__links a:hover,.footer__top:hover{color:var(--ink)}.footer__giant{clip-path:inset(-50% -50% 0);text-align:center;pointer-events:none;line-height:.74}.footer__giant span{font-family:var(--serif);letter-spacing:.02em;background:linear-gradient(180deg, var(--sage) 12%, #b9cbb10d 88%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:-.2em -.1em -.04em;padding:.2em .1em .04em;font-size:21.5vw;display:inline-block}@media (width<=900px),(aspect-ratio<=6/5){.hero{min-height:calc(600 * var(--k));--hero-top:calc(74 * var(--k));--name:min(23.5vw, 22svh)}.hero__top{top:var(--hero-top);left:calc(20 * var(--k));right:calc(20 * var(--k));font-size:calc(10.5 * var(--k))}.hero__giant{top:calc(var(--hero-top) + calc(30 * var(--k)))}.hero__giant-row{font-size:var(--name)}.hero__person{--pw:min(150%, 90svh);top:calc(var(--hero-top) + calc(30 * var(--k)) + var(--name) * .42);bottom:auto;right:auto;left:max(calc(47% - var(--pw) * .38), calc(101% - var(--pw)));width:var(--pw);max-width:none;height:auto}.hero__me{-webkit-mask-image:linear-gradient(#000 55%,#0000 92%);mask-image:linear-gradient(#000 55%,#0000 92%)}.hero__content{left:calc(20 * var(--k));right:calc(20 * var(--k));bottom:calc(24 * var(--k));max-width:none}.hero__content .eyebrow{margin-bottom:calc(14 * var(--k));align-items:flex-start;gap:calc(3 * var(--k));flex-direction:column}.hero__content .eyebrow span{font-size:0}.hero__sub{margin-top:calc(14 * var(--k));max-width:34ch}.hero__actions{margin-top:calc(24 * var(--k))}.hero__scroll{display:none}.hero__fade{background:linear-gradient(#0000 0%,#05070680 25%,#050706f0 52%,#050706 100%);height:62%}}@media (width>=901px) and (aspect-ratio<=6/5){.hero{--hero-top:calc(88 * var(--k));--name:min(23.5vw, 20svh)}.hero__person{--pw:min(150%, 80svh)}}@media (width<=440px){.hero__clock{display:none}}@media (width<=560px){.hero__actions{grid-template-columns:1.15fr 1fr;display:grid}.hero__actions .btn{width:100%;padding:0 calc(12 * var(--k));white-space:nowrap}}@media (width<=900px){.nav__pill{display:none}.grain{opacity:.055}.vine{left:calc(-30 * var(--k));opacity:.6}.about__inner{padding-left:calc(24 * var(--k))}.about__grid{grid-template-columns:1fr}.services__pin{height:auto;padding:calc(100 * var(--k)) var(--gutter);flex-direction:column;align-items:stretch}.services__head{width:100%}.services__head:before,.services__progress{display:none}.services__track{flex-direction:column}.svc{width:100%;height:auto;min-height:calc(380 * var(--k))}.project{height:auto;min-height:0;position:relative;top:auto}.project.is-stuck{top:calc(88 * var(--k));position:sticky}.project .project__card,.project__card .mock,.btn,.hero__giant-row,.hero__giant-row .char,.hero__person,.split-line>span,.services__track,.marquee__inner{will-change:auto}.hero .hero__frame{will-change:transform, scale}.contact__mail{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0e1210bf}.project__card{min-height:calc(560 * var(--k));grid-template-columns:1fr}.project__visual{order:-1;container-type:normal}.mock{width:100%}.process{grid-template-columns:1fr}.process__side{position:static}.process__logo{display:none}.step{grid-template-columns:calc(40 * var(--k)) 1fr;gap:calc(16 * var(--k));padding:calc(36 * var(--k)) 0}.footer__row{flex-direction:column;align-items:flex-start;display:flex}.xp{gap:calc(10 * var(--k));padding:calc(24 * var(--k)) 0;grid-template-columns:1fr}.xp:hover{padding-left:0}.xp__kind{display:none}.contact__mail{padding-right:calc(20 * var(--k));font-size:calc(16 * var(--k))}.contact{min-height:0;padding-top:calc(72 * var(--k))}}@media (width<=520px){.hero__title{font-size:calc(40 * var(--k))}.hero__sub{font-size:calc(15 * var(--k))}.btn{height:calc(44 * var(--k));padding:0 calc(18 * var(--k));font-size:calc(13 * var(--k))}}@media (width<=900px) and (height<=740px){.hero__content .eyebrow{display:none}.hero__title{font-size:calc(36 * var(--k))}.hero__sub{font-size:calc(14 * var(--k));margin-top:calc(12 * var(--k))}.hero__actions{margin-top:calc(20 * var(--k))}}@supports (animation-timeline:scroll()){.css-hero-scroll .hero__frame,.css-hero-scroll .hero__giant,.css-hero-scroll .hero__person,.css-hero-scroll .hero__content{animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 max(100svh, calc(600 * var(--k)))}.css-hero-scroll .hero__frame{animation-name:hero-frame-out}.css-hero-scroll .hero__giant{animation-name:hero-giant-out}.css-hero-scroll .hero__person{animation-name:hero-person-out}.css-hero-scroll .hero__content{animation-name:hero-content-out}}@keyframes hero-frame-out{to{scale:.9}}@keyframes hero-giant-out{to{translate:0 70%}}@keyframes hero-person-out{to{translate:0 12%}}@keyframes hero-content-out{to{translate:0 calc(-120 * var(--k));opacity:0}}@media (prefers-reduced-motion:reduce){.grain,.status i:after,.hero__scroll i:after,.mock__orb{animation:none}.manifesto .word{opacity:1!important}}
