@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10110f;--paper:#eeeee8;--text-2:#aaa99f;--text-3:#77776f;--text-soft:#898b7d;--muted:#96958b;--tag-hover:#c4c3b8;--lime:#c9ff5c;--lime-fill:#c9ff5c;--line:#eeeee81c;--panel:#151713;--card:#10110f;--card-2:#171915;--card-3:#191c17;--header-bg:#10110fb8;--glow:#c9ff5c12;--grain-opacity:.05;--accent-line:#c9ff5c57;--spark:#c9ff5c14;--tast-ghost:#47e5a817;--tast-ghost-strong:#47e5a829;--tast-glow:#47e5a80f;--tast-line:#47e5a859;--grid-line:#d9e4c521;--orbit-1:#c9ff5c45;--orbit-2:#e0e8cd2b;--visual-bg:radial-gradient(ellipse at 51% 47%, #c2db8a24, transparent 44%), linear-gradient(145deg, #171a16 4%, #10120f 64%, #151712);--video-filter:saturate(.48) contrast(1.08) brightness(.86);--display:"Manrope", "DM Sans", sans-serif;--mono:"DM Mono", Consolas, monospace;color:var(--paper);background-color:var(--bg);scroll-behavior:smooth;scrollbar-gutter:stable;scroll-padding-top:90px;font-family:DM Sans,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f0e9;--paper:#15160f;--text-2:#55564b;--text-3:#7a796e;--text-soft:#8d8f80;--muted:#6e6d63;--tag-hover:#2f3029;--lime:#4a7a00;--line:#15160f1f;--panel:#e8e7de;--card:#fbfaf6;--card-2:#e8e7de;--card-3:#e3e5d9;--header-bg:#f1f0e9c2;--glow:#a0d23c33;--grain-opacity:.07;--accent-line:#4a7a0066;--spark:#4a7a001a;--tast-ghost:#0d785a1f;--tast-ghost-strong:#0d785a33;--tast-glow:#0d785a12;--tast-line:#0d785a66;--grid-line:#1e280a4d;--orbit-1:#4a7a0061;--orbit-2:#14160f26;--visual-bg:radial-gradient(ellipse at 51% 47%, #c9ff5c4d, transparent 48%), linear-gradient(145deg, #e5e7dc 4%, #eef0e6 64%, #e2e5d8);--video-filter:saturate(.6) contrast(1.04) brightness(1)}*{box-sizing:border-box}body{background:radial-gradient(1100px 620px at 88% -8%, var(--glow), transparent 70%), radial-gradient(800px 500px at -10% 30%, var(--glow), transparent 70%), var(--bg);min-width:320px;min-height:100vh;margin:0}body:before{z-index:100;content:"";opacity:var(--grain-opacity);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}::selection{color:#10110f;background:var(--lime-fill)}.theme-fading,.theme-fading *{transition:background-color .5s,color .5s,border-color .5s!important}main{overflow-x:clip}.section-shell{width:min(1200px,100% - 96px);margin-inline:auto}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{50%{opacity:.5}}.site-header{z-index:50;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);justify-content:space-between;align-items:center;height:82px;padding-inline:max(48px,50% - 700px);display:flex;position:sticky;top:0}@supports (animation-timeline:scroll()){.site-header:after{content:"";background:var(--lime);transform-origin:0;height:1px;animation:linear both scroll-progress;animation-timeline:scroll(root);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0);box-shadow:0 0 10px #c9ff5c99}}@keyframes scroll-progress{to{transform:scaleX(1)}}.theme-toggle{border:1px solid var(--line);width:36px;height:36px;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:border-color .2s,color .2s,transform .2s,box-shadow .2s;display:grid}.theme-toggle:hover{border-color:var(--lime);color:var(--lime);box-shadow:0 0 18px var(--glow)}.theme-toggle:active{transform:scale(.9)}.theme-icon{width:18px;height:18px;transition:transform .8s cubic-bezier(.76,0,.24,1);overflow:visible}.theme-icon-core,.theme-icon-rays{transform-box:fill-box;transform-origin:50%}.theme-icon-core,.theme-icon-cut{transition:transform .65s cubic-bezier(.76,0,.24,1)}.theme-icon-rays{transition:transform .65s cubic-bezier(.76,0,.24,1),opacity .35s}.theme-icon-core{transform:scale(1.5)}.theme-icon-rays{opacity:0;transform:scale(.4)rotate(-90deg)}[data-theme=light] .theme-icon{transform:rotate(180deg)}[data-theme=light] .theme-icon-core{transform:scale(1)}[data-theme=light] .theme-icon-cut{transform:translate(9px,-9px)}[data-theme=light] .theme-icon-rays{opacity:1;transition-delay:.15s;transform:scale(1)rotate(0)}.theme-ring{z-index:200;pointer-events:none;view-transition-name:theme-ring;position:fixed;inset:0;overflow:hidden}.theme-ring span{top:var(--ring-y);left:var(--ring-x);border:1.5px solid var(--lime-fill);border-radius:50%;width:0;height:0;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 28px #c9ff5c8c,inset 0 0 28px #c9ff5c59}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(theme-ring){animation:none}.header-controls{align-items:center;gap:10px;display:flex}.lang-toggle{border:1px solid var(--line);height:36px;font-family:var(--mono);letter-spacing:.08em;cursor:pointer;background:0 0;border-radius:999px;grid-template-columns:30px 30px;align-items:center;padding:0 3px;font-size:11px;transition:border-color .2s,box-shadow .2s;display:grid;position:relative}.lang-toggle:hover{border-color:var(--lime);box-shadow:0 0 18px var(--glow)}.lang-toggle:active .lang-thumb{scale:.88 .82}.lang-thumb{background:var(--lime-fill);border-radius:999px;width:30px;transition:translate .56s cubic-bezier(.68,-.4,.27,1.4),scale .16s;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 0 14px #c9ff5c73}.lang-toggle[data-lang=en] .lang-thumb{transform-origin:0;animation:.56s cubic-bezier(.65,0,.35,1) thumb-stretch-right;translate:30px}.lang-toggle[data-lang=nl] .lang-thumb{transform-origin:100%;animation:.56s cubic-bezier(.65,0,.35,1) thumb-stretch-left}.lang-option{z-index:1;text-align:center;color:var(--text-3);transition:color .3s .12s;position:relative}.lang-option[data-active=true]{color:#10110f}.lang-toggle:hover .lang-option[data-active=false]{color:var(--paper)}@keyframes thumb-stretch-right{0%,to{transform:scaleX(1)}40%{transform:scaleX(1.7)}}@keyframes thumb-stretch-left{0%,to{transform:scaleX(1)}40%{transform:scaleX(1.7)}}.lang-scan{z-index:200;pointer-events:none;view-transition-name:lang-scan;position:fixed;inset:0;overflow:hidden}.lang-scan-line{background:var(--lime-fill);height:2px;position:absolute;top:0;left:0;right:0;box-shadow:0 0 12px #c9ff5ce6,0 0 42px #c9ff5c73}.lang-scan-line:before{content:"";background:linear-gradient(#0000,#c9ff5c38);height:160px;position:absolute;bottom:2px;left:0;right:0}.lang-scan-label{background:var(--lime-fill);color:#10110f;font-family:var(--mono);letter-spacing:.1em;padding:6px 10px;font-size:10px;position:absolute;top:10px;right:max(48px,50% - 700px)}::view-transition-new(lang-scan){animation:none}.lang-fading main{animation:.4s lang-fade}@keyframes lang-fade{0%{opacity:.2}to{opacity:1}}.cursor{display:none}.has-cursor,.has-cursor *{cursor:none!important}.has-cursor .cursor{z-index:300;pointer-events:none;transition:opacity .2s;display:block;position:fixed;inset:0}.cursor[data-hidden=true]{opacity:0}.cursor-ring,.cursor-dot{position:absolute;top:0;left:0}.cursor-ring{border:1px solid var(--accent-line);border-radius:999px;width:36px;height:36px;transition:border-radius .25s,border-color .25s,background-color .25s}.cursor-dot{background:var(--lime);border-radius:50%;width:6px;height:6px;transition:opacity .15s;box-shadow:0 0 10px #c9ff5c8c}.cursor[data-stuck=true] .cursor-ring{border-color:var(--lime);background:var(--glow)}.cursor[data-stuck=true] .cursor-dot,.cursor[data-label=true] .cursor-dot{opacity:0}.cursor-ring{place-items:center;display:grid}.cursor-label{color:#10110f;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:0;font-size:11px;transition:opacity .18s}.cursor[data-label=true] .cursor-ring{background:var(--lime-fill);border-color:#0000;box-shadow:0 0 24px #c9ff5c59}.cursor[data-label=true] .cursor-label{opacity:1;transition-delay:80ms}.is-locked{overflow:hidden}.case-study{z-index:250;visibility:hidden;transition:visibility 0s .6s;position:fixed;inset:0}.case-study[data-open=true]{visibility:visible;transition:none}.case-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:#0809079e;transition:opacity .45s;position:absolute;inset:0}.case-study[data-open=true] .case-backdrop{opacity:1}.case-panel,.case-study:after{width:min(880px,100%);transition:transform .6s cubic-bezier(.76,0,.24,1);position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.case-study[data-open=true] .case-panel,.case-study[data-open=true]:after{transform:translate(0)}.case-panel{overscroll-behavior:contain;border-left:1px solid var(--line);background:radial-gradient(700px 420px at 100% 0%, var(--glow), transparent 70%), radial-gradient(600px 500px at 0% 55%, var(--glow), transparent 70%), var(--bg);padding:0 56px 72px;overflow-y:auto;box-shadow:-40px 0 90px #00000059}.case-study:after{z-index:1;content:"";opacity:var(--grain-opacity);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.case-bar{z-index:2;border-bottom:1px solid var(--line);background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);justify-content:space-between;align-items:center;height:72px;margin:0 -56px;padding:0 56px;display:flex;position:sticky;top:0}@supports (animation-timeline:scroll()){.case-bar:after{content:"";background:var(--lime);transform-origin:0;height:1px;animation:linear both scroll-progress;animation-timeline:scroll();position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0);box-shadow:0 0 10px #c9ff5c99}}.case-close,.lightbox-close{border:1px solid var(--line);color:var(--paper);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:12px;transition:border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.case-close:hover{border-color:var(--lime);color:var(--lime);box-shadow:0 0 18px var(--glow)}.case-close svg,.lightbox-close svg{width:14px;height:14px;transition:transform .3s}.case-close:hover svg{transform:rotate(90deg)}.case-reveal{opacity:0;transition:opacity .65s ease var(--d,0s), transform .65s cubic-bezier(.2, .7, .2, 1) var(--d,0s);transform:translateY(22px)}.case-reveal.is-revealed{opacity:1;transform:none}.case-header{padding:56px 0 36px;position:relative}.case-watermark{color:var(--spark);font-family:var(--display);letter-spacing:-.08em;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:190px;font-weight:700;line-height:1;position:absolute;top:18px;right:-12px}.case-header .eyebrow{color:var(--lime);margin-bottom:22px;position:relative}.case-header h2{color:var(--paper);font-family:var(--display);letter-spacing:-.065em;margin:0;font-size:clamp(38px,5.4vw,60px);font-weight:500;line-height:1;position:relative}.case-header h2 span{color:var(--lime)}.case-lead{max-width:620px;color:var(--text-2);margin:22px 0 0;font-size:17px;line-height:1.6;position:relative}.case-meta{border-top:1px solid var(--line);flex-wrap:wrap;gap:14px 48px;margin:30px 0 0;padding-top:20px;display:flex}.case-meta dt,.case-contribution>span,.case-next-label{color:var(--text-3);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.case-meta dd{color:var(--paper);margin:6px 0 0;font-size:14px}.case-visual{isolation:isolate;position:relative}.case-visual:after{z-index:-1;content:"";background:conic-gradient(from var(--glow-angle), #8b5cf6, #3b82f6 30%, var(--lime-fill) 50%, #6d28d9 75%, #8b5cf6);opacity:.25;filter:blur(40px);pointer-events:none;animation:14s linear infinite glow-spin,4s ease-in-out infinite glow-breathe;position:absolute;inset:-4px}.case-image,.case-gallery button{isolation:isolate;outline-offset:-1px;background:var(--visual-bg);cursor:zoom-in;border:0;outline:1px solid #ffffff12;width:100%;padding:0;display:block;position:relative;overflow:hidden}.case-image{aspect-ratio:16/9}.case-image:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0000,#0c0d0bb3);position:absolute;inset:55% 0 0}.case-image .visual-caption{color:#eeeee8d1}.case-image .caption-index{color:#eeeee88c}.case-image img,.case-gallery img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1);display:block;position:relative}.case-image img[data-fit=contain]{object-fit:contain;padding:36px 36px 56px}.case-image:hover img,.case-gallery button:hover img{transform:scale(1.03)}.case-steps{margin:64px 0 0;padding:0;list-style:none;position:relative}.case-steps:before,.case-steps:after{content:"";background:var(--line);width:1px;position:absolute;top:34px;bottom:34px;left:4px}.case-steps:after{background:var(--lime);transform-origin:top;transform:scaleY(0);box-shadow:0 0 10px #c9ff5c80}@supports (animation-timeline:view()){.case-steps:after{animation:linear both step-progress;animation-timeline:view();animation-range:cover 15% cover 75%}}@keyframes step-progress{to{transform:scaleY(1)}}.case-steps li{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr;padding:26px 0;transition:opacity .65s,transform .65s cubic-bezier(.2,.7,.2,1),border-color .22s;display:grid;position:relative}.case-steps li:hover{border-color:var(--accent-line)}.case-steps li:before{z-index:1;content:"";border:1px solid var(--text-3);background:var(--bg);border-radius:50%;width:9px;height:9px;transition:background-color .4s .25s,border-color .4s .25s,box-shadow .4s .25s;position:absolute;top:32px;left:0}.case-steps li.is-revealed:before{border-color:var(--lime);background:var(--lime);box-shadow:0 0 13px #c9ff5c8c}.case-step-number{color:var(--lime);font-family:var(--mono);padding:4px 0 0 26px;font-size:12px}.case-steps li>div{transition:transform .22s}.case-steps li:hover>div{transform:translate(6px)}.case-steps h3{color:var(--paper);font-family:var(--display);letter-spacing:-.035em;margin:0 0 8px;font-size:24px;font-weight:500}.case-steps p{max-width:600px;color:var(--text-2);margin:0;font-size:15px;line-height:1.65}.case-contribution{border:1px solid var(--accent-line);background:radial-gradient(ellipse at 95% 0%, #c9ff5c17, transparent 45%), var(--card-2);margin-top:48px;padding:28px 30px;position:relative;overflow:hidden}.case-contribution>span{color:var(--lime);align-items:center;gap:9px;display:inline-flex}.case-contribution .status-dot{width:6px;height:6px}.case-contribution p{color:var(--paper);font-family:var(--display);letter-spacing:-.02em;margin:12px 0 0;font-size:19px;line-height:1.5}.case-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:40px;display:grid}.case-gallery button{aspect-ratio:4/3}.case-gallery img[data-fit=contain]{object-fit:contain;background:#fff;padding:14px}.case-footer{margin-top:56px}.case-external-links{flex-wrap:wrap;gap:12px 24px;margin-bottom:22px;display:flex}.case-footer .project-link{margin:0}.case-next{border:1px solid var(--line);background:var(--card-2);text-align:left;cursor:pointer;grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:22px;width:100%;padding:12px 22px 12px 12px;transition:border-color .24s,box-shadow .24s;display:grid}.case-next:hover{border-color:var(--accent-line);box-shadow:0 16px 45px #00000038}.case-next-thumb{aspect-ratio:16/10;background:var(--visual-bg);overflow:hidden}.case-next-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.7,.2,1);display:block}.case-next-thumb img[data-fit=contain]{object-fit:contain;padding:8px}.case-next:hover .case-next-thumb img{transform:scale(1.06)}.case-next-text{flex-direction:column;gap:8px;min-width:0;display:flex}.case-next-label{gap:12px;display:inline-flex}.case-next-label span{color:var(--lime)}.case-next strong{color:var(--paper);font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;font-size:24px;font-weight:500;line-height:1.15;transition:color .24s}.case-next-arrow{border:1px solid var(--line);width:46px;height:46px;color:var(--lime);border-radius:50%;place-items:center;transition:border-color .24s,background-color .24s,color .24s;display:grid}.case-next-arrow svg{width:18px;height:18px;transition:transform .24s}.case-next:hover strong{color:var(--lime)}.case-next:hover .case-next-arrow{border-color:var(--lime);background:var(--lime-fill);color:#10110f}.case-next:hover .case-next-arrow svg{transform:translate(3px)}.case-scroll-hint{z-index:3;border:1px solid var(--accent-line);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:50px;height:50px;color:var(--lime);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;place-items:center;padding:0;transition:opacity .3s,transform .3s,border-color .2s;display:grid;position:absolute;bottom:28px;right:36px;transform:translateY(12px)}.case-study[data-open=true] .case-scroll-hint[data-visible=true]{opacity:1;pointer-events:auto;transition-delay:.4s;transform:none}.case-scroll-hint:hover{border-color:var(--lime)}.case-scroll-hint:before{content:"";border:1px solid var(--lime);border-radius:50%;animation:2.2s ease-out infinite hint-pulse;position:absolute;inset:-1px}.case-scroll-hint svg{width:18px;height:18px;animation:1.8s ease-in-out infinite arrow-bob}@keyframes hint-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}.lightbox{z-index:260;visibility:hidden;opacity:0;place-items:center;padding:76px 96px;transition:opacity .26s,visibility 0s .26s;display:grid;position:fixed;inset:0}.lightbox[data-open=true]{visibility:visible;opacity:1;transition:opacity .26s}.lightbox-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080907e6;position:absolute;inset:0}.lightbox figure{flex-direction:column;align-items:center;gap:14px;min-width:0;margin:0;transition:transform .32s cubic-bezier(.2,.7,.2,1);display:flex;position:relative;transform:scale(.97)}.lightbox[data-open=true] figure{transform:scale(1)}.lightbox img{border:1px solid #ffffff1a;max-width:min(1400px,100%);max-height:calc(100vh - 200px);animation:.32s lightbox-image;display:block;box-shadow:0 30px 80px #00000080}.lightbox figcaption{color:#c9c9c0;font-family:var(--mono);gap:12px;font-size:12px;display:flex}.lightbox figcaption span{color:#c9ff5c}.lightbox-close{color:#eeeee8;border-color:#eeeee833;position:absolute;top:20px;right:24px}.lightbox-close:hover,.lightbox-arrow:hover{color:#c9ff5c;border-color:#c9ff5c}.lightbox-arrow{color:#eeeee8;cursor:pointer;background:0 0;border:1px solid #eeeee833;border-radius:50%;place-items:center;width:48px;height:48px;padding:0;transition:border-color .2s,color .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-arrow svg{width:18px;height:18px}.lightbox-prev{left:24px}.lightbox-next{right:24px}@keyframes lightbox-image{0%{opacity:0}}.wordmark{color:var(--paper);letter-spacing:-1.6px;font-size:27px;font-weight:750;line-height:1;text-decoration:none}.wordmark span{color:var(--lime)}.site-header nav{align-items:center;gap:38px;display:flex}.site-header nav a,.back-top{color:var(--muted);font-size:14px;text-decoration:none;transition:color .18s}.site-header nav a:hover,.back-top:hover{color:var(--paper)}.site-header nav .nav-contact{color:var(--paper);align-items:center;gap:7px;display:inline-flex}.nav-contact svg,.button svg,.text-link svg,.scroll-cue svg,.strength-arrow svg{width:16px;height:16px}.hero{grid-template-columns:1.06fr .94fr;align-items:center;min-height:690px;padding-top:36px;padding-bottom:86px;display:grid;position:relative}.hero-copy{z-index:2;padding:25px 0 0 5.4%;position:relative}.hero-copy>*{animation:.7s cubic-bezier(.2,.7,.2,1) both hero-enter}.hero-copy>:nth-child(2){animation-delay:90ms}.hero-copy>:nth-child(3){animation-delay:.17s}.hero-copy>:nth-child(4){animation-delay:.25s}.hero-copy>:nth-child(5){animation-delay:.33s}.hero-copy>:nth-child(6){animation-delay:.42s}.hero-now{border:1px solid var(--line);color:var(--text-2);border-radius:999px;align-items:center;gap:12px;margin-top:30px;padding:8px 15px 8px 12px;font-size:13px;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.hero-now:hover{border-color:var(--accent-line);color:var(--paper)}.hero-now-label{border-right:1px solid var(--line);color:var(--lime);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:7px;padding-right:12px;font-size:11px;display:inline-flex}.hero-now-label .status-dot{width:6px;height:6px}.eyebrow,.section-label,.project-type,.project-year,.project-index,.visual-caption,.visual-coordinate,.strength-number,.insight-caption,.site-footer>span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em}.eyebrow{color:var(--muted);align-items:center;gap:10px;margin-bottom:28px;font-size:12px;display:flex}.status-dot,.caption-dot,.project-type>span{background:var(--lime);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 13px #c9ff5c8c}.status-dot,.caption-dot{animation:2.8s ease-in-out infinite status-pulse}.hero h1,.project-content h2,.closing h2{color:var(--paper);font-family:var(--display);letter-spacing:-.072em;margin:0;font-weight:500;line-height:.98}.hero h1{z-index:1;font-size:clamp(62px,7.8vw,105px);position:relative}.hero h1 span,.about h2 span,.project-content h2 span,.closing h2 span{color:var(--lime)}.hero-intro{max-width:410px;color:var(--text-2);margin-top:29px;font-size:17px;line-height:1.8}.hero-actions{align-items:center;gap:28px;margin-top:34px;display:flex}.button{border-radius:2px;justify-content:center;align-items:center;gap:19px;min-height:48px;padding:0 19px;font-size:14px;font-weight:600;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#10110e;background:var(--lime-fill)}.button-primary:hover{background:#d7ff91}.text-link{color:var(--paper);align-items:center;gap:9px;font-size:14px;text-decoration:none;display:inline-flex}.hero-note{color:var(--text-3);font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:12px;margin-top:44px;font-size:12px;display:flex}.note-line{background:var(--lime);width:25px;height:1px}.hero-visual{isolation:isolate;justify-self:end;width:min(100%,500px);height:545px;margin-right:4%;animation:1s cubic-bezier(.2,.7,.2,1) .18s both visual-enter;position:relative}.hero-visual:before,.hero-visual:after{content:"";pointer-events:none;position:absolute}.hero-visual:before{z-index:-1;background:var(--visual-bg);inset:0}.hero-visual{outline-offset:-1px;outline:1px solid #ffffff12}@property --glow-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.hero-visual:after{z-index:-2;background:conic-gradient(from var(--glow-angle), #8b5cf6, #3b82f6 30%, var(--lime-fill) 50%, #6d28d9 75%, #8b5cf6);opacity:.3;filter:blur(44px);animation:14s linear infinite glow-spin,4s ease-in-out infinite glow-breathe;inset:-6px}@keyframes glow-spin{to{--glow-angle:360deg}}@keyframes glow-breathe{0%,to{opacity:.2;transform:scale(.98)}50%{opacity:.42;transform:scale(1.03)}}.visual-grid{z-index:-1;opacity:.16;background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:42px 42px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 17% 86%,#0000);mask-image:linear-gradient(#0000,#000 17% 86%,#0000)}.hero-video{object-fit:cover;object-position:center;width:100%;height:95%;filter:var(--video-filter);position:absolute;inset:5% 0 0;-webkit-mask-image:linear-gradient(#0000 0%,#000 10% 86%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 10% 86%,#0000 100%)}.visual-orbit{z-index:1;border:1px solid var(--orbit-1);pointer-events:none;border-radius:50%;width:78%;height:20%;animation:32s linear infinite orbit-drift;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(-17deg)}.orbit-two{border-color:var(--orbit-2);width:68%;height:26%;animation:38s linear infinite orbit-drift-reverse;transform:translate(-50%,-50%)rotate(58deg)}.video-scan{z-index:2;opacity:.6;pointer-events:none;background:linear-gradient(#0000,#c9ff5c8a,#0000);width:1px;height:53%;animation:7s ease-in-out infinite alternate scan-pass;position:absolute;top:20%;right:11%}.video-placeholder{z-index:3;border:1px solid var(--accent-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#eeeee8;max-width:calc(100% - 60px);font-family:var(--mono);letter-spacing:.08em;text-align:left;text-transform:uppercase;pointer-events:none;background:#10110fb8;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:10px;display:inline-flex;position:absolute;top:16px;right:16px}.video-placeholder .caption-dot{background:#c9ff5c;flex:none}.visual-crosshair{z-index:2;color:var(--lime);font-family:var(--mono);opacity:.85;font-size:18px;position:absolute}.crosshair-top{top:17%;right:14%}.crosshair-bottom{bottom:22%;left:12%}.visual-caption{z-index:3;color:var(--text-2);align-items:center;gap:9px;font-size:11px;display:flex;position:absolute;bottom:16px;left:18px;right:18px}.caption-dot{width:5px;height:5px}.caption-index{color:var(--text-3);margin-left:auto}.visual-coordinate{z-index:2;color:var(--text-3);writing-mode:vertical-rl;font-size:10px;position:absolute;left:14px}.coordinate-top{top:14px}.coordinate-bottom{writing-mode:horizontal-tb;bottom:65px;left:auto;right:18px}.scroll-cue{color:var(--text-3);font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:14px;font-size:11px;text-decoration:none;display:inline-flex;position:absolute;bottom:29px;right:0}.scroll-cue>span{border:1px solid var(--line);width:34px;height:34px;color:var(--lime);border-radius:50%;place-items:center;transition:border-color .18s,transform .18s;display:grid}.scroll-cue:hover>span{border-color:var(--lime);transform:translateY(3px)}.scroll-cue svg{animation:1.8s ease-in-out infinite arrow-bob}.intro-strip{border-block:1px solid var(--line)}.strip-inner{min-height:76px;color:var(--text-2);justify-content:space-between;align-items:center;font-size:13px;display:flex}.strip-inner i{background:var(--lime);opacity:.75;border-radius:50%;width:4px;height:4px}.section-spacing{padding-top:142px;padding-bottom:142px}.about,.approach,.project-layout,.closing{grid-template-columns:190px 1fr;gap:48px;display:grid}.section-label{color:var(--text-3);align-items:flex-start;gap:14px;font-size:12px;display:flex}.section-label span:first-child{color:var(--lime)}.about h2,.section-heading h2{color:var(--paper);font-family:var(--display);letter-spacing:-.055em;margin:0;font-size:clamp(36px,4.2vw,52px);font-weight:500;line-height:1.12}.about h2 span{color:var(--text-3)}.about-columns{grid-template-columns:1fr 1fr;gap:36px;max-width:770px;margin-top:34px;display:grid}.about-columns p,.section-heading>p,.strength-main>p,.project-description p,.closing-copy{color:var(--text-2);font-size:15px;line-height:1.65}.about blockquote{border-left:1px solid var(--lime);max-width:620px;color:var(--paper);font-family:var(--display);letter-spacing:-.025em;margin:48px 0 0;padding-left:20px;font-size:23px;line-height:1.45}@supports (animation-timeline:view()){.about blockquote{view-timeline-name:--quote}.quote-word{color:var(--text-3);animation:linear both word-light;animation-timeline:--quote;animation-range:cover calc(14% + var(--p) * 32%) cover calc(20% + var(--p) * 32%)}}@keyframes word-light{to{color:var(--paper)}}.approach{padding-top:0;padding-bottom:156px}.section-heading{margin-bottom:43px}.section-heading h2{font-size:clamp(32px,3.4vw,43px)}.section-heading>p,.work-heading>p{max-width:560px;color:var(--text-2);margin:16px 0 0;font-size:16px;line-height:1.6}.strength-card{border-top:1px solid var(--line);grid-template-columns:42px minmax(220px,1fr) minmax(180px,auto) 22px;align-items:center;gap:22px;padding:26px 0;transition:padding-inline .22s,border-color .22s;display:grid}.strength-card:hover{border-color:var(--accent-line);padding-inline:8px}.strength-card:last-child{border-bottom:1px solid var(--line)}.strength-number{color:var(--lime);align-self:start;padding-top:3px;font-size:12px}.strength-main h3{color:var(--paper);font-family:var(--display);letter-spacing:-.025em;margin:0 0 8px;font-size:23px;font-weight:500}.strength-main>p{max-width:440px;margin:0;font-size:14px;line-height:1.6}.strength-tags,.project-tags{flex-wrap:wrap;gap:7px;display:flex}.strength-tags span,.project-tags span{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);padding:6px 9px;font-size:11px}.strength-arrow{color:var(--text-3)}.strength-arrow svg{width:15px;height:15px}.work-section{background:var(--panel);border-block:1px solid var(--line);padding:105px 0 112px}.work-shell{align-items:start}.work-content{min-width:0}.work-heading{margin-bottom:48px}.work-heading h2{color:var(--paper);font-family:var(--display);letter-spacing:-.06em;margin:0;font-size:clamp(37px,4.2vw,52px);font-weight:500;line-height:1.08}.work-heading h2 span{color:var(--text-soft)}.semester-carousel{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;margin-block:-10px -30px;padding-block:10px 30px;overflow:hidden}.semester-carousel[data-dragging=true]{cursor:grabbing}.semester-carousel[data-dragging=true] .semester-card{pointer-events:none}.semester-grid{will-change:transform;gap:15px;display:flex}.semester-grid>.semester-card{flex:0 0 calc(33.3333% - 10px)}.carousel-footer{align-items:center;gap:22px;margin-top:26px;display:flex}.carousel-track{background:var(--line);flex:1;height:2px;position:relative;overflow:hidden}.carousel-track span{background:var(--lime);position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 10px #c9ff5c73}.carousel-hint{color:var(--text-3);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:12px;font-size:12px;transition:opacity .5s,transform .5s;display:inline-flex}.carousel-hint[data-hidden=true]{opacity:0;transform:translate(8px)}.carousel-hint-icon{border:1px solid var(--accent-line);border-radius:999px;width:44px;height:26px;position:relative}.carousel-hint-icon span{background:var(--lime);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;animation:2.4s cubic-bezier(.65,0,.35,1) infinite drag-hint;position:absolute;top:50%;left:50%;box-shadow:0 0 10px #c9ff5c99}@keyframes drag-hint{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.semester-card{border:1px solid var(--line);background:var(--card);flex-direction:column;min-width:0;transition:border-color .24s,transform .24s,box-shadow .24s;display:flex;overflow:hidden}.semester-card:hover{border-color:var(--accent-line);transform:translateY(-5px);box-shadow:0 16px 45px #00000038}.semester-image{cursor:pointer;background:radial-gradient(ellipse at 50% 60%, #c9ff5c1a, transparent 65%), var(--card-3);border:0;width:100%;height:200px;padding:0;display:block;position:relative;overflow:hidden}.semester-image:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0c0d0b66);position:absolute;inset:45% 0 0}.semester-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.sg-visual{width:100%;height:100%;padding:10px 6px 26px;transition:transform .3s;display:block;position:relative}.semester-card:hover .sg-visual{transform:scale(1.035)}.sg-box{fill:#0f1a17;stroke:#2a9d8f;stroke-width:2px;transition:stroke .4s}.sg-visual[data-locked=true] .sg-box,.sg-visual[data-locked=true] .sg-gate{stroke:#e76f51}.sg-slit{fill:#08100e;stroke:#2a9d8f;stroke-width:1.5px}.sg-window{fill:#08100e;stroke:#2a9d8f73;stroke-width:1px}.sg-mark,.sg-caption{font-family:var(--mono);letter-spacing:.1em;font-size:11px}.sg-mark{fill:#a8dadc;font-weight:500}.sg-caption{fill:#a8dadcb3;text-transform:uppercase}.sg-visual[data-locked=true] .sg-caption{fill:#e76f51}.sg-belt{transition:transform .65s cubic-bezier(.65,0,.35,1)}.sg-belt[data-reset=true]{transition:none}.sg-gate{fill:#c9ff5c0f;stroke:#c9ff5c;stroke-width:1.5px;stroke-dasharray:4 3;transition:stroke .4s}.sg-pop{animation:1.3s cubic-bezier(.2,.7,.2,1) both sg-pop}@keyframes sg-pop{0%{opacity:1;transform:translateY(46px)}55%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.sg-lock{fill:#2a9d8f;stroke:#2a9d8f;opacity:.35;transition:opacity .3s,fill .3s,stroke .3s}.sg-lock path{transition:transform .4s cubic-bezier(.2,.7,.2,1.4);transform:translateY(-4px)}.sg-visual[data-locked=true] .sg-lock{fill:#e76f51;stroke:#e76f51;opacity:1}.sg-visual[data-locked=true] .sg-lock path{transform:none}.sg-phone text{font-family:var(--display)}.sg-app-title{fill:#fff;letter-spacing:-.02em;font-size:13px;font-weight:700}.sg-app-label{fill:#1d3557;font-size:9px;font-weight:700}.sg-app-count{fill:#1d3557;letter-spacing:-.04em;font-size:20px;font-weight:700}.sg-app-of{fill:#6b7a8f;font-size:11px;font-weight:600}.sg-app-rest{fill:#8a96a3;font-size:9px;font-weight:600}.sg-app-bar{fill:#2a9d8f;transition:width .5s}.sg-visual[data-locked=true] .sg-app-bar{fill:#e76f51}.sg-app-money{fill:#1d3557;font-size:11px;font-weight:700}.semester-card:hover .semester-image img{transform:scale(1.035)}.semester-image img[data-fit=contain]{object-fit:contain;padding:16px}.semester-badge,.image-index{z-index:1;background:var(--lime-fill);color:#10110f;font-family:var(--mono);letter-spacing:.03em;padding:7px 9px;font-size:11px;position:absolute;top:13px;left:13px}.image-index{color:#eeeee8c2;background:0 0;padding:0;font-size:10px;inset:auto 13px 12px auto}.semester-card-body{flex:1;padding:20px 22px 22px}.project-client{color:var(--lime);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:0 0 9px;font-size:11px}.semester-card-body h3{color:var(--paper);font-family:var(--display);letter-spacing:-.04em;margin:0;font-size:22px;font-weight:500;line-height:1.2}.semester-description,.contribution p{color:var(--text-2);font-size:14px;line-height:1.6}.semester-description{margin:10px 0 16px}.contribution{border-top:1px solid var(--line);padding-top:12px}.contribution>span{color:var(--text-3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.contribution p{margin:6px 0 14px;font-size:13px}.semester-card .project-tags{margin-top:0}.semester-card .project-tags span{padding:5px 8px;font-size:10px;transition:border-color .2s,color .2s}.semester-card:hover .project-tags span{border-color:var(--accent-line);color:var(--tag-hover)}.project-link{color:var(--lime);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:14px;padding:0;font-family:inherit;font-size:14px;text-decoration:none;transition:color .18s;display:inline-flex}.project-link svg{width:13px;height:13px;transition:transform .18s}.project-link:hover{color:var(--paper)}.project-link:hover svg{transform:translate(2px,-2px)}.personal-project{border:1px solid var(--line);background:radial-gradient(ellipse at 93% 8%, #c9ff5c0f, transparent 31%), var(--card);margin-top:67px;padding:30px}.personal-project-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:24px;display:flex}.project-type{color:var(--text-2);align-items:center;gap:9px;font-size:11px;display:inline-flex}.project-type>span{width:5px;height:5px}.project-index{color:var(--text-3);font-size:11px}.personal-project-top h3{max-width:700px;color:var(--paper);font-family:var(--display);letter-spacing:-.05em;margin:17px 0 0;font-size:clamp(24px,3vw,34px);font-weight:500;line-height:1.2}.personal-project-top h3 span{color:var(--text-soft)}.in-progress{color:var(--lime);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;flex:none;align-items:center;gap:8px;padding-top:3px;font-size:11px;display:inline-flex}.in-progress i{background:var(--lime);border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #c9ff5c8c}.personal-project-body{grid-template-columns:minmax(260px,.8fr) minmax(0,1.4fr);gap:36px;padding-top:26px;display:grid}.personal-project-copy>p{color:var(--text-2);margin:0 0 12px;font-size:15px;line-height:1.6}.personal-project-copy .project-tags{margin-top:20px}.epip-map{--map-bg:#0e100d;--map-text:#eeeee8c7;--map-muted:#eeeee873;--map-panel:#0e100db8;--map-border:#eeeee81a;--map-rail:#eeeee81f;--map-fill:#c9ff5c;--event-trade:#c9ff5c;--event-failed:#ff5c7a;--event-spacing:#5cb8ff;aspect-ratio:16/11;isolation:isolate;border:1px solid var(--line);background:var(--map-bg);position:relative;overflow:hidden;box-shadow:0 18px 50px #00000047}[data-theme=light] .epip-map{--map-bg:#e7eadf;--map-text:#15160fc7;--map-muted:#15160f80;--map-panel:#f6f7f1d1;--map-border:#15160f1f;--map-rail:#15160f1f;--map-fill:#4a7a00;--event-trade:#5c9a00;--event-failed:#e0405e;--event-spacing:#2f86d6;box-shadow:0 18px 50px #2832141f}.epip-map [data-type=trade]{--c:var(--event-trade)}.epip-map [data-type=failed]{--c:var(--event-failed)}.epip-map [data-type=spacing]{--c:var(--event-spacing)}.epip-map-loading{background:radial-gradient(ellipse at 50% 55%, #c9ff5c17, transparent 60%), var(--map-bg);animation:2.4s ease-in-out infinite status-pulse}.epip-map-canvas{cursor:grab;touch-action:pan-y;position:absolute;inset:0}.epip-map-canvas[data-dragging=true]{cursor:grabbing}.epip-map-canvas canvas{width:100%;height:100%;display:block}.epip-map-tag,.epip-map-legend,.epip-map-timeline,.epip-map-hint{z-index:1;font-family:var(--mono);pointer-events:none;font-size:11px;position:absolute}.epip-map-tag{color:var(--map-text);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;display:inline-flex;top:14px;left:16px}.epip-map-legend{border:1px solid var(--map-border);background:var(--map-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);gap:5px;margin:0;padding:9px 12px;list-style:none;display:grid;top:12px;right:12px}.epip-map-legend li{color:var(--map-text);align-items:center;gap:8px;display:flex}.epip-map-legend i{background:var(--c);width:8px;height:8px;box-shadow:0 0 8px var(--c);border-radius:50%}.epip-map-legend span{color:var(--map-muted);margin-left:auto;padding-left:12px}.epip-map-timeline{color:var(--map-text);align-items:center;gap:12px;display:flex;bottom:14px;left:16px;right:16px}.epip-map-track{background:var(--map-rail);flex:1;height:4px;position:relative}.epip-map-fill{background:var(--map-fill);transform-origin:0;position:absolute;inset:0;transform:scaleX(0);box-shadow:0 0 8px #c9ff5c80}.epip-map-track i{background:var(--c);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;transform:translate(-50%,-50%)}.epip-map-hint{color:var(--map-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px;bottom:36px;left:16px}.personal-project-footer{border-top:1px solid var(--line);color:var(--text-3);justify-content:space-between;gap:18px;margin-top:25px;padding-top:15px;font-size:14px;display:flex}.internship-card{border:1px solid var(--line);background:radial-gradient(ellipse at 78% 50%, var(--tast-glow), transparent 45%), var(--card-2);flex-direction:column;align-items:flex-start;gap:22px;min-height:190px;margin-top:16px;padding:30px;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.internship-card:hover{border-color:var(--tast-line)}.internship-main{z-index:1;position:relative}.internship-mark{width:190px;color:var(--tast-ghost);pointer-events:none;transition:color .4s;position:absolute;top:50%;right:20%;transform:translateY(-50%)rotate(-8deg)}.internship-mark svg{width:100%;display:block;overflow:visible}.tast-top,.tast-bottom{transition:translate .5s cubic-bezier(.2,.7,.2,1)}.internship-mark .tast-top{animation:4s ease-in-out infinite alternate tast-breathe-top}.internship-mark .tast-bottom{animation:4s ease-in-out infinite alternate tast-breathe-bottom}.internship-card:hover .internship-mark{color:var(--tast-ghost-strong)}.internship-card:hover .internship-mark .tast-top{translate:0 -6px}.internship-card:hover .internship-mark .tast-bottom{translate:0 6px}@keyframes tast-breathe-top{0%{transform:translateY(1px)}to{transform:translateY(-3px)}}@keyframes tast-breathe-bottom{0%{transform:translateY(-1px)}to{transform:translateY(3px)}}.internship-card>.project-type{z-index:1;position:relative}.internship-card h3{color:var(--paper);font-family:var(--display);letter-spacing:-.05em;margin:0 0 10px;font-size:clamp(32px,3.6vw,42px);font-weight:500}.internship-card h3 span{color:var(--lime)}.internship-card p{color:var(--text-2);margin:0;font-size:15px}.internship-card>.project-index{z-index:1;white-space:nowrap;position:absolute;bottom:28px;right:30px}.closing{padding-top:137px;padding-bottom:145px}.closing-content .eyebrow{margin-bottom:25px}.closing h2{font-size:clamp(48px,6.5vw,82px)}.closing h2 span{color:var(--text-soft)}.closing-copy{max-width:440px;margin:25px 0 27px;font-size:16px}.contact-links{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.contact-link{border:1px solid var(--line);color:var(--paper);border-radius:999px;align-items:center;gap:9px;padding:10px 15px;font-size:14px;text-decoration:none;transition:border-color .2s,color .2s,box-shadow .2s;display:inline-flex}.contact-link svg{flex:none;width:15px;height:15px}.contact-link svg:last-child{width:13px;height:13px;color:var(--lime);transition:transform .2s}.contact-link:hover{border-color:var(--lime);color:var(--lime);box-shadow:0 0 18px var(--glow)}.contact-link:hover svg:last-child{transform:translate(2px,-2px)}.contact-link[download]:hover svg:last-child{transform:translateY(2px)}.footer-links{gap:22px;display:flex}.footer-links a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .18s}.footer-links a:hover{color:var(--lime)}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;display:flex}.site-footer .wordmark{font-size:22px}.site-footer>span{color:var(--text-3);font-size:11px}@media (width>=1500px){.hero h1{font-size:105px}}@media (width<=900px){.section-shell{width:min(100% - 56px,720px)}.site-header{padding-inline:max(28px,50% - 360px)}.hero{grid-template-columns:1fr .85fr;min-height:630px}.hero-copy{padding-left:0}.hero h1{font-size:clamp(55px,8.4vw,75px)}.hero-visual{height:470px;margin-right:0}.about,.approach,.work-shell,.closing{grid-template-columns:125px 1fr;gap:25px}.semester-grid>.semester-card{flex-basis:calc(50% - 7.5px)}.strength-card{grid-template-columns:27px minmax(180px,1fr) 22px}.strength-tags{grid-column:2}.strength-arrow{grid-area:1/3}}@media (width<=640px){.section-shell{width:calc(100% - 40px)}.site-header{height:68px;padding-inline:20px}.site-header nav{gap:19px}.header-controls{gap:7px}.lang-scan-label{right:20px}.site-header nav a{font-size:12px}.site-header nav a:first-child{display:none}.hero{grid-template-columns:1fr;min-height:auto;padding-top:58px;padding-bottom:78px}.hero-copy{padding-top:0}.hero .eyebrow{margin-bottom:22px}.hero h1{font-size:clamp(58px,13vw,82px)}.hero-intro{max-width:380px;margin-top:21px;font-size:16px}.hero-actions{gap:19px;margin-top:26px}.button{gap:12px;min-height:45px;padding-inline:14px;font-size:13px}.text-link{font-size:13px}.hero-visual{justify-self:center;width:min(100%,420px);height:min(112vw,440px);margin-top:42px}.hero-note{display:none}.scroll-cue{bottom:23px}.strip-inner{flex-wrap:wrap;justify-content:center;gap:11px 15px;min-height:69px;padding-block:15px;font-size:12px}.strip-inner i:nth-of-type(3){display:none}.section-spacing{padding-top:91px;padding-bottom:95px}.about,.approach,.work-shell,.closing{grid-template-columns:1fr;gap:30px}.about h2{font-size:clamp(34px,9vw,47px)}.about-columns{grid-template-columns:1fr;gap:15px;margin-top:24px}.about-columns p{font-size:14px}.about blockquote{margin-top:32px;font-size:20px}.approach{padding-top:0;padding-bottom:100px}.section-heading{margin-bottom:27px;display:block}.section-heading h2{font-size:35px}.section-heading>p,.work-heading>p{margin-top:12px;font-size:15px}.strength-card{grid-template-columns:28px 1fr 18px;gap:12px;padding:21px 0}.strength-main h3{font-size:19px}.strength-main>p{font-size:13px}.strength-tags{grid-column:2/4}.work-section{padding:70px 0 74px}.work-heading{margin-bottom:28px;display:block}.work-heading h2{font-size:clamp(36px,9vw,47px)}.semester-grid>.semester-card{flex-basis:86%}.carousel-footer{gap:14px}.semester-image{height:215px}.semester-card-body{padding:18px 18px 20px}.personal-project{margin-top:43px;padding:19px 16px}.personal-project-top{flex-direction:column;gap:16px}.personal-project-top h3{margin-top:13px;font-size:25px}.personal-project-body{grid-template-columns:1fr;gap:23px}.epip-map{aspect-ratio:4/3.4}.epip-map-tag{display:none}.hero-now{margin-top:24px;font-size:12px}.case-panel{padding:0 20px 48px}.case-scroll-hint{bottom:20px;right:20px}.case-bar{height:64px;margin:0 -20px;padding:0 20px}.case-header{padding:34px 0 26px}.case-lead{font-size:16px}.case-steps li{grid-template-columns:52px 1fr;padding:22px 0}.case-step-number{padding-left:22px}.case-watermark{font-size:120px}.case-contribution p{font-size:17px}.case-next{grid-template-columns:84px minmax(0,1fr) auto;gap:14px;padding:10px 14px 10px 10px}.case-next strong{font-size:19px}.case-next-arrow{width:38px;height:38px}.case-steps h3{font-size:20px}.case-steps p{font-size:14px}.case-contribution{padding:20px}.case-gallery{grid-template-columns:1fr}.lightbox{padding:72px 12px 96px}.lightbox-arrow{top:auto;bottom:24px;transform:none}.lightbox-prev{left:calc(50% - 58px)}.lightbox-next{right:calc(50% - 58px)}.personal-project-footer{align-items:flex-start;font-size:13px}.personal-project-footer .project-index{flex:none;font-size:10px}.internship-card{gap:16px;min-height:0;padding:22px 18px}.internship-card h3{font-size:30px}.internship-card p{max-width:260px;line-height:1.6}.internship-mark{width:140px;right:-24px}.internship-card>.project-index{align-self:flex-end;position:static}.closing{padding-top:92px;padding-bottom:98px}.closing h2{font-size:clamp(43px,11vw,65px)}.site-footer{flex-wrap:wrap;gap:14px;min-height:76px;padding-block:20px}.footer-links{border-top:1px solid var(--line);order:3;justify-content:center;width:100%;padding-top:14px}.contact-link{font-size:13px}.site-footer>span{text-align:center;max-width:120px;line-height:1.6}.back-top{font-size:12px}}.motion-reveal{opacity:0;transition:opacity .65s ease var(--reveal-delay,0s), transform .65s cubic-bezier(.2, .7, .2, 1) var(--reveal-delay,0s);transform:translateY(22px)}.semester-card:nth-child(2){--reveal-delay:.1s}.semester-card:nth-child(3){--reveal-delay:.2s}.motion-reveal.is-revealed{opacity:1;transform:translateY(0)}@keyframes hero-enter{0%{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}@keyframes visual-enter{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes orbit-drift{0%{transform:translate(-50%,-50%)rotate(-17deg)}to{transform:translate(-50%,-50%)rotate(343deg)}}@keyframes orbit-drift-reverse{0%{transform:translate(-50%,-50%)rotate(58deg)}to{transform:translate(-50%,-50%)rotate(-302deg)}}@keyframes scan-pass{0%{opacity:.25;top:10%}to{opacity:.75;top:37%}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes arrow-bob{0%,to{transform:translateY(-2px)}50%{transform:translateY(2px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-reveal{opacity:1;transform:none}.site-header:after{animation-duration:auto!important}.quote-word{color:inherit;animation:none!important}.case-reveal{opacity:1;transform:none}}
