:root{
  color-scheme:dark;
  /* Matches fixed header height for body padding-top */
  --site-header-h: 72px;
  --bg0:#070A12;
  --bg1:#0B1223;
  --card:#0E1730;
  --card2:#0B132C;
  --text:#EAF0FF;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.56);
  --border:rgba(234,240,255,.12);
  --primary:#6D5CFF;
  --primary2:#33D6FF;
  --good:#22C55E;
  --warn:#F59E0B;
  --shadow:0 18px 50px rgba(0,0,0,.45);
  --radius:18px;
  --radius2:14px;
  --container:1280px;
  --home-head-gap:28px;
  --font:ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{
  margin:0;
  padding-top:var(--site-header-h);
  font-family:var(--font);
  /* Vertical gradient only; avoids horizontal banding at section edges */
  background:linear-gradient(180deg, var(--bg0), var(--bg1) 55%, var(--bg0));
  color:var(--text);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
body.nav-menu-open{
  overflow:hidden;
}
main{
  flex:1;
  padding-bottom:clamp(24px,4vw,40px);
  /* Avoid min-height:0 on main when body is a flex column (footer layout glitch on long pages) */
}
/* Legal pages: tighter main bottom padding above contact bar */
body.page-legal main{
  padding-bottom:10px;
}

/* Home: all page h2 headings as uppercase display type */
body.page-home h2{
  text-transform:uppercase;
  letter-spacing:0.04em;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.container{
  width:100%;
  max-width:var(--container);
  padding:0 20px;
  margin:0 auto;
}

/* Skip backdrop-filter on header: it traps fixed .nav / .nav-backdrop to header height. */
.header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:20;
  background:rgba(7,10,18,.82);
  border-bottom:1px solid rgba(234,240,255,.08);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 0;
  gap:16px;
}

.brand{
  display:flex;
  align-items:center;
  flex-shrink:0;
  text-decoration:none;
  color:inherit;
  line-height:1;
}
.brand:hover .brand__img{
  opacity:.94;
}
/* Wordmark PNG (~536×166); height scales with nav for readability */
.brand__img{
  display:block;
  height:clamp(30px,5.8vw,42px);
  width:auto;
}
.brand__img--theme-light{
  display:none;
}
html[data-theme="light"] .brand__img--theme-dark{
  display:none;
}
html[data-theme="light"] .brand__img--theme-light{
  display:block;
}
.brand__img--footer{
  height:clamp(36px,6.5vw,50px);
}

.nav{
  display:flex;
  gap:18px;
  align-items:center;
}
.nav__link{
  font-size:14px;
  color:var(--muted);
  padding:10px 10px;
  border-radius:999px;
  border:1px solid transparent;
}
.nav__link:hover{
  color:var(--text);
  border-color:rgba(234,240,255,.14);
  background:rgba(234,240,255,.06);
}
.nav__link--active{
  color:var(--text);
  border-color:rgba(234,240,255,.14);
  background:rgba(234,240,255,.06);
}
.nav__link--dropdown:after{
  content:"▾";
  font-size:12px;
  opacity:.9;
  margin-left:8px;
  position:relative;
  top:-1px;
}

.nav-dropdown{
  position:relative;
}
.nav-dropdown > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.nav-dropdown > summary::-webkit-details-marker{display:none}
.nav-dropdown__menu{
  display:none;
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:220px;
  padding:8px;
  border-radius:14px;
  border:1px solid rgba(234,240,255,.12);
  background:rgba(7,10,18,.85);
  backdrop-filter: blur(10px);
  box-shadow:0 18px 60px rgba(0,0,0,.4);
  z-index:50;
}
.nav-dropdown[open] .nav-dropdown__menu,
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  display:block;
}
.nav-dropdown__link{
  display:block;
  font-size:14px;
  color:var(--muted);
  padding:10px 12px;
  border-radius:12px;
  border:1px solid transparent;
  margin:4px 0;
  background:transparent;
}
.nav-dropdown__link:hover{
  color:var(--text);
  border-color:rgba(234,240,255,.14);
  background:rgba(234,240,255,.06);
}
.nav-dropdown__link.active{
  color:var(--text);
  border-color:rgba(234,240,255,.14);
  background:rgba(234,240,255,.06);
}

.nav-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  margin:0;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(234,240,255,.05);
  color:rgba(234,240,255,.88);
  cursor:pointer;
  flex-shrink:0;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.nav-menu-toggle:hover{
  border-color:rgba(234,240,255,.24);
  background:rgba(234,240,255,.1);
  color:var(--text);
}
.nav-menu-toggle:focus-visible{
  outline:2px solid rgba(51,214,255,.45);
  outline-offset:2px;
}
.nav-menu-toggle__icon{
  display:flex;
  align-items:center;
  justify-content:center;
}
.nav-menu-toggle__icon--shut{
  display:none;
}
.header--nav-open .nav-menu-toggle__icon--open{
  display:none;
}
.header--nav-open .nav-menu-toggle__icon--shut{
  display:flex;
}
.nav-backdrop{
  display:none;
  position:fixed;
  inset:0;
  z-index:18;
  background:rgba(0,0,0,.48);
  pointer-events:none;
  opacity:0;
  transition:opacity .24s ease;
}
.header--nav-open .nav-backdrop{
  display:block;
  pointer-events:auto;
  opacity:1;
}

.visually-hidden{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.header-tools{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-shrink:0;
}
.lang-select{
  appearance:none;
  -webkit-appearance:none;
  font-size:13px;
  font-weight:650;
  padding:9px 32px 9px 12px;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.14);
  color:var(--muted);
  background:rgba(234,240,255,.05) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23eaf0ff' fill-opacity='0.55' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E") no-repeat right 10px center;
  background-size:12px 12px;
  cursor:pointer;
  min-width:108px;
  max-width:160px;
  line-height:1.25;
}
.lang-select:hover{
  border-color:rgba(234,240,255,.22);
  color:var(--text);
  background-color:rgba(234,240,255,.08);
}
.lang-select:focus{
  outline:none;
  border-color:rgba(109,92,255,.55);
  box-shadow:0 0 0 3px rgba(109,92,255,.2);
}
.theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  margin:0;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(234,240,255,.05);
  color:rgba(234,240,255,.88);
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.theme-toggle:hover{
  border-color:rgba(234,240,255,.24);
  background:rgba(234,240,255,.1);
  color:var(--text);
}
.theme-toggle:focus-visible{
  outline:2px solid rgba(51,214,255,.45);
  outline-offset:2px;
}
.theme-toggle__icon{
  display:flex;
  align-items:center;
  justify-content:center;
}
html:not([data-theme="light"]) .theme-toggle__icon--moon,
html[data-theme="light"] .theme-toggle__icon--sun{
  display:none;
}

.hero{
  /* Tall band like reference hero: room for large display type */
  padding:clamp(88px, 10vw, 152px) 0 clamp(72px, 8.5vw, 124px);
}
.hero__grid{
  display:grid;
  grid-template-columns: 1.25fr .95fr;
  gap:clamp(22px, 3.5vw, 40px);
  align-items:stretch;
}

.hero__left{
  padding:clamp(8px, 1.5vw, 18px) 0;
  display:flex;
  flex-direction:column;
}
.hero__left-spacer{
  flex:1 1 auto;
}
.pill{
  position:relative;
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(234,240,255,.12);
  /* Frosted glass: light fill + backdrop blur */
  background:rgba(234,240,255,.06);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--muted);
  font-size:14px;
  max-width:360px; /* Cap pill width in hero column */
  align-self:flex-start; /* Don’t stretch full width in flex column */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* Pill status dot pulse */
.pill::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:none;
  flex:0 0 auto;
  animation:pillDotBreath 1.8s ease-in-out infinite;
}
@keyframes pillDotBreath{
  0%,100%{
    opacity:.78;
    transform:translateY(0) scale(1);
  }
  50%{
    opacity:1;
    transform:translateY(0) scale(1.14);
  }
}
@media (prefers-reduced-motion: reduce){
  .pill::before{animation:none;}
}
.hero__title{
  margin:clamp(16px, 1.8vw, 24px) 0 clamp(14px, 1.6vw, 20px);
  font-size:clamp(40px, 4.25vw, 60px);
  line-height:1.06;
  letter-spacing:-0.02em;
  color:var(--text);
}

/* Legacy hero title accent (unused for whole-word gradient) */
.hero__title-grad{
  /* Legacy class; no per-word gradient */
  color:inherit;
  background:none;
}

/* Whole-keyword gradient accent */
.hero__title-grad-word{
  /* Dark theme: purple→cyan aligned with primary button */
  background:linear-gradient(90deg,
    rgba(109,92,255,.98) 0%,
    rgba(126,88,255,.96) 45%,
    rgba(51,214,255,.88) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

/* Mid-word letter gradient (EN hero) */
.hero__title-grad-mid{
  /* Gradient clip on span; cyan/blue emphasis */
  background:linear-gradient(90deg,
    rgba(56,189,248,.98) 0%,
    rgba(14,165,233,.98) 48%,
    rgba(2,132,199,.96) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}

.hero__title-grad-mid::after{
  /* Legacy ::after gradient disabled */
  content:none !important;
  display:none !important;
}
.hero__sub{
  margin:0 0 clamp(22px, 2.5vw, 32px);
  max-width:54ch;
  color:var(--muted);
  font-size:clamp(16px, 1.15vw, 19px);
  line-height:1.62;
}
.hero__cta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:clamp(14px, 2.8vw, 26px);
  row-gap:12px;
  margin-top:clamp(18px, 2.2vw, 28px);
  max-width:62ch;
}
.hero__cta .btn{
  flex:0 0 auto;
}
.hero__user-stat{
  margin:0;
  flex:1 1 220px;
  min-width:0;
}
.hero__user-stat__row{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:6px 10px;
  font-size:15px;
  line-height:1.35;
  color:var(--muted);
}
.hero__user-stat__num-wrap{
  display:inline-flex;
  align-items:baseline;
  gap:1px;
}
.hero__user-stat__num{
  font-variant-numeric:tabular-nums;
  font-weight:850;
  font-size:1.35rem;
  letter-spacing:-.03em;
  background:linear-gradient(90deg,
    rgba(109,92,255,.95) 0%,
    rgba(129,140,248,.9) 40%,
    rgba(51,214,255,.88) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
.hero__user-stat__num.is-anim-done{
  animation:heroUserStatPulse 2.8s ease-in-out infinite;
}
.hero__user-stat__plus{
  font-weight:850;
  font-size:1.2rem;
  color:rgba(51,214,255,.82);
  margin-left:1px;
}
.hero__user-stat__label{
  color:var(--muted2);
  font-size:14px;
}
@keyframes heroUserStatPulse{
  0%,100%{filter:brightness(1); opacity:1;}
  50%{filter:brightness(1.08); opacity:.96;}
}
@media (prefers-reduced-motion: reduce){
  .hero__user-stat__num.is-anim-done{animation:none;}
}
@media (max-width: 520px){
  .hero__cta{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
  }
  .hero__user-stat{
    flex:none;
    width:100%;
  }
}

.btn{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:12px 18px;
  border-radius:12px;
  border:1px solid rgba(234,240,255,.14);
  font-weight:650;
  font-size:14px;
  line-height:1.25;
  transition: transform .1s ease, background .15s ease, border-color .15s ease;
}

.auth-card .btn[disabled]{
  opacity:.65;
  cursor:not-allowed;
  transform:none;
}
.btn:active{transform: translateY(1px)}
.btn--primary{
  border-color:rgba(109,92,255,.65);
  background:linear-gradient(135deg, rgba(109,92,255,.85), rgba(51,214,255,.35));
  box-shadow:0 14px 40px rgba(109,92,255,.25);
}
.btn--primary:hover{
  background:linear-gradient(135deg, rgba(109,92,255,.95), rgba(51,214,255,.45));
}
.btn--ghost{
  background:rgba(234,240,255,.03);
}
.btn--ghost:hover{
  border-color:rgba(234,240,255,.24);
  background:rgba(234,240,255,.06);
}
.btn--block{
  width:100%;
}

.hero__stats{
  display:flex;
  gap:20px;
  margin-top:30px;
  flex-wrap:wrap;
}
.stat{
  padding:16px 16px;
  min-width:182px;
  border-radius:18px;
  border:1px solid rgba(234,240,255,.10);
  background:rgba(234,240,255,.03);
}
.stat__num{
  font-weight:850;
  font-size:20px;
  letter-spacing:-.2px;
}
.stat__label{
  color:var(--muted);
  margin-top:6px;
  font-size:13px;
}

.hero__right{
  display:flex;
  align-items:flex-start;
}

.card{
  width:100%;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.92), rgba(11,19,44,.86));
  box-shadow:var(--shadow);
  padding:18px;
}
.card--glow{
  position:relative;
  overflow:hidden;
}
.card--glow:before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(420px 220px at 20% 0%, rgba(109,92,255,.35), transparent 60%),
             radial-gradient(420px 220px at 90% 20%, rgba(51,214,255,.25), transparent 55%);
  pointer-events:none;
}
.card > *{position:relative; z-index:1}
.card__title{
  font-weight:800;
  margin-bottom:12px;
  font-size:16px;
}
.bullets{
  margin:0;
  padding-left:16px;
  color:var(--muted);
  line-height:1.7;
}
.divider{
  height:1px;
  background:rgba(234,240,255,.10);
  margin:16px 0;
}
.fineprint{
  margin-top:12px;
  color:var(--muted2);
  font-size:12px;
  line-height:1.6;
}

/* VPS node pages: centered header; LG/test IP inline, minimal chrome */
.vps-node-section{
  padding-top:clamp(48px, 7vw, 76px);
  padding-bottom:clamp(40px, 5vw, 64px);
}
.vps-node-header{
  text-align:center;
  margin:0 auto 32px;
  max-width:920px;
}
.vps-node-header__title{
  margin:0 auto 16px;
  font-size:clamp(20px, 2.8vw, 30px);
  font-weight:850;
  letter-spacing:-.02em;
  line-height:1.25;
  color:rgba(234,240,255,.96);
  text-shadow:0 1px 18px rgba(0,0,0,.35);
}
.vps-node-meta{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin-top:2px;
  padding:14px 16px 0;
  border-top:1px solid rgba(234,240,255,.08);
  max-width:min(640px,100%);
  margin-left:auto;
  margin-right:auto;
}
.vps-node-meta__line{
  margin:0;
  width:100%;
  font-size:14px;
  line-height:1.55;
  text-align:center;
  color:var(--muted);
}
.vps-node-meta__label{
  font-weight:650;
  color:var(--muted2);
  font-size:13px;
}
.vps-node-meta__sep{
  display:inline-block;
  margin:0 6px;
  color:rgba(234,240,255,.22);
  font-weight:400;
}
.vps-node-meta__value{
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:13px;
  font-weight:500;
  color:rgba(234,240,255,.88);
  background:rgba(234,240,255,.04);
  padding:2px 6px;
  border-radius:6px;
  word-break:break-all;
}
a.vps-node-meta__lg{
  text-decoration:none;
  border-radius:8px;
  outline-offset:2px;
}
a.vps-node-meta__lg:hover .vps-node-meta__value,
a.vps-node-meta__lg:focus-visible .vps-node-meta__value{
  background:rgba(51,214,255,.14);
  color:rgba(255,255,255,.96);
}
.vps-pricing-grid{
  margin-top:4px;
}
/* VPS pricing grid: 3 / 2 / 1 cols by breakpoint */
.pricing.vps-pricing-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  max-width:1320px;
  margin-left:auto;
  margin-right:auto;
}
@media (max-width:1100px){
  .pricing.vps-pricing-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:640px){
  .pricing.vps-pricing-grid{
    grid-template-columns:1fr;
  }
}
/* VPS: outer grid 3 cols; spec list single column inside cards for readability */
.vps-pricing-grid .price-card__list{
  grid-template-columns:1fr;
  column-gap:0;
  row-gap:10px;
}
.vps-pricing-grid .price-card__list li:last-child:nth-child(odd){
  grid-column:auto;
}
.vps-pricing-grid .price-card__list li{
  word-break:normal;
  overflow-wrap:break-word;
  hyphens:manual;
  font-size:12.5px;
  line-height:1.45;
  padding:8px 10px;
  letter-spacing:-.01em;
}
.vps-pricing-grid .price-card__list li.price-card__feat{
  align-items:center;
  gap:8px;
  padding-left:9px;
}
.vps-pricing-grid .price-card__feat::before{
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-top:0;
  background-size:16px 16px;
}
.vps-page-hero{
  padding-top:clamp(52px, 7vw, 80px);
  padding-bottom:clamp(44px, 6vw, 64px);
}
.vps-page-hero .section__lead--center{
  margin-top:18px;
  margin-bottom:8px;
  font-size:16px;
  max-width:62ch;
}

