:root {
  --navy: #07182f;
  --navy-2: #0d2a4f;
  --ink: #10233f;
  --blue: #64d8f4;
  --blue-deep: #067fa8;
  --lime: #c8ff62;
  --coral: #ff806e;
  --amber: #ffc85c;
  --acid: #c8ff62;
  --sky: #64d8f4;
  --cream: #f6f4ed;
  --paper: #fffefa;
  --white: #fff;
  --line: rgba(16, 35, 63, .12);
  --muted: #5f6e81;
  --mono: 'DM Mono', monospace;
  --sans: 'Manrope', sans-serif;
  --radius: 26px;
  --radius-sm: 16px;
  --shadow: 0 22px 70px rgba(7, 24, 47, .12);
}

* { box-sizing: border-box }
html { scroll-behavior: smooth }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); -webkit-font-smoothing: antialiased }
a { color: inherit; text-decoration: none }
button { font: inherit }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0 }
.skip-link { position: fixed; left: 20px; top: -60px; background: var(--lime); color: var(--navy); z-index: 100; padding: 12px 18px; border-radius: 10px; font-weight: 800 }
.skip-link:focus { top: 16px }
.scroll-progress { position: fixed; left: 0; right: 0; top: 0; height: 4px; z-index: 90 }
.scroll-progress span { display: block; height: 100%; background: linear-gradient(90deg,var(--blue),var(--lime),var(--amber)); transform: scaleX(0); transform-origin: left }

.site-header { height: 88px; padding: 0 5vw; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 36px; position: absolute; top: 0; left: 0; right: 0; z-index: 20; color: white; border-bottom: 1px solid rgba(255,255,255,.12); transition: .25s }
.site-header.scrolled { position: fixed; height: 72px; background: rgba(7,24,47,.9); box-shadow: 0 12px 40px rgba(0,0,0,.14); backdrop-filter: blur(18px) }
.brand { display: flex; align-items: center; gap: 13px }
.brand-mark { display: flex; gap: 4px; height: 31px; align-items: center }
.brand-mark i { display: block; width: 9px; border-radius: 9px }
.brand-mark i:nth-child(1) { height: 26px; background: var(--blue) }
.brand-mark i:nth-child(2) { height: 31px; background: var(--amber) }
.brand-mark i:nth-child(3) { height: 23px; background: var(--coral) }
.brand b { display: block; font-size: 21px; line-height: 1; letter-spacing: .01em }
.brand small { display: block; margin-top: 6px; font: 600 8px/1 var(--mono); letter-spacing: .22em; text-transform: uppercase; color: rgba(255,255,255,.65) }
.site-header .official-logo { display: block; height: 56px; max-width: none; object-fit: contain; width: auto }
.desktop-nav { display: flex; justify-content: center; gap: 8px }
.desktop-nav a { font-size: 13px; font-weight: 750; color: rgba(255,255,255,.72); padding: 10px 13px; border-radius: 999px; transition: .2s }
.desktop-nav a:hover,.desktop-nav a.active { color: white; background: rgba(255,255,255,.1) }
.header-cta { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 12px 17px; font-size: 12px; font-weight: 800; transition: .2s }
.header-cta:hover { background: white; color: var(--navy) }
.header-cta span { color: var(--blue); margin-left: 8px }
.menu-toggle { display: none; background: none; border: 0; color: white; padding: 8px }
.menu-toggle span { display: block; width: 25px; height: 2px; background: currentColor; margin: 5px }
.mobile-menu { display: none }

