:root{
  --bg: #070a14;
  --bg2:#0b1020;
  --card:#0e1630;
  --text:#e7ecff;
  --muted:#a8b1d6;
  --muted2:#7e89b8;
  --line: rgba(255,255,255,.08);
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --shadow2: 0 12px 30px rgba(0,0,0,.35);

  --accent:#78b6ff;
  --accent2:#9b7cff;
  --good:#77f2b6;
  --warn:#ffd67c;

  --radius: 18px;
  --radius2: 26px;

  --max: 1240px;
  --pad: clamp(12px, 2.2vw, 26px);
}

/* Light mode */
[data-theme="light"]{
  --bg:#f7f8ff;
  --bg2:#ffffff;
  --card:#ffffff;
  --text:#10172e;
  --muted:#44507a;
  --muted2:#5c6999;
  --line: rgba(16,23,46,.10);
  --shadow: 0 18px 50px rgba(16,23,46,.10);
  --shadow2: 0 12px 30px rgba(16,23,46,.08);
  --accent:#2b74ff;
  --accent2:#6b4cff;
  --good:#0da26b;
  --warn:#b67100;
}

*{box-sizing:border-box}
img{max-width:100%; height:auto;}
html{scroll-behavior:smooth; scroll-padding-top: 94px}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1200px 650px at 20% 10%, rgba(120,182,255,.22), transparent 60%),
    radial-gradient(950px 520px at 80% 0%, rgba(155,124,255,.18), transparent 55%),
    radial-gradient(900px 600px at 60% 90%, rgba(119,242,182,.10), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg2));
  min-height:100vh;
}
a{color:inherit; text-decoration:none}
.wrap{max-width:var(--max); margin:0 auto; padding:0 var(--pad)}
.row{display:flex; gap:18px; align-items:center}
.col{display:flex; flex-direction:column; gap:14px}
.grid{display:grid; gap:18px}
.muted{color:var(--muted)}
.muted2{color:var(--muted2)}
.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 12px; border-radius:999px;
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
  font-size:13px;
}
.dot{
  width:8px; height:8px; border-radius:999px;
  background: linear-gradient(180deg, var(--good), rgba(255,255,255,.2));
  box-shadow: 0 0 0 6px rgba(119,242,182,.10);
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.06);
  color:var(--text);
  cursor:pointer;
  user-select:none;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  font-weight:600;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px); background: rgba(255,255,255,.10)}
.btn:active{transform:translateY(0px)}
.btn.primary{
  border-color: rgba(120,182,255,.45);
  background: linear-gradient(135deg, rgba(120,182,255,.30), rgba(155,124,255,.24));
  box-shadow: 0 10px 30px rgba(120,182,255,.15);
}
.btn.ghost{background: transparent;}
.btn.small{padding:10px 12px; border-radius:12px; font-weight:600; font-size:14px}
.kbd{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:12px;
  padding:2px 7px;
  border:1px solid var(--line);
  border-bottom-color: rgba(255,255,255,.18);
  border-radius:9px;
  background: rgba(255,255,255,.06);
  color:var(--muted);
}
.card{
  border:1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
  overflow:hidden;
}
.card .in{padding:18px}
.card.soft{background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02))}
.divider{height:1px; background:var(--line); margin:0;}

