.page-home{
  --home-gap:clamp(2.5rem,6vw,4.5rem);
  --home-cut:26px;
  background:linear-gradient(180deg,var(--deep) 0%,var(--navy) 46%,var(--deep) 100%);
  color:var(--mist);
  font-family:var(--font-body);
  overflow-x:clip;
}
.page-home *,
.page-home *::before,
.page-home *::after{box-sizing:border-box;}
.page-home img{max-width:100%;height:auto;display:block;}
.page-home h1,
.page-home h2,
.page-home h3{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;color:var(--mist);margin:0;}
.page-home p{margin:0;line-height:1.75;}

.page-home .home-eyebrow{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--cyan);
  text-transform:uppercase;
  margin:0 0 .5rem;
}

/* ---------- hero ---------- */
.page-home .home-hero{padding:clamp(1rem,3vw,2rem) 0 0;}
.page-home .home-hero__inner{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad);
}
.page-home .hero-frame{
  position:relative;
  isolation:isolate;
  display:grid;
  gap:clamp(1.5rem,3vw,2.5rem);
  padding:clamp(1.1rem,3vw,2.6rem);
  border:1px solid var(--line);
  background:linear-gradient(152deg,rgba(14,42,71,.95),rgba(7,26,43,.92) 60%,rgba(4,16,28,.97));
  clip-path:polygon(0 0,calc(100% - var(--home-cut)) 0,100% var(--home-cut),100% 100%,var(--home-cut) 100%,0 calc(100% - var(--home-cut)));
}
.page-home .hero-frame::before,
.page-home .hero-frame::after{
  content:"";
  position:absolute;
  height:1px;
  width:42px;
  background:var(--cyan);
  opacity:.75;
}
.page-home .hero-frame::before{top:12px;left:12px;}
.page-home .hero-frame::after{bottom:12px;right:12px;background:var(--coral);}
.page-home .hero-frame__bg{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.page-home .hero-frame__bg img{
  width:100%;height:100%;object-fit:cover;opacity:.28;filter:saturate(.85);
}
.page-home .hero-frame__bg::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(118deg,rgba(7,26,43,.97) 0%,rgba(7,26,43,.72) 48%,rgba(7,26,43,.2) 100%);
}
.page-home .crumbs{
  display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;
  color:var(--steel);margin-bottom:clamp(1rem,2.5vw,1.6rem);
}
.page-home .crumbs a{color:var(--steel-2);text-decoration:none;}
.page-home .crumbs a:hover{color:var(--cyan);}
.page-home .crumbs__sep{color:var(--steel);opacity:.7;}

.page-home .hero-copy{max-width:38rem;}
.page-home .hero-copy h1{
  font-size:clamp(2rem,7vw,3.9rem);
  line-height:1.06;
  margin:0 0 1rem;
  text-wrap:balance;
}
.page-home .hero-lede{
  color:var(--steel-2);
  font-size:clamp(.98rem,2.2vw,1.08rem);
  max-width:34rem;
}
.page-home .hero-actions{
  display:flex;flex-wrap:wrap;gap:.7rem;
  margin-top:clamp(1.25rem,3vw,1.9rem);
}
.page-home .hero-actions .btn{text-decoration:none;}
.page-home .hero-note{
  margin-top:1.1rem;
  padding-left:.85rem;
  border-left:2px solid var(--amber);
  font-size:.86rem;
  color:var(--steel-2);
  max-width:32rem;
}
.page-home .hero-note__tag{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.12em;
  color:var(--amber);
  margin-right:.5rem;
}

