:root{--ch-yellow:#fff200;--ch-green:#94ff53;--ch-black:#020603;--ch-ink:#f4f5ec;--ch-muted:#c9d5c8}*{box-sizing:border-box}html{scroll-behavior:smooth}body.etp-curriculum{margin:0;background:radial-gradient(circle at 70% 3%,#21423255,transparent 35%),#020603;color:var(--ch-ink);font:16px/1.6 Georgia,"Times New Roman",serif}body.etp-curriculum a{color:var(--ch-green)}.etp-layout{width:min(1440px,calc(100% - 36px));margin:auto;padding:32px 0 90px}.etp-overline{color:var(--ch-green);font:bold 11px Georgia,serif;letter-spacing:.13em;text-transform:uppercase}.etp-hero{padding:24px 4px 20px}.etp-hero h1{font-size:clamp(37px,5vw,66px);line-height:1.08;color:var(--ch-yellow);margin:8px 0 14px}.etp-hero p{max-width:950px;color:#d6e3d5;font-size:clamp(15px,1.5vw,18px)}.etp-path{display:inline-flex;gap:8px;align-items:center;padding:8px 13px;background:#102219;border:1px solid #94ff536a;border-radius:8px;text-decoration:none;font-weight:bold;font-size:13px;margin:4px 0 12px}.etp-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 20px}.etp-stat{border:1px solid #94ff5350;border-radius:22px;padding:5px 12px;font:bold 13px Georgia,serif;color:#f5efb6}.etp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.etp-card{background:linear-gradient(160deg,#12272d,#081510);border:1px solid #7ccc6990;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}.etp-card:hover,.etp-card:focus-within{transform:translateY(-3px);border-color:var(--ch-yellow)}.etp-card-media{height:190px;position:relative;background:linear-gradient(125deg,#173c4e,#28401f);overflow:hidden}.etp-card-media img{width:100%;height:100%;object-fit:cover;opacity:.75;filter:saturate(.9)}.etp-art-pending{position:absolute;bottom:8px;left:9px;background:#030907d9;color:#e4e7d8;border:1px solid #ffffff40;padding:2px 7px;font:11px Georgia,serif;border-radius:5px}.etp-card-content{display:flex;flex:1;flex-direction:column;gap:7px;padding:17px}.etp-card h2{color:var(--ch-yellow);font-size:clamp(18px,1.7vw,23px);line-height:1.2;margin:3px 0}.etp-card p{font-size:13px;color:#d5e3d2;margin:0}.etp-card-subtitle{font-weight:700;color:#b6fb8e!important}.etp-card-actions{margin-top:auto;padding-top:12px;display:grid;gap:8px}.etp-action{display:block;border:1px solid var(--ch-green);border-radius:9px;text-align:center;background:#17432e;color:var(--ch-yellow)!important;text-decoration:none;padding:9px 12px;font:bold 13px Georgia,serif;cursor:pointer}.etp-card details>summary{cursor:pointer;display:block;text-align:center;border:1px solid #94ff538a;border-radius:9px;padding:9px 12px;font:bold 13px Georgia,serif;list-style:none}.etp-card details>summary::-webkit-details-marker{display:none}.etp-card details[open]>summary{background:#102d22;color:var(--ch-yellow)}.etp-card details ul{font-size:12px;padding-left:17px}.etp-card details li{margin:8px 0}.etp-course-banner{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:center;background:linear-gradient(130deg,#102d37,#0a1615);border:1px solid #94ff5368;border-radius:20px;padding:clamp(18px,3vw,33px);margin:16px 0 27px}.etp-course-banner h1{font-size:clamp(29px,4vw,50px);color:var(--ch-yellow);line-height:1.15;margin:5px 0}.etp-course-banner figure{margin:0}.etp-course-banner img{width:100%;height:250px;object-fit:cover;border-radius:13px}.etp-course-banner figcaption{font-size:11px;color:#d5dfd6}.etp-section{margin:24px 0;padding:clamp(17px,3vw,26px);border:1px solid #94ff534d;background:#081715;border-radius:16px}.etp-section h2{color:var(--ch-yellow);font-size:clamp(21px,2.5vw,30px);margin:0 0 10px}.etp-section p{margin:7px 0}.etp-unit{margin:11px 0;background:#10272a;border:1px solid #94ff5360;border-radius:11px;scroll-margin-top:115px}.etp-unit summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;min-height:58px;padding:13px 18px;list-style:none}.etp-unit summary::-webkit-details-marker{display:none}.etp-unit summary:after{content:"+";font-size:25px;color:var(--ch-green)}.etp-unit[open] summary:after{content:"−"}.etp-unit-title{font-weight:700;color:var(--ch-yellow)}.etp-unit-count{font-size:12px;color:#d7e6d3;margin-left:auto;white-space:nowrap}.etp-unit-body{padding:0 18px 18px}.etp-unit-lessons{display:grid;gap:7px;margin-top:11px}.etp-lesson-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;background:#061911;border:1px solid #94ff5340;border-radius:8px;text-decoration:none;color:#f4f7ee!important}.etp-lesson-link:hover,.etp-lesson-link:focus-visible{border-color:var(--ch-yellow);color:var(--ch-yellow)!important}.etp-lesson-link small{color:#b6d9af;font-size:11px;white-space:nowrap}.etp-pill{display:inline-block;font-size:12px;padding:5px 11px;border-radius:22px;color:#e9f6e1;border:1px solid #94ff536d;background:#15332a;margin:4px 5px 5px 0}.etp-pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.etp-pathway{border:1px solid #94ff536b;padding:20px;background:#102a2b;border-radius:14px}.etp-pathway h3{color:var(--ch-yellow);margin:4px 0;font-size:21px}.etp-pathway .etp-action{margin-top:12px}.etp-preview-label{color:#fff200;border:1px solid #94ff53;display:inline-block;padding:5px 11px;border-radius:6px;background:#143029;font-weight:700}.etp-bottom-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.etp-bottom-nav a{background:#12362a;border:1px solid #94ff536b;border-radius:9px;padding:10px 13px;text-decoration:none;font-weight:700}.etp-portfolio{background:#0d1f27;border:1px solid #94ff5370;border-radius:15px;padding:24px;margin:25px 0}.etp-portfolio h2{color:var(--ch-yellow)}.etp-portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.etp-portfolio-grid span{background:#102c25;padding:13px;border-left:2px solid #94ff53;font-size:14px}.etp-disclaimer{font-size:13px;color:#ccd8cb}.etp-curriculum :focus-visible{outline:2px solid var(--ch-yellow);outline-offset:2px}@media(max-width:1100px){.etp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.etp-pathway-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.etp-layout{width:calc(100% - 22px)}.etp-cards,.etp-pathway-grid,.etp-course-banner,.etp-portfolio-grid{grid-template-columns:1fr}.etp-card-media{height:185px}.etp-course-banner img{height:190px}.etp-unit summary{padding:12px}.etp-unit-count{white-space:normal}.etp-lesson-link{align-items:flex-start;flex-direction:column}.etp-lesson-link small{white-space:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.etp-card{transition:none}}
/* History Hub course cards: larger three-column visual layout, descriptions and actions retained */
@media(min-width:1101px){.etp-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.etp-card-media{height:auto;aspect-ratio:3.05 / 1;min-height:155px}.etp-card-content{padding:21px}.etp-card h2{font-size:clamp(21px,2vw,27px)}}
.etp-card-media img{opacity:1;filter:none;object-fit:cover;object-position:center}
.etp-card-media:has(img[src*="assets/history-hub/"]) img{object-fit:cover;object-position:center}
@media(max-width:1100px) and (min-width:651px){.etp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.etp-cards{grid-template-columns:1fr}.etp-card-media{height:auto;aspect-ratio:3 / 1;min-height:115px}}
.etp-course-banner figure img[src*="assets/history-hub/"]{object-fit:cover;object-position:center;filter:none;opacity:1}

/* Cinematic course introductions: same existing banner image fills the complete header
   behind the original title, synopsis, essential question and stats. */
.etp-curriculum .etp-course-banner{
  position:relative!important;isolation:isolate;
  display:flex!important;flex-direction:column!important;
  align-items:stretch!important;justify-content:center!important;
  min-height:clamp(330px,31vw,465px)!important;
  padding:clamp(25px,5vw,64px)!important;
  overflow:hidden!important;
  background:#06110d!important;
  border:1px solid rgba(152,255,79,.62)!important;
  box-shadow:0 14px 42px rgba(0,0,0,.36)!important;
}
.etp-curriculum .etp-course-banner>figure{
  position:absolute!important;inset:0!important;z-index:0!important;
  margin:0!important;width:100%!important;height:100%!important;
  overflow:hidden!important;border-radius:inherit!important;
}
.etp-curriculum .etp-course-banner>figure img,
.etp-curriculum .etp-course-banner>figure img[src*="assets/history-hub/"]{
  display:block!important;width:100%!important;height:100%!important;
  border-radius:0!important;object-fit:cover!important;
  object-position:center!important;opacity:1!important;
  filter:brightness(.68) saturate(.92)!important;
}
.etp-curriculum .etp-course-banner:after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(1,10,9,.90) 0%,rgba(1,10,9,.78) 38%,rgba(1,10,9,.45) 78%,rgba(1,10,9,.55) 100%),
  linear-gradient(0deg,rgba(1,10,9,.74) 0%,transparent 24%,transparent 74%,rgba(1,10,9,.48) 100%);
}
.etp-curriculum .etp-course-banner>.etp-course-intro{
  position:relative!important;z-index:2!important;
  max-width:940px!important;width:100%!important;
  text-shadow:0 2px 8px rgba(0,0,0,.85)!important;
}
.etp-curriculum .etp-course-banner h1{color:#fff200!important;max-width:850px}
.etp-curriculum .etp-course-banner p{color:#f4f7f0!important;max-width:860px;font-size:clamp(15px,1.45vw,18px);line-height:1.65}
.etp-curriculum .etp-course-banner .etp-overline{color:#aaff62!important;font-weight:700}
.etp-curriculum .etp-course-banner .etp-stat{background:rgba(3,18,13,.78)!important;backdrop-filter:blur(3px);text-shadow:none}
.etp-curriculum .etp-course-banner figcaption{display:none!important}
@media(max-width:650px){
  .etp-curriculum .etp-course-banner{min-height:375px!important;padding:25px 19px!important}
  .etp-curriculum .etp-course-banner:after{
    background:linear-gradient(90deg,rgba(1,10,9,.88),rgba(1,10,9,.65)),
    linear-gradient(0deg,rgba(1,10,9,.79),transparent 45%,rgba(1,10,9,.45))}
  .etp-curriculum .etp-course-banner p{font-size:14px;line-height:1.55}
  .etp-curriculum .etp-course-banner h1{font-size:clamp(28px,7.5vw,42px)}
}

/* Fix: art layer must cover the ENTIRE introduction panel.
   Older >div rule constrained art to the text column. */
body.etp-curriculum .etp-course-banner>.etp-course-art-bg{
  position:absolute!important;inset:0!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  display:block!important;width:auto!important;height:auto!important;
  min-width:0!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;flex:none!important;
  background-size:cover!important;background-position:center center!important;
  background-repeat:no-repeat!important;
  z-index:0!important;pointer-events:none!important;
}

/* Preserve the panoramic focal point on the RIGHT while fading toward left-side copy. */
html body.etp-curriculum .etp-course-banner>.etp-course-art-bg{
  background-position:right center!important;
  background-size:cover!important;
  filter:brightness(.98) saturate(1.02)!important;
}
html body.etp-curriculum .etp-course-banner::after{
  background:linear-gradient(90deg,rgba(0,8,8,.92) 0%,rgba(0,8,8,.73) 43%,rgba(0,8,8,.32) 68%,rgba(0,8,8,.12) 100%),
  linear-gradient(0deg,rgba(0,7,7,.35) 0%,transparent 28%,transparent 78%,rgba(0,7,7,.21) 100%)!important;
}
@media(max-width:650px){
  html body.etp-curriculum .etp-course-banner::after{
    background:linear-gradient(90deg,rgba(0,8,7,.89),rgba(0,8,7,.47)),
    linear-gradient(0deg,rgba(0,8,7,.56),transparent 60%)!important;
  }
}
