:root{
  --bg:#f4f8ff;
  --bg2:#ffffff;
  --surface:rgba(255,255,255,.78);
  --surface-strong:rgba(255,255,255,.92);
  --line:rgba(18,54,98,.10);
  --text:#102033;
  --text-soft:#45607c;
  --title:#081526;
  --blue:#21a6ff;
  --cyan:#6ce7ff;
  --steel:#99b7d6;
  --navy:#123a78;
  --gold:#ffc75f;
  --shadow:0 18px 48px rgba(20,57,110,.10);
  --shadow-strong:0 26px 70px rgba(17,55,108,.16);
  --radius:30px;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Pretendard Variable","Noto Sans KR",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--text);
  line-height:1.72;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 8%, rgba(108,231,255,.34), transparent 22%),
    radial-gradient(circle at 92% 12%, rgba(33,166,255,.26), transparent 20%),
    radial-gradient(circle at 50% -8%, rgba(255,255,255,.95), rgba(255,255,255,0) 38%),
    linear-gradient(180deg, #f8fbff 0%, #eef7ff 38%, #f6fbff 72%, #ffffff 100%);
}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:0;filter:blur(22px);border-radius:50%;opacity:.9}
body::before{width:32vw;height:32vw;left:-8vw;top:6vh;background:radial-gradient(circle, rgba(108,231,255,.24), rgba(108,231,255,0) 70%)}
body::after{width:30vw;height:30vw;right:-8vw;top:20vh;background:radial-gradient(circle, rgba(33,166,255,.18), rgba(33,166,255,0) 70%)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
main,.topbar,.footer{position:relative;z-index:1}
.container{width:min(calc(100% - 28px), var(--maxw));margin:0 auto}

.topbar{
  position:sticky;top:0;z-index:30;
  backdrop-filter: blur(16px) saturate(140%);
  background:rgba(255,255,255,.72);
  border-bottom:1px solid rgba(18,54,98,.08);
  box-shadow:0 12px 28px rgba(14,45,92,.08);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:950;letter-spacing:-.02em;color:var(--title);font-size:1rem}
.brand-badge{
  width:48px;height:48px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(145deg, #0d2a52 0%, #1479d4 48%, #83efff 100%);
  color:#fff;font-weight:950;
  box-shadow:0 10px 24px rgba(10,42,82,.22), inset 0 1px 0 rgba(255,255,255,.34);
}
.nav-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.nav-link,.btn,.chip{
  border:1px solid rgba(18,54,98,.10);
  background:rgba(255,255,255,.82);
  color:var(--title);
  border-radius:999px;
  padding:11px 16px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
  box-shadow:0 6px 18px rgba(17,55,108,.07);
}
.nav-link:hover,.btn:hover,.chip:hover,.region-link:hover{transform:translateY(-2px)}
.nav-link:hover{background:rgba(255,255,255,.97);border-color:rgba(18,54,98,.16);box-shadow:0 10px 26px rgba(17,55,108,.11)}
.btn{
  background:linear-gradient(145deg,#0f2e5b 0%, #176cc9 46%, #6ce7ff 100%);
  color:#fff;font-weight:900;border-color:transparent;
  box-shadow:0 16px 34px rgba(15,46,91,.22), 0 10px 24px rgba(23,108,201,.18), inset 0 1px 0 rgba(255,255,255,.22);
}
.btn:hover{box-shadow:0 20px 40px rgba(15,46,91,.24), 0 14px 28px rgba(23,108,201,.18), inset 0 1px 0 rgba(255,255,255,.26)}
.hero{padding:34px 0 16px}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:22px;align-items:stretch}
.glass{
  position:relative;
  background:linear-gradient(180deg, rgba(255,255,255,.89), rgba(255,255,255,.74));
  border:1px solid rgba(18,54,98,.09);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.glass::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.30), transparent 18%);
}
.glass::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at top right, rgba(108,231,255,.14), transparent 24%);
}
.hero-copy{padding:36px 36px 32px}
.hero-copy > *{position:relative;z-index:1}
.hero-copy p,.card p,.faq p,.notice{max-width:62ch}
.kicker{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;
  background:linear-gradient(135deg, rgba(15,46,91,.06), rgba(108,231,255,.12));
  border:1px solid rgba(18,54,98,.10);font-size:.95rem;margin-bottom:18px;color:#1a4a87;font-weight:900;
  box-shadow:0 10px 24px rgba(25,74,135,.06);
}
h1,h2,h3{line-height:1.12;margin:0 0 14px;position:relative;color:var(--title)}
h1{font-size:clamp(2.4rem, 5vw, 4.3rem);font-weight:980;letter-spacing:-.06em;text-shadow:0 1px 0 rgba(255,255,255,.8)}
h2{font-size:clamp(1.48rem, 2.4vw, 2.25rem);font-weight:940;letter-spacing:-.03em}
h3{font-size:clamp(1.08rem, 1.7vw, 1.36rem);font-weight:920;letter-spacing:-.02em}
.lead{font-size:1.08rem;color:var(--text-soft)}
.accent{
  background:linear-gradient(145deg,#0d2951 0%, #1670cb 48%, #19c6ff 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}
.info-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.info-pill{
  padding:16px 16px;border-radius:22px;background:rgba(255,255,255,.88);
  border:1px solid rgba(18,54,98,.08);box-shadow:0 10px 24px rgba(17,55,108,.06);
}
.info-pill strong{display:block;font-size:1.02rem;margin-bottom:4px;color:#174f93}
.info-pill span{color:var(--text)}
.hero-media{padding:18px;display:grid;gap:16px;align-content:start}
.media-box{
  position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(18,54,98,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.82));
  min-height:250px;box-shadow:var(--shadow-strong)
}
.media-box::before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 24%, rgba(255,255,255,.03)),
    radial-gradient(circle at top right, rgba(108,231,255,.12), transparent 26%),
    radial-gradient(circle at bottom left, rgba(17,55,108,.10), transparent 30%);
  pointer-events:none;z-index:1
}
.media-box img{position:relative;z-index:0;width:100%;height:100%;object-fit:contain;padding:18px;background:linear-gradient(135deg, rgba(12,37,73,.04), rgba(108,231,255,.08))}
.media-caption{
  position:absolute;left:14px;right:14px;bottom:14px;z-index:2;padding:12px 14px;background:rgba(255,255,255,.92);
  border:1px solid rgba(18,54,98,.10);border-radius:16px;font-weight:900;color:#10335f;backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(16,51,95,.10)
}
.section{padding:18px 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.card{padding:28px}
.card p:last-child{margin-bottom:0}
.emoji-title{display:flex;align-items:flex-start;gap:12px}
.emoji-title span:first-child{font-size:1.34rem;line-height:1.1;flex:0 0 auto;filter:drop-shadow(0 4px 10px rgba(23,108,201,.15))}
.highlight-box{
  position:relative;isolation:isolate;padding:30px;
  background:linear-gradient(145deg, rgba(255,255,255,.95), rgba(240,249,255,.92));
  border:1px solid rgba(18,54,98,.09);border-radius:30px;box-shadow:var(--shadow-strong)
}
.highlight-box::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg, rgba(13,41,81,.02), transparent 18%, transparent 82%, rgba(108,231,255,.06));
}
.highlight-box::after{content:"";position:absolute;inset:auto 24px 20px auto;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(108,231,255,.14), rgba(108,231,255,0) 68%);pointer-events:none}
.region-links{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:14px}
.region-link{
  position:relative;overflow:hidden;padding:18px;border-radius:24px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between;
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(245,251,255,.90));
  border:1px solid rgba(18,54,98,.10);box-shadow:0 14px 28px rgba(17,55,108,.09);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.region-link::after{
  content:"";position:absolute;inset:auto -12% -35% auto;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle, rgba(108,231,255,.20), rgba(108,231,255,0) 68%);pointer-events:none
}
.region-link:nth-child(odd){background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,248,255,.90))}
.region-link:nth-child(even){background:linear-gradient(180deg, rgba(247,252,255,.98), rgba(236,247,255,.90))}
.region-link::before{content:"↗";position:absolute;right:16px;top:12px;font-size:1.12rem;font-weight:900;color:#0f64c2}
.region-link strong{display:block;font-size:1.12rem;margin-bottom:8px;color:var(--title)}
.region-link small{color:var(--text-soft);max-width:14ch;line-height:1.45}
.region-link:hover{box-shadow:0 20px 38px rgba(17,55,108,.12);border-color:rgba(18,54,98,.18)}
.table-like{display:grid;gap:12px}
.table-like .row{display:grid;grid-template-columns:124px 1fr;gap:16px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.90);border:1px solid rgba(18,54,98,.08)}
.table-like .row strong{color:#114d91}
.faq details{padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.88);border:1px solid rgba(18,54,98,.08)}
.faq details+details{margin-top:12px}
.faq summary{cursor:pointer;font-weight:900;list-style:none;color:var(--title)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';float:right;color:#0f66c6}
.faq details[open] summary::after{content:'−'}
.notice{font-size:.98rem;color:var(--text-soft)}
.footer{padding:26px 0 92px;color:var(--text)}
.footer-grid{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.badges{display:flex;flex-wrap:wrap;gap:10px}
.chip{font-weight:800;background:rgba(255,255,255,.92)}
hr.sep{border:none;border-top:1px solid rgba(18,54,98,.10);margin:12px 0 8px}
.floating-call{
  position:fixed;right:18px;bottom:18px;z-index:35;display:grid;grid-template-columns:auto 1fr;gap:4px 10px;align-items:center;
  min-width:min(320px, calc(100vw - 28px));padding:14px 16px;border-radius:22px;
  background:linear-gradient(145deg, rgba(12,37,73,.96), rgba(22,112,203,.96) 58%, rgba(108,231,255,.96));
  color:#fff;border:1px solid rgba(255,255,255,.62);
  box-shadow:0 22px 40px rgba(15,46,91,.22), 0 10px 22px rgba(22,112,203,.18), inset 0 1px 0 rgba(255,255,255,.18);
}
.floating-call::before{
  content:"";position:absolute;inset:1px;border-radius:21px;pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.10), transparent 36%);
}
.floating-call span{grid-row:1 / span 2;font-size:1.35rem}
.floating-call b{font-size:1rem;line-height:1.1}
.floating-call small{opacity:.96;font-weight:700}

