/* Registration fees: deliberately understated, built for quick comparison. */
.fees-page { max-width: 1080px; padding-bottom: 104px; }
.fees-hero::after { background: linear-gradient(90deg, rgba(8, 32, 70, .68), rgba(8, 32, 70, .12) 75%); }
.fees-intro { padding: 68px 0 42px; border-bottom: 1px solid #d7e1e9; }
.fees-intro h2 { margin: 14px 0 0; color: #172943; font: 600 clamp(32px, 3.3vw, 45px)/1.08 "Montserrat", sans-serif; letter-spacing: -1.8px; }
.fees-intro > div > p:last-child { max-width: 585px; margin: 18px 0 0; color: #65788d; font: 400 14px/1.75 "Montserrat", sans-serif; }
.fees-ledger { margin-top: 39px; background: #fff; border: 1px solid #d5e0e8; }
.fees-ledger__header { display: flex; justify-content: space-between; gap: 30px; align-items: end; padding: 26px 30px 23px; }
.fees-ledger__header h2, .refund-card h2 { margin: 0; color: #173a61; font: 600 clamp(27px, 2.5vw, 34px)/1 "Oswald", sans-serif; letter-spacing: .2px; text-transform: uppercase; }
.fees-ledger__header > p { max-width: 330px; margin: 0; color: #718398; font: 400 12px/1.65 "Montserrat", sans-serif; }
.fees-table-wrap { overflow-x: auto; border-top: 1px solid #d9e3ea; }
.fees-table { width: 100%; min-width: 700px; border-collapse: collapse; text-align: left; }
.fees-table th, .fees-table td { padding: 18px 30px; border-bottom: 1px solid #e0e8ee; vertical-align: middle; }
.fees-table thead { color: #315c82; background: #eaf2f7; }
.fees-table thead th { font: 700 10px/1.3 "Montserrat", sans-serif; letter-spacing: .75px; text-transform: uppercase; }
.fees-table thead th:first-child { width: 31%; }
.fees-table thead th:nth-child(2) { width: 46%; }
.fees-table thead small { color: #6c8aa2; font-size: 9px; }
.fees-table__section th { padding-top: 11px; padding-bottom: 11px; color: #315c82; background: #f1f6f9; font: 700 10px/1.35 "Montserrat", sans-serif; letter-spacing: .9px; text-transform: uppercase; }
.fees-table tbody > tr:not(.fees-table__section) > th { color: #263e58; font: 600 14px/1.35 "Montserrat", sans-serif; }
.fees-table td strong, .fees-table td span, .fees-table td b, .fees-table td small { display: block; }
.fees-table td strong { color: #2b4058; font: 600 13px/1.35 "Montserrat", sans-serif; }
.fees-table td span { margin-top: 4px; color: #7b8c9e; font: 400 11px/1.45 "Montserrat", sans-serif; }
.fees-table td:last-child { white-space: nowrap; }
.fees-table td b { color: #174b8d; font: 700 16px/1.1 "Montserrat", sans-serif; }
.fees-table td small { margin-top: 4px; color: #73879c; font: 600 9px/1.2 "Montserrat", sans-serif; letter-spacing: .45px; text-transform: uppercase; }
.fees-notes { display: grid; grid-template-columns: 178px minmax(0, 1fr); gap: 32px; margin-top: 34px; padding: 24px 0; border-top: 1px solid #d8e1e8; border-bottom: 1px solid #d8e1e8; }
.fees-notes h2 { margin: 0; color: #173a61; font: 600 21px/1.15 "Oswald", sans-serif; letter-spacing: .15px; text-transform: uppercase; }
.fees-notes ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.fees-notes li { color: #61758a; font: 400 12px/1.65 "Montserrat", sans-serif; }
.fees-notes b { color: #243e5d; font-weight: 700; }
.refund-card { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 35px; margin-top: 58px; padding: 0 0 24px; border-bottom: 1px solid #d7e1e9; }
.refund-card header { padding-top: 2px; }
.refund-card h2 { margin-top: 13px; font-size: 29px; }
.refund-card ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.refund-card li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; padding: 13px 0; color: #61758a; border-bottom: 1px solid #e0e8ee; font: 400 12px/1.45 "Montserrat", sans-serif; }
.refund-card li i { display: none; }
.refund-card li strong { color: #263e58; font: 700 11px/1.3 "Montserrat", sans-serif; text-align: right; }
.refund-card li:nth-child(3) strong { color: #c45245; }
.refund-card__note { grid-column: 2; margin: -1px 0 0; color: #8392a4; font: italic 400 11px/1.65 "Montserrat", sans-serif; }
.refund-card__note em { color: #687f96; font-weight: 700; }
.fees-next { display: flex; justify-content: space-between; gap: 40px; align-items: center; margin-top: 54px; padding: 27px 0; color: #173a61; border-top: 1px solid #d7e1e9; border-bottom: 1px solid #d7e1e9; }
.fees-next .subpage-overline { color: #64839b; }
.fees-next h2 { margin: 12px 0 0; font: 600 clamp(23px, 2.3vw, 30px)/1.1 "Montserrat", sans-serif; letter-spacing: -1.1px; }
.fees-next p:last-child { max-width: 610px; margin: 11px 0 0; color: #65798f; font: 400 12px/1.65 "Montserrat", sans-serif; }
.fees-next a { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 15px; padding: 13px 16px; color: #fff; background: #174b8d; font: 700 10px/1 "Montserrat", sans-serif; letter-spacing: .45px; text-transform: uppercase; transition: background .2s ease; }
.fees-next a:hover { background: #ef5b3c; }
.fees-next a span { font: 400 18px/.6 Arial, sans-serif; }
@media (max-width: 900px) { .fees-intro { padding-top: 55px; } .fees-ledger__header, .fees-next { align-items: start; flex-direction: column; } .fees-ledger__header { gap: 15px; } .refund-card { grid-template-columns: 1fr; gap: 21px; } .refund-card__note { grid-column: auto; } }
@media (max-width: 600px) { .fees-page { padding-bottom: 70px; } .fees-intro { padding-bottom: 34px; } .fees-intro h2 { letter-spacing: -1.35px; } .fees-ledger { margin-top: 30px; } .fees-ledger__header { padding: 23px 20px 19px; } .fees-table-wrap { overflow: visible; } .fees-table { min-width: 0; } .fees-table thead { display: none; } .fees-table, .fees-table tbody { display: block; } .fees-table tbody > tr:not(.fees-table__section) { display: grid; grid-template-columns: minmax(102px, .78fr) minmax(0, 1.22fr); gap: 0 13px; padding: 14px; border-bottom: 1px solid #e0e8ee; } .fees-table tbody > tr:not(.fees-table__section) > th, .fees-table tbody > tr:not(.fees-table__section) > td { min-width: 0; padding: 0; border: 0; } .fees-table tbody > tr:not(.fees-table__section) > th { grid-column: 1; grid-row: 1 / 3; align-self: center; font-size: 12px; } .fees-table tbody > tr:not(.fees-table__section) > td:nth-child(2) { grid-column: 2; grid-row: 1; } .fees-table tbody > tr:not(.fees-table__section) > td:last-child { grid-column: 2; grid-row: 2; margin-top: 5px; } .fees-table tbody > tr.fees-table__subrow { grid-template-columns: minmax(0, 1fr) auto; align-items: center; padding-top: 12px; } .fees-table tbody > tr.fees-table__subrow > td:first-child { grid-column: 1; grid-row: 1; } .fees-table tbody > tr.fees-table__subrow > td:last-child { grid-column: 2; grid-row: 1; margin-top: 0; text-align: right; } .fees-table__section th { display: block; padding: 10px 14px; } .fees-table td strong { font-size: 12px; } .fees-table td span { font-size: 10px; } .fees-table td b { display: inline; font-size: 15px; } .fees-table td small { display: inline; margin: 0 0 0 7px; font-size: 8px; } .fees-notes { grid-template-columns: 1fr; gap: 15px; margin-top: 30px; padding: 22px 0; } .fees-notes h2 { font-size: 20px; } .fees-notes li { font-size: 11px; } .refund-card { gap: 19px; margin-top: 45px; padding-bottom: 22px; } .refund-card li { grid-template-columns: 1fr; gap: 5px; padding: 11px 0; } .refund-card li strong { text-align: left; } .refund-card__note { margin-top: 0; } .fees-next { gap: 22px; margin-top: 43px; padding: 26px 0; } .fees-next a { width: 100%; justify-content: space-between; } }
