:root{--ink:#1c355c;--blue:#234c9d;--paper:#f6fbff;--sky:#e7f2ff;--line:#9db3d0;--muted:#5f728c;--mono:'Courier New',monospace;--sans:'Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',Arial,sans-serif;font-family:var(--sans);font-synthesis:none;color:var(--ink);background:#eaf3fb;scroll-behavior:smooth;scroll-padding-top:1.5rem}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 86% 16%,rgba(255,255,255,.85),transparent 42%),repeating-linear-gradient(90deg,transparent 0 63px,rgba(65,101,156,.035) 63px 64px)}a{color:inherit;text-decoration:none}button{font:inherit}a,summary,button{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,button:focus-visible{outline:2px dashed #315dae;outline-offset:5px}::selection{background:#bad7ff;color:#163d87}.skip-link{position:fixed;z-index:20;top:1rem;left:1rem;padding:.8rem;background:white;border:1px solid;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.header,main,.footer{width:min(1220px,calc(100% - 5rem));margin-inline:auto}.header{padding-top:2.2rem}.masthead{display:flex;align-items:center;gap:1.7rem;padding-bottom:1.7rem}.brand{display:block;width:9.2rem;color:var(--blue);line-height:0}.brand svg{display:block;width:100%;height:auto}.brand-caption{font:700 .75rem/1.4 var(--mono);letter-spacing:.015em;margin:0;padding-left:1.65rem;border-left:1px solid var(--line);color:#5e789e}.header-email{margin-left:auto;font:.8125rem/1.5 var(--mono);text-decoration:underline;text-underline-offset:4px;color:var(--blue)}.nav-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid #728cab;border-bottom:1px solid var(--line);min-height:3.35rem}nav{display:flex;align-items:center;gap:2.5rem;font-size:.875rem}nav a{position:relative;padding:.95rem 0}nav a:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a[aria-current]:after{transform:scaleX(1)}nav span{font:.75rem var(--mono);margin-right:.5rem;color:#7793b7}.motion-control{font:.75rem var(--sans);border:1px solid #839cbe;background:#f1f8ff;color:#456591;box-shadow:inset 1px 1px white,inset -1px -1px #ccdcee;padding:.4rem .65rem;min-height:1.9rem;cursor:pointer;flex-shrink:0}.motion-control:active{box-shadow:inset 1px 1px #a4bad7}.hero{display:grid;grid-template-columns:1.08fr 1fr;gap:4rem;padding:4.5rem 0 3rem;align-items:center}.hero-copy{padding:.8rem 0}.eyebrow{font:.75rem/1.5 var(--mono);letter-spacing:.07em;color:#6380a6;margin:0 0 1.3rem}h1{font-size:clamp(2.6rem,4.3vw,4.2rem);font-weight:550;line-height:1.32;letter-spacing:-.055em;margin:0 0 1.6rem;word-break:keep-all}.hero-lead{font-size:1.1875rem;line-height:1.85;letter-spacing:-.025em;margin:0 0 .85rem;word-break:keep-all}.hero-description{font-size:1rem;line-height:1.9;color:var(--muted);margin:0 0 1.8rem;word-break:keep-all}.text-link{display:inline-block;font-size:.875rem;text-decoration:underline;text-underline-offset:5px;padding:.25rem 0;color:var(--blue)}.text-link:hover{color:#6988b5}.hero-art{margin:0;transform:rotate(.65deg);border:1px solid #7c95b7;background:#e0edf8;box-shadow:inset 2px 2px #fff,inset -2px -2px #afc1d9,6px 7px 0 rgba(156,178,210,.3);padding:3px;align-self:center}.window-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:linear-gradient(90deg,#4879b5,#9fc6e4);color:#f6fbff;font:700 .75rem/1.5 var(--mono);letter-spacing:.01em;min-height:2rem;padding:.35rem .55rem;text-shadow:0 1px #5780b4}.window-tag{font:400 .75rem/1.5 var(--mono);letter-spacing:.08em;color:#eaf5ff}.pixel-scene{position:relative;height:24rem;overflow:hidden;background:#98bede;border:1px solid #7692b8;border-top:0}.sky-source,.pixel-sky{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;image-rendering:pixelated}.pixel-sky{opacity:0}.pixel-sky.ready{opacity:1}.pixel-scene:after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(38,72,125,.08) 3px 4px);z-index:3}.strange-frame{position:absolute;inset:16% 24% 19% 25%;transform:rotate(-5deg) skewY(4deg);border:4px solid rgba(235,252,255,.94);box-shadow:5px 7px 0 rgba(57,100,153,.55),-2px -2px 0 #9bbddb;z-index:1;transition:transform .7s}.strange-frame span{position:absolute;display:block;border:2px solid rgba(229,250,255,.84);box-shadow:2px 3px 0 rgba(70,112,159,.5);background:rgba(219,245,255,.05)}.strange-frame span:nth-child(1){inset:7% -12% 5% 13%;transform:rotate(3deg)}.strange-frame span:nth-child(2){inset:15% -18% 12% 25%;transform:rotate(-2deg)}.strange-frame span:nth-child(3){inset:24% -26% 20% 38%;transform:rotate(3deg)}.strange-frame span:nth-child(4){inset:34% -33% 30% 51%;transform:rotate(-2deg);background:rgba(235,251,255,.24)}body[data-motion=on] .hero-art:hover .strange-frame{transform:translate(4px,-2px) rotate(-4deg) skewY(4deg)}.signal-word{position:absolute;bottom:1.3rem;left:1.2rem;width:6.4rem;color:#effbff;filter:drop-shadow(2px 2px 0 #376eaa);z-index:2}.signal-word svg{display:block;width:100%;height:auto}.scene-mark{position:absolute;top:1rem;left:1rem;color:#f0fdff;font:bold 1.5rem/1 var(--mono);text-shadow:2px 2px #568ab5}.scene-note{position:absolute;right:.9rem;bottom:1.15rem;text-align:right;color:white;font:.75rem/1.5 var(--mono);text-shadow:1px 1px #497ea7;z-index:2}.scene-line{position:absolute;top:41%;height:3px;left:7%;right:2%;background:rgba(221,255,255,.34);box-shadow:0 2px rgba(109,161,212,.3);transform:translateX(3px);z-index:2}figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.55rem .45rem .35rem;color:#526d90;font-size:.75rem;line-height:1.5}figcaption span:last-child{font-family:var(--mono)}.index-strip{display:flex;gap:1.2rem;align-items:center;color:#718aa9;font:400 .75rem/1.5 var(--mono);letter-spacing:.1em;margin-bottom:4.6rem}.strip-rule{height:1px;background:#adc0d7;flex:1}.section-heading{display:grid;grid-template-columns:1.15fr 1.35fr;gap:0 2rem;align-items:end;margin-bottom:2rem}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:.85rem}.section-heading h2{font-size:2.1rem;line-height:1.4;letter-spacing:-.045em;font-weight:500;margin:0;word-break:keep-all}.section-heading>p:last-child{font-size:1rem;line-height:1.8;color:var(--muted);margin:0;word-break:keep-all}.services{margin-bottom:5rem}.service-list{border-top:1px solid #7188a9}.service{border-bottom:1px solid #a7bad1;background:rgba(250,253,255,.3)}.service summary{display:grid;grid-template-columns:2.4rem 1fr 1.22fr 1.25rem;gap:1.5rem;align-items:center;list-style:none;cursor:pointer;padding:1.8rem .6rem;transition:background .2s}.service summary::-webkit-details-marker{display:none}.service summary:hover{background:rgba(204,228,252,.42)}.service-number{align-self:start;padding-top:.35rem;font:.75rem/1.5 var(--mono);color:#6783a5}.service-title strong{display:block;font-size:1.4rem;font-weight:500;letter-spacing:-.035em;line-height:1.4}.service-title small{display:block;font:.75rem/1.5 var(--mono);color:#718bad;letter-spacing:.05em;margin-top:.5rem}.service-intro{font-size:1rem;line-height:1.8;color:#5b718e;word-break:keep-all}.service-toggle{width:1.2rem;height:1.2rem;border:1px solid #839dbd;background:#edf6ff;box-shadow:inset 1px 1px white;position:relative;flex-shrink:0}.service-toggle:before,.service-toggle:after{content:'';position:absolute;top:50%;left:3px;right:3px;height:1px;background:#45689b}.service-toggle:after{transform:rotate(90deg)}.service[open] .service-toggle:after{transform:rotate(0)}.service-body{margin-left:calc(2.4rem + 1.5rem + .6rem);padding:0 3.75rem 2rem 0;display:grid;grid-template-columns:1fr 1.22fr;gap:1.5rem}.service-body>p{font-size:1rem;line-height:1.9;color:#536c8b;word-break:keep-all;margin:0}.deliverables{padding-left:1.6rem;border-left:1px dotted #a0b7d2}.deliverables h3{font-size:.8125rem;line-height:1.5;font-weight:500;margin:0 0 .7rem;color:#7890ae}.deliverables ul{list-style:none;margin:0;padding:0}.deliverables li{position:relative;padding-left:1rem;font-size:.9375rem;line-height:1.75;color:#2c4d79}.deliverables li:before{content:'+';position:absolute;left:0;font-family:var(--mono);font-size:.75rem;color:#789ec8}.scope-note{font-size:.8125rem;line-height:1.7;color:#788ba5;margin:1rem 0 0;text-align:right;word-break:keep-all}.approach{padding:3.3rem 0 0;border-top:1px solid #b2c5dc;margin-bottom:5rem}.process-layout{display:grid;grid-template-columns:1.15fr 1.35fr;gap:2rem}.margin-note{position:relative;align-self:start;max-width:17rem;margin:1.3rem 0 0 1.1rem;padding:2.3rem 1.8rem 1.6rem;border:1px solid #b3c7e1;background:rgba(247,252,255,.76);box-shadow:4px 4px 0 rgba(157,184,213,.21);transform:rotate(-2deg)}.note-corner{position:absolute;top:.6rem;right:.7rem;color:#6f98c6;font:1.5rem/1 var(--mono)}.margin-note p{font-size:1.35rem;line-height:1.6;letter-spacing:-.035em;margin:0 0 1.2rem;word-break:keep-all}.margin-note small{font-size:.875rem;line-height:1.85;color:#6b819f}.note-index{display:block;border-top:1px dotted #b4c7e0;padding-top:1.2rem;margin-top:1.5rem;font:.75rem/1.5 var(--mono);color:#7a94b5;letter-spacing:.04em}.process-list{list-style:none;margin:0;padding:0}.process-list li{display:grid;grid-template-columns:2.6rem 1fr;gap:1rem;padding:1.7rem 0;border-bottom:1px dotted #9eb4cf}.process-list li:first-child{border-top:1px dotted #9eb4cf}.process-number{padding-top:.3rem;color:#7190b4;font:.75rem/1.5 var(--mono)}.process-list h3{font-size:1.125rem;font-weight:500;line-height:1.6;letter-spacing:-.025em;margin:0 0 .8rem}.process-list p{font-size:1rem;line-height:1.9;color:#5a7290;word-break:keep-all;margin:0 0 .9rem}.process-output{font-size:.8125rem;line-height:1.7;color:#7791b0}.contact{border:1px solid #91a9c6;background:rgba(250,253,255,.79);box-shadow:inset 2px 2px white,inset -2px -2px #d2dfef,5px 5px 0 rgba(165,187,213,.33);padding:2.5rem;margin-bottom:3rem}.contact-top{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.contact-top .eyebrow{margin:0}.contact-stamp{font:.75rem/1.5 var(--mono);color:#7c96b8;letter-spacing:.05em;text-align:right}.contact-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:3rem;align-items:start}.contact h2{font-size:2.4rem;line-height:1.4;letter-spacing:-.05em;font-weight:500;margin:0 0 1.6rem;word-break:keep-all}.contact-email{display:inline-block;max-width:100%;font:400 clamp(1rem,2vw,1.5rem)/1.6 var(--mono);letter-spacing:-.05em;color:var(--blue);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;overflow-wrap:anywhere}.contact-actions{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center;margin-top:1.2rem}.retro-button{display:inline-block;border:1px solid #849ebf;background:#e7f2fc;box-shadow:inset 1px 1px white,inset -1px -1px #b0c5df;padding:.65rem .9rem;color:#2f5081;font-size:.875rem;line-height:1.5}.retro-button:hover{background:#dbeaf9}.retro-button:active{box-shadow:inset 1px 1px #b0c5df}.copy-email{font-size:.8125rem;line-height:1.5;border:0;background:transparent;color:#647f9f;text-decoration:underline;text-underline-offset:4px;padding:.5rem 0;cursor:pointer}.copy-status{font-size:.8125rem;line-height:1.5;color:#456992;min-height:1.5em;margin:.65rem 0}.contact-note{font-size:.875rem;line-height:1.85;color:#7589a3;word-break:keep-all;margin:.6rem 0 0}.brief-window{border:1px solid #92aac8;background:#f4faff;box-shadow:inset 1px 1px white;padding:2px}.brief-window .window-bar{background:linear-gradient(90deg,#d5e6f8,#e8f3ff);color:#547499;text-shadow:none;border-bottom:1px solid #acc1db}.brief-window .window-tag{color:#8198b7}.brief-list{list-style:none;margin:0;padding:.5rem 1.1rem}.brief-list li{display:grid;grid-template-columns:1.5rem 1fr;gap:.65rem;padding:.8rem 0;border-bottom:1px dotted #b4c8df}.brief-list li:last-child{border-bottom:0}.brief-list li>span{font:.75rem/1.7 var(--mono);color:#7c98b9;padding-top:.15rem}.brief-list strong{font-size:.9375rem;font-weight:500;line-height:1.6}.brief-list p{font-size:.8125rem;line-height:1.7;color:#7188a5;margin:.15rem 0 0;word-break:keep-all}.brief-footnote{font-size:.75rem;line-height:1.7;color:#7790b0;border-top:1px solid #c3d4e9;margin:0;padding:.65rem 1.1rem}.footer{display:flex;align-items:center;gap:1.5rem;min-height:5rem;border-top:1px solid #b0c3db;color:#6b83a2}.footer-brand{font:900 1.5rem/1 var(--mono);letter-spacing:-.1em;color:#345b91}.footer p{font-size:.75rem;margin:0}.back-top{font-size:.75rem;margin-left:auto;text-decoration:underline;text-underline-offset:4px}.footer small{font:.75rem/1.5 var(--mono);white-space:nowrap}body[data-motion=on] .signal-word{animation:signal-shift 13s steps(1,end) infinite}body[data-motion=on] .scene-line{animation:line-shift 17s steps(1,end) infinite}@keyframes signal-shift{0%,94%,98%,100%{transform:none;filter:drop-shadow(2px 2px 0 #376eaa)}95%{transform:translate(3px,0);filter:drop-shadow(-3px 1px 0 #94ddf0)}96.5%{transform:translate(-2px,1px)}}@keyframes line-shift{0%,95%,98%,100%{transform:translate(3px,0)}96%{transform:translate(-3px,19px)}}@media(max-width:1100px){.header,main,.footer{width:calc(100% - 3.5rem)}.hero{gap:2.3rem;padding-top:3.5rem}.pixel-scene{height:22rem}h1{font-size:3.1rem}.hero-lead{font-size:1.125rem}.hero-description{font-size:1rem}.wide-br{display:none}.service summary{gap:1rem;grid-template-columns:1.6rem 1fr 1.22fr 1.1rem}.service-body{margin-left:3.2rem;gap:1rem;padding-right:2.7rem}.contact{padding:2rem}.contact-grid{gap:2rem}.contact h2{font-size:2.2rem}.window-tag{font-size:.75rem}}@media(max-width:850px){.hero{gap:1.5rem;grid-template-columns:1fr 1fr}h1{font-size:2.65rem}.hero-lead{font-size:1.0625rem}.hero-description br{display:none}.pixel-scene{height:22rem}.scene-note{font-size:.75rem}.hero-art figcaption span:last-child{display:none}.service-intro{font-size:.9375rem}.service-title strong{font-size:1.25rem}.service-body{grid-template-columns:1fr 1.1fr}.process-layout{gap:1.4rem;grid-template-columns:.85fr 1.3fr}.margin-note{margin-left:0;padding-inline:1.2rem}.contact{padding:1.5rem}.contact-grid{gap:1.5rem}.contact-email{font-size:1.15rem}.brief-list{padding-inline:.8rem}}@media(max-width:700px){.header,main,.footer{width:calc(100% - 2rem)}.header{padding-top:1.5rem}.masthead{gap:1rem;padding-bottom:1.25rem}.brand{width:7rem}.brand-caption{font-size:.75rem;padding-left:1rem}.header-email{display:none}.nav-row{gap:.8rem;min-height:3.1rem}nav{gap:1.2rem;font-size:.8125rem}nav span{font-size:.75rem;margin-right:.3rem}nav a{padding:.85rem 0}.motion-control{font-size:.75rem;padding:.35rem .45rem}.hero{display:flex;flex-direction:column;align-items:stretch;gap:2.1rem;padding:2.4rem 0 1.5rem}.hero-copy{padding:0}.eyebrow{font-size:.75rem;margin-bottom:1rem}h1{font-size:clamp(2.4rem,9.2vw,3.7rem);line-height:1.3;letter-spacing:-.055em;margin-bottom:1.2rem}.hero-lead{font-size:1.125rem;line-height:1.85;max-width:27rem}.hero-description{font-size:1rem;line-height:1.85;margin-bottom:1.25rem;max-width:24rem}.hero-description br{display:block}.hero-art{width:calc(100% - .4rem);margin-inline:auto;max-width:31rem;transform:rotate(.6deg)}.pixel-scene{height:23rem}.hero-art figcaption span:last-child{display:block;font-size:.75rem}.window-bar{font-size:.75rem}.window-tag{font-size:.75rem}.scene-note{font-size:.75rem}.index-strip{gap:.65rem;font-size:.75rem;letter-spacing:.035em;margin-bottom:3.3rem}.section-heading{display:block;margin-bottom:1.5rem}.section-heading .eyebrow{margin-bottom:.6rem}.section-heading h2{font-size:1.8rem;margin-bottom:.7rem;line-height:1.5}.section-heading>p:last-child{font-size:1rem;line-height:1.85}.section-heading>p:last-child br{display:none}.services{margin-bottom:3.3rem}.service summary{grid-template-columns:1.2rem 1fr 1.1rem;gap:.75rem;padding:1.35rem .15rem}.service-title strong{font-size:1.3rem;line-height:1.5}.service-title small{font-size:.75rem;margin-top:.25rem}.service-intro{grid-column:2;grid-row:2;font-size:.875rem;line-height:1.7;margin-top:-.15rem}.service-toggle{grid-column:3;grid-row:1;width:1.1rem;height:1.1rem;align-self:start;margin-top:.4rem}.service-number{font-size:.75rem}.service-body{display:block;margin-left:2.1rem;padding:0 .3rem 1.4rem 0}.service-body>p{font-size:1rem;line-height:1.9;margin-bottom:1.3rem}.deliverables{padding-left:1rem}.deliverables h3{font-size:.8125rem;margin-bottom:.55rem}.deliverables li{font-size:.9375rem}.scope-note{text-align:left;font-size:.8125rem;line-height:1.8;margin-top:.8rem}.approach{padding-top:2.5rem;margin-bottom:3.5rem}.process-layout{display:flex;flex-direction:column;gap:1.8rem}.margin-note{max-width:none;margin:0 .4rem;transform:rotate(-1deg);padding:1.4rem 1.4rem 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1rem}.margin-note p{font-size:1.125rem;line-height:1.7;margin:0}.margin-note small{font-size:.8125rem;line-height:1.9;align-self:center}.note-index{grid-column:1/-1;margin:0;padding-top:.7rem;font-size:.75rem}.note-corner{font-size:1rem;top:.45rem;right:.45rem}.process-list li{grid-template-columns:1.8rem 1fr;gap:.8rem;padding:1.45rem 0}.process-list h3{font-size:1.125rem;line-height:1.6}.process-list p{font-size:1rem;line-height:1.9}.process-output{font-size:.8125rem;line-height:1.8}.contact{padding:1.5rem 1rem;margin-bottom:2rem;box-shadow:inset 2px 2px white,inset -2px -2px #d2dfef,3px 3px 0 rgba(165,187,213,.33)}.contact-top{margin-bottom:1.25rem}.contact-stamp{font-size:.75rem}.contact-grid{grid-template-columns:1fr;gap:1.75rem}.contact h2{font-size:2rem;line-height:1.45;margin-bottom:1.3rem}.contact-email{font-size:1.2rem;line-height:1.7}.contact-actions{gap:1.1rem;margin-top:1.2rem}.retro-button{font-size:.875rem}.copy-email{font-size:.8125rem}.contact-note{font-size:.875rem;line-height:1.85}.copy-status{font-size:.8125rem;margin-top:.7rem}.brief-list{padding:.35rem .9rem}.brief-list li{padding:.9rem 0}.brief-list strong{font-size:.9375rem}.brief-list p{font-size:.8125rem}.brief-footnote{font-size:.75rem;padding:.7rem .9rem}.footer{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:1.5rem 0;min-height:0}.footer p{grid-column:1/-1;grid-row:2;font-size:.75rem}.footer-brand{font-size:1.4rem}.back-top{font-size:.75rem}.footer small{font-size:.75rem}}@media(max-width:380px){.header,main,.footer{width:calc(100% - 1.5rem)}nav{gap:.7rem;font-size:.8125rem}nav span{display:none}.brand-caption{font-size:.75rem}.hero{padding-top:2rem}h1{font-size:2.5rem}.hero-description br{display:none}.pixel-scene{height:21rem}.window-tag{font-size:.75rem}.margin-note{display:block}.margin-note p{margin-bottom:.8rem}.margin-note small{display:block}.note-index{margin-top:1rem}.contact-email{font-size:1.07rem}.contact h2{font-size:1.85rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
