/* =========================================================
   WHOLENESS EDUCATION — Foundation Stylesheet
   Color values sourced exactly from WE_Colour_Usage_Guide_v4
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&display=swap');

:root{
  /* Foundation — Homepage & shared surfaces */
  --night:      #1C2B22;
  --stone:      #8FA898;
  --mist:       #FAFBFA;
  --white:      #FFFFFF;
  --core-gold:  #D1A243;
  --warm-gold:  #E8BC5B;
  --pale-gold:  #F5E9CC;
  --gold-cream: #FEFCF5;

  /* Pathway anchor families */
  --jade:       #2E7D5E;
  --mid-jade:   #4A9A7A;
  --pale-jade:  #C8E8DC;
  --mint-ultra: #EAF6F1;

  --terracotta: #B5603A;
  --mid-terra:  #D4845E;
  --pale-terra: #F0D4C4;
  --terra-ultra:#FAF0EB;

  --ocean:      #1A3A52;
  --brand-blue: #2E5F7D;
  --sky-pale:   #C8DFF0;
  --sky-ultra:  #EAF4FA;

  /* Active pathway anchor — defaults to foundation (no anchor) */
  --anchor:      var(--night);
  --anchor-mid:  var(--stone);
  --anchor-pale: var(--mist);
  --anchor-bg:   var(--mist);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', -apple-system, sans-serif;

  --max: 1160px;
}

/* Pathway scopes — the ONLY place anchor colors are activated */
body[data-pathway="learning"]{
  --anchor: var(--jade); --anchor-mid: var(--mid-jade);
  --anchor-pale: var(--pale-jade); --anchor-bg: var(--mint-ultra);
}
body[data-pathway="parenting"]{
  --anchor: var(--terracotta); --anchor-mid: var(--mid-terra);
  --anchor-pale: var(--pale-terra); --anchor-bg: var(--terra-ultra);
}
body[data-pathway="educating"]{
  --anchor: var(--brand-blue); --anchor-mid: var(--ocean);
  --anchor-pale: var(--sky-pale); --anchor-bg: var(--sky-ultra);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family: var(--font-body);
  color: var(--night);
  background: var(--mist);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body[data-pathway]{ background: var(--anchor-bg); }

img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 32px;}

h1,h2,h3,h4{ font-family:var(--font-display); font-weight:500; color:var(--night); line-height:1.15; letter-spacing:-0.01em;}
h1{font-size:clamp(2.4rem,4.5vw,3.8rem); font-weight:400;}
h2{font-size:clamp(1.7rem,3vw,2.4rem);}
h3{font-size:1.3rem;}
h1 .tm, h2 .tm, h3 .tm{font-size:0.45em; vertical-align:super;}
p{font-size:1.05rem; color:var(--night);}
.eyebrow{
  font-family:var(--font-body); font-size:0.78rem; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--anchor-mid);
}
body:not([data-pathway]) .eyebrow{ color:var(--core-gold); }

/* ---------- Nav ---------- */
.site-nav{
  --nav-surface: var(--night);
  background:var(--nav-surface);
  border-bottom:2px solid var(--core-gold);
  position:sticky; top:0; z-index:50;
}
body[data-pathway] .site-nav{ --nav-surface: var(--anchor); }
.site-nav .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brand{
  font-family:var(--font-display); font-size:1.15rem; color:var(--white);
  letter-spacing:0.01em;
  display:inline-flex; align-items:center; gap:10px;
}
.brand strong{font-weight:500;}
.site-nav .brand-mark{height:30px; width:auto; display:block;}
footer .brand-mark{display:none;}
.footer-logo{height:140px; width:auto; display:block; margin-top:26px;}
.nav-links{display:flex; gap:34px; align-items:center;}
.nav-links a{
  color:var(--white); font-size:0.92rem; font-weight:500;
  opacity:0.88; transition:opacity .15s;
}
.nav-links a:hover{opacity:1; color:var(--warm-gold);}
.nav-links a.current{ color:var(--warm-gold); opacity:1; }

.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:10px; margin-right:-10px;
  width:44px; height:44px; flex-direction:column; justify-content:center; gap:5px;
}
.nav-toggle span{
  display:block; height:2px; width:24px; background:var(--white); border-radius:2px;
  transition:transform .2s, opacity .2s;
}
.site-nav.open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.site-nav.open .nav-toggle span:nth-child(2){opacity:0;}
.site-nav.open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-drop{position:relative; padding-bottom:14px; margin-bottom:-14px;}
.nav-drop > .drop-trigger{
  color:var(--white); font-size:0.92rem; font-weight:500;
  opacity:0.88; cursor:default; display:flex; align-items:center; gap:5px;
  background:none; border:none; font-family:var(--font-body); padding:0;
}
.nav-drop:hover > .drop-trigger, .nav-drop:focus-within > .drop-trigger{opacity:1;}
.nav-drop > .drop-trigger .chev{font-size:0.7rem; opacity:0.7; transition:transform .15s;}
.nav-drop:hover > .drop-trigger .chev{transform:rotate(180deg);}
.drop-trigger.current{color:var(--warm-gold); opacity:1;}
.nav-drop .dropdown-menu{
  position:absolute; top:100%; left:50%; transform:translate(-50%,4px);
  background:var(--nav-surface); min-width:180px; padding:8px 0;
  border-radius:10px; border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 12px 28px rgba(0,0,0,0.22);
  opacity:0; visibility:hidden; transition:opacity .15s, transform .15s;
}
.nav-drop:hover .dropdown-menu, .nav-drop:focus-within .dropdown-menu{
  opacity:1; visibility:visible; transform:translate(-50%,0);
}
.dropdown-menu a{
  display:block; padding:10px 18px; font-size:0.9rem; white-space:nowrap;
  color:var(--white); opacity:0.85;
}
.dropdown-menu a:hover{opacity:1; color:var(--warm-gold);}
.dropdown-menu a.current{color:var(--warm-gold); opacity:1;}

/* ---------- Hero ---------- */
.hero{
  background:var(--gold-cream);
  padding:96px 0 88px;
}
body[data-pathway] .hero{ background:var(--anchor-bg); }
.hero .eyebrow{margin-bottom:18px;}
.hero h1{margin-bottom:24px;}
.hero h1 em{
  font-style:normal; color:var(--core-gold);
}
.hero p.lede{
  max-width:620px; font-size:1.2rem; color:var(--night); opacity:0.82;
  margin-bottom:36px;
}

.hero-meta{
  color:var(--night); opacity:0.55; font-size:0.88rem; margin-top:28px;
}

