/* v28 visual-platform integration */
.v28-visual-strip{background:#fff;border-top:1px solid var(--v27-line);border-bottom:1px solid var(--v27-line)}
.v28-art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.v28-art-grid.two{grid-template-columns:repeat(2,1fr)}
.v28-campaign-art{margin:0;overflow:hidden;border-radius:24px;background:#fff;border:1px solid var(--v27-line);box-shadow:var(--v27-shadow-sm)}
.v28-campaign-art img{display:block;width:100%;height:auto}
.v28-campaign-art.banner img{aspect-ratio:16/9;object-fit:cover}
.v28-campaign-art.poster{max-width:760px;margin-inline:auto}
.v28-campaign-art.poster img{aspect-ratio:auto;object-fit:contain;background:#f5f8fb}
.v28-visual-caption{font-size:.78rem;color:var(--v27-muted);margin-top:.6rem}
.v28-visual-guide-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.v28-visual-guide-intro .v28-campaign-art{max-width:760px}
.v28-topic-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1.1rem}
.v28-topic-card{background:#fff;border:1px solid var(--v27-line);border-radius:24px;overflow:hidden;box-shadow:var(--v27-shadow-sm)}
.v28-topic-card .copy{padding:1.1rem 1.2rem 1.25rem}.v28-topic-card h3{margin:.15rem 0 .45rem;font-size:1.25rem}.v28-topic-card p{color:var(--v27-muted);font-size:.9rem;margin:0}.v28-topic-card .meta{color:var(--v27-green-dark);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:950;margin-bottom:.4rem}
.v28-topic-card picture,.v28-topic-card img{display:block;width:100%}.v28-topic-card.landscape img{aspect-ratio:16/9;object-fit:cover}.v28-topic-card.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center top}
.v28-diagram-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.v28-diagram-row .v28-campaign-art img{aspect-ratio:auto;object-fit:contain}
.v28-page-art{margin-top:1.6rem}.v28-page-art .v28-art-grid{align-items:start}
.v28-cta-art{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:center}.v28-cta-art .copy{padding:1rem}
@media(max-width:900px){.v28-art-grid,.v28-art-grid.two,.v28-topic-gallery,.v28-diagram-row,.v28-visual-guide-intro,.v28-cta-art{grid-template-columns:1fr}.v28-campaign-art.poster{max-width:620px}}


/* v28.1 — accessible high-contrast light page heroes */
.page-hero{
  background:linear-gradient(135deg,#f7fafc 0%,#edf5f0 100%);
  color:#071a3d;
  border-bottom:1px solid #d7e1e8;
}
.page-hero h1,
.page-hero h2,
.page-hero h3{
  color:#071a3d;
  text-shadow:none;
}
.page-hero .lede,
.page-hero p{
  color:#2d435b;
}
.page-hero .crumbs{
  color:#52677d;
}
.page-hero .crumbs a{
  color:#294b70;
  text-decoration-color:#8ca7c2;
}
.page-hero .crumbs a:hover{
  color:#071a3d;
  text-decoration-color:#216f2c;
}
.page-hero .eyebrow{
  color:#216f2c;
}
.page-hero .hero-refrain,
.page-hero .hero-refrain.dark-text{
  color:#185d28;
}
.page-hero a:not(.btn){
  color:#23496f;
}
.page-hero strong{
  color:#071a3d;
}

/* Preserve clear contrast if a page uses the standard pale visual treatment. */
.page-hero .status-chip,
.page-hero .tag,
.page-hero .pill{
  color:#071a3d;
}

/* v28.2 — unified campaign narrative and connection system */
.final-home-hero{background:linear-gradient(135deg,#f8fbfd 0%,#eef6f1 100%);color:#071a3d;border-bottom:1px solid #d7e1e8}
.final-home-hero .hero-kicker{color:#216f2c}
.final-home-hero h1{color:#071a3d;text-shadow:none;letter-spacing:-.045em}
.final-home-hero .hero-refrain{color:#12355f;font-size:clamp(1.15rem,2.1vw,1.55rem);line-height:1.35}
.final-home-hero .hero-support{color:#263f59;font-size:clamp(1.05rem,1.8vw,1.28rem);line-height:1.55;max-width:760px}
.final-home-hero .hero-text-link{color:#0a335f;font-weight:850}
.hero-promise-line{display:flex;flex-wrap:wrap;gap:.5rem .7rem;margin:1.25rem 0 1.35rem}
.hero-promise-line span{display:inline-flex;align-items:center;min-height:34px;padding:.45rem .72rem;border:1px solid #cfdbe4;border-radius:999px;background:#fff;color:#071a3d;font-size:.78rem;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.home-life-first .resident-result,.home-gigacity-summary .resident-result,.world-learns-closing .resident-result{border-left:4px solid #6cc623;padding-left:1rem;color:#102d4b}
.robot-manifesto-section{background:#071a3d;color:#fff}
.robot-manifesto{max-width:1080px;text-align:center;padding-block:clamp(1rem,2vw,2rem)}
.robot-manifesto .eyebrow{color:#a9efa5}
.robot-line{margin:.45rem auto;color:#dce8f2;font-size:clamp(1rem,2.2vw,1.35rem);font-weight:750}
.robot-manifesto h2{max-width:1000px;margin:1.1rem auto 1rem;color:#fff;font-size:clamp(2rem,4.6vw,4.2rem);line-height:1.02;letter-spacing:-.045em}
.robot-explainer{max-width:850px;margin:0 auto;color:#e5edf4;font-size:clamp(1.05rem,1.8vw,1.25rem);line-height:1.62}
.centered-actions{justify-content:center}
.signature-ideas-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-top:1.5rem}
.signature-ideas-grid article{display:flex;flex-direction:column;min-height:100%;padding:1.25rem;border:1px solid #d7e1e8;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(9,31,58,.06)}
.signature-ideas-grid article>span{color:#216f2c;font-size:.75rem;font-weight:950;letter-spacing:.09em}
.signature-ideas-grid h3{margin:.45rem 0 .55rem;color:#071a3d;font-size:1.25rem}
.signature-ideas-grid p{color:#3c5268;font-size:.94rem;line-height:1.5;flex:1}
.signature-ideas-grid a{color:#0b4b83;font-weight:850;text-decoration:none}
.signature-ideas-grid a:hover{text-decoration:underline}
.first-term-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.first-term-outcomes article{padding:1.2rem 1.25rem;border:1px solid #d7e1e8;border-radius:20px;background:#fff}
.first-term-outcomes strong{display:block;color:#071a3d;font-size:1.08rem;margin-bottom:.35rem}
.first-term-outcomes span{color:#42586d;line-height:1.48}
.vision-chain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.4rem}
.vision-chain-grid article{position:relative;padding:1.25rem 1.25rem 1.3rem;border:1px solid #cedce5;border-radius:22px;background:#fff}
.vision-chain-grid article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e8f6df;color:#185d28;font-weight:950;margin-bottom:.6rem}
.vision-chain-grid h3{margin:0 0 .35rem;color:#071a3d;font-size:1.08rem}
.vision-chain-grid p{margin:0;color:#42586d;line-height:1.5}
.plan-equation{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem;margin-top:1.35rem;padding:1rem 1.2rem;border-radius:18px;background:#071a3d;color:#fff;text-align:center}
.plan-equation strong{color:#fff}.plan-equation b{color:#89df4f}
.serious-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;margin-top:1.4rem}
.serious-grid article{padding:1rem;border:1px solid #d7e1e8;border-radius:18px;background:#fff}
.serious-grid strong{display:block;color:#071a3d;font-size:1rem;margin-bottom:.3rem}
.serious-grid span{color:#42586d;font-size:.9rem;line-height:1.45}
.closing-mantra{display:grid;gap:.25rem;margin:1rem 0 1.2rem}
.closing-mantra strong{color:#071a3d;font-size:clamp(1.25rem,2.2vw,1.85rem);line-height:1.15}
.north-star-panel{padding:clamp(1.5rem,3vw,2.5rem);border:1px solid #d5e1e8;border-radius:28px;background:linear-gradient(135deg,#f9fcfd,#eef7ef)}
.north-star-panel h2{color:#071a3d}
.big-idea-map{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;margin-top:1.4rem}
.big-idea-map article{padding:1rem;border-radius:18px;background:#fff;border:1px solid #d7e1e8}
.big-idea-map strong{display:block;color:#071a3d;margin-bottom:.4rem}
.big-idea-map span{color:#42586d;font-size:.88rem;line-height:1.45}
.idea-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1.4rem}
.idea-detail-grid article{padding:1.25rem 1.3rem;border:1px solid #d7e1e8;border-radius:22px;background:#fff}
.idea-detail-grid article>span{color:#216f2c;font-size:.72rem;font-weight:950;letter-spacing:.08em}
.idea-detail-grid h3{margin:.38rem 0 .55rem;color:#071a3d;font-size:1.2rem}
.idea-detail-grid p{color:#3d5369;line-height:1.55}
.idea-detail-grid a{color:#0b4b83;font-weight:850;text-decoration:none}
.idea-detail-grid a:hover{text-decoration:underline}
.connection-ribbon{background:#071a3d;color:#fff;border-bottom:1px solid #16345a}
.connection-ribbon .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.72rem;padding-bottom:.72rem}
.connection-ribbon p{margin:0;color:#dfeaf3;font-size:.9rem;line-height:1.4}
.connection-ribbon strong{color:#fff}
.connection-ribbon a{color:#a9efa5;font-weight:850;white-space:nowrap}
@media(max-width:1100px){.signature-ideas-grid{grid-template-columns:repeat(3,1fr)}.big-idea-map{grid-template-columns:repeat(3,1fr)}.serious-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.signature-ideas-grid,.first-term-outcomes,.vision-chain-grid,.big-idea-map,.idea-detail-grid,.serious-grid{grid-template-columns:1fr}.connection-ribbon .container{align-items:flex-start;flex-direction:column}.hero-promise-line{gap:.4rem}.robot-manifesto h2{font-size:clamp(1.9rem,9vw,3rem)}}
