*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; }
    :root {
      --cwru-blue:#003071; --cwru-light-blue:#A6D2E6; --cwru-true-blue:#007AB8;
      --force-blue:#2359ef; --cwru-dark-blue:#09143A; --light-gray:#D3D3D3;
      --dark-gray:#999999; --vivid-green:#61A530; --violet-purple:#692C95;
      --blue-green:#377E72; --orange:#FF9239; --copper-red:#D63D1F;
      --bg:#F7F8FA; --surface:#ffffff; --text:#1a2236; --text-muted:#6b7280; --border:rgba(0,0,0,0.09);
    }
    body { font-family:'Source Sans 3',sans-serif; background:var(--bg); color:var(--text); min-height:100vh; font-size:17px; line-height:1.65; }
    p, .p-body, .course-text, .cap-desc, .modal-text { font-size:15px; line-height:1.7; }

    /* ── HEADER ── */
    .site-header { background:var(--cwru-dark-blue); padding:0 2rem; display:flex; align-items:center; justify-content:space-between; height:56px; position:sticky; top:0; z-index:200; }
    .logo-wrap { display:flex; align-items:center; gap:10px; text-decoration:none; cursor:pointer; }
    .logo-mark { width:32px; height:32px; background:var(--cwru-true-blue); border-radius:6px; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:16px; font-weight:600; color:#fff; flex-shrink:0; }
    .logo-text { font-size:11.5px; font-weight:600; color:rgba(255,255,255,.9); letter-spacing:.02em; line-height:1.3; }
    .logo-sub { font-size:10px; color:var(--cwru-light-blue); }
    .header-badge { font-size:10px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--cwru-light-blue); border:.5px solid rgba(166,210,230,.35); padding:4px 10px; border-radius:100px; white-space:nowrap; }

    /* ── LAYOUT ── */
    .page-grid { display:grid; grid-template-columns:240px 1fr; max-width:1100px; margin:0 auto; min-height:calc(100vh - 56px); }
    .sidebar { background:var(--surface); border-right:1px solid var(--border); padding:1.5rem 0; position:sticky; top:56px; height:calc(100vh - 56px); overflow-y:auto; }
    .sidebar-label { font-size:10px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--dark-gray); padding:0 1.5rem; margin:1.25rem 0 .5rem; display:block; }
    .sidebar-label:first-child { margin-top:0; }
    .nav-item { display:flex; align-items:center; gap:10px; padding:9px 1.5rem; cursor:pointer; font-size:13.5px; color:var(--text-muted); border-left:3px solid transparent; transition:all .15s; text-decoration:none; user-select:none; }
    .nav-item:hover { color:var(--cwru-blue); background:rgba(0,48,113,.04); }
    .nav-item.active { color:var(--cwru-blue); background:rgba(0,48,113,.06); border-left-color:var(--cwru-blue); font-weight:600; }
    .nav-item i { font-size:14px; width:16px; text-align:center; flex-shrink:0; }
    .sidebar-hr { height:1px; background:var(--border); margin:1rem 1.5rem; }
    .nav-item.nav-item-program { color:#4a7ab5; font-size:13px; }
    .nav-item.nav-item-program:hover { background:rgba(166,210,230,.08); color:#6699cc; }
    .nav-item.nav-item-program i { opacity:.7; }
    .nav-item.nav-item-program.active { color:#A6D2E6; background:rgba(166,210,230,.12); border-left-color:#A6D2E6; font-weight:600; }
    .sidebar-footer p { font-size:11px; color:#595959; line-height:1.5; }
    .main-content { padding:2.5rem 3rem 4rem; max-width:780px; }

    /* ── TABS ── */
    .tab-panel { display:block; }

    /* ── HERO ── */
    .hero { background:var(--cwru-blue); border-radius:16px; padding:2.75rem 2.75rem 2.25rem; margin-bottom:2.5rem; position:relative; overflow:hidden; }
    .hero::before { content:''; position:absolute; top:-60px; right:-60px; width:280px; height:280px; border-radius:50%; background:rgba(166,210,230,.1); }
    .hero::after { content:''; position:absolute; bottom:-50px; left:35%; width:200px; height:200px; border-radius:50%; background:rgba(0,122,184,.15); }
    .hero-eyebrow { font-size:11px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--cwru-light-blue); margin-bottom:.9rem; position:relative; z-index:1; }
    .hero-title { font-family:'Playfair Display',serif; font-size:30px; font-weight:600; color:#fff; line-height:1.25; margin-bottom:1rem; position:relative; z-index:1; }
    .hero-sub { font-size:15px; color:rgba(255,255,255,.8); line-height:1.65; max-width:560px; position:relative; z-index:1; }
    .hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:1.5rem; position:relative; z-index:1; }
    .hero-tag { font-size:11px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; padding:4px 12px; border-radius:100px; background:rgba(255,255,255,.12); color:rgba(255,255,255,.9); border:.5px solid rgba(255,255,255,.22); }

    /* ── SECTION LABEL ── */
    .section-label { font-size:10px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#595959; margin:2rem 0 1rem; display:flex; align-items:center; gap:10px; }
    .section-label::after { content:''; flex:1; height:1px; background:var(--border); }

    /* ── PAGE HEADING ── */
    .page-h1 { font-family:'Playfair Display',serif; font-size:26px; font-weight:600; color:var(--cwru-blue); margin-bottom:.5rem; }
    .page-sub { color:var(--text-muted); font-size:14px; margin-bottom:1.75rem; }

    /* ── THEORY GRID ── */
    .theory-grid { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin-bottom:1rem; }
    .theory-tile { border-radius:12px; padding:1.25rem; border:1px solid var(--border); cursor:pointer; transition:all .2s; position:relative; overflow:hidden; }
    .theory-tile:hover { transform:translateY(-2px); box-shadow:0 4px 16px rgba(0,0,0,.1); }
    .theory-tile .t-icon { font-size:22px; margin-bottom:.5rem; display:block; }
    .theory-tile .t-name { font-size:14px; font-weight:600; margin-bottom:.3rem; }
    .theory-tile .t-short { font-size:12.5px; line-height:1.5; color:#555; }
    .theory-tile .t-badge { position:absolute; top:10px; right:10px; font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; padding:3px 8px; border-radius:100px; }
    .t-blue   { background:#EEF4FB; border-color:rgba(0,48,113,.12); }
    .t-blue   .t-name { color:var(--cwru-blue); }
    .t-blue   .t-badge { background:rgba(0,48,113,.1); color:var(--cwru-blue); }
    .t-purple { background:#F4EEF9; border-color:rgba(105,44,149,.15); }
    .t-purple .t-name { color:var(--violet-purple); }
    .t-purple .t-badge { background:rgba(105,44,149,.1); color:var(--violet-purple); }
    .t-teal   { background:#EEF7F5; border-color:rgba(55,126,114,.15); }
    .t-teal   .t-name { color:var(--blue-green); }
    .t-teal   .t-badge { background:rgba(55,126,114,.1); color:var(--blue-green); }
    .t-orange { background:#FFF5EE; border-color:rgba(255,146,57,.2); }
    .t-orange .t-name { color:#b85d00; }
    .t-orange .t-badge { background:rgba(255,146,57,.15); color:#b85d00; }
    .t-green  { background:#F2FBF0; border-color:rgba(97,165,48,.2); }
    .t-green  .t-name { color:var(--vivid-green); }
    .t-green  .t-badge { background:rgba(97,165,48,.12); color:#3a6e16; }
    .t-copper { background:#FDF0EE; border-color:rgba(214,61,31,.15); }
    .t-copper .t-name { color:var(--copper-red); }
    .t-copper .t-badge { background:rgba(214,61,31,.1); color:var(--copper-red); }
    .t-darkblue { background:#EEF0F6; border-color:rgba(9,20,58,.12); }
    .t-darkblue .t-name { color:var(--cwru-dark-blue); }
    .t-darkblue .t-badge { background:rgba(9,20,58,.08); color:var(--cwru-dark-blue); }
    .t-true   { background:#EEF6FB; border-color:rgba(0,122,184,.15); }
    .t-true   .t-name { color:var(--cwru-true-blue); }
    .t-true   .t-badge { background:rgba(0,122,184,.1); color:var(--cwru-true-blue); }

    /* ── THEORY MODAL ── */
    .modal-overlay { display:none; position:fixed; inset:0; background:rgba(9,20,58,.6); z-index:1000; align-items:center; justify-content:center; padding:1.5rem; }
    .modal-overlay.open { display:flex; }
    .modal-box { background:#fff; border-radius:20px; max-width:640px; width:100%; max-height:88vh; overflow-y:auto; position:relative; }
    .modal-header { padding:2rem 2rem 1.25rem; border-bottom:1px solid var(--border); position:sticky; top:0; background:#fff; border-radius:20px 20px 0 0; z-index:2; }
    .modal-eyebrow { font-size:10px; font-weight:600; letter-spacing:.15em; text-transform:uppercase; color:var(--dark-gray); margin-bottom:.5rem; }
    .modal-title { font-family:'Playfair Display',serif; font-size:22px; font-weight:600; color:var(--cwru-blue); line-height:1.3; }
    .modal-close { position:absolute; top:1.25rem; right:1.25rem; width:32px; height:32px; border-radius:50%; background:var(--bg); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:16px; color:var(--text-muted); transition:background .15s; }
    .modal-close:hover { background:var(--border); }
    .modal-body { padding:1.5rem 2rem 2rem; }
    .modal-section { margin-bottom:1.25rem; }
    .modal-section-title { font-size:12px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--dark-gray); margin-bottom:.5rem; }
    .modal-text { font-size:14px; color:#333; line-height:1.7; }
    .modal-relevance { border-radius:10px; padding:1rem 1.25rem; margin-top:1.25rem; font-size:14px; line-height:1.65; }
    .modal-relevance .rel-label { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.4rem; }
    .modal-hybrid-note { background:#F7F9FF; border:1px solid rgba(35,89,239,.12); border-radius:10px; padding:1rem 1.25rem; margin-top:1rem; font-size:13.5px; line-height:1.6; color:#1a2a5e; }
    .modal-hybrid-note .hybrid-label { font-size:10px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--force-blue); margin-bottom:.35rem; }

    /* ── PHILOSOPHY BLOCK ── */
    .philosophy-block { background:var(--cwru-dark-blue); border-radius:14px; padding:1.75rem 2rem; margin-bottom:1rem; }
    .phil-eyebrow { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--cwru-light-blue); margin-bottom:.6rem; }
    .phil-statement { font-family:'Playfair Display',serif; font-size:18px; color:#fff; line-height:1.55; font-style:italic; }

    /* ── PRINCIPLE CARDS ── */
    .principle-card { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:1.4rem 1.6rem; margin-bottom:.85rem; display:flex; gap:1.1rem; align-items:flex-start; }
    .principle-num { font-family:'Playfair Display',serif; font-size:34px; font-weight:400; color:var(--cwru-light-blue); line-height:1; min-width:36px; margin-top:2px; flex-shrink:0; }
    .accent-bar { width:3px; border-radius:2px; align-self:stretch; flex-shrink:0; min-height:40px; }
    .p-title { font-size:15px; font-weight:600; color:var(--cwru-blue); margin-bottom:.45rem; }
    .p-body { font-size:14px; color:#444; line-height:1.65; }

    /* ── CALLOUTS ── */
    .callout { border-radius:10px; padding:1rem 1.25rem; margin-bottom:1rem; display:flex; align-items:flex-start; gap:12px; font-size:14px; line-height:1.6; }
    .callout i { font-size:18px; margin-top:1px; flex-shrink:0; }
    .callout.warning { background:rgba(214,61,31,.07); border:1px solid rgba(214,61,31,.2); color:#6e1a08; }
    .callout.insight { background:rgba(97,165,48,.07); border:1px solid rgba(97,165,48,.25); color:#2b5610; }
    .callout.info { background:rgba(0,122,184,.07); border:1px solid rgba(0,122,184,.2); color:#003e6b; }
    .callout.neutral { background:#F7F8FA; border:1px solid var(--border); color:var(--text); }

    /* ── ROLE CARDS ── */
    .card-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
    .card-sm { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:1.25rem; }
    .role-card-title { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; margin-bottom:1rem; display:flex; align-items:center; gap:7px; }
    .role-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
    .role-list { list-style:none; font-size:13.5px; color:#333; }
    .role-list li { padding:5px 0; border-bottom:1px solid rgba(0,0,0,.06); display:flex; align-items:flex-start; gap:8px; line-height:1.45; }
    .role-list li::before { content:'→'; font-size:11px; margin-top:2px; flex-shrink:0; opacity:.4; }
    .role-list li:last-child { border-bottom:none; }
    .role-academic { background:#EEF4FB; border-color:rgba(0,48,113,.15)!important; }
    .role-practitioner { background:#EEF7F5; border-color:rgba(55,126,114,.2)!important; }
    .role-academic .role-card-title { color:var(--cwru-blue); }
    .role-practitioner .role-card-title { color:var(--blue-green); }
    .role-academic .role-dot { background:var(--cwru-blue); }
    .role-practitioner .role-dot { background:var(--blue-green); }

    /* ── SUPPORT CARDS ── */
    .support-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
    .support-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:1.25rem; }
    .support-role { font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--dark-gray); margin-bottom:.5rem; }
    .support-name { font-size:15px; font-weight:600; color:var(--cwru-blue); margin-bottom:.25rem; }
    .support-email a { font-size:13.5px; color:var(--cwru-true-blue); text-decoration:none; }
    .support-email a:hover { text-decoration:underline; }
    .support-desc { font-size:13px; color:#444; line-height:1.55; margin-top:.6rem; }

    /* ── DIALOGUE ── */
    .dialogue-block { background:#F7F9FF; border:1px solid rgba(35,89,239,.12); border-radius:14px; padding:1.6rem 1.75rem; margin-bottom:1rem; }
    .dialogue-eyebrow { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:var(--force-blue); margin-bottom:1.1rem; }
    .dialogue-exchange { display:flex; flex-direction:column; gap:12px; }
    .bubble-wrap { display:flex; flex-direction:column; }
    .bubble-wrap.right { align-items:flex-end; }
    .bubble-label { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; color:var(--text-muted); }
    .bubble { max-width:86%; border-radius:12px; padding:11px 16px; font-size:14px; line-height:1.55; font-style:italic; }
    .bubble.academic { background:var(--cwru-blue); color:#fff; border-bottom-left-radius:3px; }
    .bubble.practitioner { background:var(--blue-green); color:#fff; border-bottom-right-radius:3px; }
    .synthesis-bar { margin-top:6px; background:linear-gradient(90deg,var(--cwru-blue),var(--blue-green)); border-radius:10px; padding:13px 18px; color:#fff; font-size:13.5px; font-style:italic; text-align:center; line-height:1.5; }

    /* ── PHASE ROW ── */
    .phase-row { display:flex; border-radius:14px; overflow:hidden; border:1px solid var(--border); margin-bottom:1rem; }
    .phase-item { flex:1; padding:1.2rem 1rem; text-align:center; }
    .phase-item:not(:last-child) { border-right:1px solid var(--border); }
    .phase-num { font-family:'Playfair Display',serif; font-size:26px; font-weight:400; display:block; margin-bottom:4px; }
    .phase-title { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; display:block; margin-bottom:5px; }
    .phase-desc { font-size:12px; color:#666; line-height:1.4; }
    .ph1 { background:rgba(0,48,113,.06); } .ph1 .phase-num,.ph1 .phase-title { color:var(--cwru-blue); }
    .ph2 { background:rgba(55,126,114,.06); } .ph2 .phase-num,.ph2 .phase-title { color:var(--blue-green); }
    .ph3 { background:rgba(105,44,149,.06); } .ph3 .phase-num,.ph3 .phase-title { color:var(--violet-purple); }

    /* ── DO / DON'T ── */
    .do-dont-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
    .do-block { border-radius:12px; padding:1.2rem 1.3rem; background:rgba(97,165,48,.06); border:1px solid rgba(97,165,48,.22); }
    .dont-block { border-radius:12px; padding:1.2rem 1.3rem; background:rgba(214,61,31,.06); border:1px solid rgba(214,61,31,.2); }
    .do-dont-header { font-size:11px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; margin-bottom:.85rem; display:flex; align-items:center; gap:7px; }
    .do-block .do-dont-header { color:var(--vivid-green); }
    .dont-block .do-dont-header { color:var(--copper-red); }
    .do-dont-list { list-style:none; font-size:13px; line-height:1.5; }
    .do-dont-list li { padding:5px 0; border-bottom:1px solid rgba(0,0,0,.06); color:#333; }
    .do-dont-list li:last-child { border-bottom:none; }

    /* ── QUOTE ── */
    .quote-block { border-left:4px solid var(--cwru-true-blue); padding:.9rem 1.25rem .9rem 1.5rem; margin-bottom:1rem; background:rgba(0,122,184,.05); border-radius:0 10px 10px 0; }
    .quote-text { font-family:'Playfair Display',serif; font-size:16px; font-style:italic; color:var(--cwru-dark-blue); line-height:1.6; }
    .quote-attr { font-size:12px; color:var(--dark-gray); font-weight:600; letter-spacing:.04em; margin-top:.5rem; }

    /* ── FAC CARDS ── */
    .fac-card { background:var(--surface); border:1px solid var(--border); border-radius:14px; padding:1.3rem 1.6rem; margin-bottom:.85rem; display:flex; gap:1rem; align-items:flex-start; }
    .fac-icon { width:38px; height:38px; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; }

    /* ── READINESS ── */
    .stat-row { display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; margin-bottom:1.5rem; }
    .stat-card { border-radius:12px; padding:1.1rem; text-align:center; }
    .stat-big { font-family:'Playfair Display',serif; font-size:40px; font-weight:400; display:block; line-height:1; margin-bottom:5px; }
    .stat-label { font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; display:block; }
    .sc1 { background:rgba(0,48,113,.07); } .sc1 .stat-big,.sc1 .stat-label { color:var(--cwru-blue); }
    .sc2 { background:rgba(55,126,114,.07); } .sc2 .stat-big,.sc2 .stat-label { color:var(--blue-green); }
    .sc3 { background:rgba(105,44,149,.08); } .sc3 .stat-big,.sc3 .stat-label { color:var(--violet-purple); }
    .sc4 { background:rgba(255,146,57,.09); } .sc4 .stat-big,.sc4 .stat-label { color:#b85d00; }

    .readiness-wrap { background:var(--surface); border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:1rem; }
    .readiness-section { border-bottom:1px solid var(--border); }
    .readiness-section:last-child { border-bottom:none; }
    .readiness-section-header { padding:1rem 1.5rem; display:flex; align-items:center; justify-content:space-between; cursor:pointer; transition:background .15s; user-select:none; }
    .readiness-section-header:hover { background:var(--bg); }
    .rs-title-wrap { display:flex; align-items:center; gap:10px; }
    .rs-num { width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:#fff; flex-shrink:0; }
    .rs-title { font-size:14px; font-weight:600; color:var(--cwru-blue); }
    .rs-count { font-size:12px; color:var(--dark-gray); }
    .rs-chevron { font-size:13px; color:var(--dark-gray); transition:transform .2s; }
    .rs-chevron.open { transform:rotate(180deg); }
    .readiness-items { display:none; padding:0 1.5rem 1rem; }
    .readiness-items.open { display:block; }
    .check-item { display:flex; align-items:flex-start; gap:12px; padding:7px 0; border-bottom:1px solid rgba(0,0,0,.05); cursor:pointer; border-radius:4px; transition:background .1s; }
    .check-item:hover { background:rgba(0,48,113,.025); }
    .check-item:last-child { border-bottom:none; }
    .check-box { width:18px; height:18px; border-radius:5px; border:1.5px solid var(--light-gray); flex-shrink:0; margin-top:1px; background:#fff; transition:all .15s; display:flex; align-items:center; justify-content:center; }
    .check-box.checked { background:var(--cwru-blue); border-color:var(--cwru-blue); }
    .check-box.checked::after { content:'✓'; color:#fff; font-size:11px; font-weight:700; }
    .check-text { font-size:13.5px; color:#333; line-height:1.45; transition:color .15s; }
    .check-item.done .check-text { color:var(--text-muted); text-decoration:line-through; }
    .progress-bar-wrap { padding:0 1.5rem 1rem; }
    .progress-bar { height:5px; background:rgba(0,0,0,.07); border-radius:100px; overflow:hidden; }
    .progress-fill { height:100%; background:linear-gradient(90deg,var(--cwru-blue),var(--cwru-true-blue)); border-radius:100px; transition:width .3s ease; }
    .progress-text { font-size:12px; color:var(--text-muted); margin-top:5px; }

    .reflection-block { background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:1.5rem 1.75rem; margin-bottom:1rem; }
    .reflection-q { font-size:14px; font-weight:600; color:var(--cwru-blue); margin-bottom:.5rem; }
    .reflection-input { width:100%; border:1px solid var(--border); border-radius:8px; padding:10px 12px; font-family:'Source Sans 3',sans-serif; font-size:13.5px; color:var(--text); background:#fff; resize:vertical; min-height:80px; line-height:1.5; transition:border-color .15s; }
    .reflection-input:focus { outline:none; border-color:var(--cwru-true-blue); }
    .reflection-note { font-size:12.5px; color:#595959; margin-top:.4rem; }

    .download-btn { display:inline-flex; align-items:center; gap:10px; background:var(--cwru-blue); color:#fff; border:none; border-radius:10px; padding:12px 22px; font-family:'Source Sans 3',sans-serif; font-size:14px; font-weight:600; cursor:pointer; text-decoration:none; transition:background .15s; margin-top:1rem; }
    .download-btn:hover { background:#002060; }
    .download-btn i { font-size:16px; }

    /* ── FOOTER ── */
    .site-footer { background:var(--cwru-dark-blue); color:rgba(255,255,255,.6); text-align:center; padding:1.5rem 2rem; font-size:12px; line-height:1.6; }
    .site-footer strong { color:rgba(255,255,255,.9); }

    /* ── MOBILE ── */
    @media(max-width:768px){
      .page-grid { grid-template-columns:1fr; }
      .sidebar { position:static; height:auto; border-right:none; border-bottom:1px solid var(--border); padding:1rem 0; }
      .main-content { padding:1.5rem 1.25rem 3rem; }
      .hero-title { font-size:22px; }
      .card-grid-2,.theory-grid,.do-dont-grid,.stat-row,.support-grid { grid-template-columns:1fr; }
      .stat-row { grid-template-columns:1fr 1fr; }
      .phase-row { flex-direction:column; }
      .phase-item:not(:last-child) { border-right:none; border-bottom:1px solid var(--border); }
    }
    /* ── COURSE PILLS ── */
    .course-pill { border:1px solid var(--border); border-radius:12px; margin-bottom:.75rem; overflow:hidden; background:var(--surface); }
    .course-pill-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; cursor:pointer; transition:background .15s; }
    .course-pill-header:hover { background:var(--bg); }
    .course-pill-left { display:flex; align-items:center; gap:12px; }
    .course-pill-num { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; color:#fff; flex-shrink:0; }
    .course-pill-phase { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
    .course-pill-title { font-size:14.5px; font-weight:600; color:var(--cwru-dark-blue); margin-top:1px; }
    .course-chevron { font-size:13px; color:#595959; transition:transform .2s; flex-shrink:0; }
    .course-chevron.open { transform:rotate(180deg); }
    .course-pill-body { display:none; padding:0 1.25rem 1.25rem; border-top:1px solid var(--border); }
    .course-pill-body.open { display:block; }
    .course-intro { font-family:'Playfair Display',serif; font-size:14.5px; color:var(--cwru-dark-blue); line-height:1.6; padding:1rem 0 1rem; border-bottom:1px solid var(--border); margin-bottom:1rem; }
    .course-two-col { display:grid; grid-template-columns:1fr 280px; gap:1.25rem; }
    .course-section-label { font-size:10px; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:#595959; margin-bottom:.4rem; }
    .course-text { font-size:13.5px; color:#333; line-height:1.65; }
    .course-DRIVE Innovation Project-box { border:1px solid; border-radius:10px; padding:1rem 1.1rem; }
    .course-DRIVE Innovation Project-label { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.5rem; }
    /* ── CAPSTONE TABLE ── */
    .cap-row { display:grid; grid-template-columns:60px 1fr 160px; gap:0; align-items:stretch; border-bottom:1px solid var(--border); }
    .cap-course-num { font-family:'Playfair Display',serif; font-size:22px; font-weight:400; padding:.9rem .5rem .9rem 1rem; display:flex; align-items:center; justify-content:center; }
    .cap-body { padding:.85rem 1rem; border-left:1px solid var(--border); border-right:1px solid var(--border); }
    .cap-title { font-size:13px; font-weight:600; color:var(--cwru-dark-blue); margin-bottom:.2rem; }
    .cap-desc { font-size:12.5px; color:#444; line-height:1.5; }
    .cap-deliverable { font-size:12px; font-weight:600; color:#595959; padding:.85rem 1rem; display:flex; align-items:center; text-align:right; justify-content:flex-end; }
    @media(max-width:768px){ .course-two-col { grid-template-columns:1fr; } .cap-row { grid-template-columns:40px 1fr; } .cap-deliverable { display:none; } }
    /* ── TIMELINE ── */
    .tl-phase-colors { --c1:var(--cwru-blue); --c2:var(--blue-green); --c3:var(--violet-purple); --c4:#b85d00; --c5:#b85d00); --c6:var(--vivid-green); --c7:var(--vivid-green); --c8:var(--copper-red); }
    .course-tab-strip { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
    .course-tab-btn { font-family:'Source Sans 3',sans-serif; font-size:12px; font-weight:600; letter-spacing:.05em; padding:6px 14px; border-radius:100px; border:1.5px solid var(--border); background:#fff; cursor:pointer; transition:all .15s; color:#444; }
    .course-tab-btn.active { color:#fff; border-color:transparent; }
    .tl-course-panel { display:none; }
    .tl-course-panel.active { display:block; }
    .tl-hero { border-radius:12px; padding:1.25rem 1.5rem; margin-bottom:1.1rem; display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:1rem; }
    .tl-key-item { text-align:center; }
    .tl-key-label { font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.7); display:block; margin-bottom:.25rem; }
    .tl-key-val { font-size:14px; font-weight:600; color:#fff; line-height:1.4; display:block; }
    .tl-phases-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:1rem; }
    .tl-phases-table th { background:var(--cwru-dark-blue); color:rgba(255,255,255,.85); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:8px 12px; text-align:left; }
    .tl-phases-table td { padding:9px 12px; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.45; color:#333; }
    .tl-phases-table tr:last-child td { border-bottom:none; }
    .tl-phases-table tr:hover td { background:rgba(0,48,113,.025); }
    .tl-row-phase td { background:rgba(0,48,113,.04); font-weight:600; color:var(--cwru-blue); }
    .tl-row-meeting td { background:#FAFAFA; color:#555; font-size:12.5px; }
    .tl-row-checkin td { background:rgba(255,146,57,.06); font-weight:600; color:#7a4000; }
    .tl-row-deadline td { background:rgba(0,48,113,.07); font-weight:700; color:var(--cwru-blue); }
    .tl-badge { display:inline-block; font-size:10px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; padding:2px 7px; border-radius:4px; margin-right:4px; }
    .badge-phase { background:rgba(0,48,113,.1); color:var(--cwru-blue); }
    .badge-meeting { background:rgba(153,153,153,.15); color:#555; }
    .badge-checkin { background:rgba(255,146,57,.15); color:#7a4000; }
    .badge-deadline { background:rgba(0,48,113,.12); color:var(--cwru-blue); }
    .badge-required { background:rgba(0,48,113,.15); color:var(--cwru-blue); }
    .badge-optional { background:rgba(153,153,153,.12); color:#555; }
    .tl-req { font-size:11px; color:#595959; margin-top:3px; }
    .tl-all-sessions th { background:var(--cwru-dark-blue); color:rgba(255,255,255,.85); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:8px 12px; text-align:left; }
    .tl-all-sessions td { padding:9px 12px; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.5; color:#333; font-size:13px; }
    .tl-all-sessions tr:nth-child(even) td { background:#FAFAFA; }
    .tl-all-sessions tr:last-child td { border-bottom:none; }
    .tl-ignition td { background:rgba(0,48,113,.06)!important; font-weight:600; }
    .tl-graduation td { background:rgba(97,165,48,.05)!important; font-weight:600; color:#2e6012; }
    .attendance-table { width:100%; border-collapse:collapse; font-size:13px; margin-bottom:1rem; }
    .attendance-table th { background:var(--cwru-dark-blue); color:rgba(255,255,255,.85); font-size:10px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:8px 12px; text-align:left; }
    .attendance-table td { padding:9px 12px; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; color:#333; }
    .attendance-table td:first-child { font-weight:600; color:var(--cwru-blue); white-space:nowrap; min-width:160px; }
    .attendance-table tr:last-child td { border-bottom:none; }
    /* ── FEAR ACCORDION ── */
    .fear-item { border-bottom:1px solid var(--border); }
    .fear-item:last-child { border-bottom:none; }
    .fear-header { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.5rem; cursor:pointer; transition:background .15s; gap:1rem; }
    .fear-header:hover { background:var(--bg); }
    .fear-q { font-size:14.5px; font-weight:600; color:var(--cwru-blue); line-height:1.4; font-style:italic; }
    .fear-chevron { font-size:13px; color:var(--dark-gray); transition:transform .2s; flex-shrink:0; }
    .fear-chevron.open { transform:rotate(180deg); }
    .fear-body { display:none; padding:0 1.5rem 1.25rem; font-size:14px; color:#333; line-height:1.7; }
    .fear-body.open { display:block; }

    /* ── NAV CARDS (homepage) ── */
    .nav-card { background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:1.25rem 1.4rem; transition:all .15s; cursor:pointer; height:100%; }
    .nav-card-eyebrow { font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin-bottom:.4rem; }
    .nav-card-title { font-size:14.5px; font-weight:600; color:var(--cwru-dark-blue); margin-bottom:.35rem; }
    .nav-card-desc { font-size:13px; color:#555; line-height:1.55; }

    /* ── ADDITIONAL FRAMEWORK TILE COLORS (philosophy page) ── */
    .tile-copper   { background:#FDF0EE; border-color:rgba(214,61,31,.15); }
    .tile-copper   .name { color:var(--copper-red); }
    .tile-darkblue { background:#EEF0F6; border-color:rgba(9,20,58,.12); }
    .tile-darkblue .name { color:var(--cwru-dark-blue); }
    .tile-true     { background:#EEF6FB; border-color:rgba(0,122,184,.15); }
    .tile-true     .name { color:var(--cwru-true-blue); }
