:root{--bg:#F3F5F8;--surface:#fff;--ink:#101828;--soft:#475467;--muted:#8B95A5;--line:#E6EAF0;--brand:#0B64C9;--brand-deep:#0A4C9A;--brand-soft:#EBF3FD;--navy:#0C2340;--navy-2:#223A5B;--amber:#B25E09;--amber-soft:#FFF5E6;--green:#08875B;--green-soft:#E7F6EF}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",system-ui,sans-serif;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
a{color:var(--brand-deep)}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
h1,h2,h3{letter-spacing:-.02em;line-height:1.2;margin:0}
h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:14px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;border-radius:14px;padding:14px 20px;border:0;font-size:16px;cursor:pointer;font-family:inherit;transition:transform .15s,background .15s}
.btn:hover{background:var(--brand-deep);transform:translateY(-1px)}
.btn-sm{padding:9px 14px;font-size:14px;border-radius:11px}
.btn-ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{background:#fff;border-color:#cfd6e0}
.arrow{font-weight:700;text-decoration:none}
.arrow:after{content:" →"}
.muted{color:var(--muted)}.small{font-size:14px}
.fine{color:var(--muted);font-size:13px;line-height:1.6}

/* header */
.top{position:sticky;top:0;z-index:10;background:rgba(243,245,248,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent}
.top-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}
.brand img{border-radius:8px}
.nav{display:flex;align-items:center;gap:18px}
.nav a{color:var(--soft);text-decoration:none;font-size:15px;font-weight:600}
.nav a:hover{color:var(--ink)}
.nav .btn{color:#fff}
@media (max-width:720px){.nav a:not(.btn):not(.lang){display:none}.nav{gap:12px}}

/* hero */
.hero{padding:56px 0 72px;background:radial-gradient(900px 420px at 85% 10%,#dbe9fb 0,rgba(219,233,251,0) 70%),var(--bg)}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.eyebrow{color:var(--brand-deep);font-weight:700;font-size:14px;margin:0 0 14px;letter-spacing:.01em}
.hero h1{font-size:clamp(36px,5.6vw,60px);font-weight:800;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--brand);background:linear-gradient(transparent 70%,var(--brand-soft) 70%)}
.lead{font-size:clamp(17px,1.8vw,19px);color:var(--soft);margin:18px 0 26px;max-width:36em}
.ctas{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.soon{color:var(--muted);font-size:14px;margin-left:6px}
.proof{list-style:none;padding:0;margin:28px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--soft);font-size:14px;font-weight:600}
.proof li:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle}
@media (max-width:900px){.hero-in{grid-template-columns:1fr;gap:40px}.hero{padding:36px 0 56px}}

/* status card mock */
.phone-card{max-width:400px;margin:0 auto;background:var(--bg);border-radius:34px;padding:14px;box-shadow:0 40px 80px -30px rgba(12,35,64,.45),0 0 0 1px rgba(16,24,40,.06);transform:rotate(-1.5deg)}
.sc{background:var(--navy);color:#fff;border-radius:24px;padding:22px 22px 18px}
.pill{display:inline-block;background:var(--navy-2);border-radius:9px;padding:5px 11px;font-size:13px;font-weight:700}
.sc-label{margin-top:18px;color:#c7d2e2;font-size:15px}
.sc-big{display:flex;align-items:baseline;gap:6px;margin:2px 0 14px}
.sc-big .num{font-size:76px;font-weight:800;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.sc-big .unit{font-size:24px;font-weight:700}
.bar{height:7px;border-radius:9px;background:var(--navy-2);overflow:hidden}
.bar i{display:block;height:100%;width:62%;background:#fff;border-radius:9px;animation:grow 1.4s ease-out both}
@keyframes grow{from{width:0}}
.sc-next{margin-top:16px;background:var(--navy-2);border-radius:16px;padding:14px 16px;display:grid;gap:3px}
.sc-next small{color:#aebbd0;font-size:13px}.sc-next b{font-size:16px}.sc-next span{color:#c7d2e2;font-size:13px}
.rows{background:#fff;border-radius:20px;margin-top:10px}
.row{display:flex;justify-content:space-between;padding:16px 20px;font-weight:700}
.row+.row{border-top:1px solid var(--line)}
.row span{color:var(--ink)}.row b{font-size:20px}
@media (prefers-reduced-motion:reduce){.bar i{animation:none}.phone-card{transform:none}}

/* sections */
section{padding:72px 0}
.explain{background:var(--surface)}
.explain p{font-size:17px;color:var(--soft)}
.explain strong{color:var(--ink)}
.docs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0}
.doc{border-radius:18px;padding:18px;display:grid;gap:2px;border:1px solid var(--line)}
.doc small{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--muted)}
.doc b{font-size:15px}.doc span{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.doc em{font-style:normal;font-size:14px;font-weight:700}
.doc-visa{background:var(--bg)}.doc-visa em{color:var(--muted)}
.doc-i94{background:var(--brand-soft);border-color:#CADDF6}.doc-i94 em{color:var(--brand-deep)}
@media (max-width:520px){.docs{grid-template-columns:1fr}}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:24px}
.feat svg{color:var(--brand);background:var(--brand-soft);border-radius:12px;padding:9px;width:42px;height:42px}
.feat h3{font-size:18px;margin:16px 0 6px}
.feat p{margin:0;color:var(--soft);font-size:15px}
@media (max-width:900px){.feat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.feat-grid{grid-template-columns:1fr}}
.shots{background:var(--navy);color:#fff}
.shots h2{color:#fff}
.shot-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.shot-row figure{margin:0;text-align:center}
.shot-row img{border-radius:26px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);background:#fff}
.shot-row figcaption{margin-top:12px;color:#c7d2e2;font-weight:600;font-size:15px}
@media (max-width:760px){.shot-row{grid-template-columns:repeat(3,72%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.shot-row figure{scroll-snap-align:center}}
.sub{color:var(--soft);font-size:17px;margin:0 0 24px;max-width:40em}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin:12px 0 24px}
.vcard{display:grid;gap:4px;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.vcard:hover{border-color:#CADDF6;transform:translateY(-2px)}
.vcard .code{justify-self:start;background:var(--brand-soft);color:var(--brand-deep);font-weight:800;font-size:13px;padding:3px 9px;border-radius:8px}
.vcard b{font-size:16px;line-height:1.35;margin-top:6px}
.vcard span:last-child{color:var(--soft);font-size:14px;line-height:1.5}
.faq{background:var(--surface)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";color:var(--brand);font-size:22px;line-height:1}
.faq details[open] summary:after{content:"–"}
.faq details p{color:var(--soft);margin:10px 0 0}
.final{background:linear-gradient(135deg,var(--navy),#123761);color:#fff;text-align:center}
.final h2{color:#fff;font-size:clamp(30px,4.4vw,46px)}
.final p{color:#c7d2e2;font-size:18px;margin:10px 0 26px}
.final .ctas{justify-content:center}
.final .soon{color:#aebbd0}
.foot{padding:40px 0 56px;border-top:1px solid var(--line)}
.foot-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.foot nav{display:flex;flex-wrap:wrap;gap:16px}
.foot nav a{color:var(--soft);text-decoration:none;font-size:14px}

/* visa pages */
.vpage{padding:28px 0 64px}
.vpage h1{font-size:clamp(32px,4.6vw,46px);font-weight:800;margin-top:10px}
.vpage h2{font-size:22px;margin:0 0 10px}
.crumbs{font-size:14px;color:var(--muted)}
.crumbs a{color:var(--soft);text-decoration:none}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.tag{background:#E9EDF2;color:var(--soft);font-weight:700;font-size:13px;border-radius:9px;padding:4px 10px}
.tag-b{background:var(--brand-soft);color:var(--brand-deep)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 6px}
.stats div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid}
.stats small{color:var(--muted);font-size:13px}.stats b{font-size:20px;letter-spacing:-.02em}
@media (max-width:560px){.stats{grid-template-columns:1fr}}
.verified{font-size:13px;color:var(--green);font-weight:700}
.vs{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 22px 16px;margin:14px 0}
.vs p,.vs li{color:var(--soft)}
.vs ul{padding-left:20px;margin:0 0 6px}
.vs li{margin:6px 0}
.checks{list-style:none;padding:0!important}
.checks li{position:relative;padding-left:28px}
.checks li:before{content:"";position:absolute;left:0;top:5px;width:16px;height:16px;border-radius:50%;background:var(--brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%230B64C9' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.warn li::marker{color:var(--amber)}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th{text-align:left;color:var(--muted);font-weight:600;font-size:13px;border-bottom:1px solid var(--line);padding:8px 8px 8px 0}
td{border-bottom:1px solid var(--line);padding:12px 8px 12px 0;vertical-align:top}
td.num{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
td .note{color:var(--muted);font-size:13px;margin-top:4px}
.flux{background:var(--amber-soft);border:1px solid #F6D9A8;border-radius:14px;padding:12px 14px;margin:10px 0}
.flux b{color:var(--amber)}.flux p{margin:4px 0 0;font-size:14px}
.srcs{list-style:none;padding:0!important}
.srcs li{font-size:14px}.srcs span{color:var(--muted)}
.vcta{background:var(--navy);color:#fff;border-radius:22px;padding:26px;margin:22px 0}
.vcta h2{color:#fff}.vcta p{color:#c7d2e2}
.vcta .btn-ghost{background:transparent;color:#fff;border-color:#3a5274}
.vcta .soon{color:#aebbd0}

/* tracker */
.tracker{padding:40px 0 64px}
.tracker h1{font-size:clamp(32px,4.6vw,46px);font-weight:800}
.add{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;margin-top:8px}
.add label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--soft)}
.add .wide{grid-column:1/3}
.add select,.add input{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:100%;min-width:0}
.add .btn{grid-row:1/3;grid-column:3;align-self:stretch;justify-content:center}
@media (max-width:600px){.add{grid-template-columns:1fr}.add .wide{grid-column:auto}.add .btn{grid-row:auto;grid-column:auto}}
.tlist{list-style:none;padding:0;margin:22px 0}
.titem{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px 18px;margin-bottom:10px}
.days{min-width:92px;text-align:center;border-radius:14px;padding:10px 8px;font-weight:800;line-height:1.1}
.days b{display:block;font-size:28px;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.days small{font-size:12px}
.calm{background:var(--green-soft);color:var(--green)}.soonx{background:var(--amber-soft);color:var(--amber)}.past{background:#F2F4F7;color:#667085}
.tmeta b{display:block;font-size:16px}.tmeta span{color:var(--muted);font-size:14px}
.tact{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tact button{font:inherit;font-size:13px;font-weight:700;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:7px 10px;cursor:pointer;color:var(--soft)}
@media (max-width:560px){.titem{grid-template-columns:auto 1fr}.tact{grid-column:1/3;justify-content:flex-start}}
.empty{color:var(--muted);text-align:center;padding:30px;border:1px dashed var(--line);border-radius:18px}
.stats .sl{color:var(--muted);font-size:12px;line-height:1.4;margin-top:2px}

/* tracker v2 (2026-10-23): next ring · timeline · calendar · motion */
.tk{padding:36px 0 72px}
.tk h1{font-size:clamp(32px,4.6vw,48px);font-weight:800}
.tk .lead{margin-bottom:28px}
.tk-in{opacity:0;transform:translateY(18px);transition:opacity .6s ease calc(var(--d,0)*90ms),transform .7s cubic-bezier(.2,.8,.2,1) calc(var(--d,0)*90ms)}
.tk-in.on{opacity:1;transform:none}
.tk-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}
.tk-col{display:grid;gap:16px}
.tk-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:22px}
.tk-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:800;font-size:15px;color:var(--soft);margin-bottom:14px}
.tk-next{background:linear-gradient(160deg,var(--navy),#123A6B);color:#fff;border-radius:24px;padding:22px;transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1),background .6s}
.tk-next .tk-h{color:#C7D2E2}
.tk-ring{position:relative;width:200px;aspect-ratio:1;margin:6px auto 14px}
.tk-ring:before{content:"";position:absolute;inset:10%;border-radius:50%;box-shadow:0 0 50px 4px rgba(90,162,240,.25)}
.tk-next.red .tk-ring:before{box-shadow:0 0 50px 4px rgba(240,68,56,.3)}.tk-next.amb .tk-ring:before{box-shadow:0 0 50px 4px rgba(245,165,36,.3)}
.tk-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.tk-ring circle{fill:none;stroke-width:9}
.tk-ring .t{stroke:rgba(255,255,255,.12)}
.tk-ring .a{stroke:#5AA2F0;stroke-linecap:round;stroke-dasharray:327;stroke-dashoffset:327;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.8,.2,1),stroke .6s}
.tk-next.red .tk-ring .a{stroke:#FDA29B}.tk-next.amb .tk-ring .a{stroke:#F5A524}
.tk-ring>div{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.tk-ring b{font-size:60px;font-weight:900;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.tk-ring span{font-size:13px;color:#C7D2E2;font-weight:600;margin-top:4px}
.tk-nmeta{text-align:center;display:grid;gap:2px;min-height:44px}
.tk-nmeta b{font-size:17px}.tk-nmeta span{color:#C7D2E2;font-size:14px}
.tk-add{display:grid;gap:12px}
.tk-add label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--soft)}
.tk-add select,.tk-add input{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:11px 12px;width:100%;min-width:0;transition:border-color .2s,box-shadow .2s}
.tk-add select:focus,.tk-add input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.tk-add .btn{justify-content:center}
.btn:active{transform:scale(.97)}
.tk-link{font:inherit;font-size:13px;font-weight:700;color:var(--muted);background:none;border:0;cursor:pointer}
.tk-link:hover{color:var(--ink)}
.tk-tl{list-style:none;margin:0;padding:0 0 0 2px;position:relative}
.tk-tl:before{content:"";position:absolute;left:10px;top:14px;bottom:14px;width:2px;background:var(--line)}
.tk-tl .row{position:relative;display:grid;grid-template-columns:22px 1fr auto auto;gap:12px;align-items:center;padding:10px 8px 10px 0;border-radius:14px;animation:rowin .5s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*60ms);transition:background .3s,opacity .3s,transform .3s}
@keyframes rowin{from{opacity:0;transform:translateX(-14px)}}
.tk-tl .row:hover{background:var(--bg)}
.tk-tl .dot{width:18px;height:18px;border-radius:50%;background:var(--surface);border:3px solid var(--brand);position:relative;z-index:1;margin-left:2px}
.tk-tl .red .dot{border-color:#D92D20;background:#D92D20}.tk-tl .amb .dot{border-color:#F5A524}.tk-tl .gone .dot{border-color:#D0D5DD}
.tk-tl .meta b{display:block;font-size:15px}.tk-tl .meta span{color:var(--muted);font-size:13px}
.tk-tl em{font-style:normal;font-weight:800;font-size:13px;border-radius:9px;padding:4px 9px;background:var(--brand-soft);color:var(--brand-deep);white-space:nowrap}
.tk-tl .red em{background:#FEF3F2;color:#B42318}.tk-tl .amb em{background:var(--amber-soft);color:var(--amber)}.tk-tl .gone em{background:#F2F4F7;color:#667085}
.tk-tl .gone .meta{opacity:.6}
.tk-tl .acts{display:flex;gap:4px}
.tk-tl .acts button{display:grid;place-content:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--soft);cursor:pointer;transition:background .2s,color .2s,transform .15s}
.tk-tl .acts button:hover{background:var(--brand-soft);color:var(--brand)}
.tk-tl .acts button:active{transform:scale(.9)}
.tk-tl .gap{padding:0 0 0 34px;font-size:12px;font-weight:700;color:var(--muted);animation:rowin .5s both;animation-delay:calc(var(--i)*60ms)}
.tk-tl .row.fresh{animation:rowin .5s cubic-bezier(.2,.8,.2,1) both,flash 1.6s ease .3s}
.tk-tl .row.flash{animation:flash 1.4s ease}
@keyframes flash{0%,100%{background:transparent}25%{background:var(--brand-soft)}}
.tk-tl .row.out{opacity:0;transform:translateX(24px) scale(.98)}
.tk-empty{text-align:center;padding:26px 10px;border:1.5px dashed var(--line);border-radius:18px;color:var(--muted)}
.tk-empty[hidden]{display:none}
.tk-empty p{margin:0 0 12px}
.tk-mnav{display:flex;align-items:center;gap:6px;color:var(--ink)}
.tk-mnav b{min-width:9ch;text-align:center;font-size:15px}
.tk-mnav button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:18px;line-height:1;cursor:pointer;color:var(--soft);transition:background .2s,transform .15s}
.tk-mnav button:hover{background:var(--bg)}.tk-mnav button:active{transform:scale(.9)}
.tk-cal{overflow:hidden}
.tk-cal .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.tk-cal .slide-l{animation:sl .35s cubic-bezier(.2,.8,.2,1)}.tk-cal .slide-r{animation:sr .35s cubic-bezier(.2,.8,.2,1)}
@keyframes sl{from{opacity:0;transform:translateX(30px)}}@keyframes sr{from{opacity:0;transform:translateX(-30px)}}
.tk-cal .dw{font-size:11px;color:var(--muted);font-weight:700;padding-bottom:4px}
.tk-cal .d{font:inherit;font-size:13px;font-weight:600;height:36px;border-radius:10px;border:0;background:none;color:#344054;cursor:default;position:relative}
.tk-cal .d.o{color:#D0D5DD}
.tk-cal .d.now{box-shadow:inset 0 0 0 2px var(--brand);color:var(--brand);font-weight:800}
.tk-cal .d.ev{cursor:pointer;color:#fff;font-weight:800;animation:pop .45s cubic-bezier(.2,1.4,.4,1) both;animation-delay:calc(var(--k)*70ms + 150ms)}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.tk-cal .d.ev.ok{background:var(--brand)}.tk-cal .d.ev.amb{background:#F5A524}.tk-cal .d.ev.red{background:#D92D20}.tk-cal .d.ev.gone{background:#D0D5DD;color:#475467}
.tk-cal .d.ev:hover{transform:translateY(-2px)}
@media (max-width:860px){.tk-grid{grid-template-columns:1fr}.tk-ring{width:170px}.tk-ring b{font-size:50px}}
@media (max-width:480px){.tk-tl .row{grid-template-columns:22px 1fr auto;row-gap:6px}.tk-tl .acts{grid-column:2/4}}
@media (prefers-reduced-motion:reduce){.tk-in,.tk-tl .row,.tk-tl .gap,.tk-cal .d.ev,.tk-cal .grid{animation:none!important;transition:none!important;opacity:1;transform:none}}