.page-home .hero-index{
  border-top:1px solid var(--line-soft);
  padding-top:clamp(1rem,2.5vw,1.5rem);
}
.page-home .hero-index__head{
  display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.16em;
  color:var(--steel);margin-bottom:.85rem;text-transform:uppercase;
}
.page-home .hero-index__head-num{color:var(--cyan);}
.page-home .index-list{
  list-style:none;margin:0;padding:0;
  display:grid;gap:.5rem;
}
.page-home .index-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:.75rem;
  align-items:start;
  padding:.8rem .95rem;
  text-decoration:none;
  color:var(--mist);
  border:1px solid var(--line-soft);
  background:rgba(7,26,43,.55);
  clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%);
  transition:transform .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);
}
.page-home .index-card:hover,
.page-home .index-card:focus-visible{
  transform:translateY(-3px);
  border-color:var(--line-cyan);
  background:rgba(14,42,71,.9);
  outline:none;
}
.page-home .index-card:focus-visible{box-shadow:0 0 0 2px var(--teal);}
.page-home .index-card__num{
  font-family:var(--font-mono);
  font-size:1rem;
  letter-spacing:.08em;
  color:var(--cyan);
  padding-top:.1rem;
}
.page-home .index-card__body{display:block;min-width:0;}
.page-home .index-card__title{
  display:block;
  font-weight:600;
  font-size:.98rem;
  letter-spacing:.01em;
}
.page-home .index-card__desc{
  display:block;
  margin-top:.2rem;
  font-size:.82rem;
  line-height:1.6;
  color:var(--steel);
}

/* ---------- generic section ---------- */
.page-home .home-section{padding:var(--home-gap) 0 0;}
.page-home .home-section__inner{
  max-width:var(--shell);
  margin:0 auto;
  padding:0 var(--pad);
}
.page-home .section-head{display:grid;gap:.55rem;margin-bottom:clamp(1.25rem,3vw,2rem);}
.page-home .section-head h2{
  font-size:clamp(1.5rem,4.2vw,2.5rem);
  line-height:1.14;
  max-width:30ch;
}
.page-home .section-head p:not(.home-eyebrow){
  color:var(--steel-2);
  max-width:56ch;
  font-size:.95rem;
}

/* ---------- route compare ---------- */
.page-home .route-layout{display:grid;gap:1.25rem;}
.page-home .route-compare{display:grid;gap:.75rem;}
.page-home .route{
  border:1px solid var(--line-soft);
  padding:1.1rem 1.15rem;
  background:rgba(7,26,43,.5);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%);
}
.page-home .route--new{
  border-color:var(--line-cyan);
  background:linear-gradient(140deg,rgba(0,191,166,.16),rgba(14,42,71,.75));
}
.page-home .route__label{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.16em;
  color:var(--steel);
  margin-bottom:.8rem;
  text-transform:uppercase;
}
.page-home .route--new .route__label{color:var(--cyan);}
.page-home .route__steps{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;
}
.page-home .route__steps li{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.9rem;
  color:var(--mist);
  padding:.4rem .7rem .4rem .4rem;
  border:1px solid var(--line-soft);
  border-radius:2px;
}
.page-home .route__steps li::after{
  content:"›";
  color:var(--steel);
  margin-left:.35rem;
  font-size:1rem;
}
.page-home .route__steps li:last-child::after{content:"";margin:0;}
.page-home .route__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:1.35rem;height:1.35rem;
  font-family:var(--font-mono);font-size:.72rem;
  color:var(--deep);
  background:var(--steel);
  border-radius:50%;
}
.page-home .route--new .route__num{background:var(--cyan);}
.page-home .route--new .route__steps li{border-color:rgba(47,230,214,.4);}
.page-home .route__foot{
  margin-top:.9rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.04em;
  color:var(--steel);
}
.page-home .route--new .route__foot{color:var(--coral);}

.page-home .route-figure{margin:0;display:grid;gap:.6rem;}
.page-home .route-figure img{
  width:100%;
  aspect-ratio:2/1;
  object-fit:cover;
  border:1px solid var(--line-soft);
  clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%);
}
.page-home .route-figure figcaption{
  font-size:.8rem;
  color:var(--steel);
  line-height:1.6;
  border-left:2px solid var(--line);
  padding-left:.7rem;
}