.section{
  padding:72px 0;
  margin-top:25px !important;
}
.section--alt{
  background:rgba(234,240,255,.02);
  border-top:1px solid rgba(234,240,255,.06);
  border-bottom:1px solid rgba(234,240,255,.06);
}
.section__title{
  margin:0;
  font-size:28px;
  letter-spacing:-.3px;
}
.section__lead{
  margin:12px 0 18px;
  color:var(--muted);
  line-height:1.7;
  max-width:70ch;
}

.cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-top:24px;
}
/* Home VPS overview: 2×2 cards (HK / Seattle / Windows / contact) */
.cards--vps-overview{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
  gap:16px;
}
@media (max-width: 700px){
  .cards--vps-overview{
    grid-template-columns:1fr;
  }
}
.product-cards{
  grid-template-columns: repeat(4, 1fr);
}
.product-cards .feature__badge{
  margin-top:12px;
}

.plan-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:16px;
  margin-top:18px;
}
.plan-card{
  position:relative;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.66), rgba(11,19,44,.55));
  padding:0;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  height:100%;
  overflow:hidden;
}
.plan-card--featured{
  border-color:rgba(109,92,255,.55);
  background:linear-gradient(165deg, rgba(109,92,255,.16), rgba(14,23,48,.72), rgba(11,19,44,.58));
  box-shadow:
    0 0 0 1px rgba(51,214,255,.22),
    0 18px 48px rgba(109,92,255,.22),
    0 12px 36px rgba(0,0,0,.28);
  z-index:1;
}
.plan-card--featured:hover{
  border-color:rgba(51,214,255,.5);
  box-shadow:
    0 0 0 1px rgba(51,214,255,.35),
    0 22px 56px rgba(109,92,255,.28),
    0 18px 48px rgba(0,0,0,.3);
}
.plan-card__ribbon{
  position:absolute;
  top:14px;
  right:12px;
  z-index:2;
  padding:6px 12px;
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(234,240,255,.98);
  background:linear-gradient(135deg, rgba(109,92,255,.95), rgba(51,214,255,.45));
  border:1px solid rgba(234,240,255,.28);
  box-shadow:0 4px 16px rgba(109,92,255,.4), inset 0 1px 0 rgba(255,255,255,.15);
  pointer-events:none;
}
.plan-card--featured .plan-card__head{
  padding-right:88px;
}
@media (max-width:640px){
  .plan-card--featured .plan-card__head{
    padding-right:0;
    padding-top:36px;
  }
  .plan-card__ribbon{
    top:10px;
    right:10px;
  }
}
.plan-card__head{
  flex-shrink:0;
  padding:20px 22px 18px;
  text-align:left;
  background:linear-gradient(165deg, rgba(109,92,255,.14), rgba(14,23,48,.42) 55%, rgba(11,19,40,.38));
  border-bottom:1px solid rgba(234,240,255,.12);
  box-shadow:inset 0 -1px 0 rgba(51,214,255,.06);
}
.plan-card--featured .plan-card__head{
  background:linear-gradient(165deg, rgba(109,92,255,.22), rgba(14,23,48,.5) 50%, rgba(11,19,44,.42));
  border-bottom-color:rgba(51,214,255,.18);
}
.plan-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:22px 22px 28px;
}
.plan-card__k{
  color:var(--muted2);
  font-size:12px;
  font-weight:800;
  letter-spacing:.2px;
  line-height:1.35;
}
.plan-card__name{
  margin-top:8px;
  font-size:17px;
  font-weight:900;
  line-height:1.25;
  color:rgba(234,240,255,.98);
  letter-spacing:-.02em;
}
.plan-card__price{
  margin:0 0 4px;
  font-size:24px;
  font-weight:950;
  letter-spacing:-.3px;
  line-height:1.2;
}
.plan-card__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:14px;
  margin-bottom:22px;
  flex:1;
}
.plan-card__label{
  color:var(--muted2);
  font-size:12px;
  font-weight:850;
  margin-top:10px;
}
.plan-card__list li{
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
}
.plan-card:hover{
  border-color:rgba(109,92,255,.45);
}

.plan-card .btn{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  margin-top:auto; /* align buttons across cards */
  white-space:nowrap;
}

.feature{
  border:1px solid rgba(234,240,255,.10);
  border-radius:var(--radius2);
  background:rgba(234,240,255,.03);
  padding:18px;
}
.feature__title{
  margin:0;
  font-size:16px;
}

.section__title--center{
  text-align:center;
}
.section__lead--center{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}

/* Order blocks inside the "Product highlights" section */
.section[aria-label="Product highlights"] .container{
  display:flex;
  flex-direction:column;
}
/* Home sections: consistent title/lead to content spacing */
.section[aria-label="Product highlights"] .order-block{
  --home-head-gap:28px;
}
.section[aria-label="Product highlights"] .section__title{
  margin-bottom:12px;
}
.section[aria-label="Product highlights"] .section__lead{
  margin:12px auto var(--home-head-gap);
}
.section[aria-label="Product highlights"] .plan-grid,
.section[aria-label="Product highlights"] .advantages-row{
  margin-top:0; /* overwritten individually below */
}
.section[aria-label="Product highlights"] .plan-grid{
  margin-top:18px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:14px;
}
@media (min-width: 641px) and (max-width: 1180px){
  .section[aria-label="Product highlights"] .plan-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
#home-product{
  scroll-margin-top:88px;
}
.vps-node-section[id]{
  scroll-margin-top:88px;
}
.section[aria-label="Product highlights"] .advantages-row{
  margin-top:18px;
}
.section[aria-label="Product highlights"] .dc-kicker{
  margin:0 0 14px;
}
.section[aria-label="Product highlights"] .dc-heading{
  margin:0 0 var(--home-head-gap);
}
.section[aria-label="Product highlights"] .dc-shell{
  margin-top:22px;
}
/* Suppliers: title/lead in .container; rhythm matches other home blocks */
.section.order-suppliers > .container .section__title:last-child{
  margin-bottom:var(--home-head-gap);
}
.order-block{order:0}
.order-adv{order:1}
.order-plans{order:2}
.order-platform{order:3}
.order-map{order:4}
.order-cta{
  order:5;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:center;
  align-items:stretch;
  width:100%;
  box-sizing:border-box;
  margin-top:18px;
  margin-bottom:clamp(16px,3vw,32px);
  padding-bottom:clamp(8px,2vw,16px);
}
/* Home CTA row: equal-height buttons; tame primary glow vs ghosts */
.order-cta .btn{
  min-height:44px;
  min-width:min(100%,11.5rem);
  padding-left:18px;
  padding-right:18px;
  box-sizing:border-box;
}
.order-cta .btn--primary{
  box-shadow:0 8px 22px rgba(109,92,255,.18);
}
.order-cta .btn--primary:hover{
  box-shadow:0 10px 26px rgba(109,92,255,.22);
}
.order-platform{
  width:100%;
  box-sizing:border-box;
  margin-top:clamp(8px,2vw,20px);
  padding-top:clamp(20px,4vw,40px);
  padding-bottom:clamp(8px,2vw,20px);
  border-top:1px solid rgba(234,240,255,.08);
}
html[data-theme="light"] .order-platform{
  border-top-color:rgba(15,23,42,.08);
}
.section[aria-label="Product highlights"] .order-platform .section__lead{
  max-width:40rem;
}
.home-platform__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2.8vw,28px);
  margin-top:clamp(8px,1.8vw,20px);
  align-items:stretch;
}
@media (max-width:1100px){
  .home-platform__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:700px){
  .home-platform__grid{
    grid-template-columns:1fr;
  }
}
.home-platform__figure{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-self:stretch;
  min-height:0;
}
.home-platform__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 2px;
}
.home-platform__kicker{
  font-size:13px;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:rgba(186,207,243,.92);
}
html[data-theme="light"] .home-platform__kicker{
  color:rgba(30,58,138,.85);
}
.home-platform__frame{
  border-radius:14px;
  overflow:hidden;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(5,14,38,.55);
  box-shadow:
    0 1px 0 rgba(255,255,255,.04) inset,
    0 22px 48px rgba(0,0,0,.35);
  cursor:zoom-in;
  transition:box-shadow 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  width:100%;
  aspect-ratio:1024 / 616;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-platform__frame:hover{
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 28px 56px rgba(0,0,0,.42);
}
html[data-theme="light"] .home-platform__frame{
  border-color:rgba(15,23,42,.1);
  background:#f1f5f9;
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 18px 40px rgba(15,23,42,.08);
}
html[data-theme="light"] .home-platform__frame:hover{
  box-shadow:
    0 1px 0 rgba(255,255,255,.85) inset,
    0 22px 48px rgba(15,23,42,.14);
}
.home-platform__img{
  display:block;
  width:100%;
  height:100%;
  vertical-align:middle;
  object-fit:contain;
  object-position:center top;
  transform:scale(1);
  transform-origin:center center;
  transition:transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  will-change:transform;
}
.home-platform__frame:hover .home-platform__img{
  transform:scale(1.06);
}
@media (prefers-reduced-motion:reduce){
  .home-platform__frame{
    cursor:default;
    transition:none;
  }
  .home-platform__img{
    transition:none;
    will-change:auto;
  }
  .home-platform__frame:hover .home-platform__img{
    transform:none;
  }
}
.home-platform__caption{
  margin:0;
  padding:0 4px;
  font-size:14px;
  line-height:1.45;
  color:rgba(186,207,243,.78);
}
html[data-theme="light"] .home-platform__caption{
  color:rgba(51,65,85,.88);
}
.order-suppliers{order:6}
.section.order-suppliers{
  margin-top:8px;
}

/* ---------- Suppliers / partners strip ---------- */
.supplier-strip{
  box-sizing:border-box;
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  padding:36px clamp(20px,4vw,48px) 40px;
  border-radius:0;
  border-left:0;
  border-right:0;
  border-top:1px solid rgba(234,240,255,.08);
  border-bottom:1px solid rgba(234,240,255,.08);
  background:linear-gradient(180deg, rgb(26 43 84), rgb(11 17 33));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.supplier-strip__logos{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:18px clamp(12px,2vw,28px);
  width:100%;
  max-width:none;
}
.supplier-logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  border-radius:12px;
  opacity:.48;
  filter:grayscale(1) brightness(.88);
  transition:opacity .25s ease, filter .25s ease, transform .2s ease, background .2s ease;
}
.supplier-logo:hover,
.supplier-logo:focus-visible{
  opacity:1;
  filter:none;
  transform:translateY(-2px);
  background:rgba(234,240,255,.06);
  outline:none;
}
.supplier-logo__text{
  font-size:13px;
  font-weight:750;
  letter-spacing:.04em;
  color:rgba(234,240,255,.92);
  white-space:nowrap;
}

@media (max-width:640px){
  .supplier-strip{
    padding:28px clamp(16px,4vw,24px) 32px;
  }
  .supplier-logo__text{
    font-size:12px;
  }
}

/* ---------- Contact strip (toned to match footer) ---------- */
.contact-bar{
  background:var(--bg1);
  border-top:1px solid rgba(234,240,255,.08);
  border-bottom:1px solid rgba(234,240,255,.06);
  color:rgba(234,240,255,.92);
  padding:18px 0;
}
.contact-bar__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:16px 28px;
  row-gap:18px;
}
.contact-bar__lead{
  margin:0;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  color:rgba(234,240,255,.94);
}
.contact-bar__item{
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:8px 14px;
  margin:0;
  border-radius:999px;
  color:rgba(234,240,255,.78) !important;
  text-decoration:none;
  background:rgba(234,240,255,.05);
  border:1px solid rgba(234,240,255,.12);
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, color .2s ease, transform .15s ease;
}
.contact-bar__item:hover,
.contact-bar__item:focus-visible{
  background:rgba(234,240,255,.1);
  border-color:rgba(234,240,255,.22);
  box-shadow:0 6px 22px rgba(0,0,0,.2);
  color:rgba(234,240,255,.96) !important;
  transform:translateY(-1px);
  outline:none;
}
.contact-bar__item--phones{
  cursor:default;
}
.contact-bar__item--phones:hover,
.contact-bar__item--phones:focus-within{
  background:rgba(234,240,255,.1);
  border-color:rgba(234,240,255,.22);
  box-shadow:0 6px 22px rgba(0,0,0,.2);
  transform:translateY(-1px);
}
a.contact-bar__tel{
  color:inherit !important;
  text-decoration:none;
  border-radius:6px;
}
a.contact-bar__tel:hover,
a.contact-bar__tel:focus-visible{
  color:rgba(234,240,255,.98) !important;
  outline:none;
}
.contact-bar__icon-ring{
  display:flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  border:1px solid rgba(234,240,255,.22);
  background:rgba(234,240,255,.06);
  color:rgba(234,240,255,.88);
  flex-shrink:0;
}
.contact-bar__lines{
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:13px;
  font-weight:650;
  line-height:1.25;
  text-align:left;
}
.contact-bar__lines--single{
  font-size:14px;
}
.contact-bar__line{
  display:block;
}
@media (max-width:900px){
  .contact-bar__inner{
    flex-direction:column;
    text-align:center;
  }
  .contact-bar__item{
    width:100%;
    max-width:360px;
    justify-content:flex-start;
  }
}