.neon-scene,.neon-grid,.neon-particles{position:fixed;inset:0;pointer-events:none;z-index:0}
.neon-scene{
  background:
    radial-gradient(circle at 15% 18%, rgba(108,231,255,.18), transparent 20%),
    radial-gradient(circle at 84% 16%, rgba(33,166,255,.15), transparent 18%),
    linear-gradient(115deg, rgba(255,255,255,0) 20%, rgba(255,255,255,.18) 44%, rgba(255,255,255,0) 62%),
    linear-gradient(180deg, transparent 0%, rgba(255,255,255,.06) 100%);
  mix-blend-mode:screen;
}
.neon-grid{
  opacity:.36;
  background-image:
    linear-gradient(rgba(16,51,95,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,51,95,.05) 1px, transparent 1px),
    linear-gradient(120deg, rgba(108,231,255,.09), transparent 30%, transparent 70%, rgba(17,55,108,.06));
  background-size: 38px 38px, 38px 38px, 100% 100%;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.16), rgba(0,0,0,.04) 28%, transparent 75%);
}
.neon-particles i{
  position:absolute;display:block;border-radius:999px;
  background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.95), rgba(108,231,255,.76) 44%, rgba(108,231,255,0) 76%);
  box-shadow:0 0 14px rgba(108,231,255,.18), 0 0 26px rgba(22,112,203,.10);
  animation:particleFloat linear infinite;opacity:.42;
}
@keyframes particleFloat{
  from{transform:translate3d(0,0,0) scale(.82);opacity:0}
  14%{opacity:.48}
  88%{opacity:.24}
  to{transform:translate3d(0,-120vh,0) scale(1.08);opacity:0}
}

