.page-home{
  --home-hero-blue: linear-gradient(160deg, #EAF5FD 0%, #F9FCFF 48%, var(--color-ice) 100%);
  --home-line: rgba(176,196,222,.45);
  --home-text-dim: rgba(220,230,245,.82);
  font-family: var(--font-body);
  background: var(--color-ice);
  color: var(--text-main);
  overflow-x: hidden;
}
.page-home .breadcrumbs{
  margin-bottom: 16px;
}
.page-home .home-hero{
  position: relative;
  isolation: isolate;
  padding: 32px 0 calc(var(--gutter) * 2);
  background: var(--home-hero-blue);
  overflow: hidden;
}
.page-home .home-hero-decoration{
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.page-home .home-hero-decoration::before{
  content: '';
  position: absolute;
  top: -30%;
  left: -15%;
  width: 55%;
  height: 130%;
  background: linear-gradient(115deg, rgba(255,107,53,.20) 0%, rgba(255,255,255,0) 42%);
  transform: rotate(-12deg);
}
.page-home .home-hero-decoration::after{
  content: '';
  position: absolute;
  right: -10%;
  bottom: -20%;
  width: 75%;
  height: 115%;
  background-image:
    linear-gradient(rgba(176,196,222,.28) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176,196,222,.28) 1px, transparent 1px);
  background-size: 42px 42px;
  transform: rotate(18deg);
  -webkit-mask-image: linear-gradient(to right, #000 0%, transparent 70%);
  mask-image: linear-gradient(to right, #000 0%, transparent 70%);
}
.page-home .home-hero-inner{
  display: grid;
  gap: 40px;
  align-items: center;
}
.page-home .home-hero-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 7px 12px;
  border: 1px solid rgba(176,196,222,.65);
  background: rgba(255,255,255,.75);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .06em;
  color: var(--color-navy);
}
.page-home .home-hero h1{
  margin: 0 0 18px;
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: clamp(1.9rem, 5.2vw, 3.6rem);
  line-height: 1.14;
  letter-spacing: -.02em;
  color: var(--color-navy);
}
.page-home .home-hero-lead{
  max-width: 44rem;
  margin: 0 0 26px;
  font-size: 1.06rem;
  line-height: 1.72;
  color: var(--text-main);
}
.page-home .home-hero-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 32px;
}
.page-home .home-hero-stats{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 480px;
  border-top: 1px solid var(--color-glacier);
  border-left: 1px solid var(--color-glacier);
}
.page-home .home-hero-stat{
  padding: 12px 14px;
  border-right: 1px solid var(--color-glacier);
  border-bottom: 1px solid var(--color-glacier);
  background: rgba(255,255,255,.72);
}
.page-home .home-hero-stat-num{
  display: block;
  font-family: var(--font-mono);
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color-orange);
}
.page-home .home-hero-stat-label{
  display: block;
  margin-top: 4px;
  font-size: .78rem;
  color: var(--text-main);
}
.page-home .home-hero-visual{
  position: relative;
  padding: 28px 24px 40px 12px;
}
.page-home .home-panel-stack{
  position: relative;
  margin: 0;
  padding: 0;
}
.page-home .home-panel-stack::before,
.page-home .home-panel-stack::after{
  content: '';
  position: absolute;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}