/* ---------- ways / tabs ---------- */
.page-home .ways-layout{display:grid;gap:1.25rem;}
.page-home .ways-figure{margin:0;}
.page-home .ways-figure img{
  width:100%;
  aspect-ratio:5/3;
  object-fit:cover;
  border:1px solid var(--line-soft);
  background:rgba(14,42,71,.6);
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,0 100%);
}
.page-home .ways-tabs{min-width:0;}
.page-home .ways-tabs__bar{
  display:flex;flex-wrap:wrap;gap:.4rem;
  padding-bottom:.9rem;
  border-bottom:1px solid var(--line-soft);
  margin-bottom:1rem;
}
.page-home .ways-tabs .tabs__btn{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.06em;
  padding:.5rem .85rem;
  color:var(--steel-2);
  background:rgba(7,26,43,.6);
  border:1px solid var(--line-soft);
  cursor:pointer;
  transition:color .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease);
}
.page-home .ways-tabs .tabs__btn:hover{color:var(--mist);border-color:var(--line-cyan);}
.page-home .ways-tabs .tabs__btn[aria-selected="true"]{
  color:var(--deep);
  background:var(--cyan);
  border-color:var(--cyan);
}
.page-home .ways-tabs .tabs__btn:focus-visible{outline:2px solid var(--teal);outline-offset:2px;}
.page-home .ways-panel{
  padding:.2rem 0 1rem 1rem;
  border-left:2px solid var(--line-soft);
}
.page-home .ways-panel h3{font-size:clamp(1.05rem,2.6vw,1.3rem);margin-bottom:.5rem;}
.page-home .ways-panel p{color:var(--steel-2);font-size:.93rem;}
.page-home .ways-link{
  display:inline-block;
  margin-top:.75rem;
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.08em;
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(47,230,214,.4);
  padding-bottom:2px;
}
.page-home .ways-link:hover{color:var(--teal);border-bottom-color:var(--teal);}

/* ---------- fee ---------- */
.page-home .fee-panel{
  display:grid;
  gap:1.25rem;
  padding:clamp(1.2rem,3vw,2.2rem);
  border:1px solid var(--line);
  background:linear-gradient(135deg,rgba(255,107,74,.1),rgba(14,42,71,.85) 55%,rgba(7,26,43,.9));
  clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));
}
.page-home .fee-panel h2{
  font-size:clamp(1.4rem,3.6vw,2.1rem);
  line-height:1.18;
  max-width:24ch;
  margin-bottom:.7rem;
}
.page-home .fee-panel__main p:not(.home-eyebrow){color:var(--steel-2);font-size:.95rem;max-width:46rem;}
.page-home .fee-panel__links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem;}
.page-home .fee-panel__links .btn{text-decoration:none;}
.page-home .fee-note{
  border:1px dashed rgba(255,200,87,.5);
  padding:1rem 1.1rem;
  background:rgba(255,200,87,.06);
}
.page-home .fee-note__tag{
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.14em;
  color:var(--amber);
  margin-bottom:.5rem;
}
.page-home .fee-note p:not(.fee-note__tag){font-size:.88rem;color:var(--steel-2);}

/* ---------- scenes ---------- */
.page-home .scene-grid{display:grid;gap:.85rem;}
.page-home .scene-card{
  border:1px solid var(--line-soft);
  background:rgba(7,26,43,.55);
  padding:1.1rem 1.15rem;
  display:grid;
  gap:.5rem;
  align-content:start;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
  transition:transform .18s var(--ease),border-color .18s var(--ease);
}
.page-home .scene-card:hover{transform:translateY(-3px);border-color:var(--line-cyan);}
.page-home .scene-card__tag{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--violet);
}
.page-home .scene-card h3{font-size:1.1rem;line-height:1.3;}
.page-home .scene-card p:not(.scene-card__tag){font-size:.88rem;color:var(--steel-2);}
.page-home .scene-card__link{
  justify-self:start;
  margin-top:.3rem;
  font-family:var(--font-mono);
  font-size:.76rem;
  letter-spacing:.08em;
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(47,230,214,.4);
}
.page-home .scene-card__link:hover{color:var(--teal);border-bottom-color:var(--teal);}
.page-home .scene-media{
  margin:0;
  border:1px solid var(--line-soft);
  overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}
.page-home .scene-media img{
  width:100%;
  height:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}

