.page-home{
  --home-scanline: repeating-linear-gradient(180deg, rgba(0,229,255,0.04) 0 1px, transparent 1px 4px);
  --home-gridline: linear-gradient(rgba(180,75,255,0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(180,75,255,0.1) 1px, transparent 1px);
  position:relative;
  background:var(--bg-night);
  color:var(--text-light);
  overflow-x:hidden;
}
.page-home .home-hero{
  position:relative;
  padding:24px 16px 36px;
  background:radial-gradient(circle at 85% 15%, rgba(255,51,92,0.12), transparent 45%), radial-gradient(circle at 10% 80%, rgba(180,75,255,0.12), transparent 40%), var(--bg-night);
}
.page-home .home-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--home-gridline), var(--home-scanline);
  pointer-events:none;
}
.page-home .home-hero-inner{
  position:relative;
  display:grid;
  gap:22px;
  max-width:var(--content-max);
  margin-inline:auto;
}
.page-home .hero-visual{
  position:relative;
  height:420px;
  overflow:hidden;
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
}
.page-home .hero-visual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.1) contrast(1.05);
}
.page-home .hero-stamp{
  position:absolute;
  top:14px;
  right:14px;
  z-index:2;
  padding:6px 10px;
  font-family:var(--font-mono);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.06em;
  color:var(--accent-orange);
  background:rgba(11,10,15,0.78);
  border:2px solid var(--accent-orange);
  box-shadow:2px 2px 0 rgba(255,179,0,0.35);
  transform:rotate(3deg);
}
.page-home .hero-stamp::after{
  content:"";
  position:absolute;
  inset:3px;
  border:1px dashed rgba(255,179,0,0.5);
  pointer-events:none;
}
.page-home .hero-panel{
  position:relative;
  padding:24px 20px;
  background:linear-gradient(160deg, rgba(20,16,36,0.96), rgba(11,10,15,0.92));
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
}
.page-home .hero-panel::after{
  content:"INDEX / 72";
  position:absolute;
  right:-6px;
  bottom:-6px;
  padding:2px 8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:0.12em;
  color:var(--bg-night);
  background:linear-gradient(135deg, var(--accent-peach), var(--accent-strawberry));
}
.page-home .hero-kicker{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--accent-electric);
  border-left:3px solid var(--accent-strawberry);
  padding-left:10px;
}
.page-home .hero-panel h1{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:clamp(30px, 7vw, 54px);
  line-height:1.12;
  letter-spacing:0.01em;
  background:linear-gradient(135deg, var(--accent-peach) 0%, var(--accent-strawberry) 60%, var(--accent-neon) 120%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.page-home .hero-tagline{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-size:18px;
  line-height:1.35;
  color:var(--text-light);
  border-bottom:2px solid var(--line-wine);
  padding-bottom:14px;
}
.page-home .hero-lead{
  margin:0 0 18px;
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.7;
  color:var(--text-muted);
}
.page-home .hero-search{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:20px;
  padding:14px;
  background:rgba(11,10,15,0.72);
  border:2px solid var(--accent-neon);
  box-shadow:0 0 22px rgba(180,75,255,0.16);
}
.page-home .hero-search .btn-primary{
  align-self:flex-start;
  font-size:15px;
}
.page-home .search-meta{
  font-family:var(--font-mono);
  font-size:12px;
  line-height:1.5;
  color:var(--text-muted);
}
.page-home .hero-index{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:18px;
}
.page-home .index-block{
  padding:14px 8px;
  text-align:center;
  background:rgba(11,10,15,0.6);
  border:1px solid var(--line-dim);
  transition:border-color 0.2s;
}
.page-home .index-block:hover{
  border-color:var(--accent-electric);
}
.page-home .index-num{
  display:block;
  font-family:var(--font-display);
  font-size:34px;
  line-height:1;
  color:var(--accent-orange);
  text-shadow:0 0 14px rgba(255,179,0,0.3);
}
.page-home .index-label{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:var(--text-muted);
}
.page-home .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.page-home .section-vol{
  position:absolute;
  top:26px;
  right:10px;
  z-index:2;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.18em;
  color:var(--text-muted);
  writing-mode:vertical-rl;
  opacity:0.6;
}
.page-home .issue-ladder{
  position:relative;
  padding:44px 16px 40px;
  border-top:6px solid var(--line-wine);
  background:linear-gradient(180deg, var(--bg-night) 0%, var(--bg-panel) 100%);
}
.page-home .ladder-intro{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.65;
  color:var(--text-muted);
}
.page-home .ladder-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.page-home .ladder-card{
  position:relative;
  overflow:hidden;
  padding:18px 16px 16px;
  background:var(--bg-night);
  border:2px solid var(--line-wine);
  box-shadow:4px 4px 0 rgba(0,0,0,0.3);
  transition:border-color 0.25s, box-shadow 0.25s, transform 0.25s;
}
.page-home .ladder-card:hover,
.page-home .ladder-card:focus-within{
  border-color:var(--accent-electric);
  box-shadow:6px 6px 0 rgba(0,229,255,0.15);
  transform:translate(-2px, -2px);
}
.page-home .ladder-card::after{
  content:"";
  position:absolute;
  top:0;
  left:-80%;
  width:60%;
  height:100%;
  background:linear-gradient(100deg, transparent, rgba(0,229,255,0.12), transparent);
  transform:skewX(-18deg);
  pointer-events:none;
}
.page-home .ladder-card:hover::after{
  left:140%;
  transition:left 0.55s ease-out;
}
.page-home .ladder-card--a{
  border-top:4px solid var(--accent-peach);
}
.page-home .ladder-card--b{
  border-top:4px solid var(--accent-strawberry);
}
.page-home .ladder-card--c{
  border-top:4px solid var(--accent-neon);
}
.page-home .ladder-card--d{
  border-top:4px solid var(--accent-orange);
}
.page-home .ladder-range{
  display:inline-block;
  margin-bottom:8px;
  padding:4px 8px;
  font-family:var(--font-mono);
  font-size:20px;
  font-weight:700;
  letter-spacing:0.04em;
  color:var(--accent-orange);
  background:rgba(255,179,0,0.08);
  border:1px solid rgba(255,179,0,0.32);
  text-shadow:0 0 12px rgba(255,179,0,0.3);
}
.page-home .ladder-title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:22px;
  line-height:1.2;
  color:var(--text-light);
}
.page-home .ladder-desc{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.55;
  color:var(--text-muted);
}
.page-home .ladder-milestones{
  display:grid;
  gap:4px;
  margin:0 0 14px;
  padding:0;
  list-style:none;
}
.page-home .milestone-item{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--text-muted);
  border-bottom:1px dashed var(--line-wine);
  padding:4px 0;
}
.page-home .milestone-item b{
  color:var(--accent-orange);
  font-weight:700;
  white-space:nowrap;
}
.page-home .ladder-note{
  margin:22px 0 0;
  padding:12px 14px;
  font-size:13px;
  line-height:1.6;
  color:var(--text-muted);
  border-left:4px solid var(--accent-electric);
  background:rgba(0,229,255,0.05);
}
.page-home .ladder-note a{
  color:var(--accent-electric);
  text-decoration:underline;
  text-underline-offset:3px;
}
.page-home .zone-index{
  position:relative;
  padding:44px 16px 40px;
  border-top:6px solid var(--accent-neon);
  background:var(--bg-night);
}
.page-home .zone-bg{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.page-home .zone-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,10,15,0.82), rgba(20,16,36,0.86));
}
.page-home .zone-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.35;
  filter:saturate(1.15);
}
.page-home .zone-container{
  position:relative;
  z-index:1;
}
.page-home .zone-intro{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.65;
  color:var(--text-muted);
}
.page-home .zone-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.page-home .zone-card{
  position:relative;
  padding:20px 16px;
  background:rgba(11,10,15,0.9);
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
  transition:border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}
