.home-hero{
  min-height:auto;
}
.home-hero .preview-hero-grid{
  min-height:calc(100svh - var(--header-height));
  grid-template-columns:minmax(0,1.06fr) minmax(460px,.94fr);
  gap:clamp(34px,5vw,72px);
  padding-top:clamp(34px,5vw,70px);
  padding-bottom:clamp(38px,5vw,72px);
}
.hero-kicker{
  color:var(--color-text);
  font-weight:700;
}
.hero-kicker .badge-dot{
  flex-shrink:0;
}
.home-hero .hero-title{
  max-width:670px;
}
.hero-actions{
  margin-bottom:20px;
}
.hero-actions svg{
  flex-shrink:0;
}
.hero-lead{
  max-width:650px;
  margin-bottom:16px;
}
.hero-lead strong{
  color:var(--color-text);
}
.hero-access{
  padding-top:4px;
}
.platform-line,
.flag-line{
  gap:8px;
}
.platform-chip,
.flag-chip{
  flex-shrink:0;
}
.platform-chip svg{
  flex-shrink:0;
}
.flag-paper{
  fill:var(--color-flag-white);
}
.flag-red{
  fill:var(--color-flag-red);
}
.flag-blue{
  fill:var(--color-flag-blue);
}
.flag-gold{
  fill:var(--color-flag-gold);
}
.flag-black{
  fill:var(--color-flag-black);
}
.hero-stage{
  isolation:isolate;
}
.hero-orb{
  position:absolute;
  z-index:-1;
  top:8%;
  right:-4%;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,var(--color-glow-warm),transparent 68%);
  pointer-events:none;
}
.route-symbol{
  display:grid;
  width:24px;
  height:16px;
  flex-shrink:0;
  place-items:center;
  border-radius:3px;
  background:var(--color-flag-blue);
  color:var(--color-white);
  font-family:var(--font-mono);
  font-size:7px;
  font-weight:800;
}
.home-fact-wrap{
  margin-top:-14px;
  position:relative;
  z-index:4;
}
.home-fact-band{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
  box-shadow:0 14px 34px -30px var(--color-shadow-heavy);
}
.home-fact-band span{
  display:flex;
  min-height:72px;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:15px 18px;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:12px;
  text-align:center;
}
.home-fact-band span+span{
  border-left:1px solid var(--color-border);
}
.home-fact-band strong{
  color:var(--color-accent);
  font-size:16px;
}
.section-heading{
  margin-bottom:38px;
}
.section-heading h2{
  max-width:820px;
  margin-bottom:16px;
}
.split-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
  gap:36px;
  align-items:end;
}
.split-heading p{
  margin-bottom:8px;
  color:var(--color-muted);
}
.home-feature-browser{
  display:grid;
  grid-template-columns:minmax(230px,.72fr) minmax(0,1.45fr);
  gap:24px;
  align-items:stretch;
}
.feature-entry{
  display:contents;
}
.feature-entry:nth-child(1) .feature-trigger{grid-row:1}
.feature-entry:nth-child(2) .feature-trigger{grid-row:2}
.feature-entry:nth-child(3) .feature-trigger{grid-row:3}
.feature-entry:nth-child(4) .feature-trigger{grid-row:4}
.feature-entry:nth-child(5) .feature-trigger{grid-row:5}
.feature-entry:nth-child(6) .feature-trigger{grid-row:6}
.home-feature-browser .feature-trigger{
  grid-column:1;
  min-height:58px;
}
.home-feature-browser .feature-detail{
  grid-column:2;
  grid-row:1 / span 6;
  min-height:500px;
}
.home-feature-browser .feature-detail[hidden]{
  display:none;
}
.feature-detail h3{
  margin-bottom:18px;
}
.feature-detail p{
  max-width:760px;
  color:var(--color-muted);
}
.detail-flow{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:28px;
  padding:18px;
  border:1px dashed var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel-alt);
}
.detail-flow span{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:6px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-text);
  font-size:13px;
  font-weight:700;
}
.detail-flow i{
  width:34px;
  height:1px;
  background:var(--color-accent);
}
.home-principle{
  display:grid;
  grid-template-columns:minmax(190px,.46fr) minmax(0,1.54fr);
  gap:32px;
  margin-top:28px;
  padding:clamp(24px,4vw,38px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel-alt);
}
.home-principle h3,
.home-principle p{
  margin-bottom:0;
}
.home-principle>p{
  color:var(--color-muted);
}
.home-routes{
  background:var(--color-panel-alt);
}
.route-explainer-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:22px;
}
.route-note-card{
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
}
.route-note-card h3{
  margin:12px 0 8px;
  font-size:20px;
}
.route-note-card p{
  margin:0;
  color:var(--color-muted);
  font-size:14px;
}
.route-note-mark{
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
}
.route-preview-table{
  border-radius:var(--radius-md);
}
.route-guidance{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  margin-top:24px;
  padding:26px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-panel);
}
.route-guidance h3{
  margin-bottom:8px;
  font-size:22px;
}
.route-guidance p{
  max-width:820px;
  margin:0;
  color:var(--color-muted);
}
.server-status-shell{
  margin-top:30px;
  padding:clamp(22px,4vw,34px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel);
}
.server-status-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);
  gap:24px;
  align-items:end;
  margin-bottom:20px;
}
.server-status-heading h3,
.server-status-heading p{
  margin-bottom:0;
}
.server-status-heading>p{
  color:var(--color-muted);
  font-size:14px;
}
.server-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.srv-row{
  display:grid;
  grid-template-columns:auto auto minmax(80px,1fr) auto auto auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-panel-alt);
  font-size:13px;
}
.srv-dot{
  width:8px;
  height:8px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--color-success);
  box-shadow:0 0 0 4px var(--color-glow-warm);
}
.srv-flag{
  width:24px;
  height:16px;
  flex-shrink:0;
  border-radius:3px;
  overflow:hidden;
}
.srv-name{
  min-width:0;
  overflow:hidden;
  color:var(--color-text);
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-type{
  max-width:100%;
  padding:3px 8px;
  overflow:hidden;
  border-radius:var(--radius-pill);
  background:var(--color-accent-soft);
  color:var(--color-accent);
  font-family:var(--font-mono);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-ms,
.srv-bw{
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:11px;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.traffic-pack-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:26px;
  align-items:center;
  margin-top:24px;
  padding:clamp(24px,4vw,36px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-panel-alt);
}
.traffic-pack-note h3{
  margin-bottom:8px;
}
.traffic-pack-note p:last-child{
  max-width:850px;
  margin-bottom:0;
  color:var(--color-muted);
}
.home-faq{
  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,.68fr) minmax(0,1.32fr);
  gap:clamp(36px,7vw,90px);
  align-items:start;
}
.faq-intro{
  position:sticky;
  top:calc(var(--header-height) + 28px);
}
.faq-intro p{
  color:var(--color-muted);
}
.faq-intro .btn-secondary{
  margin-top:8px;
}
.home-article-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.section-link-row{
  display:flex;
  justify-content:flex-end;
  margin-top:24px;
}
.home-promo{
  margin-top:0;
}
.home-promo .hero-highlight{
  color:var(--color-dark-band-text);
}
@media (max-width:1120px){
  .home-hero .preview-hero-grid{
    grid-template-columns:1fr;
  }
  .home-hero .hero-copy{
    max-width:760px;
  }
  .home-hero .hero-stage{
    width:min(680px,100%);
    margin-inline:auto;
  }
  .home-fact-wrap{
    margin-top:0;
  }
}
@media (max-width:900px){
  .home-fact-band{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .home-fact-band span:nth-child(3){
    border-left:0;
    border-top:1px solid var(--color-border);
  }
  .home-fact-band span:nth-child(4){
    border-top:1px solid var(--color-border);
  }
  .split-heading,
  .home-principle,
  .faq-layout,
  .traffic-pack-note,
  .route-guidance,
  .server-status-heading{
    grid-template-columns:1fr;
  }
  .home-feature-browser{
    display:block;
  }
  .feature-entry{
    display:block;
    border-bottom:1px solid var(--color-border);
  }
  .feature-entry:first-child{
    border-top:1px solid var(--color-border);
  }
  .home-feature-browser .feature-trigger{
    display:block;
    width:100%;
    min-height:62px;
    padding-right:46px;
    border-radius:0;
  }
  .home-feature-browser .feature-trigger::after{
    content:"+";
    position:absolute;
    top:50%;
    right:10px;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border-radius:50%;
    background:var(--color-panel-alt);
    color:var(--color-accent);
    font-size:19px;
    transform:translateY(-50%);
  }
  .home-feature-browser .feature-trigger.is-active::after{
    content:"−";
  }
  .home-feature-browser .feature-detail{
    min-height:0;
    margin-bottom:18px;
    border-radius:var(--radius-lg);
  }
  .route-explainer-grid{
    grid-template-columns:1fr;
  }
  .faq-intro{
    position:static;
  }
  .server-status{
    grid-template-columns:1fr;
  }
}
@media (max-width:768px){
  .home-hero .preview-hero-grid{
    min-height:auto;
  }
  .hero-access{
    margin-top:8px;
  }
  .platform-line,
  .flag-line{
    align-items:flex-start;
  }
  .line-label{
    width:100%;
  }
  .hero-stage{
    margin-top:10px;
  }
  .home-fact-band span{
    min-height:66px;
    padding:12px;
  }
  .detail-flow i{
    width:18px;
  }
  .home-article-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:640px){
  .home-fact-band{
    grid-template-columns:1fr;
  }
  .home-fact-band span+span,
  .home-fact-band span:nth-child(3){
    border-top:1px solid var(--color-border);
    border-left:0;
  }
  .home-feature-browser .feature-detail{
    padding:22px 18px;
  }
  .detail-flow{
    gap:7px;
    padding:13px;
  }
  .detail-flow i{
    display:none;
  }
  .route-guidance .btn-secondary,
  .traffic-pack-note .btn-secondary{
    width:100%;
  }
  .srv-row{
    grid-template-columns:auto auto minmax(70px,1fr) auto;
  }
  .srv-type{
    display:none;
  }
  .srv-bw{
    grid-column:3 / -1;
    text-align:right;
  }
}
@media (max-width:420px){
  .platform-chip,
  .flag-chip{
    padding-inline:9px;
  }
  .home-fact-band span{
    justify-content:flex-start;
  }
  .srv-row{
    gap:7px;
    padding-inline:10px;
  }
}