:root{
  --red:#FF2B2B;
  --red-dim: #E11F1F;
  --blue:#1A45FF;
  --blue-dim:#1336CC;
  --ink:#0A0D16;
  --ink-soft:#4A5068;
  --mist:#F5F6FA;
  --mist-deep:#EDEFF7;
  --line:#E6E8F2;
  --paper:#FFFFFF;
  --grad: linear-gradient(120deg, var(--blue) 0%, #5A3FF0 50%, var(--red) 100%);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4, .display{
  font-family:'Plus Jakarta Sans', sans-serif;
  letter-spacing:-0.02em;
}
.mono{ font-family:'JetBrains Mono', monospace; letter-spacing:0.02em; }
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:1280px; margin:0 auto; padding:0 32px;}
@media(max-width:700px){ .wrap{padding:0 18px;} }

/* ---------- scrollbar / selection ---------- */
::selection{background:var(--blue); color:#fff;}

/* ---------- Announcement bar ---------- */
.topbar{
  background:var(--ink);
  color:#C7CAE0;
  font-size:12.5px;
  font-family:'JetBrains Mono', monospace;
}
.topbar .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:38px; gap:24px; white-space:nowrap; overflow:hidden;
}
.topbar-left{display:flex; align-items:center; gap:22px; overflow:hidden;}
.topbar-left span{display:flex; align-items:center; gap:6px; color:#9CA0C4;}
.topbar-left b{color:#fff; font-weight:600;}
.topbar-right{display:flex; align-items:center; gap:18px; flex-shrink:0;}
.topbar-right a{display:flex; align-items:center; gap:5px; color:#C7CAE0; transition:color .15s;}
.topbar-right a:hover{color:#fff;}
.topbar-right .divider{width:1px; height:14px; background:#2A2E42;}
.sel-mini{ background:transparent; color:#C7CAE0; border:none; font-family:inherit; font-size:12.5px; cursor:pointer;}
@media(max-width:900px){ .topbar-left span:not(:first-child){display:none;} }
@media(max-width:560px){ .topbar-right a span, .topbar-right a{font-size:0;} .topbar-right a svg{width:14px;height:14px;} .topbar-right a{gap:0;} }
@media(max-width:480px){ .topbar .wrap{gap:10px;} .topbar-right{gap:12px;} }

/* ---------- Nav ---------- */
header.nav{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid transparent;
  transition:border-color .25s, box-shadow .25s;
}
header.nav.scrolled{
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 30px -12px rgba(10,13,22,.12);
}
.navrow{ display:flex; align-items:center; justify-content:space-between; height:78px; gap:28px;}
.logo{ display:flex; align-items:center; gap:10px; flex-shrink:0;}
.logo-chip{
  background:var(--ink);
  border-radius:12px;
  padding:6px 10px;
  display:flex;
  align-items:center;
  box-shadow:0 8px 18px -8px rgba(10,13,22,.5);
}
.logo-chip img{ height:34px; width:auto; display:block;}
.logo .e{color:var(--red);} .logo .m{color:var(--blue);}
.logo-tag{font-family:'JetBrains Mono'; font-size:9.5px; letter-spacing:.14em; color:var(--ink-soft); display:block; font-weight:600; margin-top:2px;}
.logo-block{display:flex; flex-direction:column;}
@media(max-width:480px){ .logo-chip img{height:28px;} }

.navlinks{ display:flex; align-items:center; gap:2px; flex:1; justify-content:center;}
.navlinks > .navitem{ position:relative;}
.navlinks a.top-link, .navlinks button.top-link{
  display:flex; align-items:center; gap:4px;
  padding:10px 14px; border-radius:10px; font-size:14.5px; font-weight:600;
  color:var(--ink); background:none; border:none; transition:background .15s, color .15s;
}
.navlinks .top-link:hover{ background:var(--mist); color:var(--blue);}
.navlinks .top-link svg{width:14px; height:14px; opacity:.6;}

.megamenu{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(6px);
  width:640px; background:#fff; border:1px solid var(--line); border-radius:20px;
  box-shadow:0 30px 60px -20px rgba(10,13,22,.22);
  padding:22px; opacity:0; visibility:hidden; transition:opacity .18s, transform .18s;
  display:grid; grid-template-columns:repeat(3,1fr); gap:4px;
}
.navitem:hover .megamenu{ opacity:1; visibility:visible; transform:translateX(-50%) translateY(0);}
.mm-item{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:10px; font-size:13.5px; font-weight:500; color:var(--ink-soft); transition:background .15s, color .15s;}
.mm-item:hover{ background:var(--mist); color:var(--blue);}
.mm-item .ic{font-size:16px;}
.mm-foot{ grid-column:1/-1; margin-top:10px; padding-top:14px; border-top:1px solid var(--line); display:flex; justify-content:space-between; align-items:center;}
.mm-foot a{ font-size:13px; font-weight:700; color:var(--blue); display:flex; align-items:center; gap:5px;}

.nav-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0;}
.icon-btn{ width:38px; height:38px; border-radius:11px; display:flex; align-items:center; justify-content:center; background:var(--mist); border:none; color:var(--ink); transition:background .15s, color .15s; position:relative;}
.icon-btn:hover{ background:var(--mist-deep); color:var(--blue);}
.icon-btn svg{width:17px; height:17px;}
.dot-badge{position:absolute; top:6px; right:6px; width:7px; height:7px; border-radius:50%; background:var(--red); border:2px solid #fff;}
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:7px; font-weight:700; font-size:13.5px; border-radius:11px; padding:10px 18px; border:none; transition:transform .15s, box-shadow .15s, background .15s;}
.btn:active{transform:scale(.97);}
.btn-ghost{ background:none; color:var(--ink); }
.btn-ghost:hover{color:var(--blue);}
.btn-line{ background:#fff; color:var(--ink); border:1.5px solid var(--line);}
.btn-line:hover{ border-color:var(--blue); color:var(--blue);}
.btn-red{ background:var(--red); color:#fff; box-shadow:0 8px 20px -6px rgba(255,43,43,.55);}
.btn-red:hover{ background:var(--red-dim); box-shadow:0 10px 26px -6px rgba(255,43,43,.65);}
.btn-blue{ background:var(--blue); color:#fff; box-shadow:0 8px 20px -6px rgba(26,69,255,.5);}
.btn-blue:hover{ background:var(--blue-dim);}
.btn-dark{background:var(--ink); color:#fff;}
.btn-dark:hover{background:#1c2033;}
.btn-sm{padding:8px 14px; font-size:12.5px; border-radius:9px;}
.btn-lg{padding:15px 26px; font-size:15px; border-radius:13px;}

.mobile-toggle{display:none; background:none; border:none; color:var(--ink); width:38px; height:38px; align-items:center; justify-content:center; border-radius:11px;}
.mobile-toggle:hover{background:var(--mist);}
@media(max-width:1080px){
  .navlinks, .nav-actions .btn-line, .nav-actions .btn-ghost{display:none;}
  .mobile-toggle{display:flex;}
}
@media(max-width:560px){
  .nav-actions .btn-dark{ padding:9px 12px; font-size:12.5px; }
  .nav-actions .icon-btn:nth-child(2){ display:none; }
}
@media(max-width:420px){
  .nav-actions .btn-dark span{display:none;}
  .navrow{gap:12px;}
}

/* ================= MOBILE MENU (drawer) ================= */
.mobile-menu-backdrop{
  position:fixed; inset:0; background:rgba(10,13,22,.55);
  opacity:0; visibility:hidden; transition:opacity .25s ease;
  z-index:150;
}
.mobile-menu-backdrop.open{ opacity:1; visibility:visible; }

.mobile-menu{
  position:fixed; top:0; right:0; height:100%; width:min(360px,86vw);
  background:#fff; z-index:160; display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .32s cubic-bezier(.4,0,.2,1);
  box-shadow:-24px 0 60px -20px rgba(10,13,22,.35);
}
.mobile-menu.open{ transform:translateX(0); }

.mobile-menu-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 18px; border-bottom:1px solid var(--line); flex-shrink:0;
}
.mobile-menu-head .logo-chip img{ height:26px; }
.mobile-menu-close{
  width:38px; height:38px; border-radius:11px; background:var(--mist);
  border:none; display:flex; align-items:center; justify-content:center; color:var(--ink);
}
.mobile-menu-close:hover{ background:var(--mist-deep); color:var(--red); }

.mobile-menu-body{ flex:1; overflow-y:auto; padding:10px 12px; }
.mobile-menu-links{ display:flex; flex-direction:column; gap:2px; }
.mobile-menu-links a, .mobile-menu-links .mm-toggle{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:14px 12px; border-radius:12px; font-size:15.5px; font-weight:600;
  color:var(--ink); background:none; border:none; width:100%; text-align:left;
}
.mobile-menu-links a:active, .mobile-menu-links .mm-toggle:active{ background:var(--mist); }
.mobile-menu-links .mm-toggle svg.chev{ width:15px; height:15px; opacity:.5; transition:transform .2s; }
.mobile-menu-links .mm-toggle.open svg.chev{ transform:rotate(180deg); }

.mobile-submenu{
  display:none; flex-direction:column; gap:1px; padding:2px 4px 8px 14px;
  max-height:260px; overflow-y:auto;
}
.mobile-submenu.open{ display:flex; }
.mobile-submenu a{
  display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:10px;
  font-size:13.5px; font-weight:500; color:var(--ink-soft);
}
.mobile-submenu a:active{ background:var(--mist); }

.mobile-menu-divider{ height:1px; background:var(--line); margin:10px 4px; }

.mobile-menu-foot{
  padding:14px 16px 20px; border-top:1px solid var(--line); flex-shrink:0;
  display:flex; flex-direction:column; gap:10px;
}
.mobile-menu-foot .btn{ width:100%; }

body.menu-open{ overflow:hidden; }

/* ---------- Hero ---------- */
.hero{ position:relative; padding:76px 0 60px; overflow:hidden; background:
    radial-gradient(760px 420px at 82% -6%, #EAF0FF 0%, rgba(234,240,255,0) 60%),
    radial-gradient(600px 380px at 8% 8%, #FFECEC 0%, rgba(255,236,236,0) 60%);
}
.hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center;}
@media(max-width:980px){ .hero-grid{grid-template-columns:1fr;} }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 8px; border-radius:100px;
  background:#fff; border:1px solid var(--line); font-size:12.5px; font-weight:700; color:var(--ink-soft);
  box-shadow:0 6px 16px -8px rgba(10,13,22,.15); margin-bottom:22px;
}
.eyebrow .pip{ width:20px; height:20px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center;}
.eyebrow .pip svg{width:11px;height:11px; color:#fff;}

.hero h1{ font-size:56px; line-height:1.04; font-weight:800; color:var(--ink);}
.hero h1 .hl{
  background:linear-gradient(100deg, var(--blue), #4A3BFF 60%, var(--red));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  position:relative; white-space:nowrap;
}
@media(max-width:640px){ .hero h1{font-size:38px;} .hero h1 .hl{white-space:normal;} }
@media(max-width:380px){ .hero h1{font-size:32px;} }
.hero p.sub{ margin-top:20px; font-size:17px; line-height:1.6; color:var(--ink-soft); max-width:520px;}

/* search card */
.search-card{
  margin-top:32px; background:rgba(255,255,255,.7); backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.9); border-radius:20px; padding:10px;
  box-shadow:0 30px 70px -30px rgba(10,13,22,.28);
  display:flex; gap:6px; flex-wrap:wrap;
}
.search-field{ flex:1 1 180px; position:relative; }
.search-field.grow{flex:2 1 220px;}
.sf-inner{ display:flex; align-items:center; gap:9px; padding:12px 14px; border-radius:13px; background:#fff; border:1px solid transparent; height:48px; cursor:pointer; transition:border-color .15s;}
.sf-inner:hover, .sf-inner.active{border-color:var(--blue);}
.sf-inner svg{width:16px; height:16px; color:var(--ink-soft); flex-shrink:0;}
.sf-inner input{border:none; outline:none; font-size:14px; font-weight:500; width:100%; background:none; font-family:inherit;}
.sf-inner .val{font-size:14px; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.sf-inner .chev{margin-left:auto; width:13px; height:13px; opacity:.5; flex-shrink:0;}
.search-btn{ flex:0 0 auto; display:flex; align-items:center; gap:8px; background:var(--blue); color:#fff; border:none; border-radius:13px; padding:0 22px; height:48px; font-weight:700; font-size:14px; box-shadow:0 10px 24px -8px rgba(26,69,255,.55); transition:background .15s;}
.search-btn:hover{background:var(--blue-dim);}
@media(max-width:640px){ .search-btn{width:100%; justify-content:center;} }

.dropdown-panel{
  position:absolute; top:calc(100% + 8px); left:0; width:280px; max-height:280px; overflow-y:auto;
  background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 50px -18px rgba(10,13,22,.28);
  padding:8px; z-index:30; display:none;
}
.dropdown-panel.open{display:block;}
.dp-item{ display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:9px; font-size:13.5px; font-weight:500; color:var(--ink); transition:background .12s;}
.dp-item:hover{background:var(--mist);}
.dp-item .flag{font-size:16px;}
@media(max-width:640px){ .dropdown-panel{width:100%;} }

.hero-chiprow{ display:flex; align-items:center; gap:9px; margin-top:20px; flex-wrap:wrap;}
.hero-chiprow span.lbl{font-size:12.5px; color:var(--ink-soft); font-weight:600; margin-right:2px;}
.chip{ font-size:12.5px; font-weight:600; padding:7px 13px; border-radius:100px; background:#fff; border:1px solid var(--line); color:var(--ink-soft); transition:all .15s;}
.chip:hover{ border-color:var(--blue); color:var(--blue); background:#F3F6FF;}

/* hero visual: route map */
.hero-visual{ position:relative; aspect-ratio:1/1; max-width:520px; margin:0 auto;}
.rv-card{ position:absolute; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 20px 50px -18px rgba(10,13,22,.25); padding:12px 14px; display:flex; align-items:center; gap:10px; z-index:5;}
.rv-card .ic{width:34px; height:34px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0;}
.rv-card .t1{font-size:11.5px; color:var(--ink-soft); font-weight:600;}
.rv-card .t2{font-size:14px; font-weight:800; font-family:'Plus Jakarta Sans';}
.rv-1{top:6%; left:-4%; animation:float1 6s ease-in-out infinite;}
.rv-2{bottom:10%; right:-6%; animation:float2 7s ease-in-out infinite;}
.rv-3{top:44%; left:52%; animation:float1 6.5s ease-in-out infinite reverse;}
@keyframes float1{0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
@keyframes float2{0%,100%{transform:translateY(0)} 50%{transform:translateY(14px)} }
.globe-wrap{ width:100%; height:100%; border-radius:32px; background:linear-gradient(160deg,#0E1330,#1A2050 55%, #23124A); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.globe-wrap svg{width:92%; height:92%;}
.route-dash{ stroke-dasharray:6 7; animation:dashmove 2.4s linear infinite;}
@keyframes dashmove{ to{ stroke-dashoffset:-130; } }
.pulse-dot{ animation:pulseDot 2.2s ease-in-out infinite; transform-origin:center;}
@keyframes pulseDot{ 0%{transform:scale(.7); opacity:.5;} 50%{transform:scale(1.5); opacity:0;} 100%{transform:scale(.7); opacity:0;} }
@media(max-width:980px){ .hero-visual{ max-width:380px; } }
@media(max-width:480px){ .hero-visual{ max-width:300px; } .rv-card{ padding:8px 10px; } .rv-card .t2{font-size:12px;} .rv-card .ic{width:28px;height:28px;} }

/* ---------- Section shells ---------- */
section{ padding:88px 0;}
@media(max-width:700px){ section{padding:58px 0;} }
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:44px; flex-wrap:wrap;}
.sec-eyebrow{ font-family:'JetBrains Mono'; font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); margin-bottom:10px; display:block;}
.sec-title{ font-size:34px; font-weight:800; color:var(--ink); max-width:560px; line-height:1.15;}
@media(max-width:640px){ .sec-title{font-size:26px;} }
.sec-sub{ font-size:15.5px; color:var(--ink-soft); margin-top:10px; max-width:480px; line-height:1.6;}
.see-all{ display:flex; align-items:center; gap:6px; font-weight:700; font-size:14px; color:var(--blue); flex-shrink:0; padding-bottom:4px;}
.see-all svg{width:15px; height:15px; transition:transform .15s;}
.see-all:hover svg{transform:translateX(3px);}

/* ---------- Stats ---------- */
.stats-band{ background:var(--ink); position:relative; overflow:hidden;}
.stats-band::before{ content:''; position:absolute; inset:0; background:
  radial-gradient(500px 260px at 15% 0%, rgba(26,69,255,.35), transparent 60%),
  radial-gradient(500px 260px at 85% 100%, rgba(255,43,43,.25), transparent 60%);
}
.stats-grid{ position:relative; display:grid; grid-template-columns:repeat(5,1fr); gap:0;}
@media(max-width:900px){ .stats-grid{grid-template-columns:repeat(2,1fr); gap:32px 0;} }
@media(max-width:480px){ .stats-grid{grid-template-columns:1fr; gap:24px 0;} }
.stat{ text-align:left; padding:0 26px; border-left:1px solid rgba(255,255,255,.1);}
.stat:first-child{border-left:none;}
@media(max-width:900px){ .stat{border-left:none; padding:0 14px;} }
.stat .num{ font-family:'Plus Jakarta Sans'; font-size:38px; font-weight:800; color:#fff; display:flex; align-items:baseline; gap:2px;}
.stat .num .plus{ font-size:22px; color:var(--red);}
.stat .lbl{ margin-top:6px; font-size:13px; color:#9CA0C4; font-weight:600;}

/* ---------- Category grid ---------- */
.cat-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:16px;}
@media(max-width:1080px){ .cat-grid{grid-template-columns:repeat(4,1fr);} }
@media(max-width:680px){ .cat-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:380px){ .cat-grid{grid-template-columns:repeat(2,1fr); gap:10px;} }
.cat-card{ background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px 16px; transition:transform .2s, box-shadow .2s, border-color .2s; position:relative; overflow:hidden;}
.cat-card:hover{ transform:translateY(-5px); box-shadow:0 24px 50px -22px rgba(10,13,22,.25); border-color:transparent;}
.cat-card .cc-ic{ width:46px; height:46px; border-radius:13px; background:var(--mist); display:flex; align-items:center; justify-content:center; font-size:22px; margin-bottom:14px; transition:background .2s;}
.cat-card:hover .cc-ic{ background:linear-gradient(135deg, var(--blue), var(--red)); }
.cat-card .cc-name{ font-weight:700; font-size:14.5px; color:var(--ink); margin-bottom:8px;}
.cat-card .cc-meta{ font-size:11.5px; color:var(--ink-soft); font-family:'JetBrains Mono'; display:flex; flex-direction:column; gap:2px;}
.cat-card .cc-meta b{color:var(--ink); font-weight:600;}

/* ---------- Country grid ---------- */
.country-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:980px){ .country-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .country-grid{grid-template-columns:1fr;} }
.country-card{ background:var(--mist); border:1px solid var(--line); border-radius:18px; padding:22px; transition:background .2s, transform .2s;}
.country-card:hover{ background:#fff; transform:translateY(-4px); box-shadow:0 24px 50px -24px rgba(10,13,22,.22);}
.cty-top{ display:flex; align-items:center; justify-content:between; gap:10px;}
.cty-flag{ font-size:30px; line-height:1;}
.cty-name{ font-weight:800; font-size:16.5px; margin-top:10px;}
.cty-vol{ font-family:'JetBrains Mono'; font-size:12px; color:var(--ink-soft); margin-top:2px;}
.cty-vol b{color:var(--blue); font-weight:700;}
.cty-products{ margin-top:14px; font-size:12.5px; color:var(--ink-soft); line-height:1.5;}
.cty-foot{ margin-top:14px; padding-top:14px; border-top:1px dashed var(--line); display:flex; align-items:center; justify-content:space-between;}
.verified-pill{ display:flex; align-items:center; gap:5px; font-size:11px; font-weight:700; color:#0E9F6E;}
.verified-pill svg{width:12px; height:12px;}

/* ---------- Services ---------- */
.svc-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
@media(max-width:980px){ .svc-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .svc-grid{grid-template-columns:1fr;} }
.svc-card{ padding:26px 22px; border-radius:18px; border:1px solid var(--line); background:linear-gradient(160deg,#fff, #FCFCFF); transition:transform .2s, box-shadow .2s;}
.svc-card:hover{transform:translateY(-4px); box-shadow:0 24px 46px -24px rgba(10,13,22,.2);}
.svc-ic{ width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:16px;}
.svc-title{ font-weight:700; font-size:15.5px; margin-bottom:6px;}
.svc-desc{ font-size:13px; color:var(--ink-soft); line-height:1.55;}

/* ---------- Membership ---------- */
.mem-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; align-items:stretch;}
@media(max-width:980px){ .mem-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .mem-grid{grid-template-columns:1fr;} }
.mem-card{ border-radius:20px; border:1px solid var(--line); padding:28px 24px; background:#fff; display:flex; flex-direction:column; position:relative;}
.mem-card.pop{ border:2px solid var(--blue); box-shadow:0 30px 60px -24px rgba(26,69,255,.35);}
.mem-badge{ position:absolute; top:-13px; left:24px; background:var(--grad); color:#fff; font-size:11px; font-weight:700; padding:5px 12px; border-radius:100px;}
.mem-tier{ font-family:'JetBrains Mono'; font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em;}
.mem-price{ font-size:32px; font-weight:800; margin-top:8px; font-family:'Plus Jakarta Sans';}
.mem-price span{font-size:14px; font-weight:500; color:var(--ink-soft);}
.mem-list{ margin:22px 0; display:flex; flex-direction:column; gap:11px; flex:1;}
.mem-list li{ list-style:none; display:flex; align-items:flex-start; gap:9px; font-size:13.5px; color:var(--ink-soft);}
.mem-list li svg{width:15px; height:15px; color:#0E9F6E; flex-shrink:0; margin-top:2px;}

/* ---------- CTA band ---------- */
.cta-band{ background:var(--grad); border-radius:28px; padding:56px 48px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; position:relative; overflow:hidden;}
.cta-band::after{content:'';position:absolute; inset:0; background:radial-gradient(400px 260px at 90% 10%, rgba(255,255,255,.25), transparent 60%);}
.cta-band h3{ color:#fff; font-size:28px; font-weight:800; max-width:460px; position:relative;}
.cta-band p{ color:rgba(255,255,255,.85); margin-top:8px; font-size:14.5px; position:relative;}
.cta-actions{ display:flex; gap:12px; position:relative;}
@media(max-width:560px){
  .cta-band{ padding:34px 24px; border-radius:22px; }
  .cta-band h3{ font-size:22px; }
  .cta-actions{ width:100%; flex-direction:column; }
  .cta-actions .btn{ width:100%; }
}

/* ---------- Footer ---------- */
footer{ background:var(--ink); color:#9CA0C4; padding:70px 0 0;}
.foot-grid{ display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:30px; padding-bottom:50px; border-bottom:1px solid #1D2136;}
@media(max-width:900px){ .foot-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .foot-grid{grid-template-columns:1fr;} }
.foot-logo-wrap{ display:flex; align-items:center; gap:10px;}
.foot-logo-chip{ background:#12162B; border:1px solid #1D2136; border-radius:12px; padding:6px 10px; display:flex; align-items:center;}
.foot-logo-chip img{ height:30px; width:auto; display:block;}
.foot-desc{ font-size:13.5px; line-height:1.7; margin:14px 0 20px; max-width:280px;}
.foot-social{ display:flex; gap:10px;}
.foot-social a{ width:36px; height:36px; border-radius:10px; background:#151933; display:flex; align-items:center; justify-content:center; transition:background .15s;}
.foot-social a:hover{ background:var(--blue);}
.foot-social svg{width:15px; height:15px; color:#fff;}
.foot-col h5{ color:#fff; font-size:13.5px; font-weight:700; margin-bottom:16px;}
.foot-col ul{list-style:none; display:flex; flex-direction:column; gap:11px;}
.foot-col a{ font-size:13.5px; transition:color .15s;}
.foot-col a:hover{color:#fff;}
.foot-bottom{ padding:26px 0 34px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12.5px;}
.foot-bottom-links{display:flex; gap:20px; flex-wrap:wrap;}
@media(max-width:560px){ .foot-bottom{ justify-content:center; text-align:center; flex-direction:column; } }

/* ---------- Contact page ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start; margin-top:40px; }
@media(max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }
.contact-card{ background:#fff; border-radius:20px; padding:40px; box-shadow:0 15px 40px rgba(0,0,0,.06); }
@media(max-width:560px){ .contact-card{ padding:24px; border-radius:16px; } }
.contact-row{ display:flex; gap:15px; margin-bottom:25px; }
.contact-row:last-child{ margin-bottom:0; }
.contact-row p{ margin-top:6px; color:var(--ink-soft); line-height:1.7; }
.form-group{ margin-bottom:18px; }
.form-group:last-of-type{ margin-bottom:24px; }
.form-group label{ font-size:13.5px; font-weight:600; }
.form-group input, .form-group textarea{
  width:100%; margin-top:8px; padding:14px 16px; border:1px solid var(--line);
  border-radius:12px; font-size:15px; font-family:inherit; background:var(--mist);
}
.form-group textarea{ resize:none; }
.form-group input:focus, .form-group textarea:focus{ outline:none; border-color:var(--blue); background:#fff; }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{ opacity:1; transform:translateY(0);}

/* skeleton demo */
.skel{ position:relative; overflow:hidden; background:var(--mist-deep);}
.skel::after{ content:''; position:absolute; inset:0; transform:translateX(-100%); background:linear-gradient(90deg, transparent, rgba(255,255,255,.7), transparent); animation:shimmer 1.6s infinite;}
@keyframes shimmer{ 100%{transform:translateX(100%);} }

@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important;}
}