/* ---------- Datacenters (tabs, replaces map) ---------- */
.dc-section{
  margin-top:22px;
}
.dc-kicker{
  text-align:center;
  font-size:11px;
  font-weight:750;
  letter-spacing:.2em;
  color:var(--muted2);
  text-transform:uppercase;
  margin:0 0 10px;
}
.dc-heading{
  margin-bottom:0;
}
.dc-tab-input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
  pointer-events:none;
}
.dc-shell{
  position:relative;
  margin-top:22px;
  border-radius:var(--radius);
  /* Dark theme: purple-tinted borders (avoid cool-blue outline read) */
  border:1px solid rgba(109,92,255,.22);
  background:
    radial-gradient(1000px 420px at 50% -20%, rgba(109,92,255,.12), transparent 55%),
    linear-gradient(180deg, rgba(14,23,48,.55), rgba(7,10,18,.4));
  overflow:hidden;
}
.dc-shell::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.14;
  pointer-events:none;
  background-image:
    radial-gradient(circle at 20% 30%, rgba(234,240,255,.15) 0, transparent 40%),
    radial-gradient(circle at 80% 60%, rgba(109,92,255,.12) 0, transparent 35%),
    radial-gradient(circle, rgba(234,240,255,.1) 1px, transparent 1.2px);
  background-size:auto, auto, 16px 16px;
}
.dc-tablist{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  justify-content:stretch;
  gap:0;
  border-bottom:1px solid rgba(234,240,255,.1);
  background:rgba(7,10,18,.35);
}
.dc-tab{
  flex:1;
  min-width:min(100%,140px);
  text-align:center;
  padding:14px 14px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--muted2);
  background:rgba(234,240,255,.04);
  border:1px solid rgba(234,240,255,.08);
  border-bottom:none;
  cursor:pointer;
  transition:background .15s ease,color .15s ease, box-shadow .15s ease;
}
.dc-tab:hover{
  color:var(--muted);
  background:rgba(234,240,255,.07);
}
#dc-sea:checked ~ .dc-tablist label[for="dc-sea"],
#dc-hk:checked ~ .dc-tablist label[for="dc-hk"],
#dc-other:checked ~ .dc-tablist label[for="dc-other"]{
  color:rgba(234,240,255,.96);
  background:rgba(7,10,18,.55);
  border-color:rgba(109,92,255,.35);
  box-shadow:inset 0 3px 0 0 var(--primary);
}
.dc-panels{
  position:relative;
  z-index:1;
  padding:clamp(22px,3vw,32px) clamp(18px,3vw,28px) clamp(26px,4vw,36px);
}
.dc-panel{
  display:none;
}
#dc-sea:checked ~ .dc-panels .dc-panel--sea,
#dc-hk:checked ~ .dc-panels .dc-panel--hk,
#dc-other:checked ~ .dc-panels .dc-panel--other{
  display:block;
  animation:dc-fade .25s ease;
}
@keyframes dc-fade{
  from{opacity:.65}
  to{opacity:1}
}
.dc-panel-grid{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);
  gap:28px 40px;
  align-items:start;
}
.dc-flag{
  font-size:42px;
  line-height:1;
  margin-bottom:12px;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.25));
}
.dc-flag--globe{
  font-size:38px;
}
.dc-loc-title{
  margin:0 0 8px;
  font-size:clamp(18px,2vw,22px);
  font-weight:850;
  color:rgba(234,240,255,.95);
  letter-spacing:-.02em;
}
.dc-loc-line{
  margin:0 0 12px;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.dc-loc-body{
  margin:0 0 22px;
  color:var(--muted2);
  font-size:14px;
  line-height:1.7;
}
.dc-cta{
  display:inline-flex;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
  font-weight:800;
  padding:12px 22px;
}
.dc-services-title{
  margin:0 0 16px;
  font-size:15px;
  font-weight:800;
  color:rgba(234,240,255,.9);
}
.dc-services-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.dc-services-list li{
  display:flex;
  gap:11px;
  align-items:flex-start;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
}
.dc-lg-link{
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:2px;
}
.dc-lg-link:hover{
  color:rgba(14,165,233,.95);
}
.dc-check{
  flex-shrink:0;
  margin-top:2px;
  color:var(--good);
  filter:drop-shadow(0 0 6px rgba(34,197,94,.25));
}
@media (max-width:900px){
  .dc-panel-grid{
    grid-template-columns:1fr;
  }
  .dc-tab{
    font-size:11px;
    letter-spacing:.05em;
    padding:12px 10px;
  }
}

.feature__desc{
  color:var(--muted);
  margin:10px 0 0;
  line-height:1.7;
  font-size:14px;
}
.feature__badge{
  margin-top:14px;
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  border:1px solid rgba(234,240,255,.12);
  background:rgba(234,240,255,.04);
  color:var(--muted);
}

.pricing{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
  margin-top:26px;
  align-items:stretch;
}
.price-card{
  display:flex;
  flex-direction:column;
  gap:0;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.78), rgba(11,19,44,.72));
  padding:22px 20px 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  min-height:100%;
}
.price-card--featured{
  border-color:rgba(109,92,255,.55);
  box-shadow: 0 16px 55px rgba(109,92,255,.20);
  background:linear-gradient(180deg, rgba(109,92,255,.18), rgba(11,19,44,.74));
}
/* Recommended plan badge: corner ribbon + shine + spark (plans.recommended) */
.price-card--recommended{
  position:relative;
  overflow:hidden;
  border-color:rgba(109,92,255,.48);
  box-shadow:
    0 0 0 1px rgba(51,214,255,.18),
    0 14px 44px rgba(109,92,255,.22),
    0 10px 28px rgba(0,0,0,.32);
  background:linear-gradient(165deg, rgba(109,92,255,.12) 0%, rgba(14,23,48,.78) 38%, rgba(11,19,44,.74) 100%);
}
.price-card--windows.price-card--recommended{
  border-color:rgba(51,214,255,.38);
  box-shadow:
    0 0 0 1px rgba(109,92,255,.22),
    0 14px 44px rgba(51,214,255,.12),
    0 14px 40px rgba(109,92,255,.18);
}
.price-card__rec-badge{
  position:absolute;
  /* Slight negative inset: flush to rounded card edge, hides AA gap */
  top:-1px;
  right:-1px;
  z-index:3;
  width:118px;
  height:118px;
  pointer-events:none;
}
.price-card__rec-badge__ribbon{
  position:absolute;
  z-index:1;
  /* 45° ribbon + parent -1px overlap for flush top edge */
  top:13px;
  right:-44px;
  width:158px;
  display:flex;
  align-items:center;
  justify-content:center;
  /* Extra top padding: caps look high in ribbon; balance vertical center */
  padding:11px 0 7px;
  line-height:1;
  text-align:center;
  transform:rotate(45deg);
  transform-origin:center center;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.98);
  text-shadow:0 1px 2px rgba(0,0,0,.4);
  background:linear-gradient(100deg, #5340ff 0%, #6d5cff 35%, #33d6ff 100%);
  border-top:1px solid rgba(255,255,255,.32);
  border-bottom:1px solid rgba(0,0,0,.18);
  box-shadow:
    0 5px 22px rgba(109,92,255,.5),
    inset 0 1px 0 rgba(255,255,255,.2);
}
.price-card__rec-badge__ribbon::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    100deg,
    transparent 0%,
    rgba(255,255,255,.22) 42%,
    transparent 78%
  );
  background-size:220% 100%;
  animation:priceCardRecShine 3.4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes priceCardRecShine{
  0%,100%{background-position:160% 0;}
  50%{background-position:-60% 0;}
}
.price-card__rec-badge__spark{
  position:absolute;
  z-index:2;
  /* Spark near corner; offset to miss ribbon fill */
  top:2px;
  right:2px;
  display:flex;
  filter:
    drop-shadow(0 0 4px rgba(51,214,255,.6))
    drop-shadow(0 1px 3px rgba(0,0,0,.35));
  animation:priceCardRecSpark 2.2s ease-in-out infinite;
}
@keyframes priceCardRecSpark{
  0%,100%{opacity:.75; transform:scale(1);}
  50%{opacity:1; transform:scale(1.06);}
}
@media (prefers-reduced-motion:reduce){
  .price-card__rec-badge__ribbon::after{animation:none; opacity:0;}
  .price-card__rec-badge__spark{animation:none;}
}
@media (max-width:380px){
  .price-card__rec-badge{width:100px;height:100px;}
  .price-card__rec-badge__ribbon{
    top:8px;
    right:-46px;
    width:138px;
    font-size:9px;
    letter-spacing:.12em;
    padding:10px 0 6px;
  }
  .price-card__rec-badge__spark{
    top:1px;
    right:1px;
  }
}
.badge{
  display:inline-flex;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(109,92,255,.55);
  background:rgba(109,92,255,.18);
  color:rgba(234,240,255,.92);
  font-weight:700;
  font-size:12px;
}
.price-card__top{
  /* Full-bleed header band: teal/slate vs body for clearer product “cap” */
  margin:-22px -20px 0;
  padding:20px 20px 18px;
  width:auto;
  border-radius:var(--radius) var(--radius) 0 0;
  border-bottom:1px solid rgba(51,214,255,.16);
  background:linear-gradient(165deg,
    rgba(18,62,88,.62) 0%,
    rgba(14,40,72,.52) 40%,
    rgba(12,26,52,.32) 72%,
    rgba(11,19,44,.08) 100%);
  box-shadow:
    inset 0 1px 0 rgba(125,211,252,.14),
    0 1px 0 rgba(0,0,0,.18);
  flex-shrink:0;
  text-align:center;
}
.price-card__name{
  font-weight:850;
  font-size:17px;
  letter-spacing:-.02em;
  line-height:1.3;
  text-align:center;
}
/* Price block: amount + billing suffix */
.price-card__price{
  margin-top:14px;
  width:100%;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:center;
  gap:4px 8px;
  max-width:100%;
  padding:12px 16px 10px;
  border-radius:14px;
  border:1px solid rgba(109,92,255,.22);
  background:linear-gradient(165deg, rgba(109,92,255,.14), rgba(51,214,255,.06) 45%, rgba(11,19,44,.4));
  box-shadow:inset 0 1px 0 rgba(234,240,255,.06);
  box-sizing:border-box;
}
.price-card__amount{
  font-size:24px;
  font-weight:900;
  letter-spacing:-.04em;
  line-height:1.15;
  color:rgba(234,240,255,.98);
}
.price-card__suffix{
  font-size:13px;
  font-weight:650;
  letter-spacing:.02em;
  color:var(--muted2);
  white-space:nowrap;
}
.price-card__desc{
  margin-top:12px;
  color:var(--muted2);
  line-height:1.55;
  font-size:13px;
  text-align:center;
}
.price-card__list{
  margin:0;
  padding:18px 0 18px;
  list-style:none;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap:12px;
  row-gap:12px;
  align-items:stretch;
}
.price-card__list li{
  margin:0;
  padding:10px 12px;
  border-radius:var(--radius2);
  background:rgba(234,240,255,.04);
  border:1px solid rgba(234,240,255,.08);
  color:rgba(234,240,255,.78);
  font-size:13px;
  line-height:1.5;
  font-weight:500;
  min-width:0;
  word-break:break-word;
  box-sizing:border-box;
}
/* Spec row: icon + text */
.price-card__list li.price-card__feat{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding-left:11px;
}
.price-card__feat::before{
  content:'';
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:1px;
  background-repeat:no-repeat;
  background-position:center;
  background-size:18px 18px;
  opacity:.92;
}
.price-card__feat--cpu::before{background-image:url("icons/spec-cpu.svg");}
.price-card__feat--ram::before{background-image:url("icons/spec-ram.svg");}
.price-card__feat--disk::before{background-image:url("icons/spec-disk.svg");}
.price-card__feat--net::before{background-image:url("icons/spec-net.svg");}
.price-card__feat--ip::before{background-image:url("icons/spec-ip.svg");}
.price-card__feat--os::before{background-image:url("icons/spec-os.svg");}
.price-card__feat--mgmt::before{background-image:url("icons/spec-mgmt.svg");}
.price-card__feat--misc::before{
  background-image:url("icons/spec-disk.svg");
  opacity:.45;
}
.price-card__feat-text{
  flex:1;
  min-width:0;
}
/* Odd spec count: last row spans full grid width */
.price-card__list li:last-child:nth-child(odd){
  grid-column:1 / -1;
}
.price-card > .btn{
  flex-shrink:0;
}
/* Equal-height cards: CTA pinned to bottom (avoid extra btn padding-top) */
.pricing .price-card > .btn--block{
  margin-top:auto;
}
/* Linux plan cards: ghost secondary CTA vs solid primary on Windows page */
.pricing .price-card > .price-card__cta--secondary.btn--ghost{
  border-color:rgba(109,92,255,.35);
  background:rgba(109,92,255,.08);
}
.pricing .price-card > .price-card__cta--secondary.btn--ghost:hover{
  border-color:rgba(109,92,255,.5);
  background:rgba(109,92,255,.12);
}
/* Windows plan cards: slightly stronger border */
.price-card--windows{
  border-color:rgba(51,214,255,.22);
  box-shadow:0 10px 32px rgba(51,214,255,.08);
}
@media (max-width: 380px){
  .price-card__list{
    grid-template-columns:1fr;
    column-gap:0;
    row-gap:10px;
  }
  .price-card__list li:last-child:nth-child(odd){
    grid-column:auto;
  }
}

