/* Baseline remains an ordinary, readable portfolio until JS enables scroll. */
.work{--work-progress:0;--work-tint:#17282e;position:relative}.work-intro{padding-block:100px 70px}.work-scroll{background:var(--ink)}.work-pin{background:radial-gradient(ellipse at 75% 45%,var(--work-tint),var(--ink) 72%);transition:background-color .4s;position:relative;overflow:hidden;isolation:isolate}.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:86px;border-top:1px solid var(--line)}.work-label{display:flex;align-items:center;gap:30px;font:9px/1.5 monospace;letter-spacing:.1em;color:#b1bfa5}.project-current{color:var(--lime);font-size:10px}.project-select{display:flex;gap:30px;align-items:center}.project-select button{background:none;border:0;color:#9ca991;font:10px monospace;padding:14px 0;display:flex;align-items:center;gap:10px}.project-select button span{font:11px Satoshi}.project-select button[aria-current]{color:var(--lime)}.project-slide{padding:45px var(--gutter) 75px;display:grid;grid-template-columns: .8fr 1.2fr;gap:35px;align-items:center;position:relative;min-width:0}.project-copy{position:relative;z-index:2;min-width:0}.project-overline{font:9px/1.6 monospace;letter-spacing:.06em;color:#b5c6a6;display:flex;flex-wrap:wrap;gap:12px 25px;align-items:center}.project-state{color:#c4d5b4;display:flex;align-items:center;gap:7px}.project-state:before{content:'';display:block;width:4px;height:4px;border-radius:100%;background:var(--lime)}.project-slide:nth-child(n+3) .project-state:before{background:none;border:1px solid #b3c6a3;width:5px;height:5px}.project-copy h3{font-size:clamp(42px,5.3vw,85px);line-height:1.02;margin:28px 0;letter-spacing:-.06em;max-width:560px}.project-copy>p:not(.project-disciplines){font-size:15px;line-height:1.8;color:#b2c1a6;max-width:350px;margin:0 0 22px}.case-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid #8ea278;font-size:13px;padding-block:13px}.case-link span{font-size:24px;color:var(--lime)}.project-copy .project-disciplines{font:9px/1.9 monospace;color:#a6bb95;margin:35px 0 0;max-width:320px}.project-visual{min-width:0;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;perspective:1200px;padding:50px 0}.project-halo{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse,var(--project-color),transparent 66%);opacity:.6}.project-screen{width:100%;box-shadow:0 28px 60px #0007;border:1px solid #c1d5aa44;transform:rotateX(5deg) rotateY(-10deg) rotateZ(-2deg);transform-style:preserve-3d;transform-origin:center;border-radius:5px;overflow:hidden;will-change:transform}.project-screen .browser-bar{height:26px;background:#151c14}.project-screen .browser-bar span{font-size:7px}.project-screen img{display:block;width:100%;height:auto;aspect-ratio:1265/712}.project-visual-note{position:absolute;left:10px;right:0;bottom:10px;display:flex;justify-content:space-between;font:8px/1.5 monospace;letter-spacing:.1em;color:#adbf9a}.project-visual-note b{font-size:24px;font-weight:400;color:var(--lime)}.work-bottom{display:flex;gap:25px;align-items:center;justify-content:space-between;position:relative;min-height:64px;padding-block:20px;color:#95ab80;font:8px/1.5 monospace;letter-spacing:.1em}.work-progress{position:absolute;top:0;left:0;right:0;height:1px;background:var(--line)}.work-progress>span{display:block;height:100%;width:100%;transform:scaleX(var(--work-progress));transform-origin:left;background:var(--lime)}.work-hint{display:flex;gap:20px;align-items:center}.work-hint b{font-size:20px;font-weight:400}.type-transition{overflow:hidden;padding-block:85px;background:#0e150d;border-block:1px solid var(--line);color:var(--paper)}.type-line{font-size:clamp(65px,12vw,190px);letter-spacing:-.065em;line-height:1.1;white-space:nowrap;width:max-content;transform:translateX(-6vw)}.type-line>span{color:var(--lime);font-weight:300;display:inline-block;margin-inline:.16em}.type-line.second{color:transparent;-webkit-text-stroke:1px #718765;transform:translateX(-27vw)}.type-line.second span{color:transparent;-webkit-text-stroke:1px var(--lime)}
body.scroll-enhanced .work-scroll{height:430svh}body.scroll-enhanced .work-pin{position:sticky;top:0;height:100svh;display:grid;grid-template-rows:86px minmax(0,1fr) 64px}body.scroll-enhanced .work-window{overflow:hidden;min-width:0;min-height:0}body.scroll-enhanced .work-track{display:flex;width:100%;height:100%;will-change:transform}body.scroll-enhanced .project-slide{flex:0 0 100%;height:100%;padding-top:20px;padding-bottom:35px;overflow:hidden}body.scroll-enhanced .project-visual{transform:translateY(calc(var(--project-distance)*40px)) scale(calc(1 - var(--project-distance-abs)*.10));opacity:calc(1 - var(--project-distance-abs)*.38);transition:none}body.scroll-enhanced .project-screen{transform:rotateX(calc(5deg + var(--project-distance)*7deg)) rotateY(calc(-8deg + var(--project-distance)*17deg)) rotateZ(calc(-2deg + var(--project-distance)*5deg))}body.scroll-enhanced .project-copy{transform:translateX(calc(var(--project-distance)*-40px));opacity:calc(1 - var(--project-distance-abs)*.55)}body.scroll-enhanced .type-line{will-change:transform}
@media(min-width:1800px){body.scroll-enhanced .project-slide{padding-inline:max(var(--gutter),calc((100% - 1680px)/2))}.project-copy h3{font-size:92px}}
@media(max-width:1000px){.project-select{gap:24px}.project-copy h3{font-size:5.6vw}.project-overline{font-size:8px;gap:10px 18px}.project-copy>p:not(.project-disciplines){font-size:13px;max-width:280px}.project-slide{grid-template-columns:.85fr 1.15fr;gap:25px}.project-copy .project-disciplines{font-size:8px;margin-top:25px}.project-screen .browser-bar{height:21px}.project-screen .browser-bar span{font-size:6px}.work-label{font-size:8px;gap:15px}.work-toolbar{gap:20px}.work-intro{padding-block:75px 55px}.case-link{font-size:12px}}
@media(max-width:650px){.work-intro{padding-block:65px 45px}.work-toolbar{min-height:90px;display:block;padding-top:18px}.work-label{font-size:7px;justify-content:space-between;margin-bottom:6px}.project-current{font-size:8px}.project-select{justify-content:space-between;gap:14px}.project-select button{padding:10px 0;min-height:35px;font-size:8px;gap:6px}.project-select button span{font-size:10px}.project-slide{grid-template-columns:1fr;gap:12px;padding:26px var(--gutter) 55px}.project-copy h3{font-size:clamp(34px,10.2vw,57px);line-height:1.03;margin:20px 0 16px;max-width:100%}.project-overline{font-size:7px;gap:10px 20px}.project-copy>p:not(.project-disciplines){font-size:12px;line-height:1.7;max-width:360px;margin-bottom:12px}.case-link{font-size:11px;padding:10px 0;gap:40px;min-height:42px}.case-link span{font-size:21px}.project-copy .project-disciplines{font-size:7px;margin-top:17px;max-width:100%}.project-visual{padding:25px 0 40px;align-self:center}.project-screen{width:96%;transform:rotateX(4deg) rotateY(-7deg) rotateZ(-2deg)}.project-screen .browser-bar{height:19px}.project-screen .browser-bar span{font-size:5px}.project-visual-note{bottom:0;font-size:6px;left:8px}.project-visual-note b{font-size:18px}.work-bottom{min-height:58px;font-size:6px;letter-spacing:.05em;gap:10px}.work-hint{gap:9px}.work-hint b{font-size:18px}.type-transition{padding-block:50px}.type-line{font-size:20vw}body.scroll-enhanced .work-scroll{height:410svh}body.scroll-enhanced .work-pin{grid-template-rows:90px minmax(0,1fr) 58px}body.scroll-enhanced .project-slide{grid-template-rows:auto minmax(0,1fr);align-items:start;padding-top:25px;padding-bottom:22px;gap:12px}body.scroll-enhanced .project-screen{max-height:calc(100svh - 485px)}body.scroll-enhanced .project-screen img{max-height:calc(100svh - 507px);object-fit:cover;object-position:top}}
@media(max-height:650px) and (min-width:651px){body.scroll-enhanced .work-pin{grid-template-rows:65px minmax(0,1fr) 48px}.work-toolbar{min-height:65px}.project-copy h3{font-size:clamp(31px,4.2vw,60px);margin:20px 0}.project-copy>p:not(.project-disciplines){font-size:12px;line-height:1.65;margin-bottom:10px}.project-copy .project-disciplines{margin-top:18px;font-size:8px}.project-overline{font-size:7px}.project-visual{padding:20px 0 30px}.project-screen{max-width:calc((100svh - 170px)*1.6)}.work-bottom{min-height:48px;padding-block:14px;font-size:7px}}
/* Short touch screens use a native horizontal scroller rather than a pin. */
body.work-native .work-scroll{height:auto}body.work-native .work-pin{position:relative;height:auto;display:block}body.work-native .work-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9fb486 #182014;overscroll-behavior-x:contain}body.work-native .work-track{height:auto;transform:none!important;display:flex}body.work-native .project-slide{height:auto;min-height:520px;scroll-snap-align:start;align-items:start;overflow:visible;grid-template-rows:auto auto;padding-block:25px 35px}body.work-native .project-visual{align-self:center;transform:none;opacity:1}body.work-native .project-copy{transform:none;opacity:1}body.work-native .project-screen{max-height:none;transform:rotate(-2deg);width:95%}body.work-native .project-screen img{max-height:none}body.work-native .work-bottom{padding-bottom:25px}body.work-native .work-toolbar{border-top:0}body.work-native .work-hint{font-size:7px}body.work-native .project-slide .project-copy h3{font-size:clamp(32px,7vw,48px)}
@media(max-height:499px) and (min-width:651px){body.work-native .project-slide{min-height:360px;grid-template-columns:.8fr 1.2fr;grid-template-rows:1fr;align-items:center}.project-copy .project-disciplines{font-size:7px}.type-transition{padding-block:35px}}
body.motion-reduced .work-scroll{height:auto}body.motion-reduced .work-pin{position:relative;height:auto;display:block;background:var(--ink)}body.motion-reduced .work-window{overflow:visible}body.motion-reduced .work-track{display:block;transform:none!important;height:auto;will-change:auto}body.motion-reduced .project-slide{height:auto;min-height:0;border-bottom:1px solid var(--line);overflow:visible;padding-block:50px;scroll-snap-align:none;display:grid}body.motion-reduced .project-copy,body.motion-reduced .project-visual{transform:none!important;opacity:1}body.motion-reduced .project-screen{transform:none!important;max-height:none}body.motion-reduced .project-screen img{max-height:none}body.motion-reduced .type-line{transform:translateX(-6vw)!important;will-change:auto}body.motion-reduced .work-hint{display:none}
@media(prefers-reduced-motion:reduce){.project-screen{transform:none!important;will-change:auto}.type-line{will-change:auto}.work-pin{transition:none}}
/* The navigation becomes a compact glass bar while the page moves beneath it. */
.header{position:fixed;top:0;left:0;right:0;border:1px solid transparent;transition:width .45s cubic-bezier(.2,.7,.2,1),height .35s,top .35s,background-color .35s,border-color .35s,padding .35s;will-change:width}.header.header-docked{top:12px;height:66px;width:min(1120px,calc(100% - 32px));padding-inline:22px;border-color:#a5c78144;background:#0b110ce6;backdrop-filter:blur(20px);box-shadow:0 12px 45px #0005}.header.header-docked .brand{width:175px}.header.header-docked .nav{gap:24px}.header.header-docked .nav a{font-size:11px}.header.header-docked .header-cta{font-size:10px;gap:18px}.header:after{content:'';position:absolute;left:22px;right:22px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,#ccff6266,transparent);transform:scaleX(var(--header-progress,0));pointer-events:none}body.scroll-enhanced .work-pin{grid-template-rows:146px minmax(0,1fr) 64px}.work-toolbar{padding-top:72px;min-height:146px;border-top:0}
@media(max-width:1100px){.header.header-docked{width:calc(100% - 32px);padding-inline:18px}.header.header-docked .brand{width:160px}.header.header-docked .nav{gap:20px}}
@media(max-width:800px){.header.header-docked{height:60px;top:10px;padding-inline:15px}.header.header-docked .nav{top:69px;left:-1px;right:-1px;gap:0}.header.header-docked .nav a{font-size:16px}.header.header-docked .header-cta{font-size:10px}.header.header-docked .menu-toggle{width:38px;height:38px;padding:10px}}
@media(max-width:650px){.header.header-docked{width:calc(100% - 22px);height:58px;top:9px;padding-inline:13px;gap:10px}.header.header-docked .brand{width:145px}.header.header-docked .header-cta{font-size:0;gap:0;min-width:30px}.header.header-docked .header-cta span{font-size:22px}.header.header-docked .nav{top:65px}.work-toolbar{padding-top:80px;min-height:146px}body.scroll-enhanced .work-pin{grid-template-rows:146px minmax(0,1fr) 58px}.work-label{margin-bottom:2px}body.scroll-enhanced .project-slide{padding-top:15px;padding-bottom:18px}.project-copy h3{margin-top:17px}.project-copy .project-disciplines{margin-top:13px}body.scroll-enhanced .project-screen{max-height:calc(100svh - 528px)}body.scroll-enhanced .project-screen img{max-height:calc(100svh - 549px)}}
@media(max-height:650px) and (min-width:651px){.header.header-docked{height:54px;top:8px}.header.header-docked .brand{width:155px}body.scroll-enhanced .work-pin{grid-template-rows:114px minmax(0,1fr) 48px}.work-toolbar{padding-top:66px;min-height:114px}.project-copy h3{font-size:clamp(28px,3.8vw,54px);margin:15px 0}.project-copy .project-disciplines{margin-top:14px}.project-screen{max-width:calc((100svh - 210px)*1.6)}}
body.motion-reduced .header{transition:none;will-change:auto}body.motion-reduced .work-pin{display:block}body.motion-reduced .work-toolbar{padding-top:80px}
@media(prefers-reduced-motion:reduce){.header{transition:none;will-change:auto}}
html:has(body.motion-reduced){scroll-behavior:auto}
.project-halo{pointer-events:none}
.work-toolbar{position:relative;z-index:3}
