.home-hero{
  padding-top:clamp(34px,5vw,68px);
  padding-bottom:clamp(46px,6vw,82px);
  overflow-x:clip;
}
.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);
  align-items:center;
  gap:clamp(34px,6vw,86px);
}
.home-hero-copy h1{
  max-width:680px;
  margin:18px 0 0;
  font-size:clamp(52px,5.2vw,68px);
}
.home-hero-copy .hero-actions{
  justify-content:flex-start;
  margin-top:24px;
  margin-bottom:20px;
}
.home-hero-lead{
  max-width:650px;
  margin-bottom:16px;
  color:var(--color-text-muted);
  font-size:18px;
}
.home-hero-lead strong{
  color:var(--color-text);
}
.home-trust{
  justify-content:flex-start;
  margin-top:0;
}
.home-trust span{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:28px;
}
.home-trust span:not(:last-child)::after{
  width:3px;
  height:3px;
  margin-left:12px;
  flex:0 0 3px;
  border-radius:50%;
  background:var(--color-border-strong);
  content:"";
}
.home-platforms,
.home-flags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px 16px;
}
.home-platforms{
  margin-top:20px;
}
.home-flags{
  margin-top:14px;
}
.home-platform,
.home-flag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--color-text-muted);
  font-size:12px;
  white-space:nowrap;
}
.home-platform svg{
  color:var(--color-text);
}
.home-flag svg{
  border:1px solid var(--color-border);
  border-radius:var(--radius-small);
}
.flag-white{
  fill:var(--color-flag-white);
}
.flag-red{
  fill:var(--color-flag-red);
}
.flag-crimson{
  fill:var(--color-flag-crimson);
}
.flag-blue{
  fill:var(--color-flag-blue);
}
.flag-navy{
  fill:var(--color-flag-navy);
}
.home-hero-visual{
  min-height:590px;
}
.visual-poster{
  position:relative;
  width:100%;
  min-height:590px;
  overflow:hidden;
  border-radius:var(--radius-xlarge);
  background:linear-gradient(138deg,var(--color-gradient-blue),var(--color-gradient-lilac) 32%,var(--color-gradient-cream) 68%,var(--color-gradient-blossom));
  box-shadow:var(--shadow-window);
}
.visual-poster::before{
  position:absolute;
  inset:24px;
  border:1px solid var(--color-panel);
  border-radius:var(--radius-large);
  content:"";
  opacity:.72;
}
.visual-poster::after{
  position:absolute;
  right:36px;
  bottom:36px;
  width:176px;
  height:176px;
  border:1px solid var(--color-text);
  border-radius:50%;
  content:"";
  opacity:.24;
}
.visual-word{
  position:absolute;
  top:54px;
  left:16px;
  color:var(--color-panel);
  font-family:var(--font-display);
  font-size:clamp(82px,10vw,148px);
  line-height:.86;
  letter-spacing:-.04em;
  opacity:.72;
}
.visual-line{
  position:absolute;
  height:1px;
  transform-origin:left center;
  background:var(--color-text);
  opacity:.46;
}
.visual-line-a{
  top:46%;
  left:12%;
  width:72%;
  transform:rotate(-13deg);
}
.visual-line-b{
  top:61%;
  left:18%;
  width:66%;
  transform:rotate(18deg);
}
.visual-node{
  position:absolute;
  width:18px;
  height:18px;
  border:5px solid var(--color-panel);
  border-radius:50%;
  background:var(--color-text);
  box-shadow:var(--shadow-card);
}
.visual-node-a{
  top:39%;
  left:20%;
}
.visual-node-b{
  top:50%;
  left:60%;
}
.visual-node-c{
  right:19%;
  bottom:21%;
}
.visual-label{
  position:absolute;
  padding:7px 12px;
  border:1px solid var(--color-panel);
  border-radius:var(--radius-pill);
  background:var(--color-panel);
  color:var(--color-text);
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.06em;
  box-shadow:var(--shadow-card);
}
.visual-label-a{
  top:35%;
  right:12%;
}
.visual-label-b{
  bottom:34%;
  left:9%;
}
.visual-label-c{
  right:12%;
  bottom:12%;
}
.visual-status{
  position:absolute;
  bottom:21%;
  left:23%;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:11px 18px;
  border-radius:var(--radius-pill);
  background:var(--color-text);
  color:var(--color-panel);
  box-shadow:var(--shadow-pill);
  font-size:13px;
}
.visual-status::before{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--color-success);
  content:"";
}
.home-facts-band{
  border-color:var(--color-border-strong);
}
.feature-mosaic{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.feature-card{
  display:flex;
  min-height:100%;
  flex-direction:column;
  padding:clamp(24px,3vw,34px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-large);
  background:var(--color-panel);
  box-shadow:var(--shadow-card);
  transition:transform .25s var(--ease-standard),box-shadow .25s var(--ease-standard);
}
.feature-card:hover{
  transform:translateY(-3px);
}
.feature-card-wide{
  grid-column:span 2;
  min-height:360px;
}
.feature-card-gradient{
  border-color:var(--color-panel);
  background:linear-gradient(132deg,var(--color-gradient-blue),var(--color-gradient-lilac) 36%,var(--color-gradient-cream) 72%,var(--color-gradient-blossom));
}
.feature-card-top{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:auto;
}
.feature-index{
  color:var(--color-text-muted);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.08em;
}
.feature-result{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 14px;
  border-radius:var(--radius-pill);
  background:var(--color-text);
  color:var(--color-panel);
  font-size:12px;
  box-shadow:var(--shadow-pill);
}
.feature-card h3{
  margin-top:28px;
  margin-bottom:12px;
  font-size:23px;
}
.feature-card p{
  margin-bottom:0;
  color:var(--color-text-muted);
}
.feature-card-gradient p{
  color:var(--color-text);
}
.section-routes,
.section-faq{
  background:var(--color-panel-muted);
}
.route-intro-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:26px;
  margin-bottom:34px;
}
.route-intro-grid h3{
  margin-bottom:10px;
}
.route-intro-grid p{
  margin-bottom:0;
  color:var(--color-text-muted);
}
.section-link-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:28px;
}
.section-link-row p{
  max-width:760px;
  margin-bottom:0;
  color:var(--color-text-muted);
}
.section-link-centered{
  justify-content:center;
  text-align:center;
}
.text-link{
  flex-shrink:0;
  min-height:32px;
  color:var(--color-accent-dark);
  font-weight:600;
}
.plan-audience{
  min-height:138px;
  color:var(--color-text-muted);
  font-size:14px;
}
.traffic-pack-note{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:32px;
  margin-top:24px;
  padding:clamp(26px,4vw,42px);
  border:1px solid var(--color-border);
  border-radius:var(--radius-large);
  background:var(--color-panel);
}
.traffic-pack-note h3{
  margin:14px 0 8px;
}
.traffic-pack-note p{
  max-width:790px;
  margin-bottom:0;
  color:var(--color-text-muted);
}
.plan-explainer{
  max-width:850px;
  margin:48px auto 0;
  text-align:center;
}
.plan-explainer h3{
  margin-bottom:12px;
}
.plan-explainer p{
  margin-bottom:0;
  color:var(--color-text-muted);
}
.section-closing{
  padding-top:clamp(48px,7vw,84px);
  padding-bottom:0;
}
.server-status{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.srv-row{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:10px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-medium);
  background:var(--color-panel);
}
.srv-dot{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--color-success);
  animation:srv-pulse 2.4s var(--ease-standard) infinite;
}
.srv-flag{
  width:27px;
  height:19px;
  overflow:hidden;
  border-radius:var(--radius-small);
}
.srv-name{
  overflow:hidden;
  font-size:13px;
  font-weight:600;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-type{
  max-width:100%;
  overflow:hidden;
  padding:3px 8px;
  border-radius:var(--radius-small);
  background:var(--color-panel-muted);
  color:var(--color-text-muted);
  font-family:var(--font-mono);
  font-size:10px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.srv-ms,
.srv-bw{
  color:var(--color-text-muted);
  font-family:var(--font-mono);
  font-size:10px;
  white-space:nowrap;
}
@keyframes srv-pulse{
  0%,100%{opacity:.45;transform:scale(.85)}
  50%{opacity:1;transform:scale(1)}
}
@media(max-width:1050px){
  .home-hero-grid{
    grid-template-columns:1fr;
  }
  .home-hero-copy{
    max-width:780px;
    margin-inline:auto;
    text-align:center;
  }
  .home-hero-copy h1{
    margin-inline:auto;
  }
  .home-hero-copy .hero-actions,
  .home-trust,
  .home-platforms,
  .home-flags{
    justify-content:center;
  }
  .home-hero-visual{
    min-height:440px;
  }
  .visual-poster{
    min-height:440px;
  }
  .feature-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:800px){
  .home-hero{
    padding-top:28px;
  }
  .home-hero-copy h1{
    font-size:clamp(32px,9vw,40px);
  }
  .home-hero-lead{
    font-size:16px;
  }
  .home-hero-visual{
    min-height:390px;
  }
  .visual-poster{
    min-height:390px;
  }
  .visual-word{
    font-size:clamp(68px,20vw,112px);
  }
  .route-intro-grid{
    grid-template-columns:1fr;
  }
  .traffic-pack-note{
    grid-template-columns:1fr;
  }
  .traffic-pack-note .btn{
    justify-self:start;
  }
  .section-link-row{
    align-items:flex-start;
    flex-direction:column;
  }
  .section-link-centered{
    align-items:center;
  }
}
@media(max-width:640px){
  .home-hero-grid{
    gap:34px;
  }
  .home-hero-copy .hero-actions{
    margin-top:20px;
  }
  .home-platforms{
    gap:10px 14px;
  }
  .home-flags{
    gap:9px 13px;
  }
  .home-hero-visual{
    min-height:330px;
  }
  .visual-poster{
    min-height:330px;
  }
  .visual-poster::before{
    inset:14px;
  }
  .visual-word{
    top:38px;
  }
  .visual-label-b{
    bottom:28%;
    left:6%;
  }
  .visual-label-c{
    right:6%;
    bottom:8%;
  }
  .visual-status{
    bottom:15%;
    left:8%;
  }
  .feature-mosaic{
    grid-template-columns:1fr;
  }
  .feature-card-wide{
    grid-column:auto;
    min-height:auto;
  }
  .feature-card-top{
    margin-bottom:20px;
  }
  .feature-card h3{
    margin-top:18px;
  }
  .server-status{
    grid-template-columns:1fr;
  }
  .srv-row{
    grid-template-columns:auto auto minmax(0,1fr) auto;
  }
  .srv-bw{
    display:none;
  }
  .plan-audience{
    min-height:0;
  }
}
@media(max-width:390px){
  .home-trust span:not(:last-child)::after{
    display:none;
  }
  .home-trust{
    gap:7px 14px;
  }
  .home-platform,
  .home-flag{
    font-size:11px;
  }
  .visual-label-a,
  .visual-label-b{
    display:none;
  }
  .visual-status{
    max-width:calc(100% - 32px);
  }
}
@media(prefers-reduced-motion:reduce){
  .srv-dot{
    animation:none;
  }
}