:root{
  --ink:#0B1B3A;
  --blue:#1A6EFF;
  --blue-deep:#0F4FCC;
  --paper:#F4F7FD;
  --line:#E2E8F5;
  --gray:#5A6478;
  --amber:#FFB020;
  --radius:14px;
  --shadow:0 24px 60px -20px rgba(11,27,58,.28);
  --font:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,system-ui,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  color:var(--ink);
  background:#fff;
  line-height:1.62;
  word-break:keep-all;
  overflow-wrap:break-word;
  font-feature-settings:'tnum';
}
html[lang="en"] body{word-break:normal}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit;color:inherit}
fieldset{border:0;margin:0;padding:0;min-inline-size:auto}
table{border-collapse:collapse}
a{color:inherit}

.wrap{width:min(1140px,100% - 40px);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:#fff;color:var(--ink);padding:12px 18px;border-radius:0 0 10px 0;font-weight:700;
}
.skip:focus{left:0}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:2px;border-radius:4px}

/* Header */
.topbar{
  position:sticky;top:0;z-index:60;
  background:rgba(11,27,58,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:58px;gap:12px}
.brand{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.03em}
.brand span{color:var(--blue)}
.topnav{display:flex;align-items:center;gap:10px}
.langtoggle{
  display:flex;gap:2px;padding:3px;border-radius:999px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);
}
.langtoggle button{
  background:none;border:0;color:#A8BCDD;font-size:12.5px;font-weight:700;
  padding:5px 11px;border-radius:999px;cursor:pointer;letter-spacing:.02em;
  transition:color .16s ease,background .16s ease;
}
.langtoggle button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.langtoggle button:hover{color:#fff}
.langtoggle button[aria-pressed="true"]:hover{color:var(--ink)}
.btn-mini{
  background:var(--blue);color:#fff;border:0;border-radius:999px;
  padding:9px 18px;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;
  transition:background .18s ease;
}
.btn-mini:hover{background:var(--blue-deep)}

/* Hero */
.hero{
  position:relative;color:#fff;padding:54px 0 66px;overflow:hidden;
  background:
    radial-gradient(900px 520px at 12% -10%, rgba(26,110,255,.42), transparent 62%),
    radial-gradient(700px 460px at 88% 8%, rgba(26,110,255,.18), transparent 60%),
    var(--ink);
}
.hero-grid{display:grid;grid-template-columns:1fr 430px;gap:56px;align-items:start}
.hero-left{display:flex;flex-direction:column;height:100%}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:700;letter-spacing:.06em;color:#9CC0FF;
  text-transform:uppercase;margin-bottom:20px;
}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--blue);border-radius:2px}
h1{font-size:clamp(31px,4.3vw,50px);line-height:1.2;letter-spacing:-.038em;font-weight:800}
html[lang="en"] h1{font-size:clamp(31px,4.1vw,47px)}
.hl{background:linear-gradient(180deg,transparent 68%,rgba(26,110,255,.55) 68%);padding:0 2px}
.lead{margin-top:20px;font-size:17px;color:#C7D4EC;max-width:540px;line-height:1.68}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:30px}
.fact{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:12px;padding:13px 16px;
}
.fact dt{font-size:12px;color:#9CC0FF;font-weight:600;letter-spacing:.02em}
.fact dd{font-size:18px;font-weight:800;margin-top:5px;letter-spacing:-.02em}
html[lang="en"] .fact dd{font-size:16.5px}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.badge{
  display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;
  background:rgba(255,176,32,.14);border:1px solid rgba(255,176,32,.4);
  color:#FFD07A;font-size:13px;font-weight:700;
}
.badge .dot{width:7px;height:7px;border-radius:50%;background:var(--amber);animation:pulse 1.8s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.assure{
  margin-top:auto;padding-top:26px;display:flex;gap:10px;flex-wrap:wrap;
  font-size:13.5px;color:#A8BCDD;font-weight:600;
}
.assure li{display:inline-flex;align-items:center;gap:7px}
.assure li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--blue)}

/* Form card */
.applycard{
  background:#fff;border-radius:18px;box-shadow:var(--shadow);
  color:var(--ink);overflow:hidden;position:sticky;top:78px;
}
.applycard-head{padding:22px 24px 0}
.applycard h2{font-size:19px;font-weight:800;letter-spacing:-.03em}
.applycard .sub{font-size:13.5px;color:var(--gray);margin-top:5px}
.steps{display:flex;gap:6px;margin-top:18px}
.steps i{flex:1;height:4px;border-radius:3px;background:var(--line);transition:background .3s ease}
.steps i.on{background:var(--blue)}
.stepmeta{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:12px;color:var(--gray);margin-top:9px;font-weight:600;
}
form{padding:18px 24px 24px}
.panel{display:none}
.panel.on{display:block;animation:fade .28s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.field{margin-bottom:15px}
.field label,.flabel{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
.req{color:var(--blue)}
.opt{color:var(--gray);font-weight:500;font-size:12px}
.field input[type=text],
.field input[type=email],
.field input[type=tel],
.field select{
  width:100%;padding:12px 13px;font-size:15px;background:#fff;
  border:1.5px solid var(--line);border-radius:10px;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.field input:focus,.field select:focus{
  outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,110,255,.14);
}
.hint{font-size:12px;color:var(--gray);margin-top:6px;line-height:1.5}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip span{
  display:block;padding:8px 13px;border:1.5px solid var(--line);border-radius:999px;
  font-size:13.5px;font-weight:600;cursor:pointer;user-select:none;transition:.15s ease;
}
.chip input:checked + span{background:rgba(26,110,255,.09);border-color:var(--blue);color:var(--blue-deep)}
.chip input:focus-visible + span{outline:2px solid var(--blue);outline-offset:2px}
.agree{display:flex;gap:10px;align-items:flex-start;margin-bottom:11px}
.agree input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue);flex:none}
.agree-text{font-size:13px;line-height:1.55;font-weight:500}
.agree label{font-size:inherit;line-height:inherit;font-weight:inherit}
.agree-text .linkbtn{margin-left:4px;white-space:nowrap}
.linkbtn{
  background:none;border:0;padding:0;color:var(--blue);font-weight:700;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;font-size:inherit;
}
.btnrow{display:flex;gap:9px;margin-top:6px}
.btn{
  border:0;border-radius:11px;padding:14px 18px;font-size:15px;font-weight:800;
  cursor:pointer;letter-spacing:-.02em;transition:background .16s ease;
}
.btn-primary{background:var(--blue);color:#fff;flex:1}
.btn-primary:hover{background:var(--blue-deep)}
.btn-primary:disabled{background:#A9BEDF;cursor:not-allowed}
.btn-ghost{background:var(--paper);color:var(--ink);padding-inline:20px}
.btn-ghost:hover{background:var(--line)}
.err{
  display:none;margin-bottom:13px;padding:11px 13px;border-radius:10px;
  background:#FEF1F1;border:1px solid #F6C9C9;color:#B02121;font-size:13px;font-weight:600;
}
.err.on{display:block}
.done{display:none;padding:44px 26px;text-align:center}
.done.on{display:block}
.done .mark{
  width:56px;height:56px;border-radius:50%;background:rgba(26,110,255,.1);color:var(--blue);
  display:grid;place-items:center;margin:0 auto 16px;font-size:27px;font-weight:800;
}
.done h2{font-size:20px;font-weight:800;letter-spacing:-.03em}
.done p{font-size:14.5px;color:var(--gray);margin-top:10px;line-height:1.65}
.is-hidden{display:none !important}

/* Sections */
.body{padding:76px 0}
.body.alt{background:var(--paper)}
.sec-label{
  font-size:12px;font-weight:800;letter-spacing:.09em;color:var(--blue);
  text-transform:uppercase;margin-bottom:12px;
}
.sec{font-size:clamp(24px,3vw,33px);font-weight:800;letter-spacing:-.035em;line-height:1.3}
.sec-sub{color:var(--gray);margin-top:12px;font-size:16px;max-width:660px}

.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:38px;counter-reset:step}
.flow li{
  background:var(--paper);border:1px solid transparent;border-radius:var(--radius);padding:22px;
}
.body.alt .flow li{background:#fff;border-color:var(--line)}
.flow li::before{
  counter-increment:step;content:counter(step,decimal-leading-zero);
  display:block;font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.06em;
}
.flow h3{font-size:16.5px;font-weight:800;margin:9px 0 8px;letter-spacing:-.025em}
.flow p{font-size:14px;color:var(--gray);line-height:1.62}

.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.card h3{font-size:17px;font-weight:800;letter-spacing:-.025em;margin-bottom:14px}
.list li{
  position:relative;padding-left:22px;margin-bottom:10px;
  font-size:14.5px;color:var(--gray);line-height:1.6;
}
.list li:last-child{margin-bottom:0}
.list li::before{
  content:'';position:absolute;left:0;top:9px;width:9px;height:9px;
  border-radius:3px;background:var(--blue);opacity:.85;
}
.list.no li::before{background:#C6CEDD}
.list li b{color:var(--ink);font-weight:700}

.pay{
  width:100%;margin-top:34px;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;
}
.pay th,.pay td{
  padding:15px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:14.5px;
}
.pay thead th{background:var(--ink);color:#fff;font-size:13px;font-weight:700}
.pay tbody tr:last-child th,.pay tbody tr:last-child td{border-bottom:0}
.pay tbody th{font-weight:700;white-space:nowrap;width:34%}
.pay td{color:var(--gray)}

.faq{margin-top:34px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{
  position:relative;padding:19px 40px 19px 0;list-style:none;cursor:pointer;
  font-size:16px;font-weight:700;letter-spacing:-.02em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:'+';position:absolute;right:6px;top:17px;
  font-size:21px;color:var(--blue);font-weight:600;
}
.faq details[open] summary::after{content:'−'}
.faq p{padding:0 0 20px;color:var(--gray);font-size:14.5px;line-height:1.68;max-width:780px}

/* Footer */
.site-footer{background:var(--ink);color:#8FA3C4;padding:48px 0 40px;font-size:13.5px}
.site-footer .brand{font-size:16px;margin-bottom:9px}
.foot-desc{max-width:520px}
.foot-links{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.foot-links a,.foot-links .linkbtn{color:#9CC0FF;text-decoration:none;font-weight:600}
.foot-links a:hover,.foot-links .linkbtn:hover{text-decoration:underline}
.biz{
  margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);
  font-style:normal;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;line-height:1.7;
}
.biz span{white-space:nowrap}
.biz b{color:#C7D4EC;font-weight:600}
.biz a{color:#9CC0FF;text-decoration:none}
.biz a:hover{text-decoration:underline}
.copy{margin-top:18px;font-size:12.5px;color:#6E82A4}

/* Modal */
.modal{
  position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;
  background:rgba(11,27,58,.6);
}
.modal[hidden]{display:none}
.modal-inner{
  background:#fff;border-radius:16px;max-width:620px;width:100%;
  max-height:82vh;overflow:auto;padding:30px;
}
.modal-inner h2{font-size:20px;font-weight:800;margin-bottom:14px;letter-spacing:-.03em}
.modal-inner h3{font-size:14px;font-weight:800;margin:18px 0 7px}
.modal-inner p,.modal-inner li{font-size:14px;color:var(--gray);line-height:1.68}
.modal-inner ul{padding-left:18px;list-style:disc}
.modal-inner .btn{margin-top:22px;width:100%}

.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);
}
.sticky-cta .btn{width:100%}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .applycard{position:static}
  .flow{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr}
}
@media (max-width:600px){
  .hero{padding:36px 0 44px}
  .hero-grid{gap:28px}
  .body{padding:56px 0}
  .flow{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr;gap:9px}
  .fact:last-child{grid-column:1 / -1}
  .fact dd{font-size:17px}
  .assure{padding-top:22px;gap:8px;font-size:13px}
  .btn-mini{display:none}
  .sticky-cta{display:block}
  body{padding-bottom:74px}
  .pay th,.pay td{padding:13px 14px;font-size:14px}
  .pay tbody th{width:38%;white-space:normal}
  .biz{gap:4px 14px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
