/* ===========================================================================
   TOPIC PAGES — /latency-optimized/, /windows-vps/, /fully-managed-vps/
   Long-form, so the body column is narrow enough to read comfortably.
   ======================================================================== */

/* --- the three cards under the hero ------------------------------------- */
.topic-points{padding-bottom:0}
.topic-point-grid{
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
}
.topic-point{
  padding:clamp(18px,2vw,24px);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.015));
  border:1px solid var(--line);
  transition:transform .22s cubic-bezier(.22,.7,.2,1),border-color .22s ease;
}
.topic-point:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.topic-point-i{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;margin-bottom:12px;
  background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.26);
  color:var(--accent);
}
.topic-point h2{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.topic-point p{margin:0;font-size:13px;line-height:1.68;color:var(--muted-2)}

/* --- the prose ---------------------------------------------------------- */
.topic-prose{
  /* ~68 characters a line; past that the eye loses the next line's start */
  max-width:68ch;margin-inline:auto;
}
.topic-block + .topic-block{margin-top:clamp(28px,3.4vw,46px)}

.topic-prose h2{
  margin:0 0 14px;
  font-size:clamp(19px,2.2vw,24px);font-weight:800;letter-spacing:-.02em;color:var(--ink);
  line-height:1.25;
}
/* a short accent rule, so headings read as section starts while scanning */
.topic-prose h2::after{
  content:"";display:block;width:34px;height:2px;border-radius:2px;margin-top:11px;
  background:linear-gradient(90deg,var(--accent),transparent);
}
.topic-prose p{
  margin:0 0 15px;
  font-size:15px;line-height:1.78;color:var(--muted);
}
.topic-prose p:last-child{margin-bottom:0}
.topic-prose strong{color:var(--ink);font-weight:700}
.topic-prose a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(var(--accent-rgb),.35)}
.topic-prose a:hover{border-bottom-color:var(--accent)}

/* the body sits close under the cards; the plan table below gets the air */
.fxvps-topic .topic-body{padding-top:clamp(48px,6vw,86px)}

/* ===========================================================================
   TRUST PAGES — about, reviews, contact. They share the topic chrome, so
   only the pieces unique to each live here.
   ======================================================================== */

/* --- about: what we do / what we do not --------------------------------- */
.about-split-in{
  display:grid;gap:clamp(16px,2vw,26px);
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  align-items:start;max-width:980px;margin-inline:auto;
}
@media (max-width:860px){.about-split-in{grid-template-columns:1fr}}

.about-does,.about-not{
  padding:clamp(20px,2.2vw,28px);border-radius:18px;border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.014));
}
.about-does h2,.about-not h2{
  margin:0 0 16px;font-size:16px;font-weight:800;letter-spacing:-.01em;color:var(--ink);
}
.about-does ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.about-does li{display:flex;align-items:flex-start;gap:12px}
.about-i{
  flex:0 0 auto;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.26);
  color:var(--accent);
}
.about-does li b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.about-does li span{display:block;margin-top:2px;font-size:12.5px;line-height:1.6;color:var(--muted-2)}

/* the "not" panel is deliberately the quieter of the two: it is a statement
   of scope, not a warning label */
.about-not{border-color:rgba(var(--gold-rgb,255,210,122),.22);background:rgba(255,210,122,.035)}
.about-not ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}
.about-not li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13.5px;line-height:1.55;font-weight:600;color:var(--ink);
}
.about-not li svg{flex:0 0 auto;margin-top:3px;color:var(--gold)}
.about-not p{margin:0;font-size:12.5px;line-height:1.7;color:var(--muted-2)}