header{
  position:sticky; top:0; z-index:50;
  backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(7,10,20,.78), rgba(7,10,20,.38));
  border-bottom:1px solid rgba(255,255,255,.06);
}
[data-theme="light"] header{
  background: linear-gradient(180deg, rgba(247,248,255,.82), rgba(247,248,255,.55));
  border-bottom:1px solid rgba(16,23,46,.08);
}
.nav{
  height: 86px;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:inherit;
  text-decoration:none;
}
.logo{
  width:38px; height:38px;
  border-radius:14px;
  background:
    radial-gradient(16px 16px at 30% 30%, rgba(255,255,255,.65), transparent 60%),
    linear-gradient(135deg, rgba(120,182,255,.75), rgba(155,124,255,.65));
  box-shadow: 0 12px 30px rgba(120,182,255,.16);
  border: 1px solid rgba(255,255,255,.14);
  position:relative;
}
.logo:after{
  content:"";
  position:absolute; inset:9px 11px 10px 11px;
  border-radius:10px;
  border: 1px solid rgba(255,255,255,.28);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.08);
}
nav ul{list-style:none; margin:0; padding:0; display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
nav a{
  color:var(--muted);
  font-weight:600;
  font-size:14px;
  padding:8px 10px;
  border-radius:12px;
  transition: background .12s ease, color .12s ease;
}
nav a:hover{background: rgba(255,255,255,.07); color:var(--text)}
.navRight{display:flex; align-items:center; gap:10px}

main.hero{padding:60px 0 24px}
.heroGrid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:22px;
  align-items:stretch;
}
.h1{
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.02;
  letter-spacing: -0.9px;
  margin:0;
}
.lead{
  font-size: clamp(16px, 1.45vw, 18px);
  line-height:1.55;
  color:var(--muted);
  max-width: 60ch;
  margin:0;
}
.heroActions{display:flex; gap:12px; flex-wrap:wrap; margin-top:8px}
.heroMeta{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px; color:var(--muted2); font-size:13px;}
.heroMeta span{display:inline-flex; align-items:center; gap:8px}
.check{
  width:16px; height:16px; border-radius:999px;
  background: rgba(119,242,182,.14);
  border:1px solid rgba(119,242,182,.35);
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:900; color:var(--good); font-size:12px;
}