.hero-dark{ background:var(--night); }
.hero-dark .eyebrow{ color:var(--core-gold); }
.hero-dark h1{ color:var(--white); }
.hero-dark h1 em{ color:var(--core-gold); }
.hero-dark p.lede{ color:var(--white); opacity:0.78; }
.hero-dark .hero-meta{
  color:var(--white); opacity:0.6; font-size:0.88rem; margin-top:28px;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 28px; border-radius:6px;
  font-weight:600; font-size:0.95rem;
  background:var(--core-gold); color:var(--night);
  border:none; cursor:pointer; transition:background .15s;
}
.btn:hover{background:var(--warm-gold);}
.btn-outline{
  background:transparent; border:1.5px solid var(--night); color:var(--night);
}
.btn-outline:hover{background:var(--night); color:var(--white);}
.btn-anchor{ background:var(--anchor); color:var(--white); }
.btn-outline-dark{
  background:transparent; border:1.5px solid rgba(255,255,255,0.4); color:var(--white);
}
.btn-outline-dark:hover{ background:var(--white); color:var(--night); border-color:var(--white); }
.btn-anchor:hover{ background:var(--core-gold); color:var(--night); }

/* ---------- Sections ---------- */
section{padding:88px 0;}
.section-mist{background:var(--mist);}
body[data-pathway] .section-mist{ background:var(--white); }
.section-cream{background:var(--gold-cream);}
body[data-pathway] .section-cream{ background:var(--white); }
.section-head{margin-bottom:56px;}
.section-head h2{margin-top:14px;}

/* ---------- Cards ---------- */
.card{
  background:var(--white);
  border-radius:12px;
  padding:36px;
  border:1px solid rgba(28,43,34,0.07);
}

/* Pathway cards on the homepage — the ONE place anchor colors
   are permitted before a pathway is entered (per usage guide) */
.pathway-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
  margin-top:12px;
}
.pathway-card{
  background:var(--white); border-radius:14px; overflow:hidden;
  border:1px solid rgba(28,43,34,0.1);
  box-shadow:0 4px 18px rgba(20,30,25,0.06);
  display:flex; flex-direction:column;
}
.pathway-card .bar{height:6px;}
.pathway-card.learning .bar{background:var(--jade);}
.pathway-card.parenting .bar{background:var(--terracotta);}
.pathway-card.educating .bar{background:var(--brand-blue);}
.pathway-card .body{padding:32px; display:flex; flex-direction:column; flex:1;}
.pathway-card .tag{
  font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  margin-bottom:14px;
}
.pathway-card.learning .tag{color:var(--jade);}
.pathway-card.parenting .tag{color:var(--terracotta);}
.pathway-card.educating .tag{color:var(--brand-blue);}
.pathway-card h3{margin-bottom:12px;}
.pathway-card p{font-size:0.96rem; opacity:0.8; margin-bottom:26px; flex:1;}
.pathway-card .btn{align-self:flex-start;}
.pathway-card.learning .btn{background:var(--jade); color:var(--white);}
.pathway-card.learning .btn:hover{background:var(--core-gold); color:var(--night);}
.pathway-card.parenting .btn{background:var(--terracotta); color:var(--white);}
.pathway-card.parenting .btn:hover{background:var(--core-gold); color:var(--night);}
.pathway-card.educating .btn{background:var(--brand-blue); color:var(--white);}
.pathway-card.educating .btn:hover{background:var(--core-gold); color:var(--night);}

/* ---------- Pull quote ---------- */
.pullquote{
  background:var(--gold-cream);
  border-left:3px solid var(--core-gold);
  padding:44px 48px;
  border-radius:2px 12px 12px 2px;
}
body[data-pathway="educating"] .pullquote{ background:var(--sky-pale); border-left-color:var(--ocean); }
.pullquote p{
  font-family:var(--font-display); font-size:1.4rem; font-style:italic;
  color:var(--night); line-height:1.5;
}
.pullquote cite{
  display:block; margin-top:18px; font-style:normal; font-size:0.85rem;
  color:var(--stone); font-family:var(--font-body); font-weight:600;
}

/* ---------- Signature motif: three rivers, one ocean ---------- */
.rivers{ display:flex; align-items:center; gap:0; margin:34px 0 6px; }
.rivers svg{display:block;}

/* ---------- Article (About page) ---------- */
.article{max-width:880px; margin:0 auto;}
.article h2{margin-top:52px; margin-bottom:18px;}
.article h2:first-child{margin-top:0;}
.article p{margin-bottom:20px; opacity:0.88; font-size:0.96rem;}
.article p.lead{font-size:1.2rem; opacity:0.75; font-style:italic; font-family:var(--font-display);}

/* ---------- Level badge / Lane cards (pathway pages) ---------- */
.badge{
  display:inline-flex; align-items:center; padding:6px 14px; border-radius:20px;
  background:var(--core-gold); color:var(--night); font-size:0.78rem; font-weight:700;
  letter-spacing:0.04em;
}
.lane-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px;}
.lane-card{
  background:var(--white); border-radius:12px; padding:28px;
  border-top:4px solid var(--anchor);
  border-left:1px solid rgba(28,43,34,0.1); border-right:1px solid rgba(28,43,34,0.1); border-bottom:1px solid rgba(28,43,34,0.1);
  box-shadow:0 4px 18px rgba(20,30,25,0.06);
}
.lane-card .num{
  font-family:var(--font-display); font-size:0.85rem; color:var(--anchor-mid); font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase; margin-bottom:10px; display:block;
}
.lane-card h4{font-family:var(--font-display); font-weight:500; font-size:1.1rem; margin-bottom:10px;}
.lane-card p{font-size:0.92rem; opacity:0.78;}

.green-accent{
  border-left:3px solid var(--jade);
  padding-left:20px;
}

/* ---------- Level path (developmental pathway timeline) ---------- */
.level-path{ position:relative; margin-top:16px; }
.level-path::before{
  content:''; position:absolute; left:27px; top:6px; bottom:6px;
  width:2px; background:var(--anchor-pale);
}
.level-item{ position:relative; display:flex; gap:28px; padding:26px 0; }
.level-num{
  flex:0 0 56px; height:56px; border-radius:50%;
  background:var(--anchor); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.25rem; z-index:1;
}
.level-content{padding-top:4px;}
.level-content h3{margin-bottom:4px;}
.level-shift{
  font-size:0.82rem; font-weight:600; color:var(--anchor-mid);
  margin-bottom:12px; letter-spacing:0.02em;
}
.level-content p.desc{opacity:0.82; margin-bottom:10px;}
.level-outcome{
  font-style:italic; font-family:var(--font-display); font-size:1.02rem;
  color:var(--night); opacity:0.7;
}
.level-prereq{
  display:inline-block; font-size:0.72rem; font-weight:600; letter-spacing:0.04em;
  text-transform:uppercase; color:var(--anchor); background:var(--anchor-pale);
  padding:4px 11px; border-radius:999px; margin-bottom:12px;
}

