@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');

:root{--bg:#101211;--surface:#181c18;--text:#f2f4ee;--muted:#a5ada2;--line:#30362f;--accent:#c6f36a;--mono:'IBM Plex Mono',monospace;--sans:'Noto Sans KR',sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.8;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{display:block}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.container{width:min(1280px,calc(100% - 112px));margin-inline:auto}.mono,.eyebrow,.section-label,.hero-caption,.panel-top,.architecture-heading,.card-top,.process-number,.header-label{font-family:var(--mono)}.muted{color:var(--muted)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--accent);color:var(--bg);padding:8px 18px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(16,18,17,.96);backdrop-filter:blur(16px)}.header-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:13px;line-height:1.25;font-family:var(--mono);font-size:20px;font-weight:600;letter-spacing:-.5px;flex-shrink:0}.brand svg{width:32px;height:32px;stroke:var(--accent);stroke-width:1.7;fill:none}.brand-plus{color:var(--accent)}.brand-sub{display:block;font-size:10px;font-weight:400;letter-spacing:2.05px;color:var(--muted);margin-top:6px}.desktop-nav{display:flex;gap:32px;font-size:14px;color:#b8beb4}.desktop-nav a{position:relative;transition:color .2s}.desktop-nav a:hover,.desktop-nav a.current{color:var(--accent)}.desktop-nav a.current:after{content:'';position:absolute;bottom:-33px;left:0;right:0;height:2px;background:var(--accent)}.header-label{font-size:11px;letter-spacing:1px;color:#7d8978}.menu-toggle,.mobile-nav{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center;padding-top:90px}.eyebrow{font-size:12px;letter-spacing:1.45px;color:var(--accent);display:flex;align-items:center;gap:12px;margin:0 0 27px}.tiny-cross{font:400 23px var(--mono);color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,3.6vw,54px);font-weight:800;letter-spacing:-2.8px;line-height:1.38;margin-bottom:27px}h1 span{color:var(--accent)}.hero-description{font-size:17px;color:#b6bdb1;line-height:1.95;margin-bottom:34px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:13px 22px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:#19200f;border-color:var(--accent)}.button.primary:hover{background:#d8ff93}.button.secondary:hover{border-color:#7c8c6e;background:#1d231a}.hero-caption{display:flex;align-items:center;gap:12px;margin-top:41px;font-size:10px;letter-spacing:1.1px;color:#7d8978}.caption-line{width:24px;height:1px;background:#6d7965}.motion-panel{background:linear-gradient(145deg,#1c221b,#151a15);border:1px solid #3a4433;position:relative;min-width:0}.motion-panel:before,.motion-panel:after{content:'';position:absolute;width:9px;height:9px;border-color:var(--accent);pointer-events:none}.motion-panel:before{left:-1px;top:-1px;border-top:1px solid;border-left:1px solid;color:var(--accent)}.motion-panel:after{right:-1px;bottom:-1px;border-bottom:1px solid;border-right:1px solid;color:var(--accent)}.panel-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #303b2c;padding:16px 23px;font-size:11px;letter-spacing:1px}.sample-label{font-family:var(--sans);letter-spacing:0;color:#9caf88;font-size:12px}.motion-title{display:flex;justify-content:space-between;align-items:center;padding:25px 26px 0;font-family:var(--mono);font-size:23px;line-height:1.35;letter-spacing:-1px;color:#a4b29a}.motion-title strong{font-weight:500;color:var(--text)}.motion-title svg{width:35px;height:35px;stroke:#758764;stroke-width:1;fill:none}.plot-wrap{padding:8px 10px 0}.trajectory{width:100%;height:auto}.motion-controls{display:flex;align-items:center;justify-content:space-between;padding:2px 24px 19px;gap:12px}.path-modes{display:flex;gap:6px}.mode{font-family:var(--mono);font-size:12px;padding:7px 12px;background:transparent;border:1px solid #3a4433;color:#a9b39e}.mode span{font-family:var(--sans);margin-left:7px}.mode.active{background:#2c3b20;border-color:#617b43;color:var(--accent)}.play-toggle{display:flex;align-items:center;gap:7px;font-size:12px;color:#a9b39e;border:0;background:transparent;padding:7px 0}.play-toggle svg{width:13px;height:13px;stroke:currentColor;stroke-width:1.5;fill:none}.coordinates{border-top:1px solid #303b2c;display:flex;gap:30px;padding:14px 24px;font-family:var(--mono);font-size:12px;color:#80906f}.coordinates b{font-weight:400;color:#cbd6be;margin-left:8px;font-variant-numeric:tabular-nums;display:inline-block;min-width:43px}.coordinate-unit{margin-left:auto;align-self:center;font-size:9px;letter-spacing:.6px}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:26px;color:#929d89;font-size:10px;letter-spacing:1px}.hero-bottom>div{display:flex;gap:16px;font-family:var(--mono)}.hero-bottom i{font-style:normal;color:#4b5547}.scroll-link{display:flex;align-items:center;gap:18px;font-family:var(--mono)}.scroll-link span{font-size:19px;color:var(--accent)}.section{padding-top:112px;padding-bottom:112px}.section-label{display:flex;gap:15px;font-size:12px;letter-spacing:1.5px;color:#b2bdaa;margin-bottom:23px}.section-label>span{color:var(--accent)}h2{font-size:36px;letter-spacing:-1.7px;line-height:1.5;font-weight:700;margin-bottom:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px;border-bottom:1px solid var(--line)}.about-copy{padding-top:6px}.large-copy{font-size:24px;line-height:1.8;letter-spacing:-.7px;color:#dbe0d5;margin-bottom:21px}.large-copy strong{font-weight:600;color:var(--accent)}.about-copy>p:not(.large-copy){color:var(--muted);font-size:16px;line-height:1.95;margin-bottom:27px}.about-signature{display:flex;gap:17px;font-family:var(--mono);font-size:9px;letter-spacing:.45px;color:#7d8d73;flex-wrap:wrap}.about-signature span+span:before{content:'+';margin-right:17px;color:#607252}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading>p{font-size:15px;color:var(--muted);line-height:1.9;margin-bottom:6px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.expertise-card{padding:32px 30px 34px;background:#151814;transition:background .25s}.expertise-card+article{border-left:1px solid var(--line)}.expertise-card:hover{background:#1a2017}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;color:#86957a;font-size:10px;letter-spacing:.8px}.card-top svg{width:35px;height:35px;fill:none;stroke:var(--accent);stroke-width:1.25}.expertise-card h3{font-family:var(--mono),var(--sans);font-size:29px;letter-spacing:-1px;line-height:1.4;margin-bottom:21px;font-weight:500}.expertise-card h3 span{display:block;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:0;color:#8b9b7c;margin-top:8px}.expertise-card p{font-size:15px;line-height:1.95;color:var(--muted);margin-bottom:27px}.expertise-card ul{border-top:1px solid var(--line);list-style:none;padding:22px 0 0;margin:0;display:grid;gap:9px;font-size:14px;color:#c7d0be}.expertise-card li:before{content:'+';font-family:var(--mono);color:#8bad68;margin-right:12px}.system-section{background:#191e17;border-top:1px solid #353f2e;border-bottom:1px solid #353f2e}.system-inner{display:grid;grid-template-columns:.85fr 1fr;gap:112px;padding-block:88px;align-items:center}.system-copy>p:not(.section-label){color:var(--muted);font-size:15px;line-height:1.95;margin-top:23px;margin-bottom:29px}.system-tabs{display:flex;gap:0;border-bottom:1px solid #414b39;margin-bottom:25px}.system-tabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 14px;font-family:var(--mono);font-size:12px;color:#a3af98}.system-tabs button:first-child{padding-left:0;padding-right:20px}.system-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}#system-detail{min-height:121px}#system-detail h3{font-size:16px;font-weight:600;margin-bottom:9px}#system-detail p{font-size:14px;color:#a3af98;margin:0;line-height:1.9}.architecture{min-width:0;background:#12170f;border:1px solid #3c4930;padding:25px 25px 20px}.architecture-heading{display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.6px;margin-bottom:32px}.architecture-heading .muted{font-size:9px;align-self:center;color:#7c8f6d}.architecture-main{display:grid;grid-template-columns:1fr 44px;gap:17px}.architecture-stack{min-width:0}.architecture-node{display:flex;align-items:center;border:1px solid #3b4831;padding:18px 14px;gap:13px;background:#1a2216;transition:background .2s,border-color .2s}.architecture-node.selected{border-color:#99bc64;background:#28391a}.node-number{font-family:var(--mono);font-size:10px;color:#839971}.architecture-node strong{display:block;font:500 17px var(--mono);color:#d3deca}.architecture-node div>span{display:block;font-size:12px;color:#95a788;margin-top:6px}.node-tag{font-family:var(--mono);font-size:8px;color:#6e855c;margin-left:auto;writing-mode:vertical-rl;letter-spacing:1px}.connection{height:44px;display:flex;align-items:center;justify-content:center;position:relative}.connection:before{content:'';position:absolute;height:100%;width:1px;background:#4a6139;left:50%}.connection span{position:relative;background:#12170f;padding:2px 10px;color:#799367;font-family:var(--mono);font-size:9px;letter-spacing:.8px}.utility-node{border:1px dashed #536940;display:flex;justify-content:center;align-items:center;gap:16px;writing-mode:vertical-rl;font:11px var(--mono);color:#9bb485;letter-spacing:1px;padding:12px 8px;transition:background .2s,border-color .2s}.utility-node small{font:11px var(--sans);letter-spacing:.8px;color:#728d60}.utility-node.selected{background:#28391a;border-color:var(--accent);color:var(--accent)}.architecture-note{display:flex;align-items:center;gap:9px;font-size:12px;color:#8a9c7a;margin:22px 0 0}.architecture-note .tiny-cross{font-size:16px}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);margin:48px 0 0;border-top:1px solid #536640}.process-grid li{padding:30px 24px 0 0;position:relative}.process-grid li:before{position:absolute;content:'';top:-4px;left:0;width:7px;height:7px;background:var(--accent)}.process-number{font-size:36px;line-height:1.3;letter-spacing:-1px;color:#536640;display:flex;align-items:center;gap:17px;margin-bottom:23px}.process-number span{font-size:10px;letter-spacing:1px;color:#94a683}.process-grid h3{font-size:20px;line-height:1.5;font-weight:600;margin-bottom:13px}.process-grid p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.closing{background:var(--accent);color:#202a15;display:flex;align-items:center;gap:30px;padding:38px 42px}.closing-mark{font:400 67px var(--mono);line-height:1}.closing p{font-size:21px;letter-spacing:-.6px;line-height:1.7;margin:0}.closing p strong{font-weight:700}.closing>.mono{margin-left:auto;font-size:11px;letter-spacing:.8px;color:#536640}.site-footer{display:flex;align-items:center;gap:28px;min-height:148px;padding-block:38px}.footer-brand{font-family:var(--mono);font-size:15px;white-space:nowrap}.footer-brand span{color:var(--accent)}.site-footer p{font-size:12px;color:#85907d;margin:0}.back-top{margin-left:auto;font-size:12px;color:#a6b199;display:flex;gap:12px;align-items:center}.back-top span{color:var(--accent);font-size:20px}

@media(min-width:1600px){.hero{padding-top:105px;gap:75px}h1{font-size:57px}.hero-bottom{margin-top:30px}}
@media(max-width:1150px){.container{width:calc(100% - 72px)}.header-label{display:none}.hero{gap:32px;padding-top:65px}h1{font-size:39px;letter-spacing:-2px}.hero-description{font-size:15px}.motion-title{font-size:20px}.hero-bottom>div{gap:10px;font-size:9px}.hero-bottom{font-size:9px}.about{gap:50px}h2{font-size:31px}.large-copy{font-size:21px}.expertise-card{padding:25px 22px}.expertise-card h3{font-size:25px}.system-inner{gap:50px;grid-template-columns:1fr 1.1fr}.coordinates{gap:20px}.coordinate-unit{font-size:8px}.closing>.mono{font-size:9px}}
@media(max-width:850px){.container{width:calc(100% - 48px)}.header-inner{height:80px}.brand{font-size:18px}.desktop-nav{gap:22px;font-size:13px}.desktop-nav a.current:after{bottom:-27px}.hero{grid-template-columns:1fr;gap:42px;padding-top:58px}.hero-copy{max-width:640px}h1{font-size:49px;letter-spacing:-2.5px}.hero-description{font-size:16px}.hero-caption{margin-top:25px}.motion-panel{width:100%;max-width:640px;justify-self:center}.motion-title{font-size:25px}.plot-wrap{padding-inline:24px}.hero-bottom{margin-top:0;flex-wrap:wrap}.hero-bottom>.mono{width:100%;font-size:10px}.hero-bottom>div{font-size:10px}.section{padding-block:78px}.about{gap:35px;grid-template-columns:.9fr 1fr}h2{font-size:28px}.large-copy{font-size:19px}.about-copy>p:not(.large-copy){font-size:14px}.section-heading>p{font-size:14px}.expertise-grid{grid-template-columns:1fr}.expertise-card{padding:28px 30px;display:grid;grid-template-columns:1fr 1.3fr;gap:0 30px}.expertise-card+article{border-left:0;border-top:1px solid var(--line)}.card-top{grid-column:1/-1;margin-bottom:24px}.expertise-card h3{margin-bottom:0}.expertise-card p{margin-bottom:20px;grid-column:2;grid-row:2/4}.expertise-card ul{font-size:13px;border:0;padding-top:18px}.system-inner{grid-template-columns:1fr;gap:35px;padding-block:70px}.system-copy{max-width:590px}.system-tabs{width:100%;max-width:400px}#system-detail{min-height:100px}.architecture{max-width:640px;width:100%;justify-self:center;padding:27px 30px}.architecture-heading .muted{font-size:10px}.architecture-node{padding:22px}.process-grid{grid-template-columns:repeat(2,1fr);gap:36px 20px;border-top:0}.process-grid li{border-top:1px solid #536640}.closing{padding:30px;gap:22px}.closing p{font-size:18px}.closing>.mono{display:none}.closing-mark{font-size:57px}.site-footer{min-height:122px;gap:18px}.site-footer p{font-size:11px}}
@media(max-width:560px){html{scroll-padding-top:90px}.container{width:calc(100% - 40px)}.header-inner{height:76px}.brand{font-size:17px}.brand-sub{font-size:8px;letter-spacing:1.6px}.brand svg{width:28px;height:28px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:42px;height:42px;background:none;border:1px solid #3b4534;padding:11px}.menu-toggle span{width:100%;height:1px;background:#cfdbc4;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);padding:12px 20px 20px}.mobile-nav a{padding:10px 8px;font-size:14px;color:#c4cfba}.hero{padding-top:47px;gap:38px}.eyebrow{font-size:10px;letter-spacing:1px;gap:9px;margin-bottom:23px}h1{font-size:clamp(27px,7.6vw,40px);letter-spacing:-1.6px;line-height:1.5;margin-bottom:24px}.hero-description{font-size:15px;line-height:1.95;margin-bottom:27px}.desktop-break{display:none}.hero-actions{gap:9px}.button{padding:12px 16px;font-size:13px}.hero-caption{font-size:8px;margin-top:28px;letter-spacing:.6px}.panel-top{padding:14px 18px;font-size:10px}.sample-label{font-size:11px}.motion-title{font-size:21px;padding:20px 19px 0}.motion-title svg{width:28px;height:28px}.plot-wrap{padding:5px 4px 0}.motion-controls{padding:6px 16px 16px;gap:10px}.mode{font-size:11px;padding:7px 9px}.mode span{margin-left:4px}.play-toggle{font-size:11px;gap:5px}.coordinates{gap:19px;padding:12px 18px;font-size:11px}.coordinate-unit{font-size:7px;letter-spacing:0}.hero-bottom{padding:20px 0;gap:13px}.hero-bottom>.mono{font-size:9px}.hero-bottom>div{font-size:8px;gap:8px}.scroll-link{font-size:8px;gap:7px}.scroll-link span{font-size:16px}.section{padding-block:62px}.section-label{font-size:10px;letter-spacing:1.1px;margin-bottom:19px}h2{font-size:27px;letter-spacing:-1.2px}.about{grid-template-columns:1fr;gap:30px}.large-copy{font-size:20px;margin-bottom:19px}.about-copy{padding-top:0}.about-copy>p:not(.large-copy){font-size:15px}.about-signature{font-size:8px;gap:12px}.about-signature span+span:before{margin-right:12px}.section-heading{display:block;margin-bottom:29px}.section-heading>p{margin:20px 0 0;font-size:14px}.expertise-card{display:block;padding:28px 24px}.card-top{margin-bottom:27px}.expertise-card h3{font-size:28px;margin-bottom:20px}.expertise-card h3 span{font-size:11px}.expertise-card p{font-size:15px}.expertise-card ul{font-size:14px;border-top:1px solid var(--line);padding-top:20px}.system-inner{padding-block:62px;gap:30px}.system-copy>p:not(.section-label){font-size:15px}.system-tabs button{padding-inline:13px}.architecture{padding:20px 17px}.architecture-heading{margin-bottom:25px;font-size:10px;gap:10px}.architecture-heading .muted{font-size:7px}.architecture-main{gap:10px;grid-template-columns:1fr 32px}.architecture-node{padding:17px 11px;gap:11px}.architecture-node strong{font-size:15px}.architecture-node div>span{font-size:11px}.node-tag{font-size:7px}.utility-node{font-size:9px;padding-inline:5px}.utility-node small{font-size:10px}.architecture-note{font-size:11px;gap:7px}.process-grid{margin-top:34px;gap:30px 20px}.process-grid li{padding-top:25px;padding-right:0}.process-number{font-size:30px;gap:12px;margin-bottom:18px}.process-number span{font-size:8px;letter-spacing:.6px}.process-grid h3{font-size:19px}.process-grid p{font-size:13px}.process-grid p br{display:none}.closing{padding:27px 23px;gap:16px}.closing-mark{font-size:43px}.closing p{font-size:clamp(14px,3.7vw,18px);letter-spacing:-.5px}.site-footer{gap:8px;flex-wrap:wrap;padding-block:28px;min-height:130px}.footer-brand{font-size:13px}.site-footer p{width:100%;order:3;font-size:11px}.back-top{font-size:11px}.back-top span{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Keep supporting labels readable across all breakpoints. */
.eyebrow,.section-label,.panel-top,.hero-caption,.card-top,.header-label,.hero-bottom,.hero-bottom>div,.scroll-link,.about-signature,.expertise-card h3 span,.architecture-heading,.architecture-heading .muted,.connection span,.process-number span,.coordinates,.sample-label,.closing>.mono{font-size:12px}
.play-toggle,.mode,.system-tabs button,.architecture-node div>span,.architecture-note,.utility-node small,.site-footer p,.back-top{font-size:14px}
.coordinate-unit{font-size:12px;letter-spacing:0}
.architecture-heading{flex-wrap:wrap;gap:8px}
.node-tag{font-size:12px;letter-spacing:0}
.node-number,.utility-node{font-size:12px}
.brand-sub{font-size:12px;letter-spacing:1px}
.hero-bottom{flex-wrap:wrap}.about-signature{gap:10px}.about-signature span+span:before{margin-right:10px}
@media(max-width:1150px){.header-label{display:none}.coordinate-unit{display:none}}
@media(max-width:850px){.hero-bottom>.mono{font-size:12px}.hero-bottom>div{gap:12px}.architecture-main{grid-template-columns:1fr 50px}}
@media(max-width:560px){.eyebrow{font-size:11px;letter-spacing:.35px}.hero-caption{font-size:11px;letter-spacing:0}.brand-sub{font-size:10px;letter-spacing:.4px}.hero-bottom>.mono{font-size:11px}.hero-bottom>div{font-size:10px;gap:8px}.scroll-link{font-size:11px}.architecture-node{padding:17px 10px;gap:8px}.architecture-node div>span{font-size:12px}.architecture-node strong{font-size:14px}.architecture-main{grid-template-columns:1fr 40px}.node-tag{display:none}.architecture-heading .muted{font-size:10px}.process-number{gap:10px}.process-number span{font-size:11px}.process-grid p{font-size:14px}}
