:root{--paper:#f4f1e8;--panel:#fffcf2;--ink:#111;--muted:#6c665d;--line:#11111129;--red:#d94f3d;--blue:#355cff;--green:#6d8061;--max:1440px;--pad:clamp(20px, 3vw, 52px);--display:"Arial Black", Impact, Haettenschweiler, "Franklin Gothic Heavy", sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:linear-gradient(#11111109 1px, transparent 1px), linear-gradient(90deg, #11111109 1px, transparent 1px), var(--paper);background-size:48px 48px;min-width:320px;margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}::selection{color:var(--panel);background:var(--ink)}.portfolio-shell{width:min(100%, var(--max));border-inline:1px solid var(--line);background:#f4f1e8e0;min-height:100svh;margin:0 auto;position:relative;overflow:clip}.portfolio-shell.intro-running{transform-origin:50% 45svh;height:100svh;animation:3s cubic-bezier(.18,.9,.18,1) both portfolio-enter;overflow:hidden}.intro-backdrop{z-index:20;pointer-events:none;background:#000;animation:3s cubic-bezier(.19,1,.22,1) forwards backdrop-exit;position:fixed;inset:0}@keyframes portfolio-enter{0%{opacity:0;filter:blur(32px);transform:perspective(2300px)translateY(5svh)rotate(-7deg)scale(.018)}7%{opacity:1}to{opacity:1;filter:blur();transform:perspective(2300px)translate(0,0)rotate(0)scale(1)}}@keyframes backdrop-exit{0%,76%{opacity:1}to{visibility:hidden;opacity:0}}.site-header{z-index:10;gap:var(--pad);min-height:66px;padding:0 var(--pad);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f4f1e8d1;grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:sticky;top:0}.brand,.site-nav,.availability,.scene-kicker,.hero-place,.hero-meta-right,.hero-index,.project-marker,.project-stack,.project-link,.site-footer{text-transform:uppercase;font-family:Courier New,ui-monospace,monospace;font-size:clamp(12px,.9vw,14px);font-weight:700;line-height:1.2}.brand{justify-self:start}.shuffle-link{font-kerning:none;white-space:nowrap;display:inline-grid}.shuffle-link:before,.shuffle-link>span{grid-area:1/1}.shuffle-link:before{content:attr(data-text);visibility:hidden}.site-nav{gap:clamp(18px,3.4vw,60px);display:flex}.site-nav a,.contact-actions a,.project-link{position:relative}.site-nav a:after,.contact-actions a:after,.project-link:after{content:"";transform-origin:100%;background:currentColor;height:1px;transition:transform .18s;position:absolute;bottom:-5px;left:0;right:0;transform:scaleX(0)}.site-nav a:hover:after,.contact-actions a:hover:after,.project-link:hover:after{transform-origin:0;transform:scaleX(1)}.availability{color:var(--green);justify-self:end}.scene{border-bottom:1px solid var(--line);position:relative}.scene-pin{min-height:100svh;position:relative;overflow:hidden}.hero-scene{min-height:calc(100svh - 66px)}.hero-grid{gap:var(--pad);min-height:calc(100svh - 66px);padding:clamp(34px, 4.4vw, 72px) var(--pad) var(--pad);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(150px,.72fr) minmax(0,2.1fr) minmax(190px,.9fr);display:grid}.hero-place{color:var(--muted);grid-column:1}.hero-caption{max-width:420px;color:var(--muted);text-wrap:balance;grid-column:2;align-self:end;margin-bottom:clamp(126px,16vh,220px);font-size:clamp(22px,2vw,32px);line-height:1.04}.hero-meta-right{color:var(--muted);text-align:right;grid-column:3;justify-self:end}.hero-title{max-width:1050px;font-family:var(--display);letter-spacing:0;text-transform:uppercase;will-change:transform;grid-area:2/2/4/4;align-self:end;font-size:clamp(56px,9.3vw,142px);font-weight:900;line-height:.84}.hero-title-line{will-change:transform;display:block}.hero-title-line:nth-child(2){color:var(--red)}.hero-title-line:nth-child(3){color:var(--blue)}.hero-index{color:var(--muted);grid-area:3/1;align-self:end}.capability-scene,.manifesto-scene,.toolkit-scene{min-height:158svh}.scene-kicker{color:var(--muted)}.capability-pin{padding:var(--pad);grid-template-rows:auto 1fr auto;display:grid}.capability-field{align-self:stretch;min-height:580px;position:relative}.capability-word{color:#11111121;font-family:var(--display);letter-spacing:0;text-transform:uppercase;will-change:transform, opacity;font-size:clamp(40px,6vw,96px);font-weight:900;line-height:.82;position:absolute}.capability-word:first-child{top:11%;left:0}.capability-word:nth-child(2){top:7%;right:4%}.capability-word:nth-child(3){top:36%;left:6%}.capability-word:nth-child(4){top:39%;right:0}.capability-word:nth-child(5){bottom:10%;left:2%}.capability-word:nth-child(6){bottom:11%;right:16%}.capability-core{z-index:2;text-align:center;width:min(680px,70%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.capability-core p,.scene-note{color:var(--red);font-size:clamp(15px,1.2vw,19px);font-weight:800;line-height:1.1}.capability-core p:last-child{color:var(--muted);margin-top:22px}.capability-core h2,.manifesto-heading h2,.work-intro h2,.toolkit-copy h2,.contact-grid h2{font-family:var(--display);letter-spacing:0;text-transform:uppercase;font-weight:900;line-height:.84}.capability-core h2{margin-top:14px;font-size:clamp(62px,8vw,126px)}.scene-note{max-width:300px;color:var(--muted)}.manifesto-pin{gap:var(--pad);padding:var(--pad);grid-template-columns:minmax(0,1.3fr) minmax(160px,.36fr) minmax(280px,.72fr);align-items:center;display:grid}.manifesto-heading h2{margin-top:26px;font-size:clamp(64px,8vw,126px)}.manifesto-title-line{display:block}.manifesto-title-line:last-child{color:var(--blue)}.manifesto-stamp{border:1px solid var(--ink);width:clamp(105px,10vw,150px);height:clamp(105px,10vw,150px);color:var(--muted);text-align:center;border-radius:50%;justify-self:center;place-items:center;font-family:Courier New,ui-monospace,monospace;font-size:clamp(13px,1vw,16px);font-weight:700;line-height:1.1;display:grid;transform:rotate(-10deg)}.manifesto-steps{gap:clamp(22px,3vw,48px);display:grid}.manifesto-step{gap:10px;display:grid}.manifesto-rule{background:var(--red);will-change:transform;width:100%;height:2px;display:block}.manifesto-step p{color:var(--muted);text-transform:uppercase;font-family:Courier New,ui-monospace,monospace;font-size:clamp(12px,.9vw,14px);font-weight:700}.manifesto-step h3{text-wrap:balance;max-width:340px;font-size:clamp(20px,1.85vw,30px);line-height:1.02}.work-section{border-bottom:1px solid var(--line);padding:clamp(100px,14vw,200px) 0 0}.work-intro{gap:var(--pad);padding:0 var(--pad) clamp(80px, 11vw, 160px);grid-template-columns:minmax(150px,.72fr) minmax(0,2.1fr) minmax(190px,.9fr);display:grid}.work-intro h2{grid-column:2/4;max-width:950px;font-size:clamp(60px,8vw,130px)}.work-intro>p:last-child{max-width:330px;color:var(--muted);grid-column:3;align-self:end;font-size:clamp(17px,1.5vw,24px);line-height:1.1}.project-scene{padding:var(--pad);border-top:2px solid var(--red);position:relative}.project-marker{color:var(--muted);margin-bottom:clamp(36px,5vw,78px)}.project-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:center;gap:clamp(28px,5vw,88px);min-width:0;display:grid}.supply-stack{min-height:clamp(530px,48vw,730px);position:relative}.supply-card,.attendance-card{border:1px solid var(--line);background:var(--panel);margin:0;position:absolute;overflow:hidden;box-shadow:0 14px 36px #11111117}.supply-card img,.attendance-card img{object-fit:contain;width:100%;height:100%}.supply-card figcaption,.attendance-card figcaption{text-transform:uppercase;background:#f4f1e8ed;padding:5px 7px;font-family:Courier New,ui-monospace,monospace;font-size:11px;font-weight:700;line-height:1;position:absolute;bottom:10px;right:10px}.supply-card-1{z-index:5;aspect-ratio:16/9;width:61%;top:2%;left:9%}.supply-card-2{z-index:2;aspect-ratio:16/10;width:35%;top:1%;right:0}.supply-card-3{z-index:4;aspect-ratio:16/10;width:52%;top:37%;right:4%}.supply-card-4{z-index:3;aspect-ratio:16/10;width:40%;bottom:1%;left:0}.supply-card-5{z-index:1;aspect-ratio:16/11;width:31%;bottom:5%;right:0}.project-copy{align-content:center;gap:clamp(22px,3vw,42px);min-width:0;display:grid}.project-stack{color:var(--muted)}.project-copy h3{font-family:var(--display);letter-spacing:0;text-transform:uppercase;text-wrap:balance;max-inline-size:100%;font-size:clamp(48px,4.2vw,72px);font-weight:900;line-height:.84}.project-copy>p:not(.project-stack){max-width:440px;color:var(--muted);text-wrap:pretty;font-size:clamp(18px,1.45vw,24px);line-height:1.12}.project-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;padding:8px 10px;font-family:Courier New,ui-monospace,monospace;font-size:12px;font-weight:700;line-height:1}.project-link{width:fit-content;padding-bottom:5px}.task-board{border:1px solid var(--line);background:var(--line);grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;min-height:clamp(530px,46vw,700px);display:grid;position:relative;overflow:hidden}.task-track{z-index:2;background:var(--red);width:2px;position:absolute;top:8%;bottom:8%;left:50%}.task-node{z-index:1;background:var(--panel);color:#11111129;font-family:var(--display);text-transform:uppercase;align-items:center;padding:clamp(18px,2.5vw,34px);font-size:clamp(34px,4.2vw,68px);font-weight:900;line-height:.8;display:flex;position:relative}.task-node:nth-of-type(odd){text-align:right;justify-content:flex-end}.task-node:nth-of-type(4),.task-node:nth-of-type(7){color:var(--red)}.task-signal{z-index:3;max-width:130px;color:var(--ink);text-align:right;text-transform:uppercase;font-family:Courier New,ui-monospace,monospace;font-size:11px;font-weight:700;line-height:1.2;position:absolute;bottom:18px;right:18px}.attendance-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.6vw,22px);display:grid}.attendance-card{aspect-ratio:16/10;position:relative}.attendance-card:first-child{aspect-ratio:16/8;grid-column:1/-1}.toolkit-pin{gap:var(--pad);padding:var(--pad);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid}.toolkit-pin>.scene-kicker{grid-column:1/-1}.toolkit-field{border:1px solid var(--line);background:#fffcf29e;min-height:clamp(500px,48vw,680px);position:relative;overflow:hidden}.toolkit-ghost{z-index:0;color:#1111111f;font-family:var(--display);text-transform:uppercase;font-size:clamp(78px,10vw,154px);font-weight:900;line-height:.75;position:absolute}.toolkit-ghost:first-child{top:6%;left:-3%}.toolkit-ghost:nth-child(2){top:37%;right:-7%}.toolkit-ghost:nth-child(3){bottom:4%;left:2%}.toolkit-ghost:nth-child(4){bottom:12%;right:-4%}.toolkit-axis{z-index:1;background:var(--red);display:block;position:absolute}.toolkit-axis-v{width:1px;top:0;bottom:0;left:49%}.toolkit-axis-h{height:1px;top:52%;left:0;right:0}.toolkit-focus{z-index:2;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:absolute;inset:0}.toolkit-focus p{color:var(--red);font-family:var(--display);text-transform:uppercase;align-items:center;padding:clamp(18px,2vw,30px);font-size:clamp(20px,2.2vw,36px);font-weight:900;line-height:.84;display:flex}.toolkit-focus p:nth-child(2n){text-align:right;justify-content:flex-end}.toolkit-copy{align-self:center}.toolkit-copy h2{font-size:clamp(64px,7vw,112px)}.toolkit-copy>p{max-width:410px;color:var(--muted);margin-top:28px;font-size:clamp(18px,1.45vw,24px);line-height:1.12}.contact-scene{min-height:100svh;overflow:hidden}.contact-grid{gap:var(--pad);min-height:100svh;padding:var(--pad);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(150px,.72fr) minmax(0,2.1fr) minmax(190px,.9fr);align-items:end;display:grid;position:relative}.contact-grid:before{top:10%;left:calc(var(--pad) * -.2);z-index:0;content:"drop me a message";color:#1111111a;filter:blur(3px);max-width:78%;font-family:var(--display);text-transform:uppercase;font-size:clamp(76px,12vw,190px);font-weight:900;line-height:.78;position:absolute}.contact-grid>*{z-index:1;position:relative}.contact-grid h2{grid-column:2/4;max-width:830px;font-size:clamp(66px,9vw,144px)}.contact-grid h2 span{color:var(--blue)}.contact-copy{max-width:350px;color:var(--muted);grid-area:3/2;font-size:clamp(17px,1.5vw,24px);line-height:1.08}.contact-actions{flex-direction:column;grid-area:3/3;align-items:flex-end;gap:16px;font-size:clamp(19px,2vw,30px);font-weight:900;display:flex}.site-footer{min-height:clamp(390px,54svh,620px);padding:clamp(72px, 10vw, 140px) var(--pad) var(--pad);grid-template-rows:1fr auto;grid-template-columns:minmax(0,1fr) minmax(260px,.95fr);align-items:end;gap:20px clamp(60px,12vw,200px);display:grid;position:relative;overflow:hidden}.footer-signature{color:#11111129;font-family:var(--display);letter-spacing:0;text-transform:lowercase;flex-direction:column;align-items:baseline;font-size:clamp(58px,8vw,128px);font-weight:900;line-height:.8;display:flex}.footer-emotion{color:var(--red);position:relative}.footer-emotion:before{z-index:-1;content:attr(data-ghost);color:#1111111f;position:absolute;bottom:.03em;right:-.04em}.site-footer>p{max-width:650px;color:var(--red);text-transform:none;grid-column:1;font-size:clamp(17px,2vw,32px);font-weight:800;line-height:.98}.footer-detail{color:#1113;grid-area:2/2;justify-self:start;font-size:clamp(14px,1.4vw,22px)}.footer-year{color:#11111121;filter:blur(2px);font-family:var(--display);letter-spacing:0;grid-area:1/2/3;place-self:end;font-size:clamp(86px,14vw,204px);font-weight:900;line-height:.72}@media (width<=860px){.portfolio-shell{border-inline:0}.site-header{grid-template-columns:1fr;gap:14px;padding-block:18px;position:relative}.site-nav{justify-content:flex-start}.availability{justify-self:start}.hero-scene,.hero-grid{min-height:auto}.hero-grid{grid-template-rows:auto;grid-template-columns:1fr;gap:30px;padding-block:42px 30px}.hero-place,.hero-caption,.hero-meta-right,.hero-title,.hero-index{grid-area:auto}.hero-caption{align-self:auto;margin:38px 0 0;font-size:clamp(20px,6.6vw,30px)}.hero-meta-right{text-align:left;justify-self:start}.hero-title{max-width:100%;font-size:clamp(42px,11.2vw,74px)}.scene-pin,.capability-scene,.manifesto-scene,.toolkit-scene{min-height:auto}.capability-pin,.manifesto-pin,.toolkit-pin{padding:84px var(--pad);display:block}.capability-field{min-height:480px;margin:46px 0 30px}.capability-word{font-size:clamp(36px,11vw,56px)}.capability-core{width:92%}.capability-core h2{font-size:clamp(52px,15vw,78px)}.manifesto-heading h2{font-size:clamp(54px,15vw,78px)}.manifesto-stamp{margin:42px 0}.work-intro,.project-layout,.contact-grid{grid-template-columns:1fr}.work-intro{padding:0 var(--pad) 82px;gap:28px}.work-intro h2,.work-intro>p:last-child{grid-column:auto}.work-intro h2{font-size:clamp(52px,15vw,78px)}.supply-stack,.task-board{min-height:460px}.project-layout{gap:48px}.project-copy h3{font-size:clamp(42px,12vw,54px)}.project-copy>p:not(.project-stack),.toolkit-copy>p{font-size:18px}.attendance-sheet{grid-template-columns:1fr}.attendance-card,.attendance-card:first-child{aspect-ratio:16/10;grid-column:auto}.toolkit-field{min-height:360px;margin:44px 0}.toolkit-copy h2{font-size:clamp(54px,15vw,76px)}.contact-scene,.contact-grid{min-height:auto}.contact-grid{padding:82px var(--pad);grid-template-rows:auto;gap:30px}.contact-grid h2,.contact-copy,.contact-actions{grid-area:auto}.contact-grid h2{font-size:clamp(58px,16vw,82px)}.contact-actions{align-items:flex-start}.site-footer{grid-template-rows:auto;grid-template-columns:1fr;min-height:460px}.site-footer>p,.footer-detail,.footer-year{grid-area:auto}.footer-year{justify-self:start}}@media (width<=520px){:root{--pad:18px}.site-nav{gap:18px}.site-nav,.availability,.brand,.scene-kicker,.hero-place,.hero-meta-right,.hero-index,.project-marker,.project-stack,.project-link{font-size:12px}.supply-stack,.task-board{min-height:340px}.task-node{padding:14px;font-size:clamp(25px,9vw,36px)}.task-signal{font-size:9px;bottom:10px;right:10px}.toolkit-focus p{padding:14px;font-size:clamp(16px,6vw,24px)}.footer-signature{font-size:clamp(54px,18vw,80px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