.mock{
  height:100%;
  border-radius: var(--radius2);
  border:1px solid var(--line);
  background:
    radial-gradient(700px 420px at 30% 25%, rgba(120,182,255,.18), transparent 60%),
    radial-gradient(520px 380px at 70% 70%, rgba(155,124,255,.14), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.mockTop{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--line); background: rgba(255,255,255,.04);}
.traffic{display:flex; gap:7px; align-items:center;}
.tDot{width:10px; height:10px; border-radius:999px; background: rgba(255,255,255,.18)}
.tDot:nth-child(1){background: rgba(255,90,90,.5)}
.tDot:nth-child(2){background: rgba(255,210,90,.5)}
.tDot:nth-child(3){background: rgba(120,255,170,.45)}
.mockBody{padding:14px}
.statRow{display:grid; grid-template-columns: 1fr 1fr; gap:12px; margin-bottom:12px}
.stat{border:1px solid var(--line); border-radius:16px; padding:12px; background: rgba(255,255,255,.04);}
.stat .n{font-size:22px; font-weight:800; letter-spacing:-.3px}
.stat .l{font-size:12px; color:var(--muted2); margin-top:4px}
.mockList{display:flex; flex-direction:column; gap:10px;}
.mockItem{
  border:1px solid var(--line);
  border-radius:16px;
  padding:10px 12px;
  background: rgba(255,255,255,.035);
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
}
.badge{
  font-size:12px;
  color:var(--muted);
  border:1px solid var(--line);
  padding:4px 8px;
  border-radius:999px;
  background: rgba(255,255,255,.05);
  white-space:nowrap;
}
.spark{
  height:26px; width:78px;
  border-radius:12px;
  background:
    linear-gradient(90deg, rgba(120,182,255,.0), rgba(120,182,255,.25), rgba(155,124,255,.25), rgba(119,242,182,.18), rgba(120,182,255,.0));
  opacity:.9;
  filter: blur(.2px);
}

section{padding:46px 0}
.secTitle{margin:0; font-size: clamp(22px, 2.2vw, 30px); letter-spacing:-.4px;}
.secLead{margin:8px 0 0; color:var(--muted); line-height:1.6; max-width: 76ch;}
.two{display:grid; grid-template-columns: 1fr 1fr; gap:18px;}
.three{display:grid; grid-template-columns: repeat(3, 1fr); gap:18px;}

.icon{
  width:42px; height:42px;
  border-radius:16px;
  border:1px solid var(--line);
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(135deg, rgba(120,182,255,.22), rgba(155,124,255,.14));
  display:flex; align-items:center; justify-content:center;
  font-weight:900;
  letter-spacing:-.2px;
}
.card h3{margin:10px 0 6px; font-size:16px}
.card p{margin:0; color:var(--muted); line-height:1.55}
.list{margin:12px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:10px; color:var(--muted);}
.list li{display:flex; gap:10px; align-items:flex-start}
.list .b{margin-top:2px}
.list .b .check{width:18px;height:18px}

.pricingHead{
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.toggle{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid var(--line);
  padding:8px 10px;
  border-radius:999px;
  background: rgba(255,255,255,.05);
}
.switch{
  width:44px; height:26px;
  border-radius:999px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.06);
  position:relative;
  cursor:pointer;
}
.knob{
  position:absolute; top:3px; left:3px;
  width:20px; height:20px; border-radius:999px;
  background: linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.25));
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
  transition: transform .18s ease;
}
.switch.on .knob{transform: translateX(18px)}
.priceGrid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
.plan{
  border:1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.04);
  overflow:hidden;
  display:flex; flex-direction:column;
  min-height: 100%;
}
.plan .top{padding:14px}
.plan .name{font-weight:800; letter-spacing:-.2px}
.plan .desc{font-size:12px; color:var(--muted2); margin-top:4px; min-height:32px}
.plan .price{margin-top:10px; display:flex; align-items:baseline; gap:6px; font-weight:900; letter-spacing:-.3px;}
.plan .price .amt{font-size:26px}
.plan .price .per{font-size:12px; color:var(--muted2); font-weight:700}
.plan .mid{padding:0 14px 14px}
.plan ul{margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:8px; color:var(--muted)}
.plan li{display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.35}
.plan .cta{padding:14px; margin-top:auto; border-top:1px solid var(--line)}
.plan.featured{
  border-color: rgba(120,182,255,.35);
  background:
    radial-gradient(500px 240px at 30% 0%, rgba(120,182,255,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: var(--shadow);
  transform: translateY(-4px);
}
.tag{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(120,182,255,.35);
  background: rgba(120,182,255,.10);
  color: var(--text);
  font-size:12px;
  font-weight:800;
  margin-top:10px;
}

details{
  border:1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  padding: 12px 14px;
}
summary{cursor:pointer; font-weight:800; color: var(--text);}
details p{margin:10px 0 0; color:var(--muted); line-height:1.6}

footer{
  padding:30px 0 46px;
  border-top:1px solid var(--line);
  color: var(--muted2);
}
.footGrid{display:grid; grid-template-columns: 1.2fr .8fr; gap:18px; align-items:start;}
.legal{font-size:12px; line-height:1.5}
.links{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}
.links a{padding:8px 10px; border-radius:12px; border:1px solid var(--line); background: rgba(255,255,255,.03); color:var(--muted); font-weight:700; font-size:13px}

.formRow{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px;}
input[type="email"]{
  flex: 1 1 260px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  outline:none;
  font-weight:600;
}
input[type="email"]::placeholder{color: rgba(168,177,214,.75)}
.note{font-size:12px; color:var(--muted2); margin-top:8px}
.toast{
  position: fixed;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%) translateY(20px);
  opacity: 0;
  pointer-events:none;
  padding: 12px 14px;
  border-radius: 14px;
  border:1px solid var(--line);
  background: rgba(15,20,40,.92);
  color: var(--text);
  box-shadow: var(--shadow);
  transition: opacity .18s ease, transform .18s ease;
  min-width: min(560px, calc(100vw - 26px));
}
[data-theme="light"] .toast{background: rgba(255,255,255,.94)}
.toast.show{opacity:1; transform: translateX(-50%) translateY(0px)}
.toast .t{font-weight:900}
.toast .m{color:var(--muted); margin-top:4px; font-size:13px}

.smallPrint{font-size:12px; color:var(--muted2); line-height:1.6}

@media (max-width: 980px){
  .heroGrid{grid-template-columns: 1fr; }
  .priceGrid{grid-template-columns: 1fr 1fr; }
  .three{grid-template-columns: 1fr 1fr; }
  .two{grid-template-columns: 1fr;}
  .footGrid{grid-template-columns: 1fr}
  .links{justify-content:flex-start}
  nav ul{display:none}
}
@media (max-width: 560px){
  .priceGrid{grid-template-columns: 1fr;}
  .three{grid-template-columns: 1fr;}
  .plan.featured{transform:none}
}


/* =========================
   Mobile-first responsive overrides
   ========================= */

:root{
  --tap: 44px; /* recommended touch target */
}

/* Make buttons and nav controls finger-friendly on small screens */
.btn{min-height: var(--tap);}
.btn.small{min-height: 40px;}
input[type="email"]{min-height: var(--tap);}

/* Default (mobile): single-column layouts */
.heroGrid{grid-template-columns: 1fr !important;}
.priceGrid{grid-template-columns: 1fr !important;}
.three{grid-template-columns: 1fr !important;}
.two{grid-template-columns: 1fr !important;}
.footGrid{grid-template-columns: 1fr !important;}
.links{justify-content:flex-start !important;}

/* Reduce sticky header opacity on mobile for readability */
header{
  background: linear-gradient(180deg, rgba(7,10,20,.86), rgba(7,10,20,.55));
}

/* Hide desktop nav list on small screens (keeps CTA buttons visible) */
nav ul{display:none !important;}

/* Make hero padding slightly tighter on mobile */
main.hero{padding: 20px 0 14px !important;}

/* Improve readability & spacing on narrow widths */
.lead{max-width: 64ch;}
.card .in{padding:16px;}
.mockBody{padding:12px;}
.plan .top{padding:14px;}
.plan .mid{padding:0 14px 14px;}
.plan .cta{padding:14px;}

/* Tablet: 2-column grids */
@media (min-width: 560px){
  .priceGrid{grid-template-columns: 1fr 1fr !important;}
  .three{grid-template-columns: 1fr 1fr !important;}
  .card .in{padding:18px;}
  main.hero{padding: 30px 0 16px !important;}
}

/* Desktop: restore multi-column layout */
@media (min-width: 980px){
  nav ul{display:flex !important;}
  .heroGrid{grid-template-columns: 1.15fr .85fr !important;}
  .priceGrid{grid-template-columns: repeat(4, 1fr) !important;}
  .three{grid-template-columns: repeat(3, 1fr) !important;}
  .two{grid-template-columns: 1fr 1fr !important;}
  .footGrid{grid-template-columns: 1.2fr .8fr !important;}
  .links{justify-content:flex-end !important;}
  main.hero{padding: 34px 0 18px !important;}
}

section{scroll-margin-top: 94px;}

/* Brand image logo (larger for navbar) */
.brandLogoImg{
  width: 92px;
  height: 92px;
  display:block;
  border-radius: 0px;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}
.brandLogoImg.small{width:60px;height:60px;border-radius:0px; object-fit:contain; object-position:center; flex:0 0 auto;}

main.hero .lead{font-size: clamp(18px, 2.1vw, 21px);}

[data-theme="light"] .card{
  background: linear-gradient(180deg, rgba(16,23,46,.05), rgba(16,23,46,.025));
}
[data-theme="light"] .plan{
  background: rgba(16,23,46,.045);
}

/* Theme toggle: icon-only */
#themeBtn{
  width: 44px;
  justify-content: center;
  padding: 0;
}
#themeBtn .muted{display:none;}

