/* ============================================================
   AIRC Domain 5 · Student Support & Success
   Shared stylesheet for the hub and the four initiative pages.
   Solid palette colors only. No gradients. No em dashes in UI.
   ============================================================ */
:root{
  --ink:#3a2e3f; --paper:#faf7f2; --stone:#e2d8ce; --muted:#8a7e7a;
  --plum:#7a5080; --plum-light:#9e73a4; --plum-pale:#ede4f2;
  --sage:#6b8f6e; --sage-light:#8aad8d; --sage-pale:#e4ede5;
  --rose:#c4929e; --rose-pale:#f5e8eb; --gold:#b8956a; --gold-pale:#fdf6ee;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;font-weight:300}
a{color:var(--plum)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}

/* hero */
.hero{background:var(--plum);color:#fff;padding:54px 0 46px}
.hero.p1{background:var(--plum)} .hero.p2{background:var(--sage)} .hero.p3{background:var(--gold)} .hero.p4{background:var(--rose)}
.hero .wrap{padding:0 22px}
.eyebrow{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9;font-weight:500}
.hero h1{font-family:'Lora',Georgia,serif;font-weight:600;font-size:2.5rem;line-height:1.15;margin:.35rem 0 .5rem}
.hero h1 em{font-style:italic;color:var(--rose-pale);font-weight:400}
.hero.p2 h1 em,.hero.p3 h1 em,.hero.p4 h1 em{color:#fff;opacity:.92}
.hero p.lede{font-size:1.08rem;opacity:.96;margin:.2rem 0 1.2rem}
.rolebar{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}
.rolebar span{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);padding:.32rem .7rem;border-radius:20px;font-size:.78rem;font-weight:400}
.crumb{font-size:.78rem;margin-bottom:.4rem}
.crumb a{color:#fff;opacity:.85;text-decoration:none;border-bottom:1px dotted rgba(255,255,255,.5)}
.crumb a:hover{opacity:1}

/* stat chips */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin:-30px auto 0;position:relative;z-index:2}
.stat{background:#fff;border:1px solid var(--stone);border-top:3px solid var(--plum);border-radius:10px;padding:14px 16px;box-shadow:0 2px 10px rgba(90,60,80,.06)}
.stat b{font-family:'Lora',serif;font-size:1.5rem;color:var(--plum);display:block;line-height:1}
.stat span{font-size:.78rem;color:var(--muted)}
.stat:nth-child(2){border-top-color:var(--rose)} .stat:nth-child(3){border-top-color:var(--sage)}
.stat:nth-child(4){border-top-color:var(--gold)} .stat:nth-child(5){border-top-color:var(--plum-light)}

/* sections */
section{padding:34px 0 6px}
h2{font-family:'Lora',Georgia,serif;font-weight:600;color:var(--plum);font-size:1.5rem;margin:0 0 4px}
h2 .sub{display:block;font-family:'DM Sans';font-size:.8rem;color:var(--muted);font-weight:400;letter-spacing:.04em;text-transform:uppercase;margin-top:4px}
.lead{color:var(--ink);margin:.4rem 0 1.1rem}
p.body{}

/* generic card grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--stone);border-top:3px solid var(--plum);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:.5rem;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 6px 18px rgba(90,60,80,.10);transform:translateY(-2px)}
.card.rose{border-top-color:var(--rose)} .card.sage{border-top-color:var(--sage)} .card.gold{border-top-color:var(--gold)} .card.plum-light{border-top-color:var(--plum-light)}
.card .k{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.card h3{font-family:'Lora',serif;font-weight:600;font-size:1.12rem;margin:.1rem 0 0;color:var(--plum)}
.card.rose h3{color:var(--rose)} .card.sage h3{color:var(--sage)} .card.gold h3{color:var(--gold)}
.card p{font-size:.86rem;color:var(--ink);margin:.1rem 0 .3rem}
.chip{display:inline-block;font-size:.68rem;font-weight:500;padding:.18rem .55rem;border-radius:20px;border:1px solid var(--stone);color:var(--muted)}
.chip.live{background:var(--sage-pale);color:var(--sage);border-color:var(--stone)}
.chip.prog{background:var(--gold-pale);color:var(--gold);border-color:var(--stone)}
.chip.draft{background:var(--plum-pale);color:var(--plum);border-color:var(--stone)}
.links{margin-top:auto;display:flex;flex-wrap:wrap;gap:.4rem}
.btn{font-size:.78rem;font-weight:500;text-decoration:none;padding:.4rem .7rem;border-radius:6px;background:var(--plum);color:#fff}
.btn:hover{background:var(--plum-light)}
.btn.sec{background:none;color:var(--plum);border:1px solid var(--plum)}
.btn.sec:hover{background:var(--plum-pale)}
.btn.rose{background:var(--rose)} .btn.sage{background:var(--sage)} .btn.gold{background:var(--gold)}

/* hub initiative cards (the four Ps) */
.inits{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.icard{background:#fff;border:1px solid var(--stone);border-top:4px solid var(--plum);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:.55rem;transition:box-shadow .2s,transform .2s;text-decoration:none;color:var(--ink)}
.icard:hover{box-shadow:0 8px 22px rgba(90,60,80,.12);transform:translateY(-3px)}
.icard.p1{border-top-color:var(--plum)} .icard.p2{border-top-color:var(--sage)} .icard.p3{border-top-color:var(--gold)} .icard.p4{border-top-color:var(--rose)}
.icard .pno{font-family:'Lora',serif;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.icard.p1 .pno{color:var(--plum)} .icard.p2 .pno{color:var(--sage)} .icard.p3 .pno{color:var(--gold)} .icard.p4 .pno{color:var(--rose)}
.icard h3{font-family:'Lora',serif;font-weight:600;font-size:1.22rem;margin:.05rem 0 .1rem;color:var(--ink)}
.icard p{font-size:.86rem;color:var(--ink);margin:0}
.icard .go{margin-top:auto;font-size:.8rem;font-weight:600;color:var(--plum)}
.icard.p2 .go{color:var(--sage)} .icard.p3 .go{color:var(--gold)} .icard.p4 .go{color:var(--rose)}

/* big stat callouts (data pages) */
.bigstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:.4rem 0 1rem}
.bigstat{background:#fff;border:1px solid var(--stone);border-left:4px solid var(--gold);border-radius:10px;padding:16px 18px}
.bigstat b{font-family:'Lora',serif;font-size:2rem;color:var(--gold);display:block;line-height:1.05}
.bigstat .lbl{font-size:.82rem;color:var(--ink);margin-top:.25rem;display:block}
.bigstat cite{font-style:normal;font-size:.72rem;color:var(--muted)}
.bigstat.plum{border-left-color:var(--plum)} .bigstat.plum b{color:var(--plum)}
.bigstat.rose{border-left-color:var(--rose)} .bigstat.rose b{color:var(--rose)}
.bigstat.sage{border-left-color:var(--sage)} .bigstat.sage b{color:var(--sage)}

/* scope two-box */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.scope .box{border:1px solid var(--stone);border-radius:10px;padding:16px 18px;background:#fff}
.scope .in{border-left:4px solid var(--sage)} .scope .out{border-left:4px solid var(--rose)}
.scope h4{margin:.1rem 0 .4rem;font-size:.95rem}
.scope ul{margin:.2rem 0 0;padding-left:1.1rem;font-size:.85rem;color:var(--ink)}

/* timeline */
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.phase{border:1px solid var(--stone);border-radius:10px;padding:16px;background:#fff;border-top:3px solid var(--stone)}
.phase.now{border-top-color:var(--plum);background:var(--plum-pale)}
.phase .w{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.phase h4{font-family:'Lora',serif;margin:.2rem 0 .3rem;color:var(--plum);font-size:1.05rem}
.phase p{font-size:.82rem;color:var(--ink);margin:0}

/* numbered + plain lists */
.ol{counter-reset:s;list-style:none;padding:0;margin:.2rem 0 0}
.ol li{counter-increment:s;padding-left:1.9rem;position:relative;margin:.35rem 0;font-size:.86rem;color:var(--ink)}
.ol li:before{content:counter(s);position:absolute;left:0;top:.05rem;width:1.25rem;height:1.25rem;background:var(--plum);color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:700}
.mlist{margin:.2rem 0 0;padding-left:1.05rem;font-size:.88rem;color:var(--ink)} .mlist li{margin:.22rem 0}
.method{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:.4rem 0 1rem}
.note{font-size:.8rem;color:var(--muted);font-style:italic}

/* letter block */
.letter{background:#fff;border:1px solid var(--stone);border-left:4px solid var(--plum);border-radius:10px;padding:24px 28px;max-width:780px;font-size:.9rem;color:var(--ink)}
.letter p{margin:.7rem 0}
.letter .sal{margin-top:0}
.letter .sig{margin-top:1rem}

/* peer-model rows */
.model{background:#fff;border:1px solid var(--stone);border-left:4px solid var(--sage);border-radius:10px;padding:16px 20px;margin-bottom:14px}
.model h4{font-family:'Lora',serif;color:var(--sage);font-size:1.1rem;margin:0 0 .2rem}
.model .res{font-weight:600;color:var(--ink)}
.model p{font-size:.88rem;margin:.35rem 0 0;max-width:880px}
.model.plum{border-left-color:var(--plum)} .model.plum h4{color:var(--plum)}
.model.gold{border-left-color:var(--gold)} .model.gold h4{color:var(--gold)}
.model.rose{border-left-color:var(--rose)} .model.rose h4{color:var(--rose)}

/* priority table */
.ptable{width:100%;border-collapse:collapse;font-size:.86rem;background:#fff;border:1px solid var(--stone);border-radius:10px;overflow:hidden}
.ptable th{background:var(--plum-pale);color:var(--plum);text-align:left;font-weight:600;padding:10px 14px;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}
.ptable td{padding:10px 14px;border-top:1px solid var(--stone);vertical-align:top}
.ptable tr:hover td{background:var(--paper)}
.reach{font-weight:700;color:var(--gold)}

/* cross-page nav */
.pnav{display:flex;flex-wrap:wrap;gap:.5rem;margin:8px 0 0}
.pnav a{font-size:.78rem;text-decoration:none;padding:.4rem .7rem;border:1px solid var(--stone);border-radius:20px;color:var(--muted);background:#fff}
.pnav a:hover{border-color:var(--plum);color:var(--plum)}
.pnav a.cur{background:var(--plum);color:#fff;border-color:var(--plum)}

/* references */
.refs{margin:.4rem 0 0;padding-left:0;list-style:none;counter-reset:none}
.refs li{font-size:.78rem;color:var(--muted);margin:.4rem 0;padding-left:1.6rem;position:relative;line-height:1.5}
.refs li .rn{position:absolute;left:0;color:var(--plum);font-weight:600}
.refs a{color:var(--plum);word-break:break-word}

footer{margin-top:34px;border-top:1px solid var(--stone);padding:22px 0 40px;color:var(--muted);font-size:.8rem}

/* journey map / service stage cards */
.jmap{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px}
.stage{background:#fff;border:1px solid var(--stone);border-top:3px solid var(--plum);border-radius:10px;padding:15px 17px;box-shadow:0 2px 8px rgba(90,60,80,.06)}
.jmap .stage:nth-child(4n+2){border-top-color:var(--sage)} .jmap .stage:nth-child(4n+3){border-top-color:var(--gold)} .jmap .stage:nth-child(4n+4){border-top-color:var(--rose)}
.stage .n{font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.stage h5{font-family:'Lora',serif;color:var(--plum);font-size:1.05rem;margin:.15rem 0 .5rem;font-weight:600}
.stage ul{margin:0;padding-left:1.05rem;font-size:.85rem;color:var(--ink);line-height:1.5} .stage ul li{margin:.2rem 0}
.stage.swirl{border-top-color:var(--rose)} .stage.swirl h5{color:var(--rose)}

@media(max-width:680px){.scope,.timeline{grid-template-columns:1fr}.hero h1{font-size:2rem}}
