/* AI+ Education · light campus edition. Homepage styles are isolated from subpages. */
html:has(.home-page) { scroll-padding-top:0 }
.home-page { --home-red:#97452e;--home-ink:#272522;--home-muted:#615c55;--home-paper:#f5f3ef;--home-line:#e1dcd4;--container:1380px;background:#fdfcfb;color:var(--home-ink) }
.home-page .container { padding-inline:56px }
.home-page .grid-rules { display:none }
.home-page .site-header { position:fixed;top:16px;left:24px;right:24px;height:68px;border:0;background:none;backdrop-filter:none }
.home-page .header-inner { height:68px;max-width:1268px;padding-inline:22px;gap:18px;background:#fdfcfbf2;border:1px solid #e6e0d8;border-radius:50px;box-shadow:0 5px 22px #43382c0a;backdrop-filter:blur(14px) }
.home-page .brand img { width:40px;height:40px }
.home-page .brand-university { color:#963e3b;font-size:11px;letter-spacing:.05em }
.home-page .brand-title { font-size:14px }
.home-page .nav-link,.home-page .nav-summary { font-weight:500;font-size:12px;padding-inline:9px }
.home-page :focus-visible { outline:3px solid #9b7049;outline-offset:4px }
.home-page section[id] { scroll-margin-top:145px }
.home-page .home-hero { position:relative;overflow:hidden;background:#f4f2ed;color:var(--home-ink);padding-top:124px }
.home-page .home-hero-inner { position:relative;z-index:2;min-height:480px;display:grid;place-items:start center;text-align:center;padding-top:24px }
.home-page .home-hero-copy { width:min(840px,100%) }
.home-page .home-kicker { font:10px var(--font-mono);letter-spacing:.25em;color:#8a4d32;margin-bottom:24px }
.home-page #home-title { color:var(--home-ink);margin:0;font-weight:700 }
.home-page .home-ai { display:block;font-family:var(--font-display);font-size:clamp(44px,4.7vw,68px);line-height:1.2;font-weight:700;letter-spacing:.025em }
.home-page .home-ai > span { color:var(--home-red);font-weight:400;padding-inline:3px }
.home-page .home-hero-description { color:#615c55;font-size:14px;line-height:1.8;margin-top:15px }
.home-page .home-search { margin:30px auto 0;max-width:650px;position:relative;display:flex;align-items:center;gap:16px;background:#fdfcfb;border:1px solid #d9d2c7;border-radius:50px;padding:8px 8px 8px 23px;box-shadow:0 8px 30px #5347390b;text-align:left }
.home-page .home-search > svg { color:#756d60;flex-shrink:0 }
.home-page .home-search input { width:100%;min-width:0;flex:1;border:0;background:none;color:var(--home-ink);font:14px var(--font-sans);outline:0;height:40px }
.home-page .home-search input::placeholder { color:#716c64;opacity:1 }
.home-page .home-search:focus-within { border-color:var(--home-red);box-shadow:0 0 0 3px #97452e15 }
.home-page .home-search button { display:grid;place-items:center;flex-shrink:0;border:0;border-radius:50%;width:42px;height:42px;background:#a05237;color:#fff;cursor:pointer }
.home-page .home-search button:hover { background:#803d28 }
.home-page .hero-actions { display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:20px }
.home-page .home-hero-link { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;min-width:172px;padding:11px 22px;border:1px solid #b89c87;border-radius:999px;background:#fdfcfb;color:#593d2e;font-size:14px;font-weight:600;line-height:1.5;box-shadow:0 3px 12px #46301f0c;white-space:nowrap;transition:background .2s,border-color .2s }
.home-page .home-hero-link svg { flex-shrink:0 }
.home-page .home-hero-link:hover { color:#593d2e;background:#f1e8dc;border-color:#91705a;text-decoration:none }
.home-page .home-hero-link--primary { color:#fff;background:#97452e;border-color:#97452e }
.home-page .home-hero-link--primary:hover { color:#fff;background:#7e3825;border-color:#7e3825 }
.home-page .home-hero-art { position:absolute;inset:auto 0 0;height:min(100%,41.658vw);pointer-events:none }
.home-page .home-campus { display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center bottom }
.home-page .home-hero-art::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,#f4f2ed 0%,#f8f6f122 28%,transparent 60%,#f5f3ef88 100%) }
.home-page .home-hero-bottom { position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px;margin-top:22px;font:9px var(--font-mono);letter-spacing:.13em;color:#63594d }
.home-page .home-system { background:var(--home-paper);padding-block:32px 38px }
.home-page .home-system-heading { display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:24px }
.home-page .home-system-heading h2 { font-family:var(--font-sans);font-size:15px;font-weight:600 }
.home-page .home-system-heading p { color:var(--home-muted);font-size:11px }
.home-page .home-system-heading p span { font-family:var(--font-mono);color:var(--home-red);margin-right:20px }
.home-page .home-metrics { display:grid;grid-template-columns:repeat(7,minmax(0,1fr)) }
.home-page .home-metric { border-left:1px solid var(--home-line);padding:0 16px;min-width:0 }
.home-page .home-metric:first-child { border-left:0;padding-left:0 }
.home-page .home-metric-value { font-size:40px;font-weight:400;line-height:1.15;color:var(--home-ink);letter-spacing:-.035em }
.home-page .home-metric-value > span { font-size:11px;margin-left:5px;color:var(--home-muted) }
.home-page .home-metric-name { margin-top:12px;font-size:12px;font-weight:600;display:flex;align-items:center;gap:6px }
.home-page .home-metric-name svg { color:#756b62;flex-shrink:0 }
.home-page .home-metric p { font-size:11px;color:var(--home-muted);margin-top:5px;line-height:1.6 }
.home-page a.home-metric:hover .home-metric-name { color:var(--home-red) }
.home-page .home-section-nav { position:sticky;top:90px;z-index:50;background:#fdfcfbf5;border-bottom:1px solid var(--home-line);backdrop-filter:blur(12px) }
.home-page .home-section-nav .container { display:flex;gap:46px;min-height:56px;align-items:stretch }
.home-page .home-section-nav a { display:flex;align-items:center;gap:12px;font-size:12px;border-bottom:2px solid transparent;white-space:nowrap }
.home-page .home-section-nav a > span { font:9px var(--font-mono);color:#766c63 }
.home-page .home-section-nav a:hover { color:var(--home-red);border-bottom-color:var(--home-red) }
.home-page .home-section { padding-block:86px }
.home-page .home-section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:40px }
.home-page .home-eyebrow { color:var(--home-red);font:10px var(--font-mono);letter-spacing:.13em;margin-bottom:15px }
.home-page .home-section h2 { color:var(--home-ink);font-size:42px;line-height:1.3;letter-spacing:-.025em }
.home-page .home-section h2 > span { color:var(--home-red);padding-inline:4px }
.home-page .home-section-intro { width:360px;max-width:45%;font-size:14px;color:var(--home-muted);line-height:1.9 }
.home-page .home-text-link { display:inline-flex;align-items:center;gap:24px;font-size:12px;font-weight:500;padding-bottom:4px;border-bottom:1px solid #b4a598;color:var(--home-red);margin-top:16px }
.home-page .home-text-link:hover { border-bottom-color:currentColor }
.home-page .home-directory-label { display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--home-muted);letter-spacing:.035em;padding-bottom:13px;border-bottom:1px solid #9c8b7a }
.home-page .home-major-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px }
.home-page .home-major-row { display:grid;grid-template-columns:22px minmax(100px,.92fr) minmax(0,1.25fr);gap:12px;align-items:baseline;padding-block:22px;border-bottom:1px solid #e8e3dc }
.home-page .home-row-index { font:9px var(--font-mono);color:#766c63 }
.home-page .home-major-college { font-size:13px;line-height:1.9;color:var(--home-muted) }
.home-page .home-major-directions { font-size:14px;line-height:1.7;font-weight:500 }
.home-page .home-major-directions > div + div { margin-top:10px }
.home-page .home-major-directions a svg { display:inline-block;vertical-align:middle }
.home-page .home-major-directions a:hover { color:var(--home-red);text-decoration:underline;text-underline-offset:4px }
.home-page .home-micro { background:var(--home-paper) }
.home-page .home-micro-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px }
.home-page .home-micro-card { padding:26px 0 24px;border-bottom:1px solid var(--home-line) }
.home-page .home-micro-card h3 { font-size:12px;color:var(--home-red);font-weight:600;margin-bottom:13px }
.home-page .home-micro-card ul { margin:0;padding:0;list-style:none }
.home-page .home-micro-card li { margin:9px 0;font-size:14px;line-height:1.7 }
.home-page .home-micro-card li a { display:inline }
.home-page .home-micro-card li svg { display:inline-block;vertical-align:middle;margin-left:3px;color:#958271 }
.home-page .home-micro-card li a:hover { color:var(--home-red);text-decoration:underline;text-underline-offset:4px }
.home-page .home-micro-more summary { list-style:none;cursor:pointer;width:fit-content;margin:30px auto 0;display:flex;align-items:center;gap:38px;border:1px solid #c6baac;padding:13px 22px;color:var(--home-red);font-size:12px }
.home-page .home-micro-more summary::-webkit-details-marker { display:none }
.home-page .home-micro-more summary:hover { background:#eee8dd }
.home-page .micro-collapse { display:none }
.home-page .home-micro-more[open] .micro-expand { display:none }
.home-page .home-micro-more[open] .micro-collapse { display:inline }
.home-page .home-micro-more[open] summary svg { transform:rotate(180deg) }
.home-page .home-micro-more[open] .home-micro-grid { margin-top:8px }
.home-page .home-micro-more .home-micro-grid { display:block;columns:3;column-gap:32px }
.home-page .home-micro-more .home-micro-card { break-inside:avoid-column }
.home-page .home-empty { color:var(--home-muted);padding-block:24px;border-top:1px solid var(--home-line) }
.home-page .home-resource-grid { display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(190px,auto));gap:18px }
.home-page .home-resource-grid .module-card { min-height:0;padding:25px;background:#fdfcfb;border:1px solid var(--home-line);display:flex;flex-direction:column;justify-content:space-between;gap:32px;border-radius:14px;box-shadow:0 2px 6px #40362805;transition:border-color .2s,background .2s }
.home-page .home-resource-grid .module-card::after { display:none }
.home-page .home-resource-grid .module-card:hover { transform:none;border-color:#c9b8aa;background:#f9f6f1 }
.home-page .home-resource-top { display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--home-red) }
.home-page .home-resource-top > span { font:9px var(--font-mono);letter-spacing:.06em }
.home-page .home-resource-top svg { transition:transform .2s;flex-shrink:0 }
.home-page .module-card:hover .home-resource-top svg { transform:translate(3px,-3px) }
.home-page .home-resource-copy h3 { font-family:var(--font-display);font-size:25px;color:var(--home-ink) }
.home-page .home-resource-copy p { font-size:12px;color:var(--home-muted);margin-top:10px }
.home-page .home-resource-grid .module-card:first-child { grid-row:span 2;background:#eef2ee;color:var(--home-ink);overflow:hidden;position:relative }
.home-page .home-resource-grid .module-card:first-child:hover { background:#e6ede7;border-color:#a5b6a6 }
.home-page .module-card:first-child .home-resource-top,.home-page .module-card:first-child h3 { color:#344e40 }
.home-page .module-card:first-child .home-resource-copy p { color:#526459 }
.home-page .home-resource-cta { display:flex;gap:20px;align-items:center;margin-top:23px;font-size:12px;color:#344e40 }
.home-page .home-course-art { height:150px;position:relative;margin-block:-10px }
.home-page .home-course-art > span:first-child { font:100px var(--font-display);color:#789481;position:absolute;top:-10px;left:16px }
.home-page .course-art-ring { position:absolute;width:160px;height:160px;border:1px solid #9eaea188;border-radius:50%;left:48px;top:-4px }
.home-page .course-art-ring::after { content:'';position:absolute;inset:18px -42px;border:1px solid #9eaea188;border-radius:50%;transform:rotate(-35deg) }
.home-page .course-art-cross { position:absolute;font-size:90px;font-weight:200;top:-12px;left:139px;color:#789481 }
.home-page .course-art-caption { position:absolute;left:0;bottom:-6px;font:8px var(--font-mono);letter-spacing:.13em;color:#526459 }
.home-page #recognition.home-awards { background:#f6f3ee;color:var(--home-ink);border-top:1px solid var(--home-line);border-bottom:1px solid var(--home-line) }
.home-page .home-awards-layout { display:grid;grid-template-columns:1fr 2fr;gap:72px }
.home-page .home-awards h2 { color:var(--home-ink) }
.home-page .home-awards .home-eyebrow { color:var(--home-red) }
.home-page .home-awards-intro p { color:var(--home-muted);font-size:13px;line-height:1.9;margin-top:23px }
.home-page .home-awards .home-text-link { color:var(--home-red);border-bottom-color:#c5ad97;margin-top:30px }
.home-page .home-awards-seal { display:block;font:80px var(--font-sans);color:#b8a78d66;line-height:1;margin-top:95px;letter-spacing:-.065em }
.home-page .home-awards-seal > span { font-weight:300 }
.home-page .home-awards-seal small { display:block;margin-top:16px;color:#756656;letter-spacing:.12em;font:9px var(--font-mono) }
.home-page .home-award-row { position:relative;display:block;padding:20px 36px 22px 0;border-top:1px solid var(--home-line) }
.home-page .home-award-row:last-child { border-bottom:1px solid var(--home-line) }
.home-page .home-award-meta { display:flex;align-items:center;gap:20px;color:#876547;font-size:10px;line-height:1.5;margin-bottom:9px }
.home-page .home-award-name { font-size:15px;line-height:1.85;color:var(--home-ink) }
.home-page .home-award-arrow { position:absolute;right:0;top:47px;color:#876547 }
.home-page a.home-award-row:hover .home-award-name { color:var(--home-red);text-decoration:underline;text-underline-offset:5px }
.home-page .site-footer { background:#fdfcfb;border-top:0 }
.home-page .footer-main { padding-block:52px }
.home-page .footer-bottom { border-color:var(--home-line);color:var(--home-muted);font-size:10px }

@media (max-width:1200px) {
 .home-page .container { padding-inline:36px }
 .home-page .header-inner { padding-inline:20px }
 .home-page .home-major-grid { column-gap:28px }
 .home-page .home-major-row { grid-template-columns:16px minmax(85px,.85fr) minmax(0,1.2fr);gap:9px }
 .home-page .home-major-college { font-size:12px }
 .home-page .home-major-directions { font-size:13px }
 .home-page .home-metric { padding-inline:12px }
 .home-page .home-metric-name { font-size:11px }
}
@media (max-width:1100px) {
 .home-page .mobile-panel { top:96px;left:24px;right:24px;border:1px solid var(--home-line);border-radius:18px;background:#fdfcfb;max-height:calc(100dvh - 112px) }
}
@media (max-width:900px) {
 .home-page .home-hero-inner { min-height:450px }
 .home-page .home-metrics { grid-template-columns:repeat(4,minmax(0,1fr));row-gap:26px }
 .home-page .home-metric:nth-child(5) { border-left:0;padding-left:0 }
 .home-page .home-section { padding-block:65px }
 .home-page .home-major-grid { grid-template-columns:1fr }
 .home-page .home-major-row { grid-template-columns:24px 1fr 1.5fr;padding-block:19px }
 .home-page .home-major-college { font-size:13px }
 .home-page .home-major-directions { font-size:14px }
 .home-page .home-micro-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
 .home-page .home-micro-more .home-micro-grid { columns:2 }
 .home-page .home-resource-grid { grid-template-columns:1fr 1fr;grid-template-rows:auto }
 .home-page .home-resource-grid .module-card { min-height:190px }
 .home-page .home-resource-grid .module-card:first-child { grid-column:span 2;grid-row:auto;min-height:280px }
 .home-page .home-course-art { position:absolute;right:70px;top:80px;width:260px }
 .home-page .home-resource-copy { z-index:1 }
 .home-page .home-awards-layout { grid-template-columns:1fr 2fr;gap:32px }
}
@media (max-width:600px) {
 .home-page .container { padding-inline:22px }
 .home-page .site-header { top:12px;left:12px;right:12px;height:60px }
 .home-page .header-inner { height:60px;padding-inline:14px;gap:8px }
 .home-page .brand img { width:33px;height:33px }
 .home-page .brand-title { font-size:12px }
 .home-page .brand-university { display:block;font-size:9px }
 .home-page .brand { gap:8px }
 .home-page .header-actions { gap:0 }
 .home-page .header-actions .icon-button { width:32px }
 .home-page .mobile-panel { top:84px;left:12px;right:12px;max-height:calc(100dvh - 100px) }
 .home-page .home-hero { padding-top:117px }
 .home-page .home-hero-inner { display:block;min-height:402px;padding-top:0 }
 .home-page .home-kicker { font-size:8px;letter-spacing:.12em;margin-bottom:22px }
 .home-page .home-ai { font-size:37px;letter-spacing:0 }
 .home-page .home-hero-description { font-size:12px;max-width:28em;margin:16px auto 0;line-height:1.85 }
 .home-page .home-search { margin-top:24px;gap:10px;padding:6px 6px 6px 16px }
 .home-page .home-search > svg { width:17px;height:17px }
 .home-page .home-search input { font-size:11px;height:36px }
 .home-page .home-search button { width:36px;height:36px }
 .home-page .hero-actions { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:460px;margin:16px auto 0;gap:8px }
 .home-page .home-hero-link { min-width:0;min-height:46px;padding:11px 6px;gap:0;font-size:12px }
 .home-page .home-hero-link svg { display:none }
 .home-page .home-hero-art { top:auto;bottom:-24px;height:400px }
 .home-page .home-campus { object-position:left bottom }
 .home-page .home-hero-art::after { background:linear-gradient(180deg,#f4f2ed 0%,#f4f2ed44 30%,transparent 54%,#f5f3ef88 100%) }
 .home-page .home-hero-bottom { height:58px;font-size:8px;justify-content:center;margin-top:4px }
 .home-page .home-hero-bottom > span:first-child { display:none }
 .home-page .home-system { padding-block:26px 30px }
 .home-page .home-system-heading { align-items:flex-start }
 .home-page .home-system-heading p { font-size:9px;text-align:right }
 .home-page .home-system-heading p span { margin-right:0;display:block }
 .home-page .home-metrics { grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px }
 .home-page .home-metric { padding-inline:22px 0 }
 .home-page .home-metric:nth-child(odd) { padding-left:0;border-left:0 }
 .home-page .home-metric-value { font-size:36px }
 .home-page .home-metric-name { font-size:12px;margin-top:8px }
 .home-page .home-metric:last-child { grid-column:span 2;padding-top:18px;border-top:1px solid var(--home-line);display:grid;grid-template-columns:64px 1fr }
 .home-page .home-metric:last-child .home-metric-value { grid-row:span 2 }
 .home-page .home-metric:last-child p { margin:0 }
 .home-page .home-section-nav { top:80px }
 .home-page .home-section-nav .container { min-height:48px;gap:0;justify-content:space-between }
 .home-page .home-section-nav a { font-size:10px }
 .home-page .home-section-nav a > span { display:none }
 .home-page section[id] { scroll-margin-top:134px }
 .home-page .home-section { padding-block:48px }
 .home-page .home-section-heading { flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:28px }
 .home-page .home-section h2 { font-size:34px }
 .home-page .home-eyebrow { font-size:8px;letter-spacing:.09em;margin-bottom:13px }
 .home-page .home-section-intro { max-width:none;width:auto;font-size:13px }
 .home-page .desktop-break { display:none }
 .home-page .home-text-link { margin-top:12px }
 .home-page .home-directory-label { font-size:9px;gap:10px }
 .home-page .home-major-row { grid-template-columns:18px 1fr;gap:6px 10px;padding-block:18px }
 .home-page .home-row-index { grid-row:span 2;padding-top:5px }
 .home-page .home-major-college { font-size:11px }
 .home-page .home-major-directions { grid-column:2;font-size:14px }
 .home-page .home-major-directions > div + div { margin-top:5px }
 .home-page .home-micro-grid { column-gap:22px }
 .home-page .home-micro-card { padding-block:20px 18px }
 .home-page .home-micro-card h3 { font-size:11px }
 .home-page .home-micro-card li { font-size:12px }
 .home-page .home-micro-more summary { margin-top:24px;gap:25px }
 .home-page .home-resource-grid { gap:12px }
 .home-page .home-resource-grid .module-card { min-height:186px;padding:18px;gap:25px }
 .home-page .home-resource-grid .module-card:first-child { min-height:290px }
 .home-page .home-resource-top > span { font-size:8px }
 .home-page .home-resource-top svg { width:17px;height:17px }
 .home-page .home-resource-copy h3 { font-size:21px }
 .home-page .home-resource-copy p { font-size:11px }
 .home-page .home-course-art { top:61px;right:18px;width:180px;transform:scale(.72);transform-origin:top right;opacity:.5 }
 .home-page .home-awards-layout { display:block }
 .home-page .home-awards-intro { margin-bottom:30px }
 .home-page .home-awards-intro p { margin-top:18px }
 .home-page .home-awards .home-text-link { margin-top:18px }
 .home-page .home-awards-seal { display:none }
 .home-page .home-award-name { font-size:14px }
 .home-page .home-award-row { padding-block:18px }
 .home-page .home-award-arrow { top:43px }
 .home-page .footer-main { padding-block:36px }
}
@media (prefers-reduced-motion:reduce) {
 html:has(.home-page) { scroll-behavior:auto }
 .home-page *,.home-page *::before,.home-page *::after { transition:none!important;animation:none!important;scroll-behavior:auto!important }
}
