.home-page { background: #f5f5f1; }
.home-code-label,
.home-hero-signal,
.home-map-status,
.home-photo-label,
.initiative-row > span,
.participate-grid > a > span {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.home-hero {
  position: relative;
  min-height: calc(100vh - 78px);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #080a0c;
  color: white;
}
.home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(4,6,8,.91) 0%, rgba(4,6,8,.62) 50%, rgba(4,6,8,.18) 100%), linear-gradient(0deg, rgba(4,6,8,.78) 0%, transparent 58%);
}
.home-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero-copy { position: relative; z-index: 2; width: min(1050px, 88vw); padding: 9vw 7vw 8vw; }
.home-hero-signal { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 28px; color: #bdc4ca; font-size: 10px; font-weight: 800; }
.home-hero-signal span { width: 7px; height: 7px; border-radius: 50%; background: #ffd400; box-shadow: 0 0 18px rgba(255,212,0,.9); }
.home-hero h1 { max-width: 1000px; margin-bottom: 28px; color: white; font-size: clamp(62px, 10vw, 136px); line-height: .82; letter-spacing: -.065em; }
.home-hero-lead { max-width: 780px; color: #f0f1ed; font-size: clamp(19px, 2vw, 26px); line-height: 1.55; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.home-hero-actions .button { min-height: 54px; padding: 0 25px; }
.home-hero-actions .button.primary { background: #ffd400; color: #080a0c; }
.home-hero-actions .button.secondary { background: rgba(8,10,12,.35); border-color: rgba(255,255,255,.46); }
.home-scroll-cue { position: absolute; z-index: 3; right: 3.4vw; bottom: 34px; display: flex; align-items: center; gap: 12px; color: #aeb5bc; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-scroll-cue span { color: #ffd400; font-size: 18px; }

.home-network {
  display: grid;
  grid-template-columns: minmax(340px,.8fr) minmax(440px,1.2fr);
  gap: 0;
  min-height: 720px;
  background: #080a0c;
  color: white;
  border-top: 1px solid rgba(255,255,255,.1);
}
.home-network-copy { display: flex; flex-direction: column; justify-content: center; padding: 86px 6vw 86px 7vw; }
.home-code-label { margin: 0 0 18px; color: #9a7921; font-size: 10px; font-weight: 900; }
.home-network .home-code-label, .home-honor .home-code-label, .home-field .home-code-label { color: #ffd400; }
.home-network h2, .home-honor h2, .home-field h2 { color: white; letter-spacing: -.045em; }
.home-network h2 { max-width: 650px; font-size: clamp(46px, 5.5vw, 78px); }
.home-network-copy > p:not(.home-code-label) { max-width: 620px; color: #aeb6be; font-size: 18px; line-height: 1.75; }
.home-network-metrics { display: grid; grid-template-columns: repeat(2,1fr); margin: 32px 0 28px; border-top: 1px solid rgba(255,255,255,.14); border-left: 1px solid rgba(255,255,255,.14); }
.home-network-metrics .grid-metric { padding: 18px; border-right: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.home-network-metrics .grid-metric strong { color: white; font-size: 36px; }
.home-network-metrics .grid-metric span { color: #7d8791; }
.home-inline-link { display: inline-flex; width: fit-content; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid #b58b18; color: #15181b; font-weight: 900; }
.home-inline-link span { color: #a3790e; }
.home-network .home-inline-link, .home-inline-link.light { color: white; border-color: #ffd400; }
.home-network .home-inline-link span, .home-inline-link.light span { color: #ffd400; }
.home-map-shell { position: relative; display: block; min-height: 720px; overflow: hidden; border-left: 1px solid rgba(255,255,255,.13); background: #0a0c0f; }
.home-map-shell #honor-grid-mini-map { position: absolute; inset: 0; min-height: 720px; }
.home-map-shell::after { content: ""; position: absolute; inset: 0; z-index: 500; pointer-events: none; box-shadow: inset 0 0 130px rgba(0,0,0,.72); }
.home-map-corners::before, .home-map-corners::after { content: ""; position: absolute; z-index: 650; width: 70px; height: 70px; pointer-events: none; }
.home-map-corners::before { top: 25px; left: 25px; border-top: 1px solid rgba(255,212,0,.75); border-left: 1px solid rgba(255,212,0,.75); }
.home-map-corners::after { right: 25px; bottom: 25px; border-right: 1px solid rgba(255,212,0,.75); border-bottom: 1px solid rgba(255,212,0,.75); }
.home-map-status { position: absolute; z-index: 700; top: 28px; right: 28px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(255,255,255,.15); background: rgba(7,9,11,.78); color: #adb5bd; font-size: 9px; font-weight: 900; backdrop-filter: blur(10px); }
.home-map-status i { width: 6px; height: 6px; border-radius: 50%; background: #ffd400; box-shadow: 0 0 10px #ffd400; }
.home-map-caption { position: absolute; z-index: 700; left: 30px; bottom: 30px; max-width: 320px; padding: 14px 16px; border-left: 2px solid #ffd400; background: rgba(7,9,11,.8); color: #c2c9cf; font-size: 12px; line-height: 1.5; backdrop-filter: blur(10px); }

.home-honor { padding: 112px 7vw; background: #101317; color: white; border-top: 1px solid rgba(255,255,255,.1); }
.home-honor-head { display: grid; grid-template-columns: minmax(320px,1fr) minmax(340px,.8fr); gap: 80px; align-items: end; margin-bottom: 56px; }
.home-honor h2 { max-width: 720px; font-size: clamp(48px, 6vw, 86px); }
.home-honor-head > p { margin: 0; color: #aab2ba; font-size: 18px; line-height: 1.7; }
.initiative-rail { border-top: 1px solid rgba(255,255,255,.17); }
.initiative-row { --accent:#ffd400; position: relative; display: grid; grid-template-columns: 70px minmax(250px,.9fr) minmax(280px,1.1fr) 50px; gap: 22px; align-items: center; padding: 24px 14px; border-bottom: 1px solid rgba(255,255,255,.12); color: white; transition: background .2s ease, padding .2s ease; }
.initiative-row::before { content: ""; position: absolute; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 14px var(--accent); }
.initiative-row:hover { padding-left: 24px; background: rgba(255,255,255,.035); }
.initiative-row > span { padding-left: 14px; color: #66707a; font-size: 9px; }
.initiative-row strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 2.8vw, 36px); }
.initiative-row small { color: #939ca5; font-size: 14px; }
.initiative-row i { justify-self: end; color: var(--accent); font-size: 20px; font-style: normal; }

.home-field { display: grid; grid-template-columns: minmax(360px,1.08fr) minmax(340px,.92fr); min-height: 760px; background: #1a1e22; color: white; }
.home-field-media { position: relative; min-height: 620px; overflow: hidden; }
.home-field-media img { width: 100%; height: 100%; object-fit: cover; }
.home-field-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.42), transparent 35%); }
.home-photo-label { position: absolute; z-index: 2; left: 28px; bottom: 28px; padding: 8px 10px; background: rgba(8,10,12,.82); color: #ffd400; font-size: 9px; font-weight: 900; }
.home-field-copy { display: flex; flex-direction: column; justify-content: center; padding: 82px 7vw 82px 6vw; }
.home-field h2 { font-size: clamp(46px, 5vw, 76px); }
.home-field-copy > p:not(.home-code-label) { color: #c3c9cf; font-size: 18px; line-height: 1.72; }
.home-field blockquote { margin: 24px 0; padding: 18px 0 18px 24px; border-left: 4px solid #ffd400; color: white; font-family: Georgia, "Times New Roman", serif; font-size: clamp(28px, 3vw, 42px); line-height: 1.35; }
.home-field-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 26px; }
.home-field-actions .button { min-height: 50px; }

.home-frontline-groups { padding: 106px 7vw; background: #f5f5f1; }
.home-groups-head { max-width: 860px; margin-bottom: 48px; }
.home-groups-head h2 { font-size: clamp(50px, 6vw, 86px); letter-spacing: -.045em; }
.frontline-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: #cfd3d5; border: 1px solid #cfd3d5; }
.frontline-strip > div { --group:#ffd400; position: relative; min-height: 230px; padding: 30px 24px; background: white; }
.frontline-strip > div::before { content: ""; display: block; width: 40px; height: 5px; margin-bottom: 76px; background: var(--group); box-shadow: 0 0 15px color-mix(in srgb,var(--group) 40%,transparent); }
.frontline-strip span { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 700; }
.frontline-strip small { display: block; margin-top: 10px; color: #70777e; line-height: 1.45; }

.home-participate { padding: 110px 7vw; background: #dedfd9; }
.home-participate-head { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr); gap: 60px; align-items: end; margin-bottom: 50px; }
.home-participate-head h2 { margin: 0; max-width: 900px; font-size: clamp(50px, 6vw, 88px); letter-spacing: -.05em; }
.participate-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #bfc3c1; border: 1px solid #bfc3c1; }
.participate-grid > a { position: relative; min-height: 390px; padding: 34px; background: #f8f8f5; transition: transform .2s ease, background .2s ease; }
.participate-grid > a:hover { background: white; }
.participate-grid > a > span { color: #9a7921; font-size: 10px; font-weight: 900; }
.participate-grid h3 { max-width: 300px; margin-top: 90px; font-family: Georgia, "Times New Roman", serif; font-size: 34px; line-height: 1.08; }
.participate-grid p { max-width: 360px; color: #52595f; line-height: 1.65; }
.participate-grid i { position: absolute; right: 28px; bottom: 28px; color: #9a7921; font-size: 22px; font-style: normal; }

.home-origin { display: grid; grid-template-columns: minmax(340px,.8fr) minmax(500px,1.2fr); background: #f7f7f4; }
.home-origin-copy { display: flex; flex-direction: column; justify-content: center; padding: 90px 6vw 90px 7vw; }
.home-origin h2 { font-size: clamp(46px, 5vw, 75px); letter-spacing: -.04em; }
.home-origin-copy > p:not(.home-code-label) { color: #40464c; font-size: 18px; line-height: 1.72; }
.origin-images { display: grid; grid-template-columns: 1fr 1fr; min-height: 660px; }
.origin-images figure { position: relative; margin: 0; overflow: hidden; }
.origin-images img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.origin-images figcaption { position: absolute; left: 20px; bottom: 20px; padding: 8px 10px; background: rgba(8,10,12,.76); color: white; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }

.home-final-cta { padding: 120px 7vw; background: #ffd400; color: #080a0c; text-align: center; }
.home-final-cta .home-code-label { color: #5a490d; }
.home-final-cta h2 { margin-bottom: 38px; color: #080a0c; font-size: clamp(65px, 10vw, 142px); line-height: .86; letter-spacing: -.065em; }
.home-final-cta > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.home-final-cta .button { min-height: 54px; padding: 0 26px; }

@media (max-width: 1050px) {
  .home-network, .home-honor-head, .home-field, .home-participate-head, .home-origin { grid-template-columns: 1fr; }
  .home-map-shell, .home-map-shell #honor-grid-mini-map { min-height: 560px; }
  .frontline-strip { grid-template-columns: repeat(2,1fr); }
  .participate-grid { grid-template-columns: 1fr; }
  .participate-grid > a { min-height: 300px; }
  .origin-images { min-height: 520px; }
}

@media (max-width: 700px) {
  .home-hero-copy { padding: 82px 6vw 74px; }
  .home-hero h1 { font-size: clamp(58px, 21vw, 94px); }
  .home-scroll-cue { display: none; }
  .home-hero-actions { flex-direction: column; align-items: stretch; }
  .home-hero-actions .button { width: 100%; }
  .home-network-copy, .home-honor, .home-field-copy, .home-frontline-groups, .home-participate, .home-origin-copy, .home-final-cta { padding-left: 6vw; padding-right: 6vw; }
  .home-map-shell, .home-map-shell #honor-grid-mini-map { min-height: 500px; }
  .initiative-row { grid-template-columns: 46px 1fr 34px; gap: 10px; }
  .initiative-row small { display: none; }
  .frontline-strip { grid-template-columns: 1fr; }
  .frontline-strip > div { min-height: 190px; }
  .origin-images { grid-template-columns: 1fr; min-height: 760px; }
  .home-final-cta > div, .home-field-actions { flex-direction: column; align-items: stretch; }
  .home-final-cta .button, .home-field-actions .button { width: 100%; }
}
