
.curriculum-detail-page { background: var(--paper); }
.curriculum-detail-header {
  position: fixed; z-index: 1200; inset: 0 0 auto; display: flex; align-items: center;
  justify-content: space-between; min-height: 82px; padding: 1rem var(--pad);
  background: rgba(7,26,54,.94); color: #fff; backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.14);
}
.curriculum-detail-nav { display:flex; align-items:center; gap:clamp(1rem,2.5vw,2.5rem); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.curriculum-detail-nav a { position:relative; padding:.45rem 0; }
.curriculum-detail-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:currentColor; transition:right .25s ease; }
.curriculum-detail-nav a:hover::after,.curriculum-detail-nav a:focus-visible::after { right:0; }
.curriculum-detail-nav .back-to-main { display:inline-flex; align-items:center; gap:.6rem; padding:.72rem 1rem; border:1px solid rgba(255,255,255,.4); }
.curriculum-detail-nav .back-to-main::after { display:none; }
.curriculum-detail-hero {
  position:relative; min-height:88svh; padding-top:clamp(10rem,16vw,15rem);
  display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
  background:var(--navy); color:#fff;
}
.curriculum-detail-hero > *:not(.curriculum-detail-orbits) { position:relative; z-index:2; }
.curriculum-detail-hero h1 { max-width:1420px; margin:0; font-size:clamp(3.3rem,8.3vw,10rem); line-height:.86; letter-spacing:-.07em; font-weight:500; }
.curriculum-detail-intro { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr); align-items:end; gap:clamp(2rem,6vw,8rem); margin-top:clamp(3rem,7vw,7rem); }
.curriculum-detail-intro>p { max-width:760px; margin:0; color:rgba(255,255,255,.72); font-size:clamp(1.2rem,2vw,2rem); }
.curriculum-detail-jump { display:grid; gap:.8rem; }
.curriculum-detail-jump a { display:flex; justify-content:space-between; gap:2rem; padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.38); font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.curriculum-detail-orbits { position:absolute; inset:0; opacity:.42; transform:translate(46%,8%); }
.curriculum-detail-orbits span { position:absolute; border-radius:50%; mix-blend-mode:screen; }
.curriculum-detail-orbits span:nth-child(1){width:24vw;height:24vw;min-width:260px;min-height:260px;left:5%;top:34%;background:var(--blue-2);}
.curriculum-detail-orbits span:nth-child(2){width:36vw;height:36vw;min-width:390px;min-height:390px;left:22%;top:22%;background:var(--blue-4);}
.curriculum-detail-orbits span:nth-child(3){width:42vw;height:42vw;min-width:460px;min-height:460px;left:48%;top:13%;background:var(--blue-5);}
.curriculum-document { scroll-margin-top:80px; }
.curriculum-map-section { background:#e8edf1; }
.curriculum-arc-section { background:var(--ink); color:#fff; }
.document-heading { display:grid; grid-template-columns:minmax(170px,.45fr) minmax(0,1.55fr); gap:clamp(2rem,6vw,8rem); margin-bottom:clamp(4rem,8vw,8rem); }
.document-number { display:block; margin-bottom:2rem; font-size:.75rem; font-weight:700; letter-spacing:.1em; }
.document-heading h2 { margin:0; font-size:clamp(3rem,7vw,8rem); line-height:.9; letter-spacing:-.065em; font-weight:500; }
.document-heading>div:last-child>p { max-width:790px; margin:2rem 0 0; color:#565e66; font-size:clamp(1.05rem,1.65vw,1.55rem); }
.curriculum-arc-section .document-heading>div:last-child>p { color:rgba(255,255,255,.66); }
.document-pages { display:grid; gap:clamp(2rem,5vw,5rem); width:min(1120px,100%); margin:0 auto; }
.document-page { margin:0; }
.document-page img { display:block; width:100%; height:auto; background:#fff; box-shadow:0 28px 80px rgba(7,26,54,.13); }
.curriculum-arc-section .document-page img { box-shadow:0 30px 90px rgba(0,0,0,.36); }
.document-page figcaption { margin-top:.75rem; color:#70777e; font-size:.65rem; letter-spacing:.09em; text-align:right; text-transform:uppercase; }
.curriculum-arc-section .document-page figcaption { color:rgba(255,255,255,.42); }
.document-transition { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(250px,.6fr); gap:3rem; align-items:end; margin-top:clamp(5rem,10vw,10rem); padding-top:clamp(3rem,6vw,6rem); border-top:1px solid var(--line); }
.document-transition p { max-width:930px; margin:0; font-size:clamp(2rem,4.5vw,5.3rem); line-height:.96; letter-spacing:-.055em; }
.document-transition a { display:flex; justify-content:space-between; gap:2rem; padding-bottom:.8rem; border-bottom:1px solid currentColor; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.curriculum-detail-end { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr); align-items:end; gap:clamp(2rem,7vw,8rem); background:var(--blue-5); }
.curriculum-detail-end p { max-width:920px; margin:0; color:var(--navy); font-size:clamp(2rem,4.6vw,5.6rem); line-height:.95; letter-spacing:-.055em; }
.curriculum-detail-end .outline-button { color:var(--navy); border-color:rgba(7,26,54,.65); }
.curriculum-detail-footer { background:var(--navy); color:#fff; }
@media (max-width:900px){
  .curriculum-detail-header{align-items:flex-start}
  .curriculum-detail-nav>a:not(.back-to-main){display:none}
  .curriculum-detail-intro,.document-heading,.document-transition,.curriculum-detail-end{grid-template-columns:1fr}
  .curriculum-detail-intro{align-items:start}.curriculum-detail-jump{max-width:420px}
}
@media (max-width:600px){
  .curriculum-detail-header{min-height:72px;padding:.85rem 1.1rem}
  .curriculum-detail-header .wordmark{font-size:.66rem}
  .curriculum-detail-nav .back-to-main{padding:.6rem .75rem;font-size:.62rem}
  .curriculum-detail-hero{min-height:78svh;padding-top:8.5rem}
  .curriculum-detail-hero h1{font-size:clamp(3rem,16vw,5.8rem)}
  .document-pages{gap:2rem}.document-page figcaption{font-size:.58rem}
}


/* =========================================================
   Split curriculum pages
   ========================================================= */

.curriculum-detail-nav .is-current::after {
  right: 0;
}

.curriculum-arc-hero {
  background: var(--ink);
}

.curriculum-next-step {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, .5fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 8rem);
  background: var(--blue-5);
  color: var(--navy);
}

.curriculum-next-step p {
  max-width: 1050px;
  margin: 0;
  font-size: clamp(2.3rem, 5vw, 6rem);
  line-height: .94;
  letter-spacing: -.06em;
}

.curriculum-next-step .outline-button {
  color: var(--navy);
  border-color: rgba(7, 26, 54, .62);
}

.curriculum-end-actions {
  display: grid;
  gap: .85rem;
}

.curriculum-end-actions .outline-button {
  width: 100%;
}

.curriculum-footer-links {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 3vw, 3rem);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .curriculum-next-step {
    grid-template-columns: 1fr;
  }

  .curriculum-next-step .outline-button {
    max-width: 440px;
  }
}

@media (max-width: 600px) {
  .curriculum-detail-nav .is-current {
    display: none;
  }

  .curriculum-next-step p {
    font-size: clamp(2.3rem, 12vw, 4.4rem);
  }

  .curriculum-footer-links {
    flex-direction: column;
    align-items: flex-end;
    gap: .55rem;
  }
}


/* =========================================================
   Native HTML curriculum map + arc
   ========================================================= */
.sr-only,.sr-only:focus:not(:focus-visible){position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.map-overview{background:#e8edf1}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(7,26,54,.12)}
.overview-grid article{padding:clamp(1.6rem,3vw,3rem);background:var(--paper)}.overview-grid h3{margin:0 0 1rem;font-size:clamp(1.35rem,2.2vw,2.2rem);letter-spacing:-.035em}.overview-grid p{margin:.75rem 0 0;color:#535b62;line-height:1.55}.overview-highlight.blue{border-top:6px solid #356c98}.overview-highlight.gold{border-top:6px solid #b8750a}.overview-highlight.green{border-top:6px solid #187550}
.map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:2.2rem}.legend-title{width:100%;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.legend-item,.source,.phase-tag{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .58rem;font-size:.68rem;font-weight:700;line-height:1}.legend-item.status-exists{background:#eceae4}.legend-item.status-partial{background:#dff2ec;color:#116f53}.legend-item.status-gap{background:#fff0d9;color:#8a5c00}.legend-item.status-new{background:#f8e3eb;color:#822c4c}.source-crsj{background:#e3eef8;color:#245f8b}.source-mwlt{background:#e8f2dd;color:#427121}.source-hcr{background:#f8e3eb;color:#822c4c}.source-nea{background:#fff0d9;color:#744d15}
.tracks-section{background:#f3f1ec}.tracks-header{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;align-items:end;margin-bottom:clamp(3rem,6vw,6rem)}.tracks-header h2,.build-next h2{margin:.3rem 0 0;font-size:clamp(3rem,7vw,8rem);line-height:.9;letter-spacing:-.065em;font-weight:500}.map-filters{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.filter-button{border:1px solid rgba(7,26,54,.24);background:transparent;padding:.72rem 1rem;font:inherit;font-size:.68rem;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.filter-button.is-active{background:var(--navy);color:#fff;border-color:var(--navy)}
.tracks-list{display:grid;gap:clamp(2rem,4vw,4rem)}.curriculum-track{--pillar:#356c98}.curriculum-track.pillar-capacity{--pillar:#187550}.curriculum-track.pillar-action{--pillar:#963052}.track-toggle{display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;width:100%;border:0;border-top:4px solid var(--pillar);border-bottom:1px solid rgba(7,26,54,.2);background:transparent;padding:1.1rem 0;text-align:left;cursor:pointer}.track-index{color:var(--pillar);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.track-title{font-size:clamp(1.3rem,2.2vw,2.3rem);letter-spacing:-.035em}.track-pillar{color:var(--pillar);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.track-chevron{font-size:1.35rem}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid rgba(7,26,54,.14)}.curriculum-track.is-collapsed .module-grid{display:none}.map-module{position:relative;min-height:190px;padding:1.4rem;border-right:1px solid rgba(7,26,54,.14);border-bottom:1px solid rgba(7,26,54,.14);background:#eeece6}.map-module[hidden]{display:none}.map-module.status-partial{background:#dff2ec}.map-module.status-gap,.map-module.status-new{background:#fff0d9}.map-module.status-new:nth-child(even){background:#f8e3eb}.module-status{color:#444;font-size:.95rem}.status-partial .module-status{color:#187550}.status-gap .module-status,.status-new .module-status{color:#8c5c00}.map-module h4{margin:.5rem 0 .6rem;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.1}.map-module p{margin:0;color:#64696e;font-size:.9rem;line-height:1.4}.module-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:1.2rem}.phase-tag{background:rgba(7,26,54,.08);color:var(--navy)}
.build-next{background:#fff}.build-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:3rem;background:rgba(7,26,54,.12)}.build-card{padding:clamp(1.5rem,3vw,3rem);background:#f4f0eb}.build-card>span{display:block;margin-bottom:1.3rem;font-size:.7rem;font-weight:700}.build-card h3{margin:0 0 .8rem;font-size:clamp(1.35rem,2vw,2rem);letter-spacing:-.03em}.build-card p{margin:0;color:#555e64;line-height:1.5}.tone-pink{background:#fae9ec}.tone-gold{background:#fff0d9}.tone-rose{background:#f7e7ef}.tone-green{background:#e3f3ec}.tone-blue{background:#e4eef7}
.arc-principles{background:#e8edf1}.principles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(7,26,54,.12)}.principles-grid article{padding:clamp(1.5rem,3vw,3rem);background:#fff}.principles-grid article:nth-child(1){border-top:6px solid #356c98}.principles-grid article:nth-child(2){border-top:6px solid #187550}.principles-grid article:nth-child(3){border-top:6px solid #b8750a}.principles-grid article:nth-child(4){border-top:6px solid #963052}.principles-grid h3,.watch-block h3,.priority-list h3{margin:0 0 .8rem;font-size:clamp(1.3rem,2vw,2rem)}.principles-grid p,.watch-block p{margin:0;color:#565e65;line-height:1.55}.watch-block{margin-top:2rem;padding:clamp(1.5rem,3vw,3rem);border-left:6px solid #b8750a;background:#fff0d9}.priority-list{margin-top:2rem}.priority-list ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;padding:0;margin:1.2rem 0 0;list-style:none;background:rgba(7,26,54,.12);counter-reset:item}.priority-list li{counter-increment:item;padding:1.5rem;background:#fff}.priority-list li::before{content:counter(item,decimal-leading-zero);display:block;margin-bottom:1rem;color:#888;font-size:.7rem;font-weight:700}.priority-list strong,.priority-list span{display:block}.priority-list span{margin-top:.55rem;color:#62696f;line-height:1.45}
.arc-journey{background:var(--ink);color:#fff}.arc-nav{position:sticky;top:82px;z-index:20;display:grid;grid-template-columns:repeat(6,1fr);background:rgba(11,13,16,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.16)}.arc-nav a{padding:1rem;border-right:1px solid rgba(255,255,255,.12);font-size:.72rem;color:rgba(255,255,255,.72)}.arc-nav span{display:block;margin-bottom:.35rem;color:#fff;font-weight:700}.phases-list{display:grid;gap:clamp(5rem,9vw,9rem);margin-top:clamp(4rem,7vw,7rem)}.arc-phase{scroll-margin-top:150px}.phase-header{display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:end;padding:clamp(1.4rem,2.5vw,2.4rem);background:var(--phase-color)}.phase-header span{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.phase-header h2{margin:0;font-size:clamp(2.4rem,5vw,5.5rem);line-height:.95;letter-spacing:-.055em;font-weight:500}.arc-pillar{margin-top:1.4rem}.arc-pillar>h3{margin:0;padding:.75rem 1rem;border-left:5px solid;background:#fff;color:var(--navy);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.pillar-consciousness>h3{border-color:#356c98;background:#e4eef7}.pillar-capacity>h3{border-color:#187550;background:#e3f3ec}.pillar-action>h3{border-color:#83449a;background:#f3e7f6}.arc-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.14)}.arc-item{position:relative;min-height:135px;padding:1.2rem 1.3rem;background:#f1efe9;color:#222}.arc-item.status-new{background:#f8e3eb}.arc-item.status-gap{background:#fff0d9}.arc-status{position:absolute;top:1.15rem;left:1.2rem;color:#842e4f}.arc-item h4{margin:0 0 .55rem;padding-left:1.2rem;font-size:clamp(1rem,1.4vw,1.25rem)}.arc-item p{margin:0;color:#666c71;line-height:1.4}.phase-bridge{margin-top:1.5rem;padding:1.5rem;border-left:5px solid var(--phase-color);background:color-mix(in srgb,var(--phase-color) 14%,white);color:#222}.phase-bridge h3{margin:0 0 .55rem;color:var(--phase-color);font-size:1rem}.phase-bridge p{margin:0;line-height:1.5;font-style:italic}.loop-close{margin-top:clamp(6rem,12vw,12rem);padding-top:clamp(3rem,6vw,6rem);border-top:1px solid rgba(255,255,255,.25)}.loop-close h2{max-width:1200px;margin:.5rem 0 1.5rem;font-size:clamp(3rem,7vw,8rem);line-height:.9;letter-spacing:-.06em;font-weight:500}.loop-close>p:last-child{max-width:900px;color:rgba(255,255,255,.67);font-size:1.15rem;line-height:1.6}
@media(max-width:900px){.overview-grid,.principles-grid,.build-grid{grid-template-columns:1fr}.tracks-header{grid-template-columns:1fr}.map-filters{justify-content:flex-start}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.priority-list ol{grid-template-columns:1fr 1fr}.arc-nav{grid-template-columns:repeat(3,1fr)} }
@media(max-width:640px){.track-toggle{grid-template-columns:1fr auto}.track-index,.track-title{grid-column:1}.track-pillar{grid-column:1}.track-chevron{grid-column:2;grid-row:1/4}.module-grid,.arc-items,.priority-list ol{grid-template-columns:1fr}.map-module{min-height:0}.arc-nav{position:static;grid-template-columns:repeat(2,1fr)}.phase-header{grid-template-columns:1fr}.arc-pillar>h3{font-size:.68rem}.phase-bridge{padding:1.2rem}}


/* =========================================================
   Arc readability and in-page navigation fixes
   ========================================================= */

/* The arc is a reading surface, so use a light neutral field rather than black. */
.curriculum-arc-page .arc-journey {
  background: #e7ecef;
  color: var(--navy);
}

.curriculum-arc-page .arc-nav {
  background: rgba(16, 22, 29, .96);
  border-bottom-color: rgba(255, 255, 255, .14);
  box-shadow: 0 10px 26px rgba(7, 26, 54, .12);
}

.curriculum-arc-page .phases-list {
  gap: clamp(4rem, 7vw, 7rem);
}

.curriculum-arc-page .arc-phase {
  padding: clamp(.75rem, 1.4vw, 1.25rem);
  background: rgba(255,255,255,.52);
  border: 1px solid rgba(7,26,54,.1);
}

.curriculum-arc-page .arc-items {
  background: #cfd6db;
}

.curriculum-arc-page .arc-item {
  background: #f4f2ed;
  color: #20252a;
}

.curriculum-arc-page .arc-item.status-new {
  background: #f8e3eb;
}

.curriculum-arc-page .arc-item.status-gap {
  background: #fff0d9;
}

/* Override the older main-site .phase-bridge rules. */
.curriculum-arc-page .phase-bridge {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 5px solid var(--phase-color);
  background: color-mix(in srgb, var(--phase-color) 12%, white);
  color: #222a31;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.curriculum-arc-page .phase-bridge h3 {
  color: var(--phase-color);
}

.curriculum-arc-page .phase-bridge p {
  max-width: 72rem;
  color: #3e464d;
  font-size: .92rem;
  line-height: 1.55;
}

.curriculum-arc-page .loop-close {
  border-top-color: rgba(7,26,54,.2);
}

.curriculum-arc-page .loop-close h2 {
  color: var(--navy);
}

.curriculum-arc-page .loop-close > p:last-child {
  color: #4f5961;
}

@supports not (background: color-mix(in srgb, black 10%, white)) {
  .curriculum-arc-page .phase-bridge {
    background: #f4eef1;
  }
}
