.hero{
  padding-bottom:clamp(40px,6vw,76px);
}
.hero-proof{
  width:100%;
  max-width:1080px;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) 1px minmax(0,.95fr);
  gap:20px;
  align-items:center;
  margin-top:22px;
  padding:14px 18px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-bg);
  box-shadow:var(--shadow-chip);
}
.hero-proof-group{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.hero-proof-label{
  flex:0 0 auto;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero-proof-divider{
  width:1px;
  height:34px;
  background:var(--color-border);
}
.hero-platforms,
.hero-flags{
  min-width:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
}
.hero-platform,
.hero-flag{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  gap:6px;
  color:var(--color-muted);
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.hero-platform svg{
  width:15px;
  height:15px;
  flex:0 0 auto;
  color:var(--color-teal);
}
.hero-flag svg{
  width:24px;
  height:16px;
  flex:0 0 auto;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
}
.flag-red{fill:var(--color-flag-red)}
.flag-navy{fill:var(--color-flag-navy)}
.flag-green{fill:var(--color-flag-green)}
.flag-gold{fill:var(--color-flag-gold)}
.flag-white{fill:var(--color-white)}
.flag-black{fill:var(--color-black)}
.route-light{
  fill:var(--color-white);
  stroke:var(--color-teal);
  stroke-width:2;
  filter:drop-shadow(0 0 4px var(--color-teal-soft));
  offset-rotate:0deg;
}
.route-light-a{
  offset-path:path("M96 151 C194 70 280 76 364 126 S530 190 624 112 S790 43 884 109 S1001 166 1041 112");
  animation:route-travel-a 8s linear infinite;
}
.route-light-b{
  offset-path:path("M96 151 C225 188 302 183 364 126 S520 50 624 112 S773 190 884 109 S980 62 1041 112");
  animation:route-travel-b 10s linear infinite;
}
@keyframes route-travel-a{
  from{offset-distance:0%}
  to{offset-distance:100%}
}
@keyframes route-travel-b{
  from{offset-distance:100%}
  to{offset-distance:0%}
}
.section-heading{
  max-width:760px;
  margin-bottom:36px;
}
.section-heading h2{
  margin-top:10px;
}
.section-heading>p:last-child{
  margin-top:14px;
  color:var(--color-muted);
}
.split-heading{
  max-width:none;
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(320px,.7fr);
  gap:48px;
  align-items:end;
}
.split-heading>p{
  color:var(--color-muted);
}
.route-preview{
  background:var(--color-panel);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.status-panel{
  display:grid;
  grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);
  gap:28px;
  align-items:start;
  margin-bottom:24px;
  padding:24px;
}
.status-copy h3{
  font-size:22px;
}
.status-copy p{
  margin-top:10px;
  color:var(--color-muted);
  font-size:14px;
}
.server-status{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.srv-row{
  min-width:0;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto auto;
  gap:8px;
  align-items:center;
  min-height:44px;
  padding:8px 10px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
  background:var(--color-bg);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:11px;
}
.srv-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:var(--radius-pill);
  background:var(--color-success);
  animation:srv-pulse 2.4s ease-in-out infinite;
}
.srv-flag{
  width:20px;
  height:14px;
  object-fit:cover;
  border:1px solid var(--color-border);
  border-radius:var(--radius-sm);
}
.srv-name{
  min-width:0;
  overflow:hidden;
  color:var(--color-text);
  font-family:var(--font-body);
  font-weight:750;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-type{
  max-width:100%;
  overflow:hidden;
  padding:2px 6px;
  border-radius:var(--radius-pill);
  background:var(--color-panel-strong);
  color:var(--color-teal);
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-ms,
.srv-bw{
  color:var(--color-muted);
  white-space:nowrap;
}
@keyframes srv-pulse{
  50%{opacity:.35;transform:scale(.82)}
}
.route-table-wrap{
  box-shadow:var(--shadow-card);
}
.route-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.route-notes p{
  padding:20px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-bg);
  color:var(--color-muted);
}
.route-notes strong{
  color:var(--color-text);
}
.section-link{
  margin-top:26px;
  text-align:right;
}
.section-link a,
.section-text-link{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  color:var(--color-accent-dark);
  font-weight:800;
}
.features-section{
  background:var(--color-bg);
}
.feature-details{
  min-width:0;
  border-top:1px solid var(--color-border);
}
.home-feature{
  min-width:0;
  border-bottom:1px solid var(--color-border);
  background:var(--color-bg);
  transition:transform var(--transition-fast),box-shadow var(--transition-fast);
}
.home-feature:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-chip);
}
.home-feature summary{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:22px;
  align-items:center;
  min-height:94px;
  padding:22px 16px;
  cursor:pointer;
  list-style:none;
}
.home-feature summary::-webkit-details-marker{
  display:none;
}
.home-feature summary::after{
  content:"＋";
  position:absolute;
  right:16px;
  top:50%;
  display:none;
  transform:translateY(-50%);
  color:var(--color-teal);
  font-family:var(--font-mono);
  font-weight:800;
}
.home-feature[open] summary::after{
  content:"−";
}
.feature-summary-text{
  min-width:0;
  padding-right:38px;
}
.feature-kicker{
  display:block;
  margin-bottom:5px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
}
.feature-summary-text h3{
  font-size:26px;
}
.feature-copy{
  display:block;
  padding:0 28px 28px 92px;
}
.feature-copy p{
  color:var(--color-muted);
}
.decision-panel{
  display:grid;
  grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);
  gap:48px;
  margin-top:46px;
  padding:34px;
}
.decision-panel h3{
  margin-top:10px;
}
.decision-copy{
  display:grid;
  gap:16px;
  color:var(--color-muted);
}
.clients-section{
  background:var(--color-panel);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.platform-card{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.platform-card p{
  flex:1;
  margin-top:10px;
  color:var(--color-muted);
  font-size:13px;
}
.client-callout{
  margin-top:26px;
}
.pricing-preview .plan-card{
  display:flex;
  flex-direction:column;
}
.pricing-preview .plan-features{
  flex:1;
}
.plan-action{
  width:100%;
}
.traffic-pack{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin-top:24px;
  padding:28px;
}
.traffic-pack h3{
  margin-top:8px;
}
.traffic-pack p:last-child{
  margin-top:10px;
  color:var(--color-muted);
}
.billing-note{
  max-width:900px;
  margin-top:24px;
  color:var(--color-muted);
}
.faq-preview{
  background:var(--color-panel);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
}
.faq-layout{
  display:grid;
  grid-template-columns:minmax(240px,.55fr) minmax(0,1.15fr);
  gap:64px;
  align-items:start;
}
.faq-intro{
  position:sticky;
  top:92px;
}
.faq-intro h2{
  margin-top:10px;
}
.faq-intro p{
  margin-top:16px;
  color:var(--color-muted);
}
.faq-intro .section-text-link{
  margin-top:22px;
}
.journal-preview .article-card{
  display:flex;
  flex-direction:column;
}
.journal-preview .article-card>p:not(.article-meta){
  flex:1;
}
.closing-section{
  padding-top:64px;
  padding-bottom:0;
}
.promo-block{
  margin-top:0;
}
@media (max-width:1080px){
  .hero-proof{
    grid-template-columns:1fr;
  }
  .hero-proof-divider{
    width:100%;
    height:1px;
  }
  .status-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width:900px){
  .split-heading,
  .decision-panel,
  .faq-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .split-heading{
    align-items:start;
  }
  .faq-intro{
    position:static;
  }
  .server-status{
    grid-template-columns:1fr;
  }
  .route-notes{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .hero{
    padding-bottom:40px;
  }
  .hero-proof{
    padding:14px;
  }
  .hero-proof-group{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .hero-platforms,
  .hero-flags{
    gap:7px 10px;
  }
  .route-wrap{
    margin-top:30px;
  }
  .route-stage,
  .route-svg{
    height:210px;
  }
  .route-label{
    font-size:11px;
  }
  .route-code{
    font-size:7px;
  }
  .status-panel,
  .decision-panel,
  .traffic-pack{
    padding:22px;
  }
  .traffic-pack{
    grid-template-columns:1fr;
  }
  .feature-details{
    border-top:0;
  }
  .home-feature{
    margin-bottom:10px;
    border:1px solid var(--color-border);
    border-radius:var(--radius-md);
  }
  .home-feature:hover{
    transform:none;
  }
  .home-feature summary{
    grid-template-columns:44px minmax(0,1fr);
    gap:14px;
    min-height:76px;
    padding:14px;
  }
  .home-feature summary::after{
    display:block;
  }
  .feature-summary-text{
    padding-right:30px;
  }
  .feature-summary-text h3{
    font-size:20px;
  }
  .feature-copy{
    display:none;
    padding:0 18px 20px 72px;
  }
  .home-feature[open] .feature-copy{
    display:block;
  }
}
@media (max-width:640px){
  .hero-platform,
  .hero-flag{
    font-size:10px;
  }
  .hero-platform svg{
    width:14px;
    height:14px;
  }
  .hero-flag svg{
    width:22px;
    height:15px;
  }
  .route-card{
    padding-inline:0;
  }
  .route-chip small{
    display:none;
  }
  .route-chip div{
    font-size:11px;
  }
  .status-panel{
    padding:18px;
  }
  .srv-row{
    grid-template-columns:auto auto minmax(0,1fr) auto;
  }
  .srv-bw{
    display:none;
  }
  .route-notes p{
    padding:17px;
  }
  .decision-panel{
    padding:22px 18px;
  }
  .feature-copy{
    padding-left:18px;
  }
  .traffic-pack{
    padding:22px 18px;
  }
}
@media (max-width:390px){
  .hero-platforms,
  .hero-flags{
    gap:6px 8px;
  }
  .route-chip-left{
    left:8px;
  }
  .route-chip-right{
    right:8px;
  }
  .route-chip{
    padding:8px;
  }
  .route-chip-left div{
    font-size:10px;
  }
}
@media (prefers-reduced-motion:reduce){
  .route-light-a,
  .route-light-b,
  .srv-dot{
    animation:none;
  }
  .route-light-a{
    offset-distance:38%;
  }
  .route-light-b{
    offset-distance:72%;
  }
}