:root {
  --v31-navy: #061a2c;
  --v31-blue: #428ca6;
  --v31-teal: #0d7377;
  --v31-pale: #f3f7f8;
  --v31-line: rgba(6, 26, 44, .12);
  --v31-muted: #607684;
}

.v31-hero {
  overflow: hidden;
  padding: clamp(68px, 8vw, 112px) 0 clamp(84px, 9vw, 132px);
  background: #f9faff;
}

.v31-hero-inner { display: grid; justify-items: center; }
.v31-hero-heading { width: min(100%, 1080px); text-align: center; }
.v31-hero-heading .eyebrow { display: inline-flex; padding: 8px 13px; border: 1px solid rgba(13, 115, 119, .2); border-radius: 999px; background: #fff; }
.v31-hero-heading h1 { max-width: 1040px; margin: 0 auto; color: var(--v31-navy); font-size: clamp(50px, 6.2vw, 90px); line-height: .98; letter-spacing: -.065em; }
.v31-hero-visual { position: relative; width: min(100%, 1120px); margin-top: clamp(38px, 5vw, 62px); overflow: hidden; border: 1px solid rgba(66, 140, 166, .14); border-radius: 30px; background: #fff; box-shadow: 0 28px 80px rgba(31, 68, 91, .13); }
.v31-hero-visual > img { width: 100%; height: auto; object-fit: contain; }
.v31-hero-copy { width: min(100%, 800px); margin-top: 36px; text-align: center; }
.v31-hero-copy > p { margin-bottom: 26px; color: #405a6b; font-size: clamp(17px, 1.7vw, 21px); line-height: 1.65; }
.v31-hero-actions { justify-content: center; }
.v31-hero-actions .button-outline { background: #fff; }

.v31-section { padding: clamp(86px, 10vw, 144px) 0; }
.v31-section-heading { max-width: 1030px; margin: 0 auto 54px; text-align: center; }
.v31-section-heading h2 { margin-bottom: 0; color: var(--v31-navy); }
.v31-centered-heading { max-width: 850px; margin: 0 auto 50px; text-align: center; }
.v31-centered-heading h2 { margin-bottom: 18px; }
.v31-centered-heading > p:not(.eyebrow) { max-width: 720px; margin: 0 auto; font-size: 17px; line-height: 1.7; }

.v31-future { background: #fff; }
.v31-story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.v31-story-card { overflow: hidden; border: 1px solid var(--v31-line); border-radius: 28px; background: #fff; box-shadow: 0 18px 56px rgba(6, 26, 44, .08); }
.v31-story-image { height: clamp(380px, 38vw, 530px); overflow: hidden; background: #f2f7f7; }
.v31-story-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.v31-story-card:hover .v31-story-image img { transform: scale(1.025); }
.v31-story-copy { padding: 28px 30px 32px; }
.v31-story-copy h3 { max-width: 560px; margin-bottom: 12px; color: var(--v31-navy); font-size: clamp(27px, 2.6vw, 38px); }
.v31-story-copy p { max-width: 600px; margin-bottom: 0; font-size: 15px; line-height: 1.65; }
.v31-commercial-cta { min-height: 144px; display: flex; align-items: center; justify-content: space-between; gap: 34px; margin-top: 24px; padding: 28px 34px; border: 1px solid rgba(13, 115, 119, .18); border-radius: 24px; background: #edf7f6; }
.v31-commercial-cta span { display: block; margin-bottom: 7px; color: var(--v31-teal); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v31-commercial-cta h3 { max-width: 720px; margin: 0; font-size: clamp(25px, 2.5vw, 36px); }
.v31-commercial-cta .button { flex: 0 0 auto; }

.v31-programs { background: var(--v31-pale); }
.v31-quiz-card { display: grid; grid-template-columns: minmax(320px, .86fr) minmax(0, 1.14fr); overflow: hidden; margin-bottom: 22px; border: 1px solid rgba(13, 115, 119, .18); border-radius: 28px; color: inherit; background: #fff; box-shadow: 0 20px 62px rgba(6, 26, 44, .09); text-decoration: none; }
.v31-quiz-image { min-height: 330px; overflow: hidden; }
.v31-quiz-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.v31-quiz-card:hover .v31-quiz-image img { transform: scale(1.035); }
.v31-quiz-copy { display: grid; align-content: center; padding: clamp(32px, 5vw, 62px); }
.v31-quiz-copy > span { margin-bottom: 12px; color: var(--v31-teal); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v31-quiz-copy h3 { margin-bottom: 14px; color: var(--v31-navy); font-size: clamp(31px, 3.5vw, 50px); }
.v31-quiz-copy p { max-width: 620px; margin-bottom: 22px; font-size: 15px; line-height: 1.65; }
.v31-quiz-copy strong { width: max-content; display: inline-flex; align-items: center; gap: 10px; padding-bottom: 5px; border-bottom: 1px solid rgba(13, 115, 119, .35); color: var(--v31-navy); font-size: 14px; }
.v31-quiz-copy strong b { color: var(--v31-teal); font-size: 18px; transition: transform .2s ease; }
.v31-quiz-card:hover .v31-quiz-copy strong b { transform: translateX(4px); }
.v31-program-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.v31-program-card { overflow: hidden; border: 1px solid var(--v31-line); border-radius: 27px; color: inherit; background: #fff; box-shadow: 0 16px 48px rgba(6, 26, 44, .07); text-decoration: none; }
.v31-program-image { height: 350px; overflow: hidden; background: #eaf2f2; }
.v31-program-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.v31-program-card:hover .v31-program-image img { transform: scale(1.045); }
.v31-program-copy { padding: 29px 30px 32px; }
.v31-program-copy small { display: block; margin-bottom: 10px; color: var(--v31-teal); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v31-program-copy h3 { margin-bottom: 11px; color: var(--v31-navy); font-size: clamp(28px, 2.8vw, 39px); }
.v31-program-copy p { min-height: 72px; margin-bottom: 20px; font-size: 14px; line-height: 1.65; }
.v31-program-copy > span { display: inline-flex; align-items: center; gap: 9px; color: var(--v31-navy); font-size: 13px; font-weight: 850; }
.v31-program-copy > span b { color: var(--v31-teal); font-size: 17px; transition: transform .2s ease; }
.v31-program-card:hover .v31-program-copy > span b { transform: translateX(4px); }

.v31-science { background: #fff; }
.v31-science-heading { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); align-items: end; gap: clamp(42px, 7vw, 90px); margin-bottom: 54px; }
.v31-science-heading h2 { max-width: 760px; margin-bottom: 0; }
.v31-science-heading > div:last-child > p { margin-bottom: 22px; font-size: 16px; line-height: 1.72; }
.v31-science-actions { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.v31-science-actions a { color: var(--v31-navy); font-size: 13px; font-weight: 850; text-decoration: none; }
.v31-science-actions a span { color: var(--v31-teal); }
.v31-science-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); gap: 22px; align-items: stretch; }
.v31-science-image { min-height: 680px; overflow: hidden; border-radius: 28px; background: #eaf3f4; box-shadow: 0 20px 58px rgba(6, 26, 44, .09); }
.v31-science-image img { width: 100%; height: 100%; object-fit: cover; }
.v31-evidence-list { display: grid; margin: 0; padding: 0; border-top: 1px solid var(--v31-line); list-style: none; }
.v31-evidence-list li { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 22px; min-height: 104px; padding: 18px 4px; border-bottom: 1px solid var(--v31-line); }
.v31-evidence-list li > strong { color: var(--v31-teal); font-size: clamp(28px, 3.2vw, 46px); line-height: 1; letter-spacing: -.05em; }
.v31-evidence-list li > span { color: var(--v31-muted); font-size: 14px; line-height: 1.55; }
.v31-evidence-list li > span b { color: var(--v31-navy); }
.v31-evidence-list a { color: var(--v31-teal); font-weight: 750; text-underline-offset: 3px; }
.v31-proof-line { max-width: 920px; margin: 64px auto 0; color: var(--v31-navy); font-size: clamp(34px, 5vw, 68px); font-weight: 800; line-height: 1.05; letter-spacing: -.05em; text-align: center; text-wrap: balance; }

.v31-media { background: #f5f7f8; }
.v31-media-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr); gap: 20px; }
.v31-media-feature, .v31-media-card { overflow: hidden; border: 1px solid var(--v31-line); border-radius: 25px; color: inherit; background: #fff; box-shadow: 0 16px 46px rgba(6, 26, 44, .07); text-decoration: none; }
.v31-media-feature > img { width: 100%; height: 500px; object-fit: cover; transition: transform .7s ease; }
.v31-media-feature:hover > img { transform: scale(1.025); }
.v31-media-copy { padding: 28px 30px 32px; }
.v31-media-copy > span, .v31-media-card span { display: block; margin-bottom: 8px; color: var(--v31-teal); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.v31-media-copy h3 { margin-bottom: 9px; font-size: clamp(29px, 3vw, 42px); }
.v31-media-copy p { margin-bottom: 16px; }
.v31-media-copy strong, .v31-media-card strong { color: var(--v31-navy); font-size: 12px; }
.v31-media-copy strong b { color: var(--v31-teal); }
.v31-media-side { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.v31-media-card img { width: 100%; height: 170px; object-fit: cover; transition: transform .7s ease; }
.v31-media-card:hover img { transform: scale(1.04); }
.v31-media-card > div { padding: 18px 18px 20px; }
.v31-media-card h3 { min-height: 57px; margin-bottom: 13px; font-size: 19px; line-height: 1.15; }

.v31-final-cta { padding: clamp(80px, 9vw, 124px) 0; color: #fff; background: var(--v31-navy); }
.v31-final-heading { max-width: 850px; margin-bottom: 46px; }
.v31-final-heading h2 { margin-bottom: 0; color: #fff; }
.v31-final-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.v31-final-links a { min-height: 210px; display: grid; align-content: space-between; padding: 25px; border: 1px solid rgba(255, 255, 255, .17); border-radius: 22px; color: #fff; background: rgba(255, 255, 255, .05); text-decoration: none; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.v31-final-links a:hover { border-color: rgba(116, 232, 223, .6); background: rgba(255, 255, 255, .09); transform: translateY(-3px); }
.v31-final-links span { color: var(--aqua); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.v31-final-links strong { margin: 32px 0; font-size: clamp(22px, 2.2vw, 31px); line-height: 1.08; letter-spacing: -.035em; }
.v31-final-links b { color: var(--aqua); font-size: 23px; }

@media (max-width: 1020px) {
  .v31-science-heading, .v31-science-layout { grid-template-columns: 1fr; }
  .v31-science-image { min-height: 520px; }
  .v31-media-grid { grid-template-columns: 1fr; }
  .v31-media-feature > img { height: 440px; }
}

@media (max-width: 800px) {
  .v31-story-grid, .v31-program-grid, .v31-final-links { grid-template-columns: 1fr; }
  .v31-quiz-card { grid-template-columns: 1fr; }
  .v31-quiz-image { min-height: 280px; max-height: 360px; }
  .v31-commercial-cta { align-items: flex-start; flex-direction: column; }
  .v31-story-image { height: 430px; }
  .v31-program-copy p { min-height: 0; }
  .v31-final-links a { min-height: 170px; }
}

@media (max-width: 620px) {
  .v31-hero { padding-top: 48px; }
  .v31-hero-heading h1 { font-size: clamp(42px, 12vw, 60px); }
  .v31-hero-visual { margin-top: 30px; border-radius: 20px; }
  .v31-hero-actions { display: grid; width: 100%; }
  .v31-hero-actions .button { width: 100%; }
  .v31-section { padding: 76px 0; }
  .v31-section-heading, .v31-centered-heading { margin-bottom: 36px; text-align: left; }
  .v31-story-image { height: 330px; }
  .v31-story-copy, .v31-program-copy { padding: 24px; }
  .v31-commercial-cta { padding: 24px; }
  .v31-commercial-cta .button { width: 100%; }
  .v31-quiz-copy { padding: 28px 24px 32px; }
  .v31-program-image { height: 290px; }
  .v31-science-image { min-height: 0; height: 410px; }
  .v31-evidence-list li { grid-template-columns: 92px 1fr; gap: 14px; }
  .v31-evidence-list li > strong { font-size: 28px; }
  .v31-media-feature > img { height: 290px; }
  .v31-media-side { grid-template-columns: 1fr; }
  .v31-media-card { display: grid; grid-template-columns: 42% 58%; }
  .v31-media-card img { height: 100%; min-height: 175px; }
  .v31-media-card h3 { min-height: 0; }
}

@media (max-width: 410px) {
  .v31-story-image { height: 270px; }
  .v31-program-image { height: 250px; }
  .v31-media-card { grid-template-columns: 1fr; }
  .v31-media-card img { min-height: 0; height: 210px; }
}

@media (prefers-reduced-motion: reduce) {
  .v31-story-image img, .v31-quiz-image img, .v31-program-image img, .v31-media-feature > img, .v31-media-card img { transition: none; }
}
