.page-home{
  --ph-speed:rgba(217,222,232,.055);
  --ph-hard:rgba(5,7,13,.92);
  --ph-shadow:6px;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-sans);
  overflow-x:clip;
}

.page-home .crumbs{margin:0 0 20px;}
.page-home .crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--mist);}
.page-home .crumbs li+li::before{content:"／";margin-right:6px;color:var(--rule-mid);}
.page-home .crumbs a{color:var(--mist);text-decoration:none;}
.page-home .crumbs a:hover,.page-home .crumbs a:focus-visible{color:var(--blue);}
.page-home .crumbs [aria-current="page"]{color:var(--paper);}

.page-home .eyebrow{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
}

.page-home .card-tag{
  display:inline-block;
  padding:3px 9px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  border:1px solid var(--rule-mid);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%);
  margin-bottom:12px;
}
.page-home .card-tag--blue{background:var(--blue);border-color:var(--blue);color:var(--paper);}
.page-home .card-tag--orange{background:var(--orange);border-color:var(--orange);color:var(--ink);}
.page-home .card-tag--wine{background:var(--wine);border-color:var(--wine);color:var(--paper);}
.page-home .card-tag--lime{background:var(--lime);border-color:var(--lime);color:var(--ink);}

/* ---------- hero ---------- */
.page-home .home-hero{
  position:relative;
  padding:clamp(20px,4vw,44px) 0 clamp(40px,6vw,84px);
  background:
    repeating-linear-gradient(112deg,var(--ph-speed) 0 1px,transparent 1px 26px),
    linear-gradient(180deg,var(--indigo) 0 42%,var(--ink) 42% 100%);
}

.page-home .hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(20px,3vw,30px);}

.page-home .hero-rail{
  border-top:1px solid var(--rule-mid);
  padding-top:12px;
}
.page-home .rail-cap{
  margin:0 0 10px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  color:var(--mist);
}
.page-home .rail-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;}
.page-home .rail-list a{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px 9px 12px;
  border-left:3px solid var(--rule-mid);
  background:rgba(14,23,48,.7);
  color:var(--paper);
  text-decoration:none;
  font-size:14px;
  transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);
}
.page-home .rail-list a:hover,
.page-home .rail-list a:focus-visible{
  transform:translateY(-3px);
  border-left-color:var(--blue);
  background:var(--violet);
}
.page-home .rail-num{font-family:var(--font-mono);font-size:11px;color:var(--blue);letter-spacing:.1em;}
.page-home .rail-txt{flex:1 1 auto;}
.page-home .rail-dot{width:6px;height:6px;background:var(--lime);flex:0 0 auto;}

.page-home .hero-top{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.page-home .cross{width:44px;height:44px;flex:0 0 auto;}

.page-home .hero-stage h1{
  margin:0 0 .34em;
  font-size:clamp(34px,7vw,72px);
  line-height:.98;
  letter-spacing:-.02em;
  font-weight:800;
  color:var(--paper);
  max-width:14em;
}
.page-home .hero-lede{
  margin:0 0 22px;
  max-width:34em;
  font-size:clamp(15px,1.4vw,17px);
  line-height:1.75;
  color:var(--mist);
}
.page-home .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.page-home .hero-actions .btn{min-width:auto;}

.page-home .hero-stats{
  display:grid;
  grid-template-columns:1fr;
  gap:1px;
  margin:0;
  padding:0;
  list-style:none;
  background:var(--rule-soft);
  border:1px solid var(--rule-mid);
}
.page-home .hero-stats li{background:var(--indigo);padding:12px 14px;display:flex;align-items:baseline;gap:10px;}
.page-home .stat-num{font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--orange);letter-spacing:-.01em;}
.page-home .stat-txt{font-size:13px;color:var(--mist);}

.page-home .hero-visual{margin:0;}
.page-home .hero-visual img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;}

.page-home .hero-deck{display:grid;grid-template-columns:1fr;gap:14px;}
.page-home .deck-card{
  display:block;
  padding:18px 18px 20px;
  background:var(--indigo);
  border:1px solid var(--rule-mid);
  box-shadow:var(--ph-shadow) var(--ph-shadow) 0 var(--ph-hard);
  color:var(--paper);
  text-decoration:none;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.page-home .deck-card:hover,
.page-home .deck-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:10px 10px 0 var(--ph-hard);
  border-color:var(--blue);
}
.page-home .deck-card h2{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.28;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-home .deck-card p{margin:0 0 14px;font-size:14px;line-height:1.7;color:var(--mist);}
.page-home .deck-go{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--blue);
}
.page-home .deck-card:hover .deck-go{color:var(--orange);}

