/* Nav dropdown + education pages. Reusable: one .nav-item per move. */

/* ---------- dropdown ---------- */
.nav-item{position:relative;display:flex;align-items:center}
.nav-trigger{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--muted);
  background:none;border:0;padding:0;cursor:pointer;font-family:var(--body);transition:color .18s var(--out)}
.nav-trigger:hover,.nav-trigger[aria-expanded="true"]{color:var(--ink)}
.nav-trigger .caret{width:6px;height:6px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);transition:transform .2s var(--out)}
.nav-trigger[aria-expanded="true"] .caret{transform:rotate(-135deg) translate(-2px,-2px)}

.megamenu{position:absolute;top:calc(100% + 14px);left:-24px;z-index:60;width:min(660px,86vw);
  background:var(--ground);border:1px solid var(--line);
  box-shadow:0 28px 60px -34px rgba(11,16,21,.4),0 2px 6px -2px rgba(11,16,21,.08);
  opacity:0;transform:translateY(-6px);transition:opacity .18s var(--out),transform .18s var(--out)}
.megamenu[hidden]{display:none}
.megamenu.open{opacity:1;transform:none}
.mm-in{display:grid;grid-template-columns:1fr 1fr}
.mm-col{padding:20px 22px 22px;border-right:1px solid var(--line)}
.mm-col:last-child{border-right:0}
.mm-col h4{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  color:var(--dim);margin-bottom:12px}
.mm-col a{display:block;font-size:14.5px;color:var(--muted);padding:7px 0;border-bottom:1px solid transparent;
  width:fit-content;transition:color .16s var(--out)}
.mm-col a:hover,.mm-col a:focus-visible{color:var(--live)}
.mm-foot{border-top:1px solid var(--line);background:var(--paper);padding:12px 22px}
.mm-foot a{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mm-foot a:hover{color:var(--live)}
.mm-foot .ar{transition:transform .2s var(--out);display:inline-block}
.mm-foot a:hover .ar{transform:translateX(3px)}

/* ---------- page masthead (shared by education + other subpages) ---------- */
.page-top{padding:calc(var(--nav-h) + 64px) 32px 8px}
.page-top .eyebrow{margin-bottom:18px}
.page-top h1{font-family:var(--disp);font-weight:500;font-size:clamp(32px,4.2vw,54px);letter-spacing:-.035em;
  line-height:1.06;max-width:20ch;text-wrap:balance}
.page-top p{color:var(--muted);font-size:16px;max-width:58ch;margin-top:16px;text-wrap:pretty}
.page-back{padding:0 32px 64px}
.back{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted)}
.back:hover{color:var(--live)}

/* ---------- hub ---------- */
.hub{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}
.hub-col{padding:24px 26px 28px;border-right:1px solid var(--line)}
.hub-col:last-child{border-right:0}
.hub-h{margin-bottom:6px}
.hub-row{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:baseline;
  padding:16px 0;border-bottom:1px solid var(--line);transition:padding-left .2s var(--out)}
.hub-row:last-child{border-bottom:0}
.hub-row:hover{padding-left:8px}
.hub-name{font-family:var(--disp);font-size:19px;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.hub-lede{grid-column:1;font-size:13.5px;color:var(--muted);line-height:1.5;max-width:46ch}
.hub-ar{grid-row:1;grid-column:2;font-family:var(--mono);color:var(--dim);transition:color .2s var(--out),transform .2s var(--out)}
.hub-row:hover .hub-ar{color:var(--live);transform:translateX(3px)}

/* ---------- session page ---------- */
.ses{padding-top:36px}
.ses-grid{display:grid;grid-template-columns:1.15fr 1fr;border:1px solid var(--line)}
.ses-grid>div{padding:22px 24px 26px}
.ses-grid>div:first-child{border-right:1px solid var(--line)}
.ses-room{font-size:15.5px;color:var(--ink);margin-top:12px;max-width:40ch}
.facts{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
.fact{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  display:inline-flex;align-items:center;gap:8px}
.fact::before{content:"";width:6px;height:6px;background:var(--live);flex:none}
.ses-out ul{list-style:none;margin-top:12px}
.ses-out li{position:relative;padding:9px 0 9px 20px;font-size:14.5px;color:var(--muted);
  border-bottom:1px dashed rgba(11,16,21,.14)}
.ses-out li:last-child{border-bottom:0}
.ses-out li::before{content:"";position:absolute;left:0;top:17px;width:8px;height:1px;background:var(--live)}

.cover{margin-top:26px;border:1px solid var(--line);padding:24px 26px 12px}
.cv-row{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.cv-row:last-child{border-bottom:0}
.cv-row .n{font-family:var(--mono);font-size:11px;color:var(--live)}
.cv-row h3{font-family:var(--disp);font-size:18px;font-weight:500;letter-spacing:-.015em}
.cv-row p{font-size:14px;color:var(--muted);margin-top:6px;max-width:62ch}

.vnote{position:relative;margin-top:26px;border:1px dashed var(--line-dash);padding:20px 24px}
.vnote p{font-size:13.5px;color:var(--muted);max-width:74ch}

.ses-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}
.cta-note{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

@media (max-width:900px){
  .hub,.ses-grid{grid-template-columns:1fr}
  .hub-col,.ses-grid>div:first-child{border-right:0;border-bottom:1px solid var(--line)}
  .hub-col:last-child,.ses-grid>div:last-child{border-bottom:0}
}
@media (max-width:768px){
  .page-top{padding:calc(var(--nav-h) + 40px) 16px 4px}
  .page-back{padding:0 16px 48px}
  .cover{padding:18px 16px 8px}
  .ses-grid>div{padding:18px 16px 22px}
}
@media (prefers-reduced-motion:reduce){
  .megamenu,.hub-row,.hub-ar,.nav-trigger .caret{transition:none}
}