.page-home .home-panel-stack::before{
  inset: 8px 22px 18px 8px;
  background: linear-gradient(135deg, var(--color-navy), var(--color-teal));
  transform: rotate(-2.5deg);
}
.page-home .home-panel-stack::after{
  inset: 18px 6px 6px 24px;
  background: var(--color-white);
  border: 1px solid var(--color-glacier);
  transform: rotate(2deg);
}
.page-home .home-panel-stack .home-figure{
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 10px;
  background: var(--color-white);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: calc(var(--radius) + 2px);
  box-shadow: 0 30px 60px rgba(30,58,138,.18);
}
.page-home .home-hero-img,
.page-home .home-figure img{
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: cover;
}
.page-home .home-section{
  padding: 64px 0;
}
.page-home .home-section-summary{
  max-width: 56rem;
  font-size: .98rem;
  line-height: 1.7;
  margin: 12px 0 0;
}
.page-home .home-chapters{
  background: var(--color-white);
  border-top: 1px solid var(--color-glacier);
}
.page-home .home-chapter-grid{
  display: grid;
  gap: 14px;
  margin-top: 32px;
}
.page-home .home-chapter{
  display: grid;
  grid-template-columns: 44px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  padding: 18px;
  color: var(--text-main);
  text-decoration: none;
  background: var(--color-ice);
  border: 1px solid rgba(176,196,222,.65);
  border-radius: var(--radius);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.page-home .home-chapter:hover{
  border-color: var(--color-teal);
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}
.page-home .home-chapter-index{
  grid-row: 1 / 3;
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--color-orange);
  padding-top: 4px;
}
.page-home .home-chapter-name{
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.08rem;
  color: var(--color-navy);
}
.page-home .home-chapter-desc{
  margin-top: 2px;
  font-size: .84rem;
  color: var(--text-main);
  opacity: .8;
}
.page-home .home-dashboard{
  background: linear-gradient(180deg, var(--color-white) 0%, var(--color-ice) 100%);
}
.page-home .home-switch{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.page-home .home-switch-item{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  font-size: .9rem;
  font-weight: 700;
  color: var(--color-navy);
  text-decoration: none;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--color-glacier);
  border-bottom: 2px solid var(--color-glacier);
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.page-home .home-switch-item:hover,
.page-home .home-switch-item:focus-visible{
  color: var(--color-orange);
  border-bottom-color: var(--color-orange);
  background: var(--color-white);
}
.page-home .home-dashboard-layout{
  display: grid;
  gap: 32px;
  margin-top: 28px;
}
.page-home .home-dashboard-features{
  display: grid;
  gap: 14px;
}
.page-home .home-feature-card{
  padding: 18px 18px 18px 22px;
  background: rgba(255,255,255,.88);
  border-left: 3px solid var(--color-teal);
  box-shadow: var(--shadow-sm);
}
.page-home .home-feature-title{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-navy);
}
.page-home .home-feature-index{
  font-family: var(--font-mono);
  font-size: .86rem;
  color: var(--color-orange);
}
.page-home .home-feature-card p,
.page-home .home-member-card p{
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
}
.page-home .home-figure{
  margin: 0;
}
.page-home .home-figure--dashboard{
  padding: 12px;
  background: var(--color-white);
  border: 1px solid var(--color-glacier);
  box-shadow: var(--shadow-md);
}
.page-home .home-figure-caption{
  padding-top: 10px;
  margin-top: 10px;
  border-top: 2px solid var(--color-ice);
  font-size: .8rem;
  color: var(--color-navy);
}
.page-home .home-cta-line{
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}
.page-home .home-batch{
  background: var(--color-ink);
  color: var(--color-ice);
  position: relative;
}
.page-home .home-batch::before{
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(176,196,222,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176,196,222,.05) 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events: none;
}
.page-home .home-batch .section-title{
  color: var(--color-white);
}
.page-home .home-batch .section-kicker{
  color: var(--color-orange);
}
.page-home .home-batch .home-section-summary{
  color: var(--home-text-dim);
}
.page-home .home-batch-board{
  display: grid;
  gap: 24px;
  margin-top: 36px;
  align-items: start;
}
.page-home .home-batch-status{
  position: relative;
  padding: 30px;
  background: linear-gradient(135deg, rgba(30,58,138,.92), rgba(0,179,164,.72));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 24px 50px rgba(0,0,0,.28);
  transform: rotate(-1deg);
}
.page-home .home-batch-label{
  display: block;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.page-home .home-batch-value{
  display: block;
  margin: 8px 0 6px;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  line-height: 1.15;
  color: var(--color-orange);
}
.page-home .home-batch-meta{
  display: block;
  font-size: .85rem;
  color: rgba(255,255,255,.78);
}
.page-home .home-batch-timeline{
  list-style: none;
  margin: 0;
  padding: 0;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
}
.page-home .home-batch-step{
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px dashed rgba(176,196,222,.28);
}
.page-home .home-batch-step:last-child{
  border-bottom: 0;
}
.page-home .home-batch-step-no{
  font-family: var(--font-mono);
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--color-teal);
  padding-left: 12px;
  border-left: 3px solid var(--color-orange);
  line-height: 1.2;
}
.page-home .home-batch-step h3{
  margin: 0 0 4px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-white);
}
.page-home .home-batch-step p{
  margin: 0;
  font-size: .9rem;
  color: var(--home-text-dim);
}
.page-home .home-batch-note{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin-top: 26px;
  padding: 16px 18px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(176,196,222,.25);
}
.page-home .home-batch-note p{
  flex: 1 1 260px;
  margin: 0;
  font-size: .9rem;
  color: var(--home-text-dim);
}
.page-home .home-schedule{
  background: var(--color-white);
}
.page-home .home-schedule-layout{
  display: grid;
  gap: 28px;
  margin-top: 32px;
}
.page-home .home-schedule-main{
  border: 1px solid var(--color-glacier);
  box-shadow: var(--shadow-sm);
}
.page-home .home-schedule-filter{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 14px;
  background: var(--color-ice);
  border-bottom: 1px solid var(--color-glacier);
}
.page-home .home-schedule-table{
  background: var(--color-white);
}
.page-home .home-schedule-row{
  display: grid;
  grid-template-columns: 1fr 1.5fr 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 13px 15px;
  border-bottom: 1px solid var(--color-ice);
  font-size: .9rem;
}
.page-home .home-schedule-row:last-child{
  border-bottom: 0;
}
.page-home .home-schedule-head{
  background: var(--color-warm);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--color-navy);
  text-transform: uppercase;
}
.page-home .home-schedule-league{
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--color-navy);
}
.page-home .home-schedule-status{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.page-home .home-status-dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-glacier);
}
.page-home .home-status-live{
  background: var(--color-orange);
  box-shadow: 0 0 0 3px rgba(255,107,53,.2);
}
.page-home .home-schedule-goto a{
  font-size: .85rem;
  font-weight: 700;
  color: var(--color-teal);
  text-decoration: none;
}
.page-home .home-schedule-goto a:hover{
  color: var(--color-navy);
}
.page-home .home-schedule-aside{
  display: grid;
  gap: 16px;
  align-content: start;
}
.page-home .home-tip-card,
.page-home .home-guide-card{
  padding: 22px 20px;
}
.page-home .home-tip-card{
  background: var(--color-ice);
  border-left: 4px solid var(--color-orange);
}
.page-home .home-guide-card{
  background: var(--color-warm);
  border-left: 4px solid var(--color-teal);
}
.page-home .home-tip-card h3,
.page-home .home-guide-card h3{
  margin: 0 0 8px;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--color-navy);
}
.page-home .home-tip-card p,
.page-home .home-guide-card p{
  margin: 0 0 16px;
  font-size: .92rem;
  line-height: 1.7;
}
.page-home .home-guide-card ol{
  margin: 0 0 14px;
  padding-left: 20px;
  font-size: .92rem;
  line-height: 1.8;
}
.page-home .home-guide-card a{
  font-weight: 700;
  color: var(--color-teal);
  text-decoration: none;
}
.page-home .home-guide-card a:hover{
  color: var(--color-orange);
}
.page-home .home-member{
  background: linear-gradient(135deg, var(--color-ice) 0%, #F1F7FB 100%);
}
.page-home .home-member-head{
  display: grid;
  gap: 18px;
  margin-bottom: 32px;
}
.page-home .home-member-grid{
  display: grid;
  gap: 14px;
}
.page-home .home-member-card{
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 22px;
  background: rgba(255,255,255,.84);
  border: 1px solid rgba(176,196,222,.6);
  border-radius: var(--radius);
  transition: transform .2s ease, box-shadow .2s ease;
}
.page-home .home-member-card:hover{
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}
.page-home .home-member-icon{
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: .9rem;
  color: var(--color-white);
  background: var(--color-navy);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), calc(100% - 8px) 100%, 0 100%);
}
.page-home .home-member-card h3{
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-navy);
}
.page-home .home-mobile{
  background: var(--color-white);
}
.page-home .home-mobile-layout{
  display: grid;
  gap: 30px;
  margin-top: 36px;
}
.page-home .home-figure--tablet,
.page-home .home-figure--commute{
  position: relative;
  overflow: hidden;
  border: 1px solid var(--color-glacier);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
}
.page-home .home-mobile-points{
  display: grid;
  gap: 16px;
}
.page-home .home-mobile-points article{
  padding: 18px;
  background: var(--color-warm);
  border-left: 3px solid var(--color-orange);
}
.page-home .home-mobile-points h3{
  margin: 0 0 6px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1rem;
  color: var(--color-navy);
}
.page-home .home-mobile-points p{
  margin: 0;
  font-size: .92rem;
  line-height: 1.6;
}
.page-home .home-help{
  background: var(--color-ice);
  border-top: 1px solid var(--color-glacier);
}
.page-home .home-help-inner{
  display: grid;
  gap: 20px;
  align-items: center;
}
.page-home .home-help-inner h2{
  margin: 0 0 6px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--color-navy);
}
.page-home .home-help-inner p{
  margin: 0;
  max-width: 48rem;
}
.page-home .home-help-links{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-home .home-trust-note{
  margin-top: 14px !important;
  font-size: .82rem;
  color: rgba(15,23,42,.55);
}
@media (min-width: 768px){
  .page-home .home-chapter-grid{
    grid-template-columns: repeat(2, 1fr);
  }
  .page-home .home-member-grid{
    grid-template-columns: repeat(2, 1fr);
  }
  .page-home .home-member-head{
    grid-template-columns: 1fr auto;
    align-items: end;
  }
}
@media (min-width: 1024px){
  .page-home .home-hero-inner{
    grid-template-columns: 1.05fr .95fr;
    gap: 48px;
  }
  .page-home .home-chapter-grid{
    grid-template-columns: repeat(3, 1fr);
  }
  .page-home .home-dashboard-layout{
    grid-template-columns: .9fr 1.1fr;
    align-items: center;
  }
  .page-home .home-batch-board{
    grid-template-columns: .85fr 1.15fr;
    gap: 32px;
  }
  .page-home .home-schedule-layout{
    grid-template-columns: 1.25fr .75fr;
    align-items: start;
  }
  .page-home .home-member-grid{
    grid-template-columns: repeat(3, 1fr);
  }
  .page-home .home-mobile-layout{
    grid-template-columns: 1fr 1.1fr 1fr;
    align-items: center;
  }
  .page-home .home-help-inner{
    grid-template-columns: 1fr auto;
  }
}
