/* =========================================================
   Future Ready AI — Header v3
   Live text + photo card over each page's felt background.
   ========================================================= */

@font-face {
  font-family: "DM Serif Display";
  src: url("assets/fonts/dm-serif-display.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.hero-v3 {
  position: relative;
  background-color: var(--hero-base, #eef5fb);
  background-image: var(--hero-bg);
  background-size: cover;
  background-position: center;
  border-bottom: 1px solid rgba(11, 26, 69, .06);
}
.theme-home       .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-home.webp");       --hero-base: #cedeea; }
.theme-about      .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-about.webp");      --hero-base: #e5d5e8; }
.theme-curriculum .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-curriculum.webp"); --hero-base: #f5ead8; }
.theme-educators  .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-educators.webp");  --hero-base: #fde1c2; }
.theme-schools    .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-schools.webp");    --hero-base: #cddecf; }
.theme-resources  .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-resources.webp");  --hero-base: #f7e5cb; }
.theme-contact    .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-contact.webp");    --hero-base: #dee7ce; }

.hero-v3__inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.25rem, 4vw, 2.5rem) 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}

/* Soft paper panel keeps text crisp over the felt decorations */
.hero-v3__copy {
  align-self: center;
  margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  border-radius: 24px;
  padding: clamp(1.25rem, 2.4vw, 1.9rem) clamp(1.35rem, 2.6vw, 2rem);
  box-shadow: 0 10px 30px -18px rgba(11, 26, 69, .35);
}