/* Card headers: icon + title inline to save space */
.cardHead, .featHead{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.cardHead h3{margin:0;}


/* Articles list: make card clickable */
.card.clickable{position:relative;}
.cardLink{
  display:block;
  object-fit: contain;
  object-position: center;
  color: inherit;
  text-decoration:none;
}
.cardLink:focus-visible{
  outline: 2px solid rgba(120,182,255,.55);
  outline-offset: 4px;
  border-radius: 18px;
}
.card.clickable:hover{
  transform: translateY(-1px);
}
.card h3 a{color: inherit; text-decoration:none;}
.card h3 a:hover{text-decoration: underline;}

/* Navbar logo: taller */
.brandLogoImg.navLogo{
  height: 92px;
  width: 92px;
  border-radius: 0px;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}

/* Card titles: larger and punchier */
.card h3{
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -0.3px;
}

/* Pricing: highlight prices */
.plan .priceLine{
  display:flex;
  align-items:baseline;
  gap:10px;
}
.plan .price{
  display:inline-flex;
  align-items:center;
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(120,182,255,.28);
  background: linear-gradient(180deg, rgba(120,182,255,.22), rgba(120,182,255,.08));
  box-shadow: 0 16px 50px rgba(120,182,255,.12);
}
.plan.popular .price{
  border-color: rgba(140,120,255,.35);
  background: linear-gradient(180deg, rgba(140,120,255,.28), rgba(120,182,255,.10));
  box-shadow: 0 18px 60px rgba(140,120,255,.16);
}

.tag{white-space:nowrap;}

/* Pricing layout refresh */
.plan{
  background: rgba(255,255,255,0.05);
  border-radius:18px;
  padding:22px;
  border:1px solid rgba(255,255,255,0.08);
}
.plan.highlight{
  border:2px solid rgba(120,182,255,0.7);
  box-shadow: 0 0 20px rgba(120,182,255,0.15);
}
.planHeader{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:14px;
}
.planName{
  font-size:20px;
  font-weight:700;
  letter-spacing:0.3px;
}
.planPrice{
  display:flex;
  align-items:center;
  gap:10px;
}
.priceValue{
  font-size:28px;
  font-weight:800;
  padding:6px 12px;
  border-radius:10px;
  background: linear-gradient(135deg,#3aa0ff,#6bd6ff);
  color:#0b1020;
}
.bestTag{
  font-size:12px;
  font-weight:700;
  color:#6bd6ff;
}
.planStorage,
.planBandwidth{
  margin:6px 0;
  font-size:14px;
}
.planFeatures{
  margin-top:12px;
  padding-left:18px;
}
.planFeatures li{
  margin-bottom:6px;
}

/* --- Navbar sizing tweaks (tight, logo bigger) --- */
header .nav{min-height:72px;}
header .brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:inherit;
  text-decoration:none;
}
.brandLogoImg.navLogo{
  height: 92px;
  width: 92px;
  border-radius: 0px;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}
/* Don't force object-fit on footer logo */
.brandLogoImg.small{width:60px;height:60px;border-radius:0px; object-fit:contain; object-position:center; flex:0 0 auto;}

/* --- Pricing typography polish --- */
.planName{
  font-size:28px !important;
  font-weight:850 !important;
  letter-spacing:-.2px;
}
.bestTag{
  display:block;
  object-fit: contain;
  object-position: center;
  margin-top:6px;
  font-size:12px;
  font-weight:900;
  color: #ffe08a; /* bluish-yellowish highlight */
  text-shadow: 0 0 18px rgba(120,182,255,.18);
}

.priceStack{display:flex; flex-direction:column; align-items:flex-end; gap:0;}

/* --- Fix: icon-title alignment on cards --- */
.cardHead{display:flex; align-items:center; gap:10px; margin-bottom:10px;}
.cardHead .icon{flex:0 0 auto;}
.cardHead h3{margin:0;}

/* --- Fix: navbar logo larger without extra padding --- */
header .nav{
  height: 86px;}
.brandLogoImg.navLogo{
  height: 92px;
  width: 92px;
  border-radius: 0px;
  object-fit: contain;
  object-position: center;
  flex: 0 0 auto;
}

/* --- Fix: footer logo keep natural aspect (no squish) --- */
.brandLogoImg.small{width:60px;height:60px;border-radius:0px; object-fit:contain; object-position:center; flex:0 0 auto;}

/* --- Best value badge under price, blue-yellow pop --- */
.bestTag{
  display:inline-flex !important;
  align-items:center;
  gap:6px;
  margin-top:8px !important;
  padding:4px 10px;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(120,182,255,.92), rgba(255,224,138,.96));
  color:#0b1020 !important;
  font-weight:900 !important;
  letter-spacing:.2px;
  box-shadow: 0 10px 26px rgba(120,182,255,.12);
}

