.page-home .page-context{
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:clamp(18px,3vw,32px);
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--mist);
}
.page-home .page-context [aria-current="page"]{ color:var(--cyan); }
.page-home .ctx-sep{ opacity:.4; }

.page-home .hero-section{ padding-top:clamp(18px,2.6vw,28px); }

.page-home .hero-collage{
  display:grid;
  gap:14px;
  grid-template-columns:1fr;
}
.page-home .hero-collage > *{ min-width:0; }

.page-home .collage-main,
.page-home .collage-export,
.page-home .collage-curve{
  position:relative;
  border-radius:var(--radius);
  border:1px solid var(--line);
  overflow:hidden;
  transition:transform .45s var(--ease), border-color .45s var(--ease);
}
.page-home .collage-main:hover,
.page-home .collage-export:hover,
.page-home .collage-curve:hover{ transform:translateY(-3px); }

.page-home .collage-main{
  display:flex;
  align-items:flex-end;
  min-height:clamp(400px,60vw,540px);
  background:var(--ink);
  border-color:rgba(53,230,210,.2);
}
.page-home .collage-main:hover{ border-color:rgba(53,230,210,.45); }

.page-home .collage-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.42;
  filter:saturate(.85);
}
.page-home .collage-main::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(7,9,14,.22) 0%, rgba(7,9,14,.78) 54%, rgba(7,9,14,.97) 100%),
    linear-gradient(90deg, rgba(7,9,14,.9) 0%, rgba(7,9,14,.24) 64%, rgba(7,9,14,.6) 100%);
}
.page-home .collage-main-body{
  position:relative;
  z-index:2;
  width:100%;
  padding:clamp(22px,3.6vw,48px);
}

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

.page-home .collage-main h1{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(2rem,6vw,3.9rem);
  line-height:1.04;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-home .collage-main h1 em{
  display:block;
  font-style:normal;
  font-weight:200;
  color:var(--cyan);
}

.page-home .hero-lede{
  margin:0;
  max-width:46ch;
  font-size:1rem;
  line-height:1.8;
  color:var(--mist);
}

.page-home .update-list{
  list-style:none;
  margin:24px 0 0;
  padding:0;
  display:grid;
  gap:8px;
}
.page-home .update-list li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  padding:10px 12px;
  border-left:1px solid rgba(53,230,210,.32);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  background:rgba(18,22,31,.6);
}
.page-home .u-index{
  padding-top:3px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:var(--cyan);
}
.page-home .u-text{
  font-size:.875rem;
  line-height:1.65;
  color:var(--mist);
}
.page-home .u-text strong{
  display:block;
  margin-bottom:2px;
  font-weight:600;
  color:var(--paper);
}

.page-home .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.page-home .collage-export{
  display:flex;
  flex-direction:column;
  background:var(--panel);
  box-shadow:var(--shadow-card);
}
.page-home .collage-export:hover{ border-color:rgba(255,61,139,.42); }
.page-home .collage-export img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  opacity:.85;
}
.page-home .collage-export-body{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:18px 20px 22px;
}

.page-home .card-meta{
  margin:0;
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--cyan);
}
.page-home .export-card-title{
  margin:0;
  font-family:var(--font-display);
  font-size:1.375rem;
  font-weight:800;
  line-height:1.2;
  color:var(--paper);
}
.page-home .export-card-text{
  margin:0;
  font-size:.875rem;
  line-height:1.7;
  color:var(--mist);
}

.page-home .text-link{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  gap:6px;
  margin-top:auto;
  padding-bottom:2px;
  font-size:.9375rem;
  color:var(--cyan);
  text-decoration:none;
  border-bottom:1px solid rgba(53,230,210,.35);
  transition:color .3s var(--ease), border-color .3s var(--ease);
}
.page-home .text-link:hover{
  color:var(--lime);
  border-bottom-color:var(--lime);
}

