@import url('https://fonts.googleapis.com/css2?family=Black+Han+Sans&family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{--ink:#071a2b;--ink2:#0b2741;--blue:#1677ff;--cyan:#13c6d4;--lime:#b9f227;--paper:#fff;--soft:#f1f6f8;--line:#d8e3e9;--muted:#5b6b78;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'Noto Sans KR',sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:12px;z-index:999;background:#fff;padding:10px}.site-header{height:82px;display:flex;align-items:center;padding:0 max(24px,calc((100% - var(--max))/2));gap:34px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,26,43,.08)}.brand{display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--lime);color:var(--ink);font:900 21px 'Noto Sans KR';transform:rotate(-4deg);box-shadow:inset 0 0 0 3px var(--ink)}.brand strong{display:block;font-size:20px;letter-spacing:-1px}.brand small{display:block;font-weight:800;font-size:10px;letter-spacing:3px;color:var(--blue)}.desktop-nav{display:flex;gap:24px;font-weight:700;font-size:14px}.desktop-nav a:hover{color:var(--blue)}.header-call{font-weight:900;background:var(--ink);color:#fff;padding:11px 16px;border-radius:999px}.menu-btn,.mobile-nav{display:none}.hero{background:var(--ink);color:white;position:relative;overflow:hidden;min-height:720px}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(22,119,255,.34),transparent 35%),linear-gradient(120deg,rgba(7,26,43,.3),rgba(7,26,43,.95))}.hero-bg{position:absolute;right:-6%;top:0;width:55%;height:100%;background:url('assets/hero-motion-poster.webp') center/cover;filter:grayscale(.2);opacity:.12}.hero-inner{max-width:var(--max);margin:auto;position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;min-height:720px;padding:70px 24px}.eyebrow,.kicker{font-weight:900;letter-spacing:2.3px;font-size:13px;color:var(--blue)}.hero .eyebrow{color:var(--lime);display:flex;align-items:center;gap:12px}.eyebrow span{width:36px;height:4px;background:var(--lime)}h1,h2,h3,p{margin-top:0}.hero h1{font:400 clamp(45px,6.2vw,79px)/1.08 'Black Han Sans';letter-spacing:-3px;margin:22px 0 26px}.hero h1 em{font-style:normal;color:var(--lime)}.lead{font-size:18px;line-height:1.85;color:#d0dce3;max-width:650px}.hero-actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-weight:900;border:1px solid currentColor;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--lime);color:var(--ink);border-color:var(--lime)}.btn.ghost{color:white;background:transparent;border-color:rgba(255,255,255,.5)}.btn.secondary{background:var(--ink);color:#fff;border-color:var(--ink)}.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:36px 0 0}.hero-facts div{border-left:3px solid var(--lime);padding-left:12px}.hero-facts dt{font-weight:900}.hero-facts dd{margin:5px 0 0;font-size:12px;color:#9fb1be}.hero-media{margin:0;position:relative;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.13);background:#06121e}.hero-media video{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.section{padding:110px 24px}.section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.section-head{display:grid;grid-template-columns:1.2fr 1fr;column-gap:70px;align-items:end;margin-bottom:46px}.section-head .kicker{grid-column:1/-1;margin-bottom:14px}.section-head h2{font:400 clamp(38px,5vw,62px)/1.12 'Black Han Sans';letter-spacing:-2px;margin:0}.section-head>p:last-child{line-height:1.8;color:var(--muted)}.section-head.light h2{color:#fff}.section-head.light>p:last-child{color:#b8c7d0}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.check-card{padding:32px 28px;border-right:1px solid var(--line)}.check-card:last-child{border:0}.check-card span{font-size:12px;font-weight:900;color:var(--blue)}.check-card h3{font-size:23px;margin:32px 0 12px}.check-card p{color:var(--muted);line-height:1.75}.dark{background:var(--ink);color:#fff}.work-grid{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12)}.work-grid article{min-height:260px;padding:26px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);position:relative;transition:.25s}.work-grid article:hover{background:var(--blue);transform:translateY(-4px)}.work-grid article>span{position:absolute;right:18px;top:15px;color:rgba(255,255,255,.35);font-weight:900}.work-grid i{font-style:normal;font-size:32px}.work-grid h3{font-size:21px;margin:28px 0 10px}.work-grid p{font-size:14px;color:#b8c7d0;line-height:1.7}.work-grid small{color:var(--lime);font-weight:700}.process-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--line)}.process-list li{background:#fff;padding:32px 24px;min-height:220px}.process-list b{font:400 42px 'Black Han Sans';color:var(--blue)}.process-list h3{margin-top:34px;font-size:20px}.process-list p{color:var(--muted);line-height:1.7}.soft{background:var(--soft)}.area-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}.area-card{background:#fff;padding:34px;box-shadow:0 12px 36px rgba(15,38,55,.08)}.area-card>p{font-size:12px;font-weight:900;color:var(--blue);letter-spacing:2px}.area-card h3{font-size:26px}.area-card>span{display:block;line-height:1.8;color:var(--muted);min-height:90px}.area-card button{width:100%;display:flex;justify-content:space-between;border:0;border-top:1px solid var(--line);background:white;padding:20px 0 0;margin-top:20px;font-weight:900;cursor:pointer;color:var(--ink)}.area-card button i{font-style:normal;color:var(--blue);font-size:22px}.chips{display:flex;flex-wrap:wrap;gap:7px;max-height:0;overflow:hidden;transition:max-height .35s,padding .35s}.chips.open{max-height:800px;padding-top:22px}.chips a{font-size:12px;background:var(--soft);padding:7px 9px;border-radius:4px}.chips a:hover{background:var(--lime)}.keyword-box{margin-top:22px;background:var(--ink);padding:30px;color:#fff}.keyword-box>p{font-weight:900}.keyword-box div{display:flex;flex-wrap:wrap;gap:9px}.keyword-box span{border:1px solid rgba(255,255,255,.2);padding:7px 10px;font-size:12px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-card{border:0;background:#102b43;color:#fff;padding:0;text-align:left;cursor:pointer;overflow:hidden}.video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#06121e}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:.3s}.video-card:hover img{transform:scale(1.04)}.play{position:absolute;left:18px;bottom:16px;width:48px;height:48px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-size:18px}.video-card h3{font-size:16px;line-height:1.55;min-height:80px;padding:18px 20px;margin:0}.center{text-align:center;margin-top:40px}dialog{width:min(880px,calc(100% - 30px));border:0;background:var(--ink);color:white;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.6)}dialog::backdrop{background:rgba(0,10,18,.85)}.modal-close{position:absolute;right:8px;top:5px;z-index:2;background:#fff;border:0;border-radius:50%;width:36px;height:36px;font-size:24px}.video-frame{aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%;border:0}.video-frame+h3{padding:20px 24px;margin:0}.blog-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.blog-head h2{font:400 clamp(38px,5vw,62px)/1.12 'Black Han Sans';margin:0}.blog-head>p{color:var(--muted);line-height:1.8}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.blog-card{border:1px solid var(--line);background:#fff;transition:.2s}.blog-card:hover{transform:translateY(-6px);box-shadow:0 15px 40px rgba(7,26,43,.12)}.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.blog-card div{padding:24px}.blog-card small{color:var(--blue);font-weight:900}.blog-card h3{font-size:19px;line-height:1.55;margin:10px 0 22px}.blog-card span{font-size:13px;font-weight:900}.price-box{background:#fff;border-left:8px solid var(--blue);padding:45px;display:grid;grid-template-columns:1fr 1.25fr;gap:30px 70px;box-shadow:0 10px 40px rgba(7,26,43,.07)}.price-box h2{font:400 46px 'Black Han Sans';margin-bottom:10px}.price-box p{color:var(--muted);line-height:1.7}.price-box dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.price-box dl div{background:var(--soft);padding:25px 15px;text-align:center}.price-box dt{font-size:13px;font-weight:800}.price-box dd{margin:10px 0 0;font:400 28px 'Black Han Sans';color:var(--blue)}.price-box>small{grid-column:1/-1;color:var(--muted)}.faq-list{max-width:var(--max);margin:auto;border-top:2px solid var(--ink)}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;padding:24px 4px;cursor:pointer;font-size:19px;font-weight:900;list-style:none}summary::-webkit-details-marker{display:none}details p{padding:0 45px 25px 4px;color:var(--muted);line-height:1.8}details[open] summary span{transform:rotate(45deg)}.cta{background:var(--blue);color:#fff;padding:75px max(24px,calc((100% - var(--max))/2));display:flex;justify-content:space-between;align-items:end;gap:30px}.cta p{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--lime)}.cta h2{font:400 clamp(38px,5vw,62px) 'Black Han Sans';margin-bottom:10px}.cta>div:last-child{display:flex;gap:10px}footer{background:#04111d;color:#fff;padding:60px max(24px,calc((100% - var(--max))/2)) 100px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px}footer .footer-brand{display:flex;gap:16px}footer .footer-brand b{font-size:20px}footer p{font-size:13px;color:#8fa2af;line-height:1.7}footer h3{font-size:13px;color:var(--lime)}footer>div>a{display:block;margin:7px 0;font-weight:700}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:20px;margin-top:15px}.sticky{display:none}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.on{opacity:1;transform:none}.delay{transition-delay:.1s}.delay2{transition-delay:.2s}
@media(max-width:900px){.desktop-nav,.header-call{display:none}.menu-btn{display:flex;margin-left:10px;border:0;background:none;width:42px;height:42px;flex-direction:column;justify-content:center;gap:5px}.menu-btn span{width:24px;height:2px;background:var(--ink)}.mobile-nav{display:flex;position:absolute;left:0;right:0;top:82px;background:#fff;padding:20px 24px;flex-direction:column;gap:18px;border-top:1px solid var(--line);box-shadow:0 20px 35px rgba(0,0,0,.12)}.mobile-nav[hidden]{display:none}.hero-inner{grid-template-columns:1fr;padding-top:75px}.hero-media{width:min(100%,420px);margin:0 auto 25px}.section-head,.blog-head{grid-template-columns:1fr;gap:20px}.check-grid{grid-template-columns:1fr}.check-card{border-right:0;border-bottom:1px solid var(--line)}.work-grid{grid-template-columns:repeat(2,1fr)}.process-list{grid-template-columns:repeat(2,1fr)}.area-cards,.blog-grid{grid-template-columns:1fr}.area-card>span{min-height:0}.video-grid{grid-template-columns:repeat(2,1fr)}.price-box{grid-template-columns:1fr}.price-box dl{grid-template-columns:repeat(3,1fr)}.cta{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){body{padding-bottom:62px}.site-header{height:68px;padding:0 16px}.brand-mark{width:38px;height:38px}.mobile-nav{top:68px}.hero,.hero-inner{min-height:690px}.hero-inner{padding:55px 18px}.hero h1{font-size:44px;letter-spacing:-2px}.lead{font-size:16px}.hero-actions{flex-direction:column}.hero-facts{grid-template-columns:1fr 1fr}.section{padding:78px 18px}.section-head h2,.blog-head h2{font-size:39px}.work-grid{grid-template-columns:1fr}.work-grid article{min-height:210px}.process-list{grid-template-columns:1fr}.video-grid{grid-template-columns:1fr}.video-card h3{min-height:auto}.price-box{padding:28px 22px}.price-box dl{grid-template-columns:1fr}.cta{padding:60px 18px}.cta>div:last-child{width:100%;flex-direction:column}.cta .btn{width:100%}footer{grid-template-columns:1fr;padding:50px 18px 90px}.sticky{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;height:62px;z-index:80}.sticky a{display:grid;place-items:center;font-weight:900;background:var(--lime);color:var(--ink)}.sticky a:last-child{background:var(--ink);color:white}.hero-facts div:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.chips{display:none;max-height:none;overflow:visible}.chips.open{display:block;max-height:none;padding-top:18px}.district{border:1px solid var(--line);border-bottom:0;background:#fff}.district:last-child{border-bottom:1px solid var(--line)}.district summary{padding:14px 12px;font-size:14px}.district summary small{margin-left:auto;margin-right:10px;color:var(--blue)}.district summary span{font-size:18px;transition:transform .2s}.district-areas{display:flex;flex-wrap:wrap;gap:7px;padding:0 12px 14px}.district-areas a{font-size:12px;background:var(--soft);padding:7px 9px;border-radius:4px}.district-areas a:hover{background:var(--lime)}.area-source{margin-top:20px;color:var(--muted);font-size:12px}
@media(min-width:720px) and (max-width:900px){.hero-inner{grid-template-columns:1.15fr .85fr;gap:30px}.hero-media{width:100%;margin:0}.hero h1{font-size:47px}.hero .lead{font-size:15px}.hero-facts{gap:8px}.hero-facts dt{font-size:13px}.hero-facts dd{font-size:10px}}
.hero h1.hero-title-long{font-size:clamp(38px,4.7vw,64px);line-height:1.1}
@media(max-width:560px){.hero h1.hero-title-long{font-size:39px;line-height:1.12}}
.work-icon{display:block;width:34px;height:34px;color:var(--lime);fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.district-areas span{font-size:12px;background:var(--soft);padding:7px 9px;border-radius:4px;color:var(--ink)}
.district-areas a{font-weight:900;border:1px solid #bfeb36}.district-detail{display:inline-block;margin:0 12px 14px;color:var(--blue);font-size:13px;font-weight:900;border-bottom:2px solid var(--lime)}
.header-logo{display:block;width:230px;height:70px;object-fit:contain;object-position:left center}
@media(max-width:560px){.header-logo{width:172px;height:56px}}