.spark-title{padding-left:18px}
.spark-title::before{
  content:"";position:absolute;left:0;top:.12em;width:6px;height:1.02em;border-radius:999px;
  background:linear-gradient(180deg, #0f2d59, #19c6ff);box-shadow:0 0 12px rgba(25,198,255,.22)
}
.reveal-item{opacity:0;transform:translateY(16px) scale(.985);transition:opacity .6s ease, transform .6s ease}
.reveal-item.in-view{opacity:1;transform:translateY(0) scale(1)}
.page-ready .hero-copy{animation:heroLift .8s ease both}
.page-ready .hero-media{animation:heroLift .95s ease both}
@keyframes heroLift{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:980px){
  .hero-grid,.grid-3,.grid-2{grid-template-columns:1fr}
  .region-links{grid-template-columns:repeat(2,1fr)}
  .info-row{grid-template-columns:1fr}
}
@media (max-width:720px){
  .nav{align-items:flex-start;flex-direction:column}
  .nav-links{justify-content:flex-start}
  .hero{padding-top:16px}
  .hero-grid,.grid-3,.grid-2,.region-links,.footer-grid{grid-template-columns:1fr}
  .hero-copy,.card,.hero-media{padding:20px}
  .table-like .row{grid-template-columns:1fr;gap:8px}
  .media-box{min-height:220px}
  .media-box img{padding:14px}
  h1{font-size:clamp(2rem, 11vw, 3rem)}
  .floating-call{left:14px;right:14px;bottom:14px;min-width:auto}
}
