:root{font-family:'Manrope',system-ui,sans-serif;font-optical-sizing:auto;--bg:#0a0b0f;--fg:#ebeae5;--muted:#93979f;--subtle:#656973;--edge:rgba(235,234,229,.12);--edge-hi:rgba(235,234,229,.24);--surface:#11141a;--surface-2:#171a20;--header:rgba(10,11,15,.74);--accent:#b4b7a1;--hero-glow:rgba(153,162,175,.095);--visual-text:#e5e7ec;--inverse:#101218;--vweb:#171d28;--vmobile:#222725;--vsys:#262323;scroll-behavior:smooth;color-scheme:dark}
:root[data-theme='light']{--bg:#eeece7;--fg:#1d2229;--muted:#666c73;--subtle:#7f8488;--edge:rgba(29,34,41,.14);--edge-hi:rgba(29,34,41,.3);--surface:#e5e3dd;--surface-2:#dbd9d3;--header:rgba(238,236,231,.78);--accent:#696d61;--hero-glow:rgba(94,101,113,.14);--visual-text:#e5e7ec;--inverse:#f1f1ed;--vweb:#303948;--vmobile:#38433e;--vsys:#413936;color-scheme:light}
*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--fg);min-width:320px;overflow-x:hidden;transition:background .6s cubic-bezier(.19,1,.22,1),color .5s ease}body.menu-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--fg);outline-offset:6px}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;padding:10px 16px;background:var(--fg);color:var(--bg)}.skip-link:focus{top:20px}.scroll-meter{position:fixed;z-index:100;height:2px;background:var(--fg);top:0;left:0;transform-origin:left;transform:scaleX(0);width:100%;pointer-events:none}.site-header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5.1vw,92px);position:fixed;top:0;left:0;right:0;z-index:60;border-bottom:1px solid var(--edge);background:var(--header);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:background .4s,border-color .4s}.logo{font-size:23px;font-weight:800;letter-spacing:-.09em;line-height:1;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,43px)}.desktop-nav a{font-size:12px;letter-spacing:-.01em;font-weight:600;color:var(--muted);transition:color .25s;position:relative}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-9px;height:1px;width:100%;background:var(--fg);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover,.desktop-nav a.active{color:var(--fg)}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:20px}.theme-switch,.menu-toggle{width:35px;height:40px;padding:5px;display:grid;place-items:center;background:none;border:0;color:var(--fg);cursor:pointer}.theme-switch svg{width:20px;height:20px;transition:transform .4s,opacity .3s}.theme-switch .moon{display:none}:root[data-theme='light'] .theme-switch .sun{display:none}:root[data-theme='light'] .theme-switch .moon{display:block}.theme-switch:hover svg{transform:rotate(35deg)}.menu-toggle{display:none}.mobile-nav{display:none}.page-intro{position:fixed;z-index:200;inset:0;display:grid;place-items:center;background:var(--bg);color:var(--fg);font-size:clamp(56px,12vw,145px);font-weight:800;letter-spacing:-.11em;animation:introSwipeAway 1.12s cubic-bezier(.76,0,.24,1) .72s both}.page-intro span{transform:translateX(-.035em);animation:introMark .8s ease both}@keyframes introMark{from{opacity:0;transform:translateY(35px) translateX(-.035em);filter:blur(8px)}to{opacity:1;transform:translateY(0) translateX(-.035em);filter:blur(0)}}
.hero{height:100svh;min-height:590px;display:grid;place-items:center;position:relative;overflow:hidden;isolation:isolate;padding:90px 4vw 0;background:radial-gradient(circle at 50% 53%,var(--hero-glow),transparent 48%)}.hero:before,.hero:after{position:absolute;content:'';width:1px;background:var(--edge);top:12%;bottom:12%;z-index:-1}.hero:before{left:7.5%}.hero:after{right:7.5%}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(to right,var(--edge) 1px,transparent 1px),linear-gradient(to bottom,var(--edge) 1px,transparent 1px);background-size:20% 25%;opacity:.22;mask-image:radial-gradient(ellipse at center,black,transparent 72%);pointer-events:none}.orbital{position:absolute;border:1px solid var(--edge);border-radius:50%;width:min(63vw,690px);aspect-ratio:1;left:50%;top:53%;transform:translate(-50%,-50%) rotate(-13deg);pointer-events:none;opacity:.65}.orbital:after{content:'';position:absolute;border-radius:100%;background:var(--fg);width:5px;height:5px;top:18%;left:14%;box-shadow:0 0 30px var(--fg)}.orbital-inner{width:min(40vw,430px);transform:translate(-50%,-50%) rotate(26deg);opacity:.45}.orbital-inner:after{top:65%;left:96%;width:3px;height:3px}.hero-wordmark{font-size:clamp(79px,15.5vw,280px);font-weight:800;letter-spacing:-.12em;line-height:.85;margin:0;white-space:nowrap;text-indent:-.065em;position:relative;z-index:1;text-shadow:0 12px 58px var(--hero-glow);animation:heroReveal 1.5s cubic-bezier(.19,1,.22,1) 1s both}@keyframes heroReveal{from{opacity:0;transform:translateY(80px);filter:blur(14px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.hero-baseline{position:absolute;bottom:15%;left:12%;right:12%;height:1px;background:linear-gradient(to right,transparent,var(--edge-hi),transparent)}.scroll-cue{position:absolute;bottom:6%;width:45px;height:45px;border:1px solid var(--edge-hi);border-radius:50%;display:grid;place-items:center;transition:background .3s,transform .3s}.scroll-cue svg{width:21px;height:21px}.scroll-cue:hover{transform:translateY(5px);background:var(--surface)}
.section{padding:clamp(95px,12vw,190px) clamp(22px,6.25vw,120px) clamp(100px,13vw,210px);border-bottom:1px solid var(--edge);position:relative;scroll-margin-top:0}.section-top{display:flex;align-items:center;gap:28px;margin-bottom:clamp(65px,8.5vw,128px);color:var(--muted);font-weight:600;letter-spacing:.12em;font-size:10px}.section-index{min-width:54px}.thin-rule{height:1px;flex:1;background:var(--edge)}.section-type{white-space:nowrap}.section-title{font-size:clamp(52px,10vw,165px);font-weight:700;letter-spacing:-.095em;line-height:1.03;margin:0}.title-mark{color:var(--subtle);font-weight:400;margin-left:.07em}.section-title-row{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:72px}.section-side-note{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:700}.about-grid{display:grid;grid-template-columns:1fr .85fr;column-gap:8vw;align-items:start}.about-detail{padding-top:17px}.statement{font-size:clamp(29px,3.7vw,62px);font-weight:600;letter-spacing:-.075em;line-height:1.18}.statement-line{display:block}.muted-line{color:var(--subtle)}.editor-note{max-width:490px;font-size:14px;color:var(--muted);line-height:1.85;margin:45px 0 60px}.detail-rule{height:1px;background:var(--edge)}.discipline-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;color:var(--fg);font-size:12px;font-weight:600;padding-top:27px}.projects-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.project-large{grid-row:span 2}.project-tile{min-width:0}.project-visual{height:clamp(280px,32vw,510px);position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.07);transition:border-color .35s}.project-large .project-visual{height:calc(100% - 75px);min-height:570px}.project-visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 52%)}.project-tile:hover .project-visual{border-color:rgba(255,255,255,.3)}.project-tile:hover .project-visual>*{transform:translate(-50%,-50%) scale(1.06)}.tile-caption{display:flex;align-items:center;gap:15px;min-height:75px;border-bottom:1px solid var(--edge);font-size:13px}.tile-caption h3{font-weight:600;letter-spacing:-.04em;font-size:20px;margin:0}.tile-index{font-size:11px;color:var(--muted)}.caption-arrow{font-size:24px;margin-left:auto;color:var(--muted);transition:transform .3s}.project-tile:hover .caption-arrow{transform:translate(4px,-4px)}.visual-web{background:radial-gradient(circle at 50% 70%,#343d50,var(--vweb) 65%)}.visual-browser{position:absolute;top:53%;left:53%;width:76%;height:58%;border-radius:6px;transform:translate(-50%,-50%) rotate(-7deg);background:rgba(228,233,241,.08);border:1px solid rgba(244,247,255,.38);box-shadow:-27px 30px 70px rgba(0,0,0,.28),inset 0 0 60px rgba(255,255,255,.045);transition:transform .7s cubic-bezier(.19,1,.22,1)}.browser-dots{display:flex;gap:5px;padding:12px;border-bottom:1px solid rgba(255,255,255,.22)}.browser-dots b{width:5px;height:5px;border-radius:100%;background:rgba(255,255,255,.55)}.visual-rows{position:absolute;left:7%;top:28%;width:40%;display:flex;flex-direction:column;gap:12px}.visual-rows i{display:block;height:7px;border-radius:2px;background:rgba(255,255,255,.4)}.visual-rows i:nth-child(2){width:86%;opacity:.52}.visual-rows i:nth-child(3){width:60%;opacity:.28}.visual-block{position:absolute;bottom:11%;right:8%;width:50%;height:52%;border:1px solid rgba(255,255,255,.2);background:linear-gradient(140deg,rgba(255,255,255,.22),transparent 68%)}.visual-slash{position:absolute;bottom:4%;left:12%;font-size:190px;font-weight:400;line-height:1;color:rgba(255,255,255,.05)}.visual-mobile{background:radial-gradient(circle at 55% 42%,#425750 0%,var(--vmobile) 63%)}.visual-phone{position:absolute;top:54%;left:52%;width:140px;height:265px;border:5px solid #a9b4ac;border-radius:29px;background:linear-gradient(145deg,#161e1d,#35453f);transform:translate(-50%,-50%) rotate(13deg);box-shadow:25px 35px 50px rgba(0,0,0,.37),inset 1px 1px 30px rgba(255,255,255,.11);z-index:1;transition:transform .7s cubic-bezier(.19,1,.22,1)}.phone-top{height:8px;width:45px;background:#899a93;border-radius:0 0 9px 9px;margin:auto}.phone-orbit{position:absolute;top:31%;left:21%;height:80px;width:80px;border-radius:50%;border:1px solid #a1b9a9;box-shadow:0 0 50px rgba(150,188,163,.19)}.phone-bottom{position:absolute;bottom:22px;left:24px;right:24px;height:5px;border-radius:5px;background:rgba(255,255,255,.25)}.mobile-disc{position:absolute;width:310px;height:310px;border:1px solid rgba(255,255,255,.14);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.visual-systems{background:radial-gradient(circle at 48% 50%,#5a4541,var(--vsys) 65%)}.circuit-lines{position:absolute;inset:5%;display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:22px}.circuit-lines span{height:60%;border:1px solid rgba(255,255,255,.21);border-radius:50%;transform:rotate(29deg)}.systems-core{position:absolute;inset:34%;border:1px solid rgba(255,255,255,.5);border-radius:50%;box-shadow:0 0 120px rgba(216,171,156,.18),0 0 35px rgba(216,171,156,.18);background:rgba(255,255,255,.03);transition:inset .6s}.project-tile:hover .systems-core{inset:30%}.brands-board{border-top:1px solid var(--edge)}.brand-line{min-height:145px;display:grid;grid-template-columns:100px 1fr 200px;align-items:center;gap:30px;border-bottom:1px solid var(--edge);transition:padding .35s,background .35s}.brand-line:hover{padding:0 12px;background:var(--surface)}.brand-number{font-size:11px;font-weight:700;color:var(--muted)}.brand-name{font-size:clamp(35px,5vw,72px);line-height:1;font-weight:500;color:var(--subtle)}.brand-kind{font-size:10px;letter-spacing:.12em;color:var(--muted);text-align:right;font-weight:600}.small-note{color:var(--muted);font-size:12px;letter-spacing:.01em;margin:34px 0 0}.collab-stage{min-height:370px;margin-top:70px;display:flex;align-items:end;justify-content:space-between;gap:20px;position:relative;overflow:hidden;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.collab-stage p{color:var(--muted);font-size:14px;max-width:420px;margin:0 0 45px}.collab-geometry{width:50%;min-height:320px;position:relative;flex-shrink:0;overflow:hidden}.collab-geometry div{position:absolute;border:1px solid var(--edge-hi);border-radius:50%;height:270px;width:270px;top:50%;left:50%;transform:translate(-50%,-50%)}.collab-geometry div:nth-child(2){left:61%;width:180px;height:180px}.collab-geometry div:nth-child(3){left:39%;width:100px;height:100px}.contact-section{min-height:73svh}.contact-title{font-size:clamp(72px,15vw,230px)}.contact-bottom{margin-top:120px;display:flex;align-items:center;justify-content:space-between;padding-top:26px;border-top:1px solid var(--edge);gap:30px;font-size:15px;font-weight:600}.contact-bottom .small-note{margin:0;font-weight:400}.site-footer{padding:27px clamp(22px,6.25vw,120px);display:flex;align-items:center;gap:28px;justify-content:space-between;color:var(--muted);font-size:11px}.footer-logo{font-size:17px;font-weight:800;letter-spacing:-.09em;color:var(--fg)}.back-top{font-size:24px;color:var(--fg);display:grid;place-items:center;width:30px;height:30px}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.19,1,.22,1),transform 1s cubic-bezier(.19,1,.22,1)}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.desktop-nav{gap:18px}.desktop-nav a{font-size:11px}.section-title{font-size:clamp(56px,8.5vw,115px)}}
@media(max-width:800px){.site-header{height:72px;padding:0 24px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:7px;justify-content:center;align-items:center}.menu-toggle span{height:1.5px;width:22px;background:var(--fg);transition:transform .3s}.menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}.header-actions{gap:12px}.mobile-nav{display:flex;flex-direction:column;position:fixed;top:72px;bottom:0;left:0;right:0;z-index:55;padding:20px 26px 44px;background:var(--bg);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-12px);transition:visibility .35s,opacity .35s,transform .35s}.mobile-nav.open{visibility:visible;opacity:1;transform:translateY(0)}.mobile-nav a{border-bottom:1px solid var(--edge);display:flex;gap:21px;align-items:baseline;padding:20px 0;font-size:clamp(30px,7vw,47px);font-weight:600;letter-spacing:-.06em}.mobile-nav a span{font-size:11px;color:var(--muted);letter-spacing:0}.hero{min-height:580px}.orbital-outer{width:88vw}.orbital-inner{width:57vw}.hero-wordmark{font-size:17vw}.section{padding:105px 24px 120px}.section-top{margin-bottom:75px}.section-title{font-size:clamp(54px,10.5vw,90px)}.about-grid{grid-template-columns:1fr;gap:50px}.about-detail{padding-top:0}.statement{font-size:clamp(35px,7vw,70px)}.editor-note{margin:32px 0 47px}.projects-grid{grid-template-columns:1fr 1fr;gap:20px}.project-large{grid-column:span 2;grid-row:span 1}.project-large .project-visual{min-height:400px;height:400px}.project-visual{height:280px}.collab-stage{margin-top:50px}.contact-bottom{margin-top:80px}}
@media(max-width:540px){.logo{font-size:22px}.hero{min-height:530px}.hero-wordmark{font-size:18.5vw;letter-spacing:-.12em}.hero:before{left:24px}.hero:after{right:24px}.orbital-outer{width:100vw}.orbital-inner{width:64vw}.scroll-cue{bottom:7%}.section-top{gap:14px;font-size:9px;letter-spacing:.08em}.section-title{font-size:clamp(50px,12.3vw,77px)}.section-title-row{align-items:start;flex-direction:column;gap:20px;margin-bottom:44px}.section-side-note{display:none}.projects-grid{grid-template-columns:1fr;gap:30px}.project-large{grid-column:auto}.project-large .project-visual{min-height:360px;height:390px}.project-visual{height:320px}.tile-caption{min-height:68px}.brand-line{grid-template-columns:35px 1fr;min-height:125px;gap:10px}.brand-kind{display:none}.brands-board{margin-top:45px}.collab-stage{min-height:310px;align-items:end}.collab-geometry{position:absolute;right:-35%;width:100%;opacity:.4}.collab-stage p{position:relative;z-index:1;margin-bottom:35px;max-width:260px}.contact-section{min-height:55svh}.contact-bottom{flex-direction:column;align-items:start;gap:10px;margin-top:100px}.site-footer{padding:25px 24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.page-intro{display:none}.reveal{opacity:1;transform:none}.hero-wordmark{opacity:1;transform:none;filter:none}}
/* x7ynk0 V2 — orbital navigator, refined projects and inner pages */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.experience-row{display:flex;align-items:center;gap:20px;padding:38px 0 5px}.experience-digit{font-size:clamp(58px,7.8vw,108px);font-weight:700;line-height:.86;letter-spacing:-.085em}.experience-plus{font-size:.55em;vertical-align:top}.experience-label{font-size:10px;font-weight:700;letter-spacing:.11em;line-height:1.65;color:var(--muted)}.about-copy{margin:32px 0 20px}.about-secondary{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 42px;max-width:490px}.discipline-grid{row-gap:15px}.discipline-grid span{white-space:nowrap}
.project-tile{display:block;cursor:pointer}.tile-meta{font-size:10px;font-weight:500;color:var(--muted);margin-left:4px}.project-tile:hover .tile-meta{color:var(--fg)}
.visual-systems{background:radial-gradient(circle at 51% 50%,#313d52 0%,#191e2b 54%,#13151c 100%)}
.system-blueprint{position:absolute;inset:0;transition:transform .7s cubic-bezier(.19,1,.22,1);background:linear-gradient(90deg,transparent 49.88%,rgba(171,211,244,.07) 50%,transparent 50.12%),linear-gradient(transparent 49.88%,rgba(171,211,244,.07) 50%,transparent 50.12%)}
.blueprint-track{position:absolute;left:50%;top:50%;width:67%;height:49%;border:1px solid rgba(139,184,212,.28);transform:translate(-50%,-50%) rotate(-26deg) skewY(11deg);border-radius:48% 15% 46% 20%;box-shadow:inset 0 0 28px rgba(99,164,207,.07)}.track-2{width:76%;height:25%;transform:translate(-50%,-50%) rotate(28deg);border-style:dashed;border-color:rgba(214,221,234,.19)}.track-3{width:33%;height:77%;transform:translate(-50%,-50%) rotate(18deg);border-color:rgba(194,194,208,.15)}
.sys-node{position:absolute;width:11px;height:11px;background:#7799ad;border:2px solid #b9d6e5;transform:translate(-50%,-50%);left:25%;top:29%;box-shadow:0 0 17px rgba(117,172,204,.5)}.sys-b{left:79%;top:38%;width:9px;height:9px;background:#a59ba5;border-color:#ded1df}.sys-c{left:31%;top:79%;background:#818c9f;border-color:#d0d9e6}.sys-d{left:69%;top:75%;width:9px;height:9px}.sys-core{left:51%;top:51%;width:75px;height:75px;background:radial-gradient(circle at 28% 26%,#8dabc5,#3a506b 45%,#161f30 100%);border:1px solid #c1d4e4;box-shadow:0 0 0 12px rgba(119,155,188,.07),0 0 0 30px rgba(119,155,188,.05),0 0 70px rgba(138,185,225,.25),inset -8px -8px 15px rgba(0,0,0,.5);border-radius:18px;transform:translate(-50%,-50%) rotate(45deg)}.sys-core:after{content:'';position:absolute;inset:22px;border:1px solid rgba(241,245,255,.5);border-radius:6px}
.project-tile:hover .system-blueprint{transform:scale(1.045) rotate(2deg)}.project-tile:hover .sys-core{box-shadow:0 0 0 14px rgba(119,155,188,.1),0 0 0 36px rgba(119,155,188,.055),0 0 100px rgba(138,185,225,.4)}
/* Detail pages — shared typographic system, no phantom menu pages */
.detail-page .site-header{position:sticky}.detail-main{min-height:100vh}.detail-hero{padding:clamp(76px,10vw,140px) clamp(22px,6.25vw,120px) clamp(50px,7vw,105px);border-bottom:1px solid var(--edge)}.detail-eyebrow{display:flex;align-items:center;gap:26px;font-size:11px;color:var(--muted);letter-spacing:.11em;text-transform:uppercase;font-weight:600;margin-bottom:clamp(52px,8vw,110px)}.detail-eyebrow .thin-rule{max-width:145px}.detail-number{color:var(--subtle)}.detail-title{font-size:clamp(80px,18vw,260px);margin:0 0 26px;letter-spacing:-.095em;line-height:.95;font-weight:750}.detail-lede{color:var(--muted);font-size:clamp(16px,1.45vw,22px);max-width:685px;line-height:1.7;margin:0}.detail-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--edge);margin-top:clamp(75px,10vw,140px);padding-top:21px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.return-link{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;transition:gap .2s}.return-link:hover{gap:16px}
.detail-content{padding:clamp(70px,10vw,140px) clamp(22px,6.25vw,120px)}.detail-section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;border-bottom:1px solid var(--edge);padding-bottom:24px;margin-bottom:32px}.detail-section-heading h2{margin:0;font-size:clamp(29px,4vw,55px);font-weight:650;letter-spacing:-.065em}.detail-section-heading span{font-size:11px;letter-spacing:.12em;color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,34px);margin-bottom:clamp(100px,12vw,175px)}.case-card{min-height:400px;border:1px solid var(--edge);display:flex;flex-direction:column;background:var(--surface);overflow:hidden}.case-graphic{min-height:230px;flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 50%,var(--case-glow,rgba(101,134,175,.22)),transparent 65%)}.case-graphic:after{content:'';position:absolute;inset:12%;border:1px solid var(--edge-hi);transform:rotate(-12deg)}.case-graphic .case-symbol{font-size:clamp(65px,12vw,160px);font-weight:750;letter-spacing:-.1em;opacity:.6;transform:translateY(-5px);transition:transform .65s cubic-bezier(.19,1,.22,1)}.case-card:hover .case-symbol{transform:translateY(-12px) rotate(-5deg)}.case-info{padding:25px 28px 29px;border-top:1px solid var(--edge)}.case-kicker{font-size:10px;letter-spacing:.13em;color:var(--muted);text-transform:uppercase;font-weight:700}.case-info h3{font-size:clamp(24px,3vw,34px);letter-spacing:-.06em;margin:13px 0}.case-info p{font-size:13px;line-height:1.8;color:var(--muted);margin:0;max-width:490px}.case-notice{color:var(--muted);font-size:12px;margin-top:-65px;margin-bottom:120px;line-height:1.7;border-left:2px solid var(--edge-hi);padding-left:20px}.process-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.process-rail>div{padding:29px 26px 40px;border-right:1px solid var(--edge)}.process-rail>div:last-child{border-right:0}.process-rail span{font-size:11px;color:var(--muted)}.process-rail h3{font-size:21px;letter-spacing:-.04em;font-weight:600;margin:34px 0 12px}.process-rail p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.next-section{padding:clamp(90px,13vw,170px) clamp(22px,6.25vw,120px);border-top:1px solid var(--edge);display:flex;align-items:end;justify-content:space-between;gap:30px}.next-section p{color:var(--muted);font-size:10px;letter-spacing:.12em}.next-link{font-size:clamp(45px,9vw,126px);font-weight:700;letter-spacing:-.09em;line-height:1;transition:color .3s}.next-link:hover{color:var(--muted)}.next-arrow{font-size:clamp(35px,7vw,85px);transition:transform .35s}.next-section:hover .next-arrow{transform:translate(10px,-10px)}
@media(max-width:900px){.tile-meta{display:none}}@media(max-width:800px){.cosmic-hero{padding-top:72px;min-height:560px}.orbit-scene{inset:72px 0 8%}.planet-name{font-size:11px}.experience-row{padding-top:30px}.case-grid{grid-template-columns:1fr}.case-card{min-height:370px}.detail-hero{padding-top:100px}.detail-title{font-size:clamp(80px,17vw,150px)}}
@media(max-width:540px){.cosmic-hero{height:100svh;min-height:570px}.cosmic-hero .scroll-cue{bottom:4.5%}.orbit-scene{inset:72px 0 11%}.planet{width:108px;min-height:95px;gap:6px}.planet-name{font-size:10px;padding:5px 8px}.planet-about{--size:56px}.planet-projects{--size:68px}.planet-brands{--size:53px}.planet-team{--size:49px}.planet-contact{--size:48px}.section{padding-top:96px}.editor-note.about-copy{margin:30px 0 18px}.discipline-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;font-size:11px}.detail-hero{padding:85px 23px 60px}.detail-eyebrow{margin-bottom:80px}.detail-title{font-size:clamp(71px,19vw,110px)}.detail-content{padding:70px 23px}.case-grid{margin-bottom:85px}.case-graphic{min-height:200px}.case-notice{margin-top:-30px;margin-bottom:85px}.process-rail{grid-template-columns:1fr}.process-rail>div{border-right:0;border-bottom:1px solid var(--edge);padding:24px 0 33px}.process-rail>div:last-child{border-bottom:0}.process-rail h3{margin:16px 0 8px}.next-section{align-items:center;padding:80px 23px}.next-link{font-size:clamp(45px,13vw,84px)}}

