@font-face { font-family: "Adapt Compact"; src: url("/lib/fonts/Adapt-CompactRegular.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Adapt Compact"; src: url("/lib/fonts/Adapt-CompactBold.woff2") format("woff2"); font-weight: 700; font-display: swap; }
@font-face { font-family: "Adapt Compact"; src: url("/lib/fonts/Adapt-CompactExtrabold.woff2") format("woff2"); font-weight: 800; font-display: swap; }
@font-face { font-family: "Raleway"; src: url("/site-assets/fonts/Raleway-VariableFont_wght.ttf") format("truetype"); font-weight: 100 900; font-style: normal; font-display: swap; }

:root {
	--green: #00ca64;
	--forest: #00884b;
	--dark-green: #064b35;
	--mint: #bbffca;
	--soft-mint: #effff3;
	--ink: #292929;
	--muted: #5d6d66;
	--line: #cfdad4;
	--white: #fff;
	--sat: #00ca64;
	--act: #00d2b2;
	--act-deep: #027f48;
	--act-soft: #a5fee8;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #f8fbf9; font-family: "Raleway", Arial, Helvetica, sans-serif; font-size: 16px; line-height: 1.5; }
button, input, select { font: inherit; }
button, label, input, select { -webkit-tap-highlight-color: transparent; }
[hidden] { display: none !important; }

.rc-header { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 15px clamp(22px, 4vw, 64px); background: var(--green); }
.rc-logo { display: inline-flex; align-items: center; text-decoration: none; }
.rc-logo img { display: block; width: 122px; height: auto; }
.rc-footer > strong { color: #fff; font: 800 54px/.8 "Adapt Compact", sans-serif; letter-spacing: -.035em; text-decoration: none; }
.rc-header nav, .rc-footer nav { display: flex; align-items: center; gap: 28px; }
.rc-header nav a { color: var(--dark-green); font: 800 16px/1 "Adapt Compact", sans-serif; letter-spacing: .01em; text-decoration: none; text-transform: uppercase; }
.rc-header nav a:hover { text-decoration: underline; text-underline-offset: 5px; }
.rc-banner { display: flex; justify-content: center; gap: 14px 24px; padding: 11px 22px; color: #fff; background: var(--dark-green); font-size: 14px; }
.rc-banner strong { font-family: "Adapt Compact", sans-serif; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }

.rc-main { padding: clamp(58px, 8vw, 100px) clamp(20px, 4vw, 64px) 110px; background: rgba(165,254,232,.18); }
.rc-intro { max-width: 1040px; margin: 0 auto 46px; text-align: center; }
.eyebrow, .summary-label { color: var(--forest); font: 800 15px/1.2 "Adapt Compact", sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.rc-intro h1 { margin: 14px 0 21px; font: 800 clamp(54px, 7.5vw, 92px)/.88 "Adapt Compact", sans-serif; letter-spacing: -.018em; text-transform: uppercase; }
.rc-intro h1 em { color: var(--forest); font-style: normal; }
.rc-intro p { max-width: 760px; margin: 0 auto; color: var(--muted); font-size: clamp(17px, 2vw, 20px); font-weight: 600; }
.rc-intro p + p { margin-top: 10px; }
.rc-confirmation-page { min-height: 100vh; display: flex; flex-direction: column; }
.rc-confirmation-page .rc-main { flex: 1; display: grid; align-items: center; }
.rc-confirmation-page .rc-intro { margin-bottom: 0; }
.rc-confirmation-contact { color: var(--forest); font-weight: 800; text-decoration: none; }
.rc-confirmation-contact:hover, .rc-confirmation-contact:focus-visible { color: var(--dark-green); text-decoration: none; }

.checkout-grid { --exam: var(--sat); --exam-deep: var(--forest); --exam-soft: var(--mint); width: min(1210px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 26px; align-items: start; }
body[data-initial-exam="act"] .checkout-grid, .checkout-grid[data-exam="ACT"] { --exam: var(--act); --exam-deep: var(--act-deep); --exam-soft: var(--act-soft); }
.checkout-form { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 28px; }
.form-section { padding: 34px; border-bottom: 1px solid var(--line); }
.form-section:last-child { border-bottom: 0; }
.step-title { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; align-items: start; margin-bottom: 22px; }
.step-title > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--exam-deep); background: var(--exam-soft); border-radius: 50%; font: 800 17px/1 "Adapt Compact", sans-serif; }
.step-title h2 { margin: 1px 0 5px; font: 800 28px/1 "Adapt Compact", sans-serif; letter-spacing: -.01em; text-transform: uppercase; }
.step-title p { margin: 0; color: var(--muted); font-weight: 600; }

.segmented { width: min(360px, 100%); margin-left: 60px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 6px; background: #eef3f0; border-radius: 16px; }
.segmented input, .product-option input, .stacked-options input { position: absolute; opacity: 0; pointer-events: none; }
.segmented span { display: block; padding: 11px; border-radius: 11px; text-align: center; font: 800 19px/1 "Adapt Compact", sans-serif; cursor: pointer; }
.segmented input:checked + span { color: var(--exam-deep); background: var(--exam-soft); box-shadow: inset 0 0 0 2px var(--exam); }
.segmented input:focus-visible + span, .product-option input:focus-visible ~ .check, .stacked-options input:focus-visible + span { outline: 3px solid #292929; outline-offset: 3px; }

.product-options { display: grid; gap: 12px; margin-left: 60px; }
.product-option { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 14px; align-items: center; min-height: 105px; padding: 18px 20px; border: 2px solid var(--line); border-radius: 18px; cursor: pointer; transition: border-color .16s, background .16s, transform .16s; }
.product-option:hover { transform: translateY(-1px); }
.product-option:has(input:checked) { border-color: var(--exam); background: color-mix(in srgb, var(--exam-soft) 42%, white); box-shadow: inset 0 0 0 1px var(--exam); }
.check { width: 26px; height: 26px; display: grid; place-items: center; border: 2px solid #8aa097; border-radius: 8px; }
.product-option input:checked ~ .check { border-color: var(--exam); background: var(--exam); }
.product-option input:checked ~ .check::after { content: "✓"; color: #fff; font: 900 17px/1 Arial, sans-serif; transform: translateY(-1px); }
.product-copy { display: grid; }
.product-copy small { color: var(--forest); font: 800 13px/1.2 "Adapt Compact", sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.product-copy strong { margin: 4px 0 2px; font: 800 23px/1.05 "Adapt Compact", sans-serif; text-transform: uppercase; }
.product-copy em { color: var(--muted); font-size: 14px; font-style: normal; font-weight: 600; }
.product-option > b { font: 800 21px/1 "Adapt Compact", sans-serif; }
.bundle-note { margin: 14px 0 0 60px; display: grid; gap: 12px; padding: 16px 17px; color: var(--exam-deep); background: var(--exam-soft); border-left: 4px solid var(--exam); border-radius: 14px; }
.bundle-note-heading { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; padding-bottom: 10px; border-bottom: 1px solid color-mix(in srgb, var(--exam-deep) 18%, transparent); }
.bundle-note-heading strong { font: 800 18px/1.1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.bundle-note-heading span { color: color-mix(in srgb, var(--exam-deep) 78%, white); font-size: 12px; font-weight: 750; text-align: right; }
.bundle-note-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.bundle-note-benefits > span { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--exam-deep) 12%, transparent); border-radius: 10px; background: color-mix(in srgb, white 52%, transparent); text-align: left; }
.bundle-note-benefits small { color: color-mix(in srgb, var(--exam-deep) 70%, white); font: 800 11px/1.2 "Adapt Compact", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.bundle-note-benefits strong { font: 800 16px/1.15 "Adapt Compact", sans-serif; text-transform: uppercase; }

.stacked-options { display: grid; gap: 10px; margin-left: 60px; }
.stacked-options label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 78px; padding: 15px 18px; border: 2px solid var(--line); border-radius: 16px; cursor: pointer; }
.stacked-options label:has(input:checked) { border-color: var(--exam); background: color-mix(in srgb, var(--exam-soft) 45%, white); }
.stacked-options span { display: grid; }
.stacked-options strong { font: 800 19px/1.1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.stacked-options strong em { display: inline-block; margin-left: 7px; padding: 5px 8px 4px; color: var(--exam-deep); background: var(--exam-soft); border-radius: 999px; font: 850 11px/1 "Adapt Compact", sans-serif; font-style: normal; letter-spacing: .03em; vertical-align: 2px; }
.access-options .is-recommended { border-color: color-mix(in srgb, var(--exam) 58%, var(--line)); }
.stacked-options small { margin-top: 4px; color: var(--muted); font-size: 14px; font-weight: 600; }
.stacked-options b { font: 800 15px/1.15 "Adapt Compact", sans-serif; text-align: right; text-transform: uppercase; }
.white-glove-program-options label { min-height: 92px; }
.white-glove-inclusions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 18px 0 0 60px; }
.white-glove-inclusions > span { display: grid; gap: 6px; min-width: 0; padding: 15px; color: #fff; background: var(--dark-green); border-radius: 14px; }
.white-glove-inclusions small { color: var(--exam-soft); font: 800 11px/1.1 "Adapt Compact", sans-serif; letter-spacing: .03em; text-transform: uppercase; }
.white-glove-inclusions strong { font-size: 14px; line-height: 1.25; }
.white-glove-schedule-fields { grid-template-columns: 1fr; }
.white-glove-schedule-fields input[type="date"] { min-height: 54px; cursor: pointer; }
.white-glove-schedule-fields small { color: var(--muted); font-size: 13px; font-weight: 650; }
.white-glove-availability-options { margin: 22px 0 0 60px; padding: 0; border: 0; }
.white-glove-availability-options legend { color: var(--dark-green); font: 800 18px/1.1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.white-glove-availability-options > p { margin: 7px 0 13px; color: var(--muted); font-size: 14px; font-weight: 600; }
.white-glove-availability-options > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.white-glove-availability-options label { position: relative; display: flex; gap: 10px; align-items: center; min-height: 52px; padding: 12px 14px; border: 2px solid var(--line); border-radius: 14px; cursor: pointer; }
.white-glove-availability-options label:has(input:checked) { border-color: var(--exam); background: color-mix(in srgb, var(--exam-soft) 45%, white); }
.white-glove-availability-options input { width: 19px; height: 19px; margin: 0; accent-color: var(--exam-deep); }
.white-glove-availability-options span { font-size: 14px; font-weight: 750; }
.course-choice-options strong span { display: inline; }
.delivery-choice-heading { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; margin: 24px 0 10px 60px; }
.delivery-choice-heading strong { font: 800 18px/1.15 "Adapt Compact", sans-serif; text-transform: uppercase; }
.delivery-choice-heading span { color: var(--exam-deep); font-size: 13px; font-weight: 850; }
.course-section-options { margin: 14px 0 18px 60px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #f8faf8; }
.course-section-options > strong { display: block; margin-bottom: 10px; font: 800 15px/1.2 "Adapt Compact", sans-serif; text-transform: uppercase; }
.section-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.section-choice-grid label { position: relative; display: grid; place-items: center; min-height: 48px; padding: 10px 12px; border: 2px solid var(--line); border-radius: 11px; cursor: pointer; text-align: center; }
.section-choice-grid input { position: absolute; opacity: 0; }
.section-choice-grid label:has(input:checked) { color: var(--exam-deep); border-color: var(--exam); background: var(--exam-soft); }
.section-choice-grid span { font-size: 14px; font-weight: 800; }
.included-live-heading { display: flex; justify-content: space-between; gap: 12px; margin: 24px 0 10px 60px; align-items: baseline; }
.included-live-heading strong { font: 800 18px/1.2 "Adapt Compact", sans-serif; text-transform: uppercase; }
.included-live-heading span { color: var(--exam-deep); font-size: 13px; font-weight: 850; }

.class-picker { margin: 15px 0 0 60px; padding: 21px; border: 1px solid var(--line); border-left: 4px solid var(--exam); background: color-mix(in srgb, var(--exam-soft) 24%, white); border-radius: 16px; }
.class-picker-heading { display: flex; justify-content: space-between; gap: 14px; margin-bottom: 15px; }
.class-picker-heading strong { font: 800 17px/1.2 "Adapt Compact", sans-serif; text-transform: uppercase; }
.class-picker-status { display: grid; gap: 2px; text-align: right; }
.class-picker-status span { color: var(--muted); font-size: 13px; font-weight: 700; }
.class-picker-status small { color: var(--exam-deep); font-size: 12px; font-weight: 800; }
.class-selects { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.class-select-field, .select-field, .inline-field label, .field-grid label, .static-custom-select-field { display: grid; gap: 7px; min-width: 0; }
.class-select-field > span, .select-field > span, .inline-field label > span, .field-grid label > span, .static-custom-select-field > span { color: var(--dark-green); font: 800 14px/1.2 "Adapt Compact", sans-serif; text-transform: uppercase; }
.class-native-select { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.custom-class-select { position: relative; }
.custom-class-select-trigger {
	width: 100%; min-height: 58px; display: grid; grid-template-columns: minmax(0, 1fr) 30px; gap: 12px; align-items: center;
	padding: 12px 12px 12px 15px; color: var(--ink); border: 2px solid #91a69c; border-radius: 14px; background: #fff;
	font-size: 14px; font-weight: 750; line-height: 1.3; text-align: left; cursor: pointer;
}
.custom-class-select-trigger:hover { border-color: var(--exam); }
.custom-class-select-trigger:focus-visible { border-color: var(--exam); outline: 3px solid color-mix(in srgb, var(--exam) 25%, transparent); }
.custom-class-select-trigger > span:last-child { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--exam-soft); }
.custom-class-select-trigger > span:last-child::before { width: 8px; height: 8px; content: ""; border-right: 2px solid var(--exam-deep); border-bottom: 2px solid var(--exam-deep); transform: translateY(-2px) rotate(45deg); transition: transform .16s ease; }
.custom-class-select.is-open .custom-class-select-trigger > span:last-child::before { transform: translateY(2px) rotate(225deg); }
.custom-class-select-menu {
	position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; right: 0; max-height: 290px; overflow-y: auto;
	padding: 7px; border: 1px solid #b7c6bf; border-radius: 15px; background: #fff; box-shadow: 0 18px 45px rgba(7,75,53,.2);
}
.custom-class-select-menu.class-date-menu { width: min(440px, calc(100vw - 44px)); right: auto; }
.class-select-field:nth-child(2) .custom-class-select-menu.class-date-menu { right: 0; left: auto; }
.class-date-menu .custom-class-select-option { white-space: nowrap; }
.custom-class-select-menu[hidden] { display: none; }
.custom-class-select-option { width: 100%; display: block; padding: 12px; color: var(--ink); border: 0; border-radius: 10px; background: #fff; font-size: 13px; font-weight: 700; line-height: 1.35; text-align: left; cursor: pointer; }
.custom-class-select-option:hover, .custom-class-select-option:focus-visible { color: var(--exam-deep); background: var(--exam-soft); outline: none; }
.custom-class-select-option[aria-selected="true"] { color: #fff; background: var(--exam-deep); }
.custom-class-select-option:disabled { color: #829088; background: #f1f4f2; cursor: not-allowed; text-decoration: line-through; }
.custom-class-select-trigger:disabled { color: #78847e; background: #f1f4f2; cursor: not-allowed; }
select, input[type="text"], input[type="email"], input[type="tel"] { width: 100%; min-height: 52px; padding: 11px 42px 11px 14px; color: var(--ink); background: #fff; border: 1.5px solid #9eafa7; border-radius: 12px; font-size: 15px; font-weight: 650; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--exam-deep) 50%), linear-gradient(135deg, var(--exam-deep) 50%, transparent 50%); background-position: calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; cursor: pointer; }
select:focus, input:focus { border-color: var(--exam); outline: 3px solid color-mix(in srgb, var(--exam) 25%, transparent); }
.field-help, .decision-note { margin: 11px 0 0; color: var(--muted); font-size: 13px; font-weight: 600; }
.course-refund-help { margin-left: 60px; }
.decision-note { margin-left: 60px; padding: 11px 14px; color: #6b4d13; background: #fff8d9; border-radius: 11px; }
.select-field { margin-left: 60px; }
.option-help { margin-left: 60px; }
.inline-field { margin-left: 60px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.coupon-section .field-help { margin-left: 60px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-left: 60px; }
.field-grid .field-wide { grid-column: 1 / -1; }
.canary-email-help { color: var(--muted); font-size: 13px; font-weight: 650; line-height: 1.45; }

.button { min-height: 49px; display: inline-grid; place-items: center; padding: 11px 22px; border: 2px solid var(--dark-green); border-radius: 999px; font: 800 16px/1 "Adapt Compact", sans-serif; letter-spacing: .01em; text-transform: uppercase; cursor: pointer; }
.button-primary { width: 100%; color: #fff; background: var(--dark-green); }
.button-primary:hover { background: #063a2b; }
.button-outline { color: var(--dark-green); background: #fff; }
.button-outline:hover { background: var(--soft-mint); }
.button:disabled { opacity: .55; cursor: wait; }

.order-summary { position: sticky; top: 20px; padding: 29px; color: #fff; background: var(--exam-deep); border-radius: 26px; box-shadow: 9px 9px 0 var(--exam); }
.order-summary h2 { margin: 7px 0 22px; color: #fff; font: 800 33px/1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.order-summary .summary-label { color: var(--exam); }
.summary-items { display: grid; gap: 13px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.summary-items > div, .summary-discount, .summary-total { display: flex; justify-content: space-between; gap: 15px; }
.summary-items span { max-width: 250px; color: rgba(255,255,255,.74); font-size: 14px; font-weight: 700; }
.summary-items strong { white-space: nowrap; font: 800 16px/1.3 "Adapt Compact", sans-serif; }
.summary-discount { padding: 13px 0; color: var(--exam); border-bottom: 1px solid rgba(255,255,255,.15); font-size: 14px; font-weight: 800; }
.summary-payment { color: #fff; }
.summary-adjustment-value { display: inline-flex; align-items: center; gap: 9px; }
.summary-adjustment-value button {
	padding: 0;
	color: rgba(255,255,255,.66);
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	font: 750 12px/1.25 "Raleway", sans-serif;
	cursor: pointer;
}
.summary-adjustment-value button:hover,
.summary-adjustment-value button:focus-visible { color: #fff; }
.summary-total { align-items: end; padding: 19px 0 10px; }
.summary-total span { font-weight: 800; }
.summary-total strong { color: #fff; font: 800 32px/.9 "Adapt Compact", sans-serif; }
.summary-version { margin: 0 0 20px; color: rgba(255,255,255,.62); font-size: 12px; overflow-wrap: anywhere; }
.summary-version span { font-family: monospace; }
.safety-list { display: grid; grid-template-columns: 1fr 1fr; gap: 5px 10px; margin: 14px 0 0; color: rgba(255,255,255,.66); font-size: 12px; font-weight: 700; }
.form-message { margin: 0 0 14px; padding: 12px 14px; color: #7b1818; background: #fff0f0; border-radius: 11px; font-size: 14px; font-weight: 700; }
.form-message.success { color: var(--dark-green); background: var(--soft-mint); }
.order-result { margin-top: 18px; padding: 17px; color: var(--ink); background: var(--soft-mint); border: 2px solid var(--exam); border-radius: 15px; }
.order-result h3 { margin: 0 0 5px; font: 800 20px/1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.order-result p { margin: 5px 0; font-size: 13px; font-weight: 600; }
.order-result ul { margin: 10px 0 0; padding-left: 20px; font-size: 13px; }

.summary-coupon { margin: 14px 0 20px; padding: 14px 0; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.summary-coupon > summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; color: #fff; font: 800 14px/1.2 "Adapt Compact", sans-serif; text-transform: uppercase; cursor: pointer; list-style: none; }
.summary-coupon > summary::-webkit-details-marker { display: none; }
.summary-coupon > summary > span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.13); }
.summary-coupon > summary > span::before { width: 8px; height: 8px; content: ""; border-right: 2px solid var(--exam); border-bottom: 2px solid var(--exam); transform: translateY(-2px) rotate(45deg); transition: transform .16s ease; }
.summary-coupon[open] > summary > span::before { transform: translateY(2px) rotate(225deg); }
.summary-coupon-fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 12px; }
.summary-coupon input { min-height: 47px; padding-right: 12px; border-color: rgba(255,255,255,.36); }
.summary-coupon button { min-width: 76px; padding: 10px 14px; color: var(--exam-deep); border: 0; border-radius: 11px; background: var(--exam-soft); font: 800 14px/1 "Adapt Compact", sans-serif; text-transform: uppercase; cursor: pointer; }
.summary-coupon small { display: block; margin-top: 7px; color: rgba(255,255,255,.63); font-size: 12px; }
.summary-gift-card { margin-top: -20px; border-top: 0; }
.summary-policy-link {
	display: inline-block;
	margin: -5px 0 17px;
	color: rgba(255,255,255,.7);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.summary-policy-link:hover,
.summary-policy-link:focus-visible { color: #fff; }
.order-summary .button-primary { color: var(--exam-deep); border-color: var(--exam-soft); background: var(--exam-soft); }
.order-summary .button-primary:hover { color: #fff; border-color: #fff; background: transparent; }

.rc-footer { display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; padding: 35px clamp(22px, 4vw, 64px); color: #fff; background: var(--dark-green); }
.rc-footer > strong { font-size: 46px; }
.rc-footer .rc-logo img { width: 122px; }
.rc-footer p { margin: 0; color: #d7eee4; font-size: 14px; }
.rc-footer a { color: #fff; font-weight: 700; text-decoration: none; }
.rc-footer a:hover { text-decoration: underline; }

.rc-booking-main { min-height: calc(100vh - 255px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .55fr); gap: 30px; align-items: center; }
.rc-booking-intro { margin: 0; text-align: left; }
.rc-booking-intro p { margin-left: 0; }
.rc-booking-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.rc-booking-actions .button { width: auto; text-decoration: none; }
.rc-booking-actions .button-primary { color: #fff; }
.rc-booking-checklist { padding: 31px; border: 2px solid var(--dark-green); border-radius: 24px; background: #fff; box-shadow: 9px 9px 0 var(--green); }
.rc-booking-checklist > div { display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: center; }
.rc-booking-checklist > div > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--dark-green); border-radius: 50%; background: var(--mint); font: 800 16px/1 "Adapt Compact", sans-serif; }
.rc-booking-checklist h2 { margin: 0; font: 800 28px/1 "Adapt Compact", sans-serif; text-transform: uppercase; }
.rc-booking-checklist ul { display: grid; gap: 13px; margin: 24px 0 0; padding-left: 22px; color: var(--muted); font-weight: 650; }
.rc-live-booking-banner { background: #8d2d20; }

.payment-step-open .rc-intro { display: none; }
.inline-payment-view { --exam: var(--sat); --exam-deep: var(--forest); --exam-soft: var(--mint); width: min(1210px, 100%); margin: 0 auto; }
.inline-payment-view[data-exam="ACT"] { --exam: var(--act); --exam-deep: var(--act-deep); --exam-soft: var(--act-soft); }
.inline-payment-header { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 31px; padding-bottom: 27px; border-bottom: 2px solid var(--dark-green); }
.inline-payment-header h2 { margin: 10px 0 8px; font: 800 clamp(48px, 6.2vw, 78px)/.86 "Adapt Compact", sans-serif; letter-spacing: -.015em; text-transform: uppercase; }
.inline-payment-header p { max-width: 670px; margin: 0; color: var(--muted); font-size: 17px; font-weight: 650; }
.inline-payment-edit { width: auto; display: inline-flex; flex: 0 0 auto; flex-direction: row; gap: 9px; align-items: center; justify-content: center; color: var(--dark-green); white-space: nowrap; }
.inline-payment-edit span { display: inline-block; font: 900 20px/1 Arial, sans-serif; }
.inline-payment-grid { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 34px; align-items: start; }
.custom-payment-column { min-width: 0; width: 100%; }
.payment-status { margin: 0 0 15px; padding: 14px 16px; color: var(--dark-green); background: var(--soft-mint); border-radius: 12px; font-size: 14px; font-weight: 750; }
.payment-status.is-error { color: #7b1818; background: #fff0f0; }
.staffs-payment-form { display: grid; gap: 22px; width: 100%; margin: 0; padding: 4px 0 0; }
.staffs-payment-heading { display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.staffs-payment-heading h3 { margin: 7px 0 0; font: 800 30px/1 "Adapt Compact", sans-serif; letter-spacing: -.01em; text-transform: uppercase; }
.secure-payment-badge { display: inline-flex; flex: 0 0 auto; gap: 7px; align-items: center; padding: 8px 12px; color: var(--exam-deep); background: var(--exam-soft); border-radius: 999px; font: 800 12px/1 "Adapt Compact", sans-serif; letter-spacing: .04em; text-transform: uppercase; }
.secure-payment-badge > span { color: var(--exam); font-size: 9px; }
.staffs-payment-element { min-height: 250px; width: 100%; }
.payment-error { padding: 13px 15px; color: #7b1818; background: #fff0f0; border-left: 4px solid #c43c3c; border-radius: 10px; font-size: 14px; font-weight: 700; }
.staffs-payment-submit { min-height: 60px; width: 100%; display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 14px 21px; color: var(--exam-deep); background: var(--exam); border: 2px solid var(--exam-deep); border-radius: 16px; box-shadow: 5px 5px 0 var(--exam-deep); font: 800 18px/1 "Adapt Compact", sans-serif; letter-spacing: .01em; text-transform: uppercase; cursor: pointer; transition: transform .15s, box-shadow .15s, opacity .15s; }
.staffs-payment-submit:hover:not(:disabled) { transform: translate(2px, 2px); box-shadow: 3px 3px 0 var(--exam-deep); }
.staffs-payment-submit:focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.staffs-payment-submit:disabled { opacity: .52; cursor: wait; }
.staffs-payment-submit strong { white-space: nowrap; font-size: 21px; }
.payment-security-note { margin: -4px 0 0; color: var(--muted); font-size: 12px; font-weight: 650; text-align: center; }
.payment-security-note > span { color: var(--exam-deep); }
.embedded-payment-fallback { width: 100%; }
.embedded-payment-mount, .embedded-payment-mount > iframe { display: block; width: 100% !important; max-width: none !important; }
.embedded-payment-mount { min-height: 430px; margin: 0; padding: 0; }
.inline-payment-summary-slot { min-width: 0; }
.order-summary.is-payment-step { position: sticky; top: 20px; width: 100%; color: #fff; background: var(--exam-deep); box-shadow: 9px 9px 0 var(--exam); }
.order-summary.is-payment-step .summary-coupon,
.order-summary.is-payment-step .summary-version,
.order-summary.is-payment-step [data-create-order],
.order-summary.is-payment-step .safety-list,
.order-summary.is-payment-step .summary-adjustment-value button { display: none; }
.order-summary.is-payment-step .summary-policy-link { margin-top: 13px; }

@media (max-width: 980px) {
	.checkout-grid { grid-template-columns: 1fr; }
	.order-summary { position: static; }
	.inline-payment-grid { grid-template-columns: 1fr; }
	.order-summary.is-payment-step { position: static; }
	.rc-booking-main { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.rc-header { min-height: 74px; padding: 14px 20px; }
	.rc-logo img { width: 108px; }
	.rc-header nav { gap: 15px; }
	.rc-header nav a { font-size: 13px; }
	.rc-header nav a:nth-child(2) { display: none; }
	.rc-banner { display: grid; gap: 2px; text-align: center; }
	.rc-main { padding: 48px 14px 70px; }
	.rc-intro { margin-bottom: 31px; }
	.rc-intro h1 { font-size: clamp(47px, 15vw, 68px); }
	.rc-intro p { font-size: 16px; }
	.checkout-form, .order-summary { border-radius: 21px; }
	.form-section { padding: 25px 20px; }
	.step-title { grid-template-columns: 39px minmax(0, 1fr); gap: 11px; }
	.step-title > span { width: 39px; height: 39px; font-size: 15px; }
	.step-title h2 { font-size: 24px; }
	.step-title p { font-size: 14px; }
	.segmented, .product-options, .stacked-options, .class-picker, .select-field, .inline-field, .field-grid, .decision-note, .coupon-section .field-help, .bundle-note, .option-help, .course-section-options, .included-live-heading, .delivery-choice-heading, .course-refund-help, .white-glove-inclusions, .white-glove-availability-options { margin-left: 0; }
	.white-glove-inclusions, .white-glove-availability-options > div { grid-template-columns: 1fr; }
	.section-choice-grid { grid-template-columns: 1fr; }
	.product-option { grid-template-columns: 26px minmax(0, 1fr); padding: 16px; }
	.product-option > b { grid-column: 2; }
	.bundle-note-heading { display: grid; gap: 3px; }
	.bundle-note-heading span { text-align: left; }
	.bundle-note-benefits { grid-template-columns: 1fr; }
	.class-selects, .field-grid { grid-template-columns: 1fr; }
	.field-grid .field-half, .field-grid .field-wide { grid-column: 1; }
	.class-picker-heading { display: grid; }
	.class-picker-status { text-align: left; }
	.inline-field { grid-template-columns: 1fr; }
	.order-summary { padding: 25px 20px; }
	.rc-footer { grid-template-columns: 1fr; gap: 14px; text-align: center; }
	.rc-footer nav { justify-content: center; }
	.rc-booking-actions { align-items: stretch; flex-direction: column; }
	.rc-booking-actions .button { width: 100%; }
	.inline-payment-header { display: grid; gap: 18px; align-items: start; margin-bottom: 21px; padding-bottom: 20px; }
	.inline-payment-header h2 { font-size: clamp(48px, 16vw, 65px); }
	.inline-payment-header p { font-size: 15px; }
	.inline-payment-edit { width: auto; justify-self: start; }
	.inline-payment-grid { gap: 20px; }
	.payment-status { margin: 0 0 13px; }
	.staffs-payment-form { gap: 18px; }
	.staffs-payment-heading { align-items: flex-start; }
	.staffs-payment-heading h3 { font-size: 25px; }
	.secure-payment-badge { padding: 7px 10px; }
	.staffs-payment-submit { min-height: 57px; padding-inline: 17px; font-size: 16px; }
	.staffs-payment-submit strong { font-size: 18px; }
}

@supports not selector(:has(*)) {
	.product-option, .stacked-options label { border-color: var(--exam); }
}
