:root{
  --bg:#ffffff;
  --text:#0b1220;
  --muted:#5b6475;
  --line:#e7eaf0;
  --brand:#f47a20;
  --brand2:#47b7c8;
  --card:#ffffff;
  --shadow: 0 10px 30px rgba(16,24,40,.08);
  --radius:16px;
  --max:1320px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
a:hover{color:var(--brand)}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}

.top-ann{
  font-size:13px;color:#0b1220;
  background: linear-gradient(90deg, rgba(71,183,200,.10), rgba(244,122,32,.10));
  border-bottom:1px solid var(--line);
}
.top-ann .inner{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:6px 0}
.top-ann .pill{padding:3px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);color:#111827;font-weight:700}

.header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.header .inner{display:flex;align-items:center;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand-mark{
  width:32px;height:32px;border-radius:11px;
  background:linear-gradient(135deg,var(--brand2),#77c985);
  display:inline-block;
}
.brand-copy{font-size:16px;letter-spacing:-.02em}

.nav{display:flex;gap:12px;flex:1;align-items:center;justify-content:center}
.nav a{font-size:13px;color:#1f2937;padding:9px 12px;border-radius:999px}
.nav a.active{background:#eef2f7;color:#374151}

.actions{display:flex;align-items:center;gap:10px}
.btn, .btn-ghost{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:40px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:700;
  border:1px solid transparent;cursor:pointer;background:transparent;
}
.btn{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn:hover{filter:brightness(.98)}
.btn-ghost{border-color:var(--line);color:#111827;background:#fff}
.btn-ghost:hover{border-color:#d6dbe5}

.bleed{
  width:100%;
  padding:20px 0 18px;
  background:#f7f9fc;
}

.hero{
  margin:0;
  border-radius:22px;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.93) 34%, rgba(255,255,255,.58) 58%, rgba(255,255,255,.14) 100%),
    url('/assets/hero-thailand-visa.png') center right/cover no-repeat;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
}
.hero-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:0}
.hero-copy{padding:42px 34px}
.hero h1{
  margin:0;
  max-width:none;
  font-size:28px;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.4px
}
.hero p{margin:0 0 18px;color:#334155;max-width:46ch;font-size:16px;line-height:1.6}

.searchbox{
  background:#fff;border:1px solid var(--line);border-radius:18px;
  padding:12px;box-shadow: 0 10px 18px rgba(2,6,23,.06);
  max-width:640px;
}
.searchrow{
  display:grid;grid-template-columns: 1.35fr 1fr 1fr;
  gap:10px;align-items:center;
}
.inp{
  min-height:60px;border:1px solid var(--line);border-radius:10px;
  padding:10px 12px;font-size:14px;outline:none;background:#fff;color:#111827;
}
.info-box{display:flex;flex-direction:column;justify-content:center;gap:4px}
.info-box strong{font-size:13px;line-height:1.15}
.info-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.info-box span:last-child{color:var(--muted);font-size:12px;line-height:1.35}
.searchbtn{
  height:44px;
  min-width:116px;
  border-radius:12px;
  padding:0 16px;
  font-size:14px;
  margin-top:12px;
}

.trust{
  display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding:0
}
.trust .item{display:flex;gap:8px;align-items:center;color:#475569;font-size:13px}
.trust .item + .item::before{
  content:"+";
  margin-right:10px;
  color:#94a3b8;
}

.hero-right{
  position:relative;
  min-height:320px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:18px 22px 32px 6px;
}
.app-preview{
  position:relative;
  width:100%;
  min-height:100%;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
}
.simple-preview{
  justify-content:flex-start;
}
.app-phone{
  width:300px;
  border-radius:28px;
  padding:10px;
  background:#0f172a;
  box-shadow:0 24px 48px rgba(15,23,42,.28);
}
.app-notch{
  width:66px;
  height:18px;
  border-radius:999px;
  background:#020617;
  margin:0 auto 8px;
}
.app-screen{
  overflow:hidden;
  border-radius:22px;
  background:#ffffff;
}
.app-topbar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px 12px;
  background:linear-gradient(135deg, #2d63ff, #2448db);
}
.app-pill{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.app-arrow{
  color:#fff;
  font-size:20px;
  font-weight:800;
}
.app-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px 10px;
  padding:16px 14px 10px;
}
.app-grid-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
  color:#0f172a;
}
.app-grid-item strong{
  font-size:11px;
  line-height:1.2;
}
.app-icon{
  position:relative;
  width:54px;
  height:54px;
  border-radius:50%;
  border:1px solid #93c5fd;
  background:linear-gradient(180deg, #eff6ff, #dbeafe);
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.6);
}
.app-icon.alt{
  border-color:#c4b5fd;
  background:linear-gradient(180deg, #faf5ff, #ede9fe);
}
.app-icon::before{
  content:"";
  position:absolute;
  inset:13px 15px 13px 17px;
  border-radius:4px;
  background:#2563eb;
  clip-path:polygon(0 0, 72% 0, 100% 28%, 100% 100%, 0 100%);
  opacity:.92;
}
.app-icon::after{
  content:"";
  position:absolute;
  right:16px;
  top:13px;
  width:8px;
  height:8px;
  background:#bfdbfe;
  clip-path:polygon(0 0, 100% 100%, 0 100%);
}
.app-icon.alt::before{
  inset:14px;
  border-radius:50%;
  background:#7c3aed;
  clip-path:none;
}
.app-icon.alt::after{
  content:"";
  position:absolute;
  left:20px;
  top:19px;
  width:14px;
  height:14px;
  border:2px solid #ede9fe;
  border-top:none;
  border-radius:0 0 8px 8px;
  background:transparent;
  box-shadow:-8px -2px 0 -6px #ede9fe, 8px -2px 0 -6px #ede9fe;
}
.app-cases-title{
  padding:10px 16px 8px;
  color:#0f172a;
  font-size:14px;
  font-weight:800;
}
.app-cases{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 14px;
}
.app-case-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:88px;
  padding:12px;
  border-radius:18px;
  border:1px solid #dbe4f0;
  background:#fff;
}
.app-case-card strong{
  font-size:12px;
  line-height:1.2;
  color:#0f172a;
}
.app-case-card span{
  font-size:11px;
  color:#2563eb;
  font-weight:700;
}
.app-searchbar{
  padding:14px;
}
.search-badge{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:2px solid #3b82f6;
  color:#64748b;
  font-size:12px;
  font-weight:700;
  background:#fff;
}
.app-bottom-nav{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:8px 10px 14px;
  color:#64748b;
  font-size:11px;
  font-weight:700;
  text-align:center;
}
.app-bottom-nav .active{
  color:#2563eb;
}
.plan-card{
  position:absolute;
  left:-18px;
  bottom:14px;
  width:250px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 18px 16px;
  box-shadow:0 18px 35px rgba(2,6,23,.14);
}
.plan-card h3{margin:0 0 10px;font-size:14px;font-weight:800;color:#0f172a}
.plan-card .badge{
  color:#4b5563;
  background:#f1f4f9;
}
.plan-card .row{gap:8px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

.section{padding:38px 0}
.section-deep{padding-bottom:64px}
.h2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 12px}
.h2 h2{margin:0;font-size:18px}
.h2 a{font-size:13px;color:var(--muted)}
.h2 a:hover{color:var(--brand)}

.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{
  padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;
  display:flex;gap:10px;align-items:center;font-weight:700;font-size:13px;color:#111827;
}
.chip-dot{
  width:18px;height:18px;border-radius:50%;
  background:linear-gradient(135deg,var(--brand2),var(--brand));
  display:inline-block;
}

.carousel{position:relative}
.track{
  display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px;
}
.track::-webkit-scrollbar{height:10px}
.track::-webkit-scrollbar-thumb{background:#e9edf6;border-radius:999px}
.card{
  min-width:296px;max-width:296px;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow: 0 10px 26px rgba(16,24,40,.07);
  scroll-snap-align:start;
}
.card .photo{height:196px;position:relative;overflow:hidden}
.card .photo::before,
.card .photo::after{
  content:"";
  position:absolute;
  opacity:.22;
}
.card .photo::before{
  width:140px;
  height:92px;
  left:26px;
  top:28px;
  border-radius:18px;
  background:rgba(255,255,255,.18);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.card .photo::after{
  width:92px;
  height:92px;
  right:22px;
  top:18px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
}
.card .photo span{
  position:absolute;
  z-index:1;
}
.card .photo .scene-a{
  left:32px;
  bottom:22px;
  width:64px;
  height:64px;
  border-radius:999px;
  background:rgba(15,23,42,.14);
}
.card .photo .scene-b{
  left:46px;
  top:42px;
  width:52px;
  height:64px;
  border-radius:10px;
  background:rgba(255,255,255,.72);
}
.card .photo .scene-c{
  left:60px;
  top:58px;
  width:24px;
  height:28px;
  border-radius:4px;
  background:#2563eb;
}
.card .photo .scene-d{
  right:64px;
  bottom:28px;
  width:120px;
  height:14px;
  border-radius:999px;
  background:rgba(255,255,255,.2);
}
.visa-work .scene-c{background:#f8fafc}
.visa-tourist .scene-c{background:#0891b2}
.visa-education .scene-c{background:#7c3aed}
.visa-retire .scene-c{background:#ea580c}
.visa-family .scene-c{background:#2563eb}
.visa-extension .scene-c{background:#047857}
.visa-work{
  background:linear-gradient(135deg,#0f172a,#1e293b 56%, #334155);
}
.visa-tourist{
  background:linear-gradient(135deg,#38bdf8,#7dd3fc 45%, #99f6e4);
}
.visa-education{
  background:linear-gradient(135deg,#a855f7,#c084fc 46%, #fb7185);
}
.visa-retire{
  background:linear-gradient(135deg,#f59e0b,#fb923c 44%, #fca5a5);
}
.visa-family{
  background:linear-gradient(135deg,#3b82f6,#60a5fa 45%, #a78bfa);
}
.visa-extension{
  background:linear-gradient(135deg,#10b981,#34d399 45%, #0f766e);
}
.card .body{padding:12px}
.kicker{font-size:12px;color:var(--muted)}
.title{font-size:15px;font-weight:800;margin:6px 0 8px;line-height:1.25}
.meta{display:flex;justify-content:space-between;align-items:center;gap:10px}
.badge{
  display:inline-flex;align-items:center;gap:6px;
  font-size:12px;font-weight:700;
  padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;
  color:#111827;
}
.price{font-weight:900;color:#111827;font-size:13px}
.stars{color:#111827;font-weight:800;font-size:12px}
.stars span{color:#f59e0b}

.grid{
  display:grid;gap:14px;
  grid-template-columns: repeat(12, 1fr);
}
.tile{
  grid-column: span 4;
  border-radius:20px;overflow:hidden;border:1px solid var(--line);
  background:#fff;box-shadow: var(--shadow);
  position:relative;min-height:196px;
}
.tile .bg{position:absolute;inset:0}
.tile .bg::before,
.tile .bg::after{
  content:"";
  position:absolute;
}
.tile-th{
  background:
    radial-gradient(circle at 82% 20%, rgba(251,191,36,.85) 0 10%, transparent 11%),
    linear-gradient(135deg,#0ea5a4,#0f172a);
}
.tile-japan{
  background:
    radial-gradient(circle at 72% 22%, rgba(239,68,68,.55) 0 13%, transparent 14%),
    linear-gradient(135deg,#cbd5e1,#6b7280);
}
.tile-korea{
  background:
    radial-gradient(circle at 38% 22%, rgba(96,165,250,.42) 0 8%, transparent 9%),
    radial-gradient(circle at 47% 22%, rgba(239,68,68,.32) 0 8%, transparent 9%),
    linear-gradient(135deg,#d1d5db,#6b7280);
}
.tile-singapore{
  background:linear-gradient(135deg,#d1d5db,#7c8798);
}
.tile-vietnam{
  background:
    radial-gradient(circle at 78% 20%, rgba(245,158,11,.45) 0 10%, transparent 11%),
    linear-gradient(135deg,#d1d5db,#7c8798);
}
.tile-malaysia{
  background:
    radial-gradient(circle at 26% 18%, rgba(255,255,255,.3) 0 7%, transparent 8%),
    linear-gradient(135deg,#d1d5db,#7c8798);
}
.tile-th::before{
  left:120px;
  bottom:0;
  width:58px;
  height:160px;
  background:rgba(248,250,252,.88);
  clip-path:polygon(40% 0, 60% 0, 100% 100%, 0 100%);
}
.tile-th::after{
  left:198px;
  bottom:0;
  width:174px;
  height:134px;
  background:rgba(248,250,252,.84);
  clip-path:polygon(8% 100%, 18% 56%, 28% 100%, 40% 42%, 52% 100%, 62% 30%, 72% 100%, 84% 18%, 92% 100%);
}
.tile-japan::before,
.tile-korea::before,
.tile-singapore::before,
.tile-vietnam::before,
.tile-malaysia::before{
  left:56px;
  right:56px;
  bottom:0;
  height:118px;
  background:rgba(248,250,252,.3);
  clip-path:polygon(0 100%, 8% 70%, 16% 100%, 26% 48%, 34% 100%, 44% 60%, 52% 100%, 62% 40%, 70% 100%, 82% 52%, 90% 100%, 100% 76%, 100% 100%);
}
.tile-japan::after{
  right:116px;
  bottom:44px;
  width:86px;
  height:86px;
  background:rgba(248,250,252,.18);
  border-radius:999px;
}
.tile-korea::after{
  left:138px;
  bottom:42px;
  width:54px;
  height:54px;
  border-radius:999px;
  background:rgba(248,250,252,.22);
}
.tile-singapore::after{
  left:118px;
  bottom:34px;
  width:38px;
  height:132px;
  background:rgba(248,250,252,.24);
  border-radius:10px 10px 0 0;
}
.tile-vietnam::after{
  right:112px;
  bottom:36px;
  width:72px;
  height:72px;
  border-radius:999px;
  background:rgba(248,250,252,.18);
}
.tile-malaysia::after{
  left:98px;
  bottom:30px;
  width:52px;
  height:52px;
  border-radius:999px;
  background:rgba(248,250,252,.2);
}
.tile-muted{filter:grayscale(1)}
.tile .shade{position:absolute;inset:0;background: linear-gradient(180deg, rgba(0,0,0,.00) 0%, rgba(0,0,0,.60) 100%)}
.tile .info{position:absolute;left:14px;right:14px;bottom:14px;color:#fff}
.tile .info b{font-size:16px}
.tile .info div{font-size:12px;opacity:.9;margin-top:4px}
.muted-tile{filter:grayscale(1);opacity:.85}

.split{
  display:grid;grid-template-columns: 1.3fr .7fr;gap:16px;
}
.banner{
  border:1px solid var(--line);border-radius:18px;padding:18px;background:
    linear-gradient(135deg, rgba(71,183,200,.10), rgba(244,122,32,.10));
}
.banner h3{margin:0 0 6px}
.banner p{margin:0;color:var(--muted);line-height:1.6}
.banner .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.banner-plain{background:#fff}

.link-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.download-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  background:linear-gradient(135deg, rgba(71,183,200,.10), rgba(244,122,32,.12));
  box-shadow:var(--shadow);
}

.download-copy h2{
  margin:10px 0 12px;
  font-size:30px;
  line-height:1.16;
  letter-spacing:-.03em;
}

.download-copy p{
  margin:0 0 18px;
  color:var(--muted);
  line-height:1.7;
  max-width:48ch;
}

.download-note{
  display:inline-flex;
  align-items:center;
  color:#475569;
  font-size:13px;
}

.download-device{
  display:flex;
  align-items:center;
  justify-content:center;
}
.download-phone{
  width:320px;
}

.device-frame{
  width:250px;
  border-radius:30px;
  padding:14px;
  background:#0f172a;
  box-shadow:0 24px 40px rgba(15,23,42,.24);
}

.device-screen{
  min-height:420px;
  border-radius:22px;
  padding:18px 16px;
  background:linear-gradient(180deg, #ffffff, #eff6ff);
}

.device-header{
  font-size:13px;
  font-weight:800;
  color:#0f172a;
  margin-bottom:14px;
}

.device-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(135deg, #f47a20, #fb923c);
  color:#fff;
  box-shadow:0 12px 24px rgba(244,122,32,.25);
}

.device-card span{
  font-size:13px;
  opacity:.92;
}

.device-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.device-list span{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  border-radius:14px;
  background:#fff;
  border:1px solid #dbe4f0;
  color:#334155;
  font-size:13px;
  font-weight:700;
}

.link-card{
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  background:#fff;
  box-shadow:var(--shadow);
}

.link-kicker{
  display:inline-flex;
  font-size:12px;
  font-weight:800;
  color:#64748b;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.link-card h3{
  margin:10px 0 10px;
  font-size:22px;
  line-height:1.15;
}

.link-card p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
}

.site-shell{
  min-height:100vh;
  background:#f7f9fc;
}

.topbar{
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(10px);
}

.topbar-inner,
.footer-inner{
  max-width:var(--max);
  margin:0 auto;
  padding:18px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.topbar .brand-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:13px;
  color:var(--muted);
}

.topbar .brand-copy strong{
  font-size:16px;
  color:var(--text);
}

.topnav{
  display:flex;
  align-items:center;
  gap:18px;
}

.topnav a{
  font-size:14px;
  color:#334155;
}

.page{
  max-width:var(--max);
  margin:0 auto;
  padding:28px 20px 56px;
}

.page-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  color:#64748b;
  font-size:13px;
}

.page-breadcrumb a{
  color:#475569;
}

.page-breadcrumb .current{
  color:#0f172a;
  font-weight:700;
}

.page-hero{
  padding:34px;
  border:1px solid var(--line);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(247,249,252,.92));
  box-shadow:var(--shadow);
  margin-bottom:22px;
}

.page h1{
  font-size:28px;
  letter-spacing:-.4px;
  margin:8px 0 14px;
  line-height:1.15;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#eef2f7;
  color:#475569;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.lead{
  margin:0;
  max-width:760px;
  color:var(--muted);
  line-height:1.7;
  font-size:16px;
}

.meta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.meta-pill{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:#475569;
  font-size:13px;
}

.grid-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.subpage-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-bottom:20px;
}

.subpage-link{
  display:block;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:18px 18px 16px;
}

.subpage-link strong{
  display:block;
  margin:8px 0 6px;
  font-size:18px;
  color:#0f172a;
}

.subpage-link p{
  margin:0;
  color:#64748b;
  line-height:1.6;
  font-size:14px;
}

.subpage-link.active{
  border-color:#fed7aa;
  background:linear-gradient(135deg, rgba(244,122,32,.10), rgba(255,255,255,.96));
}

.content-card,
.policy-card{
  border:1px solid var(--line);
  border-radius:20px;
  background:#fff;
  box-shadow:var(--shadow);
  padding:24px;
  margin-bottom:18px;
}

.content-card h2,
.policy-card h2{
  margin:0 0 14px;
  font-size:22px;
}

.content-card p,
.policy-card p,
.content-card li,
.policy-card li{
  color:#334155;
  line-height:1.7;
}

.content-card ul,
.policy-card ul{
  margin:0;
  padding-left:22px;
}

.footer-inner{
  border-top:1px solid var(--line);
  color:#64748b;
  font-size:14px;
}

.footer-inner a{
  color:#475569;
}

.footer{
  border-top:1px solid var(--line);
  padding:28px 0;
  background:#fafbfe;
}
.footer-brand{font-weight:800;font-size:20px}
.fgrid{
  display:grid;grid-template-columns: 2fr 1fr 1fr 1fr;gap:16px;
}
.footer h4{margin:0 0 10px}
.footer a{color:#374151;font-size:13px;display:block;padding:6px 0}
.footer a:hover{color:var(--brand)}
.legal{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:16px;color:var(--muted);font-size:12px}

.mobile-nav{display:none}

@media (max-width: 980px){
  .bleed{padding:16px 0}
  .nav{display:none}
  .hero-inner{grid-template-columns:1fr}
  .hero-right{min-height:240px}
  .hero h1{font-size:40px}
  .searchrow{grid-template-columns:1fr;gap:10px}
  .inp{min-height:92px}
  .searchbtn{height:52px}
  .hero-copy{padding:28px 24px}
  .app-preview{
    justify-content:center;
    padding-top:12px;
  }
  .app-phone{
    width:min(320px, 100%);
  }
  .plan-card{
    position:static;
    width:auto;
    max-width:none;
    margin:14px auto 0;
  }
  .download-phone{
    width:min(320px, 100%);
  }
  .grid .tile{grid-column: span 6}
  .split{grid-template-columns:1fr}
  .download-panel{grid-template-columns:1fr}
  .link-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .subpage-links{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr 1fr}
  .mobile-nav{
    display:flex;position:fixed;left:0;right:0;bottom:0;
    background:#fff;border-top:1px solid var(--line);
    padding:8px 10px;gap:8px;justify-content:space-around;z-index:60
  }
  .mobile-nav a{font-size:11px;color:#111827;display:flex;flex-direction:column;align-items:center;gap:4px}
  body{padding-bottom:64px}
}

@media (max-width: 720px){
  .bleed{padding:12px 0}
  .top-ann .inner,
  .header .inner,
  .topbar-inner,
  .footer-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .actions{width:100%}
  .actions .btn{flex:1}
  .grid .tile{grid-column: span 12}
  .fgrid{grid-template-columns:1fr}
}