/* ---------- news ---------- */
.page-home .news-layout{display:grid;gap:1.5rem;}
.page-home .news-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-soft);}
.page-home .news-item{border-bottom:1px solid var(--line-soft);}
.page-home .news-item a{
  display:grid;
  gap:.4rem;
  padding:1rem .25rem 1rem 0;
  text-decoration:none;
  color:var(--mist);
  transition:background .16s var(--ease),padding-left .16s var(--ease);
}
.page-home .news-item a:hover,
.page-home .news-item a:focus-visible{
  background:rgba(14,42,71,.55);
  padding-left:.7rem;
  outline:none;
}
.page-home .news-item__meta{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;}
.page-home .news-item__time{
  font-family:var(--font-mono);
  font-size:.74rem;
  color:var(--steel);
}
.page-home .news-item__tag{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.1em;
  padding:.12rem .45rem;
  border:1px solid currentColor;
}
.page-home .news-item__tag--cyan{color:var(--cyan);}
.page-home .news-item__tag--violet{color:var(--violet);}
.page-home .news-item__tag--coral{color:var(--coral);}
.page-home .news-item__tag--amber{color:var(--amber);}
.page-home .news-item__title{font-size:1rem;font-weight:600;line-height:1.45;}
.page-home .news-item__desc{font-size:.85rem;color:var(--steel);line-height:1.6;}

.page-home .news-aside{
  border:1px solid var(--line);
  padding:1.25rem 1.2rem;
  background:linear-gradient(160deg,rgba(108,92,231,.14),rgba(14,42,71,.7));
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);
  display:grid;
  gap:.75rem;
  align-content:start;
}
.page-home .news-aside__tag{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.16em;
  color:var(--violet);
}
.page-home .news-aside h3{font-size:1.15rem;line-height:1.35;}
.page-home .news-aside p:not(.news-aside__tag){font-size:.88rem;color:var(--steel-2);}
.page-home .news-aside__facts{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;}
.page-home .news-aside__facts li{
  display:grid;
  grid-template-columns:4.2rem minmax(0,1fr);
  gap:.6rem;
  align-items:baseline;
  font-size:.85rem;
  color:var(--steel-2);
  padding-top:.6rem;
  border-top:1px solid var(--line-soft);
}
.page-home .news-aside__num{
  font-family:var(--font-mono);
  font-size:.95rem;
  color:var(--cyan);
  letter-spacing:.04em;
}
.page-home .news-aside .btn{justify-self:start;text-decoration:none;margin-top:.3rem;}

/* ---------- cta ---------- */
.page-home .home-cta{padding-bottom:var(--home-gap);}
.page-home .cta-band{
  display:grid;
  gap:1.1rem;
  padding:clamp(1.3rem,3.5vw,2.4rem);
  border-top:2px solid var(--cyan);
  background:linear-gradient(120deg,rgba(0,191,166,.14),rgba(14,42,71,.85));
  clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%);
}
.page-home .cta-band h2{font-size:clamp(1.35rem,3.6vw,2rem);margin-bottom:.5rem;}
.page-home .cta-band p{font-size:.92rem;color:var(--steel-2);max-width:44rem;}
.page-home .cta-band__actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;}
.page-home .cta-band__actions .btn{text-decoration:none;}

/* ---------- breakpoints ---------- */
@media (min-width:640px){
  .page-home .index-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .route-compare{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .page-home .fee-panel{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;}
  .page-home .cta-band{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;}
}

@media (min-width:900px){
  .page-home .hero-frame{
    grid-template-columns:minmax(0,4fr) minmax(0,8fr);
    align-items:start;
  }
  .page-home .hero-index{
    border-top:0;
    border-left:1px solid var(--line-soft);
    padding-top:0;
    padding-left:clamp(1.1rem,2.4vw,2rem);
  }
  .page-home .route-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;}
  .page-home .route-compare{grid-template-columns:1fr;}
  .page-home .ways-layout{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;}
  .page-home .scene-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .page-home .scene-media{grid-row:span 2;}
  .page-home .scene-media img{aspect-ratio:auto;min-height:100%;}
  .page-home .news-layout{grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:start;}
}

@media (min-width:1100px){
  .page-home .hero-frame{padding:clamp(2rem,3vw,3rem);gap:clamp(2rem,3vw,3rem);}
  .page-home .hero-copy h1{font-size:clamp(2.6rem,4.2vw,3.9rem);}
}

@media (prefers-reduced-motion:reduce){
  .page-home .index-card,
  .page-home .scene-card,
  .page-home .news-item a,
  .page-home .ways-tabs .tabs__btn{transition:none;}
  .page-home .index-card:hover,
  .page-home .scene-card:hover{transform:none;}
}
