
:root {
  --clemson-purple: #522D80;
  --clemson-purple-2: #3f2262;
  --clemson-orange: #F56600;
  --ink: #17202a;
  --muted: #5d6672;
  --paper: #ffffff;
  --soft: #f6f2fb;
  --soft-orange: #fff1e8;
  --line: #e6e2ea;
  --max: 1180px;
  --shadow: 0 18px 40px rgba(27, 23, 34, .12);
  --radius: 22px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ink); background:
  radial-gradient(circle at 6% 12%, rgba(82,45,128,.07), transparent 24%),
  radial-gradient(circle at 92% 18%, rgba(245,102,0,.08), transparent 28%),
  linear-gradient(135deg, #fbfafc 0%, #f9f5ff 52%, #fff7f1 100%);
  line-height: 1.6; }
body[data-page="about-me.html"] { background: #fbfafc; }
a { color: var(--clemson-purple); text-decoration-thickness: .08em; text-underline-offset: .16em; }
a:hover { color: var(--clemson-orange); }
img { max-width: 100%; height: auto; display: block; }
.skip-link { position: absolute; left: -999px; top: .5rem; background: var(--clemson-purple); color: #fff; padding: .6rem .9rem; z-index: 999; border-radius: .6rem; }
.skip-link:focus { left: .75rem; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.nav-wrap { max-width: var(--max); margin: 0 auto; padding: .85rem 1.2rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; }
.brand { display: inline-flex; align-items: center; gap: .75rem; color: var(--ink); text-decoration: none; min-width: 280px; }
.brand-mark { width: 44px; height: 44px; border-radius: 14px; display: inline-grid; place-items: center; background: linear-gradient(135deg, var(--clemson-purple), var(--clemson-orange)); color: #fff; font-weight: 900; letter-spacing: -.04em; box-shadow: 0 9px 20px rgba(82,45,128,.28); overflow: hidden; flex: 0 0 auto; }
.brand-photo { border-radius: 50%; background: #fff; border: 2px solid #fff; }
.brand-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.brand-name { display:block; font-weight: 800; letter-spacing: -.02em; }
.brand-subtitle { display:block; color: var(--muted); font-size: .78rem; margin-top: -.15rem; }
.site-nav ul { display: flex; gap: .35rem; align-items: center; list-style: none; padding: 0; margin: 0; }
.site-nav li { position: relative; display: flex; align-items: center; }
.site-nav a { color: var(--ink); text-decoration: none; padding: .56rem .7rem; border-radius: 999px; font-size: .94rem; font-weight: 650; white-space: nowrap; }
.site-nav li.active > a, .site-nav a:hover { background: var(--soft); color: var(--clemson-purple); }
.dropdown-toggle { border: 0; background: transparent; color: var(--muted); margin-left: -.65rem; padding: .55rem .35rem; border-radius: 999px; cursor: pointer; }
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown { opacity: 1; visibility: visible; transform: translateY(0); }
.dropdown { position: absolute; top: 115%; left: 0; min-width: 250px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: .55rem; display: grid; gap: .15rem; opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .18s ease; }
.dropdown a { border-radius: 12px; white-space: normal; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 14px; background: #fff; align-items: center; justify-content: center; flex-direction: column; gap: 5px; cursor: pointer; }
.menu-toggle span { width: 20px; height: 2px; border-radius: 999px; background: var(--ink); transition: .2s ease; }
.hero { position: relative; overflow: hidden; background: radial-gradient(circle at 75% 15%, rgba(245,102,0,.15), transparent 32%), linear-gradient(135deg, #fff, #f8f4ff 62%, #fff4ec); }
.hero:before { content: ""; position: absolute; inset: auto -12% -28% 55%; height: 58%; background: rgba(82,45,128,.08); transform: rotate(-12deg); border-radius: 60px; }
.hero-inner { position: relative; max-width: var(--max); margin: 0 auto; padding: 5.4rem 1.2rem 4.8rem; display: grid; grid-template-columns: 1.05fr .95fr; gap: 3rem; align-items: center; }
.about-hero { background:
  radial-gradient(circle at 5% 18%, rgba(82,45,128,.20), transparent 30%),
  radial-gradient(circle at 95% 16%, rgba(245,102,0,.20), transparent 32%),
  radial-gradient(circle at 14% 88%, rgba(82,45,128,.14), transparent 34%),
  radial-gradient(circle at 92% 86%, rgba(245,102,0,.14), transparent 31%),
  linear-gradient(135deg, #fff 0%, #f7f2ff 48%, #fff2ea 100%); }
.about-hero:before { inset: auto -12% -24% 44%; height: 54%; background: rgba(82,45,128,.11); transform: rotate(-12deg); transform-origin: center; border-radius: 64px; z-index: 0; }
.about-hero:after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .34; background-image:
  linear-gradient(rgba(82,45,128,.075) 1px, transparent 1px),
  linear-gradient(90deg, rgba(245,102,0,.06) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(135deg, rgba(0,0,0,.92), rgba(0,0,0,.24)); }
.about-hero .hero-inner { z-index: 1; max-width: min(1720px, 100%); padding: clamp(3.4rem, 5vw, 5.8rem) clamp(1.25rem, 3vw, 3.2rem) clamp(3.2rem, 5vw, 5.4rem); display: grid; grid-template-columns: 1fr; gap: clamp(1.1rem, 2vw, 1.7rem); }
.about-hero-copy h1 { font-size: clamp(3.25rem, 7vw, 7.6rem); max-width: none; line-height: 1.02; letter-spacing: -.04em; margin-bottom: 0; }
.about-process { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; justify-content: space-between; border: 1px solid rgba(255,255,255,.74); border-radius: 24px; padding: 1rem 1.15rem; background: rgba(255,255,255,.72); backdrop-filter: blur(10px); box-shadow: 0 16px 32px rgba(27,23,34,.07); }
.about-process h2 { color: var(--clemson-purple); font-size: clamp(1.2rem, 2vw, 1.75rem); letter-spacing: -.04em; margin: 0; }
.about-process p { color: var(--muted); max-width: 72ch; margin: 0; }
.about-anchor-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.about-anchor-card { border: 1px solid rgba(255,255,255,.78); background: rgba(255,255,255,.74); border-radius: 20px; padding: 1.15rem; display: grid; grid-template-rows: auto 1fr auto; gap: .75rem; backdrop-filter: blur(10px); box-shadow: 0 18px 38px rgba(27,23,34,.08); }
.about-anchor-card h3 { color: var(--clemson-purple); font-weight: 950; font-size: clamp(1.55rem, 2.6vw, 2.45rem); letter-spacing: -.04em; margin: 0; }
.about-anchor-card p { color: var(--muted); margin: 0; font-size: clamp(1rem, 1.25vw, 1.18rem); }
.about-anchor-card img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 25px; background: transparent; }
.about-hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .2rem; }
.hero-main { display: grid; grid-template-columns: minmax(600px, 1.08fr) minmax(500px, .92fr); gap: clamp(2rem, 3.4vw, 4.8rem); align-items: center; }
.about-hero .hero-main { align-items: start; }
.about-hero .hero-main > .hero-copy:first-child { grid-column: 1 / -1; max-width: min(1280px, 100%); }
.hero-intro { grid-column: 1; }
.hero-copy h1 { font-size: clamp(3.55rem, 4.25vw, 6.35rem); line-height: .96; letter-spacing: -.06em; }
.hero-copy h1 span { display: block; white-space: nowrap; }
.hero-copy .lead { max-width: 80ch; font-size: clamp(1.08rem, 1.16vw, 1.34rem); }
.about-hero .hero-card { grid-column: 2; margin-top: 0; padding: clamp(.9rem, 1.2vw, 1.25rem); border-radius: 38px; }
.about-hero .hero-photo-grid { grid-template-columns: .82fr 1fr; gap: clamp(.9rem, 1.1vw, 1.25rem); }
.about-hero .hero-photo-grid img { min-height: clamp(430px, 36vw, 650px); border-radius: 25px; }
.about-hero .hero-photo-grid > img:first-child { object-position: 44% 50%; }
.about-hero .hero-photo-stack img { min-height: clamp(205px, 17.2vw, 315px); }
.about-hero .hero-photo-stack img.no-crop { object-fit: contain; background: #f6f2fb; }
.hero-options { display: grid; grid-template-columns: minmax(360px, .72fr) minmax(580px, 1.28fr); gap: 1rem; align-items: stretch; margin-top: clamp(1.2rem, 2.2vw, 2.2rem); }
.about-hero .hero-actions { margin-top: 0; align-content: start; }
.about-hero .stat-row { margin-top: 0; }
.eyebrow { color: var(--clemson-orange); text-transform: uppercase; letter-spacing: .12em; font-size: .78rem; font-weight: 900; margin: 0 0 .8rem; }
h1, h2, h3 { line-height: 1.08; color: var(--ink); }
h1 { font-size: clamp(2.55rem, 6vw, 5.1rem); letter-spacing: -.07em; margin: 0 0 1rem; }
h2 { font-size: clamp(1.95rem, 4vw, 3.1rem); letter-spacing: -.045em; margin: 0 0 1rem; }
h3 { font-size: clamp(1.18rem, 2.4vw, 1.55rem); letter-spacing: -.025em; margin: 0 0 .55rem; }
.lead { color: #313846; font-size: clamp(1.05rem, 1.8vw, 1.32rem); line-height: 1.7; max-width: 68ch; }
.hero-actions, .actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; color: #fff; background: var(--clemson-purple); border: 1px solid var(--clemson-purple); border-radius: 999px; padding: .78rem 1.02rem; font-weight: 800; text-decoration: none; box-shadow: 0 12px 20px rgba(82,45,128,.18); }
.button:hover { color: #fff; background: var(--clemson-orange); border-color: var(--clemson-orange); }
.button.secondary { color: var(--clemson-purple); background: #fff; border-color: var(--line); box-shadow: none; }
.button.secondary:hover { color: var(--clemson-orange); border-color: rgba(245,102,0,.35); background: #fffaf7; }
.button.small { padding: .55rem .75rem; font-size: .9rem; }
.hero-card { background: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.88); border-radius: 34px; padding: 1rem; box-shadow: var(--shadow); }
.hero-photo-grid { display: grid; grid-template-columns: .78fr 1fr; gap: 1rem; align-items: stretch; }
.hero-photo-grid img { height: 100%; object-fit: cover; border-radius: 24px; min-height: 360px; }
.hero-photo-stack { display: grid; gap: 1rem; }
.hero-photo-stack img { min-height: 172px; }
.stat-row { display: grid; grid-template-columns: repeat(3,1fr); gap: .8rem; margin-top: 1rem; }
.stat { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 1rem; }
.stat strong { display: block; color: var(--clemson-purple); font-size: 1.15rem; }
.section { max-width: var(--max); margin: 0 auto; padding: 4.2rem 1.2rem; }
.about-detail { max-width: min(1500px, calc(100vw - 2.5rem)); }
.about-detail .split { grid-template-columns: minmax(500px, 1.02fr) minmax(520px, .98fr); }
.about-detail .rounded-img { min-height: clamp(360px, 32vw, 560px); }
.professional-hero { align-items: center; }
.professional-hero-img { max-height: 520px; object-fit: cover; }
.section.tight { padding-top: 2.4rem; }
.section-header { max-width: 770px; margin-bottom: 1.8rem; }
.kicker { color: var(--clemson-orange); font-weight: 900; letter-spacing: .1em; text-transform: uppercase; font-size: .76rem; margin-bottom: .7rem; }
.grid { display: grid; gap: 1.2rem; }
.grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 1.35rem; box-shadow: 0 10px 24px rgba(32, 21, 45, .05); }
.card.highlight { background: linear-gradient(135deg, #fff, #fbf8ff); border-color: #ddd3ea; }
.card.orange { background: var(--soft-orange); border-color: #ffd6bc; }
.card img.card-img, .card-img { border-radius: 18px; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; margin-bottom: 1rem; }
.card-img.contain, .image-contain { object-fit: contain; background: #f1eef5; }
.card img.card-img.portrait, .card-img.portrait { aspect-ratio: 3 / 4; object-fit: cover; background: #f1eef5; }
.card img.card-img.thumbnail, .card-img.thumbnail { aspect-ratio: 4 / 3; object-fit: cover; background: #f1eef5; }
.card img.card-img.cover-img, .card-img.cover-img { object-fit: contain; background: transparent; }
.card img.card-img.equipment-img, .card-img.equipment-img { aspect-ratio: 4 / 3; object-fit: contain; background: transparent; padding: 0; }
.card .meta, .meta { color: var(--muted); font-size: .95rem; font-weight: 650; }
.logo-tile { display: grid; place-items: center; width: 70px; height: 70px; border-radius: 16px; background: #fff; border: 1px solid var(--line); box-shadow: 0 10px 20px rgba(32,21,45,.06); overflow: hidden; flex: 0 0 auto; }
.logo-tile img { width: 100%; height: 100%; object-fit: contain; padding: .55rem; }
.logo-tile.school-logo img { object-fit: cover; padding: 0; }
.logo-tile.wordmark { padding: .45rem; color: var(--clemson-purple); font-weight: 900; text-align: center; line-height: 1.05; font-size: .78rem; }
.logo-tile.clemson { background: #522D80; }
.logo-tile.gssm { background: #173B67; }
.school-card { display: grid; gap: .9rem; align-content: start; }
.school-card .school-heading { display: flex; gap: .85rem; align-items: center; }
.education-overview { display: grid; grid-template-columns: minmax(260px, .95fr) minmax(300px, 1.05fr); gap: 2rem; align-items: start; }
.education-photo { position: sticky; top: 92px; }
.education-photo img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.education-track { display: grid; gap: 1rem; }
.education-track .card { display: grid; gap: .75rem; }
.education-track .school-heading h3 { margin-bottom: .15rem; }
.tag-list { display:flex; flex-wrap: wrap; gap:.45rem; margin:.8rem 0 0; padding:0; list-style:none; }
.tag-list li, .tag { border:1px solid var(--line); background:#fff; color:var(--clemson-purple); border-radius:999px; padding:.28rem .58rem; font-size:.82rem; font-weight:750; }
.callout { background: linear-gradient(135deg, var(--clemson-purple), #2e194b); color: #fff; border-radius: 30px; padding: clamp(1.4rem, 3vw, 2.4rem); box-shadow: var(--shadow); }
.callout h2, .callout h3, .callout p { color: #fff; }
.callout a { color:#fff; }
.split { display:grid; grid-template-columns: .95fr 1.05fr; gap:2rem; align-items:center; }
.rounded-img { border-radius: 30px; box-shadow: var(--shadow); object-fit: cover; width: 100%; }
.page-hero { position: relative; overflow: hidden; background:
  radial-gradient(circle at 9% 16%, rgba(82,45,128,.10), transparent 30%),
  radial-gradient(circle at 88% 12%, rgba(245,102,0,.12), transparent 32%),
  linear-gradient(135deg, #fff 0%, #f8f3ff 58%, #fff3eb 100%);
  border-bottom: 1px solid var(--line); }
.page-hero:before { content: ""; position: absolute; inset: auto -14% -36% 48%; height: 62%; background: rgba(82,45,128,.075); transform: rotate(-12deg); border-radius: 56px; pointer-events: none; }
.page-hero .section { position: relative; z-index: 1; padding-top: 3.6rem; padding-bottom: 3.2rem; }
.breadcrumb { margin:0 0 1rem; color: var(--muted); font-size:.9rem; }
.breadcrumb a { color: var(--muted); text-decoration:none; }
.subnav { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.3rem; }
.subnav a { text-decoration:none; border:1px solid var(--line); background:#fff; color:var(--ink); border-radius:999px; padding:.55rem .85rem; font-weight:750; }
.subnav a[aria-current="page"], .subnav a:hover { background: var(--clemson-purple); color: #fff; border-color: var(--clemson-purple); }
.timeline { position: relative; display:grid; gap:1rem; }
.timeline-card { display:grid; grid-template-columns: 230px 1fr; gap:1rem; background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem; }
.timeline-card.has-logo { grid-template-columns: 78px 190px 1fr; align-items:start; }
.timeline-card .date { color: var(--clemson-purple); font-weight:850; }
.timeline-card ul { margin:.4rem 0 0; padding-left:1.1rem; }
.company-logo { width: 62px; height: 62px; border-radius: 14px; border: 1px solid var(--line); background: #fff; display:grid; place-items:center; color: var(--clemson-purple); font-weight:900; text-align:center; line-height:1; font-size:.76rem; padding:.4rem; box-shadow: 0 10px 18px rgba(32,21,45,.05); }
.company-logo.paw { background:#522D80; padding:.25rem; }
.company-logo img { width:100%; height:100%; object-fit:contain; }
.company-logo.paw img { width:100%; height:100%; object-fit:contain; }
.course-toolbar { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin: 1rem 0 1.4rem; }
.course-toolbar input { flex: 1 1 300px; border:1px solid var(--line); border-radius:999px; padding:.86rem 1rem; font:inherit; background:#fff; }
.course-grid { display:grid; gap: 1rem; }
.term-block { background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.term-block summary { cursor:pointer; padding: 1rem 1.2rem; font-weight:900; color:var(--ink); background: #fff; display:flex; justify-content:space-between; align-items:center; }
.term-block summary::after { content:"Open"; color:var(--muted); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.term-block[open] summary::after { content:"Close"; }
.course-table { width:100%; border-collapse:collapse; }
.course-table th, .course-table td { text-align:left; padding:.78rem 1rem; border-top:1px solid var(--line); vertical-align:top; }
.course-table th { color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.course-code { font-weight:850; white-space:nowrap; }
.course-code a { text-decoration-thickness: .07em; }
.course-status { min-height: 2rem; }
.poster-card { overflow:hidden; padding:0; }
.poster-card img { aspect-ratio: 16/9; width:100%; object-fit:cover; border-bottom:1px solid var(--line); }
.poster-card .poster-body { padding:1.2rem; }
.gallery { display:grid; grid-template-columns: repeat(12,1fr); gap:1rem; }
.gallery figure { margin:0; border-radius:24px; overflow:hidden; background:#fff; border:1px solid var(--line); box-shadow:0 12px 24px rgba(32,21,45,.04); }
.gallery img { width:100%; height:100%; object-fit:cover; aspect-ratio: 4/3; }
.gallery figcaption { padding:.75rem .9rem; color:var(--muted); font-weight:650; }
.span-7 { grid-column: span 7; }
.span-5 { grid-column: span 5; }
.span-4 { grid-column: span 4; }
.span-6 { grid-column: span 6; }
.contact-card { display:grid; gap:.9rem; }
.contact-link { display:flex; justify-content:space-between; gap:1rem; align-items:center; background:#fff; border:1px solid var(--line); border-radius:20px; padding:1rem; text-decoration:none; color:var(--ink); }
.contact-link.button-link { width:100%; cursor:pointer; font:inherit; text-align:left; appearance:none; }
.contact-link strong { display:block; }
.contact-link span { color:var(--muted); }
.contact-link:hover { border-color: rgba(245,102,0,.45); background:#fffaf7; }
.contact-note { margin: .25rem 0 0; }
.phone-dialog, .contact-dialog { border:0; border-radius: 22px; padding:0; box-shadow: var(--shadow); max-width: min(92vw, 460px); }
.phone-dialog::backdrop, .contact-dialog::backdrop { background: rgba(23,32,42,.42); backdrop-filter: blur(3px); }
.phone-dialog .card, .contact-dialog .card { box-shadow:none; border:0; }
.dialog-actions { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.site-footer { background:#21152f; color:#f7f2ff; margin-top:2rem; }
.footer-inner { max-width: var(--max); margin:0 auto; padding:2.1rem 1.2rem; display:flex; justify-content:space-between; gap:1.5rem; align-items:center; }
.footer-links { display:flex; flex-wrap:wrap; gap:.8rem; justify-content:flex-end; }
.footer-links a { color:#fff; }
.source-list { display:grid; gap:.9rem; }
.source-list li { padding:.8rem 0; border-bottom:1px solid var(--line); }
.note { font-size:.94rem; color:var(--muted); }
.hidden { display:none !important; }
@media (max-width: 980px) {
  .menu-toggle { display:flex; }
  .site-nav { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); box-shadow:0 22px 26px rgba(35,20,50,.08); }
  .site-nav.open { display:block; }
  .site-nav ul { max-width:var(--max); margin:0 auto; padding:.75rem 1rem 1.1rem; display:grid; gap:.25rem; }
  .site-nav li { display:grid; grid-template-columns: 1fr auto; }
  .site-nav a { border-radius:14px; padding:.8rem .9rem; }
  .dropdown-toggle { margin:0; padding:.8rem .9rem; }
  .dropdown { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; padding:0 0 .35rem .75rem; display:none; grid-column:1 / -1; }
  .has-dropdown.open .dropdown { display:grid; }
  .hero-inner, .hero-main, .hero-options, .about-anchor-grid, .split, .about-detail .split, .grid.two, .grid.three, .grid.four { grid-template-columns:1fr; }
  .education-overview, .timeline-card.has-logo { grid-template-columns:1fr; }
  .education-photo { position: static; }
  .hero-inner { padding-top:3.8rem; }
  .about-hero .hero-inner { padding-top:3.8rem; }
  .about-hero .hero-main > .hero-copy:first-child, .hero-intro, .about-hero .hero-card { grid-column:auto; }
  .about-hero .hero-card { margin-top:0; }
  .hero-copy h1 span { white-space: normal; }
  .hero-copy h1 { font-size: clamp(3.2rem, 12vw, 5.2rem); }
  .about-hero-copy h1 { font-size: clamp(3rem, 12vw, 5rem); }
  .hero-photo-grid { grid-template-columns:1fr; }
  .hero-photo-grid img, .hero-photo-stack img, .about-hero .hero-photo-grid img, .about-hero .hero-photo-stack img { min-height:0; max-height:420px; }
  .timeline-card { grid-template-columns:1fr; }
  .footer-inner { align-items:flex-start; flex-direction:column; }
  .footer-links { justify-content:flex-start; }
}
@media (max-width: 660px) {
  .nav-wrap { padding:.7rem .85rem; }
  .brand { min-width:0; }
  .brand-subtitle { display:none; }
  .hero-inner, .section { padding-left: .95rem; padding-right:.95rem; }
  .stat-row { grid-template-columns:1fr; }
  .course-table { display:block; overflow-x:auto; white-space:nowrap; }
  .gallery { grid-template-columns:1fr; }
  .span-7, .span-5, .span-4, .span-6 { grid-column: auto; }
}
@media print {
  .site-header, .site-footer, .hero-actions, .subnav, .course-toolbar { display:none; }
  body { background:#fff; }
  .section { padding:1rem 0; }
  .card, .timeline-card, .term-block { box-shadow:none; break-inside: avoid; }
}