/* ---------- Offer cards ---------- */
.offer-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:12px;}
.offer-card{
  background:var(--white); border-radius:12px; padding:30px; border-top:3px solid var(--anchor);
  border-left:1px solid rgba(28,43,34,0.1); border-right:1px solid rgba(28,43,34,0.1); border-bottom:1px solid rgba(28,43,34,0.1);
  box-shadow:0 4px 18px rgba(20,30,25,0.06);
}
.offer-card .tag{font-size:0.72rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--anchor-mid); margin-bottom:12px; display:block;}
.offer-card h4{font-family:var(--font-display); font-weight:500; font-size:1.08rem; margin-bottom:10px;}
.offer-card p{font-size:0.92rem; opacity:0.78;}
.offer-card ul{margin-top:12px; padding-left:18px; font-size:0.88rem; opacity:0.8;}
.offer-card li{margin-bottom:6px;}

.flagship-banner{
  background:var(--anchor); color:var(--white); border-radius:14px;
  padding:36px 40px; margin-top:32px; display:flex; justify-content:space-between;
  align-items:center; gap:24px; flex-wrap:wrap;
}
.flagship-banner .tag{color:var(--warm-gold); font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; margin-bottom:8px; display:block;}
.flagship-banner h3{color:var(--white); font-family:var(--font-display); font-weight:500; margin-bottom:8px;}
.flagship-banner p{color:var(--white); opacity:0.85; font-size:0.94rem; max-width:480px;}

/* ---------- Shift list (paradigm from → to) ---------- */
.shift-list{margin-top:28px; border-top:1px solid rgba(28,43,34,0.1);}
.shift-row{
  display:flex; align-items:center; padding:18px 0;
  border-bottom:1px solid rgba(28,43,34,0.1);
  font-family:var(--font-display); font-size:1.05rem; flex-wrap:wrap; gap:6px 0;
}
.shift-row .from{opacity:0.5; flex:1 1 260px;}
.shift-row .arrow{color:var(--anchor); font-size:1.1rem; margin:0 18px; font-family:var(--font-body);}
.shift-row .to{font-weight:500; flex:1 1 260px; color:var(--anchor);}

/* ---------- The Model page: intelligence cards ---------- */
:root{
  --teal: #1F6F6A; --teal-mid:#3E8F89; --teal-pale:#D6EAE8; --teal-bg:#EFF6F5;
  --dawn: #3E5E8C; --dawn-mid:#6382AC; --dawn-pale:#D9E2F0; --dawn-bg:#F1F4FA;
}
.intel-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:12px;}
.intel-card{
  background:var(--white); border-radius:12px; padding:26px; border-top:3px solid var(--card-accent);
  border-left:1px solid rgba(28,43,34,0.1); border-right:1px solid rgba(28,43,34,0.1); border-bottom:1px solid rgba(28,43,34,0.1);
  box-shadow:0 4px 18px rgba(20,30,25,0.06);
}
.intel-card .code{
  font-family:var(--font-display); font-size:1.4rem; color:var(--card-accent);
  margin-bottom:6px; display:block;
}
.intel-card h4{font-family:var(--font-display); font-weight:500; font-size:1.02rem; margin-bottom:8px;}
.intel-card .hook{font-style:italic; font-size:0.86rem; opacity:0.65; margin-bottom:10px; font-family:var(--font-display);}
.intel-card p{font-size:0.88rem; opacity:0.78;}
.intel-card.core{--card-accent: var(--teal);}
.intel-card.applied{--card-accent: var(--dawn);}
.intel-card .icon-wrap{
  width:42px; height:42px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.intel-card.core .icon-wrap{background:var(--teal-pale); color:var(--teal);}
.intel-card.applied .icon-wrap{background:var(--dawn-pale); color:var(--dawn);}

.layer-frame{
  border:2px dashed var(--core-gold); border-radius:20px;
  padding:44px 28px 28px; position:relative; margin-top:32px;
}
.layer-frame-label{
  position:absolute; top:-15px; left:28px; background:var(--mist);
  padding:5px 16px; border-radius:20px; border:1.5px solid var(--core-gold);
  font-size:0.74rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--night); display:flex; align-items:center; gap:8px;
}
.layer-frame-label span{font-weight:400; text-transform:none; letter-spacing:0; opacity:0.65; font-size:0.92em;}
.layer-tier{
  border-radius:14px; padding:26px 30px; color:var(--white);
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
}
.layer-tier + .layer-tier{margin-top:12px;}
.layer-tier .name{font-family:var(--font-display); font-size:1.08rem;}
.layer-tier .desc{font-size:0.88rem; opacity:0.85; max-width:420px;}
.layer-tier.l2{background:var(--dawn);}
.layer-tier.l1{background:var(--teal); padding-top:32px; padding-bottom:32px;}
.layer-tier.l1 .name::after{
  content:'FOUNDATION'; display:block; font-family:var(--font-body); font-size:0.66rem;
  font-weight:700; letter-spacing:0.08em; opacity:0.7; margin-top:6px;
}

.stage-arc{display:flex; gap:16px; margin-top:28px; flex-wrap:wrap;}
.stage-arc .stage{
  flex:1 1 180px; background:var(--white); border-radius:10px; padding:20px;
  border:1px solid rgba(28,43,34,0.08);
}
.stage-arc .stage .n{
  display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px;
  border-radius:50%; background:var(--pale-gold); color:var(--night); font-size:0.78rem;
  font-weight:700; margin-bottom:10px;
}
.stage-arc .stage h5{font-family:var(--font-display); font-weight:500; font-size:0.98rem; margin-bottom:6px;}
.stage-arc .stage p{font-size:0.85rem; opacity:0.72; font-style:italic;}

/* ---------- Stage mirroring table ---------- */
.mirror-table{width:100%; border-collapse:collapse; margin-top:24px; background:var(--white); border-radius:12px; overflow:hidden;}
.mirror-table th, .mirror-table td{padding:16px 20px; text-align:left; font-size:0.92rem; border-bottom:1px solid rgba(28,43,34,0.08);}
.mirror-table thead th{background:var(--night); color:var(--white); font-family:var(--font-body); font-size:0.76rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;}
.mirror-table tbody th{font-family:var(--font-display); font-weight:500; color:var(--core-gold); background:var(--gold-cream); white-space:nowrap;}
.mirror-table tbody tr:last-child td, .mirror-table tbody tr:last-child th{border-bottom:none;}
.mirror-table td{opacity:0.85;}