/* ---------- sections ---------- */
.page-home .section{position:relative;padding:clamp(44px,6vw,88px) 0;}
.page-home .sec-head{margin-bottom:clamp(22px,3vw,36px);}
.page-home .sec-head h2{
  margin:0 0 12px;
  font-size:clamp(24px,3.6vw,42px);
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:800;
  color:var(--paper);
  max-width:20em;
}
.page-home .sec-lede{margin:0;max-width:40em;font-size:15px;line-height:1.8;color:var(--mist);}

.page-home .media-frame{border:1px solid var(--rule-mid);background:var(--shade);overflow:hidden;}
.page-home .media-frame img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;}
.page-home .band-fig{margin:0 0 26px;}

/* ---------- districts ---------- */
.page-home .districts{display:grid;gap:14px;}
.page-home .district{
  background:var(--indigo);
  border:1px solid var(--rule-mid);
  border-left:4px solid var(--blue);
}
.page-home .district>summary{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:10px 14px;
  padding:16px 18px;
  cursor:pointer;
  list-style:none;
}
.page-home .district>summary::-webkit-details-marker{display:none;}
.page-home .district>summary:hover{background:var(--violet);}
.page-home .d-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:var(--blue);}
.page-home .d-name{font-size:clamp(18px,2.2vw,24px);font-weight:800;letter-spacing:-.01em;}
.page-home .d-meta{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--mist);}
.page-home .d-plus{
  width:12px;height:12px;flex:0 0 auto;position:relative;
  border-right:2px solid var(--blue);
  border-bottom:2px solid var(--blue);
  transform:rotate(45deg);
  transition:transform .18s var(--ease);
}
.page-home .district[open] .d-plus{transform:rotate(225deg);}
.page-home .d-body{border-top:1px solid var(--rule-mid);background:var(--shade);}
.page-home .d-bar{margin:0;padding:10px 18px;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;border-bottom:1px solid var(--rule-soft);}
.page-home .d-bar a{color:var(--blue);text-decoration:none;}
.page-home .d-bar a:hover,.page-home .d-bar a:focus-visible{color:var(--orange);}

.page-home .col-cards{
  list-style:none;
  margin:0;
  padding:14px;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.page-home .col-card{
  background:var(--indigo);
  border:1px solid var(--rule-soft);
  padding:16px;
  transition:transform .18s var(--ease),border-color .18s var(--ease);
}
.page-home .col-card:hover{transform:translateY(-3px);border-color:var(--blue);}
.page-home .col-num{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;color:var(--mist);}
.page-home .col-card h3{margin:6px 0 4px;font-size:18px;letter-spacing:-.01em;color:var(--paper);}
.page-home .col-count{margin:0 0 8px;font-family:var(--font-mono);font-size:12px;color:var(--lime);}
.page-home .col-card p:last-child{margin:0;font-size:14px;line-height:1.7;color:var(--mist);}

/* ---------- split ---------- */
.page-home .split{
  position:relative;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid var(--rule-mid);
  background:linear-gradient(184deg,var(--wine) 0 50%,var(--blue) 50% 100%);
}
.page-home .split-side{padding:clamp(20px,3.4vw,36px);}
.page-home .split-side h3{margin:0 0 10px;font-size:clamp(19px,2.4vw,26px);line-height:1.2;letter-spacing:-.01em;color:var(--paper);}
.page-home .split-side p{margin:0 0 14px;font-size:14px;line-height:1.75;color:rgba(242,246,255,.86);max-width:36em;}
.page-home .split-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px;}
.page-home .split-list li{
  position:relative;
  padding-left:16px;
  font-size:14px;
  line-height:1.6;
  color:rgba(242,246,255,.9);
}
.page-home .split-list li::before{
  content:"";
  position:absolute;
  left:0;top:.55em;
  width:7px;height:7px;
  background:var(--lime);
}
.page-home .split-link{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.08em;
  color:var(--paper);
  text-decoration:none;
  border-bottom:2px solid var(--paper);
  padding-bottom:2px;
}
.page-home .split-link:hover,.page-home .split-link:focus-visible{border-bottom-color:var(--orange);color:var(--orange);}
.page-home .split-cross{display:none;}