.page-home .collage-curve{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:12px;
  min-height:190px;
  padding:18px 20px;
  background:var(--panel-deep);
  border-color:rgba(53,230,210,.15);
}
.page-home .collage-curve:hover{ border-color:rgba(53,230,210,.4); }
.page-home .collage-curve > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.28;
}
.page-home .collage-curve .card-meta,
.page-home .collage-curve .mini-curve,
.page-home .collage-curve .curve-caption{
  position:relative;
  z-index:2;
}
.page-home .mini-curve{
  display:block;
  width:100%;
  height:auto;
}
.page-home .mini-curve path{
  stroke-dasharray:520;
  stroke-dashoffset:520;
  animation:homeDraw 1.4s var(--ease) forwards;
}
.page-home .curve-caption{
  margin:0;
  font-size:.8125rem;
  line-height:1.6;
  color:var(--mist);
}

@keyframes homeDraw{ to{ stroke-dashoffset:0; } }
@keyframes homeFade{ to{ opacity:.85; } }

.page-home .index-label{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--mist);
}

.page-home :is(.steps-head,.export-copy,.curve-head,.sub-copy,.team-head) h2{
  margin:0 0 16px;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.6rem,3.6vw,2.6rem);
  line-height:1.15;
  letter-spacing:-.015em;
  color:var(--paper);
}
.page-home :is(.steps-head,.export-copy,.curve-head,.sub-copy,.team-head) h2 em{
  font-style:normal;
  font-weight:200;
  color:var(--cyan);
}

.page-home .section-lede{
  margin:0;
  max-width:46ch;
  font-size:1rem;
  line-height:1.8;
  color:var(--mist);
}

.page-home .stage-steps{ padding:clamp(44px,7vw,88px) 0; }
.page-home .steps-head{
  max-width:54ch;
  margin-bottom:clamp(24px,3.6vw,40px);
}

.page-home .step-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:1px;
  background:rgba(42,33,28,.22);
  border:1px solid rgba(42,33,28,.22);
  border-radius:var(--radius);
  overflow:hidden;
}
.page-home .step-item{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(22px,3vw,34px);
  background:var(--paper);
  color:var(--paper-ink);
}
.page-home .step-num{
  font-family:var(--font-mono);
  font-size:clamp(54px,10vw,104px);
  line-height:.82;
  font-weight:700;
  letter-spacing:-.045em;
  color:rgba(184,115,51,.32);
  transition:color .35s var(--ease);
}
.page-home .step-item:hover .step-num{ color:var(--copper); }
.page-home .step-item h3{
  margin:0;
  font-family:var(--font-display);
  font-size:1.125rem;
  font-weight:700;
  color:var(--paper-ink);
}
.page-home .step-item p{
  margin:0;
  font-size:.9375rem;
  line-height:1.75;
  color:rgba(42,33,28,.78);
}
.page-home .step-item .step-time{
  margin-top:auto;
  padding-top:8px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.14em;
  color:rgba(42,33,28,.55);
}

.page-home .steps-foot{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 16px;
  margin:20px 0 0;
  font-size:.875rem;
  line-height:1.7;
  color:var(--mist);
}

.page-home .export-section{ padding:clamp(44px,7vw,88px) 0; }
.page-home .export-grid{
  display:grid;
  gap:clamp(20px,3vw,36px);
  align-items:start;
}
.page-home .export-grid > *{ min-width:0; }

.page-home .use-list{
  list-style:none;
  margin:22px 0 0;
  padding:0;
  border-top:1px solid var(--line);
}
.page-home .use-list li{
  padding:14px 0;
  border-bottom:1px solid var(--line);
  font-size:.9375rem;
  line-height:1.75;
  color:var(--mist);
}
.page-home .use-list strong{
  margin-right:8px;
  font-weight:600;
  color:var(--paper);
}

.page-home .export-spec{
  padding:clamp(22px,3vw,32px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
  box-shadow:var(--shadow-card);
}
.page-home .spec-title{
  margin:0 0 4px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--cyan);
}
.page-home .spec-list{
  margin:0 0 24px;
  padding:0;
}
.page-home .spec-row{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:8px 16px;
  padding:14px 0;
  border-bottom:1px solid var(--line-soft);
}
.page-home .spec-row:last-child{ border-bottom:0; }
.page-home .spec-row dt{
  font-size:.875rem;
  color:var(--mist);
}
.page-home .spec-row dd{
  margin:0;
  max-width:62%;
  font-size:.9375rem;
  line-height:1.7;
  text-align:right;
  color:var(--paper);
}
.page-home .spec-num{
  font-family:var(--font-mono);
  font-size:1.375rem;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--lime);
}
.page-home .spec-sep{ margin:0 6px; color:var(--mist); }