.hero { min-height: 790px; background: radial-gradient(circle at 78% 22%,rgba(55,145,210,.32),transparent 31%), radial-gradient(circle at 10% 85%,rgba(106,216,244,.11),transparent 28%), linear-gradient(135deg,#07182f 0%,#09203e 52%,#0d2c54 100%); color: white; position: relative; overflow: hidden; padding: 148px 8vw 72px; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); grid-template-rows: 1fr auto; column-gap: 6vw; align-items: center }
.hero-grid { position: absolute; inset: 0; opacity: .42; background-image: radial-gradient(rgba(255,255,255,.18) .8px,transparent .8px); background-size: 23px 23px; mask-image: linear-gradient(115deg,black,transparent 63%) }
.hero:before { content: ''; position: absolute; width: 430px; height: 430px; border-radius: 50%; right: 3vw; top: 145px; background: linear-gradient(145deg,rgba(100,216,244,.12),rgba(200,255,98,.035)); filter: blur(1px) }
.hero:after { content: ''; position: absolute; width: 280px; height: 280px; border-radius: 50%; right: -70px; bottom: -80px; background: rgba(255,128,110,.09); filter: blur(2px) }
.hero-copy,.hero-dashboard,.hero-ticker { position: relative; z-index: 2 }
.eyebrow { display: flex; align-items: center; gap: 10px; width: fit-content; font: 600 10px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--blue); margin: 0 0 24px; padding: 9px 12px; border: 1px solid rgba(100,216,244,.28); background: rgba(100,216,244,.08); border-radius: 999px }
.eyebrow span { display: inline-block; width: 7px; height: 7px; background: currentColor; border-radius: 50%; box-shadow: 0 0 0 5px rgba(100,216,244,.1) }
.eyebrow.dark { color: var(--blue-deep); background: rgba(100,216,244,.12); border-color: rgba(6,127,168,.12) }
.hero h1 { font-size: clamp(54px,5.6vw,86px); line-height: .97; letter-spacing: -.06em; margin: 0; max-width: 760px }
.hero h1 em { font-style: normal; background: linear-gradient(90deg,var(--blue),#a9edff); -webkit-background-clip: text; color: transparent }
.lede { font-size: 18px; line-height: 1.65; color: rgba(255,255,255,.76); max-width: 640px; margin: 29px 0 }
.hero-actions,.final-actions { display: flex; align-items: center; gap: 14px }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 26px; padding: 16px 21px; border-radius: 13px; font-size: 13px; font-weight: 850; transition: .2s }
.button-primary { background: var(--lime); color: var(--navy); box-shadow: 0 13px 35px rgba(200,255,98,.16) }
.button-primary:hover { transform: translateY(-3px); background: #d7ff8e; box-shadow: 0 17px 42px rgba(200,255,98,.24) }
.button-ghost { border: 1px solid rgba(255,255,255,.24); color: white; background: rgba(255,255,255,.055) }
.button-ghost:hover { border-color: var(--blue); background: rgba(100,216,244,.1); transform: translateY(-2px) }
.audience-strip { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 34px }
.audience-strip span { font: 600 9px/1 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.42); margin-right: 4px }
.audience-strip b { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 20px; padding: 8px 11px; font-size: 10px; color: rgba(255,255,255,.76) }

.hero-dashboard { background: rgba(255,255,255,.965); color: var(--ink); border: 1px solid rgba(255,255,255,.6); border-radius: 26px; box-shadow: 0 35px 90px rgba(0,0,0,.28); overflow: hidden; transform: rotate(1deg) }
.dash-head { display: flex; justify-content: space-between; align-items: center; padding: 21px 23px; border-bottom: 1px solid var(--line); background: #f9fbfc }
.dash-head span { font: 650 9px/1 var(--mono); letter-spacing: .18em; color: var(--blue-deep) }
.dash-head b { font-size: 12px }
.dash-row { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; padding: 18px 22px; border-bottom: 1px solid var(--line); transition: .2s }
.dash-row:hover { background: #f4f9fb; padding-left: 26px }
.dash-icon { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 14px; font: 700 11px/1 var(--mono) }
.dash-icon.blue { color: #047da6; background: #dff7fe }
.dash-icon.lime { color: #4f7700; background: #edffd0 }
.dash-icon.coral { color: #b23827; background: #ffe8e4 }
.dash-row b,.dash-row small { display: block }
.dash-row b { font-size: 14px }
.dash-row small { font-size: 11px; color: var(--muted); margin-top: 5px }
.dash-row i { font-style: normal; color: var(--blue-deep); width: 31px; height: 31px; display: grid; place-items: center; background: #edf7fa; border-radius: 50% }
.dash-status { display: grid; grid-template-columns: 9px auto 1fr; gap: 9px; align-items: center; padding: 16px 22px; font: 600 9px/1 var(--mono); letter-spacing: .07em; background: #f8faf8 }
.dash-status span { width: 8px; height: 8px; background: #78b800; border-radius: 50%; box-shadow: 0 0 0 5px rgba(120,184,0,.1) }
.dash-status b { color: #507a00 }
.dash-status small { text-align: right; color: #8b96a3 }
.hero-ticker { grid-column: 1/-1; margin-top: 55px; border: 1px solid rgba(255,255,255,.12); border-radius: 15px; background: rgba(255,255,255,.045); padding: 18px 23px; display: flex; justify-content: space-between; align-items: center; color: rgba(255,255,255,.76); font-size: 12px; backdrop-filter: blur(8px) }
.hero-ticker span { display: flex; gap: 9px; align-items: center }
.hero-ticker b { font: 650 9px/1 var(--mono); color: var(--blue); background: rgba(100,216,244,.1); border-radius: 999px; padding: 6px 7px }
.hero-ticker i { font-style: normal; color: rgba(255,255,255,.23) }

.section { padding: 108px 8vw }
.section-heading { margin-bottom: 46px }
.section-heading.split { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 80px }
.section-heading h2,.community h2,.library h2 { font-size: clamp(42px,4.4vw,66px); line-height: 1; letter-spacing: -.055em; margin: 0 }
.section-heading>p,.section-heading.split>p,.community-copy>p,.library-intro>p { font-size: 16px; line-height: 1.7; color: var(--muted); margin: 0 }
.section-heading.split>p { max-width: 480px; padding-bottom: 4px }

.now { background: linear-gradient(180deg,#fbfaf6 0%,#f2f7f6 100%) }
.feature-grid { display: grid; grid-template-columns: 1.35fr .82fr .82fr; gap: 18px }
.feature-card { min-height: 340px; background: var(--paper); border: 1px solid rgba(16,35,63,.08); border-radius: var(--radius); padding: 29px; display: flex; flex-direction: column; position: relative; overflow: hidden; box-shadow: 0 10px 35px rgba(7,24,47,.055); transition: .25s }
.feature-card:nth-child(2) { background: #fff4df }
.feature-card:nth-child(3) { background: #e9f8f4 }
.feature-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); border-color: rgba(16,35,63,.13) }
.feature-lead { background: linear-gradient(145deg,#0b2b51,#0d3861); color: white }
.feature-lead:before { content: ''; position: absolute; width: 220px; height: 220px; border-radius: 50%; right: -55px; top: -55px; background: rgba(100,216,244,.1); box-shadow: 0 0 0 35px rgba(100,216,244,.035) }
.card-kicker { position: relative; font: 650 9px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-deep) }
.feature-lead .card-kicker { color: var(--blue) }
.card-kicker i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); margin-right: 8px; box-shadow: 0 0 0 5px rgba(200,255,98,.09) }
.feature-card h3 { position: relative; font-size: clamp(24px,2.3vw,36px); line-height: 1.08; letter-spacing: -.04em; margin: 28px 0 14px; max-width: 490px }
.feature-card p { position: relative; font-size: 14px; line-height: 1.65; color: var(--muted); max-width: 480px; margin: 0 }
.feature-lead p { color: rgba(255,255,255,.68) }
.card-link { position: relative; margin-top: auto; padding-top: 28px; font-size: 12px; font-weight: 850 }
.card-link b { color: var(--blue-deep); margin-left: 10px }
.feature-lead .card-link b { color: var(--lime) }
.code-decoration { position: absolute; right: -8px; bottom: 20px; transform: rotate(-5deg); font: 600 12px/1.8 var(--mono); color: rgba(100,216,244,.26); border: 1px solid rgba(100,216,244,.15); border-radius: 17px; padding: 22px 30px; background: rgba(0,0,0,.08) }
.code-decoration span { color: rgba(200,255,98,.5) }
.inline-link { display: inline-flex; gap: 14px; align-items: center; margin-top: 28px; font-size: 13px; font-weight: 850; border-bottom: 1px solid rgba(16,35,63,.22); padding-bottom: 7px }
.inline-link span { color: var(--blue-deep) }

.pathways { background: var(--cream) }
.path-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px }
.path-card { padding: 34px; min-height: 400px; background: var(--paper); border: 1px solid rgba(16,35,63,.08); border-radius: var(--radius); display: flex; flex-direction: column; box-shadow: 0 12px 35px rgba(7,24,47,.055); transition: .25s }
.path-card:hover { transform: translateY(-5px); box-shadow: var(--shadow) }
.path-card.featured { background: linear-gradient(160deg,#dff7f1,#eefbdc); border-color: rgba(6,127,168,.12) }
.path-top { display: flex; justify-content: space-between; align-items: center }
.path-top span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #e5f8fd; font: 700 12px/1 var(--mono); color: var(--blue-deep) }
.path-card.featured .path-top span { background: rgba(255,255,255,.62) }
.path-top i { font: 650 9px/1 var(--mono); letter-spacing: .14em; font-style: normal; color: #718092 }
.path-card h3 { font-size: 42px; letter-spacing: -.05em; margin: 38px 0 15px }
.path-card>p { font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0 0 32px }
.path-card ul { list-style: none; margin: auto 0 0; padding: 0; border-top: 1px solid var(--line) }
.path-card li { border-bottom: 1px solid var(--line) }
.path-card li a { display: flex; justify-content: space-between; padding: 14px 0; font-size: 12px; font-weight: 850 }
.path-card li span { color: var(--blue-deep) }
.path-card li a:hover { color: var(--blue-deep) }

.library { background: radial-gradient(circle at 95% 10%,rgba(100,216,244,.13),transparent 27%),linear-gradient(145deg,#07182f,#0b2b50); color: white; display: grid; grid-template-columns: .78fr 1.22fr; gap: 8vw; align-items: start }
.library h2 em { color: var(--blue); font-style: normal }
.library-intro>p { color: rgba(255,255,255,.64); margin: 25px 0 30px; max-width: 470px }
.button-light { background: white; color: var(--navy); box-shadow: 0 12px 32px rgba(0,0,0,.13) }
.button-light:hover { transform: translateY(-2px); background: var(--lime) }
.resource-list { display: grid; gap: 12px }
.resource-row { display: grid; grid-template-columns: 45px 1fr 1.15fr 30px; gap: 18px; align-items: center; padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 17px; background: rgba(255,255,255,.055); transition: .2s }
.resource-row:hover { transform: translateX(7px); background: rgba(255,255,255,.1); border-color: rgba(100,216,244,.3) }
.resource-number { width: 34px; height: 34px; display: grid; place-items: center; background: rgba(100,216,244,.12); border-radius: 10px; font: 650 10px/1 var(--mono); color: var(--blue) }
.resource-row small { display: block; font: 650 8px/1 var(--mono); letter-spacing: .13em; text-transform: uppercase; color: rgba(255,255,255,.43); margin-bottom: 8px }
.resource-row h3 { font-size: 21px; margin: 0 }
.resource-row p { font-size: 12px; color: rgba(255,255,255,.55); margin: 0 }
.resource-row>b { color: var(--lime); width: 27px; height: 27px; display: grid; place-items: center; border-radius: 50%; background: rgba(200,255,98,.08) }

.community { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; align-items: center; background: linear-gradient(180deg,#f6f4ed,#fffaf1) }
.community-copy>p { margin: 26px 0 0; max-width: 590px }
.people-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px }
.people-grid a { min-height: 150px; padding: 23px; display: grid; grid-template-columns: 46px 1fr auto; gap: 13px; align-items: center; border: 1px solid rgba(16,35,63,.08); border-radius: 19px; background: rgba(255,255,255,.72); box-shadow: 0 9px 28px rgba(7,24,47,.055); transition: .2s }
.people-grid a:nth-child(2) span { background: #fff0d3; color: #9b6500 }
.people-grid a:nth-child(3) span { background: #ffe7e3; color: #b43b2a }
.people-grid a:nth-child(4) span { background: #e8f8df; color: #4d7900 }
.people-grid a:hover { background: white; transform: translateY(-4px); box-shadow: var(--shadow) }
.people-grid span { width: 44px; height: 44px; display: grid; place-items: center; background: #dcf6fd; color: var(--blue-deep); border-radius: 14px; font: 700 10px/1 var(--mono) }
.people-grid b,.people-grid small { display: block }
.people-grid b { font-size: 14px }
.people-grid small { font-size: 10px; color: var(--muted); margin-top: 6px }
.people-grid i { font-style: normal; color: var(--blue-deep) }

.final-cta { padding: 62px 8vw; background: linear-gradient(100deg,#0d3158,#124776); color: white; display: flex; justify-content: space-between; align-items: center; gap: 40px; position: relative; overflow: hidden }
.final-cta:after { content: ''; position: absolute; width: 250px; height: 250px; border-radius: 50%; right: 30%; top: -160px; background: rgba(100,216,244,.1) }
.final-cta .eyebrow { margin-bottom: 13px }
.final-cta h2 { font-size: clamp(30px,3vw,45px); letter-spacing: -.04em; margin: 0 }
.final-actions { position: relative; z-index: 1 }
.final-actions>a:not(.button) { font-size: 12px; font-weight: 850; color: rgba(255,255,255,.78) }
.final-actions>a:not(.button) span { color: var(--blue); margin-left: 8px }

footer { background: #041225; color: white; padding: 64px 8vw; display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 7vw; border-top: 1px solid rgba(255,255,255,.08) }
footer .footer-brand p { font-size: 12px; line-height: 1.6; color: rgba(255,255,255,.48); max-width: 330px; margin-top: 22px }
.footer-brand .official-logo { display: block; height: 68px; max-width: none; object-fit: contain; width: auto }
footer h3 { font: 650 9px/1 var(--mono); letter-spacing: .18em; text-transform: uppercase; color: var(--blue); margin: 0 0 20px }
footer>div>a,footer>nav>a { display: block; width: fit-content; font-size: 12px; color: rgba(255,255,255,.7); margin: 0 0 12px }
footer>div>a:hover,footer>nav>a:hover { color: white }
footer>div>p { font-size: 10px; color: rgba(255,255,255,.38); margin-top: 24px }
.footer-social { display: flex; gap: 7px; margin-top: 17px }
.footer-social a { width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; display: grid; place-items: center; font: 650 8px/1 var(--mono); color: rgba(255,255,255,.62); transition: .2s }
.footer-social a:hover { background: var(--blue); color: var(--navy); border-color: var(--blue) }

/* Reliable navigation toggle across the homepage and every interior page.
   Explicit dimensions and !important protect the bars from Divi button styles. */
.menu-toggle {
  align-items: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  flex: 0 0 46px;
  flex-direction: column;
  gap: 5px;
  height: 46px;
  justify-content: center;
  padding: 0;
  transition: background .2s ease,border-color .2s ease,transform .2s ease;
  width: 46px;
}
.menu-toggle:hover { background: rgba(255,255,255,.13); border-color: rgba(255,255,255,.42); transform: translateY(-1px) }
.menu-toggle:focus-visible { outline: 3px solid var(--lime); outline-offset: 3px }
.menu-toggle span,
.icpc-subpage .menu-toggle span {
  background: #fff !important;
  border: 0 !important;
  border-radius: 2px;
  display: block !important;
  flex: 0 0 2px !important;
  height: 2px !important;
  margin: 0 !important;
  min-height: 2px !important;
  opacity: 1;
  padding: 0 !important;
  transform-origin: center;
  transition: transform .2s ease,opacity .2s ease;
  width: 19px !important;
}
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(7px) rotate(45deg) }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0 }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg) }

.icpc-home .site-header { grid-template-columns: auto auto 1fr auto }
.icpc-home .menu-toggle { display: flex !important }
.icpc-home .mobile-menu {
  background: rgba(7,24,47,.98);
  border-top: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 55px rgba(0,0,0,.24);
  display: grid;
  gap: 0 30px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  left: 0;
  opacity: 0;
  padding: 24px 5vw 30px;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 100%;
  transform: scaleY(0);
  transform-origin: top;
  transition: opacity .2s ease,transform .22s ease,visibility .22s ease;
  visibility: hidden;
}
.icpc-home .mobile-menu a { border-bottom: 1px solid rgba(255,255,255,.11); color: rgba(255,255,255,.8); font-size: 14px; font-weight: 700; padding: 15px 2px }
.icpc-home .mobile-menu a:hover { color: var(--lime) }
.mobile-menu a[aria-current="page"] { color: var(--lime); font-weight: 850 }
.icpc-home .mobile-menu.open { opacity: 1; pointer-events: auto; transform: scaleY(1); visibility: visible }

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s ease,transform .7s ease }
.reveal[data-delay="1"] { transition-delay: .1s }
.reveal[data-delay="2"] { transition-delay: .2s }
.reveal[data-delay="3"] { transition-delay: .3s }
.reveal.visible,.static .reveal { opacity: 1; transform: none }

@media(max-width:1050px) {
  .desktop-nav { display: none }
  .site-header { grid-template-columns: auto 1fr auto }
  .menu-toggle { display: flex }
  .icpc-home .mobile-menu { grid-template-columns: 1fr 1fr }
  .hero { grid-template-columns: 1fr 420px; gap: 42px; padding-left: 6vw; padding-right: 6vw }
  .feature-grid { grid-template-columns: 1.3fr 1fr }
  .feature-card:last-child { grid-column: 2 }
  .feature-lead { grid-row: span 2 }
  .section { padding-left: 6vw; padding-right: 6vw }
  .community { gap: 5vw }
  .people-grid { grid-template-columns: 1fr }
}

@media(max-width:760px) {
  .site-header { height: 72px; padding: 0 20px }
  .site-header .official-logo { height: 50px }
  .icpc-home .site-header { gap: 12px; grid-template-columns: auto 1fr }
  .site-header .header-cta { display: none }
  .mobile-menu { top: 72px }
  .icpc-home .mobile-menu { grid-template-columns: 1fr; max-height: calc(100vh - 72px); overflow: auto; padding: 16px 22px 24px; top: 100% }
  .hero { min-height: auto; padding: 115px 22px 42px; display: block }
  .hero:before,.hero:after { display: none }
  .hero h1 { font-size: 50px }
  .lede { font-size: 16px }
  .hero-dashboard { margin-top: 43px; transform: none; border-radius: 20px }
  .dash-status small { display: none }
  .hero-ticker { margin-top: 35px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px }
  .hero-ticker i { display: none }
  .section { padding: 76px 22px }
  .section-heading.split { display: block }
  .section-heading.split>p { margin-top: 22px }
  .feature-grid,.path-grid,.library,.community { display: block }
  .feature-card { min-height: 300px; margin-bottom: 14px; border-radius: 21px }
  .feature-lead { min-height: 380px }
  .path-card { min-height: 340px; margin-bottom: 13px; border-radius: 21px }
  .library-intro { margin-bottom: 50px }
  .resource-row { grid-template-columns: 38px 1fr 26px; padding: 18px 15px }
  .resource-row p { display: none }
  .people-grid { margin-top: 46px }
  .people-grid a { min-height: 120px }
  .final-cta { display: block; padding: 48px 22px }
  .final-actions { margin-top: 28px; align-items: flex-start; flex-direction: column }
  footer { grid-template-columns: 1fr 1fr; padding: 55px 22px; gap: 44px 25px }
  .footer-brand { grid-column: 1/-1 }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto }
  .reveal { opacity: 1; transform: none; transition: none }
  .button,.feature-card,.dash-row,.path-card,.people-grid a,.resource-row { transition: none }
}
