body.portfolio-page{background:#05070d}.page-nav{background:linear-gradient(to bottom,rgba(4,7,13,.9),rgba(4,7,13,.3))}.portfolio-hero{min-height:100vh;position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;align-items:end;padding:18vh 6vw 8vh;isolation:isolate}.portfolio-bg{z-index:-4;opacity:.8;filter:saturate(1.1) contrast(1.1) brightness(.48)}.portfolio-hero-glow{position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 72% 40%,rgba(87,232,255,.18),transparent 28%),linear-gradient(90deg,rgba(4,7,13,.95),rgba(4,7,13,.35) 50%,rgba(4,7,13,.15))}.portfolio-hero-copy{position:relative;z-index:3;max-width:820px}.portfolio-hero h1{font-size:clamp(64px,9.4vw,150px);line-height:.82;letter-spacing:-.085em;margin:2vh 0 3vh;text-transform:uppercase}.portfolio-hero h1 em,.portfolio-system h2 em,.portfolio-method h2 em{font-family:var(--serif);font-weight:400;color:var(--acid);text-transform:none}.portfolio-hero-copy>p{max-width:560px;font-size:14px;line-height:1.7;color:rgba(255,255,255,.66)}.portfolio-hero-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.portfolio-orbit-art{position:absolute;right:-2vw;top:12vh;width:52vw;height:70vh;z-index:1;perspective:1000px}.portfolio-orbit-art img{position:absolute;width:72%;right:3%;top:18%;filter:drop-shadow(0 35px 45px rgba(0,0,0,.55)) drop-shadow(0 0 30px rgba(86,232,255,.17));transform:rotate(-8deg)}.portfolio-orbit-art>span{position:absolute;right:4%;bottom:8%;font:8px 'DM Mono',monospace;letter-spacing:.16em;color:rgba(255,255,255,.5)}.portfolio-ring{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.r1{width:82%;height:52%;right:0;top:27%;transform:rotate(-18deg)}.r2{width:64%;height:39%;right:12%;top:31%;transform:rotate(25deg);border-style:dashed;opacity:.55}

.portfolio-system{padding:11vh 4vw 13vh;background:linear-gradient(180deg,#f2efe6,#e4dfd4);color:var(--ink)}.portfolio-system-head{display:grid;grid-template-columns:1.4fr .6fr;gap:5vw;align-items:end;margin:0 auto 8vh;max-width:1600px}.portfolio-system-head h2{font-size:clamp(62px,8vw,128px);line-height:.82;letter-spacing:-.08em;margin:24px 0 0;text-transform:uppercase}.portfolio-system-head p{font-size:13px;line-height:1.7;max-width:500px;color:rgba(7,9,15,.62)}.portfolio-system .section-tag{color:rgba(7,9,15,.5)}.portfolio-shell{max-width:1600px;margin:auto;display:grid;grid-template-columns:245px 1fr;border:1px solid rgba(7,9,15,.14);min-height:850px;background:#ece8df}.project-index{border-right:1px solid rgba(7,9,15,.14);background:#e3ded3;min-width:0}.project-index-head{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid rgba(7,9,15,.14);font:9px 'DM Mono',monospace;letter-spacing:.12em}.project-index-head b{color:#70706a}.project-buttons{max-height:782px;overflow:auto}.project-button{width:100%;border:0;border-bottom:1px solid rgba(7,9,15,.10);background:transparent;text-align:left;padding:15px 16px;cursor:pointer;display:grid;grid-template-columns:35px 1fr;gap:8px;color:var(--ink);transition:background .25s,color .25s}.project-button span{font:8px 'DM Mono',monospace;opacity:.46}.project-button b{font-size:13px;letter-spacing:-.02em}.project-button i{grid-column:2;font:7px 'DM Mono',monospace;font-style:normal;letter-spacing:.08em;opacity:.42}.project-button:hover,.project-button.active{background:var(--ink);color:var(--paper)}.project-button.active span{color:var(--accent,var(--acid));opacity:1}.project-viewer{min-width:0;background:var(--paper)}.viewer-topline{height:68px;border-bottom:1px solid rgba(7,9,15,.14);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font:8px 'DM Mono',monospace;letter-spacing:.12em;color:rgba(7,9,15,.48)}.viewer-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);min-height:780px}.device-lab{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-width:0;background:radial-gradient(circle at 50% 47%,rgba(77,92,255,.13),transparent 37%),linear-gradient(135deg,#ede9df,#dad6cc)}.lab-grid{position:absolute;inset:0;opacity:.34;background-image:linear-gradient(rgba(7,9,15,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(7,9,15,.06) 1px,transparent 1px);background-size:32px 32px;mask-image:radial-gradient(circle at 50% 50%,black,transparent 82%)}.device-stage{--explode:.72;position:relative;height:610px;perspective:1600px;transform-style:preserve-3d;margin-top:-20px}.device{position:absolute;left:50%;top:50%;transform-style:preserve-3d;box-shadow:0 35px 80px rgba(20,22,30,.22);transition:transform .15s linear;will-change:transform}.desktop-device{width:min(78%,720px);aspect-ratio:16/9;border-radius:18px;padding:7px;background:#0a0d14;border:1px solid rgba(255,255,255,.24);transform:translate3d(calc(-50% + (var(--explode) * 104px)),calc(-50% - (var(--explode) * 124px)),calc(var(--explode) * -160px)) rotateX(61deg) rotateZ(-8deg)}.desktop-topbar{height:23px;display:flex;gap:5px;align-items:center;padding:0 8px}.desktop-topbar i{width:5px;height:5px;border-radius:50%;background:#fff;opacity:.38}.desktop-screen{height:calc(100% - 23px);border-radius:11px;overflow:hidden;padding:16px;color:#fff;background:radial-gradient(circle at 70% 35%,color-mix(in srgb,var(--accent,#d8ff45) 42%,transparent),transparent 26%),linear-gradient(145deg,#111827,#05070d);position:relative}.desktop-screen span,.tablet-screen span,.portfolio-phone-screen span{font:7px 'DM Mono',monospace;letter-spacing:.14em;opacity:.54}.desktop-screen b{display:block;font-size:clamp(20px,2.3vw,42px);letter-spacing:-.06em;margin-top:10px;max-width:70%}.ui-grid{position:absolute;left:16px;right:16px;bottom:15px;display:grid;grid-template-columns:1.4fr .7fr .7fr;grid-template-rows:45px 30px;gap:6px}.ui-grid i{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.05);border-radius:6px}.ui-grid i:first-child{grid-row:1/3}.ui-grid i:last-child{grid-column:2/4}.tablet-device{width:min(53%,430px);aspect-ratio:4/3;border-radius:25px;padding:6px;background:#12151d;border:1px solid rgba(255,255,255,.35);transform:translate3d(calc(-50% - (var(--explode) * 18px)),calc(-50% + (var(--explode) * 4px)),calc(var(--explode) * 20px)) rotateX(60deg) rotateZ(6deg)}.tablet-screen{height:100%;border-radius:19px;padding:18px;color:#fff;background:linear-gradient(140deg,color-mix(in srgb,var(--accent,#d8ff45) 26%,#0b0e16),#07090f);position:relative;overflow:hidden}.tablet-screen:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-50px;top:22%;background:radial-gradient(circle,color-mix(in srgb,var(--accent,#d8ff45) 56%,white),transparent 65%);filter:blur(10px)}.tablet-screen b{display:block;font-size:clamp(17px,1.7vw,30px);margin-top:11px;letter-spacing:-.05em;max-width:72%}.tablet-cards{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.tablet-cards i{height:52px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.phone-device{width:min(26%,205px);aspect-ratio:9/19;border-radius:35px;padding:6px;background:#090b10;border:1px solid rgba(255,255,255,.5);transform:translate3d(calc(-50% - (var(--explode) * 94px)),calc(-50% + (var(--explode) * 115px)),calc(var(--explode) * 210px)) rotateX(56deg) rotateZ(-10deg);z-index:10}.phone-camera{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:32%;height:11px;background:#050608;border-radius:99px;z-index:3}.portfolio-phone-screen{height:100%;border-radius:29px;padding:34px 13px 14px;color:#fff;background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent,#d8ff45) 55%,transparent),transparent 26%),linear-gradient(165deg,#161a24,#05070d);overflow:hidden}.portfolio-phone-screen b{display:block;font-size:clamp(13px,1.3vw,22px);margin-top:8px;letter-spacing:-.04em}.phone-orb{position:absolute;width:65px;height:65px;border-radius:50%;left:50%;top:42%;transform:translate(-50%,-50%);background:radial-gradient(circle at 35% 30%,white,var(--accent,#d8ff45) 22%,#4051ff 65%,#05070d);box-shadow:0 0 35px color-mix(in srgb,var(--accent,#d8ff45) 45%,transparent)}.phone-line{position:absolute;height:5px;border-radius:99px;background:rgba(255,255,255,.15);left:14px;bottom:44px}.phone-line.l1{width:68%}.phone-line.l2{width:48%;bottom:30px}.float-layer{position:absolute;left:50%;top:50%;z-index:5;border:1px solid color-mix(in srgb,var(--accent,#d8ff45) 48%,transparent);background:color-mix(in srgb,var(--accent,#d8ff45) 6%,rgba(255,255,255,.05));backdrop-filter:blur(8px);box-shadow:0 18px 55px rgba(0,0,0,.14);transition:transform .15s linear;transform-style:preserve-3d}.float-layer>span{position:absolute;font:7px 'DM Mono',monospace;letter-spacing:.12em;color:rgba(7,9,15,.55)}.layer-data{width:49%;height:100px;transform:translate3d(calc(-50% + (var(--explode) * 142px)),calc(-50% - (var(--explode) * 25px)),calc(var(--explode) * -60px)) rotateX(62deg) rotateZ(-3deg)}.layer-data span{left:9px;top:8px}.layer-data i{position:absolute;width:23%;height:44%;bottom:10px;background:color-mix(in srgb,var(--accent,#d8ff45) 34%,transparent);border-radius:50% 50% 45% 45%}.layer-data i:nth-child(2){left:14%}.layer-data i:nth-child(3){left:39%;height:63%}.layer-data i:nth-child(4){left:64%;height:79%}.layer-logic{width:42%;height:88px;display:flex;align-items:center;justify-content:center;gap:12px;transform:translate3d(calc(-50% - (var(--explode) * 135px)),calc(-50% + (var(--explode) * 4px)),calc(var(--explode) * 110px)) rotateX(59deg) rotateZ(10deg)}.layer-logic span{left:8px;top:7px}.layer-logic b{font:7px 'DM Mono',monospace;border:1px solid rgba(7,9,15,.2);padding:8px;border-radius:50%}.layer-interface{width:37%;height:75px;transform:translate3d(calc(-50% + (var(--explode) * 45px)),calc(-50% + (var(--explode) * 175px)),calc(var(--explode) * 260px)) rotateX(55deg) rotateZ(-5deg)}.layer-interface span{left:8px;top:7px}.layer-interface i{position:absolute;height:7px;left:10px;right:10px;background:rgba(7,9,15,.11);border-radius:99px}.layer-interface i:nth-child(2){top:29px}.layer-interface i:nth-child(3){top:42px;right:29%}.layer-interface i:nth-child(4){top:55px;right:45%}.explode-control{position:absolute;left:26px;right:26px;bottom:24px;z-index:30}.explode-control label{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font:7px 'DM Mono',monospace;letter-spacing:.1em;color:rgba(7,9,15,.5)}.explode-control label b{text-align:center;font-weight:500;color:rgba(7,9,15,.72)}.explode-control input{width:100%;margin-top:10px;accent-color:var(--accent,var(--ink))}.project-brief{padding:44px 36px;border-left:1px solid rgba(7,9,15,.14);display:flex;flex-direction:column}.brief-kicker{display:flex;align-items:center;gap:13px;font:8px 'DM Mono',monospace;letter-spacing:.12em;color:rgba(7,9,15,.5)}.brief-kicker i{width:8px;height:8px;border-radius:50%;background:var(--accent,var(--acid));box-shadow:0 0 15px var(--accent,var(--acid))}.project-brief h3{font-size:clamp(45px,5vw,76px);line-height:.88;letter-spacing:-.07em;margin:30px 0 18px}.brief-summary{font-size:13px;line-height:1.7;color:rgba(7,9,15,.62);margin:0 0 28px}.brief-facts{margin:0}.brief-facts div{display:grid;grid-template-columns:78px 1fr;gap:15px;padding:16px 0;border-top:1px solid rgba(7,9,15,.12)}.brief-facts dt{font:8px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:rgba(7,9,15,.44)}.brief-facts dd{margin:0;font-size:12px;line-height:1.55}.brief-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:24px}.brief-tags span{font:7px 'DM Mono',monospace;letter-spacing:.08em;padding:7px 9px;border:1px solid rgba(7,9,15,.17);border-radius:999px}.brief-note{margin-top:auto;padding-top:28px;font:8px 'DM Mono',monospace;line-height:1.6;color:rgba(7,9,15,.4)}

.portfolio-method{padding:12vh 6vw;background:#0a0d14}.portfolio-method-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;margin-top:6vh}.portfolio-method h2{font-size:clamp(58px,7vw,110px);line-height:.84;letter-spacing:-.075em;margin:0;text-transform:uppercase}.method-list article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:25px 0;border-top:1px solid rgba(255,255,255,.13)}.method-list article>span{font:8px 'DM Mono',monospace;color:var(--acid)}.method-list h3{font-size:24px;letter-spacing:-.04em;margin:0}.method-list p{grid-column:2;font-size:12px;line-height:1.65;color:rgba(255,255,255,.58);margin:0}.portfolio-close{min-height:88vh;position:relative;overflow:hidden;display:flex;align-items:center;padding:10vh 8vw;background:#03050b}.portfolio-close>img{position:absolute;width:min(62vw,900px);right:-5vw;top:5vh;opacity:.58;filter:drop-shadow(0 20px 60px rgba(48,89,255,.25))}.portfolio-close>div{position:relative;z-index:2;max-width:740px}.portfolio-close h2{font-size:clamp(64px,8vw,126px);line-height:.82;letter-spacing:-.08em;margin:28px 0 24px;text-transform:uppercase}.portfolio-close p{color:rgba(255,255,255,.6)}.direct-email{font:9px 'DM Mono',monospace;margin-top:18px}.direct-email a{color:var(--acid)}

@media(max-width:1000px){.portfolio-hero{grid-template-columns:1fr;padding:18vh 24px 8vh}.portfolio-orbit-art{width:78vw;right:-20vw;opacity:.7}.portfolio-hero-copy{z-index:3}.portfolio-system{padding:9vh 20px}.portfolio-system-head{grid-template-columns:1fr}.portfolio-shell{grid-template-columns:1fr}.project-index{border-right:0;border-bottom:1px solid rgba(7,9,15,.14)}.project-buttons{display:flex;max-height:none;overflow-x:auto}.project-button{min-width:170px;border-right:1px solid rgba(7,9,15,.1)}.viewer-grid{grid-template-columns:1fr}.device-lab{min-height:690px}.project-brief{border-left:0;border-top:1px solid rgba(7,9,15,.14)}.portfolio-method{padding:10vh 20px}.portfolio-method-grid{grid-template-columns:1fr}.portfolio-close{padding:10vh 24px}.portfolio-close>img{width:105vw;right:-45vw;opacity:.42}}
@media(max-width:600px){.portfolio-hero h1{font-size:15vw}.portfolio-orbit-art{top:11vh;width:96vw;right:-35vw}.portfolio-system-head h2{font-size:15vw}.project-index-head{height:58px}.viewer-topline{height:58px}.device-stage{height:500px}.desktop-device{width:92%}.tablet-device{width:64%}.phone-device{width:32%}.float-layer{transform-origin:center}.layer-data{width:62%}.layer-logic{width:55%}.layer-interface{width:48%}.project-brief{padding:34px 22px}.portfolio-method h2,.portfolio-close h2{font-size:15vw}.method-list article{grid-template-columns:32px 1fr}}
@media(prefers-reduced-motion:reduce){.portfolio-bg{display:none}.portfolio-hero{background:linear-gradient(90deg,rgba(3,5,11,.82),rgba(3,5,11,.24)),url('assets/cosmic-space.webp') center/cover}.device,.float-layer{transition:none}.portfolio-ring{display:none}}

/* v0.7 portfolio polish */
.project-button{min-height:54px}
.project-button:focus-visible{outline:2px solid var(--accent,#d8ff45);outline-offset:-2px}
#explodeRange{accent-color:var(--accent,#d8ff45)}
@media(max-width:760px){.project-button{min-height:58px}}

/* v1.2 portfolio laboratory polish */
.viewer-topline{height:74px}.viewer-meta{display:flex;align-items:center;gap:18px}.project-view-controls{display:flex;align-items:center;gap:9px}.project-view-controls button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(7,9,15,.16);background:rgba(255,255,255,.25);color:var(--ink);cursor:pointer;font-size:14px;transition:background .2s,color .2s,transform .2s}.project-view-controls button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}#projectProgressDots{display:flex;gap:5px;min-width:43px;justify-content:center}#projectProgressDots i{display:block;width:5px;height:5px;border-radius:50%;background:rgba(7,9,15,.18);transition:transform .25s,background .25s}#projectProgressDots i.active{background:var(--accent,var(--ink));transform:scale(1.55)}
.device-stage{transition:filter .35s}.device-screen-glow{position:absolute;inset:0;pointer-events:none}.device-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:.34!important;filter:saturate(.8) contrast(1.08)!important;mix-blend-mode:screen;pointer-events:none}.desktop-screen:after,.tablet-screen:before,.portfolio-phone-screen:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(5,7,13,.08),rgba(5,7,13,.72));pointer-events:none;z-index:0}.desktop-screen>*,.tablet-screen>*,.portfolio-phone-screen>*{position:relative;z-index:2}.portfolio-phone-screen .device-art,.tablet-screen .device-art,.desktop-screen .device-art{position:absolute!important;z-index:0}.lab-hint{position:absolute;right:22px;top:22px;z-index:20;font:6px 'DM Mono',monospace;letter-spacing:.12em;color:rgba(7,9,15,.34)}
.project-brief{position:relative;overflow:hidden}.project-brief:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-165px;top:-140px;background:radial-gradient(circle,color-mix(in srgb,var(--accent,#d8ff45) 17%,transparent),transparent 68%);pointer-events:none}.brief-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding:13px 15px;border:1px solid rgba(7,9,15,.17);border-radius:999px;font-size:10px;font-weight:800;transition:background .2s,color .2s,transform .2s}.brief-cta:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.brief-cta b{font-size:14px}
.project-button{position:relative;overflow:hidden}.project-button:after{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent,#d8ff45);transform:scaleY(0);transform-origin:bottom;transition:transform .3s}.project-button.active:after{transform:scaleY(1)}
.device-lab{--labx:50%;--laby:50%}.device-lab:after{content:"";position:absolute;inset:0;background:radial-gradient(430px circle at var(--labx) var(--laby),color-mix(in srgb,var(--accent,#d8ff45) 10%,transparent),transparent 70%);pointer-events:none;z-index:0}.device-stage,.explode-control,.lab-hint{position:relative;z-index:2}
@media(max-width:900px){.viewer-topline{height:auto;min-height:72px;gap:10px}.viewer-meta{flex-direction:column;align-items:flex-start;gap:4px}.lab-hint{display:none}.brief-cta{margin-bottom:18px}}

/* v1.3 exploded product laboratory polish */
.portfolio-orbit-art{isolation:isolate}.portfolio-orbit-art:after{content:"";position:absolute;inset:7% 2% 2% 10%;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:rotate(-8deg);pointer-events:none}.orbit-readout{position:absolute;right:4%;bottom:8%;z-index:5;width:142px;padding:12px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(5,7,13,.44);backdrop-filter:blur(14px);display:grid;grid-template-columns:auto 1fr;gap:2px 9px}.orbit-readout b{font-size:24px;line-height:1;color:var(--acid)}.orbit-readout i{font:6px 'DM Mono',monospace;font-style:normal;letter-spacing:.12em;color:rgba(255,255,255,.42);align-self:end}.orbit-readout em{grid-column:1/-1;font:6px 'DM Mono',monospace;font-style:normal;letter-spacing:.09em;color:rgba(255,255,255,.62);padding-top:8px;border-top:1px solid rgba(255,255,255,.09);margin-top:5px}
.project-viewer{position:relative;isolation:isolate}.project-viewer:before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.56;z-index:4;box-shadow:0 0 20px color-mix(in srgb,var(--accent) 32%,transparent)}
.device-lab{--labx:50%;--laby:50%;background-image:radial-gradient(480px circle at var(--labx) var(--laby),color-mix(in srgb,var(--accent) 11%,transparent),transparent 70%),linear-gradient(rgba(7,9,15,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,9,15,.025) 1px,transparent 1px);background-size:auto,24px 24px,24px 24px}
.device-stage{transform-style:preserve-3d;isolation:isolate}.device-stage:before{content:"";position:absolute;left:13%;right:12%;bottom:7%;height:13%;background:radial-gradient(ellipse,rgba(7,9,15,.14),transparent 66%);filter:blur(13px);transform:rotateX(76deg);pointer-events:none}.device-art{transition:filter .5s,transform .55s var(--ease)}.device:hover .device-art{filter:saturate(1.03) contrast(1.08) brightness(1.04);transform:scale(1.035)}
.lab-callout{position:absolute;z-index:12;display:grid;grid-template-columns:28px auto;grid-template-rows:auto auto;gap:2px 8px;align-items:center;pointer-events:none;opacity:calc(.16 + var(--explode)*.84);transition:opacity .35s var(--ease)}.lab-callout>i{grid-row:1/3;display:block;width:28px;height:1px;background:linear-gradient(90deg,var(--accent),rgba(7,9,15,.15));position:relative}.lab-callout>i:before{content:"";position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 50%,transparent)}.lab-callout span{font:6px 'DM Mono',monospace;letter-spacing:.11em;color:rgba(7,9,15,.45)}.lab-callout b{font:8px 'DM Mono',monospace;font-weight:500;letter-spacing:.04em;color:rgba(7,9,15,.82)}
.callout-phone{left:5%;bottom:17%;transform:translate3d(calc(var(--explode)*-14px),0,0)}.callout-tablet{left:4%;top:29%;transform:translate3d(calc(var(--explode)*-20px),0,0)}.callout-desktop{right:4%;top:19%;grid-template-columns:auto 28px;text-align:right;transform:translate3d(calc(var(--explode)*18px),0,0)}.callout-desktop>i{grid-column:2;grid-row:1/3;background:linear-gradient(90deg,rgba(7,9,15,.15),var(--accent))}.callout-desktop>i:before{left:auto;right:0}.callout-logic{right:5%;bottom:28%;grid-template-columns:auto 28px;text-align:right;transform:translate3d(calc(var(--explode)*22px),0,0)}.callout-logic>i{grid-column:2;grid-row:1/3;background:linear-gradient(90deg,rgba(7,9,15,.15),var(--accent))}.callout-logic>i:before{left:auto;right:0}.callout-data{left:38%;top:9%;transform:translate3d(0,calc(var(--explode)*-14px),0)}
.product-story-rail{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px auto 0;width:min(500px,84%);font:6px 'DM Mono',monospace;letter-spacing:.11em;color:rgba(7,9,15,.32)}.product-story-rail span{white-space:nowrap}.product-story-rail span:first-child{color:var(--accent)}.product-story-rail i{display:block;flex:1;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 48%,transparent),rgba(7,9,15,.12))}
.project-button{position:relative;overflow:hidden}.project-button:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--accent);transition:width .55s var(--ease)}.project-button.active:after,.project-button:hover:after{width:100%}.project-brief{position:relative}.project-brief:before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--accent),transparent 42%,rgba(7,9,15,.08))}.brief-cta{position:relative;overflow:hidden}.brief-cta:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent);transform:translateX(-100%);transition:transform .55s var(--ease)}.brief-cta:hover:before,.brief-cta:focus-visible:before{transform:translateX(0)}.brief-cta>*{position:relative}

