.tuition-page { --tuition-ink: #17202b; --tuition-blue: #002676; --tuition-red: #002676; --tuition-muted: #677386; background: #fff; color: var(--tuition-ink); }
.tuition-page *, .tuition-page *::before, .tuition-page *::after { box-sizing: border-box; }
.tuition-hero { position: relative; display: flex; min-height: 186px; align-items: center; overflow: hidden; background: linear-gradient(90deg, rgba(18, 24, 32, .68), rgba(18, 24, 32, .38)), url('../wp-content/uploads/2019/09/AdmissionsWheeler.jpg') center 44% / cover no-repeat; color: #fff; }
.tuition-hero::after { position: absolute; right: -80px; bottom: -160px; width: 320px; height: 320px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 50%; content: ''; }
.tuition-hero__inner { position: relative; z-index: 1; width: min(100% - 48px, 1120px); margin: 0 auto; padding: 25px 0 34px; animation: tuition-rise .55s ease both; }
.tuition-eyebrow, .fee-kicker { display: block; margin-bottom: 8px; color: #b9cef3; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tuition-hero h1 { margin: 0 0 6px; color: #fff; font-size: clamp(32px, 4vw, 44px); font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }
.tuition-hero p { max-width: 620px; margin: 0; color: rgba(255,255,255,.9); font-size: 14px; line-height: 1.5; }
.tuition-container { position: relative; z-index: 2; width: min(100% - 40px, 1050px); margin: 0 auto; }
.welcome-card { position: relative; margin: -25px auto 12px; padding: 18px 24px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: #202428; box-shadow: 0 18px 38px rgba(22, 29, 38, .22); color: #fff; animation: tuition-rise .55s .08s ease both; }
.welcome-step-one, .welcome-step-two { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(0, 2fr); align-items: center; gap: 24px; }
.welcome-copy h2 { margin: 0 0 2px; color: #fff; font-size: 20px; line-height: 1.2; }
.welcome-copy p { margin: 0; color: #d2d5da; font-size: 11px; line-height: 1.4; }
.welcome-step-label { display: block; margin-bottom: 4px; color: #b9cef3; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.welcome-step-label span { margin-left: 8px; color: #b7bdc3; }
.welcome-fields { display: grid; grid-template-columns: 1fr 1.15fr auto; gap: 10px; }
.welcome-fields input { width: 100%; min-width: 0; height: 44px; padding: 0 14px; border: 1px solid #555b60; border-radius: 9px; outline: 0; background: #34393e; color: #fff; font: inherit; font-size: 12px; transition: border-color .2s, box-shadow .2s, background .2s; }
.welcome-fields input::placeholder { color: #d0d1d3; opacity: .85; }
.welcome-fields input:focus { border-color: #b9cef3; background: #2b3035; box-shadow: 0 0 0 3px rgba(242,185,190,.16); }
.welcome-next { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 12px; padding: 0 20px; border: 0; border-radius: 9px; background: var(--tuition-red); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; transition: background .2s, transform .2s, box-shadow .2s; }
.welcome-next span { font-size: 20px; line-height: .8; }
.welcome-next:hover, .welcome-next:focus-visible { background: #001e62; color: #fff; box-shadow: 0 7px 16px rgba(198,40,56,.3); text-decoration: none; transform: translateY(-2px); }
.welcome-next:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.welcome-step-two[hidden] { display: none; }
.welcome-step-two { grid-template-columns: minmax(210px, 1fr) minmax(0, 1.4fr) auto; animation: tuition-rise .28s ease both; }
.welcome-step-two .welcome-copy h2 { font-size: 17px; }
.welcome-choices { display: flex; flex-wrap: wrap; gap: 7px; }
.welcome-choice { min-height: 38px; padding: 0 13px; border: 1px solid #596067; border-radius: 999px; background: transparent; color: #f2f3f5; cursor: pointer; font: inherit; font-size: 11px; transition: background .18s, border-color .18s, transform .18s; }
.welcome-choice:hover, .welcome-choice:focus-visible, .welcome-choice.is-selected { border-color: #fff; background: #fff; color: #202428; transform: translateY(-1px); }
.welcome-choice:focus-visible { outline: 2px solid #b9cef3; outline-offset: 3px; }
.welcome-continue { white-space: nowrap; }
.tuition-breadcrumbs { display: flex; min-height: 44px; align-items: center; gap: 13px; margin-bottom: 12px; padding: 0 18px; border: 1px solid #e7eaf0; border-radius: 10px; background: #fff; box-shadow: 0 5px 15px rgba(21, 36, 58, .055); color: #8490a0; font-size: 12px; }
.tuition-breadcrumbs a { display: inline-flex; align-items: center; gap: 7px; color: #173b70; font-weight: 700; text-decoration: none; }
.tuition-breadcrumbs a:hover { color: var(--tuition-red); }
.tuition-breadcrumbs a span { font-size: 16px; }
.breadcrumb-divider { color: #abb3bf; font-size: 18px; }
.fee-overview { position: relative; overflow: hidden; padding: 39px 20px 54px; background: linear-gradient(145deg, #f6f8ff 0%, #f0f3ff 100%); }
.fee-overview::before, .fee-overview::after { position: absolute; z-index: 0; width: 290px; height: 290px; border-radius: 50%; background: rgba(31, 69, 128, .055); content: ''; pointer-events: none; }
.fee-overview::before { top: -214px; left: -112px; }
.fee-overview::after { top: -200px; right: -205px; width: 360px; height: 360px; background: rgba(153, 30, 47, .045); }
.fee-overview__inner { position: relative; z-index: 1; width: min(100%, 1050px); margin: 0 auto; }
.fee-intro { max-width: 820px; margin: 0 auto 28px; text-align: center; }
.fee-kicker { margin-bottom: 8px; color: #002676; font-size: 10px; }
.fee-intro h2 { margin: 0 auto 8px; color: #111b2a; font-size: clamp(21px, 2.4vw, 28px); font-weight: 800; letter-spacing: -.025em; line-height: 1.22; }
.fee-intro p { max-width: 640px; margin: 0 auto; color: #697587; font-size: 12px; line-height: 1.55; }
.fee-intro-rule { display: block; width: 42px; height: 3px; margin: 14px auto 0; border-radius: 3px; background: #202428; }
.fee-content-grid { display: grid; grid-template-columns: minmax(235px, .72fr) minmax(0, 1.55fr); gap: 16px; align-items: stretch; }
.berkeley-promo-card { position: relative; display: flex; min-height: 250px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 21px; border-radius: 16px; background: #11151a; box-shadow: 0 14px 28px rgba(18, 26, 39, .14); color: #fff; isolation: isolate; }
.berkeley-promo-card::before { position: absolute; z-index: -1; top: -82px; right: -55px; width: 185px; height: 185px; border-radius: 50%; background: #142e52; content: ''; }
.berkeley-wordmark { position: relative; z-index: 1; width: fit-content; max-width: 100%; }
.berkeley-wordmark img { display: block; width: 146px; max-width: 100%; height: auto; filter: brightness(0) invert(1); }
.berkeley-wordmark span { display: block; margin-top: 2px; color: #d4dce6; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.promo-card-copy { position: relative; z-index: 1; }
.promo-overline { display: block; margin-bottom: 7px; color: #f0b9bd; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.promo-card-copy h3 { max-width: 275px; margin: 0 0 17px; color: #fff; font-size: clamp(17px, 1.7vw, 21px); font-weight: 800; letter-spacing: -.025em; line-height: 1.24; }
.promo-apply-link { display: inline-flex; min-height: 39px; align-items: center; gap: 10px; padding: 0 17px; border-radius: 999px; background: #fff; color: #202428; font-size: 11px; font-weight: 800; text-decoration: none; transition: background .2s, color .2s, transform .2s; }
.promo-apply-link:hover, .promo-apply-link:focus-visible { background: #f7dadd; color: #80131e; text-decoration: none; transform: translateY(-2px); }
.promo-apply-link:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.promo-orbit { position: absolute; z-index: 0; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; pointer-events: none; }
.promo-orbit--top { top: -30px; right: -5px; width: 142px; height: 142px; }
.promo-orbit--bottom { bottom: -40px; left: -30px; width: 105px; height: 105px; background: rgba(255,255,255,.045); }
.aid-panel { min-width: 0; padding: 22px 24px; border: 1px solid rgba(221,226,239,.9); border-radius: 16px; background: rgba(255,255,255,.76); box-shadow: 0 12px 28px rgba(29, 52, 91, .08); }
.aid-panel-copy { margin: 0 0 16px; color: #5c6675; font-size: 12px; line-height: 1.62; }
.aid-audiences { display: flex; flex-wrap: wrap; gap: 9px; }
.aid-chip { display: inline-flex; min-height: 38px; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid #dce2ec; border-radius: 999px; background: #fff; color: #343b45; cursor: pointer; font: inherit; font-size: 10px; line-height: 1.25; transition: background .2s, border-color .2s, color .2s, box-shadow .2s, transform .2s; }
.aid-chip > span { display: inline-flex; width: 17px; height: 17px; flex: 0 0 17px; align-items: center; justify-content: center; border-radius: 50%; background: #e7ebf1; color: #3d4858; font-size: 10px; font-weight: 900; transition: background .2s, color .2s; }
.aid-chip:hover, .aid-chip:focus-visible { border-color: #202428; background: #202428; box-shadow: 0 7px 15px rgba(21, 27, 36, .18); color: #fff; transform: translateY(-2px); }
.aid-chip:hover > span, .aid-chip:focus-visible > span, .aid-chip.is-active > span { background: #fff; color: #202428; }
.aid-chip.is-active { border-color: #202428; background: #202428; box-shadow: 0 7px 15px rgba(21, 27, 36, .15); color: #fff; }
.aid-chip:focus-visible { outline: 2px solid #9d2030; outline-offset: 3px; }
.aid-selection-status { min-height: 16px; margin: 12px 0 0; color: #687488; font-size: 10px; }
.aid-panel-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 9px; color: #8f1a27; font-size: 11px; font-weight: 800; text-decoration: none; }
.aid-panel-link:hover { color: #55101a; text-decoration: underline; }
.tuition-costs { position: relative; overflow: hidden; padding: 52px 20px 46px; background: linear-gradient(145deg, #f6f8ff 0%, #f0f3ff 100%); }
.tuition-costs::before, .tuition-costs::after { position: absolute; z-index: 0; border-radius: 50%; background: rgba(31, 69, 128, .055); content: ''; pointer-events: none; }
.tuition-costs::before { top: -206px; right: -92px; width: 300px; height: 300px; }
.tuition-costs::after { bottom: -175px; left: -35px; width: 230px; height: 230px; }
.tuition-costs__inner { position: relative; z-index: 1; width: min(100%, 1050px); margin: 0 auto; }
.tuition-costs-intro { max-width: 750px; margin: 0 auto 35px; text-align: center; }
.tuition-costs-intro h2 { margin: 0 auto 7px; color: #111b2a; font-size: clamp(23px, 2.7vw, 32px); font-weight: 850; letter-spacing: -.035em; line-height: 1.17; }
.tuition-costs-intro p { max-width: 600px; margin: 0 auto; color: #687487; font-size: 12px; line-height: 1.55; }
.tuition-costs-subtitle { margin: 0 0 27px; color: #151b25; font-size: 15px; font-weight: 800; text-align: center; }
.tuition-cost-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.tuition-cost-card { position: relative; display: flex; min-width: 0; min-height: 205px; align-items: center; flex-direction: column; justify-content: center; overflow: hidden; padding: 23px 12px 19px; border: 1px solid #e3e8f2; border-radius: 17px; background: rgba(255,255,255,.48); text-align: center; transition: border-color .22s, background .22s, box-shadow .22s, transform .22s; animation: tuition-rise .45s ease both; }
.tuition-cost-card:nth-child(2) { animation-delay: .06s; }
.tuition-cost-card:nth-child(3) { animation-delay: .12s; }
.tuition-cost-card:nth-child(4) { animation-delay: .18s; }
.tuition-cost-card::after { position: absolute; right: -21px; bottom: -28px; width: 66px; height: 66px; border-radius: 50%; background: rgba(229, 236, 251, .62); content: ''; transition: transform .25s; }
.tuition-cost-card:hover, .tuition-cost-card:focus-within { border-color: #c6d1e4; background: #fff; box-shadow: 0 15px 30px rgba(31, 53, 88, .10); transform: translateY(-5px); }
.tuition-cost-card:hover::after { transform: scale(1.5); }
.cost-card-accent { position: absolute; top: 0; left: 50%; width: 70px; height: 4px; background: #202428; transform: translateX(-50%); }
.cost-card-icon { display: inline-flex; width: 66px; height: 66px; align-items: center; justify-content: center; margin: 0 0 14px; border: 1px dashed #cdd6e6; border-radius: 50%; outline: 1px solid rgba(205,214,230,.45); outline-offset: 5px; }
.cost-card-icon svg { display: block; width: 41px; height: 41px; padding: 11px; border-radius: 50%; background: #11151a; fill: #fff; }
.cost-card-amount { display: block; margin-bottom: 4px; color: #151b25; font-size: clamp(16px, 1.6vw, 19px); font-weight: 750; letter-spacing: -.02em; line-height: 1.2; white-space: nowrap; }
.cost-card-period { display: block; margin-bottom: 9px; color: #7b8492; font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.cost-card-degree { display: block; color: #3c4654; font-size: 12px; font-weight: 600; }
.tuition-costs-footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 30px; }
.tuition-costs-footer p { margin: 0; color: #1b2330; font-size: 14px; font-weight: 800; }
.tuition-costs-footer a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: #8f1a27; font-size: 12px; font-weight: 800; text-decoration: none; }
.tuition-costs-footer a:hover { color: #55101a; text-decoration: underline; }
.tuition-costs-note { max-width: 840px; margin: 14px 0 0; color: #707c8e; font-size: 10px; line-height: 1.5; }
.program-pricing { padding: 54px 20px 62px; background: #fff; }
.program-pricing__inner { width: min(100%, 1050px); margin: 0 auto; }
.program-pricing-intro { margin: 0 auto 24px; text-align: center; }
.program-pricing-intro h2 { margin: 0 0 7px; color: #111b2a; font-size: clamp(24px, 2.8vw, 32px); font-weight: 850; letter-spacing: -.03em; line-height: 1.2; }
.program-pricing-intro p { margin: 0; color: #697587; font-size: 12px; }
.program-pricing-disclosure { margin: 0 auto 22px; padding: 12px 15px; border: 1px solid #e8d9aa; border-left: 4px solid #b68a22; border-radius: 9px; background: #fffaf0; color: #62552f; font-size: 11px; line-height: 1.55; }
.program-pricing-stack { display: grid; gap: 17px; }
.program-pricing-group { min-width: 0; overflow: hidden; border: 1px solid #e2e7f1; border-radius: 15px; background: #fff; box-shadow: 0 10px 25px rgba(29, 51, 88, .075); transition: box-shadow .2s, transform .2s; animation: tuition-rise .42s ease both; }
.program-pricing-group:nth-child(2) { animation-delay: .05s; }
.program-pricing-group:nth-child(3) { animation-delay: .1s; }
.program-pricing-group:nth-child(4) { animation-delay: .15s; }
.program-pricing-group:nth-child(5) { animation-delay: .2s; }
.program-pricing-group:hover { box-shadow: 0 15px 30px rgba(29, 51, 88, .12); transform: translateY(-2px); }
.program-pricing-heading { margin: 0; }
.program-pricing-toggle { display: flex; width: 100%; min-height: 47px; align-items: center; gap: 11px; padding: 0 16px; border: 0; background: #080a0d; color: #fff; cursor: pointer; font: inherit; text-align: left; }
.program-pricing-toggle > span:nth-child(2) { color: #fff; font-size: 13px; font-weight: 800; }
.program-pricing-toggle:hover { background: #1d2228; }
.program-pricing-toggle:focus-visible { position: relative; z-index: 1; outline: 3px solid #bc2537; outline-offset: -4px; }
.pricing-cap { display: inline-flex; width: 30px; height: 30px; flex: 0 0 30px; align-items: center; justify-content: center; border-radius: 8px; background: #44484d; }
.pricing-cap svg { width: 16px; height: 16px; fill: #fff; }
.pricing-chevron { width: 10px; height: 10px; flex: 0 0 10px; margin-left: auto; border-right: 1.5px solid #c8ccd1; border-bottom: 1.5px solid #c8ccd1; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.program-pricing-toggle[aria-expanded="false"] .pricing-chevron { transform: rotate(-45deg); }
.program-pricing-panel { display: block; animation: tuition-rise .25s ease both; }
.program-pricing-panel[hidden] { display: none; }
.program-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: #bfc8d7 #f1f3f8; scrollbar-width: thin; }
.program-table-scroll:focus-visible { outline: 3px solid #bc2537; outline-offset: -3px; }
.program-pricing-table { width: 100%; min-width: 860px; border-collapse: collapse; table-layout: fixed; color: #334052; font-size: 10px; }
.program-pricing-table th { padding: 11px 10px; border-bottom: 1px solid #d8deea; background: #f0f3fb; color: #101927; font-size: 9px; font-weight: 850; letter-spacing: .035em; text-align: center; text-transform: uppercase; }
.program-pricing-table td { padding: 12px 10px; border-bottom: 1px solid #e8ebf1; background: #fff; font-size: 10px; line-height: 1.45; text-align: center; vertical-align: middle; }
.program-pricing-table tbody tr:last-child td { border-bottom: 0; }
.program-pricing-table th:first-child, .program-pricing-table td:first-child { width: 16%; text-align: left; }
.program-pricing-table th:nth-child(2), .program-pricing-table td:nth-child(2) { width: 9%; }
.program-pricing-table th:nth-child(3), .program-pricing-table td:nth-child(3) { width: 9%; }
.program-pricing-table th:nth-child(4), .program-pricing-table td:nth-child(4) { width: 22%; }
.program-pricing-table th:nth-child(5), .program-pricing-table td:nth-child(5) { width: 18%; }
.program-pricing-table th:nth-child(6), .program-pricing-table td:nth-child(6) { width: 12%; }
.program-pricing-table th:nth-child(7), .program-pricing-table td:nth-child(7) { width: 14%; }
.program-fee-pill { display: inline-flex; min-width: 62px; min-height: 24px; align-items: center; justify-content: center; padding: 0 9px; border: 1px solid #d2d9e6; border-radius: 999px; background: #f0f3fa; color: #1b2c46; font-size: 9px; font-weight: 750; white-space: nowrap; }
.program-apply-link { display: inline-flex; min-height: 27px; align-items: center; justify-content: center; padding: 0 13px; border-radius: 999px; background: #202428; color: #fff; font-size: 9px; font-weight: 800; text-decoration: none; white-space: nowrap; transition: background .18s, transform .18s; }
.program-apply-link:hover, .program-apply-link:focus-visible { background: #8d0d17; color: #fff; text-decoration: none; transform: translateY(-1px); }
.program-apply-link:focus-visible { outline: 2px solid #8d0d17; outline-offset: 3px; }
.program-pricing-footnote { margin: 18px 0 0; padding: 11px 15px; border-radius: 999px; background: #f0f3fc; color: #657187; font-size: 10px; line-height: 1.5; text-align: center; }
.financial-assistance { position: relative; overflow: hidden; padding: 46px 20px 54px; background: #202428; color: #fff; isolation: isolate; }
.financial-assistance__inner { position: relative; z-index: 1; width: min(100%, 970px); margin: 0 auto; }
.financial-assistance-intro { margin: 0 auto 39px; text-align: center; }
.financial-support-badge { display: inline-flex; min-height: 29px; align-items: center; gap: 8px; margin-bottom: 16px; padding: 0 17px; border-radius: 999px; background: #2454a5; color: #fff; font-size: 10px; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.financial-support-badge svg { width: 13px; height: 13px; fill: #6c0c18; }
.financial-assistance-intro h2 { margin: 0; color: #fff; font-size: clamp(24px, 2.6vw, 32px); font-weight: 850; letter-spacing: -.025em; line-height: 1.2; }
.support-title-rule { display: block; width: 55px; height: 3px; margin: 16px auto 0; border-radius: 3px; background: #ca2539; }
.support-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.support-card { position: relative; display: flex; min-width: 0; min-height: 285px; align-items: center; flex-direction: column; overflow: hidden; padding: 28px 23px 23px; border: 1px solid rgba(255,255,255,.22); border-radius: 18px; background: #f1f4fa; color: #17202b; text-align: center; transition: box-shadow .22s, transform .22s, background .22s; animation: tuition-rise .48s ease both; }
.support-card:nth-child(2) { animation-delay: .08s; }
.support-card:nth-child(3) { animation-delay: .16s; }
.support-card::after { position: absolute; right: -32px; bottom: -48px; width: 112px; height: 112px; border-radius: 50%; background: rgba(213, 65, 78, .055); content: ''; transition: transform .25s; }
.support-card:hover, .support-card:focus-within { background: #fff; box-shadow: 0 18px 36px rgba(0,0,0,.24); transform: translateY(-6px); }
.support-card:hover::after { transform: scale(1.55); }
.support-card-number { position: absolute; top: 17px; right: 18px; color: #d9dce4; font-size: 11px; font-weight: 750; }
.support-card-icon { display: inline-flex; width: 69px; height: 69px; flex: 0 0 69px; align-items: center; justify-content: center; margin: 0 0 23px; border: 1px dashed #e7b2b9; border-radius: 50%; outline: 1px solid rgba(231,178,185,.38); outline-offset: 5px; transition: transform .22s; }
.support-card:hover .support-card-icon { transform: scale(1.06) rotate(-4deg); }
.support-card-icon svg { display: block; width: 43px; height: 43px; padding: 12px; border-radius: 50%; background: #202428; fill: #fff; box-shadow: 0 6px 15px rgba(32,36,40,.16); }
.support-card h3 { position: relative; z-index: 1; margin: 0 0 10px; color: #131a24; font-size: 16px; font-weight: 850; letter-spacing: -.015em; line-height: 1.25; }
.support-card p { position: relative; z-index: 1; max-width: 310px; flex: 1 1 auto; margin: 0 0 17px; color: #667489; font-size: 11px; line-height: 1.52; }
.support-card-link { position: relative; z-index: 1; display: inline-flex; min-height: 36px; align-items: center; justify-content: center; gap: 10px; padding: 0 17px; border-radius: 999px; background: #f3e7ea; color: #202428; font-size: 10px; font-weight: 800; text-decoration: none; transition: background .18s, color .18s, transform .18s; }
.support-card-link:hover, .support-card-link:focus-visible { background: #202428; color: #fff; text-decoration: none; transform: translateY(-2px); }
.support-card-link:focus-visible { outline: 2px solid #b42335; outline-offset: 3px; }
.support-program-note { max-width: 780px; margin: 20px auto 0; color: #b6bdc7; font-size: 10px; line-height: 1.5; text-align: center; }
.support-orb { position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.support-orb--top { top: -120px; right: -55px; width: 230px; height: 230px; background: rgba(176, 43, 58, .09); }
.support-orb--left { top: 34%; left: -45px; width: 130px; height: 130px; background: rgba(142, 25, 41, .11); }
.support-orb--bottom { bottom: -115px; left: 2%; width: 175px; height: 175px; background: rgba(255,255,255,.09); }
.student-reviews { position: relative; overflow: hidden; padding: 45px 20px 34px; background: linear-gradient(145deg, #f8faff 0%, #edf2f8 100%); isolation: isolate; }
.student-reviews__inner { position: relative; z-index: 1; width: min(100%, 900px); margin: 0 auto; }
.student-reviews-intro { max-width: 560px; margin: 0 auto 45px; text-align: center; }
.student-reviews-badge { display: inline-flex; min-height: 29px; align-items: center; gap: 8px; margin-bottom: 16px; padding: 0 15px; border: 1px solid #cbd5e6; border-radius: 999px; background: #e9eef7; color: #223149; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; }
.student-reviews-badge span { color: #a01220; font-size: 18px; font-weight: 900; line-height: 1; }
.student-reviews-intro h2 { margin: 0 0 6px; color: #111a2a; font-size: clamp(25px, 2.8vw, 33px); font-weight: 850; letter-spacing: -.03em; line-height: 1.2; }
.student-reviews-intro p { max-width: 490px; margin: 0 auto; color: #697589; font-size: 12px; line-height: 1.55; }
.review-carousel { width: min(100%, 760px); margin: 0 auto; }
.review-card { position: relative; display: flex; min-height: 225px; flex-direction: column; justify-content: center; padding: 47px 44px 34px; border: 1px solid rgba(228, 233, 241, .85); border-radius: 23px; background: #fff; box-shadow: 0 20px 46px rgba(40, 57, 84, .09); transition: opacity .18s, transform .18s; }
.review-card.is-changing { opacity: .35; transform: translateY(5px); }
.review-quote-mark { position: absolute; top: -20px; left: 38px; display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: #a41218; box-shadow: 0 9px 20px rgba(164,18,24,.22); color: #fff; font-family: Georgia, serif; font-size: 34px; font-weight: 700; line-height: 1; }
.review-quote { margin: 0 0 25px; padding: 2px 0 2px 16px; border-left: 2px solid #d9dfeb; color: #596579; font-size: 14px; font-style: italic; line-height: 1.75; }
.review-author { display: flex; align-items: center; gap: 13px; }
.review-avatar { display: grid; width: 54px; height: 54px; flex: 0 0 54px; place-items: center; border: 3px solid #fff; border-radius: 50%; outline: 1px solid #d8dfeb; background: linear-gradient(145deg, #252b32, #080a0c); box-shadow: 0 0 0 3px #f0f3f8; color: #fff; font-size: 14px; font-weight: 800; }
.review-author-name { margin: 0; color: #20293a; font-size: 15px; font-weight: 800; }
.review-controls { display: flex; align-items: center; justify-content: center; gap: 17px; margin: 28px auto 0; }
.review-arrow { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 1px solid #d4dce8; border-radius: 50%; background: rgba(255,255,255,.85); color: #172333; cursor: pointer; transition: border-color .2s, background .2s, color .2s, transform .2s; }
.review-arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.review-arrow:hover, .review-arrow:focus-visible { border-color: #97101b; background: #97101b; color: #fff; transform: translateY(-2px); }
.review-arrow:focus-visible, .review-dot:focus-visible { outline: 2px solid #97101b; outline-offset: 3px; }
.review-dots { display: flex; align-items: center; gap: 9px; }
.review-dot { width: 11px; height: 11px; padding: 0; border: 1px solid #b8c4d7; border-radius: 50%; background: transparent; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s, transform .2s; }
.review-dot:hover { transform: scale(1.15); }
.review-dot.is-active { border-color: #97101b; background: #97101b; box-shadow: inset 0 0 0 2px #fff; }
.review-progress { display: block; width: 150px; height: 2px; margin: 23px auto 0; background: #d5dce7; }
.review-progress > span { display: block; width: 25%; height: 100%; background: #94101c; transition: width .25s ease; }

/* Berkeley blue accent pass */
.tuition-eyebrow, .fee-kicker, .aid-panel-link, .tuition-costs-footer a, .student-reviews-badge span { color: #002676; }
.welcome-step-label, .promo-overline { color: #b9cef3; }
.welcome-fields input:focus { border-color: #7fa4e8; box-shadow: 0 0 0 3px rgba(0, 38, 118, .2); }
.welcome-next:hover, .welcome-next:focus-visible { background: #001e62; box-shadow: 0 7px 16px rgba(0, 38, 118, .3); }
.welcome-choice:focus-visible, .aid-chip:focus-visible, .support-card-link:focus-visible, .review-arrow:focus-visible, .review-dot:focus-visible { outline-color: #3972c4; }
.fee-overview::after { background: #e7efff; }
.promo-apply-link:hover, .promo-apply-link:focus-visible { background: #e7efff; color: #001e62; }
.program-pricing-toggle:focus-visible, .program-table-scroll:focus-visible { outline-color: #3972c4; }
.program-apply-link:hover, .program-apply-link:focus-visible { background: #001e62; }
.program-apply-link:focus-visible { outline-color: #3972c4; }
.financial-support-badge { background: #002676; }
.financial-support-badge svg { fill: #d7e5ff; }
.support-title-rule { background: #3972c4; }
.support-card::after { background: #e7efff; }
.support-card-icon { border-color: #a9c3f3; outline-color: rgba(82, 132, 211, .28); }
.review-quote-mark { background: #002676; box-shadow: 0 9px 20px rgba(0, 38, 118, .22); }
.review-arrow:hover, .review-arrow:focus-visible, .review-dot.is-active { border-color: #002676; background: #002676; }
.review-progress > span { background: #002676; }
.berkeley-wordmark { padding: 8px 10px; border-radius: 9px; background: #fff; }
.berkeley-wordmark img { width: 166px; filter: none; }
.berkeley-wordmark span { color: #002676; }
.berkeley-wordmark span { display: none; }
.review-orb { position: absolute; z-index: 0; border-radius: 50%; background: rgba(40, 64, 106, .045); pointer-events: none; }
.review-orb--right { top: 48%; right: -55px; width: 170px; height: 170px; }
.review-orb--left { bottom: -115px; left: 4%; width: 205px; height: 205px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
.tuition-page .custom-page-footer { margin-top: 0; }
@keyframes tuition-rise { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 760px) {
  .tuition-hero { min-height: 195px; }
  .tuition-hero__inner { width: min(100% - 36px, 1120px); padding-top: 26px; }
  .tuition-hero p { max-width: 500px; font-size: 13px; }
  .tuition-container { width: min(100% - 28px, 1050px); }
  .welcome-card { margin-top: -20px; padding: 17px; }
  .welcome-step-one, .welcome-step-two { grid-template-columns: 1fr; gap: 14px; }
  .welcome-fields { grid-template-columns: 1fr 1fr; }
  .welcome-fields .welcome-next { grid-column: 1 / -1; }
  .welcome-step-two { grid-template-columns: 1fr; }
  .welcome-continue { width: 100%; }
  .fee-overview { padding: 34px 15px 42px; }
  .fee-intro { margin-bottom: 22px; }
  .fee-content-grid { grid-template-columns: minmax(0, 1fr); }
  .berkeley-promo-card { min-height: 230px; }
  .aid-panel { padding: 20px; }
  .tuition-costs { padding: 39px 15px 36px; }
  .tuition-costs-intro { margin-bottom: 29px; }
  .tuition-costs-subtitle { margin-bottom: 22px; }
  .tuition-cost-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .tuition-cost-card { min-height: 195px; }
  .tuition-costs-footer { align-items: flex-start; flex-direction: column; gap: 11px; margin-top: 24px; }
  .program-pricing { padding: 42px 15px 48px; }
  .program-pricing-toggle { min-height: 45px; }
  .program-pricing-footnote { border-radius: 12px; }
  .financial-assistance { padding: 40px 16px 44px; }
  .financial-assistance-intro { margin-bottom: 30px; }
  .support-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
  .support-card { min-height: 300px; padding-right: 18px; padding-left: 18px; }
  .student-reviews { padding: 39px 16px 32px; }
  .student-reviews-intro { margin-bottom: 37px; }
  .review-card { min-height: 245px; padding: 42px 25px 27px; }
  .review-quote-mark { left: 24px; }
}

@media (max-width: 440px) {
  .welcome-fields { grid-template-columns: 1fr; }
  .welcome-fields .welcome-next { grid-column: auto; }
  .welcome-choice { flex: 1 1 42%; }
  .aid-audiences { gap: 7px; }
  .aid-chip { min-height: 37px; padding: 0 10px; font-size: 10px; }
  .tuition-cost-cards { grid-template-columns: 1fr; }
  .tuition-cost-card { min-height: 182px; }
  .cost-card-amount { font-size: 19px; }
  .support-card-grid { grid-template-columns: 1fr; }
  .support-card { min-height: 265px; }
  .review-card { min-height: 270px; padding-right: 20px; padding-left: 20px; }
  .review-quote { font-size: 13px; }
  .review-controls { gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .tuition-page *, .tuition-page *::before, .tuition-page *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Final Berkeley blue overrides for page accents and interaction states. */
.tuition-page .welcome-next { background: #002676; }
.tuition-page .welcome-next:hover, .tuition-page .welcome-next:focus-visible { background: #001e62; box-shadow: 0 7px 16px rgba(0, 38, 118, .3); }
.tuition-page .fee-overview::after, .tuition-page .support-card::after { background-color: #e7efff; }
.tuition-page .support-card-link { background: #e7efff; }
.tuition-page .aid-panel-link:hover, .tuition-page .tuition-costs-footer a:hover { color: #002676; }
.tuition-page .review-arrow:hover, .tuition-page .review-arrow:focus-visible, .tuition-page .review-dot.is-active { border-color: #002676; background: #002676; }
.tuition-page .review-progress > span { background: #002676; }
.tuition-page .berkeley-wordmark span { display: none; }