/* ---------- Five Initiations stepper ---------- */
.initiation-path{display:flex; align-items:center; margin-top:28px; flex-wrap:nowrap;}
.init-node{
  flex:0 0 auto; background:var(--white); border:2px solid var(--core-gold); border-radius:30px;
  padding:14px 18px; font-family:var(--font-display); font-size:0.92rem; text-align:center; color:var(--night);
}
.init-link{display:flex; flex-direction:column; align-items:center; padding:0 6px; flex:1 1 40px; min-width:30px;}
.init-link .line{width:100%; height:2px; background:var(--pale-gold);}
.init-link span{font-size:0.66rem; color:var(--stone); margin-top:6px; white-space:nowrap; text-align:center;}

@media (max-width:860px){
  .initiation-path{flex-direction:column; align-items:stretch;}
  .init-node{width:100%;}
  .init-link{flex-direction:row; padding:8px 0; min-width:0;}
  .init-link .line{width:2px; height:22px;}
  .init-link span{margin-top:0; margin-left:10px;}
  .mirror-table{font-size:0.82rem;}
  .mirror-table th, .mirror-table td{padding:12px;}
}

/* ---------- Icon system ---------- */
.icon{width:22px; height:22px; stroke:currentColor; stroke-width:1.6; fill:none; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0;}
.mini-icon{
  width:40px; height:40px; border-radius:9px; display:flex; align-items:center; justify-content:center;
  margin-bottom:14px; background:var(--pale-gold); color:var(--core-gold);
}
body[data-pathway] .mini-icon{ background:var(--anchor-pale); color:var(--anchor); }

/* ---------- Stat strip ---------- */
.stat-strip{
  display:flex; flex-wrap:wrap; gap:0;
  border-top:1px solid rgba(28,43,34,0.1); border-bottom:1px solid rgba(28,43,34,0.1);
  margin-top:36px;
}
.stat-strip .stat{
  flex:1 1 160px; padding:24px 28px; border-right:1px solid rgba(28,43,34,0.1);
}
.stat-strip .stat:last-child{border-right:none;}
.stat-strip .stat .num{
  font-family:var(--font-display); font-size:1.9rem; color:var(--anchor, var(--core-gold));
  display:block; line-height:1.1;
}
.stat-strip .stat .label{font-size:0.82rem; opacity:0.68; margin-top:4px; display:block;}

/* ---------- Icon feature grid ---------- */
.icon-feature-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:12px;}
.icon-feature{background:var(--white); border-radius:12px; padding:26px; border:1px solid rgba(28,43,34,0.07);}
.icon-feature .icon-wrap{
  width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  background:var(--pale-gold); color:var(--core-gold); margin-bottom:16px;
}
body[data-pathway] .icon-feature .icon-wrap{ background:var(--anchor-pale); color:var(--anchor); }
.icon-feature h4{font-family:var(--font-display); font-weight:500; font-size:1.05rem; margin-bottom:8px;}
.icon-feature p{font-size:0.9rem; opacity:0.78;}

/* ---------- Horizontal step timeline ---------- */
.step-line{position:relative; margin-top:40px;}
.step-line::before{
  content:''; position:absolute; left:0; right:0; top:23px; height:2px; background:var(--pale-gold);
}
.step-line-row{display:flex; gap:16px;}
.step-line-row .step{flex:1; position:relative; padding-top:64px;}
.step-line-row .step .dot{
  position:absolute; top:0; left:0; width:46px; height:46px; border-radius:50%;
  background:var(--white); border:2px solid var(--core-gold); color:var(--night);
  display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:1.1rem; z-index:1;
}
body[data-pathway] .step-line-row .step .dot{ border-color:var(--anchor); }
.step-line-row .step h4{font-family:var(--font-display); font-weight:500; font-size:1rem; margin-bottom:8px;}
.step-line-row .step p{font-size:0.86rem; opacity:0.75;}

@media (max-width:860px){
  .icon-feature-grid{grid-template-columns:1fr;}
  .step-line::before{display:none;}
  .step-line-row{flex-direction:column; gap:28px;}
}

/* ---------- Course catalog (native disclosure, no JS needed) ---------- */
.course-block{
  background:var(--white); border:1px solid rgba(28,43,34,0.1); border-radius:12px;
  margin-top:16px; overflow:hidden;
}
.course-block summary{
  list-style:none; cursor:pointer; padding:20px 24px; display:flex; align-items:center;
  justify-content:space-between; gap:16px; font-family:var(--font-display); font-size:1.05rem;
}
.course-block summary::-webkit-details-marker{display:none;}
.course-block summary .count{
  font-family:var(--font-body); font-size:0.78rem; font-weight:600; letter-spacing:0.05em;
  text-transform:uppercase; color:var(--anchor, var(--core-gold)); white-space:nowrap;
}
.course-block summary::after{
  content:'+'; font-family:var(--font-body); font-size:1.3rem; color:var(--stone); margin-left:12px;
}
.course-block[open] summary::after{content:'−';}
.course-block .course-body{padding:0 24px 24px;}
.course-body ul{margin-top:10px; padding-left:20px;}
.course-body ul li{margin-bottom:10px; line-height:1.6;}
.course-body ul li:last-child{margin-bottom:0;}
.course-body p + ul{margin-top:14px;}
.course-body ul + p{margin-top:14px;}
.course-group{margin-top:18px;}
.course-group:first-child{margin-top:0;}

/* ---------- Request information page ---------- */
.inquiry-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:12px;}
.inquiry-card{
  background:var(--white); border-radius:12px; padding:32px;
  border-top:3px solid var(--core-gold); border-left:1px solid rgba(28,43,34,0.08);
  border-right:1px solid rgba(28,43,34,0.08); border-bottom:1px solid rgba(28,43,34,0.08);
  box-shadow:0 4px 18px rgba(20,30,25,0.06); display:flex; flex-direction:column;
}
.inquiry-card .tag{
  font-size:0.72rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--core-gold); margin-bottom:12px; display:block;
}
.inquiry-card h3{margin-bottom:10px; font-size:1.15rem;}
.inquiry-card p{opacity:0.78; font-size:0.94rem; margin-bottom:24px; flex:1;}
.inquiry-card .btn{align-self:flex-start;}

@media (max-width:860px){
  .inquiry-grid{grid-template-columns:1fr;}
}

