:root{
  --home-hero-min:calc(100svh - var(--header-height));
  --home-grid-size:34px;
  --home-poster-height:620px;
  --home-terminal-width:540px;
  --home-line-size:1px;
  --home-status-columns:2;
}

.home-main{
  overflow-x:clip;
}

.home-hero{
  position:relative;
  min-height:var(--home-hero-min);
  display:flex;
  align-items:center;
  overflow:hidden;
  border-bottom:1px solid var(--color-border);
}

.home-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  align-items:center;
  gap:clamp(38px,6vw,88px);
  padding-top:48px;
  padding-bottom:48px;
}

.home-hero-copy{
  position:relative;
  z-index:2;
  min-width:0;
}

.home-hero-title{
  max-width:720px;
  margin-bottom:24px;
  font-size:clamp(52px,5.2vw,68px);
}

.home-hero-title .hero-title-number{
  display:block;
  width:fit-content;
  margin-bottom:6px;
  color:var(--color-accent);
  font-family:var(--font-mono);
  text-shadow:0 0 22px var(--color-accent-glow);
}

.home-hero-subtitle{
  max-width:610px;
  margin-bottom:22px;
  font-size:1rem;
}

.home-hero-subtitle strong{
  color:var(--color-text);
}

.home-hero .hero-actions{
  margin-bottom:22px;
}

.home-hero .trust-row{
  margin-bottom:24px;
}

.home-hero .platform-strip{
  gap:18px;
  margin-bottom:14px;
}

.home-hero .flag-strip{
  gap:15px;
}

.home-hero-visual{
  position:relative;
  min-width:0;
}

.hero-poster{
  position:relative;
  min-height:var(--home-poster-height);
  overflow:hidden;
  border:1px solid var(--color-edge);
  border-radius:var(--radius-l);
  background:var(--color-panel-raised);
}

.hero-poster::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:42%;
  background:linear-gradient(135deg,var(--color-accent-soft),transparent);
}

.hero-poster::after{
  content:"";
  position:absolute;
  right:-12%;
  bottom:-20%;
  width:68%;
  aspect-ratio:1;
  border:1px solid var(--color-accent-dark);
  border-radius:50%;
  opacity:.45;
}

.hero-poster-grid{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(to right,var(--color-border) var(--home-line-size),transparent var(--home-line-size)),
    linear-gradient(to bottom,var(--color-border) var(--home-line-size),transparent var(--home-line-size));
  background-size:var(--home-grid-size) var(--home-grid-size);
  opacity:.42;
  mask-image:linear-gradient(to bottom,var(--color-text),transparent);
}

.hero-poster-number{
  position:absolute;
  top:-34px;
  right:-14px;
  z-index:1;
  color:var(--color-border);
  font-family:var(--font-display);
  font-size:clamp(180px,24vw,340px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.08em;
  user-select:none;
}

.home-terminal{
  position:absolute;
  z-index:3;
  right:clamp(20px,4vw,48px);
  bottom:72px;
  width:min(var(--home-terminal-width),calc(100% - 40px));
  box-shadow:var(--shadow-panel);
}

.home-terminal .terminal-body{
  min-height:330px;
}

.hero-poster-label{
  position:absolute;
  left:24px;
  bottom:20px;
  z-index:4;
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.04em;
}

.home-nodes{
  background:var(--color-bg);
}

.node-guidance{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:32px;
  margin-top:28px;
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-panel);
}

.node-guidance h3{
  margin-bottom:8px;
  font-size:1.25rem;
}

.node-guidance p{
  max-width:860px;
  margin-bottom:0;
}

.status-shell{
  margin-top:28px;
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-panel);
}

.status-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:20px;
}

.status-heading h3,
.status-heading .section-kicker{
  margin-bottom:0;
}

.server-status{
  display:grid;
  grid-template-columns:repeat(var(--home-status-columns),minmax(0,1fr));
  gap:8px;
  min-width:0;
}

.srv-row{
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-width:0;
  min-height:50px;
  padding:9px 12px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-s);
  background:var(--color-panel-raised);
  color:var(--color-muted);
  font-family:var(--font-mono);
  font-size:.75rem;
}

.srv-dot{
  width:7px;
  height:7px;
  flex:0 0 auto;
  border-radius:50%;
  background:var(--color-success);
  box-shadow:0 0 9px var(--color-accent-glow);
  animation:srv-breathe 2.4s ease-in-out infinite;
}

.srv-flag{
  width:18px;
  height:14px;
  flex:0 0 auto;
  overflow:hidden;
  border-radius:var(--radius-xs);
}