.faq{
  margin-top:24px;
}
.faq--split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px 20px;
  align-items:start;
  width:100%;
}
.faq__col{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-width:0;
  width:100%;
}
.faq__item{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.10);
  background:rgba(234,240,255,.03);
  padding:0;
  overflow:hidden;
  align-self:stretch;
  transition:border-color .36s cubic-bezier(.22,1,.36,1), box-shadow .48s cubic-bezier(.22,1,.36,1), background .36s cubic-bezier(.22,1,.36,1);
}
.faq__item:hover{
  border-color:rgba(109,92,255,.32);
  background:rgba(234,240,255,.055);
}
.faq__item[open]{
  border-color:rgba(109,92,255,.48);
  background:rgba(109,92,255,.07);
  box-shadow:0 12px 36px rgba(0,0,0,.22);
}
.faq__summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  padding:15px 16px;
  font-weight:800;
  font-size:14px;
  line-height:1.4;
  color:var(--text);
  user-select:none;
  outline:none;
  text-align:left;
}
.faq__summary::-webkit-details-marker{display:none;}
.faq__summary::marker{content:'';}
.faq__summary:focus-visible{
  box-shadow:inset 0 0 0 2px rgba(109,92,255,.55);
  border-radius:var(--radius2);
}
.faq__icon{
  flex-shrink:0;
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:rgba(167,180,255,.95);
  background:linear-gradient(145deg, rgba(109,92,255,.22), rgba(109,92,255,.06));
  border:1px solid rgba(109,92,255,.28);
  transition:transform .5s cubic-bezier(.22,1,.36,1), background .45s cubic-bezier(.22,1,.36,1), border-color .45s cubic-bezier(.22,1,.36,1), color .35s ease;
}
.faq__item[open] .faq__icon{
  color:#dbe2ff;
  background:linear-gradient(145deg, rgba(109,92,255,.38), rgba(109,92,255,.14));
  border-color:rgba(139,124,255,.45);
  transform:scale(1.04);
}
.faq__summary-text{flex:1;min-width:0;}
.faq__chevron{
  flex-shrink:0;
  display:inline-flex;
  color:rgba(234,240,255,.45);
  transition:transform .52s cubic-bezier(.22,1,.36,1), color .38s cubic-bezier(.22,1,.36,1);
}
.faq__item[open] .faq__chevron{
  transform:rotate(180deg);
  color:rgba(167,180,255,.85);
}
.faq__answer{
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .55s cubic-bezier(.22,1,.36,1);
}
.faq__item[open] .faq__answer{
  grid-template-rows:1fr;
}
.faq__answer-inner{
  overflow:hidden;
  min-height:0;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .42s cubic-bezier(.22,1,.36,1).08s, transform .5s cubic-bezier(.22,1,.36,1).06s;
}
.faq__item[open] .faq__answer-inner{
  opacity:1;
  transform:translateY(0);
}
.faq__item:not([open]) .faq__answer-inner{
  transition:opacity .28s cubic-bezier(.4,0,1,1), transform .32s cubic-bezier(.4,0,1,1);
}
.faq__text{
  margin:0;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  padding:0 16px 17px 72px;
  color:var(--muted);
  line-height:1.7;
  font-size:14px;
}
.faq__text--preline{
  white-space:pre-line;
}

.faq-section{
  margin-top:40px;
  padding-bottom:4px;
}
.faq-section:first-of-type{
  margin-top:14px;
}
.faq-section__title{
  font-size:1.08rem;
  font-weight:800;
  margin:0 0 18px;
  letter-spacing:.015em;
  color:var(--text);
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding-bottom:2px;
  border-bottom:1px solid rgba(234,240,255,.08);
}
.faq-section__title::before{
  content:'';
  width:4px;
  height:1.1em;
  border-radius:3px;
  background:linear-gradient(180deg, rgba(139,124,255,.95), rgba(109,92,255,.45));
  flex-shrink:0;
}
@media (prefers-reduced-motion: reduce){
  .faq__item,
  .faq__icon,
  .faq__chevron,
  .faq__answer,
  .faq__answer-inner{
    transition:none !important;
  }
  .faq__item[open] .faq__icon{
    transform:none;
  }
  .faq__item[open] .faq__answer-inner{
    transform:none;
  }
}

@media (max-width: 520px){
  .faq__icon{
    width:38px;height:38px;border-radius:10px;
  }
  .faq__icon svg{
    width:18px;height:18px;
  }
  .faq__text{
    padding:0 16px 15px calc(16px + 38px + 12px);
  }
  .faq--split{
    gap:14px;
  }
}

.affiliates-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:28px 40px;
  align-items:center;
}
.affiliates-hero__copy{
  min-width:0;
}
.affiliates-hero__art{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.affiliates-hero__svg{
  width:100%;
  max-width:440px;
  height:auto;
  display:block;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,.35));
}
/* Affiliates hero: abstract glow + glass panel */
.affiliates-hero__svg .aff-art-flow-glow{
  fill:none;
  stroke:rgba(109,92,255,.3);
  stroke-width:8;
  opacity:.88;
}
.affiliates-hero__svg .aff-art-flow{
  fill:none;
}
.affiliates-hero__svg .aff-art-flow-veil{
  fill:none;
  stroke:rgba(234,240,255,.08);
  stroke-width:1.2;
  opacity:.85;
}
.affiliates-hero__svg .aff-art-node-halo{
  fill:none;
  stroke:rgba(255,255,255,.14);
  stroke-width:1;
}
.affiliates-hero__svg .aff-art-node{
  fill:#c7d2fe;
  stroke:rgba(255,255,255,.35);
  stroke-width:1;
}
.affiliates-hero__svg .aff-hero-caption{
  fill:rgba(234,240,255,.88);
  font:700 12px var(--font);
  letter-spacing:.02em;
}
.affiliates-hero__svg .aff-hero-badge{
  fill:rgba(109,92,255,.48);
  stroke:rgba(220,210,255,.28);
}
.affiliates-hero__svg .aff-hero-badge-val{
  fill:#f0f2ff;
  font:800 22px var(--font);
}
.affiliates-hero__svg .aff-hero-badge-sub{
  fill:rgba(200,210,255,.58);
  font:600 11px var(--font);
}
.affiliates-hero__eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(109,92,255,.95);
  margin:0 0 8px;
}
.affiliates-hero__lead{
  max-width:none;
}
.affiliates-stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  margin:26px 0 22px;
  max-width:100%;
}
.affiliates-stat{
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.12);
  background:rgba(234,240,255,.05);
  padding:16px 14px;
  text-align:center;
}
.affiliates-stat__value{
  font-size:1.35rem;
  font-weight:900;
  color:var(--text);
  line-height:1.15;
}
.affiliates-stat__label{
  margin-top:8px;
  font-size:13px;
  color:var(--muted);
  line-height:1.45;
}
.affiliates-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:12px;
}
.affiliates-section-title{
  font-size:1.15rem;
  font-weight:800;
  margin:0 0 18px;
}
.affiliates-steps{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:16px;
}
.affiliates-step{
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.10);
  background:rgba(234,240,255,.03);
  padding:18px 16px;
  position:relative;
}
.affiliates-step__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.affiliates-step__svg{
  flex-shrink:0;
  width:56px;
  height:56px;
  display:block;
  overflow:visible;
}
.affiliates-step__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  background:rgba(109,92,255,.22);
  color:var(--text);
}
.affiliates-step__title{
  margin:0 0 8px;
  font-size:1rem;
  font-weight:800;
}
.affiliates-step__desc{
  margin:0;
  font-size:14px;
  color:var(--muted);
  line-height:1.65;
}
.affiliates-note{
  margin-top:40px;
  margin-left:auto;
  margin-right:auto;
  font-size:13px;
  color:var(--muted);
  line-height:1.65;
  max-width:72ch;
  text-align:center;
}

@media (max-width: 900px){
  .affiliates-hero__grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .affiliates-hero__art{
    order:-1;
    max-width:400px;
    margin:0 auto;
  }
  .affiliates-stats,
  .affiliates-steps{
    grid-template-columns:1fr;
  }
}

html[data-theme="light"] .affiliates-hero__svg{
  filter:drop-shadow(0 16px 32px rgba(15,23,42,.12));
}
/* Affiliates light theme: card/helper text contrast */
html[data-theme="light"] .affiliates-hero .section__lead,
html[data-theme="light"] .affiliates-hero__lead{
  color:#475569;
}
html[data-theme="light"] .affiliates-stat{
  border-color:rgba(15,23,42,.12);
  background:#fff;
  box-shadow:0 4px 22px rgba(15,23,42,.06);
}
html[data-theme="light"] .affiliates-stat__label{
  color:#475569;
}
html[data-theme="light"] .affiliates-section-title{
  color:var(--text);
}
html[data-theme="light"] .affiliates-step{
  border-color:rgba(15,23,42,.12);
  background:#fff;
  box-shadow:0 4px 22px rgba(15,23,42,.05);
}
html[data-theme="light"] .affiliates-step__title{
  color:var(--text);
}
html[data-theme="light"] .affiliates-step__desc{
  color:#475569;
}
html[data-theme="light"] .affiliates-step__num{
  background:rgba(109,92,255,.16);
  color:#3730a3;
}
html[data-theme="light"] .affiliates-note{
  color:#64748b;
}
/* Step icons: light strokes for dark theme; boost contrast on light bg */
html[data-theme="light"] .affiliates-step__svg rect[rx="16"]{
  fill:rgba(109,92,255,.12) !important;
  stroke:rgba(99,102,241,.38) !important;
  stroke-width:1.25 !important;
  paint-order:stroke fill;
}
html[data-theme="light"] .affiliates-step__svg circle[fill^="rgba(230"],
html[data-theme="light"] .affiliates-step__svg circle[fill^="rgba(200"]{
  fill:rgba(67,56,202,.35) !important;
}
html[data-theme="light"] .affiliates-step__svg path[fill^="rgba(200"]{
  fill:rgba(67,56,202,.32) !important;
}
html[data-theme="light"] .affiliates-step__svg path[stroke^="rgba(139"],
html[data-theme="light"] .affiliates-step__svg path[stroke^="rgba(167"],
html[data-theme="light"] .affiliates-step__svg path[stroke^="rgba(230"],
html[data-theme="light"] .affiliates-step__svg path[stroke^="rgba(255"],
html[data-theme="light"] .affiliates-step__svg circle[stroke^="rgba(255"]{
  stroke:#4f46e5 !important;
}
html[data-theme="light"] .affiliates-step__svg path[fill^="rgba(139"]{
  fill:#6366f1 !important;
  opacity:1 !important;
}
html[data-theme="light"] .affiliates-hero__svg .aff-hero-frame{
  fill:rgba(255,255,255,.78);
  stroke:rgba(99,102,241,.18);
}
html[data-theme="light"] .affiliates-hero__svg .aff-art-flow-veil{
  stroke:rgba(15,23,42,.07);
}
html[data-theme="light"] .affiliates-hero__svg .aff-art-flow-glow{
  stroke:rgba(99,102,241,.22);
  opacity:1;
}
html[data-theme="light"] .affiliates-hero__svg .aff-art-node-halo{
  stroke:rgba(79,70,229,.22);
}
html[data-theme="light"] .affiliates-hero__svg .aff-art-node{
  fill:#6366f1;
  stroke:#fff;
}
html[data-theme="light"] .affiliates-hero__svg .aff-hero-caption{
  fill:#334155;
}
html[data-theme="light"] .affiliates-hero__svg .aff-hero-badge{
  fill:rgba(109,92,255,.2);
  stroke:rgba(67,56,202,.22);
}
html[data-theme="light"] .affiliates-hero__svg .aff-hero-badge-val{
  fill:#312e81;
}
html[data-theme="light"] .affiliates-hero__svg .aff-hero-badge-sub{
  fill:#64748b;
}

.contact{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:14px;
  margin-top:26px;
  align-items:start;
}
.contact__form{
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.78), rgba(11,19,44,.72));
  padding:18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}
.field__label{
  color:var(--muted);
  font-size:14px;
}
.field__input, .field__textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(234,240,255,.03);
  color:var(--text);
  outline:none;
}
.field__input:focus, .field__textarea:focus{
  border-color:rgba(109,92,255,.65);
  box-shadow: 0 0 0 3px rgba(109,92,255,.16);
}

.contact__side{
  display:flex;
}

.auth-shell{
  display:flex;
  justify-content:center;
  margin-top:18px;
  width:100%;
  align-items:flex-start;
}
.auth-card{
  width:100%;
  max-width:560px;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.78), rgba(11,19,44,.72));
  padding:26px 18px;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.auth-card__title{
  font-weight:900;
  font-size:24px;
  text-align:center;
  margin-bottom:18px;
}
.auth-links{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
  margin-top:6px;
  margin-bottom:14px;
  padding:0 6px;
}
.auth-links__link{
  color:var(--muted);
  font-size:13px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(234,240,255,.10);
  background:rgba(234,240,255,.02);
  text-align:center;
}
.auth-links__link:hover{
  color:var(--text);
  border-color:rgba(234,240,255,.18);
  background:rgba(234,240,255,.05);
}

.auth-mock-box{
  margin:10px 0 14px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:#0B1223;
  padding:10px 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}
.auth-mock-box__left{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:800;
}
.auth-check{
  width:24px;
  height:24px;
  border-radius:999px;
  background:#16A34A;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}
.auth-mock-box__right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  line-height:1.1;
}
.auth-cloudflare-brand{
  font-weight:900;
  letter-spacing:.3px;
  font-size:14px;
}
.auth-cloudflare-meta{
  font-size:12px;
  color:rgba(11,18,35,.78);
}