/* ---------- Press & media page ---------- */
.press-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:12px;}
.press-card{display:flex; flex-direction:column;}
.press-card .pub{
  font-size:0.75rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  color:var(--core-gold); margin-bottom:10px;
}
.press-card h3{margin-bottom:16px; line-height:1.3;}
.press-card h3 a{color:var(--night); text-decoration:none;}
.press-card h3 a:hover{color:var(--core-gold);}
.press-card blockquote{
  margin:0 0 20px; padding-left:18px; border-left:3px solid var(--pale-gold);
  font-family:var(--font-display); font-size:1.05rem; font-style:italic; line-height:1.6;
}
.press-card .read-more{
  margin-top:auto; font-size:0.9rem; font-weight:600; color:var(--core-gold); text-decoration:none;
}
.press-card .read-more:hover{text-decoration:underline;}

.podcast-card{display:flex; align-items:flex-start; gap:32px;}
.podcast-card .podcast-art{
  width:140px; height:140px; border-radius:16px; flex-shrink:0;
  background:var(--pale-gold); display:flex; align-items:center; justify-content:center;
  color:var(--core-gold);
}
.podcast-card .podcast-art .icon{width:56px; height:56px;}
.podcast-card .podcast-art-img{
  width:140px; height:140px; border-radius:16px; flex-shrink:0;
  object-fit:cover; box-shadow:0 8px 24px rgba(20,30,25,0.12);
}
.podcast-card .podcast-body{min-width:0;}
.podcast-card h3{margin-bottom:10px;}
.podcast-card p{opacity:0.8; margin-bottom:18px;}
.podcast-links{display:flex; gap:10px; flex-wrap:nowrap;}
.podcast-links a{
  display:inline-flex; align-items:center; gap:6px; font-size:0.84rem; font-weight:600;
  padding:9px 14px; border-radius:30px; border:1.5px solid var(--pale-gold); color:var(--night);
  text-decoration:none; transition:background .15s, color .15s, border-color .15s; white-space:nowrap;
}
.podcast-links a:hover{background:var(--night); color:var(--white); border-color:var(--night);}
.podcast-links .icon{width:16px; height:16px;}

@media (max-width:760px){
  .press-grid{grid-template-columns:1fr;}
  .podcast-card{flex-direction:column; text-align:center;}
}

/* ---------- Legal document pages ---------- */
.legal-wrap{max-width:760px; margin:0 auto;}
.legal-meta{opacity:0.62; font-size:0.88rem; margin-bottom:40px;}
.legal-wrap h3{
  margin-top:44px; margin-bottom:14px; font-family:var(--font-display); font-size:1.28rem;
}
.legal-wrap h3:first-of-type{margin-top:0;}
.legal-wrap p{line-height:1.75; margin-bottom:16px;}
.legal-wrap ul{padding-left:22px; margin:0 0 16px;}
.legal-wrap li{margin-bottom:9px; line-height:1.65;}
.legal-wrap li:last-child{margin-bottom:0;}
.legal-wrap p + ul{margin-top:-6px;}
.legal-wrap strong{color:var(--night);}
.legal-wrap a{color:var(--core-gold); text-decoration:underline;}
.course-group h5{
  font-size:0.74rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--stone); margin-bottom:10px;
}
.course-list{list-style:none;}
.course-list li{
  display:flex; gap:14px; padding:12px 0; border-top:1px solid rgba(28,43,34,0.07);
}
.course-list li:first-child{border-top:none;}
.cnum{
  font-family:var(--font-display); font-size:0.85rem; color:var(--anchor, var(--core-gold));
  flex:0 0 28px;
}
.course-list strong{font-weight:600; font-size:0.94rem; display:block; margin-bottom:2px;}
.course-list p{font-size:0.85rem; opacity:0.72;}
.course-placeholder{
  border:1.5px dashed rgba(28,43,34,0.2); border-radius:10px; padding:20px 24px;
  margin-top:16px; font-size:0.88rem; opacity:0.65; font-style:italic;
}

/* ---------- Story page components ---------- */
.hero-center{text-align:center;}
.hero-center h1{max-width:820px; margin-left:auto; margin-right:auto;}
.hero-center .lede{max-width:640px; margin-left:auto; margin-right:auto;}

.story-callout{
  border-left:3px solid var(--core-gold); padding:6px 0 6px 28px; margin:36px 0;
}
.story-callout p{
  font-family:var(--font-display); font-weight:500; font-size:1.35rem; line-height:1.4;
  color:var(--night); opacity:1;
}

.founder-grid{
  display:grid; grid-template-columns:320px 1fr; gap:52px; align-items:start; margin-top:60px;
}
.photo-placeholder{
  aspect-ratio:4/5; border-radius:16px; border:1.5px dashed rgba(28,43,34,0.25);
  display:flex; align-items:center; justify-content:center; text-align:center;
  font-size:0.85rem; opacity:0.55; font-style:italic; padding:24px; background:rgba(255,255,255,0.4);
}
.founder-photo{
  aspect-ratio:4/5; border-radius:16px; width:100%;
  object-fit:cover; object-position:top center; display:block;
}
.founder-copy h2{margin-bottom:16px;}
.founder-copy p{margin-bottom:14px; opacity:0.85; font-size:0.92rem;}
.founder-name{
  font-family:var(--font-display); color:var(--core-gold); font-weight:500;
  font-size:clamp(1.8rem,2.6vw,2.2rem); margin-top:56px; line-height:1.1; text-align:left;
}

.cta-band{
  display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;
}
.cta-band h2{margin-bottom:10px;}
.cta-band p{opacity:0.8; max-width:420px;}
.cta-band .buttons{display:flex; gap:14px; flex-wrap:wrap;}

@media (max-width:860px){
  .founder-grid{grid-template-columns:1fr;}
  .photo-placeholder{max-width:320px;}
}

/* ---------- Team page components ---------- */
.notice-pill{
  display:flex; align-items:center; justify-content:center; gap:8px;
  background:var(--pale-jade); color:var(--night); text-align:center;
  border-radius:30px; padding:14px 28px; margin:32px auto 0; max-width:640px;
  font-size:0.92rem;
}
.notice-pill .mark{color:var(--jade);}

