.home-hero{
  min-height:calc(100svh - var(--header-height));
}
.hero-paper-lines{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 42%,color-mix(in srgb,var(--color-accent) 7%,transparent),transparent 34%),
    repeating-radial-gradient(ellipse at 18% 46%,transparent 0 84px,color-mix(in srgb,var(--color-line) 55%,transparent) 85px 86px);
}
.home-hero .hero-grid{
  grid-template-columns:minmax(0,45fr) minmax(0,55fr);
  gap:clamp(2rem,4vw,4.5rem);
  padding-top:24px;
  padding-bottom:24px;
}
.home-hero .hero-copy h1{
  margin-bottom:.45em;
}
.home-hero .hero-actions{
  margin-top:0;
}
.home-hero .hero-summary{
  margin-top:1.25rem;
  margin-bottom:0;
}
.home-hero .hero-meta{
  gap:.7rem;
  margin-top:1.15rem;
  padding-top:1rem;
}
.home-hero .meta-line{
  gap:.8rem 1rem;
}
.home-hero .platform-mark,
.home-hero .flag-mark{
  white-space:nowrap;
}
.home-hero .platform-mark svg{
  color:var(--color-ink);
}
.home-hero .flag-mark svg{
  border:1px solid var(--color-line);
}
.flag-square{
  width:18px!important;
  height:18px!important;
}
.flag-red{fill:var(--color-flag-red)}
.flag-blue{fill:var(--color-flag-blue)}
.flag-white{fill:var(--color-flag-white)}
.linux-belly{fill:var(--color-surface)}
.linux-eye{fill:var(--color-ink)}
.hero-globe{
  overflow:visible;
}
.globe-shadow{
  fill:var(--color-shadow-soft);
}
.globe-back,
.globe-frame{
  fill:none;
  stroke:var(--color-ink);
  stroke-linecap:round;
  stroke-linejoin:round;
}
.globe-back{
  stroke-width:1.15;
  opacity:.48;
}
.globe-frame{
  stroke-width:2;
}
.route-line{
  fill:none;
  stroke:var(--color-accent);
  stroke-width:3;
  stroke-linecap:round;
}
.route-main{
  stroke-width:4;
}
.route-faint{
  opacity:.55;
}
.globe-node circle:first-child{
  fill:var(--color-surface);
  stroke:var(--color-accent);
  stroke-width:2;
}
.globe-node circle:last-child{
  fill:var(--color-accent);
}
.globe-beam{
  fill:var(--color-surface);
  stroke:var(--color-accent);
  stroke-width:4;
  filter:drop-shadow(0 0 7px var(--color-accent));
}
.stats-band{
  position:relative;
}
.stats-row{
  min-height:76px;
}
.route-note{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:2rem;
  margin-top:1.35rem;
}
.route-note h3,
.route-note p{
  grid-column:1;
}
.route-note .btn{
  grid-column:2;
  grid-row:1 / span 3;
  align-self:center;
}
.route-note p{
  max-width:var(--line-readable);
  color:var(--color-ink-soft);
}
.feature-detail-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);
  align-items:center;
  gap:clamp(1.5rem,4vw,3.5rem);
}
.feature-detail h3{
  margin-top:1rem;
}
.feature-detail p{
  max-width:var(--line-readable);
  color:var(--color-ink-soft);
}
.feature-sketch{
  width:100%;
  max-width:280px;
  justify-self:center;
  fill:none;
  stroke:var(--color-accent);
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.feature-sketch circle{
  fill:var(--color-surface);
}
.selection-note{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);
  gap:2rem;
  padding-top:2rem;
  margin-top:2rem;
  border-top:1px solid var(--color-line);
}
.selection-note h3{
  margin:0;
}
.selection-note p{
  max-width:var(--line-readable);
  margin:0;
  color:var(--color-ink-soft);
}
.platform-card p{
  color:var(--color-ink-soft);
}
.platform-card h3{
  margin-bottom:0;
}
.plan-audience{
  color:var(--color-ink-soft);
}
.traffic-pack{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:2rem;
  margin-top:1.4rem;
}
.traffic-pack h3{
  margin-top:.8rem;
}
.traffic-pack p{
  max-width:var(--line-readable);
  margin-bottom:0;
  color:var(--color-ink-soft);
}
.plan-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  margin-top:1.2rem;
}
.plan-foot p{
  max-width:var(--line-readable);
  margin:0;
  color:var(--color-ink-soft);
}
.faq-more,
.journal-more{
  margin-top:1.35rem;
}
.home-article-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.home-article-grid .article-card{
  min-height:100%;
}
.home-article-grid h3{
  text-wrap:pretty;
}
@media(max-width:1120px){
  .home-article-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .home-hero{
    min-height:auto;
  }
  .home-hero .hero-grid{
    grid-template-columns:1fr;
  }
  .home-hero .hero-copy{
    order:-1;
    max-width:none;
  }
  .home-hero .hero-visual{
    max-height:310px;
  }
  .hero-paper-lines{
    display:none;
  }
  .feature-detail-grid{
    grid-template-columns:minmax(0,1fr) minmax(150px,.45fr);
  }
}
@media(max-width:768px){
  .home-hero .hero-grid{
    padding-top:30px;
  }
  .home-hero .trust-list{
    gap:.65rem 1rem;
  }
  .home-hero .hero-meta{
    margin-top:1rem;
  }
  .home-hero .hero-visual{
    max-height:260px;
  }
  .home-hero .hero-globe{
    max-width:280px;
  }
  .stats-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:initial;
  }
  .route-note{
    grid-template-columns:1fr;
  }
  .route-note h3,
  .route-note p,
  .route-note .btn{
    grid-column:1;
    grid-row:auto;
  }
  .route-note .btn{
    justify-self:start;
  }
  .feature-detail-grid{
    grid-template-columns:1fr;
  }
  .feature-sketch{
    max-width:220px;
  }
  .selection-note{
    grid-template-columns:1fr;
    gap:.8rem;
  }
  .traffic-pack{
    grid-template-columns:1fr;
  }
  .traffic-pack .btn{
    justify-self:start;
  }
  .plan-foot{
    display:block;
  }
  .home-article-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:640px){
  .home-hero .meta-label{
    width:100%;
  }
  .home-hero .meta-line{
    gap:.72rem;
  }
  .home-hero .platform-mark{
    width:calc(50% - .4rem);
  }
  .home-hero .flag-mark{
    width:calc(50% - .4rem);
  }
  .home-hero .hero-visual{
    max-height:235px;
  }
  .stats-row{
    gap:.8rem;
  }
  .stat{
    display:block;
  }
  .stat-value,
  .stat-label{
    display:block;
  }
  .route-note .btn,
  .traffic-pack .btn{
    width:100%;
  }
}
@media(max-width:360px){
  .home-hero .platform-mark,
  .home-hero .flag-mark{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .globe-beam{
    filter:none;
  }
}