.page-home .zone-card:hover,
.page-home .zone-card:focus-within{
  border-color:var(--accent-electric);
  box-shadow:0 0 20px rgba(0,229,255,0.14), 6px 6px 0 rgba(0,229,255,0.12);
  transform:translateY(-3px);
}
.page-home .zone-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
}
.page-home .zone-title{
  margin:0;
  font-family:var(--font-display);
  font-size:24px;
  line-height:1.1;
  color:var(--text-light);
}
.page-home .zone-num{
  font-family:var(--font-mono);
  font-size:14px;
  color:var(--accent-orange);
}
.page-home .zone-count{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--accent-peach);
}
.page-home .zone-sub{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.55;
  color:var(--text-muted);
}
.page-home .zone-note{
  margin:22px 0 0;
  padding:10px 12px;
  font-size:13px;
  color:var(--text-muted);
  border:1px dashed var(--line-wine);
  background:rgba(20,16,36,0.6);
}
.page-home .zone-card--a{
  border-top:4px solid var(--accent-peach);
}
.page-home .zone-card--b{
  border-top:4px solid var(--accent-strawberry);
}
.page-home .zone-card--c{
  border-top:4px solid var(--accent-neon);
}
.page-home .zone-card--d{
  border-top:4px solid var(--accent-electric);
}
.page-home .zone-card--a .zone-count{
  color:var(--accent-peach);
}
.page-home .zone-card--b .zone-count{
  color:var(--accent-strawberry);
}
.page-home .zone-card--c .zone-count{
  color:var(--accent-neon);
}
.page-home .zone-card--d .zone-count{
  color:var(--accent-electric);
}
.page-home .finish-collection{
  position:relative;
  padding:44px 16px 40px;
  border-top:6px solid var(--line-wine);
  background:radial-gradient(circle at 80% 20%, rgba(255,136,176,0.08), transparent 40%), var(--bg-night);
}
.page-home .finish-intro{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.65;
  color:var(--text-muted);
}
.page-home .finish-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:82%;
  gap:16px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  padding:2px 2px 10px;
}
.page-home .finish-card{
  position:relative;
  background:var(--bg-panel);
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
  scroll-snap-align:start;
  transition:border-color 0.25s, transform 0.25s;
}
.page-home .finish-card:hover,
.page-home .finish-card:focus-within{
  border-color:var(--accent-strawberry);
  transform:translateY(-4px);
}
.page-home .finish-cover{
  position:relative;
  height:200px;
  overflow:hidden;
  border-bottom:2px solid var(--line-wine);
}
.page-home .finish-cover img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(1.05);
  transition:filter 0.3s, transform 0.3s;
}
.page-home .finish-card:hover .finish-cover img{
  filter:saturate(1.3);
  transform:scale(1.02);
}
.page-home .finish-cover--wine{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(135deg, #5A1E2A 0%, #141024 72%, #0B0A0F 100%);
}
.page-home .finish-cover--purple{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  background:linear-gradient(135deg, #B44BFF 0%, #141024 72%, #0B0A0F 100%);
}
.page-home .finish-cover-num{
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:0.16em;
  color:var(--accent-orange);
}
.page-home .finish-cover-title{
  margin:0;
  font-family:var(--font-display);
  font-size:26px;
  color:var(--text-light);
}
.page-home .finish-info{
  padding:16px;
}
.page-home .finish-title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:20px;
  color:var(--text-light);
}
.page-home .finish-meta{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:12px;
  color:var(--accent-orange);
}
.page-home .finish-desc{
  margin:0 0 14px;
  font-size:13px;
  line-height:1.55;
  color:var(--text-muted);
}
.page-home .help-footer{
  position:relative;
  padding:44px 16px 56px;
  border-top:6px solid var(--accent-peach);
  background:radial-gradient(circle at 15% 30%, rgba(180,75,255,0.14), transparent 45%), var(--bg-night);
}
.page-home .help-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}
.page-home .help-panel{
  order:2;
  padding:20px 16px;
  background:var(--bg-panel);
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
}
.page-home .help-panel-title{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-size:22px;
  color:var(--accent-peach);
}
.page-home .help-steps{
  display:grid;
  gap:10px;
  margin:0 0 18px;
  padding:0;
  list-style:none;
}
.page-home .step-item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
  background:rgba(11,10,15,0.6);
  border-left:3px solid var(--accent-electric);
}
.page-home .step-item span:last-child{
  font-size:14px;
  line-height:1.5;
  color:var(--text-light);
}
.page-home .step-num{
  flex:0 0 auto;
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--accent-orange);
}
.page-home .help-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.page-home .help-visual{
  order:1;
  border:2px solid var(--line-wine);
  box-shadow:var(--shadow-offset);
}
.page-home .help-visual img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:cover;
}
.page-home .help-note{
  margin:22px 0 0;
  padding-top:14px;
  font-size:13px;
  line-height:1.7;
  color:var(--text-muted);
  border-top:2px dashed var(--line-wine);
}
@media (min-width:760px){
  .page-home .home-hero{
    padding:36px 24px 44px;
  }
  .page-home .home-hero-inner{
    grid-template-columns:5fr 7fr;
    align-items:stretch;
  }
  .page-home .hero-visual{
    height:auto;
    min-height:560px;
  }
  .page-home .hero-panel{
    padding:32px 28px;
  }
  .page-home .hero-panel h1{
    font-size:46px;
  }
  .page-home .hero-tagline{
    font-size:20px;
  }
  .page-home .hero-lead{
    font-size:16px;
  }
  .page-home .ladder-grid,
  .page-home .zone-grid{
    grid-template-columns:repeat(2, 1fr);
  }
  .page-home .finish-track{
    grid-auto-flow:row;
    grid-template-columns:repeat(3, 1fr);
    overflow:visible;
    scroll-snap-type:none;
    padding:0;
  }
  .page-home .finish-cover{
    height:220px;
  }
  .page-home .help-grid{
    grid-template-columns:7fr 5fr;
    align-items:stretch;
  }
  .page-home .help-panel{
    order:1;
  }
  .page-home .help-visual{
    order:2;
    display:flex;
  }
  .page-home .help-visual img{
    width:100%;
    height:100%;
    object-fit:cover;
  }
  .page-home .section-vol{
    right:24px;
  }
}
@media (min-width:1024px){
  .page-home .home-hero{
    padding-block:48px 56px;
  }
  .page-home .hero-panel h1{
    font-size:58px;
  }
  .page-home .hero-tagline{
    font-size:22px;
  }
  .page-home .ladder-grid{
    grid-template-columns:repeat(4, 1fr);
  }
  .page-home .zone-grid{
    grid-template-columns:repeat(4, 1fr);
  }
}