.team-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:40px 32px; margin-top:52px;
  text-align:center;
}
.team-avatar{
  width:210px; height:210px; border-radius:50%; margin:0 auto 20px;
  background:var(--pale-gold); display:flex; align-items:center; justify-content:center;
  color:var(--core-gold);
}
.team-avatar .icon{width:70px; height:70px;}
.team-avatar-photo{
  width:210px; height:210px; border-radius:50%; margin:0 auto 20px;
  object-fit:cover; object-position:top center; display:block;
  border:3px solid var(--core-gold); box-sizing:border-box;
}
.team-card .name{font-weight:600; font-size:1.55rem; margin-top:22px; margin-bottom:12px; font-family:var(--font-display);}
.team-card .role{font-weight:600; font-size:1.02rem; margin-bottom:16px; color:var(--core-gold);}
.team-card .focus{color:var(--core-gold); font-size:0.9rem; margin-bottom:12px; display:block;}
.team-card p{font-size:0.96rem; line-height:1.65; opacity:0.75; max-width:300px; margin:0 auto;}
.team-learn-more{
  display:inline-flex; align-items:center; gap:6px; margin-top:16px;
  font-size:0.86rem; font-weight:600; letter-spacing:0.03em; color:var(--core-gold);
}
.team-learn-more span{transition:transform .15s;}
.team-learn-more:hover span{transform:translateX(4px);}

@media (max-width:860px){
  .team-grid{grid-template-columns:1fr; max-width:340px; margin-left:auto; margin-right:auto;}
}

/* ---------- Clickable course cards ---------- */
.course-card-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:20px;
}
a.course-card{
  display:flex; flex-direction:column; justify-content:center; align-items:center;
  text-decoration:none; color:inherit; height:232px; box-sizing:border-box; overflow:hidden;
  border:1.5px solid var(--anchor, var(--core-gold)); border-radius:14px;
  padding:30px 22px; text-align:center; background:var(--white);
  transition:transform .15s, box-shadow .15s;
}
a.course-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,0.09); }
.course-card .cnum-badge{
  flex:0 0 auto; width:44px; height:44px; border-radius:50%;
  background:var(--anchor-pale, var(--pale-gold)); color:var(--anchor, var(--core-gold));
  display:flex; align-items:center; justify-content:center; margin:0 auto 16px;
  font-family:var(--font-display); font-size:1.05rem;
}
.course-card h4{
  font-family:var(--font-display); font-weight:500; font-size:1rem; margin-bottom:8px; color:var(--night);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.course-card p{
  font-size:0.86rem; opacity:0.7; color:var(--night); margin:0; width:100%;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.course-group-label{
  font-size:0.74rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--stone); margin:32px 0 4px;
}
a.course-card.has-cover{padding:0; overflow:hidden; height:auto; min-height:0; display:block;}
.course-card.has-cover img{display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;}
.course-group-label:first-child{margin-top:8px;}

@media (max-width:860px){
  .course-card-grid{grid-template-columns:1fr;}
}

/* ---------- The Model page: intelligence cards ---------- */
footer{
  background:var(--night); color:var(--white);
  border-top:2px solid var(--core-gold);
  padding:56px 0 36px;
}
footer p{ color:var(--white); opacity:0.78; }
body[data-pathway] footer{ background:var(--anchor); }
footer .wrap{display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:32px;}
footer .brand{margin-bottom:10px;}
footer .cols{display:flex; gap:64px;}
footer h5{
  color:var(--white); font-size:0.78rem; font-weight:600; letter-spacing:0.08em;
  text-transform:uppercase; margin-bottom:14px; font-family:var(--font-body);
}
footer ul{list-style:none;}
footer li{margin-bottom:9px;}
footer a{color:var(--white); opacity:0.78; font-size:0.92rem; transition:opacity .15s, color .15s;}
footer a:hover{opacity:1; color:var(--warm-gold);}
footer .bottom{
  max-width:var(--max); margin:44px auto 0; padding:24px 32px 0 32px;
  border-top:1px solid rgba(255,255,255,0.15); font-size:0.82rem; color:var(--white); opacity:0.6;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 28px;
}
footer .legal-links{display:flex; gap:24px; flex-wrap:wrap;}
footer .legal-links a{color:var(--white); opacity:1; text-decoration:none;}
footer .legal-links a:hover{text-decoration:underline; color:var(--warm-gold);}

@media (max-width:540px){
  footer .bottom{flex-direction:column; align-items:flex-start;}
}

/* ---------- Module detail page ---------- */
.module-layout{
  display:grid; grid-template-columns:1fr 320px; gap:56px; align-items:start;
}
.module-main .section-head{margin-bottom:28px;}
.module-main > div + div{margin-top:56px;}
.module-main p.synopsis{font-size:1.05rem; opacity:0.85; max-width:680px;}
.goal-list{list-style:none; margin-top:4px;}
.goal-list li{
  position:relative; padding-left:30px; margin-bottom:16px;
  font-size:0.97rem; opacity:0.85; max-width:640px;
}
.goal-list li::before{
  content:''; position:absolute; left:0; top:7px; width:9px; height:9px;
  border-radius:50%; background:var(--anchor);
}
.outcome-block{
  background:var(--anchor-bg); border-radius:12px; padding:32px 36px;
  border-left:3px solid var(--anchor);
}
.outcome-block p{
  font-family:var(--font-display); font-size:1.15rem; color:var(--night);
  opacity:0.85; font-style:italic;
}
.module-rail{
  position:sticky; top:28px;
  background:var(--white); border-radius:14px; padding:30px;
  border:1px solid rgba(28,43,34,0.1);
  box-shadow:0 4px 18px rgba(20,30,25,0.06);
}
.module-rail .cnum-badge{
  width:48px; height:48px; border-radius:50%; background:var(--anchor); color:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.15rem; margin-bottom:16px;
}
.module-rail .rail-eyebrow{
  font-size:0.74rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--anchor-mid); margin-bottom:8px;
}
.module-rail h4{font-family:var(--font-display); font-weight:500; font-size:1.1rem; margin-bottom:14px;}
.module-rail .btn{width:100%; justify-content:center; margin-bottom:14px;}
.module-rail p.rail-note{font-size:0.82rem; opacity:0.6; line-height:1.5;}
.module-nav{
  display:flex; flex-direction:column; gap:16px; margin-top:20px; padding-top:20px;
  border-top:1px solid rgba(28,43,34,0.1);
}
.module-nav a{display:block;}
.module-nav .nav-dir{
  display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--anchor-mid); opacity:0.75; margin-bottom:5px;
}
.module-nav .nav-title{
  display:block; font-size:0.93rem; font-weight:600; color:var(--night); line-height:1.4;
}
.module-nav a:hover .nav-title{color:var(--anchor);}
.module-nav .nav-next{text-align:right;}

