.site-home { background: #fff; }
.site-home .nav { background: #fff; backdrop-filter: none; }
.site-home .nav-links .btn-fill { color: #fff; }
.site-home .btn:hover { transform: none; }
.site-home section { scroll-margin-top: 90px; }
.site-home h1, .site-home h2, .site-home h3 { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
.campus-label { display: block; color: #004b9f; font-size: .8rem; font-weight: 700; letter-spacing: .025em; }
.campus-intro { padding-block: 76px 54px; }
.campus-intro h1 { font-size: clamp(3.4rem, 8vw, 6.5rem); line-height: 1.04; letter-spacing: -.065em; margin: 24px 0 36px; }
.campus-intro h1 em { font-family: Fraunces, Georgia, serif; letter-spacing: -.045em; font-weight: 560; }
.campus-intro-bottom { display: flex; align-items: start; justify-content: space-between; gap: 48px; }
.campus-intro-bottom > p { max-width: 49ch; color: #4e5965; font-size: 1.1rem; line-height: 1.7; }
.campus-intro .store-badges { margin: 0 0 8px; }
.campus-caption { font-size: .78rem; color: #4e5965; }
.campus-board { background: #edf3f8; padding-block: 44px 36px; }
.campus-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.campus-section-heading h2 { font-size: 1.5rem; margin: 0; }
.campus-section-heading > p { color: #4e5965; font-size: .9rem; }
.campus-notices { display: grid; grid-template-columns: 1fr 1fr 1.1fr; gap: 18px; }
.campus-notice { display: flex; flex-direction: column; padding: 28px; border-radius: 3px; border-top: 5px solid #004b9f; background: #fff; }
.campus-notice h3 { font-size: clamp(1.7rem, 2.8vw, 2.25rem); line-height: 1.15; letter-spacing: -.04em; margin: 24px 0 20px; }
.campus-notice p { color: #4e5965; font-size: .95rem; line-height: 1.65; margin-bottom: 24px; }
.campus-link { margin-top: auto; font-size: .82rem; font-weight: 600; display: flex; justify-content: space-between; gap: 12px; }
.campus-notice:hover .campus-link { text-decoration: underline; text-underline-offset: 4px; }
.campus-notice-market { background: #fff3cd; border-color: #dfa820; }
.campus-notice-events { background: #004b9f; border-color: #00306c; color: #fff; }
.campus-notice-events .campus-label, .campus-notice-events p { color: #fff; }
.campus-social { display: grid; grid-template-columns: 1.2fr 1fr; gap: 60px; margin-top: 32px; padding-top: 28px; border-top: 1px solid #c4d1df; }
.campus-social h3 { font-size: 1.1rem; margin-bottom: 8px; }
.campus-social p { color: #4e5965; max-width: 55ch; line-height: 1.7; }
.campus-social-links a { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid #c4d1df; font-size: .9rem; }
.campus-social-links a:hover, .campus-directory a:hover { color: #004b9f; text-decoration: underline; text-underline-offset: 4px; }
.campus-join { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding-block: 72px; }
.campus-join h2 { margin: 16px 0 20px; font-size: 2rem; max-width: 16ch; }
.campus-join p:not(.campus-label) { color: #4e5965; line-height: 1.8; }
.campus-text-link { display: inline-block; color: #004b9f; text-decoration: underline; text-underline-offset: 4px; margin-top: 20px; font-size: .9rem; }
.campus-directory h3 { font-size: 1rem; margin-bottom: 12px; }
.campus-directory ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; }
.campus-directory li a { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #d8e0e8; gap: 12px; font-size: .9rem; }
.campus-account { padding-block: 32px 48px; border-top: 1px solid #d8e0e8; display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; }
.campus-account h2 { font-size: 1.25rem; line-height: 1.4; max-width: 23ch; }
.campus-account p { font-size: .92rem; color: #4e5965; line-height: 1.75; margin-bottom: 12px; }
.campus-account a { color: #004b9f; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
    .site-home .wrap { width: calc(100% - 36px); }
    .site-home .nav-links a:not(.btn) { display: none; }
    .campus-intro { padding-block: 38px 36px; }
    .campus-intro h1 { font-size: clamp(2.8rem, 11vw, 4.4rem); margin-block: 20px 24px; }
    .campus-intro .store-badges { gap: 8px; }
    .campus-intro-bottom { flex-direction: column; gap: 22px; }
    .campus-intro-bottom > p { font-size: 1rem; }
    .campus-section-heading { display: block; }
    .campus-section-heading > p { margin-top: 10px; }
    .campus-notices, .campus-social, .campus-join, .campus-account { grid-template-columns: 1fr; gap: 24px; }
    .campus-notices { gap: 14px; }
    .campus-notice { padding: 22px; }
    .campus-notice h3 { margin: 16px 0 12px; font-size: 1.9rem; }
    .campus-notice h3 br { display: none; }
    .campus-notice p { margin-bottom: 18px; }
    .campus-join { padding-block: 44px; gap: 36px; }
    .campus-account { padding-block: 28px; gap: 12px; }
    .campus-account h2 { max-width: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