/* Pricing typography tweaks */
.planName{font-size:22px;}
.priceValue{font-size:30px;}
.planPrice{flex-direction:column; align-items:flex-end;}
.bestTag{
  margin-top:6px;
  color:#ffd76b;
  background: rgba(120,182,255,.10);
  border:1px solid rgba(255,215,107,.35);
  padding:4px 8px;
  border-radius:999px;
}

/* Pricing alignment + stronger Best value */
.planHeader{
  align-items:flex-start !important;
}
.planName{
  line-height: 1.1;
  padding-top: 2px;
}
.planPrice{
  align-items:flex-end !important;
}
.bestTag{
  color:#0b1020 !important;
  background: linear-gradient(135deg, rgba(120,182,255,.95), rgba(255,215,107,.95)) !important;
  border: none !important;
  font-weight: 900 !important;
  letter-spacing: .2px;
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}

.planFeatures{
  list-style: disc;
}

/* Navbar tightening */
header .wrap{padding-top: 0 !important; padding-bottom: 0 !important;}
.nav{padding: 0 !important;}
.brand{gap: 14px !important;}

/* Bigger, tighter shield in navbar */
.brandLogoImg, .navLogo{
  width: 86px !important;
  height: 86px !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Brand text 20% larger */
.brand > div > div:first-child{font-size: 18px !important;}
.brand > div .muted2{font-size: 14px !important;}

/* Footer logo slightly larger */
footer .brandLogoImg.small{width:64px !important; height:64px !important;}

/* Adjusted shield sizing per refinement */
.nav{
  height: 82px !important;
}

.brandLogoImg, .navLogo{
  width: 64px !important;
  height: 64px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

footer .brandLogoImg.small{
  width: 52px !important;
  height: 52px !important;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

/* Card titles: less bold on icon cards */
.cardHead h3, .featHead h3, .card h3{
  font-weight: 600 !important;
}

/* Best value under tier name */
.planName + .bestTag{
  display:inline-block;
  margin-top:6px;
  margin-bottom:10px;
}

/* Keep pricing header alignment */
.planHeader{align-items:flex-start;}

/* Navbar refinements */
.brand{gap: 10px !important;}
.nav{height: 78px !important; padding: 0 !important;}
.brandLogoImg, .navLogo{width: 62px !important; height: 62px !important; padding: 0 !important; margin: 0 !important;}
header .wrap{padding-top: 0 !important; padding-bottom: 0 !important;}

/* Brand text bigger */
.brand > div > div:first-child{font-size: 22px !important;}
.brand > div .muted2{font-size: 16px !important;}

/* Navbar menu backlight */
nav[aria-label="Primary"] a{
  position: relative;
  padding: 10px 12px;
  border-radius: 999px;
  transition: background .18s ease, box-shadow .18s ease, transform .18s ease;
}
nav[aria-label="Primary"] a:hover{
  background: rgba(120,182,255,.10);
  box-shadow: 0 10px 24px rgba(0,0,0,.18), 0 0 0 1px rgba(120,182,255,.18) inset;
  transform: translateY(-1px);
}

/* Pricing suffix */
.priceSuffix{margin-left:6px; font-weight:900; font-size:14px; opacity:.78;}
.plan[data-billing="annual"] .priceValue{
  background: linear-gradient(135deg, rgba(68,203,121,.95), rgba(152,255,185,.95)) !important;
  color:#0b1020 !important;
}
.plan[data-billing="annual"] .priceSuffix{opacity:.9;}

/* Pricing inline /mo styling */
.priceInlineSuffix{
  font-size: 0.6em;
  font-weight: 700;
  margin-left: 4px;
  opacity: .75;
}

/* Ensure bullet list styling */
.planFeatures{
  list-style: disc;
  padding-left: 18px;
}
.planFeatures li{
  margin-bottom: 6px;
}

/* Best value below title */
.planName + .bestTag{
  display:block;
  margin-top:8px;
  margin-bottom:10px;
}

/* Billing toggle UI */
.billingRow{
  display:flex;
  align-items:center;
  gap:12px;
  margin: 14px 0 18px;
}
.billingLabel{
  font-weight:800;
  font-size:13px;
  opacity:.9;
}
.saveBadge{
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  background: rgba(120,182,255,.12);
  border: 1px solid rgba(120,182,255,.22);
  font-weight:900;
}
.switch{
  position:relative;
  display:inline-block;
  width:52px;
  height:30px;
}
.switch input{display:none;}
.slider{
  position:absolute;
  cursor:pointer;
  inset:0;
  background: rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  transition:.2s ease;
}
.slider:before{
  content:"";
  position:absolute;
  height:22px;
  width:22px;
  left:4px;
  top:50%;
  transform: translateY(-50%);
  background: rgba(120,182,255,.95);
  border-radius:999px;
  transition:.2s ease;
}
.switch input:checked + .slider{
  background: rgba(68,203,121,.12);
  border-color: rgba(68,203,121,.30);
}
.switch input:checked + .slider:before{
  left:26px;
  background: rgba(68,203,121,.95);
}

/* Price inline suffix: tighter spacing */
.priceInlineSuffix{margin-left:2px !important;}

/* Plus title block (name + best value stacked) */
.planTitleBlock{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.planTitleBlock .bestTag{
  display:inline-block;
  margin-top:8px;
}

/* H1 accent word */
.accentWord{
  background: linear-gradient(135deg, var(--accent), var(--warn));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* Section header row (Built for privacy) */
.headerRow{
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px;
}
.headerLeft{max-width: 760px;}

.transparencyNote{
  margin-top: 28px;
  padding: 18px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(120,182,255,.08), rgba(255,214,124,.08));
  border: 1px solid rgba(120,182,255,.18);
  font-weight: 700;
  text-align: center;
}

/* --- Pricing overhaul --- */
.priceGrid{
  display:grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .priceGrid{grid-template-columns: repeat(2, minmax(220px, 1fr));}
}
@media (max-width: 620px){
  .priceGrid{grid-template-columns: 1fr;}
}

.plan{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 18px 44px rgba(0,0,0,0.18);
  display:flex;
  flex-direction:column;
  gap: 14px;
}
.plan.highlight{
  border: 2px solid rgba(120,182,255,0.65);
  box-shadow: 0 22px 60px rgba(0,0,0,0.22), 0 0 0 1px rgba(120,182,255,0.15) inset;
}

.planHeader{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 12px;
}
.planTitleBlock{display:flex; flex-direction:column; gap: 8px;}
.planName{
  font-size: 24px;
  font-weight: 850;
  letter-spacing: .2px;
}
.bestTag{
  display:inline-block;
  align-self:flex-start;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  color: #0b1020;
  background: linear-gradient(135deg, rgba(120,182,255,.95), rgba(255,215,107,.95));
}

.planPrice{display:flex; align-items:flex-start; justify-content:flex-end;}
.priceValue{
  font-size: 30px;
  font-weight: 900;
  padding: 8px 12px;
  border-radius: 14px;
  background: linear-gradient(135deg,#3aa0ff,#6bd6ff);
  color:#0b1020;
  line-height: 1;
  white-space: nowrap;
}
.priceInlineSuffix{
  font-size: 0.60em;
  font-weight: 800;
  margin-left: 2px;
  opacity: .85;
}

.plan[data-billing="annual"] .priceValue{
  background: linear-gradient(135deg, rgba(68,203,121,.95), rgba(152,255,185,.95)) !important;
  color:#0b1020 !important;
}

/* Caps rows */
.planCaps{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.capRow{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}
.capIcon{width: 18px; text-align:center; opacity:.9;}

/* Feature list with tiny icon markers */
.iconList{
  list-style:none;
  padding-left: 0;
  margin: 0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.iconList li{
  position:relative;
  padding-left: 18px;
  opacity: .95;
}

/* Cap icon padding */
.capIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
}

/* Feature list arrow icons */
.iconList li{
  display:flex;
  align-items:flex-start;
  gap: 10px;
  padding-left: 0 !important;
}
.liIcon{
  margin-top: 2px;
  font-size: 12px;
  opacity: .85;
  flex: 0 0 auto;
}

/* Starter FREE pill */
.plan[data-tier="starter"] .priceValue{
  text-transform: uppercase;
  letter-spacing: .6px;
}

/* Pricing: combined caps box */
.capBox{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 12px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.capLine{
  display:flex;
  align-items:center;
  gap: 10px;
}
.capIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.12);
}

/* Keep arrow icon as an element */
.iconList{list-style:none; padding-left:0; margin:0; display:flex; flex-direction:column; gap:8px;}
.iconList li{display:flex; gap:10px; align-items:flex-start; padding-left:0 !important;}
.liIcon{margin-top:2px; font-size:12px; opacity:.85; flex:0 0 auto;}

/* Pricing toggle: right aligned */
.billingRowRight{justify-content:flex-end; width:100%;}

/* Unified storage/download box */
.capBox{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  padding: 16px;
  margin-top: 12px;
  margin-bottom: 12px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.capLine{
  display:flex;
  align-items:center;
  gap:12px;
}

.capIcon{
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.18);
}

.iconList li{
  display:flex;
  gap:10px;
  margin-bottom:6px;
}

.liIcon{
  font-size:12px;
  opacity:.85;
  margin-top:3px;
}

/* Pricing: keep capBox aligned by stabilizing header height */
.planHeader{min-height: 74px;}

/* Pricing: footer tag pills */
.planFooter{
  margin-top: 10px;
  display:flex;
  justify-content:flex-start;
}
.footerTag{
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 12px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  opacity: .95;
}
.footerTag.highlight{
  background: linear-gradient(135deg, rgba(120,182,255,.95), rgba(255,215,107,.95));
  color: #0b1020;
  border-color: rgba(120,182,255,.35);
}


/* Bootstrap-style card footer */
.plan{
  display:flex;
  flex-direction:column;
}

.cardFooter{
  margin-top:auto;
  border-top: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  padding: 14px 16px;
  border-radius: 0 0 18px 18px;
}

.cardFooterInner{
  font-weight: 800;
  font-size: 13px;
  opacity: .9;
}

.plan.highlight .cardFooter{
  background: linear-gradient(135deg, rgba(120,182,255,.18), rgba(255,215,107,.18));
  border-top-color: rgba(120,182,255,.35);
}

/* v30 footer flush + matching radius */
.plan{
  padding: 0 !important; /* body carries padding */
  overflow: hidden;      /* ensure footer background reaches rounded corners */
}

.planBody{
  padding: 20px;
  display:flex;
  flex-direction:column;
  gap: 14px;
}

/* footer flush to edges and matching radius */
.cardFooter{
  margin: 0 !important;
  border-radius: 0 !important;
  border-top: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  padding: 14px 16px;
}

.plan.highlight .cardFooter{
  background: linear-gradient(135deg, rgba(120,182,255,.18), rgba(255,215,107,.18));
  border-top-color: rgba(120,182,255,.35);
}

/* v31: unify card layout + reduce internal gaps */
.plan{
  display:flex;
  flex-direction:column;
}
.planBody{
  flex: 1 1 auto;
  gap: 10px !important; /* was 14 */
}
.planHeader{min-height: 74px; align-items:flex-start;}
.planPrice{align-items:flex-start;}

.capBox{margin-top: 8px !important; margin-bottom: 8px !important;}
.iconList{gap: 6px !important;}
.iconList li{margin-bottom: 0 !important;}

/* Ensure starter/basic match same card visuals */
.plan:not(.highlight){
  border-color: rgba(255,255,255,0.10) !important;
}

/* v32: tighten vertical spacing inside pricing cards */
.planBody{ gap: 8px !important; }
.planHeader{ margin-bottom: 2px !important; }
.capBox{ margin-top: 6px !important; margin-bottom: 6px !important; }
.planFeatures{ margin-top: 4px !important; margin-bottom: 6px !important; }
.cta{ margin-top: 6px !important; margin-bottom: 8px !important; }
.cta .btn{ padding-top: 10px; padding-bottom: 10px; }
.cardFooter{ padding-top: 12px !important; padding-bottom: 12px !important; }
