@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--black:#070707;--ink:#0b0b0c;--paper:#eeeae2;--white:#f1f0ec;--muted:#888785;--line:rgba(255,255,255,.14);--mono:'DM Mono',monospace;--sans:'Inter',sans-serif;--pad:clamp(22px,4vw,72px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--white);font-family:var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}.grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.055;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='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.loader{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;background:#050505;transition:opacity .55s,visibility .55s}.loaded .loader{opacity:0;visibility:hidden}.loader-word{font-size:clamp(36px,8vw,98px);font-weight:900;letter-spacing:-.07em}.loader-status{margin-top:20px;font:10px var(--mono);letter-spacing:.2em;color:#777}.loader-line{width:100%;height:1px;margin-top:15px;background:#222}.loader-line i{display:block;width:0;height:1px;background:#eee;animation:load .8s forwards}.cursor{position:fixed;z-index:999;left:0;top:0;width:8px;height:8px;border-radius:50%;background:#eee;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);transition:width .2s,height .2s}.cursor.hover{width:32px;height:32px}.site-header{position:fixed;z-index:90;top:0;left:0;width:100%;height:88px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid transparent;transition:.35s}.site-header.scrolled{height:62px;background:rgba(7,7,7,.82);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.1)}.logo{font-size:15px;font-weight:800;letter-spacing:-.04em}.logo span{font:9px var(--mono);letter-spacing:.1em;color:#777}.site-header nav{display:flex;gap:28px;font:10px var(--mono);letter-spacing:.12em}.site-header nav a,.text-link{position:relative}.site-header nav a:after,.text-link:after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s}.site-header nav a:hover:after,.text-link:hover:after{transform:scaleX(1);transform-origin:left}.menu-toggle{display:none;border:0;background:none;color:#fff;font:10px var(--mono)}.section-index,.eyebrow{font:10px var(--mono);letter-spacing:.16em;color:#777}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
.hero{position:relative;height:100svh;min-height:700px;overflow:hidden;background:#050505}.hero-media{position:absolute;inset:-6%;will-change:transform}.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroScale 15s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.1) 58%,rgba(0,0,0,.14)),linear-gradient(0deg,#070707 0,transparent 25%)}.hero-meta{position:absolute;z-index:2;display:flex;font:9px var(--mono);letter-spacing:.18em;color:#aaa}.top-meta{top:120px;left:var(--pad);right:var(--pad);justify-content:space-between}.hero-copy{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:7vh}.hero-kicker{margin:0 0 18px;font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.hero-title{margin:0;display:flex;justify-content:space-between;font-size:clamp(96px,19.2vw,360px);line-height:.7;letter-spacing:-.09em;font-weight:900}.hero-title span:last-child{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72)}.hero-statement{position:absolute;right:2vw;bottom:1vh;margin:0;width:250px;font-size:clamp(15px,1.25vw,22px);line-height:1.15;font-weight:500}.scroll-cue{position:absolute;z-index:3;left:var(--pad);bottom:18px;display:flex;gap:12px;align-items:center;font:9px var(--mono);letter-spacing:.15em}.scroll-cue i{width:48px;height:1px;background:#fff;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;width:20px;height:1px;background:#777;animation:scan 1.7s infinite}
.search-section{min-height:100vh;padding:120px var(--pad);background:var(--paper);color:#111}.search-layout{min-height:650px;display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw}.search-intro h2{margin:20px 0;font-size:clamp(50px,7vw,120px);line-height:.88;letter-spacing:-.07em}.search-intro h2 em{font-style:normal;color:transparent;-webkit-text-stroke:1px #111}.search-intro>p:last-child{max-width:260px;color:#777}.search-console{border-top:1px solid #aaa;border-bottom:1px solid #aaa;padding:22px 0}.engine-switch{display:flex;gap:34px}.engine{padding:0 0 12px;border:0;border-bottom:2px solid transparent;background:none;color:#999;font:10px var(--mono);letter-spacing:.1em;cursor:pointer}.engine.active{color:#111;border-color:#111}.search-console form{margin:70px 0 35px}.search-console label{display:block;margin-bottom:15px;font:9px var(--mono);letter-spacing:.18em;color:#777}.command{display:flex;align-items:center;gap:14px}.command>span{font:24px var(--mono)}.command input{min-width:0;flex:1;border:0;border-bottom:1px solid #999;padding:16px 0;background:none;outline:0;color:#111;font-size:clamp(22px,3vw,52px);font-weight:600;letter-spacing:-.04em}.command input:focus{border-color:#111}.command button{width:70px;height:70px;border:1px solid #111;border-radius:50%;background:#111;color:#fff;font:10px var(--mono);cursor:pointer}.console-meta{display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.12em;color:#777}
.work-intro{padding:120px 0 180px;overflow:hidden}.work-intro>.section-index{padding:0 var(--pad)}.marquee{margin:80px 0;white-space:nowrap;font-size:clamp(80px,14vw,260px);line-height:.75;font-weight:900;letter-spacing:-.08em;color:transparent;-webkit-text-stroke:1px #3c3c3c}.marquee div{animation:marquee 30s linear infinite}.work-intro-copy{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:0 var(--pad)}.work-intro-copy h2{margin:0;font-size:clamp(64px,10vw,170px);line-height:.82;letter-spacing:-.075em}.work-intro-copy p{justify-self:end;max-width:420px;margin:0;color:#999;font-size:18px;line-height:1.55}
.prompt-story{height:360vh;background:#090b08}.prompt-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.prompt-bg-word{position:absolute;left:-2vw;bottom:-5vw;font-size:22vw;font-weight:900;letter-spacing:-.1em;color:rgba(123,255,91,.025)}.story-copy{position:absolute;z-index:5;inset:0 auto 0 0;width:42%;padding:100px var(--pad);display:flex;flex-direction:column}.story-no{font:9px var(--mono);letter-spacing:.15em;color:#78916e}.story-steps{margin:auto 0}.story-step{display:none;margin:0;font-size:clamp(60px,8vw,135px);line-height:.82;letter-spacing:-.075em}.story-step.active{display:block;animation:storyIn .65s both}.story-footer{display:flex;justify-content:space-between;align-items:center;font:9px var(--mono);letter-spacing:.12em}.story-footer a{color:#9dea82}.prompt-stage{position:absolute;inset:0 0 0 37%;perspective:1200px}.app-window{margin:0;background:#111;border:1px solid rgba(255,255,255,.18);box-shadow:0 40px 90px rgba(0,0,0,.55);overflow:hidden}.window-bar{height:30px;padding:0 12px;display:flex;align-items:center;gap:8px;background:#171717;border-bottom:1px solid rgba(255,255,255,.08);font:8px var(--mono);letter-spacing:.1em;color:#777}.window-bar i{width:6px;height:6px;border-radius:50%;background:currentColor}.app-window img{display:block;width:100%;height:auto}.prompt-window{position:absolute;width:min(72vw,1050px);will-change:transform,opacity}.prompt-window.one{top:17%;left:8%;transform:translate3d(10%,35%,0) rotateY(-7deg)}.prompt-window.two{top:12%;left:18%;opacity:0;transform:translate3d(30%,40%,0) scale(.86)}.prompt-window.three{top:15%;left:13%;opacity:0;transform:translate3d(30%,40%,0) scale(.86)}.prompt-fragments span{position:absolute;z-index:8;padding:8px 10px;border:1px solid rgba(159,255,128,.25);background:#0a0d09;color:#9dea82;font:8px var(--mono);letter-spacing:.1em}.prompt-fragments span:nth-child(1){top:10%;left:4%}.prompt-fragments span:nth-child(2){top:77%;right:4%}.prompt-fragments span:nth-child(3){top:19%;right:8%}
.records-section{position:relative;min-height:170vh;background:#080403;overflow:hidden}.records-art{position:absolute;inset:-5%}.records-art img{width:100%;height:100%;object-fit:cover}.records-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,3,2,.08),rgba(5,3,2,.82) 72%),linear-gradient(0deg,#080403 0,transparent 35%)}.records-content{position:relative;z-index:2;padding:120px var(--pad)}.section-index.light{color:#cc5b49}.records-content h2{margin:60px 0 30px;font-size:clamp(75px,13vw,230px);line-height:.75;letter-spacing:-.08em}.records-content h2 em{color:#b93728;font-style:normal}.records-desc{margin-left:auto;max-width:380px;color:#b9a39e;font-size:17px}.text-link{display:inline-block;margin-top:30px;font:10px var(--mono);letter-spacing:.15em}.record-window{width:min(88vw,1250px);margin:150px auto 0;transform:rotate(-2deg);box-shadow:0 50px 120px #000}.records-wave{position:absolute;left:0;right:0;top:55%;height:1px;background:#6b2018;box-shadow:0 0 60px 18px rgba(180,50,35,.18)}
.project-navigator{padding:120px 0;background:#e8e5de;color:#0a0a0a;overflow:hidden}.navigator-head{padding:0 var(--pad);display:grid;grid-template-columns:1fr 2fr auto;align-items:end}.navigator-head h2{margin:0;font-size:clamp(80px,14vw,230px);line-height:.72;letter-spacing:-.09em}.nav-controls{display:flex;gap:8px}.nav-controls button{width:52px;height:52px;border:1px solid #aaa;border-radius:50%;background:none;cursor:pointer}.project-track{display:flex;gap:18px;margin-top:90px;padding:0 var(--pad) 45px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}.project-track::-webkit-scrollbar{display:none}.project-track.dragging{cursor:grabbing}.project-slide{position:relative;flex:0 0 min(68vw,900px);height:min(64vw,690px);scroll-snap-align:center;background:#111;overflow:hidden;color:#fff}.project-slide>span{position:absolute;z-index:2;top:20px;left:20px;font:9px var(--mono);letter-spacing:.12em}.project-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.7);transition:transform .8s,filter .6s}.project-slide h3{position:absolute;z-index:2;left:25px;bottom:18px;margin:0;font-size:clamp(60px,9vw,145px);line-height:.75;letter-spacing:-.08em;color:var(--accent)}.project-slide:hover img{transform:scale(1.035);filter:brightness(.72) saturate(.9)}
.dual-feature{position:relative;min-height:130vh;overflow:hidden}.campaign-image{position:absolute;inset:0}.campaign-image img{width:100%;height:100%;object-fit:cover}.transfer-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),transparent 52%),linear-gradient(0deg,#070707 0,transparent 30%)}.feature-copy{position:absolute;z-index:3}.feature-copy>p:first-child,.design-copy>p:first-child,.gpo-heading+*{font:9px var(--mono);letter-spacing:.14em}.feature-copy h2,.design-copy h2,.exif-copy h2{margin:26px 0;font-size:clamp(54px,8.5vw,145px);line-height:.81;letter-spacing:-.075em}.feature-copy h2 em,.design-copy h2 em,.exif-copy h2 em{font-style:normal;color:var(--accent,#58c9f3)}.feature-copy>p:not(:first-child),.design-copy>p:not(:first-child),.exif-copy>p:not(:first-child){max-width:400px;color:#929292;line-height:1.6}.cloud-copy{--accent:#58c9f3;left:var(--pad);top:15%}.feature-screen{position:absolute;z-index:4}.cloud-screen{width:55vw;right:4vw;bottom:5%;transform:rotate(2.5deg)}.padlock-scene{background:#0b0906}.lock-copy{--accent:#c99a54;right:var(--pad);top:20%;width:52%}.lock-screen{left:8vw;bottom:10%;width:min(34vw,470px);transform:rotate(-5deg)}.lock-orbit{position:absolute;left:-18vw;top:-10vw;width:85vw;height:85vw;border:1px solid #2b251d;border-radius:50%}.lock-orbit i{position:absolute;inset:12%;border:1px solid #27221c;border-radius:50%}.lock-orbit i:nth-child(2){inset:25%}.lock-orbit i:nth-child(3){inset:39%;background:radial-gradient(circle,rgba(184,129,57,.15),transparent 70%)}
.gpo-scene{position:relative;min-height:120vh;padding:120px var(--pad);overflow:hidden;background:#e7e7e3;color:#0d0d0d}.gpo-heading{position:relative;z-index:2}.gpo-heading h2{margin:70px 0 30px;font-size:clamp(70px,12vw,210px);line-height:.74;letter-spacing:-.09em}.gpo-heading p{max-width:340px;color:#666}.gpo-screen{position:absolute;z-index:3;width:58vw;right:-6vw;bottom:5%;transform:rotate(-3deg);box-shadow:0 50px 100px rgba(0,0,0,.25)}.gpo-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#c5c5c0 50%,transparent 50.1%),linear-gradient(0deg,transparent 49.9%,#c5c5c0 50%,transparent 50.1%);background-size:90px 90px;opacity:.25}
.design-system{position:relative;min-height:250vh;background:#090808}.design-art{position:sticky;top:0;height:100vh;opacity:.72}.design-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090808 0,transparent 50%,#090808 100%),linear-gradient(0deg,#090808 0,transparent 25%)}.design-art img{width:100%;height:100%;object-fit:cover}.design-grid{position:absolute;inset:0;padding:140px var(--pad);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:8vw}.design-copy{position:relative;z-index:2}.design-copy{--accent:#ed4fa9}.ico-copy{grid-column:2;grid-row:2;--accent:#43d1ad}.calendar-screen,.ico-screen{width:52vw;transform:rotate(3deg)}.calendar-screen{grid-column:2}.ico-screen{grid-column:1;grid-row:2;transform:rotate(-3deg)}
.exif-scene{min-height:120vh;padding:130px var(--pad);display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#080b12}.exif-copy{--accent:#3a63ff}.exif-stack{position:relative}.exif-stack .app-window{position:relative;z-index:2;transform:rotate(2deg)}.meta-sheet{position:absolute;inset:-40px 60px 40px -60px;padding:30px;border:1px solid #29469f;transform:rotate(-6deg);display:flex;flex-direction:column;gap:30px;color:#537bf1;font:10px var(--mono);letter-spacing:.15em;background:#0a1020}.meta-sheet span{border-bottom:1px solid #1c326c;padding-bottom:12px}
.other-work{padding:120px var(--pad);background:#dfe0dc;color:#111}.other-row{margin-top:70px;display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw;align-items:center}.other-row h2{font-size:clamp(55px,8vw,130px);line-height:.8;letter-spacing:-.08em;margin:30px 0}.other-row p{max-width:400px;color:#666}.other-row img{width:100%;box-shadow:0 30px 80px rgba(0,0,0,.2)}
.opensource{padding:140px var(--pad);background:#090909}.opensource>h2{font-size:clamp(75px,14vw,230px);line-height:.72;letter-spacing:-.09em;margin:75px 0}.repo-list{border-top:1px solid var(--line)}.repo-list a{min-height:110px;display:grid;grid-template-columns:60px 1fr minmax(0,400px) auto;align-items:center;gap:20px;border-bottom:1px solid var(--line);transition:padding .3s,background .3s}.repo-list a:hover{padding:0 20px;background:#111}.repo-list span,.repo-list i,.repo-list small{font:9px var(--mono);letter-spacing:.1em;color:#777}.repo-list strong{font-size:clamp(20px,3vw,46px);letter-spacing:-.05em}.repo-list i{font-style:normal}.repo-list small{line-height:1.5}
.toolbox{padding:120px var(--pad);background:#b7ff72;color:#0a0a0a;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.toolbox h2{font-size:clamp(45px,7vw,105px);line-height:.84;letter-spacing:-.07em}.tool-ribbon{display:flex;flex-wrap:wrap;align-content:center;gap:9px}.tool-ribbon a{padding:14px 18px;border:1px solid rgba(0,0,0,.3);border-radius:50%;font:10px var(--mono);letter-spacing:.08em;transition:.25s}.tool-ribbon a:hover{background:#0a0a0a;color:#fff;transform:translateY(-3px)}
footer{padding:100px var(--pad) 35px;background:#050505}.footer-word{font-size:clamp(90px,21vw,390px);line-height:.7;font-weight:900;letter-spacing:-.095em;color:transparent;-webkit-text-stroke:1px #444}.footer-word+ p{margin:80px 0 30px;font-size:clamp(30px,5vw,80px);line-height:.9;letter-spacing:-.055em}.footer-links{display:flex;gap:30px;font:10px var(--mono);letter-spacing:.12em}.footer-bottom{margin-top:100px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font:8px var(--mono);letter-spacing:.12em;color:#777}
:focus-visible{outline:2px solid #b7ff72;outline-offset:5px}
@keyframes load{to{width:100%}}@keyframes scan{from{transform:translateX(-100%)}to{transform:translateX(240%)}}@keyframes heroScale{from{transform:scale(1.07)}to{transform:scale(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes storyIn{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:none}}
@media(max-width:900px){.cursor{display:none}.site-header nav{position:fixed;inset:0;z-index:-1;padding:130px var(--pad);display:flex;flex-direction:column;gap:25px;background:#080808;transform:translateY(-100%);transition:.45s}.site-header nav.open{transform:none}.site-header nav a{font-size:clamp(38px,10vw,80px);font-family:var(--sans);font-weight:700;letter-spacing:-.06em}.menu-toggle{display:block}.top-meta span:nth-child(2){display:none}.hero-title{font-size:20vw}.hero-statement{right:0}.search-layout,.work-intro-copy,.toolbox,.exif-scene{grid-template-columns:1fr}.search-layout{gap:40px}.work-intro-copy p{justify-self:start;margin-top:35px}.story-copy{width:100%;padding-top:80px;pointer-events:none}.story-steps{margin:70px 0 0}.story-step{font-size:15vw}.story-footer{margin-top:auto}.prompt-stage{inset:26% -25% 0 18%}.prompt-window{width:95vw}.prompt-fragments{display:none}.navigator-head{grid-template-columns:1fr auto}.navigator-head>.section-index{grid-column:1/-1;margin-bottom:50px}.project-slide{flex-basis:82vw}.lock-copy{width:60%}.gpo-screen{width:75vw}.design-grid{gap:3vw}.repo-list a{grid-template-columns:40px 1fr auto}.repo-list small{display:none}.toolbox{gap:40px}.exif-stack{max-width:700px}}
@media(max-width:600px){:root{--pad:20px}.site-header{height:66px}.top-meta{top:90px}.top-meta span:last-child{display:none}.hero{min-height:650px}.hero-media{inset:0 -45% 0 -10%}.hero-title{display:block;font-size:24vw;line-height:.72}.hero-title span{display:block}.hero-title span:last-child{text-align:right}.hero-statement{position:static;margin-top:28px;width:210px}.scroll-cue{display:none}.search-section{padding-top:90px}.search-layout{min-height:auto}.search-intro h2{font-size:16vw}.search-console form{margin:45px 0 28px}.command button{width:56px;height:56px}.console-meta span:last-child{display:none}.work-intro{padding:90px 0 120px}.marquee{margin:60px 0}.work-intro-copy h2{font-size:18vw}.prompt-story{height:230vh}.prompt-bg-word{display:none}.story-no{margin-top:0}.prompt-stage{inset:33% -18% 0 6%}.prompt-window{width:100vw}.prompt-window.one,.prompt-window.two,.prompt-window.three{left:0;top:10%;transform:none}.story-footer{pointer-events:auto}.records-section{min-height:130vh}.records-art{inset:0 -45%}.records-content{padding-top:90px}.records-content h2{font-size:20vw}.records-desc{margin:0}.record-window{width:105vw;margin:110px 0 0 -4vw;transform:rotate(-1deg)}.project-navigator{padding-top:90px}.navigator-head h2{font-size:22vw}.project-track{margin-top:60px}.project-slide{flex-basis:88vw;height:112vw}.project-slide h3{font-size:16vw}.dual-feature{min-height:110vh}.campaign-image{inset:0 -60%}.cloud-copy{top:10%}.cloud-screen{width:92vw;right:-8vw;bottom:8%}.padlock-scene{min-height:115vh}.lock-copy{top:10%;left:var(--pad);right:auto;width:88%}.lock-screen{left:14vw;bottom:8%;width:72vw}.lock-orbit{width:150vw;height:150vw;left:-58vw;top:20%}.feature-copy h2,.design-copy h2,.exif-copy h2{font-size:16vw}.gpo-scene{min-height:105vh;padding-top:90px}.gpo-heading h2{font-size:20vw}.gpo-screen{width:105vw;right:-28vw;bottom:8%}.design-system{min-height:250vh}.design-art{opacity:.45}.design-grid{padding:90px var(--pad);grid-template-columns:1fr;grid-template-rows:repeat(4,1fr)}.calendar-screen,.ico-screen{width:100%;grid-column:1;transform:none}.calendar-screen{grid-row:2}.ico-copy{grid-column:1;grid-row:3}.ico-screen{grid-row:4}.exif-scene{padding-top:90px;min-height:auto}.exif-stack{margin:80px 20px 20px}.other-work,.opensource,.toolbox{padding-top:90px}.other-row{grid-template-columns:1fr}.other-row img{margin-top:40px}.opensource>h2{font-size:22vw}.repo-list a{min-height:90px}.repo-list i{display:none}.repo-list strong{font-size:22px}.tool-ribbon a{padding:11px 13px}.footer-word{font-size:23vw}.footer-word+p{margin-top:60px}.footer-bottom{margin-top:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader{display:none}.hero-media img,.marquee div{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.prompt-story{height:auto}.prompt-sticky{position:relative;height:auto;min-height:100vh}.prompt-stage{position:relative;inset:auto;margin:250px 0 80px}.prompt-window{position:relative!important;opacity:1!important;transform:none!important;top:auto!important;left:auto!important;margin:20px}.design-system{min-height:auto}.design-art{position:absolute}.design-grid{position:relative}.cursor{display:none}}
/* Distinct external-tool identities */
.toolbox{background:#d9ff9f;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}
.toolbox>div:first-child{position:sticky;top:100px;align-self:start}
.tool-ribbon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;border:1px solid rgba(0,0,0,.25);background:rgba(0,0,0,.22);align-content:start}
.tool-ribbon .tool-item{position:relative;min-height:96px;padding:15px 17px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;border:0;border-radius:0;background:#d9ff9f;color:#0a0a0a;letter-spacing:0;transition:background .25s,color .25s,transform .25s;overflow:hidden}
.tool-ribbon .tool-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--tool);transform:scaleY(.25);transition:transform .3s}
.tool-ribbon .tool-item:hover{background:#0b0b0b;color:#fff;transform:none}
.tool-ribbon .tool-item:hover::before{transform:scaleY(1)}
.tool-item img{width:52px;height:52px;padding:10px;border-radius:14px;background:#fff;object-fit:contain;box-shadow:0 7px 20px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s}
.tool-item:hover img{transform:scale(1.06) rotate(-3deg);box-shadow:0 0 0 1px var(--tool),0 8px 28px rgba(0,0,0,.35)}
.tool-item span{display:flex;min-width:0;flex-direction:column;gap:5px}
.tool-item strong{font:700 15px var(--sans);letter-spacing:-.025em}
.tool-item small{font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#526046;white-space:nowrap}
.tool-item:hover small{color:#929292}
.tool-item i{font:400 14px var(--mono);font-style:normal;color:#526046;transition:transform .25s,color .25s}
.tool-item:hover i{color:var(--tool);transform:translate(3px,-3px)}
@media(max-width:900px){.toolbox>div:first-child{position:static}.tool-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.tool-ribbon{grid-template-columns:1fr}.tool-ribbon .tool-item{min-height:82px;padding:12px 14px;grid-template-columns:46px minmax(0,1fr) auto}.tool-item img{width:46px;height:46px;padding:9px}.tool-item strong{font-size:14px}}


/* Search belongs to the opening screen */
.hero{min-height:820px}.hero-copy{bottom:210px}
.hero-search-dock{position:absolute;z-index:5;left:var(--pad);right:var(--pad);bottom:32px;display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.18);box-shadow:0 24px 70px rgba(0,0,0,.38)}
.hero-search-form{padding:15px 17px 16px;background:rgba(7,7,7,.84);backdrop-filter:blur(18px);transition:background .3s}.hero-search-form:focus-within{background:rgba(13,14,13,.96)}
.hero-search-form label{display:flex;gap:13px;margin-bottom:10px;font:8px var(--mono);letter-spacing:.16em;color:#aaa}.hero-search-form label span{color:#5d5d5d}.hero-search-form>div{display:flex;align-items:center;gap:12px}
.hero-search-form input{min-width:0;flex:1;padding:9px 0;border:0;border-bottom:1px solid rgba(255,255,255,.25);outline:0;background:transparent;color:#fff;font-size:clamp(16px,1.5vw,24px);font-weight:600;letter-spacing:-.035em}.hero-search-form input::placeholder{color:#626262}.hero-search-form input:focus{border-color:var(--search-accent)}
.hero-search-form button{width:48px;height:48px;flex:0 0 auto;border:1px solid rgba(255,255,255,.23);border-radius:50%;background:transparent;color:#fff;font:8px var(--mono);cursor:pointer;transition:.25s}.hero-search-form:focus-within button,.hero-search-form button:hover{border-color:var(--search-accent);background:var(--search-accent);color:#080808}
.duck-search{--search-accent:#b7ff72}.google-search{--search-accent:#78a7ff}.duck-search:focus-within{box-shadow:inset 3px 0 0 #b7ff72}.google-search:focus-within{box-shadow:inset 3px 0 0 #78a7ff}
.work-intro{background:var(--paper);color:#111}.work-intro>.section-index{color:#666}.work-intro .marquee{-webkit-text-stroke-color:#8c8a85}.work-intro-copy p{color:#5f5e5a}
@media(max-width:900px){.hero-copy{bottom:220px}.hero-statement{bottom:0}.hero-search-dock{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.hero{min-height:900px}.hero-copy{bottom:310px}.hero-search-dock{bottom:24px;grid-template-columns:1fr}.hero-search-form{padding:12px 14px}.hero-search-form input{font-size:16px}.hero-search-form button{width:43px;height:43px}.hero-statement{margin-top:20px}.work-intro{padding-top:90px}}

.hero .scroll-cue{display:none}

/* Direct project directory */
.project-quick-index{margin:110px var(--pad) 0;border-top:1px solid rgba(0,0,0,.35)}
.quick-index-label{margin:0;padding:18px 0;font:8px var(--mono);letter-spacing:.16em;color:#696864}
.quick-index-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(0,0,0,.18);border-left:1px solid rgba(0,0,0,.18)}
.quick-index-list a{position:relative;min-height:94px;padding:18px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;border-right:1px solid rgba(0,0,0,.18);border-bottom:1px solid rgba(0,0,0,.18);overflow:hidden;transition:background .28s,color .28s}
.quick-index-list a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--project);transform:scaleY(.18);transition:transform .3s}
.quick-index-list a:hover{background:#101010;color:#fff}.quick-index-list a:hover::before{transform:scaleY(1)}
.quick-index-list span{font:8px var(--mono);color:#777}.quick-index-list strong{font-size:clamp(15px,1.3vw,20px);letter-spacing:-.035em}.quick-index-list i{font:12px var(--mono);font-style:normal;color:#777;transition:transform .25s,color .25s}.quick-index-list a:hover i{color:var(--project);transform:translate(3px,-3px)}
@media(max-width:900px){.quick-index-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.project-quick-index{margin:70px var(--pad) 0}.quick-index-list{grid-template-columns:1fr}.quick-index-list a{min-height:72px;padding:14px 15px}}


/* Compact single-line project directory */
.project-quick-index{margin-top:80px}
.quick-index-list{display:flex;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.35) transparent}
.quick-index-list a{flex:1 0 112px;min-width:112px;min-height:58px;padding:10px 11px;grid-template-columns:20px minmax(0,1fr) auto;gap:5px;scroll-snap-align:start}
.quick-index-list strong{font-size:11px;line-height:1.08;letter-spacing:-.025em}
.quick-index-list span{font-size:7px}
.quick-index-list i{font-size:9px}
@media(max-width:900px){.quick-index-list{display:flex;grid-template-columns:none}.quick-index-list a{flex:0 0 125px}}
@media(max-width:600px){.project-quick-index{margin-top:60px;margin-right:0}.quick-index-list{display:flex;grid-template-columns:none;padding-right:20px}.quick-index-list a{flex:0 0 122px;min-height:56px;padding:9px 10px}}

/* 1080p proportion pass */
@media(min-width:901px){
  .work-intro{padding:82px 0 92px}
  .work-intro .marquee{margin:48px 0;font-size:clamp(70px,10vw,170px);line-height:.72}
  .work-intro-copy h2{font-size:clamp(58px,7.2vw,116px)}
  .work-intro-copy p{font-size:15px;max-width:380px}
  .project-quick-index{margin-top:58px}
  .quick-index-label{padding:13px 0}
  .quick-index-list a{min-height:52px;padding:8px 10px}

  .project-navigator{position:relative;padding:78px 0 82px}
  .navigator-head{grid-template-columns:1fr 2fr}
  .navigator-head h2{font-size:clamp(68px,9vw,145px);line-height:.74}
  .project-track{margin-top:55px;padding-bottom:24px}
  .project-slide{flex-basis:min(58vw,780px);height:min(46vw,510px)}
  .project-slide h3{font-size:clamp(52px,6.8vw,105px)}

  .nav-controls{position:absolute;z-index:8;left:calc(var(--pad) - 8px);right:calc(var(--pad) - 8px);top:60%;display:flex;justify-content:space-between;pointer-events:none}
  .nav-controls button{width:58px;height:58px;border-color:rgba(255,255,255,.36);background:rgba(7,7,7,.78);color:#fff;backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.28);pointer-events:auto;transition:transform .25s,background .25s,color .25s}
  .nav-controls button:hover{transform:scale(1.08);background:#e8e5de;color:#111}
}
@media(min-width:901px) and (max-height:850px){
  .work-intro{padding-top:64px;padding-bottom:74px}
  .work-intro .marquee{margin:36px 0;font-size:9vw}
  .work-intro-copy h2{font-size:6.5vw}
  .project-quick-index{margin-top:44px}
  .project-navigator{padding-top:62px;padding-bottom:68px}
  .navigator-head h2{font-size:8vw}
  .project-track{margin-top:42px}
  .project-slide{height:min(43vw,440px)}
}

/* My Projects: 15% more vertical breathing room */
@media(min-width:901px){
  .work-intro{padding-top:96px;padding-bottom:106px}
  .work-intro .marquee{margin-top:55px;margin-bottom:55px}
  .project-quick-index{margin-top:66px}
}
@media(min-width:901px) and (max-height:850px){
  .work-intro{padding-top:74px;padding-bottom:85px}
  .work-intro .marquee{margin-top:42px;margin-bottom:42px}
  .project-quick-index{margin-top:51px}
}

/* Mobile rebuild — designed as a separate flow */
@media(max-width:600px){
  html,body{max-width:100%;overflow-x:hidden}
  .site-header{height:64px;padding:0 18px}
  .site-header .logo{position:relative;z-index:3}
  .menu-toggle{position:relative;z-index:3;display:flex;align-items:center;gap:8px;padding:10px 0}
  .site-header nav{position:fixed!important;inset:0!important;z-index:2!important;padding:105px 20px 40px!important;display:flex!important;flex-direction:column!important;gap:14px!important;background:#080808!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-105%)!important;transition:transform .42s,opacity .3s,visibility .42s!important}
  .site-header nav.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important}
  .site-header nav a{font-size:clamp(38px,13vw,58px)!important;line-height:.95}

  .hero{height:100svh;min-height:760px}
  .hero-media{inset:0 -42% 0 -8%}
  .top-meta{top:88px;left:20px;right:20px}
  .hero-copy{left:20px;right:20px;bottom:188px}
  .hero-kicker{margin-bottom:12px;font-size:8px;line-height:1.45}
  .hero-title{display:block;width:100%;font-size:21.5vw;line-height:.75;letter-spacing:-.095em}
  .hero-title span{display:block;max-width:100%}
  .hero-title span:last-child{padding-right:10px;text-align:right}
  .hero-statement{position:static;width:190px;margin-top:17px;font-size:14px;line-height:1.05}
  .hero-search-dock{left:16px;right:16px;bottom:14px;grid-template-columns:1fr}
  .hero-search-form{padding:9px 12px 10px}
  .hero-search-form label{margin-bottom:5px}
  .hero-search-form input{padding:5px 0;font-size:15px}
  .hero-search-form button{width:39px;height:39px}

  .work-intro{padding:72px 0 76px}
  .work-intro .marquee{margin:45px 0;font-size:22vw}
  .work-intro-copy{display:block}
  .work-intro-copy h2{font-size:17vw;line-height:.84}
  .work-intro-copy p{margin-top:26px;font-size:15px}
  .project-quick-index{margin-top:52px}
  .quick-index-label{padding-right:20px}
  .quick-index-list{padding-right:20px}

  .prompt-story{height:auto!important;padding:82px 0 70px;background:#090b08}
  .prompt-sticky{position:relative!important;top:auto;height:auto!important;min-height:0!important;overflow:hidden}
  .prompt-bg-word{display:none}
  .story-copy{position:relative;inset:auto;width:auto;padding:0 20px;display:block}
  .story-no{margin:0 0 36px}
  .story-steps{margin:0}
  .story-step{display:none!important}
  .story-step:last-child{display:block!important;font-size:17vw;line-height:.82}
  .story-footer{margin-top:38px;gap:20px}
  .prompt-stage{position:relative;inset:auto;margin:55px 0 0;perspective:none}
  .prompt-fragments{display:none}
  .prompt-window{position:relative!important;top:auto!important;left:auto!important;width:calc(100% - 32px)!important;margin:0 16px 18px!important;opacity:1!important;transform:none!important}
  .prompt-window .window-bar{height:26px}

  .records-section{min-height:auto}
  .records-content{padding:82px 20px 75px}
  .records-content h2{margin:45px 0 25px}
  .record-window{width:calc(100% + 12px);margin:80px 0 0 -6px;transform:none}

  .project-navigator{position:relative;padding:76px 0 72px}
  .navigator-head{display:block;padding:0 20px}
  .navigator-head h2{font-size:21vw}
  .project-track{margin-top:50px;padding:0 20px 24px;gap:12px}
  .project-slide{flex-basis:84vw;height:96vw}
  .project-slide h3{font-size:15vw}
  .nav-controls{position:absolute;z-index:8;left:8px;right:8px;top:59%;display:flex;justify-content:space-between;pointer-events:none}
  .nav-controls button{width:46px;height:46px;background:rgba(7,7,7,.78);border-color:rgba(255,255,255,.4);color:#fff;box-shadow:0 8px 25px rgba(0,0,0,.3);pointer-events:auto}

  .dual-feature{min-height:auto;padding:82px 20px 70px}
  .campaign-image{inset:0 -70%}
  .feature-copy,.cloud-copy,.lock-copy{position:relative;inset:auto;left:auto;right:auto;top:auto;width:auto}
  .feature-copy h2{font-size:16vw}
  .feature-screen,.cloud-screen,.lock-screen{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin:60px 0 0;transform:none}
  .lock-orbit{width:150vw;height:150vw;left:-70vw;top:24%}

  .gpo-scene{min-height:auto;padding:82px 20px 75px}
  .gpo-heading h2{margin:45px 0 28px;font-size:19vw}
  .gpo-screen{position:relative;right:auto;bottom:auto;width:calc(100% + 24px);margin:65px 0 0 -12px;transform:none}

  .design-system{min-height:auto;padding:82px 20px 75px}
  .design-art{position:absolute;inset:0;height:auto;opacity:.32}
  .design-grid{position:relative;inset:auto;padding:0;display:block}
  .design-copy{margin:0 0 45px}
  .design-copy.ico-copy{margin-top:90px}
  .calendar-screen,.ico-screen{width:100%;margin:0;transform:none}
  .exif-scene{padding:82px 20px 75px;gap:0}
  .exif-stack{margin:75px 20px 20px}
  .other-work,.opensource,.toolbox{padding:82px 20px 75px}
  .other-row{margin-top:45px}
  .repo-list a{padding:16px 0;grid-template-columns:30px 1fr;align-items:start}
  .repo-list a strong{font-size:21px}
  .repo-list a small{display:block;grid-column:2;font-size:8px;line-height:1.55}
  .repo-list a i{display:none}
  .toolbox{display:block}
  .tool-ribbon{margin-top:45px}
  footer{padding:82px 20px 30px}
}
@media(max-width:600px) and (max-height:700px){
  .hero{min-height:720px}
  .top-meta{top:76px}
  .hero-copy{bottom:178px}
  .hero-title{font-size:19.5vw}
  .hero-statement{font-size:13px}
}

@media(max-width:600px){
  .menu-toggle{display:flex!important;visibility:visible!important;opacity:1!important;position:absolute!important;right:18px;top:13px;color:#fff!important}
  .hero-title span:last-child{font-size:19vw;letter-spacing:-.12em;padding-right:0;transform:scaleX(.94);transform-origin:right center}
}

@media(max-width:600px){
  .menu-toggle{width:62px;height:34px;justify-content:center!important;border:1px solid rgba(255,255,255,.35)!important;border-radius:20px!important;background:rgba(7,7,7,.62)!important;font-size:0!important}
  .menu-toggle span{display:none!important}
  .menu-toggle::before{content:"MENU";display:block;color:#fff;font:9px var(--mono);letter-spacing:.13em}
  .hero-title span:last-child{font-size:16vw;letter-spacing:-.1em;padding-right:18px;transform:none}
}

/* Centered search console above the hero identity */
.hero-search-dock{
  left:50%;
  right:auto;
  top:43%;
  bottom:auto;
  width:min(760px,calc(100% - (var(--pad) * 2)));
  grid-template-columns:1fr;
  transform:translate(-50%,-50%);
  border-color:rgba(255,255,255,.22);
  background:transparent;
  box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.1);
  backdrop-filter:blur(22px) saturate(135%);
  -webkit-backdrop-filter:blur(22px) saturate(135%);
}
.hero-search-form{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-search-form+.hero-search-form{border-top:1px solid rgba(255,255,255,.22)}
.hero-search-form:first-child{box-shadow:inset 0 -1px 0 rgba(0,0,0,.22)}
.hero-search-form:last-child{box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.hero-search-form:focus-within{background:rgba(7,7,7,.07)}
.hero-copy{bottom:4vh}

@media(max-width:900px){
  .hero-search-dock{grid-template-columns:1fr}
  .hero-copy{bottom:3vh}
}

@media(max-width:600px){
  .hero{height:100svh;min-height:700px}
  .hero-search-dock{
    left:50%;
    right:auto;
    top:45%;
    bottom:auto;
    width:calc(100% - 32px);
    grid-auto-rows:1fr;
  }
  .hero-search-form{min-height:74px;display:flex;flex-direction:column;justify-content:center}
  .hero-copy{left:20px;right:20px;bottom:24px}
  .hero-kicker{margin-bottom:8px}
  .hero-statement{margin-top:10px;font-size:13px;line-height:1.05}
}

@media(max-width:600px) and (max-height:700px){
  .hero{height:100svh;min-height:650px}
  .hero-search-dock{top:42%}
  .hero-copy{bottom:16px}
  .hero-title{font-size:18vw}
  .hero-title span:last-child{font-size:15vw}
}

/* One-screen rhythm for project cards; Prompt Crafter remains the story exception */
.records-section,.dual-feature,.gpo-scene,.exif-scene,.other-work{height:100svh;min-height:100svh}
.design-system{height:200svh;min-height:200svh}

@media(min-width:901px){
  .records-content{
    height:100svh;
    padding:100px var(--pad) 55px;
    display:grid;
    grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);
    grid-template-rows:auto auto auto auto;
    align-content:center;
    align-items:center;
    column-gap:6vw;
  }
  .records-content>.section-index{grid-column:1;align-self:end}
  .records-content h2{grid-column:1;margin:35px 0 24px;font-size:clamp(68px,8.5vw,135px)}
  .records-desc{grid-column:1;margin:0}
  .records-content>.text-link{grid-column:1}
  .record-window{grid-column:2;grid-row:1/5;width:100%;margin:0;transform:rotate(-1deg)}
  .cloud-screen{bottom:7%;width:min(52vw,850px)}
  .lock-screen{bottom:7%}
  .gpo-screen{bottom:6%}
  .exif-scene{padding-top:90px;padding-bottom:70px}
  .other-work{display:flex;flex-direction:column;justify-content:center;padding-top:90px;padding-bottom:70px}
}

@media(max-width:900px){
  .records-section,.dual-feature,.gpo-scene,.exif-scene,.other-work{height:100svh;min-height:100svh}
  .design-system{height:200svh;min-height:200svh}
}

@media(max-width:600px){
  .records-section,.dual-feature,.gpo-scene{height:100svh;min-height:100svh}
  .design-system{height:200svh;min-height:200svh}
  .exif-scene,.other-work{height:100svh;min-height:100svh}
  .records-content{height:100%;padding-top:72px;padding-bottom:35px}
  .records-content h2{margin:28px 0 18px;font-size:15vw}
  .records-desc{font-size:14px;line-height:1.45}
  .records-content>.text-link{margin-top:18px}
  .record-window{width:92vw;margin:35px 0 0 -1vw}
}

/* Scroll-pinned project cards */
.scroll-card{height:300svh!important;min-height:300svh!important;padding:0!important;overflow:visible;display:block!important}
.project-pin{--pin-p:0;position:sticky;top:0;height:100vh;height:100svh;min-height:0;overflow:hidden}
.records-section>.project-pin{background:#080403}
.records-section>.project-pin .records-content{position:relative;z-index:2}
.records-section>.project-pin .records-art,.records-section>.project-pin .records-overlay,.records-section>.project-pin .records-wave{position:absolute}
.dual-feature>.project-pin{position:sticky;background:inherit}
.transfer-scene:after{display:none}
.transfer-scene>.project-pin:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.82),transparent 52%),linear-gradient(0deg,#070707 0,transparent 30%)}
.gpo-scene>.project-pin{padding:120px var(--pad);background:#e7e7e3}
.exif-scene>.project-pin{padding:90px var(--pad) 70px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;background:#080b12}
.other-work>.project-pin{padding:90px var(--pad) 70px;display:flex;flex-direction:column;justify-content:center;background:#dfe0dc}

.scroll-card .campaign-image img,.scroll-card .records-art img{transform:scale(calc(1.08 - var(--pin-p)*.08));filter:brightness(calc(.72 + var(--pin-p)*.28))}
.records-section .record-window{opacity:calc(.28 + var(--pin-p)*.72);transform:translateY(calc((1 - var(--pin-p))*55px)) rotate(calc(-4deg + var(--pin-p)*3deg)) scale(calc(.92 + var(--pin-p)*.08))}
.transfer-scene .cloud-screen{opacity:calc(.25 + var(--pin-p)*.75);transform:translateX(calc((1 - var(--pin-p))*70px)) rotate(calc(6deg - var(--pin-p)*3.5deg)) scale(calc(.9 + var(--pin-p)*.1))}
.padlock-scene .lock-screen{opacity:calc(.25 + var(--pin-p)*.75);transform:translateY(calc((1 - var(--pin-p))*65px)) rotate(calc(-10deg + var(--pin-p)*5deg)) scale(calc(.9 + var(--pin-p)*.1))}
.padlock-scene .lock-orbit{transform:rotate(calc((1 - var(--pin-p))*-18deg)) scale(calc(.88 + var(--pin-p)*.12));opacity:calc(.35 + var(--pin-p)*.65)}
.gpo-scene .gpo-screen{opacity:calc(.2 + var(--pin-p)*.8);transform:translateX(calc((1 - var(--pin-p))*90px)) rotate(calc(-8deg + var(--pin-p)*5deg)) scale(calc(.88 + var(--pin-p)*.12))}
.exif-scene .exif-stack{opacity:calc(.2 + var(--pin-p)*.8);transform:translateY(calc((1 - var(--pin-p))*70px)) rotate(calc(3deg - var(--pin-p)*3deg)) scale(calc(.9 + var(--pin-p)*.1))}
.other-work .other-row img{opacity:calc(.25 + var(--pin-p)*.75);transform:translateX(calc((1 - var(--pin-p))*70px)) scale(calc(.92 + var(--pin-p)*.08))}
.scroll-card .app-window,.scroll-card .lock-orbit,.scroll-card .campaign-image img,.scroll-card .records-art img,.scroll-card .exif-stack,.scroll-card .other-row img{will-change:transform,opacity}

.design-system{--calendar-p:0;--ico-p:0}
.calendar-screen{opacity:calc(.2 + var(--calendar-p)*.8);transform:translateY(calc((1 - var(--calendar-p))*65px)) rotate(calc(7deg - var(--calendar-p)*4deg)) scale(calc(.9 + var(--calendar-p)*.1))}
.ico-screen{opacity:calc(.2 + var(--ico-p)*.8);transform:translateY(calc((1 - var(--ico-p))*65px)) rotate(calc(-7deg + var(--ico-p)*4deg)) scale(calc(.9 + var(--ico-p)*.1))}

@media(max-width:900px){
  .gpo-scene>.project-pin{padding:90px var(--pad)}
  .exif-scene>.project-pin{padding:90px var(--pad) 65px;grid-template-columns:1fr}
  .other-work>.project-pin{padding:82px var(--pad) 65px}
  .scroll-card{height:210svh!important;min-height:210svh!important}
}

@media(max-width:600px){
  .scroll-card{height:180svh!important;min-height:180svh!important}
  .records-section>.project-pin .records-content{height:100%;padding-top:72px;padding-bottom:35px}
  .cloud-screen{width:92vw}
  .exif-scene>.project-pin{display:grid;padding:74px 20px 45px}
  .other-work>.project-pin{padding:74px 20px 45px}
}

@media(prefers-reduced-motion:reduce){
  .scroll-card{height:100svh!important;min-height:100svh!important}
  .project-pin{position:relative}
  .scroll-card .app-window,.scroll-card .lock-orbit,.scroll-card .campaign-image img,.scroll-card .records-art img,.scroll-card .exif-stack,.scroll-card .other-row img,.calendar-screen,.ico-screen{opacity:1!important;transform:none!important}
}

/* Ambient background motion runs independently from scroll */
.records-section .records-art img{animation:ambientRecords 11s ease-in-out infinite alternate;will-change:transform,filter}
.records-section .records-wave{transform-origin:center;animation:ambientWave 4.2s ease-in-out infinite;will-change:transform,opacity}
.transfer-scene .campaign-image img{animation:ambientTransfer 13s ease-in-out infinite alternate;will-change:transform,filter}
.padlock-scene .lock-orbit{animation:ambientOrbit 20s linear infinite;will-change:transform,opacity}
.gpo-scene .gpo-lines{animation:ambientGrid 15s linear infinite;will-change:background-position,opacity}
.design-system .design-art img{animation:ambientDesign 15s ease-in-out infinite alternate;will-change:transform,filter}

@keyframes ambientRecords{
  0%{transform:scale(1.025) translate3d(-1.4%,.9%,0);filter:brightness(.66) saturate(.76)}
  100%{transform:scale(1.12) translate3d(1.7%,-1.35%,0);filter:brightness(.98) saturate(1.18)}
}
@keyframes ambientWave{
  0%,100%{opacity:.25;transform:scaleX(.58);box-shadow:0 0 38px 8px rgba(180,50,35,.1)}
  50%{opacity:.92;transform:scaleX(1.04);box-shadow:0 0 90px 28px rgba(180,50,35,.3)}
}
@keyframes ambientTransfer{
  0%{transform:scale(1.015) translate3d(-1.5%,.7%,0);filter:brightness(.74)}
  100%{transform:scale(1.105) translate3d(1.8%,-1.1%,0);filter:brightness(1.04)}
}
@keyframes ambientOrbit{
  0%{transform:rotate(0deg) scale(.92);opacity:.5}
  50%{transform:rotate(180deg) scale(1.06);opacity:1}
  100%{transform:rotate(360deg) scale(.92);opacity:.5}
}
@keyframes ambientGrid{
  0%{background-position:0 0;opacity:.12}
  50%{opacity:.34}
  100%{background-position:180px -180px;opacity:.12}
}
@keyframes ambientDesign{
  0%{transform:scale(1.015) translate3d(-1.3%,.8%,0);filter:brightness(.7)}
  100%{transform:scale(1.1) translate3d(1.5%,-1.1%,0);filter:brightness(1)}
}

@media(prefers-reduced-motion:reduce){
  .records-section .records-art img,.records-section .records-wave,.transfer-scene .campaign-image img,.padlock-scene .lock-orbit,.gpo-scene .gpo-lines,.design-system .design-art img{animation:none!important}
}

/* Projects 06 and 07 use the same pinned-card rhythm as the other projects */
.design-system{height:auto!important;min-height:0!important;background:#090808}
.design-project-card{position:relative;height:300svh;min-height:300svh}
.design-project-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#090808}
.design-project-pin .design-art{position:absolute;inset:0;height:100%;opacity:.72}
.design-project-pin .design-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090808 0,transparent 50%,#090808 100%),linear-gradient(0deg,#090808 0,transparent 25%)}
.design-project-pin .design-project-layout{position:relative;z-index:2;height:100%;padding:110px var(--pad) 70px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:6vw}
.design-project-pin .design-copy,.design-project-pin .ico-copy{grid-column:auto;grid-row:auto;margin:0;min-width:0}
.design-project-pin .design-copy h2{font-size:clamp(54px,8.5vw,145px);overflow-wrap:normal}
.design-project-pin .calendar-screen,.design-project-pin .ico-screen{grid-column:auto;grid-row:auto;width:100%;max-width:820px;margin:0}
.ico-card .design-project-layout{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.ico-card .ico-screen{grid-column:1;grid-row:1}
.ico-card .ico-copy{grid-column:2;grid-row:1}
.ico-card .ico-copy h2{font-size:clamp(54px,8.5vw,145px);line-height:.84;letter-spacing:-.075em;transform:translateX(-.72em)}
.ico-card .ico-copy h2 em{white-space:nowrap}

@media(max-width:900px){
  .design-project-pin .design-project-layout{padding:90px var(--pad) 55px;gap:4vw}
  .design-project-pin .design-copy h2,.ico-card .ico-copy h2{font-size:clamp(54px,8.5vw,92px)}
  .design-project-card{height:210svh;min-height:210svh}
}

@media(max-width:600px){
  .design-project-card{height:180svh;min-height:180svh}
  .design-project-pin .design-project-layout,.ico-card .design-project-layout{padding:74px 20px 38px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:34px}
  .design-project-pin .design-copy,.design-project-pin .ico-copy{order:1}
  .design-project-pin .calendar-screen,.design-project-pin .ico-screen{order:2;width:100%;max-height:38svh}
  .design-project-pin .design-copy h2,.ico-card .ico-copy h2{font-size:16vw;line-height:.86;letter-spacing:-.075em}
  .ico-card .ico-copy h2{transform:translateX(-.28em)}
}

@media(prefers-reduced-motion:reduce){
  .design-project-card{height:100svh;min-height:100svh}
  .design-project-pin{position:relative}
}

/* Mobile uses true one-screen cards; avoids empty sticky tails in mobile browsers */
@media(max-width:600px){
  .scroll-card{height:100svh!important;min-height:100svh!important;overflow:hidden!important}
  .project-pin{position:relative!important;top:auto;height:100svh}
  .design-project-card{height:100svh;min-height:100svh;overflow:hidden}
  .design-project-pin{position:relative;top:auto;height:100svh}
}