.auth-google{
  display:flex;
  width:100%;
  margin:12px 0 6px;
  padding:11px 14px;
  border-radius:12px;
  justify-content:center;
  align-items:center;
  font-weight:700;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(234,240,255,.03);
  color:rgba(234,240,255,.88);
}
.auth-google:hover{
  border-color:rgba(234,240,255,.24);
  background:rgba(234,240,255,.06);
}

/* WHMCS Google OAuth button (.btn-google-login) */
.btn-google-login{
  text-decoration:none;
  border:1px solid rgba(234,240,255,.14);
  background:rgba(234,240,255,.03);
  color:rgba(234,240,255,.88);
}
.btn-google-login:hover{
  border-color:rgba(234,240,255,.24);
  background:rgba(234,240,255,.06);
}

.auth-links__link--button{
  text-align:center;
}

.fineprint a{color:inherit}

/* Hero auth card: single column, minimal nesting */
.hero__right .auth-shell--hero{
  margin-top:0;
  width:100%;
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
}
.hero__right .auth-card{
  padding:clamp(24px, 2.5vw, 30px) clamp(22px, 2.2vw, 26px);
}
.hero__right .auth-card__title{
  text-align:center;
  font-size:clamp(19px, 1.35vw, 22px);
  font-weight:900;
  letter-spacing:-.02em;
  margin-bottom:16px;
}
.hero__right .auth-card .field{
  align-items:center;
}
.hero__right .auth-card .field__label{
  width:90%;
  max-width:100%;
  align-self:center;
  box-sizing:border-box;
}
.hero__right .auth-card .field__input{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  display:block;
  box-sizing:border-box;
}
.hero__right .auth-card .auth-mock-box{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.hero__right .auth-card .btn--block{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  display:block;
  box-sizing:border-box;
}
.hero__right .auth-card .cf-turnstile{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  justify-content:center;
  align-items:center;
  text-align:center;
}

/* Primary login CTA: spacing below Turnstile */
#whmcs-login-btn{
  margin-top:12px;
}

/* Google button: gap from primary login */
.hero__right .auth-card .btn-google-login{
  margin-top:14px;
  margin-bottom:14px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
}
.hero__right .auth-card .auth-google{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  box-sizing:border-box;
}
.hero__right .auth-card .auth-links{
  width:90%;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
  padding:0;
  box-sizing:border-box;
}
.hero__right .fineprint--auth{
  margin-top:14px;
  text-align:center;
  font-size:12px;
  line-height:1.5;
  color:var(--muted2);
}
.hero__right .fineprint--auth .fineprint__link{
  color:rgba(51,214,255,.88);
  text-decoration:underline;
  text-underline-offset:2px;
}
.hero__right .fineprint--auth .fineprint__link:hover{
  color:var(--text);
}

@media (max-width: 980px){
  .hero__right .auth-shell--hero{
    max-width:min(440px, 100%);
  }
  .auth-links{
    grid-template-columns: 1fr 1fr;
  }
}
.side-card{
  width:100%;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:rgba(234,240,255,.03);
  padding:18px;
}
.side-card__title{
  font-weight:850;
  font-size:16px;
  margin-bottom:12px;
}
.side-card__row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid rgba(234,240,255,.08);
}
.side-card__row:last-of-type{
  border-bottom:none;
}
.side-card__k{
  color:var(--muted2);
  font-size:13px;
}
.side-card__v{
  color:rgba(234,240,255,.92);
  font-weight:750;
  font-size:13px;
  text-align:right;
}