/* ---------- Companion modules (cross-pathway connections) ---------- */
.companion-block{
  margin-top:20px; padding-top:20px;
  border-top:1px solid rgba(28,43,34,0.1);
}
.companion-block .companion-label{
  display:block; font-size:0.7rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--anchor-mid); opacity:0.75; margin-bottom:12px;
}
.companion-link{
  display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; text-decoration:none;
}
.companion-link:last-child{margin-bottom:0;}
.companion-link .dot{
  width:9px; height:9px; border-radius:50%; margin-top:6px; flex:0 0 auto;
}
.companion-link.learning .dot{background:var(--jade);}
.companion-link.parenting .dot{background:var(--terracotta);}
.companion-link.educating .dot{background:var(--brand-blue);}
.companion-link .companion-text{display:flex; flex-direction:column;}
.companion-link .companion-pathway{
  font-size:0.7rem; font-weight:600; letter-spacing:0.03em; color:var(--anchor-mid); opacity:0.75;
}
.companion-link .companion-title{
  font-size:0.9rem; font-weight:600; color:var(--night); line-height:1.35;
}
.companion-link:hover .companion-title{color:var(--anchor);}

/* ---------- Targets: intelligence + stage tags (module pages) ---------- */
.module-targets{display:flex; flex-wrap:wrap; gap:28px; margin-top:8px;}
.target-row .target-label{
  font-size:0.72rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--night); opacity:0.5; margin-bottom:8px;
}
.intel-tags, .stage-tags{display:flex; flex-wrap:wrap; gap:10px;}
.intel-tag, .stage-tag{
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 14px 7px 12px; border-radius:20px;
  font-size:0.82rem; font-weight:600; letter-spacing:0.01em;
  border:1.5px solid var(--anchor);
}
.intel-tag .code{
  font-family:var(--font-display); font-size:0.88rem; font-weight:600;
}
.intel-tag.primary{ background:var(--anchor); color:var(--white); }
.intel-tag.secondary{ background:transparent; color:var(--anchor); opacity:0.85; }
.stage-tag{
  background:var(--white); color:var(--night); border-color:rgba(28,43,34,0.25);
}
.stage-tag .n{
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; border-radius:50%; background:var(--night); color:var(--white);
  font-size:0.68rem; font-weight:700;
}

/* ---------- The Arc: cross-pathway initiation alignment ---------- */
.arc-backbone{margin-top:12px;}
.arc-legend{
  display:flex; flex-wrap:wrap; gap:24px; margin-top:36px; margin-bottom:8px;
}
.arc-legend-item{display:flex; align-items:center; gap:10px; font-size:0.9rem; font-weight:600;}
.arc-legend-item .swatch{width:14px; height:14px; border-radius:4px;}
.arc-legend-item.learning .swatch{background:var(--jade);}
.arc-legend-item.parenting .swatch{background:var(--terracotta);}
.arc-legend-item.educating .swatch{background:var(--brand-blue);}

.arc-track-group{margin-top:28px;}
.arc-header-row{
  display:grid; grid-template-columns:200px repeat(5, 1fr); gap:10px; margin-bottom:10px;
}
.arc-header-row .arc-corner{}
.arc-header-row .arc-node-label{
  text-align:center; font-size:0.72rem; font-weight:700; letter-spacing:0.04em;
  text-transform:uppercase; color:var(--stone); align-self:end; padding-bottom:6px;
  border-bottom:2px solid var(--pale-gold);
}

.arc-track{
  display:grid; grid-template-columns:200px repeat(5, 1fr); gap:10px; align-items:stretch;
  margin-bottom:12px;
}
.arc-track-label{display:flex; flex-direction:column; justify-content:center;}
.arc-track-label .pathway-name{font-family:var(--font-display); font-size:1.02rem; font-weight:500;}
.arc-track-label .pathway-tag{font-size:0.76rem; opacity:0.6; margin-top:3px;}

.arc-cell{
  border-radius:10px; padding:14px 16px; color:var(--white);
  display:flex; flex-direction:column; justify-content:center; min-height:84px;
}
.arc-cell .shift{font-size:0.68rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; opacity:0.85; margin-bottom:4px;}
.arc-cell .name{font-family:var(--font-display); font-size:1rem; font-weight:500; line-height:1.25;}
.arc-cell.empty{background:transparent;}
.arc-cell.learning{background:var(--jade);}
.arc-cell.parenting{background:var(--terracotta);}
.arc-cell.educating{background:var(--brand-blue);}
.arc-cell.span2{grid-column:span 2;}

.arc-note{
  background:var(--gold-cream); border-left:3px solid var(--core-gold);
  border-radius:10px; padding:22px 26px; margin-top:40px;
}
.arc-note p{font-size:0.96rem; opacity:0.85;}

@media (max-width:980px){
  .arc-header-row{display:none;}
  .arc-track{grid-template-columns:1fr; gap:8px; margin-bottom:28px;}
  .arc-track-label{padding-bottom:2px;}
  .arc-cell.span2{grid-column:auto;}
  .arc-cell{min-height:0;}
}