/* --- reviews ------------------------------------------------------------ */
.rev-grid{
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
}
.rev{
  display:flex;flex-direction:column;
  padding:clamp(18px,2vw,24px);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.015));
  border:1px solid var(--line);
  transition:transform .22s cubic-bezier(.22,.7,.2,1),border-color .22s ease;
}
.rev:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.rev-stars{display:flex;gap:3px;margin-bottom:11px}
.rev-stars span{color:rgba(255,255,255,.14);display:block}
.rev-stars span.on{color:var(--gold)}
.rev h3{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.rev p{margin:0 0 16px;font-size:13.5px;line-height:1.7;color:var(--muted)}
.rev footer{
  margin-top:auto;display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding-top:12px;border-top:1px solid var(--line);
}
.rev footer b{font-size:13px;font-weight:700;color:var(--ink)}
.rev footer time{font-size:11.5px;color:var(--muted-2)}

.rev.is-cta{
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),rgba(255,255,255,.015));
  border-color:rgba(var(--accent-rgb),.3);
}
.rev-cta-i{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;margin-bottom:12px;
  background:rgba(var(--accent-rgb),.14);border:1px solid rgba(var(--accent-rgb),.3);color:var(--accent);
}
.rev.is-cta a{
  margin-top:auto;display:inline-flex;align-items:center;gap:7px;
  font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;
}
.rev.is-cta a svg{transition:transform .18s ease}
.rev.is-cta a:hover svg{transform:translateX(3px)}

/* --- contact ------------------------------------------------------------ */
.contact-grid{
  display:grid;gap:clamp(13px,1.5vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(236px,1fr));
}
.contact-card{
  display:block;padding:clamp(18px,2vw,23px);border-radius:16px;text-decoration:none;
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.015));
  border:1px solid var(--line);
  transition:transform .22s cubic-bezier(.22,.7,.2,1),border-color .22s ease;
}
a.contact-card:hover,.contact-card.is-chat:hover{
  transform:translateY(-3px);border-color:rgba(var(--accent-rgb),.45);cursor:pointer;
}
.contact-i{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;margin-bottom:12px;
  background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.26);color:var(--accent);
}
.contact-card h3{margin:0 0 5px;font-size:14px;font-weight:700;color:var(--ink)}
.contact-card b{
  display:block;margin-bottom:7px;font-size:13.5px;font-weight:700;color:var(--accent);
  word-break:break-word;
}
.contact-card p{margin:0;font-size:12.5px;line-height:1.65;color:var(--muted-2)}

.contact-before{display:grid;gap:10px;max-width:720px;margin-inline:auto}
.contact-pre{
  display:flex;align-items:center;gap:14px;
  padding:15px 18px;border-radius:14px;text-decoration:none;
  background:rgba(255,255,255,.03);border:1px solid var(--line);
  transition:border-color .2s ease,background-color .2s ease;
}
.contact-pre:hover{border-color:rgba(var(--accent-rgb),.45);background:rgba(var(--accent-rgb),.06)}
.contact-pre > div{flex:1 1 auto;min-width:0}
.contact-pre b{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.contact-pre span{display:block;margin-top:2px;font-size:12.5px;color:var(--muted-2)}
.contact-pre > svg{flex:0 0 auto;color:var(--muted-2);transition:transform .18s ease,color .18s ease}
.contact-pre:hover > svg{transform:translateX(3px);color:var(--accent)}
.contact-pre .contact-i{margin-bottom:0}

/* --- affiliates --------------------------------------------------------- */
.aff-step-grid{
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(252px,1fr));
}
.aff-step{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(20px,2.2vw,26px);border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.042),rgba(255,255,255,.015));
  border:1px solid var(--line);
}
.aff-num{
  position:absolute;top:16px;right:18px;
  font-size:34px;font-weight:900;line-height:1;letter-spacing:-.04em;
  color:rgba(var(--accent-rgb),.16);
}
.aff-i{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;margin-bottom:13px;
  background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.26);color:var(--accent);
}
.aff-step h3{margin:0 0 7px;font-size:15px;font-weight:700;color:var(--ink)}
.aff-step p{margin:0 0 15px;font-size:13.5px;line-height:1.68;color:var(--muted)}
.aff-step a{
  margin-top:auto;display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  font-size:13px;font-weight:700;color:var(--accent);text-decoration:none;
}
.aff-step a svg{transition:transform .18s ease}
.aff-step a:hover svg{transform:translateX(3px)}

