:root{--ink:#14161c;--muted:#62666f;--blue:#315cff;--line:#dddfe6;--paper:#f3f5f9;--dark:#101218}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font-family:"Pretendard","Noto Sans KR","Malgun Gothic",sans-serif;font-size:1rem;line-height:1.75;word-break:keep-all}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #315cff;outline-offset:5px}h1,h2,h3,p{margin:0}img{max-width:100%;height:auto}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}.header{position:sticky;top:0;z-index:20;min-height:84px;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px);gap:24px}.brand{display:block;width:210px;flex-shrink:0}.brand img{display:block;width:100%}.header nav{display:flex;align-items:center;gap:30px;font-size:0.875rem;font-weight:600}.nav-cta{background:var(--ink);color:white;padding:10px 21px;border-radius:4px}.menu-button{display:none}.hero{position:relative;background:#080e19;color:white;overflow:hidden}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,12,20,.3),transparent)}.hero-inner{position:relative;z-index:1;max-width:1320px;margin:auto;padding:92px 60px 72px}.eyebrow,.section-label{font-size:0.8125rem;font-weight:700;letter-spacing:.12em}.hero .eyebrow{color:#c6cddd;margin-bottom:30px}.hero h1{font-size:clamp(2.375rem,4.5vw,4.125rem);letter-spacing:-.055em;line-height:1.25;font-weight:800}.hero h1 span{color:#9cb4ff}.hero-copy{color:#c6cddd;margin-top:28px;line-height:1.9;max-width:600px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 25px;font-size:0.9375rem;font-weight:700;border-radius:4px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--blue);color:white}.primary:hover{background:#2348dc}.light-outline{border:1px solid #747d91;color:white;background:#10172477}.light-outline:hover{background:#283246}.hero-caption{font-size:0.8125rem;color:#8994a8;margin-top:50px}.hero-bottom{position:relative;z-index:1;display:flex;justify-content:space-between;border-top:1px solid #ffffff24;color:#aeb9cb;padding:19px max(5%,calc((100% - 1200px)/2));font-size:0.8125rem;gap:20px}.intro-strip{padding:42px 5% 24px;max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);position:relative;text-align:center}.intro-strip>div+div{border-left:1px solid var(--line)}.intro-strip strong{font-size:2.6875rem;letter-spacing:-.05em;line-height:1.2}.intro-strip strong span{font-size:1.25rem;margin-left:5px;font-weight:500}.intro-strip p{font-size:0.875rem;color:var(--muted);margin-top:10px}.intro-strip .strip-note{grid-column:1/-1;font-size:0.75rem;color:#777d86;margin-top:28px}.section{padding:90px max(5%,calc((100% - 1200px)/2))}.section-label{color:var(--blue);margin-bottom:35px}.section h2{font-size:clamp(1.875rem,3.2vw,2.875rem);line-height:1.35;letter-spacing:-.05em}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px}.large-copy{font-size:1.1875rem;line-height:1.8;margin-top:35px}.sign{color:var(--muted);font-size:0.875rem;margin-top:22px}.sign strong{color:var(--ink);margin-left:10px}.about-detail>p{color:var(--muted);margin-bottom:22px}.principles{margin-top:34px;border-top:1px solid var(--line)}.principles>div{position:relative;padding:18px 0 18px 42px;border-bottom:1px solid var(--line)}.principles span{position:absolute;left:0;color:var(--blue);font-size:0.8125rem}.principles strong{font-size:1.0625rem}.principles p{font-size:0.875rem;color:var(--muted);margin-top:4px}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.section-heading>p{font-size:0.9375rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.service-grid article{background:white;border:1px solid var(--line);padding:32px}.service-num{font-size:0.875rem;color:var(--blue);font-weight:700}.service-grid h3{font-size:1.5rem;letter-spacing:-.03em;margin:20px 0 12px}.service-grid p{font-size:0.9375rem;color:var(--muted)}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.tags span{font-size:0.75rem;border:1px solid #e4e7ee;color:#525d76;padding:3px 9px;border-radius:3px}.benefit{margin-top:35px;padding:36px;background:var(--dark);color:white;display:grid;grid-template-columns:1fr 1fr;gap:40px}.benefit .eyebrow{color:#9cb4ff;margin-bottom:15px}.benefit h3{font-size:1.5625rem;line-height:1.5}.benefit p{font-size:0.9375rem;color:#d0d5df}.benefit .fine{font-size:0.8125rem;color:#a0a9b9;margin:12px 0 18px}.text-link{display:inline-block;font-size:0.875rem;font-weight:700;padding-bottom:4px;border-bottom:1px solid currentColor}.benefit .text-link{color:#a8bdff}.case-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px}.case-tabs button{border:1px solid var(--line);padding:9px 15px;border-radius:3px;background:white;font-size:0.875rem;color:#606670}.case-tabs button[aria-selected=true]{background:var(--ink);border-color:var(--ink);color:white}#case-panel{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border:1px solid var(--line)}.case-text{padding:40px}.case-text .eyebrow{color:var(--blue);font-size:0.75rem;margin-bottom:22px}.case-text h3{font-size:2rem;line-height:1.4;letter-spacing:-.04em}.case-text dl{margin:28px 0 0}.case-text dt{font-size:0.8125rem;font-weight:700;margin-top:17px}.case-text dd{font-size:0.875rem;color:var(--muted);margin:4px 0 0}.case-data{padding:35px 40px;background:#e9eefb;border-left:1px solid var(--line)}.case-data>p{font-size:0.875rem;color:#4e5b78}.case-data>strong{font-size:3.6875rem;line-height:1.3;letter-spacing:-.05em}.case-data>strong span{font-size:1.5rem;margin-left:8px}.bars{display:grid;grid-template-columns:repeat(3,1fr);height:200px;align-items:end;gap:24px;margin-top:25px;border-bottom:1px solid #b5c2de;padding:0 10px 30px}.bars>div{height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;position:relative}.bars span{font-size:0.875rem;font-weight:700;margin-bottom:7px}.bars i{display:block;width:100%;max-width:76px;height:calc(var(--height)*.72);min-height:10px;background:#a2b5ee;border-radius:3px 3px 0 0}.bars>div:last-child i{background:var(--blue)}.bars small{position:absolute;bottom:-27px;font-size:0.75rem;white-space:nowrap;color:#5e6b86}.secondary-metric{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;font-size:0.8125rem}.secondary-metric strong{font-size:1rem}.case-note{color:#747a83;font-size:0.75rem;margin:19px 0 22px}.process{border-top:1px solid var(--line)}.steps{list-style:none;padding:0;margin:45px 0;display:grid;grid-template-columns:repeat(5,1fr)}.steps li{padding:0 24px;border-left:1px solid var(--line)}.steps li:first-child{padding-left:0;border-left:0}.steps span{font-size:1.875rem;font-weight:700;color:#b0b9cf;line-height:1}.steps h3{font-size:1.125rem;margin:18px 0 10px}.steps p{font-size:0.875rem;color:var(--muted)}.faq{border-top:1px solid var(--line);margin-top:55px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:1rem;font-weight:600}.faq details p{color:var(--muted);font-size:0.9375rem;padding:17px 24px 0}.contact{background:var(--dark);color:white}.contact .section-label{color:#9db4ff}.contact-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:70px}.contact h2{font-size:2.75rem}.contact-grid>div>p:not(.eyebrow){color:#b6bfce;margin-top:25px;font-size:0.9375rem}.contact .contact-note{font-size:0.75rem;color:#8e99ad;margin-top:18px}.contact-direct{border-left:1px solid #ffffff2a;padding-left:42px}.contact-direct .eyebrow{color:#98a7c2}.contact-direct h3{font-size:1.6875rem;margin:18px 0}.contact-direct h3 span{font-size:1rem;font-weight:400;margin-left:8px;color:#b6bfce}.contact-direct>a{display:block;font-size:1.125rem;overflow-wrap:anywhere;word-break:normal;margin:7px 0}.copy-button{font-size:0.8125rem;color:#bfcce3;background:transparent;border:1px solid #566075;border-radius:3px;padding:7px 12px;margin-top:20px}#copy-status{display:block;font-size:0.8125rem;color:#bfcce3;margin-top:8px}.business-card{border-top:1px solid #ffffff2a;margin-top:45px;padding-top:20px}.business-card summary{font-size:0.875rem;cursor:pointer;color:#bfcce3}.business-card img{margin-top:20px;width:100%;max-width:1000px}footer{display:flex;flex-wrap:wrap;align-items:start;justify-content:space-between;gap:25px;padding:40px 5%;font-size:0.8125rem}footer .brand{width:180px}footer p{color:#6e737d;font-size:0.75rem}footer a:not(.brand){font-size:0.8125rem;border-bottom:1px solid #ccc}footer small{color:#8b9099;font-size:0.75rem}
@media(min-width:1600px){.hero-inner{padding-left:0;padding-right:0}.hero-art{object-position:center}}
@media(max-width:960px){.header nav{gap:17px}.brand{width:175px}.section{padding-top:70px;padding-bottom:70px}.about-grid{gap:40px}.hero-inner{padding:70px 5%}.hero-art{object-position:65% center}.hero:after{background:linear-gradient(90deg,#080e19dd 15%,#080e1960)}.section-heading{align-items:start}.contact-grid{gap:35px}.contact-direct{padding-left:28px}.contact h2{font-size:2.25rem}.steps li{padding:0 14px}.steps p{font-size:0.8125rem}.case-text,.case-data{padding:28px}.case-text h3{font-size:1.75rem}}
@media(max-width:700px){html{scroll-padding-top:75px}.header{min-height:72px;padding:17px 5%}.brand{width:165px}.menu-button{display:block;padding:5px 10px;background:white;border:1px solid var(--line);font-size:0.875rem;border-radius:3px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;padding:22px 5%;background:white;border-bottom:1px solid var(--line);align-items:stretch}.header nav.open{display:flex;flex-direction:column;gap:15px}.nav-cta{text-align:center}.hero-inner{padding-top:62px;padding-bottom:38px}.hero h1{font-size:2.4375rem}.hero-copy{font-size:0.9375rem}.hero .eyebrow{font-size:0.6875rem;letter-spacing:.09em}.hero-art{object-position:70% center;opacity:.55}.hero-caption{margin-top:38px}.hero-bottom{font-size:0.75rem}.hero-bottom span:last-child{display:none}.button{font-size:0.875rem;padding:12px 19px}.intro-strip{padding:32px 5% 20px;gap:5px}.intro-strip strong{font-size:1.9375rem}.intro-strip strong span{display:block;font-size:0.875rem;margin:4px 0 0}.intro-strip p{font-size:0.75rem}.intro-strip .strip-note{font-size:0.6875rem}.section{padding:60px 6%}.section-label{font-size:0.75rem;margin-bottom:25px}.section h2{font-size:1.9375rem}.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.large-copy{font-size:1.0625rem;margin-top:25px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:0.875rem}.service-grid{grid-template-columns:1fr;gap:12px}.service-grid article{padding:27px}.service-grid h3{font-size:1.375rem;margin-top:13px}.benefit{grid-template-columns:1fr;padding:27px;gap:23px}.benefit h3{font-size:1.4375rem}.case-tabs{gap:7px}.case-tabs button{font-size:0.75rem;padding:8px 10px}#case-panel{grid-template-columns:1fr}.case-data{border-left:0;border-top:1px solid var(--line)}.case-text h3{font-size:1.8125rem}.case-data>strong{font-size:3.25rem}.bars{height:180px}.steps{grid-template-columns:1fr;gap:0;margin:32px 0}.steps li,.steps li:first-child{display:grid;grid-template-columns:45px 1fr;column-gap:20px;padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}.steps span{grid-row:1/3;font-size:1.625rem}.steps h3{margin:0 0 7px}.steps p{font-size:0.875rem}.steps br{display:none}.faq{margin-top:32px}.faq summary{font-size:0.9375rem}.faq details p{padding-left:0;padding-right:0;font-size:0.875rem}.contact h2{font-size:2rem}.contact-grid>div>p:not(.eyebrow){font-size:0.875rem}.contact-direct{border-left:0;border-top:1px solid #ffffff2a;padding:28px 0 0}.contact-direct>a{font-size:1.125rem}.contact .contact-note{font-size:0.75rem}footer{padding:35px 6%;display:grid;grid-template-columns:1fr;gap:20px}footer .brand{width:165px}footer>a:not(.brand){justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Consistent, readable typography on desktop and mobile. */
body{line-height:1.8;letter-spacing:-.015em}
.hero h1{letter-spacing:-.035em;line-height:1.3}
.section h2{letter-spacing:-.035em;line-height:1.4}
.hero-copy,.about-detail>p,.service-grid p,.section-heading>p,.benefit p,.case-text dd,.steps p,.faq details p,.contact-grid>div>p:not(.eyebrow){font-size:1rem;line-height:1.85}
.eyebrow,.section-label,.hero .eyebrow,.case-text .eyebrow{font-size:.8125rem;letter-spacing:.09em}
.button,.text-link{font-size:.9375rem}
.intro-strip p,.principles p,.tags span,.case-tabs button,.case-text dt,.case-data>p,.secondary-metric,.copy-button,#copy-status,.business-card summary,footer p,footer a:not(.brand){font-size:.875rem}
.intro-strip .strip-note,.hero-caption,.hero-bottom,.benefit .fine,.case-note,.contact .contact-note,footer small{font-size:.8125rem;line-height:1.8}
.hero-caption{color:#abb7cb}.contact .contact-note{color:#b1bdcf}.case-note{color:#626975}footer p{color:#626975}footer small{color:#68707b}
.case-tabs button{min-height:44px}.case-text dt{margin-top:18px}.case-text dd{margin-top:6px}
.bars{gap:18px;padding-inline:0;padding-bottom:44px;height:220px}
.bars span{font-size:.875rem;line-height:1.5;white-space:nowrap;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.bars small{font-size:.8125rem;line-height:1.4;bottom:-38px;white-space:normal;text-align:center;width:100%;letter-spacing:-.02em}
.secondary-metric{flex-wrap:wrap;align-items:baseline;row-gap:6px}.secondary-metric strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.intro-strip strong,.case-data>strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.intro-strip>div,.about-grid>div,.contact-grid>div,.case-text,.case-data{min-width:0}
@media(max-width:700px){
 .hero h1{font-size:clamp(1.875rem,9.2vw,2.4375rem)}
 .hero .eyebrow{font-size:.75rem;letter-spacing:.05em}
 .intro-strip{column-gap:10px}.intro-strip>div{padding-inline:4px}.intro-strip p{font-size:.875rem;line-height:1.7}.intro-strip strong span{font-size:.9375rem}
 .intro-strip .strip-note{font-size:.8125rem}.section-label{font-size:.8125rem}
 .case-tabs button{font-size:.875rem;padding:9px 12px}.case-text h3{font-size:1.75rem;line-height:1.45}
 .case-data{padding:28px 22px}.case-data>strong{font-size:clamp(2.5rem,12vw,3.25rem)}.case-data>strong span{font-size:1.25rem}
 .bars{gap:10px;height:200px}.bars span{font-size:.8125rem}.bars small{font-size:.8125rem}
 .faq summary{font-size:1rem;line-height:1.7}.contact .contact-note{font-size:.8125rem}
 .contact-direct>a{font-size:1.125rem}.contact-direct>p:not(.eyebrow){font-size:1rem}
 footer p{overflow-wrap:anywhere;word-break:normal}
}
@media(max-width:360px){.intro-strip{grid-template-columns:1fr;gap:22px}.intro-strip>div+div{border-left:0;border-top:1px solid var(--line);padding-top:20px}.intro-strip strong span{display:inline;margin-left:5px}.intro-strip .strip-note{margin-top:0}.hero .eyebrow{max-width:22ch}.bars span{font-size:.75rem}}

/* Increase type throughout, with a larger lift for supporting text. */
html{font-size:17px}
.eyebrow,.section-label,.hero .eyebrow,.case-text .eyebrow{font-size:.875rem}
.header nav,.menu-button,.intro-strip p,.principles p,.tags span,.case-tabs button,.case-text dt,.case-data>p,.secondary-metric,.copy-button,#copy-status,.business-card summary,footer p,footer a:not(.brand){font-size:.9375rem}
.intro-strip .strip-note,.hero-caption,.hero-bottom,.benefit .fine,.case-note,.contact .contact-note,footer small{font-size:.875rem}
.bars span,.bars small{font-size:.875rem}
.button,.text-link{font-size:1rem}
@media(max-width:700px){
 .hero .eyebrow,.intro-strip .strip-note,.section-label,.contact .contact-note{font-size:.875rem}
 .intro-strip p,.case-tabs button{font-size:.9375rem}
 .bars span,.bars small{font-size:.875rem}
 .bars{gap:12px;height:215px;padding-bottom:52px}
 .bars span{white-space:normal;text-align:center;line-height:1.4}
 .bars small{bottom:-46px}
 .hero h1{font-size:clamp(2rem,9.8vw,2.625rem)}
}
@media(max-width:360px){.bars span{font-size:.875rem}}

/* Give the hero logo more breathing room. */
.hero-art{transform:scale(.76);transform-origin:85% 45%;mask-image:radial-gradient(ellipse at center,#000 48%,transparent 74%)} 
@media(max-width:700px){.hero-art{transform:scale(.8);transform-origin:75% 50%}}

/* Image file already contains the reduced logo. */
.hero-art{transform:none;mask-image:none}
@media(max-width:700px){.hero-art{transform:none}}

.hero-mobile-art{display:none}
@media(max-width:700px){
.hero-art{display:none}
.hero:after{display:none}
.hero-inner{padding-top:44px;padding-bottom:30px}
.hero .eyebrow{max-width:none;font-size:.8125rem;letter-spacing:.06em;line-height:1.6;margin-bottom:24px}
.hero-mobile-art{display:block;width:min(80%,280px);height:auto;object-fit:contain;margin:26px auto 0;opacity:1}
.hero-caption{margin-top:28px}
}