.hero-v3__kicker {
  margin: 0 0 .75rem;
  font: 700 .82rem/1.4 Poppins, system-ui, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--accent);
}
.hero-v3 h1 {
  margin: 0;
  font-family: "DM Serif Display", Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: clamp(2.1rem, 3.5vw, 3.25rem);
  line-height: 1.02;
  letter-spacing: -.015em;
  color: #0b1a45;
}
.hero-v3__sub {
  margin: .8rem 0 0;
  max-width: 46ch;
  font-size: clamp(1.02rem, 1.3vw, 1.18rem);
  line-height: 1.55;
  color: #1d2f6f;
}
.hero-v3__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.2rem;
}
.hero-v3 .hero-v3__actions a.btn {
  min-height: 46px;
  padding: .7rem 1.3rem;
  border-radius: 999px;
  justify-content: center;
}
.hero-v3 .hero-v3__actions a.btn.btn--primary {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.hero-v3 .hero-v3__actions a.btn.btn--primary:hover {
  background-color: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
}
.hero-v3 .hero-v3__actions a.btn.btn--outline {
  background: #fff !important;
  border: 2px solid var(--accent) !important;
  color: var(--accent) !important;
  -webkit-text-fill-color: var(--accent) !important;
}
.hero-v3__actions a.btn[target="_blank"]::after { content: " ↗"; }

.hero-v3__micro {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1.1rem 0 0;
  padding: 0;
}
.hero-v3__micro li {
  padding: .3rem .7rem;
  border-radius: 999px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  font-size: .8rem;
  font-weight: 500;
  white-space: nowrap;
  color: #1d2f6f;
}

/* Cutout of Andrea and the puppets, standing on the bottom edge */
.hero-v3__photo {
  margin: 0;
  align-self: end;
  position: relative;
}
.hero-v3__photo::before {           /* soft glow so the cutout lifts off the felt */
  content: "";
  position: absolute;
  inset: 12% 6% 0;
  background: radial-gradient(closest-side, rgba(255,255,255,.75), rgba(255,255,255,0));
  z-index: 0;
}
.hero-v3__photo img {
  position: relative;
  z-index: 1;
  display: block;
  width: 114%;
  max-width: none;
  margin-left: -7%;
  height: auto;
  filter: drop-shadow(0 16px 22px rgba(11, 26, 69, .22));
}

@media (max-width: 900px) {
  .hero-v3__inner { grid-template-columns: minmax(0, 1fr); }
  .hero-v3__copy { margin-bottom: 0; }
  .hero-v3__photo { max-width: 560px; margin: 0 auto; }
  .hero-v3__photo img { width: 100%; margin-left: 0; }
}
@media (max-width: 560px) {
  .hero-v3 { background-size: auto 100%; }
  .hero-v3__copy { padding: 1.35rem 1.2rem; }
  .hero-v3__actions { flex-direction: column; }

}

/* Form note under the connected forms */
.form-note { margin: .75rem 0 0; font-size: .88rem; line-height: 1.5; color: inherit; opacity: .85; }
.form-note a { color: inherit; font-weight: 600; text-decoration: underline; }

/* Forms on navy sections: labels and the submit button were navy on navy */
.section--navy .form label { color: #fff; }
.section--navy .form .field__hint, .section--navy .form small { color: rgba(255,255,255,.75); }
.section--navy .form button.btn.btn--primary {
  background-color: var(--accent) !important;
  border-color: var(--accent) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.section--navy .form button.btn.btn--primary:hover { background-color: var(--accent-hover) !important; }
.section--navy .form-note { color: rgba(255,255,255,.85); }

/* ---------- Curriculum detail pages ---------- */
.band-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.band-nav--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.band-nav__card {
  display: flex; flex-direction: column; gap: .35rem;
  padding: 1.25rem 1.35rem; border-radius: 18px; background: #fff;
  border: 1px solid rgba(11, 26, 69, .1); border-top: 5px solid var(--accent);
  text-decoration: none; color: #0b1a45;
  box-shadow: 0 10px 24px -20px rgba(11, 26, 69, .5);
  transition: transform .15s ease, box-shadow .15s ease;
}
.band-nav__card strong { font-family: "DM Serif Display", Georgia, serif; font-weight: 400; font-size: 1.35rem; }
.band-nav__card span { font-size: .9rem; color: #55697a; }
.band-nav__card::after { content: "Explore →"; margin-top: .4rem; font-weight: 600; font-size: .9rem; color: var(--accent); }
.band-nav__card:hover, .band-nav__card:focus-visible { transform: translateY(-2px); box-shadow: 0 16px 30px -20px rgba(11, 26, 69, .6); }
.band-next__cta { display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem; margin-top: 2rem; }
.band-single { grid-template-columns: minmax(0, 1fr) !important; max-width: 760px; margin: 0 auto; }
.band-cards { margin-top: 1rem; }
.curriculum-showcase-grid--1 { grid-template-columns: minmax(0, 420px) !important; justify-content: center; }
.curriculum-showcase-grid--2 { grid-template-columns: repeat(2, minmax(0, 380px)) !important; justify-content: center; }
.band-lessons { max-width: 1080px; margin: 0 auto; }
@media (max-width: 900px) {
  .band-nav, .band-nav--4 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .band-nav, .band-nav--4, .curriculum-showcase-grid--2 { grid-template-columns: minmax(0, 1fr) !important; }
}
.band-open .accordion-panel { max-height: none !important; overflow: visible !important; }
.band-open .accordion-trigger { pointer-events: none; }
.band-open .accordion-icon { display: none; }

/* Drone page: wider flight-planning scene */
.hero-v3__photo--wide img { width: 118%; margin-left: -9%; }
.dce-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.dce-strip > div { background: #fcf6ea; border-radius: 18px; padding: 1.35rem 1.4rem; border: 1px solid rgba(11,26,69,.08); }
.dce-strip h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.dce-strip p { margin: 0 0 .6rem; font-size: .95rem; line-height: 1.5; }
.dce-nav .band-nav__card::after { content: "Open on the drone site ↗"; }
@media (max-width: 900px) { .dce-strip { grid-template-columns: minmax(0, 1fr); } }

/* Standards-informed design */
.standards-grid { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.standards-grid li { background: #fff; border-radius: 16px; padding: 1rem 1.2rem; border: 1px solid rgba(11,26,69,.08); border-left: 5px solid var(--accent); display: flex; flex-direction: column; gap: .2rem; }
.standards-grid span { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--accent); }
.standards-grid strong { font-size: 1.02rem; color: #0b1a45; }
.standards-note { text-align: center; margin-top: 1.5rem; }
.standards-note a { font-weight: 600; }
.standards-strip-wrap { padding-block: 2rem !important; }
.standards-strip { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; background: #fcf6ea; border-radius: 18px; padding: 1.2rem 1.5rem; border: 1px solid rgba(11,26,69,.08); }
.standards-strip p { margin: 0; flex: 1 1 520px; }
@media (max-width: 900px) { .standards-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 560px) { .standards-grid { grid-template-columns: minmax(0, 1fr); } }

/* Home: K-2 note in the grade-band section */
.k2-note { max-width: 760px; margin: .75rem auto 0; text-align: center; font-size: .95rem; color: #55697a; }
/* Schools: student data privacy */
.privacy-box { max-width: 860px; margin: 0 auto; background: #fff; border-radius: 22px; padding: clamp(1.5rem, 3vw, 2.25rem); border: 1px solid rgba(11,26,69,.1); border-left: 6px solid var(--accent); box-shadow: 0 14px 30px -24px rgba(11,26,69,.5); }
.privacy-box h2 { margin: .3rem 0 .8rem; }
.privacy-box p { line-height: 1.6; }
.privacy-links a { font-weight: 600; }

/* Captions: readable on any video frame */
video::cue { background: rgba(11, 26, 69, .82); color: #fff; font-family: Inter, system-ui, sans-serif; font-size: 1.05rem; line-height: 1.35; }

/* Drone page: High School video */
.dce-video { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.dce-video__copy h2 { margin: .3rem 0 .7rem; }
.dce-video__link { margin-top: 1rem; }
.dce-video__media video { display: block; width: 100%; height: auto; border-radius: 18px; background: #0b1a45; box-shadow: 0 20px 40px -26px rgba(11,26,69,.6); }
@media (max-width: 900px) { .dce-video { grid-template-columns: minmax(0, 1fr); } }
.dce-video--flip { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.dce-video--flip .dce-video__media { order: -1; }
@media (max-width: 900px) { .dce-video--flip { grid-template-columns: minmax(0, 1fr); } .dce-video--flip .dce-video__media { order: 0; } }

/* Breadcrumb inside the header panel */
.hero-v3__crumb { margin: 0 0 .6rem; font-size: .85rem; color: #55697a; }
.hero-v3__crumb a { color: #1d2f6f; }
/* Compact header (Privacy, Terms, Accessibility): felt background, no photo */
.hero-v3--compact .hero-v3__inner { grid-template-columns: minmax(0, 1fr); padding-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.hero-v3--compact .hero-v3__copy { max-width: 640px; margin-bottom: 0; }
.hero-v3--compact h1 { font-size: clamp(2rem, 3.2vw, 2.8rem); }
@media (max-width: 900px) { .hero-v3__photo--wide img { width: 100%; margin-left: 0; } }

/* =========================================================
   Visual polish (site-wide)
   ========================================================= */

/* One heading style: the header's display serif for all main headings */
main :is(h1, h2),
main :is(.section, section) h3 {
  font-family: "DM Serif Display", Georgia, "Times New Roman", serif !important;
  font-weight: 400 !important;
  font-synthesis: none;
  letter-spacing: -.01em;
}
main h2 { line-height: 1.12; }
main section h3 { line-height: 1.22; }
/* keep small UI labels and step titles in the sans */
main :is(.eyebrow, .btn, button, .accordion-trigger, .pathway-line__item h4, .step h4) { font-family: Poppins, system-ui, sans-serif; }

/* One card style */
main :is(.card, .band-nav__card, .standards-grid li, .dce-strip > div, .privacy-box) {
  border-radius: 18px;
  border: 1px solid rgba(11, 26, 69, .09);
  box-shadow: 0 12px 28px -24px rgba(11, 26, 69, .45);
}
main .band-nav__card { border-top: 1px solid rgba(11, 26, 69, .09); }
main .standards-grid li, main .privacy-box { border-left: 1px solid rgba(11, 26, 69, .09); }

/* Even card rows (Resources library and other card grids) */
main .grid { align-items: stretch; }
main .grid > .card { display: flex; flex-direction: column; height: 100%; }
main .grid > .card > :last-child { margin-top: auto; }

/* Credential highlights: one calm style instead of mixed peach/yellow */
main .founder__credentials li {
  background: #fff !important;
  border: 1px solid rgba(11, 26, 69, .12);
  color: #1d2f6f;
  font-weight: 500;
}

/* Tighter rhythm on the longest pages */
.theme-schools main .section,
.theme-resources main .section { padding-block: clamp(2.5rem, 4.5vw, 4rem); }

/* For Schools: pilot steps inside the implementation pathway */
.pilot-sub { margin-top: clamp(2rem, 4vw, 3rem); text-align: center; }
.pilot-sub h3 { font-size: clamp(1.4rem, 2.2vw, 1.8rem); margin: 0 0 .35rem; }
.pilot-sub > p { margin: 0 auto 1.25rem; color: #55697a; }

/* Contact: no blank box while Calendly loads */
.sched-embed { position: relative; background: #fcf6ea; border-radius: 18px; }
.sched-embed::before {
  content: "Loading the booking calendar…";
  position: absolute; inset: 0; display: grid; place-items: center;
  color: #55697a; font-size: .95rem; z-index: 0;
}
.sched-embed iframe { position: relative; z-index: 1; }

/* ---------- Connected programs (matches the Drone Career Explorer site) ---------- */
.connected-programs { background: #06142b; color: #e6ecf5; padding-block: clamp(3rem, 6vw, 5rem); }
.connected-programs__inner { max-width: 1240px; margin: 0 auto; padding-inline: clamp(1.25rem, 4vw, 2.5rem); }
.connected-programs__head { text-align: center; max-width: 900px; margin: 0 auto 2.25rem; }
.connected-programs__eyebrow { margin: 0 0 .6rem; font: 700 .8rem/1.4 Poppins, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #f5b72e; }
main .connected-programs h2 { font-family: Inter, system-ui, sans-serif !important; font-weight: 800 !important; font-size: clamp(1.8rem, 3vw, 2.5rem); color: #fff; margin: 0 0 .8rem; letter-spacing: -.01em; }
.connected-programs__head p { margin: 0; font-size: 1.1rem; line-height: 1.6; color: #c9d4e4; }
.connected-programs__cards { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; }
.connected-card { position: relative; border-radius: 22px; overflow: hidden; border: 2px solid rgba(245, 183, 46, .75); box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .8); background: #0b1a33; }
.connected-card img { display: block; width: 100%; height: auto; }
.connected-card__actions { position: absolute; left: 4.1%; top: 6%; display: flex; flex-wrap: wrap; gap: .6rem; }
.cp-btn { display: inline-flex; align-items: center; gap: .45rem; padding: .7rem 1.05rem; border-radius: 9px; font: 700 clamp(.78rem, .95vw, .92rem)/1.1 Inter, system-ui, sans-serif; text-decoration: none; box-shadow: 0 8px 18px -10px rgba(0,0,0,.7); }
.cp-btn--gold { background: #f5b72e; color: #0b1a33; }
.cp-btn--gold:hover { background: #ffc94d; }
.cp-btn--outline { border: 1.5px solid #fff; color: #fff; background: rgba(6, 20, 43, .55); }
.cp-btn--outline:hover { background: rgba(255, 255, 255, .12); }
.cp-btn:focus-visible, .connected-hotspot:focus-visible { outline: 3px solid #f5b72e; outline-offset: 3px; }
.connected-hotspot { position: absolute; z-index: 2; border-radius: 10px; }
.connected-hotspot:hover { box-shadow: 0 0 0 3px rgba(245, 183, 46, .25) inset, 0 0 22px rgba(245, 183, 46, .2); }
.connected-hotspot--primary { left: 4.1%; top: 78%; width: 42%; height: 12%; }
.connected-hotspot--secondary { left: 48%; top: 78%; width: 22%; height: 12%; }
.connected-programs__captions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem; margin-top: 1.5rem; }
.connected-programs__captions > div { border-top: 1px solid rgba(255, 255, 255, .15); padding: 1.4rem 1.75rem 0; }
main .connected-programs h3 { font-family: Inter, system-ui, sans-serif !important; font-weight: 800 !important; font-size: 1.3rem; color: #fff; margin: 0 0 .5rem; }
.connected-programs__captions p { margin: 0 0 .9rem; color: #c9d4e4; line-height: 1.55; }
.connected-programs__captions a { color: #5fd3c6; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .connected-programs__cards, .connected-programs__captions { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
  .connected-card__actions { position: static; padding: .9rem; background: #0b1a33; }
  .cp-btn { flex: 1 1 100%; justify-content: center; }
}

/* ---------- For Educators: PD sessions, pathways, engagements ---------- */
.pd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.pd-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.3rem 1.35rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); display: flex; flex-direction: column; }
.pd-card__top { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.pd-card__num { font: 700 .85rem/1 Poppins, system-ui, sans-serif; color: var(--accent); letter-spacing: .06em; }
.pd-card__len { font: 600 .78rem/1 Poppins, system-ui, sans-serif; background: color-mix(in srgb, var(--accent) 12%, #fff); color: var(--accent-hover); padding: .38rem .7rem; border-radius: 999px; }
main .pd-card h3 { font-size: 1.28rem; margin: 0 0 .7rem; }
.pd-card dl { margin: 0; }
.pd-card dt { font: 700 .72rem/1.3 Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; color: #55697a; margin-top: .55rem; }
.pd-card dd { margin: .2rem 0 0; font-size: .95rem; line-height: 1.5; color: #1d2f6f; }
.path-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.path-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.3rem 1.35rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); }
.path-card__meta { display: flex; justify-content: space-between; gap: .5rem; margin: 0 0 .5rem; font: 600 .78rem/1.3 Poppins, system-ui, sans-serif; color: var(--accent); }
main .path-card h3 { font-size: 1.3rem; margin: 0 0 .55rem; }
.path-card p { font-size: .95rem; line-height: 1.55; margin: 0 0 .55rem; }
.path-card__time { font-weight: 600; color: #1d2f6f; }
.pd-flow { margin-top: 2rem; text-align: center; }
.pd-flow > p { margin: 0 0 .8rem; color: #55697a; }
.pd-flow ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.pd-flow li { font: 600 .92rem/1 Poppins, system-ui, sans-serif; background: #fff; border: 1px solid color-mix(in srgb, var(--accent) 35%, #fff); color: var(--accent-hover); padding: .6rem .95rem; border-radius: 999px; }
.pd-flow li + li::before { content: "→"; margin-right: .55rem; color: var(--accent); }
.eng-steps { list-style: none; margin: 1.5rem auto 0; padding: 0; max-width: 860px; display: grid; gap: .9rem; }
.eng-step { display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; align-items: start; background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.1rem 1.25rem; }
.eng-step__n { width: 2.6rem; height: 2.6rem; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; font: 700 1rem/1 Poppins, system-ui, sans-serif; }
main .eng-step h3 { font-size: 1.2rem; margin: .2rem 0 .3rem; }
.eng-step p { margin: 0; line-height: 1.55; }
.eng-timeline { max-width: 860px; margin: 1.5rem auto 0; background: #fcf6ea; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.4rem 1.5rem; text-align: center; }
main .eng-timeline h3 { margin: 0 0 .5rem; font-size: 1.3rem; }
.eng-timeline p { margin: 0 0 .6rem; line-height: 1.55; }
.eng-timeline__cta { margin-top: 1rem !important; display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; }
.pilot-link { margin-top: 1.25rem; }
.pd-grid { display: flex; flex-wrap: wrap; justify-content: center; }
.pd-grid > .pd-card { flex: 0 1 calc((100% - 2.2rem) / 3); }
@media (max-width: 1000px) { .pd-grid > .pd-card { flex-basis: calc((100% - 1.1rem) / 2); } }
@media (max-width: 640px) { .pd-grid > .pd-card { flex-basis: 100%; } }

/* ---------- Curriculum: responsible AI, privacy & inclusive-design guardrails ---------- */
.guard-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.guard-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-top: 4px solid var(--accent); border-radius: 18px; padding: 1.3rem 1.4rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); }
main .guard-card h3 { font-size: 1.3rem; margin: 0 0 .6rem; }
.guard-card p { margin: 0 0 .6rem; font-size: .95rem; line-height: 1.55; }
.guard-card ul { margin: 0 0 .7rem; padding-left: 1.1rem; }
.guard-card li { font-size: .95rem; line-height: 1.5; margin-bottom: .3rem; }
.guard-card li::marker { color: var(--accent); }
.guard-note { font-size: .88rem !important; color: #55697a; font-style: italic; border-top: 1px solid rgba(11,26,69,.08); padding-top: .6rem; }
@media (max-width: 1000px) { .guard-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Home: Our approach (Tell It. Limit It. Check It. People Decide.) ---------- */
.home-approach { background: #fff; }
.approach-head { max-width: 860px; margin: 0 auto; text-align: center; }
.approach-head p { font-size: 1.08rem; line-height: 1.65; color: #1d2f6f; }
.approach-steps { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; counter-reset: none; }
.approach-step { position: relative; background: #fcf6ea; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.4rem 1.3rem 1.25rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); }
.approach-step__n { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--accent); color: #fff; font: 700 1rem/1 Poppins, system-ui, sans-serif; margin-bottom: .8rem; }
main .approach-step h3 { font-size: 1.55rem; margin: 0 0 .35rem; color: #0b1a45; }
.approach-step p { margin: 0; font-size: .98rem; line-height: 1.5; color: #1d2f6f; }
.approach-step--people { background: #0b1a45; border-color: #0b1a45; }
main .approach-step--people h3 { color: #fff; }
.approach-step--people p { color: #d6e2ee; }
.approach-step--people .approach-step__n { background: #f5b72e; color: #0b1a45; }
.approach-tagline { margin: 1.75rem 0 0; text-align: center; font: 600 clamp(.95rem, 1.4vw, 1.1rem)/1.5 Poppins, system-ui, sans-serif; letter-spacing: .02em; color: var(--accent); }
.approach-tagline span { color: #c9a24a; margin: 0 .35rem; }
@media (max-width: 1000px) { .approach-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .approach-steps { grid-template-columns: minmax(0, 1fr); } }
/* Our approach: left-aligned text */
.approach-head { max-width: 900px; margin: 0; text-align: left; }
.approach-tagline { text-align: left; }
.approach-tagline span:first-of-type { margin-left: .35rem; }

/* =========================================================
   Human + AI Career Pathways
   ========================================================= */
.theme-careers { --accent: #c24a36; --accent-hover: #a33c2b; }
.theme-careers .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-resources.webp"); --hero-base: #f7e5cb; }
.hero-v3__card { margin: 0; align-self: center; margin-bottom: clamp(1.75rem, 3vw, 2.75rem); }
.hero-v3__card img { display: block; width: 100%; height: auto; border-radius: 22px; border: 5px solid #fff; box-shadow: 0 24px 48px -26px rgba(11,26,69,.5); }
@media (max-width: 900px) { .hero-v3__card { margin: 0 0 1.5rem; } }

/* Home feature */
.home-careers { background: #fcf6ea; }
.careers-feature { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: center; }
.careers-feature__img { margin: 0; }
.careers-feature__img img { display: block; width: 100%; height: auto; border-radius: 22px; border: 5px solid #fff; box-shadow: 0 24px 48px -26px rgba(11,26,69,.5); }
main .careers-feature h2 { margin: .2rem 0 .4rem; }
.careers-feature__lead { font: 600 1.15rem/1.45 Poppins, system-ui, sans-serif; color: #c24a36; margin: 0 0 .9rem; }
.careers-feature__copy p { line-height: 1.62; }
.careers-feature__quote { border-left: 4px solid #c9a24a; padding: .2rem 0 .2rem 1rem; font-style: italic; color: #0b1a45; font-weight: 600; }
@media (max-width: 900px) { .careers-feature { grid-template-columns: minmax(0, 1fr); } }

/* Career page */
.careers-intro { max-width: 900px; }
.careers-intro__statement { font-size: 1.15rem; line-height: 1.65; color: #0b1a45; }
.careers-intro p { line-height: 1.62; }
.journey { list-style: none; margin: 1.5rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.journey li { font: 600 .9rem/1 Poppins, system-ui, sans-serif; background: #fff; border: 1px solid color-mix(in srgb, var(--accent) 35%, #fff); color: var(--accent-hover); padding: .6rem .9rem; border-radius: 999px; }
.journey li + li::before { content: "→"; margin-right: .5rem; color: var(--accent); }

/* Career + AI Connection component (reusable) */
.connection-template { list-style: none; margin: 1.5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.connection-template .cf { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.3rem 1.25rem; border-top: 5px solid var(--cf); }
.cf__n { display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--cf); color: #fff; font: 700 .95rem/1 Poppins, system-ui, sans-serif; margin-bottom: .6rem; }
main .connection-template h3 { font-size: 1.3rem; margin: 0 0 .35rem; }
.connection-template p { margin: 0; line-height: 1.5; font-size: .96rem; }
.cf--today { --cf: #0b1a45; } .cf--ai { --cf: #0e7c89; } .cf--human { --cf: #c24a36; } .cf--skills { --cf: #a8761a; }
.connection-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.connection-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.2rem 1.25rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); }
main .connection-card h3 { font-size: 1.25rem; margin: 0 0 .6rem; }
.connection-fields { margin: 0; display: grid; gap: .5rem; }
.connection-fields .cf { border-left: 4px solid var(--cf); background: #f8fafb; border-radius: 8px; padding: .45rem .7rem; }
.connection-fields dt { font: 700 .72rem/1.3 Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .05em; color: var(--cf); }
.connection-fields dd { margin: .15rem 0 0; font-size: .93rem; line-height: 1.45; color: #1d2f6f; }

/* Pathway cards */
.career-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.career-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-top: 5px solid var(--cc, #0e7c89); border-radius: 18px; padding: 1.35rem 1.4rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); display: flex; flex-direction: column; }
main .career-card h3 { font-size: 1.4rem; margin: 0 0 .55rem; }
.career-card p { line-height: 1.55; font-size: .97rem; margin: 0 0 .7rem; }
.career-card__careers { background: #fcf6ea; border-radius: 10px; padding: .6rem .8rem; margin-top: auto !important; }
.path-human { color: #0b1a45; }
.career-card--medical { --cc: #0e7c89; } .career-card--construction { --cc: #d9573d; } .career-card--technology { --cc: #0b1a45; }
.career-card--drones { --cc: #0e8f8f; } .career-card--business { --cc: #b88a24; } .career-card--education { --cc: #e0574f; }

/* Human Checkpoint */
.checkpoint { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
.checkpoint__intro p { line-height: 1.62; }
.checkpoint__note { background: #fff; border-left: 4px solid #c9a24a; border-radius: 10px; padding: .75rem 1rem; font-weight: 600; color: #0b1a45; }
.checkpoint__list { margin: 0; padding: 0; list-style: none; counter-reset: cp; display: grid; gap: .6rem; }
.checkpoint__list li { counter-increment: cp; background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 14px; padding: .8rem 1rem .8rem 3.2rem; position: relative; line-height: 1.5; color: #0b1a45; font-weight: 500; }
.checkpoint__list li::before { content: counter(cp); position: absolute; left: .9rem; top: .75rem; width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #0b1a45; color: #fff; display: grid; place-items: center; font: 700 .8rem/1 Poppins, system-ui, sans-serif; }
@media (max-width: 900px) { .checkpoint { grid-template-columns: minmax(0, 1fr); } .connection-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .connection-template { grid-template-columns: minmax(0, 1fr); } }

/* Grade bands */
.band-careers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.band-career { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.35rem 1.4rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); display: flex; flex-direction: column; }
.band-career__band { font: 700 .78rem/1.3 Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; color: var(--accent); margin: 0 0 .4rem; }
main .band-career h3 { font-size: 1.3rem; margin: 0 0 .6rem; }
.band-career p, .band-career li { line-height: 1.55; font-size: .96rem; }
.band-career ul { padding-left: 1.1rem; margin: 0 0 .6rem; }
.band-career__big { font: 700 1.05rem/1.4 Poppins, system-ui, sans-serif; color: #0b1a45; background: #fcf6ea; border-radius: 10px; padding: .55rem .8rem; }
.band-career__link { margin-top: auto; }
@media (max-width: 1000px) { .band-careers { grid-template-columns: minmax(0, 1fr); } }
.cta-band__actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin-top: 1rem; }

/* Curriculum: career readiness across pillars */
.pillar-careers { margin-top: 2rem; background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 20px; padding: clamp(1.25rem, 3vw, 2rem); }
.pillar-careers__formula { font: 700 clamp(.95rem, 1.5vw, 1.1rem)/1.4 Poppins, system-ui, sans-serif; color: #0b1a45; margin: 0 0 .6rem; }
.pillar-careers__formula span { color: #c24a36; margin: 0 .3rem; }
main .pillar-careers h3 { font-size: 1.4rem; margin: 0 0 .4rem; }
.pillar-careers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; margin: 1rem 0; }
.pillar-careers__grid div { background: #fcf6ea; border-radius: 12px; padding: .75rem .9rem; }
.pillar-careers__grid dt { font-weight: 700; color: #0b1a45; }
.pillar-careers__grid dd { margin: .2rem 0 0; font-size: .94rem; line-height: 1.45; }
@media (max-width: 900px) { .pillar-careers__grid { grid-template-columns: minmax(0, 1fr); } }

/* Educators: beyond operating AI tools */
.pd-beyond { max-width: 900px; margin: 1.5rem auto 0; background: #fcf6ea; border: 1px solid rgba(11,26,69,.09); border-left: 5px solid var(--accent); border-radius: 18px; padding: 1.3rem 1.5rem; }
main .pd-beyond h3 { font-size: 1.35rem; margin: 0 0 .4rem; }
.pd-beyond ul { columns: 2; column-gap: 2rem; padding-left: 1.1rem; margin: .4rem 0 .6rem; }
.pd-beyond li { line-height: 1.5; margin-bottom: .35rem; break-inside: avoid; }
@media (max-width: 700px) { .pd-beyond ul { columns: 1; } }

/* Nav with Career Pathways: keep labels on one line and make room on laptops */
@media (min-width: 901px) {
  .nav-links { gap: clamp(.9rem, 1.4vw, 1.5rem); }
  .nav-links a, .nav-brand__text, .nav-brand { white-space: nowrap; }
  .nav-links a:not(.btn) { font-size: .95rem; }
}
@media (min-width: 901px) and (max-width: 1519px) {
  .nav-links li:has(> .btn--sm) { display: none; }
}
@media (min-width: 901px) and (max-width: 1099px) {
  .nav-links { gap: .8rem; }
  .nav-links a:not(.btn) { font-size: .88rem; }
  .nav-brand__tagline, .nav-brand small { display: none; }
}

/* Career image: gold frame */
.careers-feature__img img, .hero-v3__card img {
  border: 6px solid #C9A24A !important; border-radius: 22px !important;
  box-shadow: 0 24px 48px -26px rgba(11,26,69,.5) !important;
  -webkit-mask-image: none !important; mask-image: none !important;
}

/* Career Pathways: jump menu */
.jump-menu { background: #fff; border-bottom: 1px solid rgba(11,26,69,.08); }
.jump-menu__inner { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; padding-block: .9rem; }
.jump-menu__label { font: 700 .8rem/1 Poppins, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; color: #55697a; }
.jump-menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.jump-menu a { display: inline-block; padding: .5rem .9rem; border-radius: 999px; background: #fcf6ea; border: 1px solid color-mix(in srgb, var(--accent) 30%, #fff); color: #0b1a45; font: 600 .88rem/1 Poppins, system-ui, sans-serif; text-decoration: none; }
.jump-menu a:hover, .jump-menu a:focus-visible { background: var(--accent); color: #fff; border-color: var(--accent); }
.theme-careers main section[id] { scroll-margin-top: 110px; }
@media (max-width: 560px) { .jump-menu ul { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .3rem; max-width: 100%; } .jump-menu a { white-space: nowrap; } }

/* Career Pathways header: cutout sits on the header's bottom edge (like other pages) */
.theme-careers .hero-v3__photo--wide img { width: 112%; margin-left: -6%; }
@media (max-width: 900px) { .theme-careers .hero-v3__photo--wide img { width: 100%; margin-left: 0; } }

/* Collapsible cards */
details.is-collapsible > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
details.is-collapsible > summary::-webkit-details-marker { display: none; }
details.is-collapsible > summary h3 { margin: 0 !important; }
details.is-collapsible > summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 8px; }
details.is-collapsible .toggle { flex: 0 0 auto; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #fcf6ea; border: 1px solid color-mix(in srgb, var(--accent) 35%, #fff); position: relative; }
details.is-collapsible .toggle::before, details.is-collapsible .toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: .8rem; height: 2px; background: var(--accent); transform: translate(-50%, -50%); }
details.is-collapsible .toggle::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform .2s ease; }
details.is-collapsible[open] .toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
details.is-collapsible .collapse-body { margin-top: .8rem; }
.career-grid, .connection-grid { align-items: start; }
details.career-card { display: block; }
details.career-card .career-card__careers { margin-top: .4rem !important; }
.collapse-hint { font-size: .95rem; color: #55697a; }
/* Career Pathways header: give the ambassador group more room, like the Contact page photo */
.theme-careers .hero-v3__inner { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.theme-careers .hero-v3__photo--wide img { width: 116%; margin-left: -8%; }
@media (max-width: 900px) { .theme-careers .hero-v3__inner { grid-template-columns: minmax(0, 1fr); } .theme-careers .hero-v3__photo--wide img { width: 100%; margin-left: 0; } }

/* Career titles as real, readable text on phones and tablets (the badges in the image get too small there) */
.career-labels { display: none; }
@media (max-width: 900px) {
  .career-labels { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; list-style: none; margin: .6rem 0 1rem; padding: 0; }
  .career-label { display: inline-block; padding: .5rem .85rem; border-radius: 999px; color: #fff; font: 700 .85rem/1.1 Poppins, system-ui, sans-serif; text-decoration: none; }
  .career-label--medical { background: #0e7c89; } .career-label--construction { background: #c9472f; }
  .career-label--technology { background: #0b1a45; } .career-label--drones { background: #0d7a7a; }
  .career-label--business { background: #8f6a14; } .career-label--education { background: #c2413b; }
}
.career-labels { position: relative; z-index: 2; }

/* Career Pathways header: title, symbols, ambassadors and badges cut out and laid flat on felt */
.career-header-art::before { display: none; }
.theme-careers .career-header-art img { width: 110%; margin-left: -5%; -webkit-mask-image: none !important; mask-image: none !important; filter: drop-shadow(0 10px 16px rgba(11,26,69,.14)); }
@media (max-width: 900px) { .theme-careers .career-header-art img { width: 100%; margin-left: 0; } }
.theme-careers .hero-v3 { --hero-bg: url("assets/images/headers-v3/bg-careers.webp"); --hero-base: #f7e5cb; }

/* ---------- Career Pathways: full-width felt banner header ---------- */
.career-banner { background: url("assets/images/headers-v3/career-felt.webp") center / 900px auto repeat, #f8ecd4; }
.career-banner__art { max-width: 1800px; margin: 0 auto; }
.career-banner__art img { display: block; width: 100%; height: auto; }
.career-banner__band { background: rgba(255,255,255,.72); border-top: 1px solid rgba(11,26,69,.08); border-bottom: 1px solid rgba(11,26,69,.08); }
.career-banner__band-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1.1rem; }
.career-banner__text .hero-v3__kicker { margin: 0 0 .25rem; }
.career-banner__sub { margin: 0; font: 600 clamp(1.05rem, 1.6vw, 1.3rem)/1.4 Poppins, system-ui, sans-serif; color: #0b1a45; }
.career-banner__actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.career-banner__actions .btn { border-radius: 999px; }
.theme-careers .career-banner__actions a.btn.btn--primary { background-color: var(--accent) !important; border-color: var(--accent) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.theme-careers .career-banner__actions a.btn.btn--outline { background: #fff !important; border: 2px solid var(--accent) !important; color: var(--accent) !important; -webkit-text-fill-color: var(--accent) !important; }
.career-banner .career-labels { margin: .6rem 1rem 1rem; }
@media (max-width: 760px) { .career-banner__actions { width: 100%; flex-direction: column; } .career-banner__actions .btn { justify-content: center; } }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
/* Banner edges melt into the felt on very wide screens (edges are plain felt, nothing important there) */
.career-banner__art img {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 7%, #000 93%, transparent 100%);
}
/* With Career Pathways in the menu there's no room for the extra header button on desktop; it stays in the phone menu */
@media (min-width: 901px) { .nav-links li:has(> .btn--sm) { display: none; } }

/* ---------- Career Pathways header: same structure as the other felt headers ---------- */
.theme-careers .hero-v3--careers {
  background: url("assets/images/headers-v3/career-hero-bg.webp") right top / auto 100% no-repeat,
              url("assets/images/headers-v3/career-felt.webp") center / 900px auto repeat, #f8ecd4;
}
.hero-v3--careers .hero-v3__inner { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.hero-v3--careers .hero-v3__photo { padding-top: clamp(7.5rem, 13vw, 11.5rem); }
.hero-v3--careers .career-group img { width: 108%; margin-left: -4%; filter: drop-shadow(0 12px 14px rgba(60,40,10,.18)); -webkit-mask-image: none; mask-image: none; }
.hero-v3--careers .career-group::before { display: none; }
@media (max-width: 900px) {
  .theme-careers .hero-v3--careers { background: url("assets/images/headers-v3/career-felt.webp") center / 700px auto repeat, #f8ecd4; }
  .hero-v3--careers .hero-v3__inner { grid-template-columns: minmax(0, 1fr); }
  .hero-v3--careers .hero-v3__photo { padding-top: 1.25rem; }
  .hero-v3--careers .career-group img { width: 100%; margin-left: 0; }
}

/* Career header v2: school on the left (not behind the card), larger buildings on the right,
   card shifted right, group moved toward the right */
@media (min-width: 901px) {
  .theme-careers .hero-v3--careers {
    background: url("assets/images/headers-v3/career-school.webp") left max(8px, calc(50% - 740px)) bottom 8px / auto 34% no-repeat,
                url("assets/images/headers-v3/career-hero-bg.webp") right top / auto 90% no-repeat,
                url("assets/images/headers-v3/career-felt.webp") center / 900px auto repeat, #f8ecd4;
  }
  .hero-v3--careers .hero-v3__inner { max-width: 1480px; padding-left: clamp(1.25rem, 21vw, 320px); grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1rem, 2.5vw, 2rem); }
  .hero-v3--careers .hero-v3__copy { max-width: 470px; }
  .hero-v3--careers .career-group img { width: 100%; margin-left: 4%; }
}

/* ---------- Career Pathways header v3: approved banner image beside the card ---------- */
.theme-careers .hero-v3--careers,
.theme-careers .hero-v3.hero-v3--careers {
  background: url("assets/images/headers-v3/career-felt.webp") center / 900px auto repeat, #f8ecd4 !important;
}
@media (min-width: 901px) {
  .hero-v3--careers .hero-v3__inner { max-width: 1320px; padding-left: clamp(1.25rem, 4vw, 2.5rem); grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: clamp(1.25rem, 3vw, 2.5rem); align-items: center; }
  .hero-v3--careers .hero-v3__copy { max-width: none; }
}
.career-banner-figure { margin: 0; align-self: center; padding-block: clamp(1.25rem, 3vw, 2.5rem); }
.career-banner-figure img { display: block; width: 100%; height: auto; border: 6px solid #C9A24A; border-radius: 22px; box-shadow: 0 24px 48px -26px rgba(11,26,69,.5); }
.career-banner-figure .career-labels { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; list-style: none; margin: .9rem 0 0; padding: 0; position: relative; z-index: 2; }
.career-banner-figure .career-label { display: inline-block; padding: .45rem .8rem; border-radius: 999px; color: #fff; font: 700 .8rem/1.1 Poppins, system-ui, sans-serif; text-decoration: none; }
.career-banner-figure .career-label--medical { background: #0e7c89; } .career-banner-figure .career-label--construction { background: #c9472f; }
.career-banner-figure .career-label--technology { background: #0b1a45; } .career-banner-figure .career-label--drones { background: #0d7a7a; }
.career-banner-figure .career-label--business { background: #8f6a14; } .career-banner-figure .career-label--education { background: #c2413b; }
@media (max-width: 900px) { .career-banner-figure { padding-top: 0; } }
/* Career Pathways header v3b: oversized stitched buildings behind the framed picture */
.theme-careers .hero-v3--careers,
.theme-careers .hero-v3.hero-v3--careers {
  background: url("assets/images/headers-v3/career-hero-bg-v3.webp") center top / cover no-repeat, #f8ecd4 !important;
}
@media (max-width: 900px) {
  .theme-careers .hero-v3--careers, .theme-careers .hero-v3.hero-v3--careers { background-position: 70% top !important; }
}

/* Career Pathways messaging alignment */
.philosophy-line { margin: 1.25rem 0 .25rem; padding: .85rem 1.1rem; border-left: 4px solid #c9a24a; background: #fff; border-radius: 10px; font: 700 clamp(1.05rem, 1.6vw, 1.25rem)/1.4 Poppins, system-ui, sans-serif; color: #0b1a45; }
.pathways-layer { max-width: 760px; margin-left: auto; margin-right: auto; }
.habit-box { margin-top: 1rem; background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 16px; padding: 1rem 1.15rem; }
.habit-box__lead { margin: 0 0 .35rem; font-size: .95rem; color: #55697a; }
.habit-box__framework { margin: 0 0 .6rem; font: 700 1.05rem/1.35 Poppins, system-ui, sans-serif; color: #0e7c89; }
.habit-steps { margin: 0; display: grid; gap: .45rem; }
.habit-steps dt { font-weight: 700; color: #0b1a45; display: inline; }
.habit-steps dt::after { content: " — "; color: #55697a; font-weight: 400; }
.habit-steps dd { display: inline; margin: 0; color: #1d2f6f; }
.habit-box__hs { margin: .75rem 0 0; font-size: .9rem; color: #55697a; border-top: 1px solid rgba(11,26,69,.08); padding-top: .6rem; }
.band-career__eq { font-size: .88rem; color: #55697a; font-style: italic; }

/* Course structure (AI Explorers + AI Innovators) */
.course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; margin-top: 1.5rem; }
.course-card { background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 18px; padding: 1.4rem 1.5rem; box-shadow: 0 12px 28px -24px rgba(11,26,69,.45); }
main .course-card h3 { font-size: 1.35rem; margin: 0 0 .7rem; }
.course-weeks { list-style: none; margin: 0 0 .9rem; padding: 0; display: grid; gap: .35rem; }
.course-weeks li { display: grid; grid-template-columns: 4.6rem 1fr; gap: .5rem; align-items: baseline; font-size: .96rem; color: #1d2f6f; padding: .35rem .6rem; background: #fcf6ea; border-radius: 8px; }
.course-weeks span { font: 700 .78rem/1.2 Poppins, system-ui, sans-serif; color: var(--accent); text-transform: uppercase; letter-spacing: .04em; }
.course-note { font-size: .93rem; line-height: 1.55; margin: 0 0 .55rem; }
@media (max-width: 900px) { .course-grid { grid-template-columns: minmax(0, 1fr); } }
/* The header picture already shows the six pathway labels on larger screens; keep the tappable labels for phones/tablets only */
@media (min-width: 901px) { .career-banner-figure .career-labels { display: none; } }

/* ---------- Inside the Curriculum showcase ---------- */
.curriculum-showcase { background: linear-gradient(180deg, #fff 0%, #fcf6ea 100%); }
.philosophy-line--center { display: inline-block; text-align: center; }
.cp-program { margin-top: clamp(2rem, 4vw, 3.25rem); }
.cp-intro { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(1.25rem, 3.5vw, 2.75rem); align-items: center; }
.cp-intro--sub { margin-top: 2.25rem; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
.cp-cover img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 2px 0 rgba(255,255,255,.6) inset, 14px 18px 0 -6px #e9dfcc, 0 28px 50px -24px rgba(11,26,69,.55); transform: rotate(-1.5deg); transition: transform .2s ease; }
.cp-cover a:hover img, .cp-cover a:focus-visible img { transform: rotate(0deg) scale(1.02); }
main .cp-intro__text h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); margin: .2rem 0 .6rem; }
.cp-intro__text p { line-height: 1.6; }
.cp-framework { display: inline-block; margin: .3rem 0 .8rem; padding: .55rem 1rem; border-radius: 999px; background: #0b1a45; color: #fff; font: 700 clamp(.9rem, 1.4vw, 1.05rem)/1.3 Poppins, system-ui, sans-serif; }
.cp-framework--hs { background: #0e7c89; }
.cp-skills { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.cp-skills li { padding: .35rem .75rem; border-radius: 999px; background: #fff; border: 1px solid rgba(11,26,69,.12); font-size: .88rem; color: #1d2f6f; }
.cp-weeks { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .35rem; }
.cp-weeks li { padding: .5rem .8rem; border-radius: 10px; background: #fff; border-left: 4px solid #c9a24a; font-size: .95rem; }
.cp-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin: .4rem 0 .5rem; }
.cp-actions--center { justify-content: center; }
.cp-small { font-size: .85rem; color: #55697a; margin: .2rem 0 0; }
.cp-gallery { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(220px, 24vw, 300px); gap: 1.1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding: 1.4rem .25rem 1.2rem; margin-top: 1rem; scrollbar-color: #c9a24a transparent; }
.cp-gallery:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; border-radius: 12px; }
.cp-page { margin: 0; scroll-snap-align: start; }
.cp-page img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid rgba(11,26,69,.1); box-shadow: 0 18px 32px -22px rgba(11,26,69,.55); background: #fff; transition: transform .18s ease, box-shadow .18s ease; }
.cp-page a:hover img, .cp-page a:focus-visible img { transform: translateY(-4px); box-shadow: 0 26px 40px -22px rgba(11,26,69,.6); }
.cp-page figcaption { margin-top: .6rem; font: 600 .86rem/1.35 Poppins, system-ui, sans-serif; color: #0b1a45; }
.cp-educators { margin-top: clamp(2.5rem, 5vw, 3.75rem); background: #fff; border: 1px solid rgba(11,26,69,.09); border-radius: 22px; padding: clamp(1.25rem, 3vw, 2.25rem); text-align: center; }
main .cp-educators h3 { font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin: .2rem 0 1.2rem; }
.cp-edu-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.cp-edu-grid figure { margin: 0; }
.cp-edu-grid img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 16px 28px -20px rgba(11,26,69,.5); filter: saturate(.95); }
.cp-edu-grid figcaption { margin-top: .5rem; font-size: .85rem; font-weight: 600; color: #0b1a45; }
.cp-edu-placeholder > div { aspect-ratio: 900 / 1165; border-radius: 8px; background: linear-gradient(160deg, #0b1a45, #16306b); color: #fff; display: grid; place-content: center; gap: .4rem; padding: 1rem; box-shadow: 0 16px 28px -20px rgba(11,26,69,.5); }
.cp-edu-placeholder span { font: 800 2.2rem/1 Poppins, system-ui, sans-serif; color: #f5b72e; }
.cp-edu-placeholder strong { font-size: 1rem; }
.cp-edu-placeholder em { font-size: .8rem; color: #c9d6ea; font-style: normal; text-transform: uppercase; letter-spacing: .06em; }
.cp-edu-note { max-width: 720px; margin: 1.2rem auto .4rem; font-size: .95rem; color: #1d2f6f; }
.cp-lightbox { border: 0; padding: 0; background: transparent; max-width: min(92vw, 900px); max-height: 94vh; overflow: visible; }
.cp-lightbox::backdrop { background: rgba(11,26,69,.82); }
.cp-lightbox figure { margin: 0; text-align: center; }
.cp-lightbox img { max-height: 84vh; max-width: 100%; width: auto; border-radius: 8px; background: #fff; }
.cp-lightbox figcaption { color: #fff; margin-top: .6rem; font: 600 .95rem/1.4 Poppins, system-ui, sans-serif; }
.cp-lightbox__close, .cp-lightbox__nav { position: fixed; border: 0; background: rgba(255,255,255,.92); color: #0b1a45; width: 44px; height: 44px; border-radius: 50%; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.cp-lightbox__close { top: 16px; right: 16px; } .cp-lightbox__prev { left: 16px; top: 50%; } .cp-lightbox__next { right: 16px; top: 50%; }
@media (max-width: 760px) {
  .cp-intro, .cp-intro--sub { grid-template-columns: minmax(0, 1fr); }
  .cp-cover { max-width: 240px; margin: 0 auto; }
  .cp-edu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cp-gallery { grid-auto-columns: 72vw; }
}
.cp-hint { margin: 1.4rem 0 0; font-size: .85rem; color: #55697a; } .cp-hint + .cp-gallery { margin-top: 0; }

/* ---------- Public lesson samples collection ---------- */
.lesson-sample-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.4rem); margin-top: 1.25rem; align-items: stretch; }
.lesson-sample-grid--1 { grid-template-columns: minmax(0, 360px); justify-content: center; }
.lesson-sample-grid--2 { grid-template-columns: repeat(2, minmax(0, 340px)); justify-content: center; }
.lesson-sample-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 980px; margin-inline: auto; }
.lesson-sample-card { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(11,26,69,.1); border-radius: 18px; overflow: hidden; box-shadow: 0 14px 30px -24px rgba(11,26,69,.5); }
.lesson-sample-card__cover { display: block; background: #f6efe2; padding: 14px 14px 0; }
.lesson-sample-card__cover img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: contain; border-radius: 8px 8px 0 0; box-shadow: 0 10px 22px -18px rgba(11,26,69,.6); transition: transform .18s ease; }
.lesson-sample-card__cover:hover img { transform: translateY(-3px); }
.lesson-sample-card__body { display: flex; flex-direction: column; flex: 1; padding: 1rem 1.1rem 1.15rem; }
.lesson-sample-card__meta { margin: 0 0 .3rem; font: 700 .76rem/1.3 Poppins, system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; color: #55697a; }
.lesson-sample-card__meta span { color: #0e7c89; }
main .lesson-sample-card h3 { font-size: 1.2rem; line-height: 1.25; margin: 0 0 .45rem; }
.lesson-sample-card__body > p { font-size: .92rem; line-height: 1.5; margin: 0 0 .7rem; }
.lesson-sample-card__tag { font-size: .78rem !important; color: #8a5a17; font-weight: 700; }
.lesson-sample-card__btn { margin-top: auto; align-self: flex-start; }
.lesson-sample-card a:focus-visible, .lesson-sample-card__cover:focus-visible { outline: 3px solid #0e7c89; outline-offset: 3px; border-radius: 10px; }
.visually-hidden-pdf { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lesson-sample-note { max-width: 760px; margin: 1rem auto 0; text-align: center; font-size: .88rem; color: #55697a; }
@media (max-width: 1100px) { .lesson-sample-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .lesson-sample-grid, .lesson-sample-grid--2 { grid-template-columns: minmax(0, 1fr); } .lesson-sample-grid--1 { grid-template-columns: minmax(0, 1fr); } }
.lesson-sample-card__meta .nowrap { white-space: nowrap; color: inherit; }

/* 2026-10-04: educator materials shown as text tiles (no restricted cover artwork) */
.cp-edu-tile > div { aspect-ratio: auto; min-height: 190px; padding: 1.4rem 1rem; }
.cp-edu-tile span { font-size: 1.15rem; letter-spacing: .02em; }
.cp-edu-tile strong { font-size: 1.05rem; line-height: 1.3; }