/* v2.1 - Accessibility: graceful fallback for local file previews/no Javascript. */
.reveal{opacity:1;transform:none}
.js-ready .reveal:not(.visible){opacity:0;transform:translateY(40px)}
.js-ready .reveal.visible{opacity:1;transform:translateY(0)}
100%{opacity:0;visibility:hidden;pointer-events:none}}
@media(prefers-reduced-motion:reduce){.page-intro{display:none;animation:none}.reveal,.js-ready .reveal{opacity:1;transform:none}}


/* V3 / KINETIC INDEX — an editorial, physically stable alternative to orbiting objects */
.kinetic-hero{--kinetic-shift-x:0px;--kinetic-shift-y:0px;display:block;min-height:650px;height:min(930px,100svh);padding:0;overflow:hidden;background:var(--bg);isolation:isolate}
.kinetic-hero:before,.kinetic-hero:after{display:none}
.kinetic-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;isolation:isolate}
.kinetic-mesh{position:absolute;inset:0;background-image:linear-gradient(90deg,var(--edge) 1px,transparent 1px),linear-gradient(0deg,var(--edge) 1px,transparent 1px);background-size:calc(100% / 12) calc(100% / 9);opacity:.13;mask-image:linear-gradient(to right,transparent,black 35%,black 95%);-webkit-mask-image:linear-gradient(to right,transparent,black 35%,black 95%)}
.kinetic-light{position:absolute;inset:-35%;filter:blur(48px);opacity:.33;will-change:transform;transform:translate3d(var(--kinetic-shift-x),var(--kinetic-shift-y),0)}
.kinetic-light-a{background:radial-gradient(ellipse at 76% 46%,rgba(128,156,187,.14),transparent 27%),radial-gradient(ellipse at 57% 60%,rgba(177,138,129,.09),transparent 28%);animation:kineticBreathe 18s ease-in-out infinite alternate}
.kinetic-light-b{opacity:.17;background:radial-gradient(ellipse at 72% 32%,rgba(200,207,200,.18),transparent 34%);animation:kineticBreatheB 25s ease-in-out infinite alternate}
.kinetic-scape{position:absolute;inset:0 0 0 49%;transform:perspective(860px) rotateY(-14deg);transform-origin:80% 50%;opacity:.65}
.scape-wire{position:absolute;display:block;left:11%;top:14%;width:100%;height:70%;border:1px solid var(--edge-hi);border-radius:13%;transform:rotate(-37deg) skew(-16deg);opacity:.3;animation:kineticWire 20s ease-in-out infinite alternate}
.scape-wire-2{left:26%;top:5%;height:88%;width:85%;border-color:var(--muted);opacity:.17;transform:rotate(28deg) skew(16deg);animation-duration:26s;animation-delay:-7s}
.scape-wire-3{left:50%;top:28%;width:48%;height:58%;border-color:var(--edge-hi);opacity:.4;transform:rotate(-14deg) skew(-12deg);animation-duration:16s;animation-delay:-11s}
.scape-pulse{position:absolute;left:40%;top:34%;height:1px;width:70%;background:linear-gradient(90deg,transparent,rgba(176,200,222,.43),transparent);opacity:.55;transform:rotate(-34deg);animation:kineticPulse 7s ease-in-out infinite alternate}
.kinetic-frame{position:relative;height:100%;width:min(1430px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:center;padding:clamp(98px,9vw,126px) clamp(30px,7vw,105px) clamp(92px,8vw,118px);z-index:2}
.kinetic-index{display:flex;flex-direction:column;width:100%;position:relative;z-index:4}
.kinetic-link{position:relative;isolation:isolate;display:grid;grid-template-columns:35px minmax(0,1fr) 34px;gap:18px;align-items:center;min-height:clamp(83px,9vh,108px);padding:8px 5px;border-bottom:1px solid var(--edge-hi);text-decoration:none;color:var(--fg);outline-offset:4px;transition:padding-left .35s ease,border-color .35s ease;animation:indexAppear .85s cubic-bezier(.2,.7,.15,1) both;animation-delay:calc(.24s + var(--step) * .10s)}
.kinetic-link:first-child{border-top:1px solid var(--edge-hi)}
.kinetic-link:before{content:'';position:absolute;inset:0;z-index:-1;opacity:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 75%);transform:scaleX(.5);transform-origin:left center;transition:transform .45s cubic-bezier(.19,1,.22,1),opacity .35s}
.kinetic-num{font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.kinetic-name{min-width:0;font-size:clamp(39px,4.1vw,73px);font-weight:660;line-height:1.03;letter-spacing:-.077em;white-space:nowrap;transition:transform .35s,color .35s;display:block}
.kinetic-arrow{justify-self:end;font-size:25px;opacity:.35;transition:opacity .35s,transform .35s;color:var(--fg)}
.kinetic-link:hover,.kinetic-link:focus-visible{border-color:var(--accent);padding-left:13px}
.kinetic-link:hover:before,.kinetic-link:focus-visible:before{opacity:1;transform:scaleX(1)}
.kinetic-link:hover .kinetic-name,.kinetic-link:focus-visible .kinetic-name{transform:translateX(3px)}
.kinetic-link:hover .kinetic-arrow,.kinetic-link:focus-visible .kinetic-arrow{opacity:1;transform:translate(3px,-3px)}
.kinetic-link:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
.kinetic-art{height:min(59vw,660px);aspect-ratio:1/1;max-height:95%;width:min(48vw,690px);max-width:100%;position:relative;justify-self:center;transform:perspective(1000px) rotateX(4deg) rotateY(-12deg);transform-style:preserve-3d;animation:kineticArtFloat 13s ease-in-out infinite alternate;pointer-events:none}
.art-ridge{position:absolute;inset:12%;border-radius:14% 42% 12% 33%;transform:rotate(45deg) skew(-11deg);border:1px solid var(--edge-hi);box-shadow:0 15px 90px rgba(117,146,183,.035),inset 0 0 80px rgba(126,165,205,.035)}
.art-core{position:absolute;inset:29%;border-radius:17% 40% 17% 33%;transform:rotate(45deg) skew(-8deg);background:linear-gradient(145deg,rgba(197,212,230,.17),rgba(64,84,105,.035) 46%,rgba(216,190,166,.11));box-shadow:inset 0 0 1px var(--fg),24px 45px 95px rgba(0,0,0,.15),-15px -25px 75px rgba(116,135,153,.04);border:1px solid var(--edge-hi);backdrop-filter:blur(1px)}
.art-slice{position:absolute;left:2%;right:2%;top:49%;height:1px;transform:rotate(-36deg);background:linear-gradient(to right,transparent,var(--edge-hi),rgba(225,229,235,.33),var(--edge-hi),transparent);box-shadow:0 0 32px rgba(163,188,217,.16);animation:kineticSlice 7s ease-in-out infinite alternate}
.art-slice-b{top:57%;transform:rotate(35deg);opacity:.48;animation-duration:10s;animation-delay:-4s}
.art-slice-c{top:43%;transform:rotate(-68deg);opacity:.26;animation-duration:14s;animation-delay:-8s}
.art-reflection{position:absolute;inset:16%;border-radius:42%;background:conic-gradient(from 210deg,transparent 0deg,rgba(177,200,224,.075) 30deg,transparent 50deg,transparent 190deg,rgba(183,165,155,.05) 225deg,transparent 260deg);filter:blur(20px);animation:kineticReflection 25s linear infinite}
.kinetic-scroll{bottom:clamp(25px,5vh,54px);left:50%;transform:translateX(-50%);z-index:5;opacity:.68}
.kinetic-scroll:hover{transform:translate(-50%,5px)}
:root[data-theme="light"] .kinetic-light-a{opacity:.22}
:root[data-theme="light"] .kinetic-light-b{opacity:.10}
:root[data-theme="light"] .art-core{background:linear-gradient(145deg,rgba(83,109,134,.10),rgba(150,162,165,.035) 46%,rgba(165,136,106,.08))}
@keyframes kineticBreathe{0%{transform:translate3d(-2%,1%,0)}100%{transform:translate3d(3%,-3%,0)}}
@keyframes kineticBreatheB{0%{transform:translate3d(1%,-3%,0)}100%{transform:translate3d(-4%,3%,0)}}
@keyframes kineticWire{0%{opacity:.2;filter:blur(1px)}100%{opacity:.38;filter:blur(0)}}
@keyframes kineticPulse{0%{opacity:.14;transform:rotate(-34deg) translateX(-18px)}100%{opacity:.6;transform:rotate(-34deg) translateX(30px)}}
@keyframes kineticArtFloat{0%{transform:perspective(1000px) rotateX(3deg) rotateY(-11deg) translateY(5px)}100%{transform:perspective(1000px) rotateX(-1deg) rotateY(-6deg) translateY(-12px)}}
@keyframes kineticSlice{0%{opacity:.2;filter:brightness(1)}100%{opacity:.8;filter:brightness(1.3)}}
@keyframes kineticReflection{to{transform:rotate(360deg)}}
@keyframes indexAppear{from{opacity:0;transform:translate3d(0,20px,0);filter:blur(3px)}to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}}
@media(max-width:1050px){.kinetic-frame{grid-template-columns:1.15fr .85fr;padding-inline:5vw}.kinetic-name{font-size:clamp(37px,5.3vw,62px)}.kinetic-art{width:42vw}}
@media(max-width:800px){.kinetic-hero{height:100svh;min-height:585px}.kinetic-frame{grid-template-columns:1fr;align-items:center;padding:105px 25px 89px}.kinetic-index{max-width:700px;margin:auto}.kinetic-art{position:absolute;width:110vw;height:110vw;max-height:none;right:-38%;top:25%;opacity:.22;z-index:-1}.kinetic-scape{inset:0;opacity:.45}.kinetic-link{min-height:clamp(74px,10.5svh,106px);grid-template-columns:29px minmax(0,1fr) 27px}.kinetic-name{font-size:clamp(37px,8vw,68px)}.kinetic-mesh{opacity:.1}}
@media(max-width:440px){.kinetic-frame{padding:102px 26px 91px}.kinetic-link{min-height:clamp(72px,10.3svh,98px);gap:11px}.kinetic-name{font-size:clamp(35px,8.5vw,51px)}.kinetic-arrow{font-size:22px}.kinetic-hero{min-height:560px}.kinetic-art{width:145vw;height:145vw;top:28%;right:-80%}}
@media(max-height:700px) and (max-width:800px){.kinetic-frame{padding-top:87px;padding-bottom:72px}.kinetic-link{min-height:65px}.kinetic-name{font-size:clamp(32px,7vw,45px)}.kinetic-scroll{bottom:13px}}
@media(prefers-reduced-motion:reduce){.kinetic-light,.scape-wire,.scape-pulse,.kinetic-art,.art-slice,.art-reflection,.kinetic-link{animation:none!important}.kinetic-link{opacity:1;transform:none}.kinetic-art{transform:none!important}.kinetic-link:before{transition:none}}