/* ---------- Mega footer (dark, blends with page bg) ---------- */
.footer--mega{
  margin-top:auto;
  padding:56px 0 48px;
  border-top:1px solid rgba(234,240,255,.08);
  background:var(--bg1);
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.footer__mega-inner{
  display:grid;
  grid-template-columns:minmax(260px,1.05fr) minmax(0,1.65fr);
  gap:48px 40px;
  align-items:start;
}
.footer__brand-col{
  max-width:380px;
}
.footer__logo{
  display:inline-flex;
  align-items:center;
  color:var(--text);
  text-decoration:none;
}
.footer__logo:hover .brand__img{
  opacity:.94;
}
.footer__desc{
  margin:16px 0 0;
  font-size:14px;
  color:var(--muted);
  line-height:1.65;
}
.footer__copy{
  margin:22px 0 0;
  font-size:12px;
  color:var(--muted2);
}
.footer__nav-cols{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 28px;
}
.footer__nav-col{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.footer__group{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.footer__heading{
  margin:0;
  font-size:14px;
  font-weight:800;
  color:rgba(234,240,255,.92);
  letter-spacing:.02em;
}
.footer__list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.footer--mega .footer__link{
  display:inline-block;
  padding:0;
  font-size:14px;
  color:var(--muted) !important;
  text-decoration:none;
  border:none;
  background:none;
  border-radius:0;
  transition:color .15s ease;
}
.footer--mega .footer__link:hover{
  color:var(--primary2) !important;
}

@media (max-width:1024px){
  .footer__mega-inner{
    grid-template-columns:1fr;
    gap:36px;
  }
  .footer__brand-col{
    max-width:none;
  }
  .footer__nav-cols{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .footer--mega{
    padding:40px 0 36px;
  }
  .footer__mega-inner{
    gap:32px;
  }
  .footer__nav-cols{
    grid-template-columns:1fr;
  }
}

.map-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:14px;
  margin-top:0;
  align-items:start;
}
.map-grid--full{
  grid-template-columns: 1fr;
  gap:0;
}
.map-frame{
  border-radius:var(--radius);
  background:linear-gradient(180deg, rgba(234,240,255,.04), rgba(7,10,18,.08));
  border:none;
  padding:0;
}
.map-wrap{
  border:none;
  background:transparent;
  padding:0;
}
.map-svg{
  width:100%;
  height:100%;
  display:block;
}
.home-global{
  background:transparent;
}
.map-note{
  margin-top:10px;
  color:var(--muted2);
  font-size:12px;
  line-height:1.6;
  padding:10px 14px 0;
}
.map-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
}

.uptime-card{
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.12);
  background:linear-gradient(180deg, rgba(14,23,48,.62), rgba(11,19,44,.50));
  padding:18px;
  display:flex;
  gap:16px;
  align-items:flex-start;
  margin-top:18px;
}
.uptime-card__left{
  min-width:220px;
  border-radius:var(--radius2);
  background:rgba(234,240,255,.03);
  border:1px solid rgba(234,240,255,.08);
  padding:16px;
  text-align:center;
}
.uptime-card__num{
  font-size:44px;
  font-weight:1000;
  letter-spacing:-.8px;
}
.uptime-card__label{
  margin-top:4px;
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.uptime-card__right{
  flex:1;
}
.uptime-card__title{
  font-weight:950;
  font-size:16px;
}
.uptime-card__desc{
  margin-top:10px;
  color:var(--muted);
  line-height:1.7;
  font-size:14px;
}

/* Hosting advantages row (3 cards) */
.advantages-row{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
  margin-top:18px;
}
.adv-card{
  text-align:center;
  border-radius:var(--radius);
  border:1px solid rgba(234,240,255,.10);
  background:rgba(234,240,255,.03);
  padding:22px 18px 20px;
  box-shadow:0 12px 40px rgba(0,0,0,.12);
  display:flex;
  flex-direction:column;
  align-items:center;
  min-height:170px;
}
.adv-card__num{
  color:var(--muted2);
  font-weight:950;
  font-size:12px;
  letter-spacing:.4px;
}
.adv-card__icon{
  /* Match features-spotlight cards: light glyph on purple/cyan gradient tile */
  width:48px;
  height:48px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 12px;
  flex:0 0 auto;
  background:linear-gradient(135deg, rgba(109,92,255,.28), rgba(51,214,255,.14));
  color:rgba(234,240,255,.92);
  box-shadow:0 12px 30px rgba(0,0,0,.18);
}
.adv-card__icon svg{
  display:block;
  width:22px;
  height:22px;
}
.adv-card__title{
  margin-top:2px;
  font-size:16px;
  font-weight:950;
}
.adv-card__desc{
  margin-top:8px;
  color:var(--muted);
  line-height:1.7;
  font-size:14px;
  flex:0 0 auto;
  max-width:26ch;
}

@media (max-width: 980px){
  .hero{
    padding:clamp(56px, 12vw, 92px) 0 clamp(48px, 10vw, 80px);
  }
  .hero__grid{grid-template-columns: 1fr; }
  .hero__title{font-size:clamp(32px, 7.2vw, 42px);}
  .hero__left-spacer{display:none;}
  .cards:not(.cards--vps-overview){grid-template-columns: 1fr; }
  .pricing{grid-template-columns: 1fr; }
  .faq--split{grid-template-columns:1fr;}
  .contact{grid-template-columns: 1fr; }
  .nav-menu-toggle{display:inline-flex;}
  /* Mobile: right drawer below fixed header (toolbar stays usable) */
  .nav{
    display:flex;
    position:fixed;
    top:var(--site-header-h);
    right:0;
    bottom:0;
    left:auto;
    z-index:19;
    width:min(320px,88vw);
    max-width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    padding:16px 18px calc(24px + env(safe-area-inset-bottom, 0px));
    margin:0;
    border:none;
    border-left:1px solid rgba(234,240,255,.12);
    border-radius:0;
    background:rgba(7,10,18,.97);
    backdrop-filter:blur(14px);
    box-shadow:-14px 0 44px rgba(0,0,0,.45);
    transform:translateX(100%);
    visibility:hidden;
    pointer-events:none;
    transition:
      transform .28s cubic-bezier(0.32,0.72,0,1),
      visibility 0s linear .28s;
  }
  .header--nav-open .nav{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:
      transform .28s cubic-bezier(0.32,0.72,0,1),
      visibility 0s linear 0s;
  }
  .nav .nav__link{
    text-align:left;
    border-radius:12px;
    padding:14px 14px;
  }
  .nav .nav-dropdown > .nav__link,
  .nav .nav-dropdown > summary.nav__link{
    border-radius:12px;
    padding:14px 14px;
  }
  .nav-dropdown__menu{
    position:static !important;
    min-width:0 !important;
    margin:6px 0 10px;
    padding:6px 8px;
    border-radius:12px !important;
    border:1px solid rgba(234,240,255,.1) !important;
    background:rgba(234,240,255,.06) !important;
    box-shadow:none !important;
  }
  .nav-dropdown .nav-dropdown__menu{
    display:none !important;
  }
  .nav-dropdown[open] .nav-dropdown__menu{
    display:block !important;
  }
  .map-grid{grid-template-columns: 1fr; }
  .product-cards{grid-template-columns: 1fr;}
  .plan-grid{grid-template-columns: 1fr;}
  .section[aria-label="Product highlights"] .plan-grid{grid-template-columns:1fr; gap:16px;}
  .uptime-card{flex-direction:column;}
  .uptime-card__left{min-width:auto;}
  .advantages-row{
    grid-template-columns: 1fr;
  }
}
@media (max-width:980px) and (prefers-reduced-motion:reduce){
  .nav,
  .header--nav-open .nav{
    transition:none;
  }
}

/* 24 hour moneyback guarantee (VPS) */
.moneyback-vps{
  margin-top:18px;
  display:flex;
  justify-content:center;
}
.moneyback-vps__pill{
  margin-top:30px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(109,92,255,.42);
  background:linear-gradient(135deg, rgba(109,92,255,.28), rgba(51,214,255,.12) 55%, rgba(14,23,48,.55));
  color:rgba(234,240,255,.94);
  font-size:13px;
  font-weight:850;
  letter-spacing:.02em;
  box-shadow:
    0 12px 36px rgba(109,92,255,.22),
    inset 0 1px 0 rgba(255,255,255,.08);
}

@media (min-width: 981px) and (max-width: 1200px){
  .product-cards{grid-template-columns: repeat(2, 1fr);}
  .plan-grid{grid-template-columns: repeat(2, 1fr);}
}

/* Legal pages (Terms / Privacy) */
.section.section--legal{
  /* Legal: reduce default section bottom padding above contact strip */
  padding:56px 0 28px;
  margin-top:12px !important;
}
.section.section--legal.section--alt{
  /* Match body gradient; drop nested panel borders to avoid seams */
  background:transparent;
  border-top:none;
  border-bottom:none;
}
.legal-page__header{
  text-align:center;
  margin-bottom:8px;
}
.section--legal .section__lead--center{
  max-width:min(72ch, 92vw);
  margin-left:auto;
  margin-right:auto;
}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(200px, 240px) minmax(0, 1fr);
  gap:clamp(20px, 3vw, 40px);
  align-items:start;
  margin-top:20px;
}
.legal-layout__aside{
  position:sticky;
  top:88px;
  padding:10px 0 0;
}
.legal-toc__label{
  margin:0 0 14px;
  padding-left:12px;
  border-left:3px solid var(--primary2);
  font-size:13px;
  font-weight:850;
  letter-spacing:.2px;
  color:var(--text);
}
.legal-toc{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.legal-toc__link{
  display:block;
  padding:8px 10px 8px 12px;
  font-size:13px;
  line-height:1.45;
  color:var(--muted2);
  border-radius:6px;
  border-left:2px solid transparent;
  transition:color .15s ease, background .15s ease, border-color .15s ease;
}
.legal-toc__link:hover{
  color:var(--muted);
  background:rgba(234,240,255,.04);
}
.legal-toc__link:focus-visible{
  outline:2px solid rgba(51,214,255,.45);
  outline-offset:2px;
}
.legal-layout__content{
  min-width:0;
}
.legal-layout__cards.cards{
  grid-template-columns:1fr;
  margin-top:0;
}
.legal-layout__content .legal-doc{
  max-width:none;
  width:100%;
  margin:0;
  font-size:15px;
}
.legal-doc{
  text-align:left;
  max-width:900px;
  margin:0 auto;
}
.legal-doc__updated{
  font-size:13px;
  font-weight:800;
  color:var(--muted2);
  margin-bottom:18px;
  letter-spacing:.2px;
}
.legal-doc__h3{
  margin:22px 0 12px;
  font-size:17px;
  font-weight:950;
  line-height:1.35;
  scroll-margin-top:96px;
}
.legal-doc__h3:target{
  animation:legalTargetFlash .45s ease;
}
@keyframes legalTargetFlash{
  from{ background:rgba(51,214,255,.12); }
  to{ background:transparent; }
}
.legal-doc__p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.75;
  font-size:14px;
}
.legal-doc__ul{
  margin:0 0 16px;
  padding-left:1.25rem;
  color:var(--muted);
  line-height:1.7;
  font-size:14px;
}
.legal-doc__ul li{
  margin-bottom:10px;
}
.legal-doc__ul--nested{
  margin-top:8px;
  margin-bottom:4px;
}
.legal-doc__footer{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(234,240,255,.12);
  font-size:13px;
  color:var(--muted2);
  font-weight:700;
}

@media (max-width: 980px){
  .legal-layout{
    grid-template-columns:1fr;
  }
  .legal-layout__aside{
    position:static;
    top:auto;
    padding:14px 16px;
    margin:0 -4px 8px;
    border-radius:var(--radius2);
    border:1px solid rgba(234,240,255,.10);
    background:rgba(234,240,255,.03);
  }
  .legal-toc{
    flex-direction:row;
    flex-wrap:wrap;
    gap:8px;
  }
  .legal-toc__link{
    white-space:nowrap;
    border-left:none;
    border:1px solid rgba(234,240,255,.10);
    background:rgba(7,10,18,.25);
  }
  .legal-toc__link:hover{
    border-color:rgba(234,240,255,.18);
  }
}

/* Terms modal (login card) */
.terms-modal[hidden]{
  display:none !important;
}
.terms-modal:not([hidden]){
  position:fixed;
  inset:0;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));
  box-sizing:border-box;
}
.terms-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(4,6,12,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.terms-modal__panel{
  position:relative;
  z-index:1;
  width:min(920px, 100%);
  max-height:min(88vh, 920px);
  display:flex;
  flex-direction:column;
  border-radius:var(--radius2);
  border:1px solid rgba(234,240,255,.14);
  background:linear-gradient(165deg, rgba(14,23,48,.98), rgba(11,19,44,.95));
  box-shadow:
    0 0 0 1px rgba(109,92,255,.12),
    0 28px 90px rgba(0,0,0,.55);
  outline:none;
  animation:termsModalIn .22s ease-out;
}
@keyframes termsModalIn{
  from{
    opacity:0;
    transform:translateY(10px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
.terms-modal__header{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px 14px;
  border-bottom:1px solid rgba(234,240,255,.1);
}
.terms-modal__title{
  margin:0;
  font-size:18px;
  font-weight:950;
  letter-spacing:-.2px;
}
.terms-modal__close{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:none;
  border-radius:12px;
  background:rgba(234,240,255,.06);
  border:1px solid rgba(234,240,255,.12);
  color:rgba(234,240,255,.88);
  font-size:24px;
  line-height:1;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, color .15s ease;
}
.terms-modal__close:hover{
  background:rgba(234,240,255,.1);
  border-color:rgba(234,240,255,.2);
  color:var(--text);
}
.terms-modal__close:focus-visible{
  outline:2px solid rgba(51,214,255,.45);
  outline-offset:2px;
}
.terms-modal__body{
  flex:1;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:0 18px 18px;
  -webkit-overflow-scrolling:touch;
}
.terms-modal__lead{
  margin:14px 0 12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.terms-modal__body .legal-doc--modal{
  max-width:none;
  margin:0;
  padding-top:4px;
}
.terms-modal__body .legal-doc--modal .legal-doc__h3{
  scroll-margin-top:12px;
}
.terms-modal__hint{
  margin:16px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(234,240,255,.08);
  text-align:center;
  font-size:13px;
}
.terms-modal__full-link{
  color:var(--primary2);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.terms-modal__full-link:hover{
  color:rgba(51,214,255,.95);
}

/* ========== Light theme (header toggle) ========== */
html[data-theme="light"]{
  color-scheme:light;
  --bg0:#f4f6fb;
  --bg1:#e8edf6;
  --card:#ffffff;
  --card2:#f1f5f9;
  --text:#0f172a;
  /* Body muted text: stronger contrast on white */
  --muted:rgba(15,23,42,.88);
  --muted2:rgba(15,23,42,.76);
  --border:rgba(15,23,42,.1);
  --shadow:0 18px 50px rgba(15,23,42,.1);
}
html[data-theme="light"] body{
  background:linear-gradient(180deg, var(--bg0), var(--bg1) 52%, var(--bg0));
  color:var(--text);
}
html[data-theme="light"] .header{
  background:rgba(255,255,255,.94);
  border-bottom-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .nav__link{
  color:#475569;
}
html[data-theme="light"] .nav__link:hover{
  color:var(--text);
  border-color:rgba(15,23,42,.12);
  background:rgba(15,23,42,.05);
}
html[data-theme="light"] .nav__link--active{
  border-color:rgba(15,23,42,.14);
  background:rgba(15,23,42,.07);
}
html[data-theme="light"] .nav-dropdown__menu{
  border-color:rgba(15,23,42,.12);
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 50px rgba(15,23,42,.12);
}
html[data-theme="light"] .nav-dropdown__link:hover,
html[data-theme="light"] .nav-dropdown__link.active{
  border-color:rgba(15,23,42,.12);
  background:rgba(15,23,42,.05);
}
html[data-theme="light"] .lang-select{
  border-color:rgba(15,23,42,.14);
  color:#334155;
  font-weight:650;
  background-color:rgba(255,255,255,.9);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%230f172a' fill-opacity='0.45' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E");
}
html[data-theme="light"] .lang-select:hover{
  border-color:rgba(15,23,42,.2);
  background-color:#fff;
}
html[data-theme="light"] .theme-toggle{
  border-color:rgba(15,23,42,.14);
  background:rgba(255,255,255,.85);
  color:#0f172a;
}
html[data-theme="light"] .theme-toggle:hover{
  border-color:rgba(15,23,42,.22);
  background:#fff;
}
@media (max-width:980px){
  html[data-theme="light"] .nav{
    background:rgba(255,255,255,.98);
    border-left-color:rgba(15,23,42,.12);
    box-shadow:-14px 0 40px rgba(15,23,42,.12);
  }
  html[data-theme="light"] .nav-dropdown__menu{
    border-color:rgba(15,23,42,.12) !important;
    background:rgba(255,255,255,.95) !important;
  }
  html[data-theme="light"] .nav-menu-toggle{
    border-color:rgba(15,23,42,.14);
    background:rgba(255,255,255,.85);
    color:#0f172a;
  }
  html[data-theme="light"] .nav-menu-toggle:hover{
    border-color:rgba(15,23,42,.22);
    background:#fff;
  }
}
html[data-theme="light"] .pill{
  border-color:rgba(15,23,42,.12);
  background:rgba(255,255,255,.58);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:#475569;
}
html[data-theme="light"] .hero__title{
  /* Light theme: avoid pure black on large type */
  color:#334155;
}
html[data-theme="light"] .hero__title-grad{
  color:inherit;
  background:none;
}
html[data-theme="light"] .hero__title-grad-word{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 52%, #38bdf8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
html[data-theme="light"] .hero__title-grad-mid{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 52%, #38bdf8 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
}
html[data-theme="light"] .hero__user-stat__label{
  color:rgba(15,23,42,.62);
}
html[data-theme="light"] .hero__user-stat__plus{
  color:rgba(79,70,229,.78);
}
html[data-theme="light"] .hero__title-grad-mid::after{
  content:none !important;
  display:none !important;
}
html[data-theme="light"] .stat{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.65);
}
html[data-theme="light"] .card{
  border-color:rgba(15,23,42,.1);
  background:linear-gradient(180deg, #fff, #f8fafc);
  box-shadow:var(--shadow);
}
html[data-theme="light"] .card--glow:before{
  background:radial-gradient(420px 220px at 20% 0%, rgba(109,92,255,.2), transparent 60%),
    radial-gradient(420px 220px at 90% 20%, rgba(51,214,255,.14), transparent 55%);
}
html[data-theme="light"] .divider{
  background:rgba(15,23,42,.1);
}
html[data-theme="light"] .btn--ghost{
  background:rgba(15,23,42,.03);
  border-color:rgba(15,23,42,.14);
}
html[data-theme="light"] .btn--ghost:hover{
  border-color:rgba(15,23,42,.22);
  background:rgba(15,23,42,.06);
}
/* Primary gradient buttons: force light text in light theme */
html[data-theme="light"] .btn--primary{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.22);
}
html[data-theme="light"] .btn--primary:hover{
  color:#fff !important;
}
html[data-theme="light"] .order-cta .btn--ghost{
  color:#334155 !important;
  font-weight:650;
  border-color:rgba(15,23,42,.16);
  background:rgba(255,255,255,.75);
}
html[data-theme="light"] .order-cta .btn--ghost:hover{
  color:#0f172a !important;
  border-color:rgba(15,23,42,.24);
  background:#fff;
}
html[data-theme="light"] .plan-card{
  border-color:rgba(15,23,42,.1);
  background:linear-gradient(180deg, #fff, #f8fafc);
}
html[data-theme="light"] .plan-card__head{
  background:linear-gradient(165deg, rgba(99,102,241,.12), rgba(241,245,249,.92) 45%, #f8fafc);
  border-bottom-color:rgba(15,23,42,.1);
  box-shadow:inset 0 -1px 0 rgba(99,102,241,.08);
}
html[data-theme="light"] .plan-card--featured .plan-card__head{
  background:linear-gradient(165deg, rgba(14,165,233,.16), rgba(240,249,255,.95) 40%, #fff);
  border-bottom-color:rgba(14,165,233,.2);
}
html[data-theme="light"] .feature{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.72);
}
html[data-theme="light"] .section--alt{
  background:rgba(15,23,42,.02);
  border-top-color:rgba(15,23,42,.06);
  border-bottom-color:rgba(15,23,42,.06);
}
html[data-theme="light"] .contact-bar{
  background:#eef2f8;
  border-top-color:rgba(15,23,42,.08);
  border-bottom-color:rgba(15,23,42,.06);
  color:rgba(15,23,42,.9);
}
html[data-theme="light"] .contact-bar__item{
  color:rgba(15,23,42,.78) !important;
  background:rgba(255,255,255,.75);
  border-color:rgba(15,23,42,.12);
}
html[data-theme="light"] .contact-bar__item:hover,
html[data-theme="light"] .contact-bar__item:focus-visible{
  color:rgba(15,23,42,.92) !important;
  background:#fff;
  border-color:rgba(15,23,42,.18);
}
html[data-theme="light"] .contact-bar__item--phones:hover,
html[data-theme="light"] .contact-bar__item--phones:focus-within{
  background:#fff;
  border-color:rgba(15,23,42,.18);
  box-shadow:0 6px 22px rgba(15,23,42,.1);
}
html[data-theme="light"] a.contact-bar__tel:hover,
html[data-theme="light"] a.contact-bar__tel:focus-visible{
  color:rgba(15,23,42,.92) !important;
}
html[data-theme="light"] .footer--mega{
  background:#e8edf5;
  border-top-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .auth-card,
html[data-theme="light"] .contact__card{
  border-color:rgba(15,23,42,.1);
  background:linear-gradient(180deg, #fff, #f5f7fb);
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}
html[data-theme="light"] .field__input,
html[data-theme="light"] .field__textarea{
  border-color:rgba(15,23,42,.14);
  background:rgba(255,255,255,.95);
  color:var(--text);
}
html[data-theme="light"] .auth-links__link{
  border-color:rgba(15,23,42,.14);
  background:rgba(248,250,252,.95);
  color:#334155 !important;
  font-weight:650;
}
html[data-theme="light"] .auth-links__link:hover{
  color:#0f172a !important;
  border-color:rgba(15,23,42,.22);
  background:#fff;
}
html[data-theme="light"] .auth-google{
  border-color:rgba(15,23,42,.14);
  background:rgba(255,255,255,.85);
  color:rgba(15,23,42,.88);
}

html[data-theme="light"] .btn-google-login{
  border-color:rgba(15,23,42,.14);
  background:rgba(255,255,255,.92);
  color:rgba(15,23,42,.88);
}
html[data-theme="light"] .btn-google-login:hover{
  border-color:rgba(15,23,42,.22);
  background:#fff;
}
html[data-theme="light"] .hero__right .fineprint--auth .fineprint__link{
  color:#0284c7;
}
html[data-theme="light"] .hero__right .fineprint--auth .fineprint__link:hover{
  color:#0369a1;
}
html[data-theme="light"] .terms-modal__backdrop{
  background:rgba(248,250,252,.65);
}
html[data-theme="light"] .terms-modal__panel{
  border-color:rgba(15,23,42,.12);
  background:linear-gradient(165deg, #fff, #f4f6fb);
  box-shadow:0 28px 80px rgba(15,23,42,.12);
}
html[data-theme="light"] .terms-modal__header{
  border-bottom-color:rgba(15,23,42,.1);
}
html[data-theme="light"] .terms-modal__close{
  background:rgba(15,23,42,.05);
  border-color:rgba(15,23,42,.12);
  color:#0f172a;
}
html[data-theme="light"] .terms-modal__hint{
  border-top-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .vps-node-header__title{
  color:rgba(15,23,42,.95);
  text-shadow:none;
}
html[data-theme="light"] .vps-node-meta{
  border-top-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .dc-shell{
  border-color:rgba(15,23,42,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(241,245,249,.85));
}
html[data-theme="light"] .dc-tablist{
  background:rgba(255,255,255,.6);
  border-bottom-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .adv-card{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.75);
}
html[data-theme="light"] .side-card{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.75);
}
html[data-theme="light"] .legal-layout__aside{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.7);
}
html[data-theme="light"] .legal-toc__link{
  color:#475569;
}
html[data-theme="light"] .legal-toc__link:hover{
  background:rgba(15,23,42,.05);
}
html[data-theme="light"] .feature.legal-doc{
  border-color:rgba(15,23,42,.08);
  background:rgba(255,255,255,.8);
}
html[data-theme="light"] .price-card{
  border-color:rgba(15,23,42,.1);
  background:linear-gradient(180deg, #fff, #f1f5f9);
  box-shadow:0 10px 30px rgba(15,23,42,.08);
}
html[data-theme="light"] .price-card--featured{
  border-color:rgba(109,92,255,.4);
  background:linear-gradient(180deg, rgba(109,92,255,.12), #fff);
  box-shadow:0 16px 50px rgba(109,92,255,.15);
}
html[data-theme="light"] .price-card--recommended{
  border-color:rgba(14,165,233,.4);
  background:linear-gradient(165deg, rgba(14,165,233,.14), #fff 42%, #f1f5f9);
  box-shadow:
    0 0 0 1px rgba(56,189,248,.22),
    0 14px 40px rgba(14,165,233,.16),
    0 8px 24px rgba(15,23,42,.07);
}
html[data-theme="light"] .price-card--windows.price-card--recommended{
  border-color:rgba(14,165,233,.38);
  box-shadow:
    0 0 0 1px rgba(56,189,248,.2),
    0 14px 36px rgba(14,165,233,.14),
    0 10px 28px rgba(2,132,199,.1);
}
html[data-theme="light"] .price-card__rec-badge__ribbon{
  background:linear-gradient(100deg, #0284c7 0%, #0ea5e9 48%, #38bdf8 100%);
  border-top-color:rgba(255,255,255,.38);
  border-bottom-color:rgba(15,23,42,.1);
  box-shadow:
    0 6px 22px rgba(14,165,233,.32),
    inset 0 1px 0 rgba(255,255,255,.28);
}
/* Light theme: recommended badge spark—sky halos to match ribbon / CTA */
html[data-theme="light"] .price-card__rec-badge__spark{
  filter:
    brightness(.78)
    saturate(1.35)
    contrast(1.12)
    drop-shadow(0 0 1px rgba(255,255,255,.95))
    drop-shadow(0 0 3px rgba(14,165,233,.55))
    drop-shadow(0 1px 4px rgba(15,23,42,.22));
}
html[data-theme="light"] .price-card--recommended .price-card__price{
  border-color:rgba(14,165,233,.28);
  background:linear-gradient(165deg, rgba(14,165,233,.12), rgba(56,189,248,.08) 50%, #fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
html[data-theme="light"] .price-card__top{
  margin:-22px -20px 0;
  padding:20px 20px 18px;
  border-radius:var(--radius) var(--radius) 0 0;
  border-bottom-color:rgba(14,165,233,.14);
  background:linear-gradient(180deg,
    rgba(224,242,254,.88) 0%,
    rgba(241,245,249,.55) 55%,
    rgba(255,255,255,.2) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
html[data-theme="light"] .price-card__price{
  border-color:rgba(109,92,255,.25);
  background:linear-gradient(165deg, rgba(109,92,255,.1), rgba(51,214,255,.06) 50%, #fff);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
}
html[data-theme="light"] .price-card__amount{
  color:#0f172a;
}
html[data-theme="light"] .badge{
  border-color:rgba(109,92,255,.35);
  background:rgba(109,92,255,.12);
  color:#1e1b4b;
}
html[data-theme="light"] .faq__item{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.75);
}
html[data-theme="light"] .faq__item:hover{
  background:rgba(109,92,255,.06);
  border-color:rgba(109,92,255,.22);
}
html[data-theme="light"] .faq__item[open]{
  background:rgba(109,92,255,.09);
  border-color:rgba(109,92,255,.35);
  box-shadow:0 10px 28px rgba(15,23,42,.1);
}
html[data-theme="light"] .faq__icon{
  color:#5b4fd4;
  background:linear-gradient(145deg, rgba(109,92,255,.18), rgba(109,92,255,.06));
  border-color:rgba(109,92,255,.25);
}
html[data-theme="light"] .faq__item[open] .faq__icon{
  color:#4338ca;
}
html[data-theme="light"] .faq__chevron{
  color:rgba(15,23,42,.4);
}
html[data-theme="light"] .faq__item[open] .faq__chevron{
  color:rgba(67,56,202,.75);
}
html[data-theme="light"] .faq-section__title{
  border-bottom-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .map-frame,
html[data-theme="light"] .uptime-card{
  border-color:rgba(15,23,42,.1);
  background:rgba(255,255,255,.75);
}
html[data-theme="light"] .product-cards .feature{
  background:rgba(255,255,255,.8);
}
html[data-theme="light"] .product-cards .feature__title{
  color:#0f172a;
}

/* Form labels (auth card) */
html[data-theme="light"] .field__label{
  color:#475569;
  font-weight:650;
}
html[data-theme="light"] .hero__right .auth-card .field__label{
  color:#334155;
  font-weight:750;
}

/* Home plan preview cards */
html[data-theme="light"] .plan-card__k,
html[data-theme="light"] .plan-card__label{
  color:#64748b;
}
html[data-theme="light"] .plan-card__name{
  color:#0f172a;
}
html[data-theme="light"] .plan-card__price{
  color:#0f172a;
}
html[data-theme="light"] .plan-card__list li{
  color:#334155;
}
/* Pricing cards on light bg: force dark spec text */
html[data-theme="light"] .price-card__list li{
  color:#334155 !important;
  background:rgba(248,250,252,.98);
  border-color:rgba(15,23,42,.1);
}
html[data-theme="light"] .price-card__desc{
  color:#475569 !important;
}
html[data-theme="light"] .price-card__suffix{
  color:#64748b !important;
}
html[data-theme="light"] .price-card__name{
  color:#0f172a;
}
html[data-theme="light"] .price-card__feat::before{
  filter:brightness(0) saturate(100%) invert(28%) sepia(12%) saturate(900%);
  opacity:.92;
}
html[data-theme="light"] .pricing .price-card > .btn--block.btn--primary{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.18);
}
/* DC map tabs: light active surface, dark label */
html[data-theme="light"] #dc-sea:checked ~ .dc-tablist label[for="dc-sea"],
html[data-theme="light"] #dc-hk:checked ~ .dc-tablist label[for="dc-hk"],
html[data-theme="light"] #dc-other:checked ~ .dc-tablist label[for="dc-other"]{
  color:#0f172a;
  background:#fff;
  border-color:rgba(99,102,241,.35);
  box-shadow:inset 0 3px 0 0 var(--primary2);
}
html[data-theme="light"] .dc-tab{
  color:#64748b;
  background:rgba(255,255,255,.7);
  border-color:rgba(15,23,42,.08);
}
html[data-theme="light"] .dc-tab:hover{
  color:#334155;
  background:rgba(248,250,252,.98);
}
html[data-theme="light"] .dc-loc-title{
  color:#0f172a !important;
}
html[data-theme="light"] .dc-services-title{
  color:#1e293b !important;
}
html[data-theme="light"] .dc-lg-link{
  color:#4f46e5;
}
html[data-theme="light"] .dc-lg-link:hover{
  color:#0284c7;
}
html[data-theme="light"] .dc-shell::before{
  opacity:.05;
}

/* Supplier strip: light gray chips for readability */
html[data-theme="light"] .supplier-strip{
  background:linear-gradient(180deg,#f1f5f9,#e2e8f0) !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top-color:rgba(15,23,42,.1) !important;
  border-bottom-color:rgba(15,23,42,.1) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
html[data-theme="light"] .supplier-logo{
  opacity:1 !important;
  filter:none !important;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(15,23,42,.1);
}
html[data-theme="light"] .supplier-logo__text{
  color:#334155 !important;
}
html[data-theme="light"] .supplier-logo:hover,
html[data-theme="light"] .supplier-logo:focus-visible{
  background:#fff;
  border-color:rgba(14,165,233,.35);
}

/* Hosting advantages */
html[data-theme="light"] .adv-card__num{
  color:#64748b;
}
html[data-theme="light"] .adv-card__title{
  color:#0f172a;
}
html[data-theme="light"] .adv-card__icon{
  background:linear-gradient(135deg, rgba(79,70,229,.2), rgba(14,165,233,.12));
  color:#4338ca;
  box-shadow:0 10px 26px rgba(15,23,42,.08);
}
html[data-theme="light"] .adv-card__desc{
  color:#475569;
}
html[data-theme="light"] .moneyback-vps__pill{
  border-color:rgba(109,92,255,.35);
  background:linear-gradient(135deg, rgba(109,92,255,.16), rgba(51,214,255,.1) 55%, rgba(255,255,255,.95));
  color:#0f172a;
  box-shadow:
    0 12px 36px rgba(109,92,255,.18),
    inset 0 1px 0 rgba(255,255,255,.85);
}

/* Footer link contrast */
html[data-theme="light"] .footer__heading{
  color:#0f172a !important;
}
html[data-theme="light"] .footer__logo:hover .brand__img{
  opacity:.88;
}
html[data-theme="light"] .footer--mega .footer__link{
  color:#475569 !important;
}
html[data-theme="light"] .footer--mega .footer__link:hover{
  color:#2563eb !important;
}
html[data-theme="light"] .footer__desc{
  color:#475569 !important;
}
html[data-theme="light"] .footer__copy{
  color:#64748b !important;
}

/* Legal doc secondary text */
html[data-theme="light"] .legal-doc__p,
html[data-theme="light"] .legal-doc__ul{
  color:#334155;
}

/* ========== Light theme: blue ramp + LG/test IP + contact bar icons ========== */
html[data-theme="light"]{
  --accent:#0284c7;
  --accent-deep:#0c4a6e;
  --accent-ring:rgba(14,165,233,.45);
}

/* VPS node meta: code URL/IP must be dark on light bg (old light text invisible) */
html[data-theme="light"] .vps-node-meta__value{
  color:#0c4a6e !important;
  background:rgba(14,165,233,.1);
  border:1px solid rgba(14,165,233,.22);
  font-weight:600;
}
html[data-theme="light"] a.vps-node-meta__lg:hover .vps-node-meta__value,
html[data-theme="light"] a.vps-node-meta__lg:focus-visible .vps-node-meta__value{
  background:rgba(14,165,233,.22) !important;
  border-color:rgba(14,165,233,.45) !important;
  color:#073652 !important;
}
html[data-theme="light"] .vps-node-meta__sep{
  color:#64748b !important;
}
html[data-theme="light"] .vps-node-meta__label{
  color:#334155 !important;
  font-weight:700;
}
html[data-theme="light"] .vps-node-meta__line{
  color:#475569;
}

/* Contact strip: icon rings use currentColor (stroke/fill inherit) */
html[data-theme="light"] .contact-bar__icon-ring{
  border-color:rgba(14,165,233,.42);
  background:rgba(14,165,233,.1);
  color:#0369a1;
}
html[data-theme="light"] .contact-bar__icon-ring svg{
  color:inherit;
}

html[data-theme="light"] .field__input:focus,
html[data-theme="light"] .field__textarea:focus{
  border-color:rgba(14,165,233,.55);
  box-shadow:0 0 0 3px rgba(14,165,233,.22);
}
html[data-theme="light"] .lang-select:focus{
  border-color:rgba(14,165,233,.55);
  box-shadow:0 0 0 3px rgba(14,165,233,.2);
}
/* Featured plan card (home): sky halo + clean white blend; matches primary ramp */
html[data-theme="light"] .plan-card--featured{
  border-color:rgba(14,165,233,.38);
  background:linear-gradient(160deg, #e8f4fc 0%, #f0f9ff 28%, #ffffff 55%, #f8fafc 100%);
  box-shadow:
    0 0 0 1px rgba(14,165,233,.1),
    0 14px 42px rgba(14,165,233,.11);
}
html[data-theme="light"] .plan-card--featured:hover{
  border-color:rgba(14,165,233,.48);
  box-shadow:
    0 0 0 1px rgba(14,165,233,.16),
    0 18px 50px rgba(14,165,233,.14);
}
html[data-theme="light"] .plan-card__ribbon{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 52%, #38bdf8 100%);
  border:1px solid rgba(255,255,255,.42);
  color:#fff;
  box-shadow:0 4px 16px rgba(14,165,233,.32), inset 0 1px 0 rgba(255,255,255,.22);
}
html[data-theme="light"] .plan-card .btn--ghost{
  border-color:rgba(2,132,199,.38) !important;
  background:rgb(21,85,197) !important;
  color:#fff !important;
  font-weight:750;
  box-shadow:0 6px 18px rgba(21,85,197,.22);
}
html[data-theme="light"] .plan-card .btn--ghost:hover{
  border-color:rgba(2,132,199,.55) !important;
  background:rgb(17,70,168) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(17,70,168,.28);
}
html[data-theme="light"] .price-card--featured{
  border-color:rgba(14,165,233,.42) !important;
  background:linear-gradient(180deg, rgba(14,165,233,.1), #fff) !important;
  box-shadow:0 16px 48px rgba(14,165,233,.12) !important;
}
html[data-theme="light"] .price-card__price{
  border-color:rgba(14,165,233,.28) !important;
  background:linear-gradient(165deg, rgba(14,165,233,.12), rgba(56,189,248,.07) 50%, #fff) !important;
}
html[data-theme="light"] .badge{
  border-color:rgba(14,165,233,.32) !important;
  background:rgba(14,165,233,.12) !important;
  color:#0c4a6e !important;
}
html[data-theme="light"] .pricing .price-card > .price-card__cta--secondary.btn--ghost{
  border-color:rgba(2,132,199,.38) !important;
  background:rgb(21,85,197) !important;
  color:#fff !important;
  font-weight:750;
  box-shadow:0 6px 18px rgba(21,85,197,.22);
}
html[data-theme="light"] .pricing .price-card > .price-card__cta--secondary.btn--ghost:hover{
  border-color:rgba(2,132,199,.55) !important;
  background:rgb(17,70,168) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(17,70,168,.28);
}
/* Primary solid CTA: sky ramp from sky-600 (avoid muddy left edge) */
html[data-theme="light"] .btn--primary{
  border-color:rgba(14,165,233,.82);
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 52%, #38bdf8 100%);
  box-shadow:0 12px 36px rgba(14,165,233,.26);
}
html[data-theme="light"] .btn--primary:hover{
  background:linear-gradient(90deg, #0369a1 0%, #0284c7 48%, #0ea5e9 100%);
  box-shadow:0 14px 40px rgba(14,165,233,.3);
}
html[data-theme="light"] .order-cta .btn--primary{
  box-shadow:0 8px 22px rgba(14,165,233,.2);
}
html[data-theme="light"] .order-cta .btn--primary:hover{
  box-shadow:0 10px 26px rgba(14,165,233,.24);
}
html[data-theme="light"] #dc-sea:checked ~ .dc-tablist label[for="dc-sea"],
html[data-theme="light"] #dc-hk:checked ~ .dc-tablist label[for="dc-hk"],
html[data-theme="light"] #dc-other:checked ~ .dc-tablist label[for="dc-other"]{
  border-color:rgba(14,165,233,.38) !important;
  box-shadow:inset 0 3px 0 0 #0ea5e9 !important;
}
html[data-theme="light"] .terms-modal__panel{
  box-shadow:
    0 0 0 1px rgba(14,165,233,.12),
    0 28px 80px rgba(15,23,42,.1);
}
html[data-theme="light"] .price-card__feat::before{
  filter:brightness(0) saturate(100%) invert(42%) sepia(98%) saturate(900%) hue-rotate(165deg);
  opacity:.95;
}
html[data-theme="light"] .card--glow:before{
  background:radial-gradient(420px 220px at 20% 0%, rgba(14,165,233,.2), transparent 60%),
    radial-gradient(420px 220px at 90% 20%, rgba(56,189,248,.14), transparent 55%);
}

/* ========== About: text/media split + illustrations ========== */
.about-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(24px,4vw,44px);
  align-items:center;
}
.about-hero__title{
  margin-bottom:10px;
}
.about-hero__lead{
  margin-top:0;
  margin-bottom:14px;
}
.about-prose{
  margin:0 0 14px;
  max-width:62ch;
  color:var(--muted);
  line-height:1.7;
  font-size:15px;
}
.about-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}
.about-figure{
  margin:0;
  border-radius:var(--radius);
  overflow:hidden;
  border:none;
  background:rgba(234,240,255,.04);
  box-shadow:var(--shadow);
}
.about-figure__img{
  display:block;
  width:100%;
  height:auto;
  vertical-align:middle;
}
.about-figure--hero .about-figure__img{
  max-height:min(420px, 52vw);
  object-fit:cover;
}
.about-split__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(22px,3.5vw,40px);
  align-items:center;
}
.about-split--reverse .about-split__grid{
  direction:rtl;
}
.about-split--reverse .about-split__copy,
.about-split--reverse .about-figure{
  direction:ltr;
}
.about-section-title{
  margin:0 0 12px;
  font-size:1.15rem;
  font-weight:800;
  color:var(--text);
  letter-spacing:-.02em;
}
.about-section-title--center{
  text-align:center;
  margin-bottom:10px;
}
.about-list{
  margin:14px 0 0;
  padding-left:1.15rem;
  color:var(--muted);
  line-height:1.75;
  font-size:14px;
}
.about-list li{
  margin-bottom:8px;
}
.about-values-lead{
  text-align:center;
  max-width:54ch;
  margin:0 auto 28px;
  color:var(--muted);
  line-height:1.65;
  font-size:15px;
}
.about-cards{
  margin-top:8px;
}
@media (max-width: 900px){
  .about-hero__grid,
  .about-split__grid{
    grid-template-columns:1fr;
    gap:22px;
  }
  .about-split--reverse .about-split__grid{
    direction:ltr;
  }
  .about-figure--hero{
    order:-1;
    max-width:480px;
    margin-left:auto;
    margin-right:auto;
  }
}
html[data-theme="light"] .about-figure{
  border:none;
  background:linear-gradient(180deg, #fff 0%, rgba(248,250,252,.96) 100%);
  box-shadow:0 16px 44px rgba(15,23,42,.11);
}
.page-about .about-cards .feature{
  border:none;
  box-shadow:0 14px 42px rgba(0,0,0,.35);
}
html[data-theme="light"] .page-about .about-cards .feature{
  border:none;
  background:linear-gradient(180deg, #fff, #f8fafc);
  box-shadow:0 12px 36px rgba(15,23,42,.09);
}

/* ========== Looking Glass hub ========== */
.page-looking-glass .lg-hero__inner{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(20px,4vw,36px);
  align-items:center;
}
.lg-hero__title{
  margin-bottom:8px;
}
.lg-hero__lead{
  margin:0;
  max-width:54ch;
}
.lg-hero__art-frame{
  width:100%;
  max-width:400px;
  margin-left:auto;
  border-radius:var(--radius2);
  box-shadow:var(--shadow);
  overflow:hidden;
  line-height:0;
}
.lg-hero__svg{
  width:100%;
  display:block;
  margin:0;
  --lg-hero-frame:var(--border);
}
.lg-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.lg-card{
  border-radius:var(--radius);
  border:1px solid var(--border);
  background:linear-gradient(165deg, rgba(14,23,48,.72), rgba(11,19,44,.58));
  padding:22px 20px 24px;
  box-shadow:0 12px 36px rgba(0,0,0,.2);
  display:flex;
  flex-direction:column;
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.lg-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(280px 120px at 10% 0%, rgba(109,92,255,.12), transparent 55%);
  pointer-events:none;
}
.lg-card__head{
  margin-bottom:10px;
  position:relative;
}
.lg-card__tag{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(196,210,255,.9);
  padding:5px 10px;
  border-radius:999px;
  border:1px solid rgba(129,140,248,.35);
  background:rgba(109,92,255,.18);
}
.lg-card__title{
  margin:0 0 10px;
  font-size:1.08rem;
  font-weight:800;
  color:var(--text);
  line-height:1.25;
  position:relative;
}
.lg-card__desc{
  margin:0 0 14px;
  font-size:14px;
  color:var(--muted);
  line-height:1.65;
  flex:1;
  position:relative;
}
.lg-card__host{
  margin:0 0 16px;
  position:relative;
}
.lg-card__code{
  display:block;
  font-size:12px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(7,10,18,.45);
  border:1px solid rgba(234,240,255,.1);
  color:rgba(186,200,255,.88);
  word-break:break-all;
}
.lg-card__btn{
  position:relative;
}
.lg-footnote{
  margin:36px auto 0;
  max-width:64ch;
  text-align:center;
  font-size:13px;
  color:var(--muted);
  line-height:1.65;
}
@media (max-width: 1020px){
  .lg-grid{
    grid-template-columns:1fr;
    max-width:520px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media (max-width: 900px){
  .page-looking-glass .lg-hero__inner{
    grid-template-columns:1fr;
  }
  .lg-hero__art-frame{
    margin-right:auto;
    max-width:100%;
  }
}
html[data-theme="light"] .lg-card{
  background:linear-gradient(180deg, #fff, #f4f7fb);
  border-color:rgba(15,23,42,.1);
  box-shadow:0 14px 40px rgba(15,23,42,.08);
}
html[data-theme="light"] .lg-card__tag{
  color:#3730a3;
  border-color:rgba(99,102,241,.3);
  background:rgba(109,92,255,.1);
}
html[data-theme="light"] .lg-card__code{
  background:rgba(241,245,249,.95);
  border-color:rgba(15,23,42,.1);
  color:#475569;
}
html[data-theme="light"] .lg-hero__art-frame{
  box-shadow:0 12px 36px rgba(15,23,42,.1);
}
html[data-theme="light"] .lg-hero__svg{
  --lg-hero-frame:rgba(15,23,42,.09);
  --lg-hero-bg0:#2dd4bf;
  --lg-hero-bg0-op:0.38;
  --lg-hero-bg1:#a78bfa;
  --lg-hero-bg1-op:0.32;
  --lg-hero-route0:#14b8a6;
  --lg-hero-route0-op:0.88;
  --lg-hero-route1:#6366f1;
  --lg-hero-route1-op:0.86;
  --lg-hero-route2:#8b5cf6;
  --lg-hero-route2-op:0.84;
  --lg-hero-glass0:#818cf8;
  --lg-hero-glass0-op:0.1;
  --lg-hero-glass1:#38bdf8;
  --lg-hero-glass1-op:0.07;
  --lg-hero-fill-bg-op:0.58;
  --lg-hero-fill-glass-op:0.92;
  --lg-hero-fill-grid-op:0.42;
  --lg-hero-grid-dot:rgba(100,116,139,0.13);
  --lg-hero-bars-op:0.68;
  --lg-hero-bar0:rgba(20,184,166,0.72);
  --lg-hero-bar1:rgba(129,140,248,0.68);
  --lg-hero-bar2:rgba(236,72,153,0.64);
  --lg-hero-bar3:rgba(99,102,241,0.66);
  --lg-hero-route-w:2.45;
  --lg-hero-route-dash:9 7;
  --lg-hero-node-fill0:rgba(15,23,42,0.07);
  --lg-hero-node-stroke0:rgba(13,148,136,0.82);
  --lg-hero-node-fill1:rgba(15,23,42,0.06);
  --lg-hero-node-stroke1:rgba(99,102,241,0.76);
  --lg-hero-node-fill2:rgba(15,23,42,0.06);
  --lg-hero-node-stroke2:rgba(219,39,119,0.72);
  --lg-hero-node-end-fill:rgba(99,102,241,0.3);
  --lg-hero-node-end-stroke:rgba(99,102,241,0.42);
  --lg-hero-node-sw:1.45;
  --lg-hero-node-end-sw:1.35;
  --lg-hero-arc-stroke:rgba(100,116,139,0.3);
  --lg-hero-arc-w:1.45;
  --lg-hero-speed-line:rgba(20,184,166,0.5);
  --lg-hero-speed-w:1.75;
  --lg-hero-speed0-op:0.14;
  --lg-hero-speed1-op:0.18;
  --lg-hero-bar4:rgba(99,102,241,0.62);
  --lg-hero-node-fill-mid:rgba(15,23,42,0.06);
  --lg-hero-node-stroke-mid:rgba(236,72,153,0.68);
  --lg-hero-latency-stroke:rgba(99,102,241,0.45);
  --lg-hero-latency-op:0.55;
}

/* ---------- Scroll-triggered reveal & stagger ---------- */
[data-reveal]{
  transition:
    opacity 0.65s cubic-bezier(0.22,1,0.36,1),
    transform 0.65s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
html.reveal-ready [data-reveal]:not(.is-revealed){
  opacity:0;
}
html.reveal-ready [data-reveal="up"]:not(.is-revealed){
  transform:translateY(28px);
}
html.reveal-ready [data-reveal="down"]:not(.is-revealed){
  transform:translateY(-22px);
}
html.reveal-ready [data-reveal="left"]:not(.is-revealed){
  transform:translateX(28px);
}
html.reveal-ready [data-reveal="right"]:not(.is-revealed){
  transform:translateX(-28px);
}
html.reveal-ready [data-reveal="scale"]:not(.is-revealed){
  transform:scale(0.94);
}
html.reveal-ready [data-reveal="fade"]:not(.is-revealed){
  transform:none;
}
[data-reveal].is-revealed{
  opacity:1;
  transform:none;
}

html.reveal-ready [data-reveal-stagger]:not(.is-revealed) > *{
  opacity:0;
  transform:translateY(22px);
}
[data-reveal-stagger] > *{
  transition:
    opacity 0.55s cubic-bezier(0.22,1,0.36,1),
    transform 0.55s cubic-bezier(0.22,1,0.36,1);
  will-change: opacity, transform;
}
html.reveal-ready [data-reveal-stagger].is-revealed > *{
  opacity:1;
  transform:none;
}
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(1){ transition-delay:0.04s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(2){ transition-delay:0.1s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(3){ transition-delay:0.16s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(4){ transition-delay:0.22s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(5){ transition-delay:0.28s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(6){ transition-delay:0.34s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(7){ transition-delay:0.4s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(8){ transition-delay:0.46s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(9){ transition-delay:0.52s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(10){ transition-delay:0.58s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(11){ transition-delay:0.64s; }
html.reveal-ready [data-reveal-stagger].is-revealed > *:nth-child(12){ transition-delay:0.7s; }
/* Same beat for all children (pop in together) */
html.reveal-ready [data-reveal-stagger="sync"].is-revealed > *:nth-child(n){
  transition-delay:0.08s;
}

@media (prefers-reduced-motion: reduce){
  [data-reveal],
  [data-reveal-stagger] > *{
    transition:none !important;
    animation:none !important;
    transform:none !important;
    opacity:1 !important;
  }
  html.reveal-ready [data-reveal-stagger]:not(.is-revealed) > *{
    opacity:1 !important;
    transform:none !important;
  }
}

/* Home: four feature rail (scroll stagger like plan-grid / advantages) */
.features-spotlight{
  padding:clamp(40px,5vw,64px) 0;
}
.features-spotlight .section__title{
  /* Match Product highlights / Hosting Advantages title → content rhythm */
  margin-bottom:12px;
}
/* Subtitle under “Four reasons…” — spacing to rail (was on all [data-reveal].is-revealed) */
.features-spotlight__lead{
  max-width:52ch;
  font-size:clamp(14px,1.4vw,16px);
}
.features-spotlight__kicker{
  margin:0 auto 10px;
  text-align:center;
  max-width:40ch;
  font-size:12px;
  font-weight:800;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(109,92,255,.95);
}
/* Flat “rail” layout — no boxed cards (contrasts with Hosting Advantages grid) */
.features-spotlight__rail{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:clamp(18px, 2.5vw, 28px) clamp(20px, 3vw, 36px);
  margin-top:35px;
  padding:clamp(14px, 2vw, 22px) 0 4px;
  border-top:1px solid rgba(234,240,255,.1);
  list-style:none;
}
.features-spotlight-item{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:14px;
  margin:0;
  text-align:left;
  background:transparent;
  border:none;
  box-shadow:none;
  padding:4px 0;
}
.features-spotlight-item__icon{
  width:48px;
  height:48px;
  border-radius:14px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  background:linear-gradient(135deg, rgba(109,92,255,.28), rgba(51,214,255,.14));
  color:rgba(234,240,255,.92);
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
.features-spotlight-item__icon svg{
  display:block;
  flex-shrink:0;
}
.features-spotlight-item__body{
  min-width:0;
}
.features-spotlight-item__title{
  margin:0 0 6px;
  font-size:clamp(15px, 1.35vw, 17px);
  font-weight:850;
  letter-spacing:-0.02em;
  line-height:1.25;
}
.features-spotlight-item__desc{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
}

@media (max-width:1100px){
  .features-spotlight__rail{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:560px){
  .features-spotlight__rail{
    grid-template-columns:1fr;
    gap:20px;
    padding-bottom:8px;
  }
}

html[data-theme="light"] .features-spotlight__rail{
  border-top-color:rgba(15,23,42,.1);
}
html[data-theme="light"] .features-spotlight-item__desc{
  color:var(--muted);
}
html[data-theme="light"] .features-spotlight-item__icon{
  background:linear-gradient(135deg, rgba(79,70,229,.2), rgba(14,165,233,.12));
  color:#4338ca;
  box-shadow:0 8px 20px rgba(15,23,42,.07);
}
