:root{--bg:#07111f;--bg2:#0b1728;--card:#101e31;--card2:#f5f7fb;--ink:#0a1424;--muted:#637086;--white:#fff;--line:#dce3ee;--accent:#5aa7ff;--accent2:#9fd0ff;--max:1180px;--radius:24px;--shadow:0 16px 60px rgba(7,17,31,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.18em;font-weight:800;color:#4d94e6;text-transform:uppercase}.section{padding:92px 0}.section.light{background:#f6f8fc}.section.dark{background:var(--bg);color:#fff}.section h2{font-size:clamp(30px,4vw,52px);line-height:1.15;margin:12px 0 18px;letter-spacing:-.045em}.section p.lead{font-size:18px;color:var(--muted);max-width:760px}.dark p.lead{color:#aebbd0}
header{position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(6,15,28,.72);backdrop-filter:blur(16px)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}.brand img{height:42px;width:auto}.brand span{font-size:15px;letter-spacing:-.02em}.menu{display:flex;gap:28px;align-items:center;color:#d7e1ef;font-size:14px}.menu a:hover{color:#fff}.nav-cta{padding:11px 17px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#fff;color:#06101d;font-weight:800}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:24px}
.hero{min-height:820px;color:#fff;position:relative;display:flex;align-items:center;overflow:hidden;background:#06101d}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,25,.98) 0%,rgba(5,13,25,.88) 35%,rgba(5,13,25,.18) 72%,rgba(5,13,25,.12));z-index:1}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero .wrap{position:relative;z-index:2}.hero-copy{max-width:720px;padding-top:70px}.hero h1{font-size:clamp(48px,7vw,84px);line-height:1.02;letter-spacing:-.055em;margin:16px 0 26px}.hero h1 em{font-style:normal;color:#89c1ff}.hero p{font-size:19px;color:#c4d0e0;max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 21px;border-radius:12px;font-weight:800;border:1px solid transparent}.btn.primary{background:#fff;color:#06101d}.btn.secondary{border-color:rgba(255,255,255,.28);color:#fff;background:rgba(255,255,255,.06)}.hero-badges{display:flex;gap:22px;margin-top:54px;flex-wrap:wrap}.hero-badges div{padding-left:14px;border-left:2px solid #6eaff8}.hero-badges b{display:block;font-size:18px}.hero-badges span{font-size:12px;color:#9eacc0}
.quick-grid,.service-grid,.insight-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick-card,.service-card,.insight-card{background:#fff;border:1px solid #e5eaf1;border-radius:20px;padding:26px;box-shadow:0 12px 30px rgba(12,24,43,.05);transition:.25s}.quick-card:hover,.service-card:hover,.insight-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.icon{width:44px;height:44px;border-radius:13px;background:#edf5ff;display:grid;place-items:center;font-weight:900;color:#347fd0;margin-bottom:24px}.quick-card h3,.service-card h3,.insight-card h3{margin:0 0 10px;font-size:21px;letter-spacing:-.03em}.quick-card p,.service-card p,.insight-card p{margin:0;color:#697589;font-size:14px}.quick-card .more,.service-card .more,.insight-card .more{display:inline-block;margin-top:20px;font-size:13px;font-weight:800;color:#2d79cb}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.panel{border-radius:26px;padding:34px;background:#0d1b2d;border:1px solid #1d3048}.signal{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.signal div{background:#10243d;border:1px solid #1d3b60;border-radius:16px;padding:20px}.signal b{font-size:27px;display:block}.signal span{color:#9db0c9;font-size:13px}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:36px}.step{padding:28px;border-top:3px solid #7db8fa;background:#fff;border-radius:0 0 18px 18px}.step small{color:#4085d0;font-weight:900}.step h3{margin:12px 0 8px}.step p{color:#6f7a8c;font-size:14px;margin:0}.specialty{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.pill{padding:10px 14px;border-radius:999px;border:1px solid #d8e0eb;background:#fff;font-size:13px;font-weight:700}
.toc{background:#f7f9fc;border:1px solid #e4eaf2;border-radius:20px;padding:26px}.toc a{display:block;padding:10px 0;border-bottom:1px solid #e6ebf2;font-weight:700}.toc a:last-child{border:0}.article{max-width:900px;margin:auto}.article h2{font-size:34px;margin-top:66px}.article h3{font-size:24px;margin-top:38px}.article p,.article li{font-size:17px;color:#3e4b60}.article blockquote{margin:28px 0;padding:22px 26px;border-left:4px solid #599fe9;background:#f3f7fc;border-radius:0 16px 16px 0;font-weight:700}.compare{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:28px 0}.compare>div{border:1px solid #e0e6ef;border-radius:18px;padding:26px}.compare .good{background:#f0f7ff}.faq{max-width:900px;margin:30px auto}.faq-item{border-bottom:1px solid #dfe5ed}.faq-q{width:100%;background:none;border:0;text-align:left;padding:22px 0;font-size:18px;font-weight:800;display:flex;justify-content:space-between;cursor:pointer}.faq-a{display:none;padding:0 0 22px;color:#647086}.faq-item.open .faq-a{display:block}
.cta{background:linear-gradient(135deg,#07111f,#102a4a);border-radius:32px;padding:56px;color:#fff;display:flex;justify-content:space-between;gap:30px;align-items:center}.cta h2{margin:0 0 12px}.cta p{margin:0;color:#afbed1}.footer{background:#050d18;color:#9aa9bd;padding:55px 0 30px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer h4{color:#fff}.footer a{display:block;margin:8px 0}.copyright{margin-top:40px;padding-top:20px;border-top:1px solid #14243a;font-size:12px}.floating{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;flex-direction:column;gap:10px}.float-btn{padding:13px 17px;background:#0a1727;color:#fff;border:1px solid #2f4663;border-radius:999px;box-shadow:0 8px 30px rgba(0,0,0,.2);font-weight:800;font-size:13px}
.page-hero{padding:150px 0 70px;background:linear-gradient(135deg,#06101d,#10233c);color:#fff}.page-hero h1{font-size:clamp(42px,6vw,70px);margin:12px 0 18px;letter-spacing:-.05em}.breadcrumbs{font-size:13px;color:#9eb0c7}
@media(max-width:900px){.menu{display:none}.menu-toggle{display:block}.menu.open{display:flex;position:absolute;top:76px;left:0;right:0;background:#07111f;padding:20px;flex-direction:column;align-items:flex-start}.hero{min-height:720px}.hero:before{background:linear-gradient(180deg,rgba(5,13,25,.9),rgba(5,13,25,.96))}.hero-bg{opacity:.48}.quick-grid,.service-grid,.insight-grid{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr;gap:30px}.process{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.wrap{width:min(100% - 26px,var(--max))}.section{padding:68px 0}.hero h1{font-size:48px}.hero p{font-size:16px}.quick-grid,.service-grid,.insight-grid,.process,.signal,.compare{grid-template-columns:1fr}.cta{padding:32px}.brand span{display:none}.hero-badges{gap:14px}.hero-badges div{width:46%}}



/* v3 carousel + footer info */
.service-carousel-wrap{position:relative}
.carousel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}
.carousel-note{font-size:14px;color:#74839a;font-weight:700}
.carousel-controls{display:flex;gap:10px}
.carousel-btn{width:42px;height:42px;border-radius:999px;border:1px solid #d5dfeb;background:#fff;color:#0b1728;font-size:18px;font-weight:900;cursor:pointer;box-shadow:0 10px 24px rgba(12,24,43,.07)}
.carousel-btn:hover{transform:translateY(-1px)}
.service-carousel{display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:none;-ms-overflow-style:none}
.service-carousel::-webkit-scrollbar{display:none}
.service-carousel .quick-card{flex:0 0 calc((100% - 54px)/4.35);min-width:240px;scroll-snap-align:start}
.footer-company .brand{margin-bottom:16px}
.footer-tag{margin:0 0 18px}
.footer-info{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.footer-info li{margin:0;line-height:1.55}
.footer-info b{display:inline-block;min-width:92px;color:#dbe6f5}
.footer a[href^="mailto:"]{display:inline;margin:0;color:#dbe6f5}
@media(max-width:1100px){.service-carousel .quick-card{flex-basis:calc((100% - 36px)/3.2)}}
@media(max-width:900px){.carousel-head{margin-bottom:14px}.service-carousel .quick-card{flex-basis:calc((100% - 18px)/2.15)}.footer-grid{grid-template-columns:1fr 1fr}.footer-company{grid-column:1 / -1}}
@media(max-width:700px){.service-carousel .quick-card{flex-basis:78vw}.carousel-note{font-size:13px}}
@media(max-width:560px){.carousel-head{align-items:flex-end}.service-carousel .quick-card{flex-basis:82vw}.footer-grid{grid-template-columns:1fr}.footer-info b{min-width:82px}}


/* v5 targeted layout fixes */
.service-carousel-wrap{overflow:visible}
.carousel-controls{position:static!important;display:flex;gap:10px;flex:0 0 auto}
.service-carousel{padding:8px 8px 18px!important;scroll-padding-left:8px;overflow-y:hidden}
.service-carousel .quick-card{position:relative;overflow:hidden;transform:none!important}
.service-carousel .quick-card:hover{transform:none!important}
.service-carousel .quick-card .card-body{padding:22px 24px 26px;display:flex;flex-direction:column;align-items:flex-start;min-height:245px;width:100%}
.service-carousel .quick-card .more{display:block!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:auto!important;padding-top:20px;white-space:nowrap;overflow:visible;line-height:1.4;z-index:2}
.service-carousel .quick-card h3{min-height:0;line-height:1.35}
.footer-company .brand{margin-bottom:16px}.footer-tag{margin:0 0 18px}.footer-info{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-info li{margin:0;line-height:1.55}.footer-info b{display:inline-block;min-width:92px;color:#dbe6f5}.footer-company .footer-info a{display:inline;margin:0;color:#dbe6f5}.copyright{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.legal-links{display:flex;gap:18px}.legal-links a{margin:0;color:#c7d2e0;font-weight:700}.policy{max-width:920px;margin:auto}.policy h2{font-size:28px;margin-top:44px}.policy p,.policy li{color:#46536a;font-size:16px}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}.footer-company{grid-column:1/-1}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-info b{min-width:82px}.legal-links{width:100%}.service-carousel .quick-card .card-body{min-height:230px}}


/* v6 definitive service-card sizing */
.service-carousel{display:flex!important;gap:18px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important;scroll-behavior:smooth!important;align-items:stretch!important;padding:8px 8px 18px!important}
.service-carousel .quick-card{display:flex!important;flex-direction:column!important;flex:0 0 268px!important;width:268px!important;min-width:268px!important;max-width:268px!important;height:auto!important;padding:0!important;overflow:hidden!important;border-radius:20px!important;background:#fff!important}
.service-carousel .quick-card .card-thumb{display:block!important;width:100%!important;height:190px!important;max-width:none!important;object-fit:cover!important;object-position:center!important;margin:0!important;border:0!important;border-bottom:1px solid #e5eaf1!important;background:#f4f7fb!important;flex:0 0 190px!important}
.service-carousel .quick-card .card-body{display:flex!important;flex-direction:column!important;align-items:flex-start!important;width:100%!important;min-height:245px!important;padding:20px 22px 22px!important;overflow:visible!important}
.service-carousel .quick-card .icon{width:38px!important;height:38px!important;margin:0 0 16px!important;border-radius:11px!important;flex:0 0 38px!important}
.service-carousel .quick-card h3{margin:0 0 10px!important;font-size:19px!important;line-height:1.35!important;min-height:auto!important;word-break:keep-all!important}
.service-carousel .quick-card p{margin:0!important;font-size:14px!important;line-height:1.65!important;word-break:keep-all!important}
.service-carousel .quick-card .more{display:inline-block!important;margin-top:auto!important;padding-top:18px!important;white-space:nowrap!important;position:static!important;transform:none!important;line-height:1.3!important;overflow:visible!important}
.carousel-head{margin-bottom:10px!important}
@media(min-width:1180px){.service-carousel .quick-card{flex-basis:268px!important}}
@media(max-width:900px){.service-carousel .quick-card{flex:0 0 255px!important;width:255px!important;min-width:255px!important;max-width:255px!important}.service-carousel .quick-card .card-thumb{height:180px!important;flex-basis:180px!important}}
@media(max-width:560px){.service-carousel .quick-card{flex:0 0 82vw!important;width:82vw!important;min-width:82vw!important;max-width:82vw!important}.service-carousel .quick-card .card-thumb{height:auto!important;aspect-ratio:1.18/1!important;flex-basis:auto!important}.service-carousel .quick-card .card-body{min-height:230px!important}}




/* v8: service slider refinement */
.tle-services-v7{
  margin-top:34px;
  width:100%;
  min-width:0;
}
.tle-services-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.tle-services-note{
  font-size:14px;
  color:#74839a;
  font-weight:700;
}
.tle-services-controls{
  display:flex;
  gap:10px;
  flex:0 0 auto;
}
.tle-services-btn{
  appearance:none;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid #d7e1ed;
  background:#fff;
  color:#0a1424;
  font-size:18px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(12,24,43,.06);
}
.tle-services-track{
  display:flex!important;
  align-items:stretch!important;
  gap:16px!important;
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  padding:2px 2px 14px!important;
  scrollbar-width:none;
}
.tle-services-track::-webkit-scrollbar{display:none}

/* Four full cards + a small peek of the fifth card on desktop */
.tle-service-card{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 260px!important;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:468px!important;
  background:#fff!important;
  border:1px solid #e1e7ef!important;
  border-radius:20px!important;
  overflow:hidden!important;
  box-shadow:0 10px 28px rgba(12,24,43,.06)!important;
  scroll-snap-align:start;
  text-decoration:none!important;
  color:#0a1424!important;
  transform:none!important;
}
.tle-service-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 14px 32px rgba(12,24,43,.10)!important;
}

/* IMPORTANT: show the whole square artwork instead of cropping it */
.tle-thumb{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:205px!important;
  min-height:205px!important;
  max-height:205px!important;
  overflow:hidden!important;
  background:#f6f9fd!important;
  border-bottom:1px solid #e7edf4!important;
  padding:8px!important;
}
.tle-thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
}

.tle-service-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  flex:1!important;
  width:100%!important;
  min-height:0!important;
  padding:20px 20px 22px!important;
  overflow:hidden!important;
}
.tle-code{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  color:#4389d5;
  margin-bottom:10px;
}
.tle-service-copy h3{
  font-size:19px!important;
  line-height:1.35!important;
  letter-spacing:-.03em!important;
  margin:0 0 10px!important;
  word-break:keep-all!important;
}
.tle-service-copy p{
  font-size:14px!important;
  line-height:1.6!important;
  color:#6d788b!important;
  margin:0!important;
  word-break:keep-all!important;
}
.tle-more{
  display:block!important;
  margin-top:auto!important;
  padding-top:16px!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:900!important;
  color:#2d79cb!important;
  white-space:nowrap!important;
  position:static!important;
  overflow:visible!important;
}

@media(max-width:1100px){
  .tle-service-card{
    flex:0 0 250px!important;
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
  }
}
@media(max-width:900px){
  .tle-service-card{
    flex:0 0 245px!important;
    width:245px!important;
    min-width:245px!important;
    max-width:245px!important;
    height:450px!important;
  }
  .tle-thumb{
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
  }
}
@media(max-width:560px){
  .tle-services-note{font-size:13px}
  .tle-service-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    min-width:82vw!important;
    max-width:82vw!important;
    height:455px!important;
  }
  .tle-thumb{
    height:205px!important;
    min-height:205px!important;
    max-height:205px!important;
  }
}

/* final SEO content blocks */
.company-intro{background:#fff}
.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.intro-copy p{font-size:17px;line-height:1.85;color:#45536a;margin:0 0 18px}
.intro-copy strong{color:#0a1424}
.intro-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.intro-links a{display:inline-flex;padding:10px 13px;border:1px solid #dce5f0;border-radius:999px;font-size:13px;font-weight:800;color:#2d79cb;background:#f7faff}
.related-links{margin:38px 0 12px;padding:22px 24px;border:1px solid #dfe7f0;border-radius:18px;background:#f7f9fc;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}
.related-links strong{width:100%;color:#0a1424}
.related-links a{font-size:14px;font-weight:800;color:#2d79cb}
@media(max-width:900px){.intro-grid{grid-template-columns:1fr;gap:24px}}