@media(max-width:1000px){.lab-callout{display:none}.orbit-readout{display:none}.product-story-rail{width:90%}}
@media(max-width:640px){.product-story-rail{gap:5px;font-size:5px}.product-story-rail span:nth-of-type(4){display:none}.product-story-rail i:last-of-type{display:none}}
@media(prefers-reduced-motion:reduce){.device-art,.project-button:after,.brief-cta:before{transition:none!important}.lab-callout{opacity:.72}}
.product-story-rail span{transition:color .3s,opacity .3s}.product-story-rail span.active{color:var(--accent);opacity:1}.project-viewer:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(380px circle at var(--vx,50%) var(--vy,50%),color-mix(in srgb,var(--accent) 4%,transparent),transparent 68%)}.project-viewer>*{position:relative;z-index:1}

/* v1.4 portfolio polish */
.project-brief{position:relative;overflow:hidden}.project-brief:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--vx,72%) var(--vy,18%),color-mix(in srgb,var(--accent,#d8ff45) 10%,transparent),transparent 28%)}.project-brief>*{position:relative}.project-fingerprint{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0 20px}.project-fingerprint div{min-width:0;padding:10px 11px;border:1px solid rgba(7,9,15,.11);border-radius:10px;background:rgba(255,255,255,.28)}.project-fingerprint span{display:block;font:5px 'DM Mono',monospace;letter-spacing:.12em;color:rgba(7,9,15,.44);margin-bottom:5px}.project-fingerprint b{display:block;font-size:9px;line-height:1.35;font-weight:600;letter-spacing:-.02em}.project-viewer{position:relative}.project-viewer:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--vx,62%) var(--vy,38%),color-mix(in srgb,var(--accent,#d8ff45) 5%,transparent),transparent 25%);mix-blend-mode:multiply}.device-lab:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--labx,50%) var(--laby,50%),rgba(255,255,255,.23),transparent 18%);mix-blend-mode:soft-light}.brief-kicker{position:relative}.brief-kicker:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:1px;background:linear-gradient(90deg,var(--accent,#d8ff45),transparent 72%);opacity:.32}.project-button{position:relative;overflow:hidden}.project-button:after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent,#d8ff45);transform:scaleY(0);transition:transform .28s;transform-origin:bottom}.project-button.active:after,.project-button:hover:after{transform:scaleY(1)}
@media(max-width:1100px){.project-fingerprint{grid-template-columns:1fr}.project-fingerprint div{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:8px}.project-fingerprint span{margin:0}}
@media(max-width:700px){.project-fingerprint{margin:14px 0}.project-fingerprint div{grid-template-columns:72px 1fr;padding:8px 9px}.project-fingerprint b{font-size:8px}}

/* v4.1 final portfolio polish */
html{scroll-padding-top:90px}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
::selection{background:rgba(216,255,69,.92);color:#05070d}
:where(h1,h2,h3){text-wrap:balance}:where(p,li){text-wrap:pretty}
:where(a,button,input):focus-visible{outline:2px solid #d8ff45;outline-offset:4px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