.page-home .split-fig{margin:22px 0 0;}
.page-home .split-fig figcaption{
  padding:10px 14px;
  font-size:13px;
  line-height:1.7;
  color:var(--mist);
  border-top:1px solid var(--rule-soft);
  background:var(--indigo);
}

/* ---------- rhythm ---------- */
.page-home .rhythm-top{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:28px;}
.page-home .rhythm-visual{border:1px solid var(--rule-mid);background:var(--shade);overflow:hidden;}
.page-home .rhythm-visual img{display:block;width:100%;height:auto;max-width:100%;object-fit:cover;}

.page-home .badge-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;}
.page-home .badge{position:relative;font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;cursor:default;}
.page-home .badge-tip{
  display:none;
  position:absolute;
  left:0;top:calc(100% + 8px);
  width:190px;
  padding:10px 12px;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-sans);
  font-style:normal;
  font-size:12px;
  line-height:1.6;
  letter-spacing:0;
  border:1px solid var(--rule);
  box-shadow:4px 4px 0 var(--ph-hard);
  z-index:6;
}
.page-home .badge:hover .badge-tip,
.page-home .badge:focus-within .badge-tip{display:block;}

.page-home .timeline{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
}
.page-home .tl-item{
  position:relative;
  padding-left:20px;
  border-left:1px solid var(--rule-mid);
}
.page-home .tl-node{
  position:absolute;
  left:-5px;top:4px;
  width:9px;height:9px;
  background:var(--mist);
}
.page-home .tl-node--now{background:var(--lime);animation:pulse-home 2.4s ease-in-out infinite;}
.page-home .tl-when{margin:0 0 4px;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;color:var(--mist);}
.page-home .tl-ver{margin:0 0 6px;font-family:var(--font-mono);font-size:26px;font-weight:500;letter-spacing:-.02em;color:var(--paper);}
.page-home .tl-item p:last-child{margin:0;font-size:14px;line-height:1.7;color:var(--mist);}
.page-home .rhythm-more{margin:24px 0 0;}
.page-home .rhythm-more a{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.06em;
  color:var(--blue);
  text-decoration:none;
  border-bottom:1px solid var(--rule-mid);
  padding-bottom:2px;
}
.page-home .rhythm-more a:hover,.page-home .rhythm-more a:focus-visible{color:var(--orange);border-bottom-color:var(--orange);}

@keyframes pulse-home{
  0%,100%{opacity:1;}
  50%{opacity:.35;}
}

/* ---------- routes ---------- */
.page-home .routes-section{background:var(--indigo);}
.page-home .routes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:14px;}
.page-home .route{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  padding:20px 18px;
  background:var(--ink);
  border:1px solid var(--rule-mid);
  border-top:3px solid var(--blue);
  transition:transform .18s var(--ease),border-color .18s var(--ease);
}
.page-home .route:hover{transform:translateY(-3px);border-color:var(--orange);}
.page-home .route-num{font-family:var(--font-mono);font-size:22px;font-weight:500;color:var(--orange);line-height:1;}
.page-home .route-main h3{margin:0 0 8px;font-size:19px;letter-spacing:-.01em;color:var(--paper);}
.page-home .route-main>p{margin:0 0 12px;font-size:14px;line-height:1.7;color:var(--mist);}
.page-home .route-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:step;}
.page-home .route-steps li{position:relative;padding-left:22px;font-size:14px;}
.page-home .route-steps li::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;left:0;top:.1em;
  width:16px;height:16px;
  display:grid;place-items:center;
  font-family:var(--font-mono);
  font-size:10px;
  color:var(--ink);
  background:var(--lime);
}
.page-home .route-steps a{color:var(--paper);text-decoration:none;border-bottom:1px solid var(--rule-mid);padding-bottom:1px;}
.page-home .route-steps a:hover,.page-home .route-steps a:focus-visible{color:var(--blue);border-bottom-color:var(--blue);}

