@charset "UTF-8";@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}:root{--font-scale: 1;--ink: #070504;--ink-soft: #0d0907;--panel: #13100e;--paper: #f3efe8;--muted: #aaa199;--dim: #746c66;--orange: #ff6427;--orange-light: #ff9a62;--orange-dark: #7d2a0b;--line: rgba(255, 239, 226, .12);--line-strong: rgba(255, 239, 226, .22);--page: min(91vw, 1480px);--display-heading-size: calc(clamp(42px, 5.2vw, 88px) * var(--font-scale));--text-micro: calc(9px * var(--font-scale));--text-small: calc(12px * var(--font-scale));--text-body: calc(14px * var(--font-scale));--text-lead: calc(16px * var(--font-scale));color-scheme:dark;font-synthesis:none}@media(min-width:1441px){:root{--font-scale: 1.1}}@media(min-width:1920px){:root{--font-scale: 1.2}}@supports (font-size: calc(1px*100vw/1px)){:root{--font-scale: clamp(1, calc(1 + (100vw - 1440px)/2400px) , 1.2)}}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:auto}body{margin:0;overflow-x:hidden;color:var(--paper);background:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:var(--text-lead);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,a,button{cursor:none}a{color:inherit;text-decoration:none}button{padding:0;color:inherit;border:0;background:none;font:inherit}img,video{display:block;max-width:100%}::selection{color:#160903;background:var(--orange-light)}.app{position:relative;isolation:isolate;min-height:100vh;overflow:clip;background:var(--ink)}.ambient,.site-header,.hero__content,.hero__role-strip,.hero__flare,.contact-dock,.cursor-system{filter:hue-rotate(0deg) saturate(1) brightness(1);transition:filter 1.6s cubic-bezier(.65,0,.35,1)}.app--intro-theme .ambient,.app--intro-theme .site-header,.app--intro-theme .hero__content,.app--intro-theme .hero__role-strip,.app--intro-theme .hero__flare,.app--intro-theme .contact-dock,.app--intro-theme .cursor-system,.app--intro-theme .site-loader{filter:hue-rotate(-20deg) saturate(1.08) brightness(.76)}.section-shell{position:relative;width:var(--page);margin:0 auto}.eyebrow{margin:0;color:var(--orange-light);font:var(--text-small)/1.3 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase}.section-number{display:inline-grid;width:38px;height:38px;margin-bottom:24px;place-items:center;color:var(--orange-light);border:1px solid rgba(255,100,39,.36);border-radius:50%;font:var(--text-micro)/1 "IBM Plex Mono",monospace}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient__grid{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(rgba(255,202,176,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,202,176,.045) 1px,transparent 1px);background-size:76px 76px;-webkit-mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.65) 55%,transparent 88%);mask-image:linear-gradient(to bottom,black 0%,rgba(0,0,0,.65) 55%,transparent 88%)}.ambient__glow{position:absolute;inset:0;background:radial-gradient(circle at 13% 82%,transparent 0 17vw,rgba(255,100,39,.085) 17.08vw 17.18vw,transparent 17.28vw),linear-gradient(146deg,transparent 0 13%,rgba(255,100,39,.035) 13.1% 22%,transparent 22.1%),linear-gradient(116deg,transparent 0 68%,rgba(255,100,39,.055) 68.1%,transparent 82%),linear-gradient(90deg,transparent 0 72%,rgba(116,34,9,.085) 100%)}.ambient__glow:before{content:"";position:absolute;top:-20vw;right:-18vw;width:72vw;aspect-ratio:1;border:1px solid rgba(255,100,39,.13);border-radius:50%;box-shadow:0 0 0 7vw #ff642706,0 0 0 14vw #ff642704}.ambient__glow:after{content:"";position:absolute;top:-12%;right:18%;width:1px;height:124%;background:linear-gradient(to bottom,transparent,rgba(255,100,39,.19) 38%,rgba(255,100,39,.045) 70%,transparent);transform:rotate(28deg);transform-origin:center}.ambient__grain{position:absolute;inset:0;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px}.site-loader{position:fixed;inset:0;z-index:100;display:grid;place-content:center;gap:18px;background:#050302;transition:transform .9s cubic-bezier(.76,0,.24,1) .2s,visibility 0s linear 1.1s}.site-loader div{display:flex;align-items:center;gap:15px;font:700 23px/1.5 Arial,sans-serif}.site-loader i{position:relative;width:110px;height:1px;overflow:hidden;background:var(--line)}.site-loader i:after{content:"";position:absolute;inset:0;background:var(--orange);animation:load 1.2s ease-in-out infinite alternate}.site-loader p{margin:0;color:var(--muted);font:400 14px/1.5 Arial,sans-serif}.site-loader>p:not(.site-loader__status){font:10px/1.4 Courier New,monospace;letter-spacing:.15em;text-transform:uppercase}.site-loader .site-loader__status{display:flex;min-height:18px;align-items:center;gap:9px}.site-loader__spinner{width:14px;height:14px;border:2px solid var(--line-strong);border-top-color:var(--orange);border-radius:50%;animation:loader-spin .8s linear infinite}@keyframes loader-spin{to{transform:rotate(360deg)}}.app--loaded .site-loader{visibility:hidden;transform:translateY(-100%)}@keyframes load{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}.site-header{position:fixed;top:20px;left:50%;z-index:50;display:grid;width:min(94vw,1510px);min-height:66px;padding:0 13px 0 10px;grid-template-columns:1fr auto 1fr;align-items:center;border:1px solid rgba(255,239,226,.1);border-radius:18px;background:#080504bd;box-shadow:0 14px 45px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%)}.site-mark{display:flex;align-items:center;gap:12px;justify-self:start;text-align:left}.site-mark>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#140905;background:var(--orange);font-size:var(--text-small);font-weight:800}.site-mark__name{font-size:var(--text-micro);font-weight:700;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}.site-header nav{display:flex;gap:8px;padding:5px;border-radius:12px;background:#ffffff06}.site-header nav button{padding:10px 14px;border-radius:9px;color:#9d958f;font-size:var(--text-small);font-weight:600;letter-spacing:.04em;transition:color .25s ease,background .25s ease}.site-header nav button:hover,.site-header nav button.is-active{color:var(--paper);background:#ff64271c}.nav-work-link{display:flex;align-items:center;gap:12px;justify-self:end;padding:11px 15px;border:1px solid rgba(255,100,39,.32);border-radius:10px;color:#ded7d1;font-size:var(--text-small);font-weight:700;text-transform:uppercase;transition:background .25s ease,border-color .25s ease}.nav-work-link:hover{border-color:var(--orange);background:#ff64271f}.nav-work-link span{color:var(--orange-light)}.hero{min-height:100svh;padding-top:max(17svh,124px)}.hero__flare{position:absolute;top:6svh;right:8%;width:min(50vw,750px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,100,39,.045);background:transparent}.hero__content{position:relative;z-index:8;width:min(64vw,960px)}.hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:35px}.status-pulse{position:relative;width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px #ff64271c}.status-pulse:after{content:"";position:absolute;inset:-6px;border:1px solid rgba(255,100,39,.42);border-radius:50%;animation:pulse 2.1s ease-out infinite}@keyframes pulse{0%{opacity:.8;transform:scale(.65)}to{opacity:0;transform:scale(1.55)}}.hero__title{margin:0;max-width:12ch;font-size:calc(clamp(56px,6.9vw,116px) * var(--font-scale));font-weight:600;line-height:.86;letter-spacing:-.08em}.hero__title>span{display:block}.hero__title .hero__title-intro,.hero__title .hero__title-name{font-size:.76em;line-height:1}.hero__title>.hero__title-intro,.hero__title>.hero__title-name{display:inline-block}.hero__title .hero__title-name{margin-left:.2em;color:var(--orange)}.hero__title .hero__title-role{color:#cbc3bb;font-size:.58em;line-height:1.08;letter-spacing:-.055em}.hero__title .hero__title-experience{margin-top:.35em;font-size:.27em;line-height:1.35;letter-spacing:-.025em}.hero__title-role .reveal-word:last-child{margin-left:.08em}.reveal-word{display:inline-flex;overflow:hidden;vertical-align:bottom}.reveal-word__inner{display:inline-block;transform-origin:left bottom}.hero__lead{width:min(51ch,60%);margin:38px 0 0 9vw;color:#b7afa8;font-size:var(--text-lead);line-height:1.7}.hero__lead strong{color:var(--paper);font-weight:600}.magnetic-button{display:inline-flex;min-width:210px;height:56px;padding:0 20px;align-items:center;justify-content:space-between;gap:22px;border:1px solid rgba(255,100,39,.5);border-radius:14px;background:linear-gradient(135deg,#ff642733,#5717041a);font-size:var(--text-small);font-weight:700;letter-spacing:.07em;text-transform:uppercase;transition:background .3s ease,border-color .3s ease}.magnetic-button:hover{border-color:var(--orange-light);background:#ff642740}.magnetic-button svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.3}.hero__quiet-link{color:#918983;border-bottom:1px solid var(--line);font-size:var(--text-small);padding-bottom:4px}.hero__quiet-link span{margin-left:9px;color:var(--orange-light)}.hero__role-strip{position:relative;margin:30px 0 0 9vw;z-index:8;display:grid;width:min(54vw,820px);grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.hero__role-strip>div{position:relative;display:grid;padding:12px 16px 7px 0;grid-template-columns:30px 1fr;gap:2px 10px}.hero__role-strip>div:not(:last-child):after{content:"";position:absolute;top:11px;right:16px;bottom:7px;width:1px;background:var(--line)}.hero__role-strip span{grid-row:1/3;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace}.hero__role-strip strong{font-size:var(--text-small);font-weight:600}.hero__role-strip small{color:var(--dim);font-size:var(--text-small);line-height:1.35}.contact-dock{position:fixed;top:0;left:0;z-index:55;overflow:hidden;border:1px solid rgba(255,239,226,.16);border-radius:16px;background:#090605f0;box-shadow:0 18px 55px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);will-change:transform,width,height}.contact-dock[data-compact=false]{border-color:#ffefe229;box-shadow:0 18px 55px #00000057}.contact-dock[data-compact=false]:before{content:"";position:absolute;inset:0;z-index:2;padding:1px;border-radius:inherit;opacity:0;pointer-events:none;background:conic-gradient(from var(--contact-angle),transparent 0deg 292deg,rgba(255,112,48,.16) 316deg,#ff7d3d 340deg,#ffe0cd 351deg,#ff8a50 357deg,transparent 360deg);filter:drop-shadow(0 0 5px rgba(255,105,43,.72));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:contact-border-sweep 5.5s linear infinite}.contact-dock[data-compact=true]{border-color:#ff642757;border-radius:10px;background:#110804f5}.contact-dock__expanded,.contact-dock__top{position:absolute;inset:0}.contact-dock__expanded>p{display:flex;height:25px;margin:0;padding:0 14px;align-items:center;color:var(--orange-light);border-bottom:1px solid var(--line);font:var(--text-small)/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.contact-dock__expanded>a{display:flex;height:33px;padding:0 14px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);transition:color .25s ease,background .25s ease}.contact-dock__expanded>a:last-child{border-bottom:0}.contact-dock__expanded>a:hover{color:#fff;background:#ff642712}.contact-dock__expanded>a span{font-size:var(--text-small);font-weight:700}.contact-dock__expanded>a i{color:var(--orange-light);font-size:var(--text-small);font-style:normal}.contact-dock__top{display:flex;padding:0 13px;align-items:center;justify-content:space-between;opacity:0;color:#ded7d1;font-size:var(--text-micro);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.contact-dock__top i{color:var(--orange-light);font-size:var(--text-body);font-style:normal}.contact-dock[data-compact=false] .contact-dock__top,.contact-dock[data-compact=true] .contact-dock__expanded{pointer-events:none}@property --contact-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes contact-border-sweep{0%,14%{--contact-angle: 0deg;opacity:0}18%{opacity:1}76%{--contact-angle: 360deg;opacity:1}82%,to{--contact-angle: 360deg;opacity:0}}.character-stage{--character-mouse-x: 0;--character-mouse-y: 0;position:fixed;right:3vw;bottom:-2vh;z-index:6;width:clamp(340px,38vw,610px);height:min(88svh,900px);pointer-events:none;will-change:transform,opacity}.character-media-shell{position:absolute;inset:0;transform-origin:50% 100%;will-change:transform}.character-media{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 100%}.character-media video,.character-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:translate3d(calc(var(--character-mouse-x) * 1px),calc(var(--character-mouse-y) * 1px),0);filter:saturate(1.02) contrast(1.02)}.character-media__standby{opacity:0}.character-media video{mix-blend-mode:lighten}.character-media img{mix-blend-mode:normal}.character-media__grade{display:none}.character-glow{position:absolute;top:18%;left:8%;width:84%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,91,27,.12) 0 24%,rgba(117,30,4,.045) 47%,transparent 68%)}.character-orbit{position:absolute;top:22%;left:17%;width:67%;aspect-ratio:1;border:1px solid rgba(255,118,58,.12);border-radius:50%}.character-orbit--two{top:17%;left:12%;width:77%;border-style:dashed;animation:orbit 34s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}.expertise{padding:18svh 0}.section-heading{display:grid;margin-bottom:10svh;grid-template-columns:.6fr 1.4fr .7fr;gap:clamp(35px,7vw,110px);align-items:end}.section-heading>div{align-self:start}.section-heading h2,.career__intro h2{margin:0;font-size:var(--display-heading-size);font-weight:500;line-height:.96;letter-spacing:-.065em}.section-heading h2 em,.career__intro h2 em,.contact__content h2 em,.projects-page__hero h1 em{color:var(--orange);font-style:normal}.section-heading>p{margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.8}.capability-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.capability{position:relative;min-height:390px;padding:clamp(28px,3.2vw,50px);overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#ffffff09,#ff642705);transition:border-color .35s ease,transform .35s ease,background .35s ease}.capability:nth-child(1),.capability:nth-child(4){grid-column:span 7}.capability:nth-child(2),.capability:nth-child(3){grid-column:span 5}.capability:hover{border-color:#ff642773;background:linear-gradient(145deg,#ff642717,#ffffff06);transform:translateY(-4px)}.capability:after{content:"";position:absolute;right:-80px;bottom:-100px;width:250px;aspect-ratio:1;border:1px solid rgba(255,100,39,.1);border-radius:50%;box-shadow:0 0 0 35px #ff642706,0 0 0 70px #ff642705}.capability__top{display:flex;align-items:center;justify-content:space-between;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace}.capability__top i{display:block;width:42px;height:1px;background:#ff642759}.capability h3{max-width:12ch;margin:65px 0 20px;font-size:calc(clamp(32px,3.5vw,57px) * var(--font-scale));font-weight:500;line-height:.98;letter-spacing:-.05em;text-transform:capitalize}.capability>p{max-width:52ch;margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.75}.capability__tech{position:absolute;right:35px;bottom:35px;left:35px;z-index:1;display:flex;flex-wrap:wrap;gap:7px}.capability__tech span,.featured-project__stack span{padding:7px 10px;color:#b7afa8;border:1px solid var(--line);border-radius:100px;background:#0503024d;font:var(--text-micro)/1 "IBM Plex Mono",monospace}.stack-room{display:grid;margin-top:14px;padding:clamp(35px,5vw,75px);grid-template-columns:.72fr 1.28fr;gap:8vw;border:1px solid rgba(255,100,39,.26);border-radius:24px;background:linear-gradient(120deg,#6c1f0538,#0d0907a6)}.stack-room__intro h3{margin:25px 0 0;font-size:calc(clamp(32px,3.4vw,55px) * var(--font-scale));font-weight:500;line-height:1;letter-spacing:-.05em}.stack-groups{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px}.stack-group{padding-top:14px;border-top:1px solid var(--line)}.stack-group>p{margin:0 0 14px;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.stack-group>div{display:flex;flex-wrap:wrap;gap:7px 14px}.stack-group span{color:#d2cbc5;font-size:var(--text-small)}.expertise{min-height:138svh;padding:18svh 0 20svh}.expertise__content{position:relative;z-index:8;width:59%}.expertise__header{max-width:760px;margin-bottom:9svh}.expertise__header .eyebrow{margin-bottom:24px}.expertise__header h2{margin:0;font-size:var(--display-heading-size);font-weight:500;line-height:.95;letter-spacing:-.065em}.expertise__header>p:last-child{max-width:58ch;margin:35px 0 0;color:#b8b0a9;font-size:var(--text-lead);line-height:1.8}.focus-list{border-bottom:1px solid var(--line)}.focus-item{display:grid;min-height:145px;padding:28px 0;grid-template-columns:45px 1fr 160px;gap:22px;align-items:start;border-top:1px solid var(--line)}.focus-item>span{padding-top:7px;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace}.focus-item h3{margin:0 0 11px;font-size:calc(clamp(24px,2.3vw,36px) * var(--font-scale));font-weight:500;letter-spacing:-.04em;text-transform:capitalize}.focus-item p{max-width:48ch;margin:0;color:var(--muted);font-size:var(--text-small);line-height:1.7}.focus-item small{padding-top:9px;color:#807871;font:var(--text-micro)/1.6 "IBM Plex Mono",monospace;text-align:right}.delivery-line{display:flex;margin:42px 0 0;padding:0;flex-wrap:wrap;align-items:center;gap:12px 16px;list-style:none;color:#b9b1aa;font-size:var(--text-small);font-weight:600;letter-spacing:.07em;text-transform:uppercase}.delivery-line li{display:inline-flex;align-items:center;gap:16px}.delivery-line li:not(:last-child):after{content:"→";color:var(--orange)}.tech-stack{z-index:16;isolation:isolate;height:100svh;min-height:0;padding:clamp(108px,12svh,126px) 0;overflow:hidden;background:#0a0705}.tech-stack:before{content:"";position:absolute;inset:0 calc((100vw - var(--page)) / -2);z-index:-1;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:radial-gradient(circle at 88% 8%,rgba(255,100,39,.13),transparent 27%),linear-gradient(155deg,#0d0806,#080605 60%)}.tech-stack__header{display:grid;margin-bottom:clamp(80px,11svh,112px);grid-template-columns:.55fr 1.15fr 1.15fr;gap:clamp(22px,4vw,70px);align-items:end}.tech-stack__header>div:first-child{display:flex;align-items:center;gap:15px}.tech-stack__header .section-number{flex:0 0 auto;margin:0}.tech-stack__header h2{margin:0;font-size:calc(clamp(34px,3.5vw,56px) * var(--font-scale));font-weight:500;line-height:.96;letter-spacing:-.06em}.tech-stack__header h2 em{color:var(--orange);font-style:normal}.tech-stack__header>p{max-width:52ch;margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.7}.tech-stack__viewport{width:100%;overflow:hidden;perspective:1200px}.tech-map{display:flex;width:max-content;padding:1px;gap:14px}.tech-group{position:relative;display:grid;flex:0 0 clamp(320px,27vw,410px);height:max(320px,100svh - 302px);padding:24px;grid-template-rows:auto auto 1fr auto;gap:18px;overflow:hidden;transform-origin:center;transform-style:preserve-3d;will-change:transform,opacity,filter;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.04),transparent 42%),linear-gradient(160deg,#110c09,#090705);transition:border-color .3s ease,background .3s ease}.tech-group:after{content:"";position:absolute;right:-75px;bottom:-95px;width:200px;aspect-ratio:1;border:1px solid rgba(255,100,39,.11);border-radius:50%;box-shadow:0 0 0 28px #ff642704,0 0 0 56px #ff642702;pointer-events:none}.tech-group:hover{border-color:#ff64276b;background:linear-gradient(145deg,rgba(255,100,39,.075),transparent 45%),linear-gradient(160deg,#140d09,#090705)}.tech-group__top{display:flex;align-items:center;justify-content:space-between;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.tech-group__top small{color:var(--dim);font:inherit}.tech-group__title h3{max-width:15ch;margin:0;font-size:calc(clamp(23px,2vw,32px) * var(--font-scale));font-weight:500;line-height:1;letter-spacing:-.045em}.tech-group__logos{position:relative;z-index:1;display:flex;padding-top:18px;align-items:flex-start;gap:6px;border-top:1px solid rgba(255,239,226,.09)}.tech-logo{position:relative;display:grid;width:48px;height:48px;flex:0 0 48px;overflow:hidden;place-items:center;border:1px solid rgba(255,239,226,.11);border-radius:12px;background:#ffffff09}.tech-logo>span{color:#6f6761;font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.04em}.tech-logo img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain}.tech-logo--more{color:var(--orange-light);border-color:#ff642752;background:#ff642714;font:var(--text-small)/1 "IBM Plex Mono",monospace}.tech-group__items{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}.tech-group__items span{padding:8px 10px;color:#cfc7c0;border:1px solid rgba(255,239,226,.1);border-radius:8px;background:#ffffff06;font-size:var(--text-small)}.tech-stack__progress{display:grid;margin-top:2px;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;color:var(--dim);font:var(--text-micro)/1 "IBM Plex Mono",monospace}.tech-stack__progress>div{height:1px;overflow:hidden;background:#ffffff17}.tech-stack__progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange-dark),var(--orange-light));transform:scaleX(.08);transform-origin:left}.featured-work{position:relative;z-index:7;min-height:0;padding:clamp(100px,13svh,140px) 0 clamp(100px,13svh,150px);isolation:isolate}.featured-work:before{content:"";position:absolute;top:0;bottom:0;left:50%;z-index:-1;width:100vw;background:var(--ink);transform:translate(-50%)}.section-heading--work{margin-bottom:clamp(32px,5svh,52px);grid-template-columns:auto 1fr;gap:clamp(32px,5vw,80px)}.section-heading--work>div{display:flex;align-items:center;gap:13px}.section-heading--work .section-number{margin-bottom:0;flex:0 0 38px}.section-heading--work h2{font-size:calc(clamp(30px,3vw,48px) * var(--font-scale));white-space:nowrap}.section-heading__link{display:inline-flex;min-width:154px;height:44px;padding:0 14px;align-items:center;justify-content:space-between;justify-self:end;color:#ded7d1;border:1px solid rgba(255,100,39,.34);border-radius:10px;background:#110804f5;font-size:var(--text-micro);font-weight:700;letter-spacing:.04em;text-transform:uppercase;transition:border-color .25s ease,background .25s ease}.section-heading__link:hover{border-color:#ff6427b3;background:#ff64271f}.section-heading__link span{margin-left:14px;color:var(--orange-light)}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(300px,auto);gap:12px}.featured-project{position:relative;display:grid;min-width:0;overflow:hidden;min-height:300px;grid-template-rows:minmax(135px,1fr) auto;border:1px solid rgba(255,239,226,.1);border-radius:20px;background:linear-gradient(160deg,#140e0af0,#090705f5);transition:border-color .35s ease,transform .35s ease,background .35s ease}.featured-project__primary-link{position:absolute;inset:0;z-index:3}.featured-project--large{grid-column:span 2;min-height:390px;grid-template-columns:minmax(240px,.9fr) 1.1fr;grid-template-rows:1fr}.featured-project:hover{border-color:#ff64276b;background:linear-gradient(150deg,#221008f5,#090705fa);transform:translateY(-3px)}.featured-project__visual{position:relative;display:grid;min-height:0;overflow:hidden;place-items:center;background:#0b0908}.featured-project__wash{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,100,39,.16),transparent 57%),linear-gradient(135deg,rgba(255,255,255,.025),transparent)}.featured-project__visual img{position:relative;z-index:1;width:78%;height:72%;object-fit:contain;filter:saturate(.88);transition:transform .55s ease,filter .55s ease}.featured-project:hover .featured-project__visual img{transform:scale(1.035);filter:saturate(1)}.featured-project__open{position:absolute;right:14px;bottom:12px;z-index:2;color:#b0a7a0;font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.featured-project__copy{position:relative;display:flex;min-height:0;padding:18px;flex-direction:column;pointer-events:none}.featured-project__meta{display:flex;justify-content:space-between;color:var(--dim);font:var(--text-small)/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.featured-project__meta span:first-child{color:var(--orange-light)}.featured-project h3{margin:15px 0 9px;font-size:calc(clamp(22px,2vw,32px) * var(--font-scale));font-weight:500;line-height:.96;letter-spacing:-.045em}.featured-project__copy>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:var(--text-small);line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.featured-project__publication{position:relative;z-index:4;display:flex;width:min(100%,440px);margin-top:16px;padding:12px 14px;align-items:flex-start;flex-direction:column;gap:5px;color:#d8d0c9;border-left:2px solid rgba(255,100,39,.72);border-radius:0 9px 9px 0;background:linear-gradient(90deg,#ff64271a,#ff642706);font-family:IBM Plex Mono,monospace;letter-spacing:.04em;pointer-events:auto;transition:border-color .25s ease,background .25s ease}.featured-project__publication>span{color:var(--orange-light);font-size:var(--text-micro);letter-spacing:.12em;text-transform:uppercase}.featured-project__publication strong{color:#e1d9d2;font-size:var(--text-small);font-weight:500;line-height:1.45}.featured-project__publication i{margin-top:3px;color:var(--dim);font-size:var(--text-micro);font-style:normal;white-space:nowrap;text-transform:uppercase}.featured-project__publication:hover{border-color:#ff6427a6;background:#ff64271f}.featured-project__stack{display:flex;margin-top:auto;padding-top:12px;flex-wrap:wrap;gap:5px}.featured-project__stack span{padding:6px 9px;font-size:var(--text-small)}.featured-project--large .featured-project__visual img{width:72%;height:68%}.featured-project--large .featured-project__copy{padding:clamp(20px,2.2vw,32px)}.featured-project--large h3{margin-top:20px;font-size:calc(clamp(26px,2.5vw,40px) * var(--font-scale))}.featured-project--large .featured-project__copy>p{max-width:56ch;-webkit-line-clamp:3}.featured-project--more{border-color:#ff642742;background:linear-gradient(150deg,#5419054d,#0a0705f5)}.featured-project__visual--more{background:radial-gradient(circle at center,rgba(255,100,39,.14),transparent 58%),#0d0907}.featured-project__visual--more i{position:absolute;width:130px;aspect-ratio:1;border:1px solid rgba(255,100,39,.13);border-radius:50%;box-shadow:0 0 0 28px #ff642705,0 0 0 56px #ff642703}.featured-project__plus{position:relative;z-index:1;display:grid;width:58px;height:58px;place-items:center;color:var(--orange-light);border:1px solid rgba(255,100,39,.55);border-radius:50%;background:#190a04cc;font-size:calc(28px * var(--font-scale));font-weight:300;transition:color .3s ease,background .3s ease,transform .3s ease}.featured-project--more:hover .featured-project__plus{color:#160903;background:var(--orange-light);transform:rotate(90deg)}.career{min-height:185svh;padding:18svh 0 22svh}.career__intro{width:62%;margin-left:38%;margin-bottom:12svh}.career__intro-label{display:flex;margin-bottom:24px;align-items:center;gap:13px}.career__intro-label .section-number{margin-bottom:0;flex:0 0 38px}.career__intro-label .eyebrow{margin:0}.career__intro h2{font-size:calc(clamp(34px,3.5vw,56px) * var(--font-scale))}.journey{position:relative;z-index:8;width:51%;margin-left:49%;padding-left:55px}.journey__line{position:absolute;top:5px;bottom:0;left:0;width:1px;background:var(--line)}.journey__line span{position:absolute;inset:0;background:linear-gradient(to bottom,var(--orange),var(--orange-dark));transform-origin:top}.journey__group+.journey__group{margin-top:11svh}.journey__label{margin:0 0 30px;color:var(--orange-light);font:var(--text-small)/1.3 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase}.journey-entry{position:relative;display:grid;padding:30px 0 48px;grid-template-columns:160px 1fr;gap:24px;border-top:1px solid var(--line)}.journey-entry--current{margin-bottom:16px;padding:30px;grid-template-columns:130px 1fr;border:1px solid rgba(255,100,39,.35);border-radius:18px;background:linear-gradient(130deg,#ff642726,#ff642706)}.journey-entry__node{position:absolute;top:27px;left:-60px;width:11px;height:11px;border:2px solid var(--ink);border-radius:50%;background:var(--orange);box-shadow:0 0 0 1px #ff642799,0 0 22px #ff642752}.journey-entry--current .journey-entry__node{left:-36px}.journey-entry time{padding-top:7px;color:var(--dim);font:var(--text-micro)/1.4 "IBM Plex Mono",monospace}.current-badge{display:inline-flex;margin-bottom:20px;align-items:center;gap:8px;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.current-badge i{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px #ff64271a}.journey-entry h3{margin:0 0 9px;font-size:calc(clamp(25px,2.6vw,42px) * var(--font-scale));font-weight:500;line-height:1.05;letter-spacing:-.045em}.journey-entry p{max-width:53ch;margin:14px 0 0;color:var(--muted);font-size:var(--text-small);line-height:1.7}.journey-entry .journey-entry__place{margin:0;color:#d0c8c1;font-size:var(--text-small)}.journey-entry__detail{white-space:pre-line}.contact{display:flex;min-height:100svh;padding:clamp(96px,12svh,156px) 0 0;flex-direction:column;gap:clamp(28px,5svh,72px);border-top:1px solid var(--line)}.contact__halo{position:absolute;right:-20vw;top:-10%;width:68vw;aspect-ratio:1;border:1px solid rgba(255,100,39,.06);border-radius:50%;background:radial-gradient(circle,rgba(255,91,27,.1) 0 20%,rgba(114,29,4,.035) 46%,transparent 68%)}.contact__content{position:relative;z-index:8;display:flex;width:69%;flex:1 0 auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:clamp(18px,3svh,40px)}.contact__content h2{margin:0;font-size:min(var(--display-heading-size),clamp(40px,9svh,106px));font-weight:500;line-height:1;letter-spacing:-.07em}.contact__content>p:not(.eyebrow){max-width:55ch;margin:0;color:var(--muted);font-size:var(--text-body);line-height:1.8}.magnetic-button--large{min-width:250px;height:66px;padding:0 26px}.contact__footer{position:relative;z-index:9;display:grid;flex-shrink:0;padding:clamp(20px,3svh,40px) 0 max(24px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr);gap:24px;border-top:1px solid var(--line)}.contact__footer>div{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.contact__footer p{margin:0 0 12px;color:var(--dim);font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase}.contact__footer a{max-width:100%;margin:4px 0;color:#b8b0aa;font-size:var(--text-small);overflow-wrap:anywhere}.contact__copyright{align-self:end;justify-self:end}.projects-page{padding-top:120px}.projects-page__hero{min-height:72svh;padding:13svh 0 10svh}.projects-page__hero h1{margin:28px 0 35px;max-width:13ch;font-size:var(--display-heading-size);font-weight:500;line-height:.88;letter-spacing:-.075em}.projects-page__hero>p:last-child{max-width:56ch;margin-left:42%;color:var(--muted);font-size:var(--text-body);line-height:1.8}.project-archive{padding-bottom:14svh}.project-filters{position:sticky;top:102px;z-index:20;display:flex;margin-bottom:25px;padding:10px;gap:8px;border:1px solid var(--line);border-radius:16px;background:#090605d6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.project-filters button{display:flex;padding:11px 14px;align-items:center;gap:9px;border-radius:9px;color:#938b84;font-size:var(--text-small)}.project-filters button span{display:grid;min-width:20px;height:20px;padding:0 5px;place-items:center;border-radius:50%;background:#ffffff0d;font:var(--text-micro)/1 "IBM Plex Mono",monospace}.project-filters button.is-active{color:var(--paper);background:#ff642729}.archive-list{border-bottom:1px solid var(--line)}.archive-project{display:grid;min-height:245px;padding:28px 0;grid-template-columns:50px 230px 1.2fr .8fr 45px;gap:clamp(22px,4vw,65px);align-items:center;border-top:1px solid var(--line);transition:background .3s ease,padding .3s ease}.archive-project:hover{padding-right:18px;padding-left:18px;background:#ff642709}.archive-project__number{color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace}.archive-project__thumb{display:grid;height:155px;overflow:hidden;place-items:center;border-radius:10px;background:#100c0a}.archive-project__thumb img{width:86%;height:82%;object-fit:contain;transition:transform .4s ease}.archive-project:hover .archive-project__thumb img{transform:scale(1.04)}.archive-project__main>p{margin:0 0 15px;color:var(--orange-light);font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.archive-project__main h2{margin:0 0 13px;font-size:calc(clamp(29px,3vw,47px) * var(--font-scale));font-weight:500;line-height:1;letter-spacing:-.05em}.archive-project__main>span{display:block;max-width:60ch;color:var(--muted);font-size:var(--text-small);line-height:1.65}.archive-project__publication{display:flex;width:min(100%,540px);margin-top:18px;padding:13px 15px;align-items:flex-start;flex-direction:column;gap:5px;color:#d7cfc8;border:1px solid rgba(255,100,39,.24);border-left:2px solid rgba(255,100,39,.75);border-radius:0 10px 10px 0;background:linear-gradient(90deg,#ff64271a,#ff642706);font-family:IBM Plex Mono,monospace;transition:border-color .25s ease,background .25s ease}.archive-project__publication small{color:var(--orange-light);font-size:var(--text-micro);letter-spacing:.12em;text-transform:uppercase}.archive-project__publication strong{color:#e5ddd6;font-size:var(--text-small);font-weight:500;line-height:1.45}.archive-project__publication span{margin-top:3px;color:var(--dim);font-size:var(--text-micro);letter-spacing:.06em;text-transform:uppercase}.archive-project__publication:hover{border-color:#ff64279e;background:linear-gradient(90deg,#ff642726,#ff64270a)}.archive-project__stack{display:flex;flex-wrap:wrap;gap:7px}.archive-project__stack span{color:#968e87;font:var(--text-micro)/1 "IBM Plex Mono",monospace}.archive-project__stack span:not(:last-child):after{content:" /";color:var(--orange-dark)}.archive-project__link{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,100,39,.35);border-radius:50%;color:var(--orange-light)}.projects-page__footer{display:flex;min-height:170px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:var(--muted);font-size:var(--text-small)}.projects-page__footer a{color:var(--orange-light)}.cursor-system{position:fixed;inset:0;z-index:200;opacity:0;pointer-events:none;transition:opacity .2s ease}.cursor-system.is-visible{opacity:1}.cursor-dot,.cursor-follower{position:absolute;top:0;left:0;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:4px;height:4px;background:var(--orange-light)}.cursor-follower{display:grid;width:33px;height:33px;place-items:center;border:1px solid rgba(255,132,76,.55);background:#0906052e;transition:width .3s ease,height .3s ease,background .3s ease}.cursor-follower span{opacity:0;color:#fff;font:var(--text-micro)/1 "IBM Plex Mono",monospace;letter-spacing:.1em;transition:opacity .2s ease}.cursor-system.has-label .cursor-follower{width:66px;height:66px;border-color:#ff844cb8;background:#361307f0}.cursor-system.has-label .cursor-follower span{opacity:1}@media(prefers-reduced-motion:reduce){.character-stage[data-zone=projects]{opacity:0}.contact-dock[data-compact=false]:before{animation:none;opacity:0}}@media(min-width:801px){.hero{display:flex;flex-direction:column;min-height:100svh;padding-top:clamp(112px,12svh,156px);padding-bottom:clamp(28px,5svh,64px);gap:clamp(24px,4svh,48px)}.hero__content{display:flex;flex:1 0 auto;flex-direction:column;justify-content:space-evenly;gap:clamp(28px,5svh,80px)}.hero__eyebrow{margin-bottom:clamp(24px,4svh,48px)}.hero__lead{margin-top:0}.hero__role-strip{flex-shrink:0;margin-top:0}.expertise{padding-top:clamp(105px,14svh,145px)}}@media(max-width:1100px){.site-header nav{display:none}.character-stage{right:-3vw;width:44vw}.hero__content{width:72vw}.hero__lead{margin-left:2vw}.hero__role-strip{width:62vw;margin-left:2vw}.section-heading{grid-template-columns:.45fr 1.5fr .7fr;gap:35px}.journey{width:58%;margin-left:42%}.career__intro{width:66%;margin-left:34%}.archive-project{grid-template-columns:35px 180px 1fr .65fr 42px;gap:25px}}@media(max-width:800px){:root{--page: 89vw;--display-heading-size: calc(clamp(39px, 11vw, 66px) * var(--font-scale))}body,a,button{cursor:auto}.cursor-system,.ambient__grain{display:none}.site-header{top:12px;display:flex;min-height:58px;justify-content:space-between}.site-mark>span:first-child{width:38px;height:38px}.site-mark__name{display:none}.nav-work-link{padding:9px 12px;font-size:var(--text-micro)}.hero{min-height:150svh;padding-top:max(15svh,104px)}.hero__content{width:100%}.hero__title{max-width:11ch;font-size:calc(clamp(52px,14.5vw,88px) * var(--font-scale))}.hero__lead{width:84%;margin:31svh 0 0}.character-stage{right:-11vw;bottom:27svh;width:75vw;height:54svh}.character-stage[data-zone=projects]{opacity:0!important}.character-stage[data-zone=contact]{visibility:hidden}.character-stage[data-zone=career]{right:-5vw;bottom:18svh;width:70vw}.character-orbit{display:none}.hero__role-strip{width:100%;margin:28px 0 0}.hero__role-strip>div{grid-template-columns:24px 1fr}.expertise{padding:14svh 0}.expertise{min-height:170svh}.expertise__content{width:100%}.expertise__header{width:62%;margin-bottom:47svh}.expertise__header h2{font-size:var(--display-heading-size)}.expertise__header>p:last-child{font-size:var(--text-body)}.focus-item{grid-template-columns:38px 1fr}.focus-item small{grid-column:2;padding-top:0;text-align:left}.delivery-line{gap:8px}.tech-stack{height:auto;min-height:0;padding:clamp(92px,12svh,116px) 0;overflow:visible}.tech-stack__header{margin-bottom:42px;grid-template-columns:1fr;gap:11px;align-items:center}.tech-stack__header h2{font-size:calc(clamp(32px,7.5vw,46px) * var(--font-scale))}.tech-stack__header>p{max-width:55ch;font-size:var(--text-small)}.tech-stack__viewport{overflow:visible;perspective:none}.tech-map{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;transform:none!important}.tech-group{width:100%;height:auto;min-height:350px;padding:20px;grid-template-rows:auto auto auto auto;gap:16px;transform:none!important;filter:none!important;will-change:auto}.tech-group__logos{flex-wrap:wrap}.tech-stack__progress{display:none}.tech-group:hover,.featured-project:hover,.capability:hover{transform:none}.section-heading{grid-template-columns:1fr;margin-bottom:7svh;gap:25px}.section-heading h2,.career__intro h2{font-size:var(--display-heading-size)}.section-heading>p{max-width:55ch}.featured-work{height:auto;min-height:0;padding:12svh 0}.section-heading--work{margin-bottom:5svh}.section-heading--work h2{font-size:calc(clamp(30px,6vw,42px) * var(--font-scale));white-space:normal}.capability-grid{display:block}.capability{min-height:335px;margin-bottom:12px}.capability h3{margin-top:45px}.stack-room{grid-template-columns:1fr;gap:50px}.featured-grid{height:auto;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);grid-auto-rows:minmax(300px,auto);gap:9px}.featured-project{grid-template-columns:1fr;grid-template-rows:minmax(100px,1fr) auto}.featured-project--large{min-height:450px;grid-template-rows:minmax(160px,1fr) auto}.featured-project__visual{height:auto;min-height:0}.featured-project__copy,.featured-project--large .featured-project__copy{padding:14px}.featured-project__meta span:last-child{display:none}.featured-project h3,.featured-project--large h3{margin:11px 0 7px;font-size:calc(clamp(19px,3.2vw,25px) * var(--font-scale))}.featured-project__copy>p{font-size:var(--text-small);line-height:1.5;-webkit-line-clamp:3}.featured-project__publication{margin-top:9px;padding:8px 9px}.featured-project__stack{padding-top:9px;gap:4px}.featured-project__stack span{padding:5px 7px;font-size:var(--text-small)}.featured-project__stack span:nth-child(n+4){display:none}.featured-project__open{display:none}.career{min-height:0;padding:14svh 0 17svh}.career__intro{width:68%;min-height:47svh;margin:0 0 9svh 32%}.career__intro h2{font-size:calc(clamp(32px,7.5vw,46px) * var(--font-scale))}.journey{width:100%;margin-left:0}.journey{padding-left:36px}.journey-entry__node{left:-41px}.journey-entry--current .journey-entry__node{left:-42px}.contact{padding-top:clamp(92px,12svh,120px)}.contact__content{width:100%}.contact__content h2{font-size:min(var(--display-heading-size),clamp(36px,8svh,66px))}.contact__footer{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-bottom:max(80px,env(safe-area-inset-bottom))}.contact__copyright{grid-column:1/-1;justify-self:start}.projects-page{padding-top:85px}.projects-page__hero{min-height:68svh}.projects-page__hero h1{font-size:var(--display-heading-size)}.projects-page__hero>p:last-child{margin-left:0}.project-filters{top:82px;overflow-x:auto}.project-filters button{flex:0 0 auto}.archive-project{grid-template-columns:34px 135px 1fr 40px;min-height:195px;gap:18px}.archive-project__stack{display:none}}@media(max-width:540px){:root{--display-heading-size: calc(clamp(36px, 10.5vw, 52px) * var(--font-scale))}.hero{min-height:165svh}.hero__title{font-size:calc(clamp(48px,14vw,69px) * var(--font-scale))}.hero__lead{width:88%;margin-top:34svh;font-size:var(--text-body)}.character-stage{right:-18vw;bottom:29svh;width:88vw;height:49svh}.character-stage[data-zone=career]{right:-3vw;bottom:20svh;width:72vw}.hero__role-strip{grid-template-columns:1fr}.hero__role-strip>div{padding:10px 0;grid-template-columns:23px 1fr}.hero__role-strip>div:not(:last-child):after{inset:auto 0 0;width:auto;height:1px}.capability{padding:28px}.capability__tech{right:28px;bottom:28px;left:28px}.stack-room{padding:30px 25px}.stack-groups{grid-template-columns:1fr;gap:24px}.expertise{min-height:185svh}.expertise__header{width:72%;margin-bottom:42svh}.expertise__header h2{font-size:var(--display-heading-size)}.focus-item{padding:25px 0}.delivery-line{gap:12px;font-size:var(--text-micro)}.delivery-line li{gap:12px}.tech-map{grid-template-columns:1fr;gap:12px}.tech-group{min-height:0;padding:22px}.tech-group__items span{padding:9px 11px}.career__intro{width:76%;margin-left:24%}.featured-grid{grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);grid-auto-rows:minmax(280px,auto);gap:7px}.featured-project{border-radius:14px}.featured-project__copy,.featured-project--large .featured-project__copy{padding:11px}.featured-project h3,.featured-project--large h3{font-size:calc(clamp(17px,5vw,22px) * var(--font-scale))}.featured-project__copy>p{font-size:var(--text-small);-webkit-line-clamp:3}.featured-project__publication{padding:9px 10px}.featured-project__publication strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.featured-project__stack span{padding:5px 6px;font-size:var(--text-small)}.featured-project__stack span:nth-child(n+3){display:none}.journey{padding-left:26px}.journey-entry,.journey-entry--current{display:block;padding:27px 0 38px}.journey-entry--current{padding:26px 22px}.journey-entry time{display:block;margin-bottom:18px}.journey-entry__node{left:-31px}.journey-entry--current .journey-entry__node{left:-32px}.archive-project{grid-template-columns:28px 1fr 38px;min-height:0;padding:28px 0}.archive-project__thumb{grid-column:2/4;width:100%;height:52vw;order:-1}.archive-project__main{grid-column:2}.archive-project__number{grid-row:1}.archive-project__link{grid-column:3;align-self:end}.projects-page__footer{align-items:flex-start;flex-direction:column;justify-content:center;gap:15px}}@media(max-height:720px){.tech-stack__header{margin-bottom:8svh}.tech-stack__header h2{font-size:calc(clamp(30px,3.2vw,46px) * var(--font-scale))}.tech-group{padding:18px;gap:10px}.tech-group__title h3{font-size:calc(clamp(21px,1.8vw,28px) * var(--font-scale))}.tech-group__logos{padding-top:10px;gap:4px}.tech-logo{width:48px;height:48px;flex-basis:48px;border-radius:11px}.tech-logo img{inset:10px;width:calc(100% - 20px);height:calc(100% - 20px)}.tech-group__items{gap:5px}.tech-group__items span{padding:6px 8px;font-size:var(--text-micro)}.tech-stack__progress{margin-top:10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ambient__grain{display:none}.tech-stack{height:auto;min-height:0;padding:12svh 0;overflow:visible}.tech-stack__viewport{overflow-x:auto}.tech-map{transform:none!important}}@media(prefers-reduced-motion:reduce)and (max-width:800px){.tech-stack__viewport{overflow:visible}}
