:root{--paper:#f2f2f0;--ink:#151517;--blue:#4d50ff;--line:#303034;--soft:#a5a5a2;font-family:Arial,"Helvetica Neue",Pretendard,"Noto Sans KR",sans-serif;color:var(--ink);background:var(--paper);scroll-behavior:smooth}*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;min-width:320px;overflow-x:hidden;background:var(--paper)}body.loading{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}p,h1,h2,h3{margin:0}img{display:block;max-width:100%}.skip{position:fixed;z-index:200;top:-4rem;left:1rem;padding:.75rem 1rem;color:#fff;background:var(--blue)}.skip:focus{top:1rem}
.loader{position:fixed;z-index:150;inset:0;display:grid;place-items:center;color:#fff;background:var(--ink);clip-path:inset(0);transition:clip-path .85s cubic-bezier(.76,0,.24,1)}.loader.done{clip-path:inset(0 0 100% 0);pointer-events:none}.loader span{font:700 .65rem/1 "Courier New",monospace;letter-spacing:.08em}.loader i{position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;animation:load 1s ease forwards}@keyframes load{to{transform:scaleX(1)}}
.topbar{position:absolute;z-index:30;top:0;left:0;display:grid;grid-template-columns:1fr auto;width:100%;padding:1.6rem clamp(1.2rem,4vw,3.5rem);font:700 .66rem/1.2 "Courier New",monospace}.brand{font:700 1.35rem/1 Arial,sans-serif;letter-spacing:-.07em}.brand sup{font-size:.4em;vertical-align:top}.topbar nav{display:flex;gap:clamp(1.2rem,3vw,3rem)}.topbar nav a::first-letter{font-style:italic}.topbar nav a:hover{color:var(--blue)}.menu{display:none;border:0;padding:0;background:transparent;font:700 .65rem/1 "Courier New",monospace}
.hero{position:relative;min-height:100svh;overflow:hidden}.hero-word{position:absolute;z-index:1;top:50%;left:50%;width:100%;transform:translate(-50%,-50%);font-size:clamp(4.8rem,14.4vw,14rem);font-weight:300;line-height:.8;letter-spacing:-.075em;text-align:center;white-space:nowrap}.hero-word span{display:inline-block;color:var(--blue)}.hero-word b{display:inline-block;font-weight:300}.impossible{position:absolute;z-index:2;top:48%;left:50%;width:clamp(13rem,25vw,25rem);transform:translate(-50%,-50%) rotate(-4deg);transform-style:preserve-3d;will-change:transform}.impossible svg{width:100%;overflow:visible}.hero-statement{position:absolute;z-index:3;left:clamp(1.2rem,4vw,3.5rem);bottom:6.7rem;font-size:clamp(.95rem,1.45vw,1.35rem);line-height:1.15;letter-spacing:-.025em}.hero-statement em{color:var(--blue);font-family:Georgia,serif}.hero-meta{position:absolute;bottom:1.8rem;left:clamp(1.2rem,4vw,3.5rem);right:clamp(1.2rem,4vw,3.5rem);display:grid;grid-template-columns:1fr 1fr auto;padding-top:.8rem;border-top:1px solid #c4c4c1;font:700 .57rem/1.2 "Courier New",monospace;letter-spacing:.03em}.hero-meta span:nth-child(2){text-align:center}
.section-label{display:flex;align-items:center;gap:.75rem;padding:1.2rem clamp(1.2rem,4vw,3.5rem);color:#aaa;border-bottom:1px solid var(--line);font:700 .6rem/1 "Courier New",monospace;letter-spacing:.06em}.section-label span{display:grid;place-items:center;width:1.6rem;height:1.6rem;border:1px solid #333;color:var(--blue)}.section-label i{font-style:normal}.section-label b{font-weight:700}.section-label.dark{color:#777;border-color:#c9c9c5}.section-label.dark span{border-color:#c0c0bc}
.work{color:#eee;background:var(--ink)}.work-grid{display:grid;grid-template-columns:minmax(25rem,.8fr) 1.2fr;align-items:start;max-width:100%}.work-intro{position:sticky;top:0;display:grid;align-content:start;min-height:100svh;padding:3.5rem clamp(1.2rem,4vw,3.5rem);border-right:1px solid var(--line)}.work-intro h1{font-size:clamp(3.8rem,6.7vw,6.8rem);font-weight:300;line-height:.86;letter-spacing:-.07em}.work-intro h1 em,.case-title h2 em,.system-head h2 em,.about-copy h2 em,.contact-copy h2 em{font-family:Georgia,serif;font-weight:400}.preview-frame{position:relative;overflow:hidden;width:min(100%,36rem);aspect-ratio:1.45;margin-top:3rem;border:1px solid #39393d;background:#f0f0ed}.preview-frame::after{position:absolute;z-index:20;inset:0;border:1rem solid var(--ink);content:"";pointer-events:none}.tech-visual{position:absolute;inset:0;display:grid;grid-template-rows:auto 1fr auto;padding:2rem;color:var(--ink);background:#f0f0ed;opacity:0;transform:scale(.97);transition:opacity .32s ease,transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}.tech-visual.active{z-index:5;opacity:1;transform:none}.visual-top,.visual-bottom{display:flex;justify-content:space-between;align-items:center;font:700 .52rem/1.2 "Courier New",monospace;letter-spacing:.04em}.visual-top b,.visual-bottom strong{color:var(--blue)}
.risk-map{position:relative;align-self:center;width:100%;height:78%;background-image:linear-gradient(#c8c8c5 1px,transparent 1px),linear-gradient(90deg,#c8c8c5 1px,transparent 1px);background-size:12.5% 20%;border-right:1px solid #c8c8c5;border-bottom:1px solid #c8c8c5}.risk-map>i{position:absolute;left:calc((var(--x) - 1)*12.5%);top:calc((var(--y) - 1)*20%);width:12.5%;height:20%;background:var(--blue);opacity:.2;animation:riskPulse 2.4s var(--d) infinite}.risk-map>i:nth-child(2),.risk-map>i:nth-child(4){opacity:.75}.risk-map .coord{position:absolute;right:.5rem;bottom:.45rem;padding:.25rem;color:#fff;background:var(--ink);font:700 .45rem/1 "Courier New",monospace}@keyframes riskPulse{0%,100%{opacity:.15}45%{opacity:1}}
.history-table{display:grid;align-content:center;gap:.45rem;padding:0 1rem}.history-table i{height:5px;background:linear-gradient(90deg,#c7c7c4 0 14%,#dbdbd7 14% 76%,#c7c7c4 76% 100%);transform-origin:left;animation:rowFade 2.8s infinite}.history-table i:nth-child(2n){width:88%}.history-table i:nth-child(3n){width:72%}.history-table i.changed{background:var(--blue);animation:rowKeep 2.8s infinite}.history-count{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;font:700 .7rem/1 "Courier New",monospace}.history-count i{text-align:center;font-style:normal}.history-count strong{color:var(--blue);text-align:right}@keyframes rowFade{0%,25%{opacity:1;transform:scaleX(1)}60%,90%{opacity:.08;transform:scaleX(.2)}100%{opacity:1}}@keyframes rowKeep{0%,100%{transform:scaleX(1)}50%{transform:scaleX(1.04)}}
.latency-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.latency-track>i{position:absolute;left:8%;right:8%;top:50%;height:2px;background:#c7c7c3;overflow:hidden}.latency-track>i::after{display:block;width:35%;height:100%;background:var(--blue);content:"";animation:trace 3s infinite}.latency-track>div{position:relative;z-index:2;display:grid;justify-items:center;gap:.65rem}.latency-track>div::before{width:.8rem;height:.8rem;border:2px solid var(--ink);border-radius:50%;background:#f0f0ed;content:""}.latency-track span,.latency-track b{font:700 .45rem/1 "Courier New",monospace}.latency-track b{font-size:.48rem}@keyframes trace{from{transform:translateX(-100%)}to{transform:translateX(390%)}}
.idempotency-visual svg{align-self:center;width:100%;max-height:82%}.request-lines path,.output-line{fill:none;stroke:#bdbdb9;stroke-width:1}.request-lines path{stroke-dasharray:500;stroke-dashoffset:500;animation:requestIn 2.5s infinite}.request-lines path:nth-child(3n){stroke:var(--blue)}.idempotency-visual circle{fill:var(--ink);stroke:var(--blue);stroke-width:5}.output-line{stroke:var(--blue);stroke-width:4;stroke-dasharray:100;animation:outputIn 2.5s infinite}@keyframes requestIn{0%{stroke-dashoffset:500}55%,100%{stroke-dashoffset:0}}@keyframes outputIn{0%,55%{stroke-dashoffset:100}85%,100%{stroke-dashoffset:0}}
.push-flow{position:relative;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.6rem;align-items:center}.push-flow>div{display:grid;gap:.45rem;padding:.75rem;border:1px solid #bdbdb9;background:#f0f0ed}.push-flow span{font:700 .42rem/1 "Courier New",monospace}.push-flow b{font:700 .52rem/1 "Courier New",monospace}.push-flow>i{font-style:normal}.push-flow>em{position:absolute;right:15%;bottom:24%;width:20%;height:25%;border-left:1px solid var(--blue);border-bottom:1px solid var(--blue)}.push-flow .retry-node{position:absolute;right:0;bottom:-1.4rem;border-color:var(--blue);color:var(--blue);transform:scale(.8);transform-origin:right}.push-visual.active .push-flow>div{animation:stateSignal 3.2s infinite}.push-visual.active .push-flow>div:nth-of-type(2){animation-delay:.6s}.push-visual.active .push-flow>div:nth-of-type(3){animation-delay:1.2s}.push-visual.active .push-flow .retry-node{animation-delay:1.8s}@keyframes stateSignal{0%,18%,100%{color:var(--ink);background:#f0f0ed}8%{color:#fff;background:var(--blue)}}
.work-intro>p{margin-top:.8rem;color:#858589;font:700 .56rem/1.2 "Courier New",monospace}.work-list{padding-top:4rem}.work-row{position:relative;display:grid;grid-template-columns:3.5rem 1fr auto 1.5rem;align-items:center;gap:1.5rem;min-height:10.5rem;padding:1.4rem clamp(1.2rem,4vw,3.5rem);border-top:1px solid var(--line);cursor:default;transition:color .25s,background .25s}.work-row:last-of-type{border-bottom:1px solid var(--line)}.work-row>span,.work-row small{color:#888;font:700 .58rem/1.2 "Courier New",monospace}.work-row h2{font-size:clamp(2.2rem,4vw,4.2rem);font-weight:300;line-height:.95;letter-spacing:-.055em}.work-row p{height:0;overflow:hidden;color:#b8b8ba;font-size:.78rem;opacity:0;transition:height .25s,opacity .25s,margin .25s}.work-row>i{opacity:0;font-style:normal;transform:translate(-.5rem,.5rem);transition:opacity .25s,transform .25s}.work-row.active,.work-row:hover{color:#fff;background:#1c1c20}.work-row.active h2,.work-row:hover h2{font-family:Georgia,serif;font-style:italic}.work-row.active p,.work-row:hover p{height:1rem;margin-top:.5rem;opacity:1}.work-row.active>i,.work-row:hover>i{opacity:1;transform:none}.work-row.active::before{position:absolute;top:-1px;left:0;width:4px;height:calc(100% + 1px);background:var(--blue);content:""}.work-end{display:flex;justify-content:space-between;padding:3rem clamp(1.2rem,4vw,3.5rem);color:#757579;font:700 .57rem/1.3 "Courier New",monospace}
.case-study{padding-bottom:8rem}.case-title{display:grid;grid-template-columns:.7fr 1.3fr;align-items:start;padding:8rem clamp(1.2rem,4vw,3.5rem)}.case-title>p,.about-copy>p{padding-top:.8rem;font:700 .6rem/1.2 "Courier New",monospace}.case-title h2,.system-head h2,.about-copy h2,.contact-copy h2{font-size:clamp(3.5rem,7vw,7rem);font-weight:300;line-height:.87;letter-spacing:-.07em}.notes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c9c5;border-bottom:1px solid #c9c9c5}.note{display:grid;min-height:31rem;padding:1.5rem;border-right:1px solid #c9c9c5}.note:last-child{border:0}.note>span,.note>strong{font:700 .58rem/1.3 "Courier New",monospace}.note h3{align-self:center;font-size:clamp(1.7rem,2.45vw,2.6rem);font-weight:300;line-height:1;letter-spacing:-.055em;word-break:keep-all}.note p{align-self:end;margin-bottom:2rem;color:#555;font-size:.85rem;line-height:1.55;word-break:keep-all}.note strong{color:var(--blue)}
.system{padding-bottom:5rem;color:#eee;background:var(--ink)}.system-head{display:grid;grid-template-columns:1.3fr .7fr;gap:6rem;align-items:end;padding:8rem clamp(1.2rem,4vw,3.5rem)}.system-head>p{max-width:31rem;color:#aaa;font-size:1rem;line-height:1.55;word-break:keep-all}.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.flow article{display:grid;min-height:17rem;padding:1.5rem}.flow>i{align-self:center;color:#666;font-style:normal}.flow span,.flow p{color:#777;font:700 .58rem/1.2 "Courier New",monospace}.flow h3{align-self:center;font-size:clamp(1.1rem,1.8vw,1.8rem);font-weight:400;letter-spacing:-.04em}.flow p{align-self:end}.flow .retry{border-left:1px solid var(--blue)}.flow .retry h3{color:#7778ff}.retry-window{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;padding:1.5rem clamp(1.2rem,4vw,3.5rem);font:700 .6rem/1.2 "Courier New",monospace}.retry-window i{text-align:center;color:#555}.retry-window b{color:#7778ff}
.about{padding-bottom:7rem}.about-copy{display:grid;grid-template-columns:.7fr 1.3fr;padding:8rem clamp(1.2rem,4vw,3.5rem)}.about-copy h2 em{color:var(--blue)}.principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c9c5;border-bottom:1px solid #c9c9c5}.principles article{display:grid;min-height:18rem;padding:1.5rem;border-right:1px solid #c9c9c5}.principles article:last-child{border:0}.principles span{font:700 .58rem/1 "Courier New",monospace}.principles h3{align-self:center;font-size:clamp(1.7rem,2.5vw,2.6rem);font-weight:300;letter-spacing:-.05em}.principles p{align-self:end;max-width:16rem;color:#555;font-size:.82rem;line-height:1.5;word-break:keep-all}.stack{display:flex;justify-content:space-between;padding:1.5rem clamp(1.2rem,4vw,3.5rem);font:700 .58rem/1.2 "Courier New",monospace}
footer{padding-bottom:1.5rem;color:#eee;background:var(--ink)}.contact-copy{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:6rem;padding:8rem clamp(1.2rem,4vw,3.5rem)}.contact-copy h2 em{color:#7778ff}.contact-copy p{max-width:29rem;color:#aaa;line-height:1.5;word-break:keep-all}.mail{display:flex;align-items:center;justify-content:space-between;margin:0 clamp(1.2rem,4vw,3.5rem);padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(1.1rem,2.6vw,2.5rem);font-weight:300;letter-spacing:-.04em}.mail i{font-style:normal;transition:transform .25s}.mail:hover i{transform:translate(.35rem,-.35rem)}.footer-bottom{display:flex;justify-content:space-between;padding:1.5rem clamp(1.2rem,4vw,3.5rem) 0;color:#777;font:700 .57rem/1.2 "Courier New",monospace}.progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left}.reveal{opacity:0;transform:translateY(2rem);clip-path:inset(0 0 20% 0);transition:opacity .75s,transform .75s cubic-bezier(.2,.8,.2,1),clip-path .75s}.reveal.visible{opacity:1;transform:none;clip-path:inset(0)}
@media(max-width:900px){.topbar nav{display:none}.topbar nav.open{position:absolute;top:3.8rem;right:1.2rem;display:grid;gap:1rem;padding:1.2rem;color:#fff;background:var(--ink)}.menu{display:block}.hero-word{font-size:16vw}.impossible{width:30vw}.work-grid{grid-template-columns:1fr}.work-intro{position:relative;min-height:auto;border-right:0}.preview-frame{width:100%;max-width:none}.work-list{padding-top:0}.case-title,.about-copy{grid-template-columns:1fr;gap:3rem}.notes,.principles{grid-template-columns:1fr 1fr}.note:nth-child(2),.principles article:nth-child(2){border-right:0}.note:nth-child(-n+2),.principles article:nth-child(-n+2){border-bottom:1px solid #c9c9c5}.system-head,.contact-copy{grid-template-columns:1fr;gap:3rem}.flow{grid-template-columns:1fr}.flow article{min-height:10rem}.flow>i{padding:.45rem;text-align:center;transform:rotate(90deg)}}
@media(max-width:560px){.topbar{padding:1.2rem}.brand{font-size:1.1rem}.hero{min-height:90svh}.hero-word{top:42%;font-size:18vw}.impossible{top:41%;width:42vw}.hero-statement{bottom:7rem;font-size:.88rem}.hero-meta{grid-template-columns:1fr auto;bottom:1.2rem}.hero-meta span:nth-child(2){display:none}.section-label{padding:1rem 1.2rem}.work-intro{padding:3rem 1.2rem}.work-intro h1{font-size:4rem}.preview-frame{margin-top:2rem}.work-row{grid-template-columns:2rem 1fr 1rem;gap:.7rem;min-height:8.5rem;padding:1rem 1.2rem}.work-row small{display:none}.work-row h2{font-size:2.35rem}.work-end{display:block;padding:2rem 1.2rem}.work-end span{display:block;margin-top:.5rem}.case-title,.system-head,.about-copy,.contact-copy{padding:5rem 1.2rem}.case-title h2,.system-head h2,.about-copy h2,.contact-copy h2{font-size:3.7rem}.notes,.principles{grid-template-columns:1fr}.note,.principles article{min-height:16rem;border-right:0;border-bottom:1px solid #c9c9c5!important}.note:last-child,.principles article:last-child{border-bottom:0!important}.note h3{font-size:2rem}.flow{margin:0 1.2rem;border-left:1px solid var(--line);border-right:1px solid var(--line)}.retry-window{grid-template-columns:1fr;gap:.8rem}.retry-window i{text-align:left;transform:rotate(90deg);transform-origin:left}.stack{flex-wrap:wrap;justify-content:flex-start;gap:.8rem 1.3rem}.contact-copy{padding-bottom:4rem}.mail{margin:0 1.2rem;font-size:1rem}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:1rem}.footer-bottom a:last-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.loader{display:none}.reveal{opacity:1;transform:none;clip-path:none;transition:none}.impossible{will-change:auto}}
.project-banner{display:grid;grid-template-columns:8rem 1fr auto;align-items:center;gap:2rem;padding:1.25rem clamp(1.2rem,4vw,3.5rem);border-bottom:1px solid var(--line);background:#1b1b1e;font:700 .58rem/1.2 "Courier New",monospace;letter-spacing:.04em}.project-banner>span{color:var(--blue)}.project-banner>b{font-size:1.1rem;letter-spacing:-.03em}.project-banner>p{color:#777}.work-grid{border-bottom:1px solid var(--line)}
.outbox-pipeline,.ai-boundary,.exchange-flow{display:grid;align-items:center;gap:.55rem;align-self:center}.outbox-pipeline{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}.outbox-pipeline>div,.ai-boundary>div,.exchange-flow>div{display:grid;gap:.55rem;padding:.8rem;border:1px solid #bdbdb8;background:#f0f0ed}.outbox-pipeline span,.outbox-pipeline b,.ai-boundary span,.ai-boundary b,.exchange-flow span,.exchange-flow b{font:700 .43rem/1.25 "Courier New",monospace}.outbox-pipeline>i,.ai-boundary>i,.exchange-flow>i{font-style:normal;text-align:center}.blue-node{color:#fff!important;border-color:var(--blue)!important;background:var(--blue)!important}.outbox-visual.active .outbox-pipeline>div{animation:pipelineSignal 3.2s infinite}.outbox-visual.active .outbox-pipeline>div:nth-of-type(2){animation-delay:.55s}.outbox-visual.active .outbox-pipeline>div:nth-of-type(3){animation-delay:1.1s}.outbox-visual.active .outbox-pipeline>div:nth-of-type(4){animation-delay:1.65s}@keyframes pipelineSignal{0%,18%,100%{transform:translateY(0)}8%{transform:translateY(-.35rem);box-shadow:0 .4rem 0 rgba(77,80,255,.18)}}
.worker-board{display:grid;align-content:center;gap:.55rem}.worker-board>div{display:grid;grid-template-columns:2.2rem repeat(5,1fr);align-items:center;gap:.4rem}.worker-board b{font:700 .48rem/1 "Courier New",monospace}.worker-board i{height:.75rem;background:#ccc;animation:workerClaim 2.4s infinite}.worker-board>div:nth-child(2) i{animation-delay:.2s}.worker-board>div:nth-child(3) i{animation-delay:.4s}.worker-board>div:nth-child(4) i{animation-delay:.6s}.worker-board i:nth-child(2n){background:#9fa0ff}@keyframes workerClaim{0%,100%{transform:scaleX(.25);transform-origin:left;opacity:.25}45%,75%{transform:scaleX(1);opacity:1}}
.ai-boundary{grid-template-columns:1fr auto .75fr auto 1fr}.ai-boundary>div{min-height:6rem}.ai-boundary span,.exchange-flow span{color:#777}.ai-boundary b,.exchange-flow b{align-self:end}.ai-visual.active .ai-boundary>i{color:var(--blue);animation:arrowBlink 1.6s infinite}@keyframes arrowBlink{50%{transform:translateX(.35rem);opacity:.35}}
.exchange-flow{grid-template-columns:1fr 1fr auto .8fr auto .8fr}.exchange-flow .normalize{border-style:dashed}.exchange-visual.active .normalize{animation:normalizePulse 2.2s infinite}@keyframes normalizePulse{50%{border-color:var(--blue);background:#e3e3ff}}
@media(max-width:900px){.project-banner{grid-template-columns:auto 1fr}.project-banner>p{grid-column:1/-1}.outbox-pipeline,.exchange-flow{gap:.3rem}.outbox-pipeline>div,.ai-boundary>div,.exchange-flow>div{padding:.55rem}}
@media(max-width:560px){.project-banner{padding:1rem 1.2rem}.project-banner>p{font-size:.5rem}.outbox-pipeline span,.outbox-pipeline b,.ai-boundary span,.ai-boundary b,.exchange-flow span,.exchange-flow b{font-size:.36rem}.outbox-pipeline{grid-template-columns:1fr auto 1fr}.outbox-pipeline>div:nth-of-type(n+3),.outbox-pipeline>i:nth-of-type(n+2){display:none}.exchange-flow{grid-template-columns:1fr 1fr auto .8fr}.exchange-flow>i:last-of-type,.exchange-flow>div:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.outbox-pipeline>div,.worker-board i,.ai-boundary>i,.normalize{animation:none!important}}
.home-work{color:#eee;background:var(--ink)}.home-work-grid{display:grid;grid-template-columns:minmax(24rem,.78fr) 1.22fr;min-height:100svh}.home-work-intro{display:grid;align-content:start;padding:5rem clamp(1.2rem,4vw,3.5rem);border-right:1px solid var(--line)}.home-work-intro h1{font-size:clamp(3.8rem,6.8vw,7rem);font-weight:300;line-height:.86;letter-spacing:-.07em}.home-work-intro h1 em{font-family:Georgia,serif;font-weight:400}.home-work-intro>small{margin-top:1rem;color:#777;font:700 .56rem/1.2 "Courier New",monospace}.home-preview{position:relative;overflow:hidden;aspect-ratio:1.45;margin-top:3.5rem;border:1px solid #38383b;background:#f0f0ed}.home-visual{position:absolute;inset:0;display:grid;grid-template-rows:1fr auto;padding:2rem;color:var(--ink);opacity:0;transform:scale(.97);transition:opacity .3s,transform .55s cubic-bezier(.2,.8,.2,1)}.home-visual.active{opacity:1;transform:none}.home-visual>p{display:flex;justify-content:space-between;font:700 .55rem/1.35 "Courier New",monospace}.home-visual strong{color:var(--blue)}.mini-pipeline{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:.6rem}.mini-pipeline span,.mini-pipeline b{position:relative;z-index:2;padding:1rem .5rem;border:1px solid #bcbcb8;text-align:center;font:700 .48rem/1 "Courier New",monospace}.mini-pipeline b{color:#fff;border-color:var(--blue);background:var(--blue)}.mini-pipeline i{position:absolute;left:10%;right:10%;top:44%;height:1px;background:#aaa}.tripoom-home.active .mini-pipeline b{animation:pipelineSignal 2.4s infinite}.mini-grid{align-self:center;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);height:70%;background-image:linear-gradient(#c8c8c5 1px,transparent 1px),linear-gradient(90deg,#c8c8c5 1px,transparent 1px);background-size:14.285% 25%;border-right:1px solid #c8c8c5;border-bottom:1px solid #c8c8c5}.mini-grid i{background:var(--blue);opacity:.75;animation:riskPulse 2.4s infinite}.mini-grid i:nth-child(1){grid-column:2;grid-row:2}.mini-grid i:nth-child(2){grid-column:3;grid-row:2;animation-delay:.2s}.mini-grid i:nth-child(3){grid-column:5;grid-row:3;animation-delay:.4s}.mini-grid i:nth-child(4){grid-column:6;grid-row:2;animation-delay:.6s}.mini-grid i:nth-child(5){grid-column:4;grid-row:4;animation-delay:.8s}.project-index{padding-top:6rem}.project-link{position:relative;display:grid;grid-template-columns:3.5rem 1fr auto 2rem;align-items:center;gap:1.5rem;min-height:15rem;padding:2rem clamp(1.2rem,4vw,3.5rem);border-top:1px solid var(--line);transition:background .25s}.project-link:last-of-type{border-bottom:1px solid var(--line)}.project-link>span,.project-link small{color:#777;font:700 .58rem/1.2 "Courier New",monospace}.project-link h2{font-size:clamp(3rem,6vw,6.2rem);font-weight:300;line-height:.9;letter-spacing:-.065em}.project-link p{height:0;overflow:hidden;color:#aaa;font-size:.82rem;opacity:0;transition:height .25s,margin .25s,opacity .25s}.project-link>i{font-size:1.3rem;font-style:normal;opacity:0;transform:translate(-.4rem,.4rem);transition:opacity .25s,transform .25s}.project-link.active,.project-link:hover{background:#1c1c20}.project-link.active::before{position:absolute;top:-1px;bottom:0;left:0;width:4px;background:var(--blue);content:""}.project-link.active h2,.project-link:hover h2{font-family:Georgia,serif;font-style:italic}.project-link.active p,.project-link:hover p{height:1rem;margin-top:.8rem;opacity:1}.project-link.active>i,.project-link:hover>i{opacity:1;transform:none}.project-index-foot{display:flex;justify-content:space-between;padding:3rem clamp(1.2rem,4vw,3.5rem);color:#777;font:700 .56rem/1.2 "Courier New",monospace}.home-about{padding-bottom:7rem}
.detail-nav{position:absolute}.detail-hero{position:relative;display:grid;align-content:end;min-height:100svh;padding:8rem clamp(1.2rem,4vw,3.5rem) 2rem;overflow:hidden}.detail-count{position:absolute;top:8rem;left:clamp(1.2rem,4vw,3.5rem);font:700 .62rem/1 "Courier New",monospace;color:var(--blue)}.detail-hero h1{font-size:clamp(7rem,18vw,18rem);font-weight:300;line-height:.72;letter-spacing:-.09em}.detail-hero h1 span{color:var(--blue);font-family:Georgia,serif;font-style:italic}.detail-hero>p{max-width:36rem;margin-top:4rem;font-size:clamp(1rem,1.7vw,1.45rem);line-height:1.25;letter-spacing:-.025em;word-break:keep-all}.detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;padding-top:1rem;border-top:1px solid #c4c4c1;font:700 .58rem/1.2 "Courier New",monospace}.back-projects{position:absolute;right:clamp(1.2rem,4vw,3.5rem);bottom:2rem;font:700 .6rem/1 "Courier New",monospace}.project-case .work-grid{border-bottom:0}.detail-footer-nav{display:flex;justify-content:space-between;padding:1.5rem clamp(1.2rem,4vw,3.5rem);border-bottom:1px solid var(--line);font:700 .61rem/1.2 "Courier New",monospace}.detail-footer-nav a:hover{color:#7778ff}
@media(max-width:900px){.home-work-grid{grid-template-columns:1fr}.home-work-intro{border-right:0}.home-preview{max-width:none}.project-index{padding-top:0}.detail-hero h1{font-size:22vw}.detail-meta{grid-template-columns:1fr 1fr}.back-projects{position:static;margin-top:2rem}}
@media(max-width:560px){.home-work-intro{padding:4rem 1.2rem}.home-work-intro h1{font-size:4rem}.home-preview{margin-top:2.5rem}.home-visual{padding:1.3rem}.mini-pipeline span,.mini-pipeline b{padding:.8rem .2rem;font-size:.38rem}.project-link{grid-template-columns:2rem 1fr 1rem;min-height:10rem;padding:1.5rem 1.2rem}.project-link small{display:none}.project-link h2{font-size:3.2rem}.project-index-foot{display:block;padding:2rem 1.2rem}.project-index-foot span{display:block;margin-top:.5rem}.detail-hero{min-height:88svh;padding:7rem 1.2rem 1.5rem}.detail-count{top:6rem;left:1.2rem}.detail-hero h1{font-size:25vw}.detail-hero>p{margin-top:3rem;font-size:.95rem}.detail-meta{margin-top:2rem}.detail-footer-nav{padding:1.2rem;font-size:.54rem}}
@media(prefers-reduced-motion:reduce){.home-visual,.project-link p{transition:none}.mini-pipeline b,.mini-grid i{animation:none!important}}