.page-home .curve-section{
  padding:clamp(44px,7vw,88px) 0;
  background:linear-gradient(180deg, rgba(18,22,31,0) 0%, rgba(18,22,31,.8) 18%, rgba(18,22,31,.8) 82%, rgba(18,22,31,0) 100%);
}
.page-home .curve-head{
  max-width:56ch;
  margin-bottom:clamp(20px,3vw,32px);
}
.page-home .curve-stage{
  position:relative;
  overflow:hidden;
  padding:clamp(16px,2.4vw,28px);
  border:1px solid rgba(53,230,210,.16);
  border-radius:var(--radius);
  background:var(--panel-deep);
  box-shadow:var(--shadow-card);
}
.page-home .curve-chart{
  display:block;
  width:100%;
  height:auto;
}
.page-home .curve-line{
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
  animation:homeDraw 1s var(--ease) forwards;
}
.page-home .curve-line-alt{
  stroke-dasharray:6 6;
  opacity:0;
  animation:homeFade .9s var(--ease) .5s forwards;
}
.page-home .curve-legend{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  margin:14px 0 0;
  padding:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.12em;
  color:var(--mist);
}
.page-home .curve-legend li{
  display:flex;
  align-items:center;
  gap:8px;
}
.page-home .dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:50%;
}
.page-home .dot--cyan{ background:var(--cyan); }
.page-home .dot--magenta{ background:var(--magenta); }
.page-home .dot--lime{ background:var(--lime); }

.page-home .read-notes{
  display:grid;
  gap:1px;
  margin-top:clamp(16px,2.4vw,24px);
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--line-soft);
}
.page-home .read-notes article{
  padding:clamp(18px,2.4vw,26px);
  background:var(--ink);
}
.page-home .read-notes h3{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:700;
  color:var(--paper);
}
.page-home .read-notes p{
  margin:0;
  font-size:.875rem;
  line-height:1.75;
  color:var(--mist);
}

.page-home .rank-strip{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 28px;
  margin-top:clamp(16px,2.4vw,24px);
  padding:18px clamp(16px,2.4vw,24px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
}
.page-home .rank-strip-title{
  margin:0;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.16em;
  color:var(--mist);
}
.page-home .rank-badges{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:10px 20px;
  margin:0;
  padding:0;
}
.page-home .rank-badges li{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.8125rem;
  color:var(--mist);
}
.page-home .rank-badge{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  font-family:var(--font-mono);
  font-size:.9375rem;
  font-weight:700;
  color:#1a1208;
  background:conic-gradient(from 210deg, #8c5a24, #d99a4e, #b87333, #7a4a1a, #b87333, #e0b070, #8c5a24);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.35), 0 4px 10px -6px rgba(0,0,0,.9);
}
.page-home .rank-badge--top{
  background:conic-gradient(from 200deg, #8a6a10, #e6c74a, #c9a227, #7d5f0c, #c9a227, #f0d878, #8a6a10);
}

.page-home .sub-section{ padding:clamp(44px,7vw,88px) 0; }
.page-home .sub-grid{
  display:grid;
  gap:clamp(22px,3vw,40px);
  align-items:center;
}
.page-home .sub-grid > *{ min-width:0; }
.page-home .sub-copy .text-link{ margin-top:18px; }

.page-home .sub-visual{
  position:relative;
  overflow:hidden;
  margin:0;
  border:1px solid rgba(255,61,139,.28);
  border-radius:var(--radius);
  box-shadow:var(--shadow-card);
}
.page-home .sub-visual img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-home .sub-visual figcaption{
  padding:12px 16px;
  border-top:1px solid var(--line);
  background:var(--panel);
  font-size:.8125rem;
  line-height:1.6;
  color:var(--mist);
}

.page-home .sub-cards{
  list-style:none;
  display:grid;
  gap:12px;
  margin:clamp(24px,3.4vw,40px) 0 0;
  padding:0;
}
.page-home .sub-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--panel);
  transition:transform .4s var(--ease), border-color .4s var(--ease);
}
.page-home .sub-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,61,139,.42);
}
.page-home .sub-card-freq{
  font-family:var(--font-mono);
  font-size:10.5px;
  letter-spacing:.16em;
  color:var(--magenta);
}
.page-home .sub-card h3{
  margin:0;
  font-family:var(--font-display);
  font-size:1.0625rem;
  font-weight:700;
  color:var(--paper);
}
.page-home .sub-card p{
  margin:0;
  font-size:.875rem;
  line-height:1.75;
  color:var(--mist);
}