.kinetic-hero.is-idle .kinetic-light,.kinetic-hero.is-idle .scape-wire,.kinetic-hero.is-idle .scape-pulse,.kinetic-hero.is-idle .kinetic-art,.kinetic-hero.is-idle .art-slice,.kinetic-hero.is-idle .art-reflection{animation-play-state:paused}

/* V3.1: a single CSS animation handles the entire intro, even with JS disabled.
   No visibility toggle or watchdog may interrupt the upward travel. */
.page-intro[hidden]{display:none!important}
@keyframes introSwipeAway{
  0%{transform:translate3d(0,0,0);visibility:visible;pointer-events:auto}
  99%{transform:translate3d(0,-103%,0);visibility:visible;pointer-events:none}
  100%{transform:translate3d(0,-103%,0);visibility:hidden;pointer-events:none}
}
@media(prefers-reduced-motion:reduce){.page-intro{display:none!important;animation:none!important}}

/* V3.1: social directory — self-contained SVG marks, no remote avatar dependency. */
.social-intro{color:var(--muted);font-size:clamp(14px,1.2vw,17px);line-height:1.7;margin:12px 0 34px}
.social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 auto}
.social-card{--social-tint:rgba(165,181,204,.11);position:relative;min-width:0;min-height:108px;display:flex;gap:18px;align-items:center;padding:21px 22px;border:1px solid var(--edge);background:linear-gradient(120deg,var(--social-tint),transparent 65%),var(--surface);border-radius:16px;transition:border-color .28s ease,background-color .28s ease,transform .28s ease,box-shadow .28s ease;overflow:hidden}
.social-card[href]:hover,.social-card[href]:focus-visible{border-color:var(--edge-hi);transform:translateY(-3px);box-shadow:0 14px 35px rgba(0,0,0,.1)}
.social-card[href]:active{transform:translateY(-1px)}
.social-badge{width:56px;height:56px;border-radius:15px;flex:0 0 56px;display:grid;place-items:center;background:var(--social-tint);border:1px solid var(--edge-hi);transition:transform .3s ease}
.social-card[href]:hover .social-badge{transform:scale(1.06)}
.social-icon{width:27px;height:27px;display:block}
.social-label{display:flex;flex-direction:column;gap:5px;min-width:0}
.social-name{font-weight:650;font-size:18px;letter-spacing:-.038em;line-height:1.12}
.social-handle{font-size:12px;color:var(--muted);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.social-arrow{margin-left:auto;align-self:flex-start;font-size:20px;color:var(--muted);transition:transform .28s,color .28s;line-height:1}
.social-card[href]:hover .social-arrow{transform:translate(3px,-3px);color:var(--fg)}
.social-card-inactive{opacity:.74;cursor:default;border-style:dashed}
.social-unlinked{opacity:.65}
.social-footnote{font-size:11px;line-height:1.8;color:var(--muted);margin:23px 0 0}
.social-instagram{--social-tint:rgba(225,116,168,.12)}
.social-tiktok{--social-tint:rgba(113,214,215,.1)}
.social-x{--social-tint:rgba(180,185,197,.1)}
.social-facebook{--social-tint:rgba(94,142,229,.13)}
.social-youtube{--social-tint:rgba(229,111,104,.12)}
.social-whatsapp{--social-tint:rgba(94,198,134,.12)}
@media(max-width:720px){.social-grid{grid-template-columns:1fr;gap:10px}.social-card{min-height:92px;padding:17px 18px;gap:16px}.social-badge{height:50px;width:50px;flex-basis:50px;border-radius:14px}.social-name{font-size:17px}}
@media(prefers-reduced-motion:reduce){.social-card,.social-badge,.social-arrow{transition:none!important}}