/* ---------- service ---------- */
.page-home .service-grid{display:grid;grid-template-columns:1fr;gap:16px;}
.page-home .service-card{
  padding:22px 20px;
  background:var(--indigo);
  border:1px solid var(--rule-mid);
  border-left:4px solid var(--orange);
}
.page-home .service-card h3{margin:0 0 12px;font-size:20px;letter-spacing:-.01em;color:var(--paper);}
.page-home .service-mail{margin:0 0 16px;font-family:var(--font-mono);font-size:clamp(14px,1.8vw,17px);word-break:break-all;}
.page-home .service-mail a{color:var(--blue);text-decoration:none;}
.page-home .service-mail a:hover,.page-home .service-mail a:focus-visible{color:var(--orange);}
.page-home .service-facts{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;font-size:14px;line-height:1.65;color:var(--mist);}
.page-home .kv-key{
  display:inline-block;
  min-width:70px;
  margin-right:8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--lime);
}
.page-home .service-side{display:grid;gap:12px;}
.page-home .service-block{
  padding:18px;
  background:var(--shade);
  border:1px solid var(--rule-soft);
}
.page-home .service-block h3{margin:0 0 8px;font-size:17px;letter-spacing:-.01em;color:var(--paper);}
.page-home .service-block p{margin:0 0 8px;font-size:14px;line-height:1.75;color:var(--mist);}
.page-home .service-block p:last-child{margin-bottom:0;}
.page-home .service-block a{color:var(--blue);text-decoration:none;border-bottom:1px solid var(--rule-mid);}
.page-home .service-block a:hover,.page-home .service-block a:focus-visible{color:var(--orange);border-bottom-color:var(--orange);}
.page-home .service-link{margin-top:10px;}

/* ---------- focus ---------- */
.page-home a:focus-visible{
  outline:2px solid var(--blue);
  outline-offset:2px;
}

/* ---------- breakpoints ---------- */
@media (min-width:640px){
  .page-home .hero-stats{grid-template-columns:repeat(3,1fr);}
  .page-home .hero-deck{grid-template-columns:repeat(2,1fr);}
  .page-home .col-cards{grid-template-columns:repeat(2,1fr);}
  .page-home .timeline{grid-template-columns:repeat(2,1fr);gap:24px 18px;}
  .page-home .routes{grid-template-columns:repeat(2,1fr);}
  .page-home .badge-legend{gap:14px;}
}

@media (min-width:960px){
  .page-home .hero-grid{
    grid-template-columns:196px minmax(0,1fr) 340px;
    align-items:start;
  }
  .page-home .hero-rail{position:sticky;top:112px;align-self:start;}
  .page-home .hero-deck{grid-column:1 / -1;grid-template-columns:repeat(3,1fr);}
  .page-home .deck-card:nth-child(2){margin-top:16px;}
  .page-home .deck-card:nth-child(3){margin-top:32px;}

  .page-home .col-cards{grid-template-columns:repeat(3,1fr);padding:18px;}
  .page-home .d-meta{margin-left:0;}

  .page-home .split{grid-template-columns:1fr 1fr;background:linear-gradient(94deg,var(--wine) 0 50%,var(--blue) 50% 100%);}
  .page-home .split-cross{
    display:block;
    position:absolute;
    left:50%;top:50%;
    width:56px;height:56px;
    transform:translate(-50%,-50%);
    z-index:3;
  }
  .page-home .split-side:first-child{padding-right:clamp(40px,5vw,72px);}
  .page-home .split-side:last-child{padding-left:clamp(40px,5vw,72px);}

  .page-home .rhythm-top{grid-template-columns:minmax(0,1fr) 300px;align-items:start;}
  .page-home .timeline{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--rule-mid);}
  .page-home .tl-item{border-left:0;border-right:1px solid var(--rule-soft);padding:26px 18px 0 0;}
  .page-home .tl-item:last-child{border-right:0;}
  .page-home .tl-node{left:0;top:-5px;}
  .page-home .tl-item::after{
    content:"";
    position:absolute;
    left:9px;top:-1px;
    width:calc(100% - 9px);
    height:1px;
    background:var(--rule-soft);
  }

  .page-home .routes{grid-template-columns:repeat(3,1fr);}

  .page-home .service-grid{grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:22px;}
}

@media (min-width:1280px){
  .page-home .hero-grid{grid-template-columns:212px minmax(0,1fr) 380px;gap:32px;}
  .page-home .hero-stage h1{font-size:clamp(48px,5.4vw,72px);}
}

@media (prefers-reduced-motion:reduce){
  .page-home .rail-list a,
  .page-home .deck-card,
  .page-home .col-card,
  .page-home .route{transition:border-color .18s var(--ease),background .18s var(--ease);}
  .page-home .rail-list a:hover,
  .page-home .deck-card:hover,
  .page-home .col-card:hover,
  .page-home .route:hover{transform:none;}
  .page-home .tl-node--now{animation:none;}
}
<<<PAGE_CSS_END>>>