.page-home .team-section{ padding:clamp(44px,7vw,88px) 0; }
.page-home .team-head{
  max-width:58ch;
  margin-bottom:clamp(20px,3vw,32px);
}
.page-home .team-stats{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
  gap:1px;
  margin:0;
  padding:0;
  border:1px solid var(--line-soft);
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--line-soft);
}
.page-home .team-stats li{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:clamp(18px,2.6vw,26px) 16px;
  background:var(--panel);
}
.page-home .stat-num{
  font-family:var(--font-mono);
  font-size:clamp(1.75rem,3.4vw,2.5rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.02em;
  color:var(--cyan);
}
.page-home .stat-label{
  font-size:.8125rem;
  color:var(--mist);
}
.page-home .team-notes{
  display:grid;
  gap:10px;
  max-width:60ch;
  margin-top:22px;
}
.page-home .team-notes p{
  margin:0;
  font-size:.9375rem;
  line-height:1.8;
  color:var(--mist);
}
.page-home .team-notes strong{
  font-weight:600;
  color:var(--paper);
}
.page-home .team-notes .text-link{ margin-top:6px; }

.page-home .closing-band{ padding:0 0 clamp(44px,7vw,88px); }
.page-home .closing-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:clamp(24px,3.4vw,36px);
  border-top:1px solid var(--line);
}
.page-home .closing-title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:clamp(1.375rem,2.6vw,1.875rem);
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-home .closing-title em{
  font-style:normal;
  font-weight:200;
  color:var(--cyan);
}
.page-home .closing-inner p{
  margin:0;
  font-size:.9375rem;
  line-height:1.7;
  color:var(--mist);
}

@media (min-width:640px){
  .page-home .update-list{ grid-template-columns:1fr 1fr; gap:10px 16px; }
  .page-home .sub-cards{ grid-template-columns:1fr 1fr; }
}

@media (min-width:820px){
  .page-home .step-list{ grid-template-columns:repeat(3,1fr); }
  .page-home .read-notes{ grid-template-columns:repeat(3,1fr); }
}

@media (min-width:900px){
  .page-home .hero-collage{
    grid-template-columns:1.55fr 1fr;
    grid-template-rows:auto 1fr;
    grid-template-areas:
      "main export"
      "main curve";
  }
  .page-home .collage-main{ grid-area:main; min-height:560px; }
  .page-home .collage-export{ grid-area:export; }
  .page-home .collage-curve{ grid-area:curve; }

  .page-home .export-grid{ grid-template-columns:1.1fr .9fr; }
  .page-home .sub-grid{ grid-template-columns:1fr .85fr; }
}

@media (min-width:1020px){
  .page-home .sub-cards{ grid-template-columns:repeat(3,1fr); }
}

@media (max-width:480px){
  .page-home .spec-row dd{ max-width:100%; text-align:left; }
  .page-home .hero-actions .btn{ flex:1 1 auto; justify-content:center; }
}

@media (prefers-reduced-motion: reduce){
  .page-home .curve-line,
  .page-home .curve-line-alt,
  .page-home .mini-curve path{
    animation:none;
    stroke-dashoffset:0;
    opacity:1;
  }
  .page-home .collage-main,
  .page-home .collage-export,
  .page-home .collage-curve,
  .page-home .sub-card{ transition:none; }
  .page-home .collage-main:hover,
  .page-home .collage-export:hover,
  .page-home .collage-curve:hover,
  .page-home .sub-card:hover{ transform:none; }
}