.srv-name{
  min-width:0;
  overflow:hidden;
  color:var(--color-text);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.srv-type{
  max-width:100%;
  overflow:hidden;
  padding:2px 7px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  color:var(--color-muted);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.srv-ms,
.srv-bw{
  color:var(--color-accent);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.status-note{
  margin:18px 0 0;
  font-size:.82rem;
}

@keyframes srv-breathe{
  0%,100%{
    opacity:.55;
    transform:scale(.86);
  }
  50%{
    opacity:1;
    transform:scale(1);
  }
}

.home-features{
  position:relative;
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}

.home-features .wrap{
  position:relative;
  z-index:2;
}

.manual-glow{
  position:absolute;
  top:14%;
  right:-12%;
  width:40%;
  aspect-ratio:1;
  border:1px solid var(--color-accent-dark);
  border-radius:50%;
  opacity:.25;
}

.home-features .manual-browser{
  box-shadow:var(--shadow-panel);
}

.home-features .manual-detail{
  min-height:350px;
}

.home-features .manual-detail h3{
  margin-bottom:16px;
}

.home-features .manual-detail p:last-child{
  max-width:850px;
  font-size:1rem;
  line-height:1.9;
}

.home-pricing{
  background:var(--color-bg);
}

.price-explainer{
  margin-bottom:20px;
  font-size:.88rem;
}

.traffic-pack-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:30px;
  margin-top:22px;
  padding:26px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-m);
  background:var(--color-panel);
}

.traffic-pack-panel h3{
  margin-bottom:10px;
  font-size:1.3rem;
}

.traffic-pack-panel p:last-child{
  max-width:900px;
  margin-bottom:0;
}

.home-faq{
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  background:var(--color-panel);
}

.faq-layout{
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  align-items:start;
  gap:clamp(40px,7vw,92px);
}

.faq-layout .section-head{
  position:sticky;
  top:var(--toc-offset);
  margin-bottom:0;
}

.home-blog{
  background:var(--color-bg);
}

.blog-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:40px;
}

.blog-heading .section-head{
  margin-bottom:0;
}

.home-article-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.home-article-grid .article-title{
  font-size:1rem;
}

.home-article-grid .article-summary{
  line-height:1.7;
}

@media (prefers-reduced-motion:reduce){
  .srv-dot{
    animation:none;
  }
}

@media (max-width:1160px){
  .home-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
    gap:40px;
  }

  .hero-poster{
    min-height:540px;
  }

  .home-terminal .terminal-body{
    min-height:300px;
  }

  .home-article-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:940px){
  .home-hero{
    min-height:auto;
  }

  .home-hero-grid{
    grid-template-columns:1fr;
    padding-top:54px;
    padding-bottom:64px;
  }

  .home-hero-copy{
    max-width:760px;
  }

  .home-hero-visual{
    max-width:760px;
    width:100%;
    margin-inline:auto;
  }

  .hero-poster{
    min-height:440px;
  }

  .home-terminal{
    bottom:48px;
  }

  .home-terminal .terminal-body{
    min-height:250px;
  }

  .faq-layout{
    grid-template-columns:1fr;
  }

  .faq-layout .section-head{
    position:static;
  }
}

@media (max-width:768px){
  :root{
    --home-status-columns:1;
  }

  .home-hero-grid{
    gap:30px;
    padding-top:34px;
    padding-bottom:46px;
  }

  .home-hero-title{
    margin-bottom:18px;
    font-size:clamp(32px,10vw,40px);
  }

  .home-hero-title .hero-title-number{
    margin-bottom:2px;
  }

  .home-hero .hero-tag{
    margin-bottom:18px;
  }

  .home-hero .hero-actions{
    gap:10px;
    margin-bottom:18px;
  }

  .home-hero-subtitle{
    margin-bottom:18px;
    font-size:.94rem;
  }

  .home-hero .trust-row{
    margin-bottom:18px;
  }

  .home-hero .platform-strip{
    gap:16px;
    margin-bottom:12px;
    padding-top:14px;
  }

  .home-hero .flag-strip{
    gap:14px;
  }

  .hero-poster{
    min-height:330px;
  }

  .hero-poster-number{
    top:-12px;
    font-size:190px;
  }

  .home-terminal{
    right:16px;
    bottom:42px;
    width:calc(100% - 32px);
  }

  .home-terminal .terminal-body{
    min-height:190px;
    padding-top:15px;
    padding-bottom:15px;
    line-height:1.55;
  }

  .hero-poster-label{
    left:16px;
    bottom:14px;
    font-size:.58rem;
  }

  .node-guidance,
  .traffic-pack-panel{
    grid-template-columns:1fr;
    align-items:start;
  }

  .status-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .home-features .manual-detail{
    min-height:0;
  }

  .blog-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .home-article-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:520px){
  .hero-poster{
    min-height:285px;
  }

  .home-terminal{
    bottom:36px;
  }

  .home-terminal .terminal-bar{
    height:34px;
  }

  .home-terminal .terminal-body{
    min-height:164px;
    font-size:9px;
  }

  .home-terminal .terminal-banner{
    margin-top:8px;
    margin-bottom:8px;
    font-size:7px;
  }

  .hero-poster-label{
    display:none;
  }

  .node-guidance,
  .status-shell,
  .traffic-pack-panel{
    padding:20px;
  }

  .srv-row{
    grid-template-columns:auto auto minmax(0,1fr) auto;
    gap:8px;
  }

  .srv-type{
    display:none;
  }
}