:root{
  --smu-blue:#354ca1;
  --smu-blue-dark:#22336d;
  --smu-red:#cc0035;
  --ink:#1c1f26;
  --muted:#5d6472;
  --line:#e3e6ed;
  --bg:#ffffff;
  --bg-soft:#f5f7fb;
  --max:960px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:17px;line-height:1.6;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{font-family:"Source Serif 4",Georgia,serif;line-height:1.25;margin:0 0 .5em}
h1{font-size:2.1rem}
h2{font-size:1.45rem;margin-top:2rem;padding-bottom:.3rem;border-bottom:2px solid var(--line)}
h3{font-size:1.1rem;margin-top:1.6rem}
a{color:var(--smu-blue);text-decoration:none}
a:hover{text-decoration:underline}
p,ul,ol{margin:0 0 1rem}

/* Top bar */
.topbar{background:var(--smu-blue-dark);position:sticky;top:0;z-index:20}
.topbar-inner{display:flex;align-items:center;flex-wrap:wrap;min-height:64px}
.brand{color:#fff;display:flex;flex-direction:column;line-height:1.15;margin-right:auto}
.brand:hover{text-decoration:none}
.brand-main{font-family:"Source Serif 4",Georgia,serif;font-weight:700;font-size:1.25rem;letter-spacing:.02em}
.brand-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#b9c4e6}
.nav ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;gap:.25rem}
.nav a{display:block;color:#dfe4f4;padding:.45rem .7rem;border-radius:4px;font-size:.95rem}
.nav a:hover{background:rgba(255,255,255,.12);text-decoration:none}
.nav a.active{background:var(--smu-red);color:#fff}
.nav-toggle,.nav-toggle-label{display:none}

/* Hero and page head */
.hero{
  position:relative;color:#fff;padding:5rem 0 4.5rem;text-align:center;
  background:
    linear-gradient(180deg,rgba(17,26,60,.72) 0%,rgba(23,34,74,.58) 50%,rgba(17,26,60,.72) 100%),
    url("../img/dallas-hall.jpg") center center/cover no-repeat,
    var(--smu-blue-dark);
}
.hero h1,.hero .kicker,.hero .hero-meta{text-shadow:0 1px 10px rgba(12,20,50,.45)}
.hero h1{font-size:2.6rem;margin-bottom:.4rem}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:#c3cdeb;margin-bottom:.6rem}
.hero-meta{font-size:1.45rem;font-weight:600;color:#fff;margin:.5rem 0 1rem;letter-spacing:.01em}
.button{display:inline-block;background:var(--smu-red);color:#fff;padding:.6rem 1.4rem;border-radius:4px;font-weight:600;margin-top:.8rem}
.button:hover{background:#a80029;text-decoration:none}
.pagehead{
  color:#fff;border-bottom:4px solid var(--smu-red);padding:2.6rem 0 2.1rem;
  background:
    linear-gradient(180deg,rgba(17,26,60,.80) 0%,rgba(23,34,74,.74) 100%),
    url("../img/aerial.jpg") center 40%/cover no-repeat,
    var(--smu-blue-dark);
}
.pagehead h1{margin-bottom:.2rem;text-shadow:0 1px 8px rgba(12,20,50,.4)}
.lead{color:#dbe2f6;font-size:1.05rem;margin:0}
.content{padding:2rem 20px 3rem}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}
.card{background:var(--bg-soft);border:1px solid var(--line);border-left:4px solid var(--smu-blue);border-radius:6px;padding:1rem 1.1rem}
.card h3{margin:0 0 .3rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;font-family:inherit;color:var(--smu-blue-dark)}
.card p{margin:0;color:var(--muted)}

/* Tables */
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.97rem}
th,td{text-align:left;padding:.55rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--bg-soft);font-weight:600}
td:first-child{white-space:nowrap;color:var(--muted)}
.table-scroll{overflow-x:auto}

/* Notices */
.notice{background:#fff8e1;border:1px solid #f0d98c;border-radius:6px;padding:.9rem 1.1rem;margin:1.5rem 0}
.notice p{margin:0}

/* Footer */
.footer{background:var(--bg-soft);border-top:1px solid var(--line);margin-top:3rem;padding:2rem 0;color:var(--muted);font-size:.92rem}
.footer-inner{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap}
.footer-logo{width:260px;max-width:100%;height:auto}

@media (max-width:760px){
  .topbar-inner{padding-top:.6rem;padding-bottom:.6rem}
  .nav{flex-basis:100%;max-height:0;overflow:hidden;transition:max-height .2s ease}
  .nav ul{flex-direction:column;gap:0;padding:.4rem 0}
  .nav-toggle-label{display:block;cursor:pointer;padding:.5rem;margin-left:.5rem}
  .nav-toggle-label span,
  .nav-toggle-label span::before,
  .nav-toggle-label span::after{display:block;background:#fff;height:2px;width:24px;border-radius:2px;content:"";position:relative}
  .nav-toggle-label span::before{position:absolute;top:-7px}
  .nav-toggle-label span::after{position:absolute;top:7px}
  .nav-toggle:checked ~ .nav{max-height:24rem}
  .hero h1{font-size:2rem}
  .hero-meta{font-size:1.15rem}
}