/* ---------- The Whole Human: Unified Intelligence Model wheel ---------- */
.uim-wrap{display:flex; justify-content:center; margin:44px 0 8px;}
#uim-wheel{width:100%; max-width:640px; height:auto;}
.uim-wedge{stroke:var(--gold-cream); stroke-width:3; stroke-linejoin:round;}
.uim-wedge.core{fill:var(--teal);}
.uim-wedge.applied{fill:var(--dawn);}
.uim-knowing-seg{stroke:var(--gold-cream); stroke-width:3; stroke-linejoin:round;}
.uim-knowing-seg.k0{fill:#D1A243;}
.uim-knowing-seg.k1{fill:#C08A3A;}
.uim-knowing-seg.k2{fill:#E0BD6C;}
.uim-center-circle{fill:var(--white); stroke:var(--core-gold); stroke-width:3;}
.uim-center-text1, .uim-center-text2{font-family:var(--font-display); font-size:25px; font-weight:600; fill:var(--night);}
.uim-code{font-family:inherit; font-size:13px; font-weight:700; fill:var(--white);}
.uim-name{font-family:inherit; font-size:9px; fill:var(--white); opacity:0.88;}
.uim-knowing-label{font-family:inherit; font-size:10.5px; font-weight:700; letter-spacing:0.08em; fill:var(--night); opacity:0.75;}
.uim-knowing-sub{font-family:var(--font-display); font-size:16px; font-weight:600; fill:var(--night);}
.uim-halo-guide{fill:none; stroke:var(--pale-jade); stroke-width:1.5; stroke-dasharray:2 7;}
.uim-result-label{font-family:inherit; font-size:9.5px; font-weight:700; letter-spacing:0.1em; fill:var(--night); opacity:0.5;}
.uim-result-sub{font-family:var(--font-display); font-style:italic; font-size:17px; font-weight:500; fill:var(--night); opacity:0.88;}

.uim-legend{display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:28px; max-width:1080px; margin:40px auto 0; padding-top:28px; border-top:1px solid var(--pale-jade);}
.uim-legend-title{font-size:0.78rem; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:12px;}
.uim-legend-title.core{color:var(--teal);}
.uim-legend-title.applied{color:var(--dawn);}
.uim-legend-title.knowing{color:#B8872E;}
.uim-legend-title.result{color:var(--night); opacity:0.75;}
.uim-legend-title span{text-transform:none; letter-spacing:0; opacity:0.6; font-weight:400;}
.uim-legend-item{display:flex; align-items:center; gap:10px; font-size:0.92rem; opacity:0.85; margin-bottom:9px;}
.uim-legend-item .code{font-weight:700; margin-right:2px;}
.uim-legend-item .dot{width:11px; height:11px; border-radius:50%; flex-shrink:0;}
.uim-legend-item .dot.core{background:var(--teal);}
.uim-legend-item .dot.applied{background:var(--dawn);}
.uim-legend-item .dot.k0{background:#D1A243;}
.uim-legend-item .dot.k1{background:#C08A3A;}
.uim-legend-item .dot.k2{background:#E0BD6C;}
.uim-legend-item .dot.r0, .uim-legend-item .dot.r1, .uim-legend-item .dot.r2{background:none; border:1.5px solid var(--night); opacity:0.6; box-sizing:border-box;}

@media (max-width:980px){
  .uim-legend{grid-template-columns:1fr 1fr;}
}
@media (max-width:540px){
  .uim-legend{grid-template-columns:1fr;}
}

@media (max-width:860px){
  .nav-toggle{display:flex;}
  .nav-links{display:none;}
  .site-nav.open .nav-links{
    display:flex; flex-direction:column; align-items:flex-start; gap:18px;
    position:absolute; top:100%; left:0; right:0; background:var(--nav-surface);
    padding:22px 32px 28px; border-bottom:2px solid var(--core-gold);
    max-height:calc(100vh - 80px); overflow-y:auto;
  }
  .site-nav.open .nav-links a, .site-nav.open .nav-drop > .drop-trigger{font-size:1.02rem;}
  .site-nav.open .nav-drop{padding-bottom:0; margin-bottom:0; width:100%;}
  .site-nav.open .nav-drop .chev{display:none;}
  .site-nav.open .nav-drop .dropdown-menu{
    position:static; transform:none; opacity:1; visibility:visible; min-width:0;
    background:none; border:none; box-shadow:none; padding:8px 0 0 16px;
  }
  .site-nav.open .dropdown-menu a{padding:8px 0; white-space:normal;}
  .pathway-grid, .lane-grid, .offer-grid{grid-template-columns:1fr;}
  .level-item{gap:18px;}
  footer .wrap{flex-direction:column;}
  .module-layout{grid-template-columns:1fr;}
  .module-rail{position:static; order:2; margin-top:8px;}
  .module-main{order:1;}
  .initiation-path{flex-direction:column; align-items:stretch;}
  .init-node{width:100%;}
  .init-link{flex-direction:row; padding:8px 0; min-width:0;}
  .init-link .line{width:2px; height:22px;}
  .init-link span{margin-top:0; margin-left:10px;}
  .embodied-grid{grid-template-columns:1fr;}
}

/* ---------- Taking It Together: cross-pathway companion guide ---------- */
.pathway-chip{
  display:inline-flex; align-items:center; gap:6px; padding:3px 11px 3px 9px;
  border-radius:999px; font-size:0.86rem; font-weight:600; white-space:nowrap;
  border:1px solid currentColor; margin:1px 2px; line-height:1.6;
}
.pathway-chip .dot{width:7px; height:7px; border-radius:50%; flex:0 0 auto;}
.pathway-chip.learning{color:var(--jade); background:rgba(46,125,94,0.07);}
.pathway-chip.learning .dot{background:var(--jade);}
.pathway-chip.parenting{color:var(--terracotta); background:rgba(181,96,58,0.07);}
.pathway-chip.parenting .dot{background:var(--terracotta);}
.pathway-chip.educating{color:var(--brand-blue); background:rgba(46,95,125,0.07);}
.pathway-chip.educating .dot{background:var(--brand-blue);}

.echo-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:36px;}
.echo-col{display:flex; flex-direction:column; gap:14px;}
.echo-position{font-size:0.74rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; opacity:0.45; text-align:center;}
.echo-card{
  background:var(--white); border-radius:12px; padding:16px 15px; border:1px solid rgba(28,43,34,0.08);
  box-shadow:0 2px 10px rgba(20,30,25,0.04);
}
.echo-card .echo-pathway{display:flex; align-items:center; gap:6px; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.03em; margin-bottom:7px;}
.echo-card .echo-pathway .dot{width:7px; height:7px; border-radius:50%; flex:0 0 auto;}
.echo-card.learning .echo-pathway{color:var(--jade);}
.echo-card.learning .echo-pathway .dot{background:var(--jade);}
.echo-card.parenting .echo-pathway{color:var(--terracotta);}
.echo-card.parenting .echo-pathway .dot{background:var(--terracotta);}
.echo-card.educating .echo-pathway{color:var(--brand-blue);}
.echo-card.educating .echo-pathway .dot{background:var(--brand-blue);}
.echo-card .echo-title{font-size:0.93rem; font-weight:600; line-height:1.32;}

.window-card{
  background:var(--white); border-radius:14px; padding:34px; margin-bottom:22px;
  border:1px solid rgba(28,43,34,0.08); box-shadow:0 2px 14px rgba(20,30,25,0.04);
}
.window-card h3{font-family:var(--font-display); font-size:1.32rem; margin-bottom:14px; font-weight:500;}
.window-card .window-levels{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px;}
.window-card p{opacity:0.85; line-height:1.75; font-size:0.98rem;}

.capstone-row{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:20px 0;
  border-top:1px solid rgba(28,43,34,0.1);
}
.capstone-row:first-of-type{border-top:none; padding-top:6px;}
.capstone-row .capstone-window{flex:0 0 210px; font-weight:600; opacity:0.55; font-size:0.88rem;}
.capstone-row .capstone-chips{display:flex; flex-wrap:wrap; align-items:flex-start; gap:8px; flex:1 1 320px;}

@media (max-width:860px){
  .echo-grid{grid-template-columns:1fr 1fr;}
  .window-card{padding:24px;}
  .capstone-row{flex-direction:column; align-items:flex-start; gap:10px;}
  .capstone-row .capstone-window{flex:none;}
  .capstone-row .capstone-chips{flex:none; align-items:flex-start; width:100%;}
}
@media (max-width:540px){
  .echo-grid{grid-template-columns:1fr;}
}