/* --- dedicated servers --------------------------------------------------- */
.dedi-grid{
  display:grid;gap:clamp(14px,1.6vw,20px);
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr));
}
.dedi{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(20px,2.2vw,26px);border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  border:1px solid var(--line);
  transition:transform .22s cubic-bezier(.22,.7,.2,1),border-color .22s ease;
}
.dedi:hover{transform:translateY(-3px);border-color:var(--line-strong)}
.dedi.is-popular{border-color:rgba(var(--accent-rgb),.45)}
.dedi-flag{
  position:absolute;top:-1px;right:18px;
  padding:4px 10px;border-radius:0 0 7px 7px;
  font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--accent);
}
.dedi h3{margin:0 0 5px;font-size:16px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.dedi-blurb{margin:0 0 14px;font-size:12.5px;color:var(--muted-2)}
.dedi-price{display:flex;align-items:baseline;gap:4px;margin:0 0 18px}
.dedi-price b{font-size:34px;font-weight:800;color:var(--ink);letter-spacing:-.03em;line-height:1}
.dedi-price i{font-style:normal;font-size:12.5px;color:var(--muted-2)}

.dedi-spec{margin:0 0 20px;display:grid;gap:9px}
.dedi-spec > div{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding-bottom:9px;border-bottom:1px solid var(--line);
}
.dedi-spec > div:last-child{border-bottom:0;padding-bottom:0}
.dedi-spec dt{
  flex:0 0 auto;font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted-2);padding-top:2px;
}
.dedi-spec dd{margin:0;text-align:right;font-size:12.5px;line-height:1.5;font-weight:600;color:var(--ink)}

.dedi-go{
  margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 18px;border-radius:11px;
  font-size:13.5px;font-weight:700;text-decoration:none;
  color:var(--ink);background:rgba(255,255,255,.055);border:1px solid var(--line-strong);
  transition:background-color .18s ease,border-color .18s ease,transform .18s ease;
}
.dedi-go:hover{transform:translateY(-1px);background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.5)}
.dedi.is-popular .dedi-go{color:var(--accent-ink);background:var(--accent);border-color:transparent}
.dedi.is-popular .dedi-go:hover{filter:brightness(1.07);background:var(--accent)}

/* --- knowledge base ------------------------------------------------------ */
.fxvps-kb .kb-group{padding-top:clamp(36px,4vw,60px);padding-bottom:0}
.fxvps-kb .kb-group .section-head{margin-bottom:18px;text-align:left;max-width:none}
.fxvps-kb .kb-group .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:0}

.kb-card{
  max-width:860px;margin-inline:auto;
  border-radius:16px;border:1px solid var(--line);overflow:hidden;
  background:rgba(255,255,255,.022);
}
.kb-q{border-bottom:1px solid var(--line)}
.kb-q:last-child{border-bottom:0}
.kb-q summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;
  padding:16px 20px;list-style:none;
  font-size:14.5px;font-weight:700;color:var(--ink);
  transition:background-color .18s ease;
}
.kb-q summary::-webkit-details-marker{display:none}
.kb-q summary:hover{background:rgba(255,255,255,.03)}
.kb-q summary svg{flex:0 0 auto;color:var(--muted-2);transition:transform .22s ease}
.kb-q[open] summary svg{transform:rotate(180deg);color:var(--accent)}
.kb-q[open] summary{color:var(--accent)}

.kb-a{padding:0 20px 18px}
.kb-a ol{margin:0;padding-left:20px;display:grid;gap:10px}
.kb-a li{font-size:13.5px;line-height:1.72;color:var(--muted)}
.kb-a li::marker{color:var(--accent);font-weight:700}
.kb-a strong{color:var(--ink);font-weight:700}
