@font-face{font-family:BrandKR;src:url('assets/plex-kr-400.woff') format('woff');font-weight:400;font-display:swap}@font-face{font-family:BrandKR;src:url('assets/plex-kr-500.woff') format('woff');font-weight:500 600;font-display:swap}@font-face{font-family:BrandKR;src:url('assets/plex-kr-700.woff') format('woff');font-weight:700 900;font-display:swap}@font-face{font-family:'Space Grotesk';src:url('assets/space.woff') format('woff');font-weight:300 700;font-display:swap}@font-face{font-family:'Brand Mono';src:url('assets/mono.woff') format('woff');font-weight:400 500;font-display:swap}
:root{--blue:#2453ff;--navy:#0b1533;--sky:#c9d4ff;--paper:#eef0f4;--line:#cdd2de;--muted:#5e687d;--gutter:clamp(24px,4.5vw,80px);--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--navy);background:white;font-family:BrandKR,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{word-break:keep-all}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:7px}.hero a:focus-visible,.approach a:focus-visible,.contact a:focus-visible{outline-color:white}::selection{background:var(--blue);color:white}.mono,.eyebrow{font-family:'Brand Mono',monospace;font-size:.75rem;line-height:1.65;letter-spacing:.08em;font-weight:400}.eyebrow{font-size:.8125rem}.blue{color:var(--blue)}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 16px;background:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(11,21,51,.08)}.brand{display:flex;width:164px;align-items:center;flex-shrink:0}.brand svg{display:block;width:164px;height:42px}.desktop-nav{display:flex;gap:36px;align-items:center}.desktop-nav a{font-size:.875rem;font-weight:500;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a.active:after{transform:scaleX(1)}.header-contact{display:flex;gap:30px;align-items:center;font-size:.875rem;font-weight:500}.contact-mark{font-size:1.5rem;line-height:1;color:var(--blue);transition:transform .35s}.header-contact:hover .contact-mark{transform:rotate(90deg)}.menu-button{display:none}.mobile-nav[hidden]{display:none}.hero{position:relative;isolation:isolate;min-height:min(810px,calc(100svh - 88px));padding:42px var(--gutter) 35px;overflow:hidden;background:var(--navy);color:white;display:flex;flex-direction:column;justify-content:space-between}.hero-topline{display:flex;justify-content:space-between;position:relative;z-index:2;color:#b4bdd5}.hero-tag{writing-mode:vertical-rl;margin-top:2px;letter-spacing:.12em}.hero h1{font-size:clamp(46px,5.7vw,88px);font-weight:500;line-height:1.26;letter-spacing:-.055em;z-index:2;position:relative;max-width:1050px;margin:42px 0 58px}.hero h1>span{display:block}.hero h1 .hero-last{margin-left:10.6vw}.full-stop{color:var(--blue)}.hero-art{position:absolute;z-index:-1;right:-14vw;top:13%;width:62vw;max-width:940px;opacity:1;transform:rotate(-12deg)}.hero-art img{display:block;width:100%;height:auto}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;position:relative;z-index:2}.hero-bottom p{font-size:1.0625rem;line-height:1.8;color:#c2cadc;font-weight:400}.hero-link{font-size:.875rem;min-width:208px;padding-bottom:10px;position:relative;margin-left:auto;margin-right:10vw}.line-progress{position:absolute;bottom:0;height:1px;width:100%;left:0;background:#59627b;overflow:hidden}.line-progress:after{content:'';position:absolute;inset:0;background:white;transform:translateX(-75%);transition:transform .5s var(--ease)}.hero-link:hover .line-progress:after{transform:translateX(0)}.hero-signature{color:#c2cadc;align-self:flex-end}.section-pad{padding:120px var(--gutter)}.section-label{font-size:.75rem;line-height:1.7;color:var(--muted);display:flex;align-items:center;gap:24px}.label-line{height:1px;background:var(--line);width:40px}.about{padding-top:128px;padding-bottom:80px;display:grid;grid-template-columns:1fr 3fr;gap:65px 5vw}.about .section-label{align-items:flex-start;padding-top:14px}.about .label-line{margin-top:10px}.about h2{font-size:clamp(32px,3.2vw,48px);font-weight:500;line-height:1.5;letter-spacing:-.05em}.about h2 span{color:var(--blue)}.about-copy{display:flex;justify-content:flex-end;margin-top:42px}.about-copy p{max-width:550px;font-size:1.1875rem;line-height:1.95;letter-spacing:-.018em;word-break:keep-all;color:var(--muted)}.about-axis{grid-column:1/-1;display:flex;align-items:center;gap:38px;border-top:1px solid var(--line);padding-top:40px;margin-top:36px;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(20px,2.4vw,36px);letter-spacing:-.05em}.axis-rule{height:1px;flex:1;background:var(--line)}.services{background:var(--paper);padding-top:95px;padding-bottom:96px}.section-heading{display:grid;grid-template-columns:1fr 3fr;gap:5vw;align-items:start;margin-bottom:80px}.section-heading .section-label{padding-top:10px}.section-heading h2{font-size:clamp(30px,3.1vw,46px);font-weight:500;line-height:1.5;letter-spacing:-.05em}.service-row{display:grid;grid-template-columns:7% 39% 1fr;gap:28px;padding:46px 0 48px;border-top:1px solid #bec5d2;position:relative}.service-number{font-size:.875rem;color:var(--blue);padding-top:3px}.service-name .eyebrow{color:var(--muted);letter-spacing:.015em}.service-name h3{font-weight:500;font-size:clamp(25px,2.6vw,38px);line-height:1.5;letter-spacing:-.045em;margin-top:13px}.service-content p{font-size:1.0625rem;line-height:1.85;word-break:keep-all;color:#454f66}.outcome{display:flex;flex-direction:column;gap:8px;margin-top:27px;border-left:2px solid var(--blue);padding-left:17px}.outcome .mono{font-size:.75rem;color:var(--muted)}.outcome>span:last-child{font-size:.875rem;line-height:1.7}.service-row:last-child{padding-bottom:0}.approach{background:var(--blue);color:white;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start;padding-top:112px;padding-bottom:110px}.approach .section-label{color:#eef0f4}.approach-intro{position:sticky;top:144px}.approach h2{font-size:clamp(30px,3.2vw,48px);line-height:1.5;letter-spacing:-.05em;font-weight:500;margin:40px 0 25px}.approach-intro>p{color:#eef0f4;font-size:1rem;line-height:1.9;word-break:keep-all}.process-index{display:flex;gap:15px;flex-wrap:wrap;margin-top:64px;font-size:.75rem;letter-spacing:0;color:#dae3ff}.process-index span{border-top:1px solid rgba(255,255,255,.45);padding-top:12px;flex:1}.process-list{margin:0;padding:0;list-style:none}.process-list li{border-top:1px solid rgba(255,255,255,.45);padding:25px 0 46px;margin-bottom:25px}.process-list li:last-child{padding-bottom:0;margin-bottom:0}.step{color:#eef0f4}.process-list h3{font-size:1.75rem;font-weight:500;line-height:1.5;letter-spacing:-.04em;margin:21px 0 13px}.process-list p{color:#e1e7ff;font-size:1rem;line-height:1.9;word-break:keep-all;max-width:450px}.process-question{display:block;font-size:.875rem;margin-top:24px;color:#eef0f4}.process-question:before{content:'Q.';font-family:'Space Grotesk';font-size:1rem;margin-right:12px}.vision{overflow:hidden;padding-top:105px;padding-bottom:115px}.vision-display{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(76px,11.5vw,175px);line-height:.95;letter-spacing:-.074em;margin-top:62px;margin-bottom:52px}.vision-display span{display:block}.vision-display .vision-second{margin-left:13.6vw}.vision-display .vision-period{display:inline;color:var(--blue)}.vision-description{margin-left:38%;padding-top:18px;max-width:780px}.vision-description>.eyebrow{font-family:BrandKR,sans-serif;color:var(--blue);letter-spacing:0;font-size:.875rem}.vision-description h2{font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1.75;letter-spacing:-.035em;margin-top:20px}.principles{border-top:1px solid var(--line);margin-top:100px;padding-top:58px;display:grid;grid-template-columns:1fr 1.8fr;gap:8vw}.principles-heading h3{font-size:1.75rem;line-height:1.6;font-weight:500;margin-top:24px;letter-spacing:-.04em}.principle-list details{border-bottom:1px solid var(--line)}.principle-list summary{list-style:none;display:flex;align-items:center;gap:24px;cursor:pointer;padding:24px 2px;font-size:1.1875rem;font-weight:500;line-height:1.6}.principle-list summary::-webkit-details-marker{display:none}.principle-no{color:var(--blue);min-width:24px}.plus{width:16px;height:16px;position:relative;margin-left:auto;flex-shrink:0}.plus:before,.plus:after{content:'';background:var(--navy);position:absolute;top:7px;left:1px;width:14px;height:1px;transition:transform .3s}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}.principle-list details p{font-size:1rem;font-weight:400;line-height:1.9;color:var(--muted);padding:0 36px 25px 50px;word-break:keep-all}.principle-list summary:hover{color:var(--blue)}.contact{background:var(--navy);color:white;padding-top:76px;padding-bottom:68px}.contact .section-label{color:#b9c6e8}.contact-main{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:48px 0 65px}.contact h2{font-size:clamp(38px,5.3vw,78px);font-weight:500;letter-spacing:-.05em;line-height:1.4}.contact-circle{border:1px solid #4e5871;border-radius:50%;width:188px;height:188px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;gap:7px;transition:background .4s,border-color .4s,transform .4s var(--ease)}.contact-circle img{width:76px;height:76px}.contact-circle span{font-size:.875rem}.contact-circle:hover{background:var(--blue);border-color:var(--blue);transform:scale(1.025)}.contact-circle:hover img{filter:brightness(0) invert(1)}.contact-bottom{border-top:1px solid #3b4560;padding-top:38px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.contact-bottom p{color:#b9c3d9;font-size:1rem;line-height:1.85}.email{font-family:'Space Grotesk',sans-serif;font-size:clamp(22px,2.5vw,36px);letter-spacing:-.025em;border-bottom:1px solid #66718b;transition:border-color .3s}.email:hover{border-color:white}footer{padding:32px var(--gutter);display:flex;gap:30px;justify-content:space-between;align-items:center;background:var(--navy);color:#aab5cf;border-top:1px solid #26324f;font-size:.8125rem}footer .brand svg{filter:brightness(0) invert(1)}footer .mono{font-size:.75rem;letter-spacing:.04em}body.motion-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}body.motion-ready .reveal.is-visible{opacity:1;transform:none}.hero h1{animation:hero-in 1.1s var(--ease) both}.hero-art{animation:mark-in 1.6s var(--ease) both}@keyframes hero-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes mark-in{from{opacity:0;transform:translateY(28px) rotate(-18deg)}to{opacity:1;transform:translateY(0) rotate(-12deg)}}
@media(min-width:1600px){.hero{min-height:850px}.hero-art{right:-5%;top:5%}.hero h1{font-size:96px}.hero h1 .hero-last{margin-left:160px}.section-pad{padding-left:max(var(--gutter),calc((100vw - 1440px)/2));padding-right:max(var(--gutter),calc((100vw - 1440px)/2))}}
@media(max-width:1050px){.desktop-nav{gap:24px}.header-contact{gap:18px}.hero h1{font-size:6.2vw}.hero-art{width:74vw;right:-24vw;top:13%}.hero h1 .hero-last{margin-left:7vw}.hero{min-height:690px}.hero-signature{display:none}.hero-link{margin-right:0}.section-pad{padding-top:90px;padding-bottom:90px}.about{grid-template-columns:1fr 3fr;gap:40px 4vw}.section-heading{grid-template-columns:1fr 3fr;gap:4vw}.service-row{grid-template-columns:5% 40% 1fr;gap:20px}.service-content p{font-size:1rem}.service-name .eyebrow{font-size:.75rem}.approach{gap:6vw}.approach-intro{top:120px}.vision-description{margin-left:30%}.principles{gap:6vw}.contact-circle{width:154px;height:154px}.principle-list summary{font-size:1.125rem}}
@media(max-width:760px){html{scroll-padding-top:76px}.header{height:76px}.brand,.brand svg{width:142px}.brand svg{height:38px}.desktop-nav,.header-contact{display:none}.menu-button{display:flex;width:44px;height:44px;padding:12px 7px;flex-direction:column;justify-content:center;gap:6px;border:0;background:none;color:var(--navy);cursor:pointer}.menu-button span{height:1px;width:27px;background:currentColor;transition:transform .3s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{position:absolute;top:76px;left:0;right:0;padding:25px var(--gutter) 36px;background:white;box-shadow:0 20px 30px rgba(11,21,51,.08);display:flex;flex-direction:column}.mobile-nav a{font-size:1.4rem;line-height:1.5;padding:13px 0;border-bottom:1px solid var(--line)}.mobile-nav a:last-child{color:var(--blue);border-bottom:0}.hero{min-height:710px;padding-top:30px;padding-bottom:30px;justify-content:flex-start}.hero-topline{font-size:.75rem;line-height:1.7}.hero-tag{writing-mode:horizontal-tb;max-width:96px;text-align:right;letter-spacing:.025em}.hero h1{font-size:clamp(31px,6.6vw,49px);line-height:1.5;letter-spacing:-.055em;margin:71px 0 0}.hero h1 .hero-last{margin-left:7.5vw}.hero-art{width:113vw;right:-43vw;top:172px;opacity:.7}.hero-bottom{margin-top:auto;align-items:flex-end}.hero-bottom p{font-size:.9375rem;line-height:1.9}.hero-link{font-size:.8125rem;min-width:135px;margin:0;padding-bottom:9px}.hero-signature{display:none}.hero-art{animation:none}.section-pad{padding-top:74px;padding-bottom:74px}.section-label{font-size:.75rem}.about{display:block}.about .section-label{padding:0}.about-main{margin-top:36px}.about h2{font-size:29px;line-height:1.55}.about-copy{margin-top:27px}.about-copy p{font-size:1.0625rem;line-height:1.95}.about-axis{gap:13px;margin-top:50px;padding-top:26px;font-size:clamp(12px,3.1vw,20px);letter-spacing:-.045em}.axis-rule{min-width:8px}.section-heading{display:block;margin-bottom:42px}.section-heading h2{font-size:27px;margin-top:30px;line-height:1.6}.service-row{grid-template-columns:28px 1fr;gap:0 17px;padding:31px 0 35px}.service-number{padding-top:1px;font-size:.75rem}.service-name .eyebrow{font-size:.75rem;letter-spacing:0}.service-name h3{font-size:1.5rem;line-height:1.5;margin-top:8px}.service-content{grid-column:2;margin-top:22px}.service-content p{font-size:1rem;line-height:1.9}.outcome{margin-top:22px;padding-left:13px}.outcome>span:last-child{font-size:.8125rem}.approach{display:block}.approach-intro{position:static}.approach h2{font-size:30px;margin-top:31px}.approach-intro>p{font-size:.9375rem}.process-index{display:none}.process-list{margin-top:50px}.process-list li{padding:23px 0 34px;margin-bottom:18px}.process-list h3{font-size:1.5rem;margin-top:17px}.process-list p{font-size:1rem}.process-question{margin-top:22px}.vision-display{font-size:clamp(55px,12.15vw,90px);line-height:1;letter-spacing:-.065em;margin-top:43px;margin-bottom:35px}.vision-display .vision-second{margin-left:5.5vw}.vision-description{margin-left:0;padding-top:0}.vision-description>.eyebrow{font-size:.8125rem}.vision-description h2{font-size:1.25rem;line-height:1.8;margin-top:16px}.principles{display:block;margin-top:55px;padding-top:35px}.principles-heading h3{font-size:1.375rem;line-height:1.6;margin-top:15px}.principle-list{margin-top:28px}.principle-list summary{font-size:1rem;gap:12px;padding:21px 0}.principle-no{font-size:.75rem;min-width:23px}.principle-list details p{padding-left:35px;padding-right:10px;font-size:.9375rem;line-height:1.9}.contact{padding-top:60px;padding-bottom:48px}.contact-main{margin:33px 0 40px;align-items:flex-start;gap:15px}.contact h2{font-size:clamp(29px,5.1vw,39px);line-height:1.55}.contact-circle{width:90px;height:90px;gap:0;margin-top:5px}.contact-circle img{width:43px;height:43px}.contact-circle span{font-size:.75rem}.contact-bottom{display:block;padding-top:27px}.contact-bottom p{font-size:.9375rem}.email{display:inline-block;margin-top:26px;font-size:25px;line-height:1.5}footer{flex-wrap:wrap;gap:18px;padding-top:24px;padding-bottom:24px}footer .brand{width:125px}footer .brand svg{width:125px;height:32px}footer .mono{order:3;width:100%;font-size:.75rem}footer>span:last-child{font-size:.75rem}}
@media(max-width:390px){.hero{min-height:685px}.hero h1{font-size:6.55vw;line-height:1.65}.hero-art{top:180px;right:-43vw}.hero-bottom p{font-size:.8125rem}.hero-link{min-width:127px;font-size:.75rem}.about h2{font-size:26px}.section-heading h2{font-size:24px}.contact-main{display:block}.contact h2{font-size:32px}.contact-circle{margin-top:27px;width:110px;height:110px;flex-direction:row;border-radius:0;width:100%;height:auto;padding:10px;gap:5px;justify-content:center}.contact-circle span{font-size:.8125rem}.contact-circle img{width:34px;height:34px}.vision-display{font-size:12.1vw}.email{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}body.motion-ready .reveal{opacity:1;transform:none}.hero-art{transform:rotate(-12deg)}}

/* Accepted company definition, with the existing hero composition preserved. */
.hero-bottom p{max-width:32rem;word-break:keep-all}.hero-link{margin-right:6vw;flex-shrink:0}.hero-signature{white-space:nowrap}@media(max-width:760px){.hero-bottom{display:block}.hero-bottom p{max-width:32rem;font-size:.9375rem;line-height:1.85}.hero-link{display:inline-block;margin:24px 0 0;min-width:160px}.hero h1{font-size:clamp(30px,6.6vw,49px)}}

/* Footer CTA: keep the label inside the border at mobile widths and enlarged text. */
@media(max-width:760px){
  .contact-circle{box-sizing:border-box;min-width:0;min-height:120px;height:auto;padding:14px;gap:6px}
  .contact-circle img{width:40px;height:40px;flex-shrink:0}
  .contact-circle span{font-size:.875rem;line-height:1.5;min-width:0;max-width:100%;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
}
@media(min-width:391px) and (max-width:760px){
  .contact-circle{width:120px;flex-basis:120px}
}
@media(max-width:390px){
  .contact-circle{width:100%;min-height:64px;height:auto;padding:12px 20px;gap:10px}
  .contact-circle span{flex:0 1 auto}
}
/* Prepared release: retain normal layout and reflow decorative text when enlarged. */
.about-axis{flex-wrap:wrap}
.vision-display>span{overflow-wrap:anywhere}
h1,h2,h3,.tech-checks dt{overflow-wrap:anywhere}
.audience-number,.service-number{min-width:2ch}
