/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.admissions-fair-page{--af-ink: #1c304b; --af-muted: #627389; --af-blue: #37699a; color: var(--af-ink);}
.admissions-fair-page main h2, .admissions-fair-page main h3, .admissions-fair-page main p{word-break: keep-all; overflow-wrap: break-word;}
.admissions-fair-page main .wrap{max-width: 80rem;}
.admissions-fair-page .skip-link{position: fixed; top: 0.5rem; left: 1rem; z-index: 1000; padding: 0.75rem 1.125rem; background: rgb(24, 45, 71); color: rgb(255, 255, 255); transform: translateY(calc(-100% - 1rem));}
.admissions-fair-page .skip-link:focus{transform: none;}
.admissions-fair-hero .subpage-hero-media::before{background: linear-gradient(90deg, rgba(21, 44, 70, 0.85), rgba(23, 59, 91, 0.45) 42%, rgba(23, 59, 91, 0.03) 80%);}
.admissions-fair-hero .subpage-hero-media img{filter: none; object-position: center 52%;}
.admissions-fair-hero h1{font-size: 3rem;}
.admissions-fair-hero .subpage-hero-label{color: rgb(196, 220, 239); letter-spacing: 0.1em;}
.admissions-fair-hero .subpage-hero-lead{font-size: max(13px,1.1875rem); color: rgb(230, 237, 246);}
.af-section{padding: 5.5rem 0;}
.af-eyebrow{font-size: max(10px,0.6875rem); font-weight: 700; letter-spacing: 0.1em; color: var(--af-blue); margin-bottom: 1.1875rem;}
.af-section h2{text-wrap: balance; font-size: 2.6875rem; font-weight: 450; line-height: 1.4; letter-spacing: -0.045em;}
.af-section h2 strong{font-weight: 700;}
.af-heading{display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 4.0625rem; align-items: end;}
.af-heading > p{font-size: max(13px,1rem); line-height: 1.9; color: var(--af-muted);}
.af-facts{display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 0; margin: 2.25rem 0 0; padding: 1.5625rem 0; border-block: 1px solid rgb(217, 227, 236);}
.af-facts > div{padding: 0 1.5625rem; border-right: 1px solid rgb(217, 227, 236);}
.af-facts > div:first-child{padding-left: 0;}
.af-facts > div:last-child{border: 0; padding-right: 0;}
.af-facts dt{font-size: max(10px,0.75rem); color: rgb(107, 129, 153); margin-bottom: 0.6875rem;}
.af-facts dd{margin: 0; font-size: max(13px,1rem); font-weight: 600; line-height: 1.8; word-break: keep-all;}
.af-universities{background: rgb(242, 246, 250);}
.af-university-heading{display: flex; align-items: center; justify-content: space-between; gap: 3.125rem; margin-bottom: 2.375rem;}
.af-university-heading > div:first-child{max-width: 50rem;}
.af-lead{font-size: max(13px,1rem); line-height: 1.8; color: var(--af-muted); margin-top: 1.1875rem;}
.af-count{flex-shrink: 0; text-align: center; min-width: 10rem; padding-left: 2.25rem; border-left: 1px solid rgb(205, 218, 231);}
.af-count > div{display: flex; align-items: baseline; justify-content: center; gap: 0.5rem;}
.af-count b{font-size: 5.875rem; line-height: 1.2; letter-spacing: -0.035em; font-weight: 650; color: rgb(52, 102, 152); padding-right: 0.05em;}
.af-count span{font-size: 1.375rem; color: rgb(99, 131, 163);}
.af-count p{font-size: max(13px,0.9375rem); font-weight: 600; color: rgb(75, 105, 136); margin-top: 0.3125rem;}
.af-university-grid{display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0.75rem; list-style: none; margin: 0; padding: 0;}
.af-university-grid li{display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 0.875rem; min-width: 0; padding: 1.4375rem 0.5rem 1.1875rem; background: rgb(255, 255, 255); border: 1px solid rgb(223, 232, 239); border-radius: 0.375rem; transition: transform 0.25s, box-shadow 0.25s;}
.af-emblem{width: 4.875rem; height: 4.875rem; flex-shrink: 0; overflow: hidden;}
.af-emblem img, .af-emblem svg{display: block; width: 100%; height: 100%; object-fit: contain;}
.af-university-grid li > span{font-size: max(10px,0.75rem); font-weight: 600; line-height: 1.6; text-align: center; word-break: keep-all; overflow-wrap: break-word; min-height: 2.375rem; display: flex; align-items: center; justify-content: center;}
.af-program-grid{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.1875rem;}
.af-program-grid article{padding: 1.75rem 1.5rem; border-top: 0.125rem solid rgb(147, 176, 206); background: linear-gradient(155deg, rgb(244, 247, 250), rgb(255, 255, 255)); border-radius: 0 0 0.375rem 0.375rem;}
.af-program-grid article > span{font-size: 2.125rem; font-weight: 400; color: rgb(162, 181, 201); letter-spacing: -0.035em;}
.af-program-grid h3{font-size: 1.375rem; line-height: 1.45; font-weight: 650; letter-spacing: -0.035em; margin: 1.4375rem 0 0.875rem;}
.af-program-grid p{font-size: max(13px,0.9375rem); line-height: 1.9; color: var(--af-muted);}
.af-field{background: rgb(246, 245, 242);}
.af-field .af-heading{margin-bottom: 2.1875rem;}
.af-photo-grid{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem 1.5625rem;}
.af-photo-grid figure{min-width: 0; margin: 0;}
.af-photo{aspect-ratio: 4 / 3; overflow: hidden; border-radius: 0.4375rem; background: rgb(220, 227, 233);}
.af-photo img{display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.65s cubic-bezier(0.2, 0.7, 0.3, 1);}
.af-photo-grid figcaption{font-size: max(13px,0.875rem); line-height: 1.7; color: rgb(82, 101, 123); margin-top: 0.9375rem; padding-left: 0.6875rem; border-left: 0.125rem solid rgb(166, 184, 202);}
.af-finish{background: radial-gradient(at 80% 100%, rgb(53, 89, 117), transparent 65%), rgb(28, 49, 76); color: white; padding: 5.3125rem 0 5.9375rem;}
.af-finish-inner{max-width: 53.75rem; margin: auto; text-align: center;}
.af-finish .af-eyebrow{color: rgb(189, 214, 233);}
.af-finish h2{font-size: 2.9375rem; max-width: 52.5rem; margin: auto;}
.af-finish h2 strong{color: rgb(188, 220, 237);}
.af-finish-inner > p:not(.af-eyebrow){font-size: max(13px,1rem); line-height: 1.9; color: rgb(197, 211, 226); max-width: 40rem; margin: 1.5rem auto 0;}
.af-button{display: inline-flex; align-items: center; justify-content: space-between; gap: 2.8125rem; min-height: 3.5625rem; padding: 1rem 1.5625rem; margin-top: 1.875rem; background: rgb(231, 241, 248); color: rgb(35, 63, 93); border-radius: 0.3125rem; font-size: max(13px,0.9375rem); font-weight: 650; transition: transform 0.2s, box-shadow 0.2s;}
.af-button span{font-size: 1.375rem; line-height: 1;}
.admissions-fair-page main a:focus-visible{outline: rgb(133, 178, 221) solid 0.1875rem; outline-offset: 0.3125rem;}
@media (hover: hover){.af-university-grid li:hover{transform: translateY(-0.1875rem); box-shadow: rgba(36, 69, 100, 0.08) 0 0.5rem 1.25rem;}
.af-photo:hover img{transform: scale(1.035);}
.af-button:hover{transform: translateY(-0.1875rem); box-shadow: rgba(8, 22, 36, 0.2) 0 0.625rem 1.5625rem;}}

.af-section{padding: 4.0625rem 0;}
.af-section h2{font-size: 2.3125rem;}
.af-heading{gap: 2.1875rem;}
.af-facts dd{font-size: max(13px,0.9375rem);}
.af-university-grid{grid-template-columns: repeat(5, minmax(0, 1fr));}
.af-program-grid{gap: 0.9375rem;}
.af-program-grid article{padding: 1.5rem 1.125rem;}
.af-program-grid h3{font-size: max(13px,1.25rem);}
.af-program-grid p{font-size: max(13px,0.875rem);}
.af-photo-grid{gap: 1.75rem 1.25rem;}
.af-section{padding: 3.25rem 0;}
.af-section h2{font-size: 2.0625rem;}
.af-heading{grid-template-columns: 1fr; gap: 1.375rem;}
.af-facts{grid-template-columns: 1fr; gap: 1.25rem;}
.af-facts > div, .af-facts > div:first-child, .af-facts > div:last-child{padding: 0; border: 0; display: grid; grid-template-columns: 5rem 1fr; gap: 0.9375rem;}
.af-facts dt{margin: 0.25rem 0 0;}
.af-university-heading{gap: 1.5625rem;}
.af-count{min-width: 7.5rem; padding-left: 1.25rem;}
.af-count b{font-size: 4.625rem;}
.af-count span{font-size: max(13px,1.125rem);}
.af-university-grid{grid-template-columns: repeat(4, minmax(0, 1fr));}
.af-program-grid{grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem;}
.af-program-grid h3{font-size: 1.4375rem;}
.af-program-grid p{font-size: max(13px,0.9375rem);}
.af-photo-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
.af-finish h2{font-size: 2.4375rem;}
.admissions-fair-hero h1{font-size: 2.125rem; letter-spacing: -0.045em;}
.admissions-fair-hero .subpage-hero-lead{font-size: max(13px,1rem); max-width: 20rem;}
.admissions-fair-hero .subpage-hero-media img{object-position: 65% center;}
.admissions-fair-hero .subpage-hero-media::before{background: linear-gradient(90deg, rgba(21, 44, 70, 0.867), rgba(23, 59, 91, 0.5));}
.af-section h2{font-size: 1.8125rem;}
.af-eyebrow{font-size: 0.625rem;}
.af-heading > p, .af-lead{font-size: max(13px,0.9375rem);}
.af-facts > div, .af-facts > div:first-child, .af-facts > div:last-child{grid-template-columns: 4.0625rem 1fr; gap: 0.75rem;}
.af-facts dd{font-size: max(13px,0.875rem);}
.af-university-heading{display: block; margin-bottom: 1.6875rem;}
.af-count{display: flex; align-items: center; justify-content: flex-start; gap: 1.125rem; border: 0; padding: 0; margin-top: 1.25rem; text-align: left;}
.af-count b{font-size: 4.1875rem;}
.af-count p{margin: 0;}
.af-university-grid{grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5625rem;}
.af-university-grid li{padding: 1.125rem 0.3125rem 0.875rem; gap: 0.625rem;}
.af-emblem{width: 3.8125rem; height: 3.8125rem;}
.af-university-grid li > span{font-size: max(10px,0.6875rem); min-height: 2.1875rem;}
.af-program-grid{grid-template-columns: 1fr; gap: 1.125rem; margin-top: 1.75rem;}
.af-program-grid article{padding: 1.5rem;}
.af-program-grid h3{font-size: 1.4375rem; margin: 0.9375rem 0 0.625rem;}
.af-program-grid p{font-size: max(13px,0.9375rem);}
.af-photo-grid{grid-template-columns: 1fr; gap: 1.6875rem;}
.af-photo-grid figcaption{font-size: max(10px,0.8125rem); margin-top: 0.75rem;}
.af-finish h2{font-size: 2.0625rem;}
.af-finish-inner > p:not(.af-eyebrow){font-size: max(13px,0.9375rem);}
.af-button{display: flex; width: 100%; gap: 0.9375rem;}
@media (prefers-reduced-motion: reduce){.af-photo img, .af-button, .af-university-grid li{transition: none;}
.af-photo:hover img, .af-button:hover, .af-university-grid li:hover{transform: none;}}
