/* Bloom CSS Logistics: brilliant-regular-plans */
/*
 * Brilliant Maths Tutors — Regular Tutoring Plans v1.0 — DEFERRED BODY CSS
 * CSS Logistics path: below-fold/pages/custom/brilliant-regular-plans.css
 * Assignment: Regular Maths Plans page only | Strategy: deferred | Priority: 70
 */

.bmt-regular-page .bmt-section { padding-block: clamp(76px,9vw,132px); }
.bmt-heading { max-width: 760px; margin-bottom: 44px; }
.bmt-heading--center { margin-inline: auto; text-align: center; }
.bmt-heading h2,
.bmt-reserved h2,
.bmt-bidding h2,
.bmt-subscription h2,
.bmt-regular-faq h2 { margin-bottom: 16px; color: var(--bmt-navy); font-size: clamp(2.45rem,4.6vw,4.5rem); letter-spacing: -.052em; }
.bmt-heading > p:not(.bmt-kicker),
.bmt-reserved p,
.bmt-bidding p,
.bmt-subscription p,
.bmt-regular-faq p { color: var(--bmt-muted); }

.bmt-regular-strip { border-bottom: 1px solid var(--bmt-line); background: #fff; }
.bmt-regular-strip__grid { display: grid; grid-template-columns: .7fr 1.5fr auto; gap: 32px; align-items: center; padding-block: 22px; }
.bmt-regular-strip strong { color: #087b98; font-size: .9rem; line-height: 1.2; }
.bmt-regular-strip p { margin: 0; color: var(--bmt-muted); font-size: .78rem; }
.bmt-regular-strip a { color: var(--bmt-navy); font-size: .7rem; font-weight: 900; text-decoration: none; }
.bmt-regular-strip a span { color: var(--bmt-orange); }

.bmt-reserved { background: #fff; }
.bmt-reserved__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px,8vw,104px); align-items: start; }
.bmt-reserved__copy { position: sticky; top: 124px; }
.bmt-reserved-map { display: grid; gap: 10px; }
.bmt-reserved-map article { display: grid; grid-template-columns: 48px 1fr; gap: 15px; align-items: start; padding: 19px; border: 1px solid var(--bmt-line); border-radius: 16px; background: #fbfdfe; }
.bmt-reserved-map article:nth-child(2) { background: #fff7d6; }
.bmt-reserved-map article:nth-child(3) { background: #eaf8fb; }
.bmt-reserved-map article:nth-child(4) { background: var(--bmt-navy); border-color: var(--bmt-navy); }
.bmt-reserved-map > article > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--bmt-yellow); color: var(--bmt-navy); font-size: .67rem; font-weight: 950; }
.bmt-reserved-map strong { display: block; margin-bottom: 4px; color: var(--bmt-navy); font-size: 1rem; }
.bmt-reserved-map p { margin: 0; color: var(--bmt-muted); font-size: .82rem; }
.bmt-reserved-map article:nth-child(4) strong { color: #fff; }
.bmt-reserved-map article:nth-child(4) p { color: #c7e4ed; }

.bmt-plan-cards { background: var(--bmt-mist); border-block: 1px solid var(--bmt-line); }
.bmt-plan-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.bmt-plan-card { display: flex; flex-direction: column; min-height: 440px; padding: 24px; border: 1px solid var(--bmt-line); border-radius: 22px; background: #fff; box-shadow: 0 14px 35px rgba(2,48,71,.05); }
.bmt-plan-card--featured { background: var(--bmt-navy); border-color: var(--bmt-navy); color: #fff; transform: translateY(-10px); box-shadow: 0 24px 50px rgba(2,48,71,.2); }
.bmt-plan-card__top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 26px; }
.bmt-plan-card__top span { padding: 6px 9px; border-radius: 999px; background: #e8f6fa; color: #087b98; font-size: .62rem; font-weight: 950; text-transform: uppercase; letter-spacing: .07em; }
.bmt-plan-card__top strong { color: var(--bmt-yellow); font-size: 2.8rem; line-height: .9; }
.bmt-plan-card h3 { margin-bottom: 10px; color: var(--bmt-navy); font-size: 1.6rem; }
.bmt-plan-card > p { margin-bottom: 20px; color: var(--bmt-muted); font-size: .82rem; }
.bmt-plan-card dl { margin: 0 0 22px; }
.bmt-plan-card dl > div { padding: 9px 0; border-top: 1px solid rgba(82,100,112,.16); }
.bmt-plan-card dt { color: var(--bmt-muted); font-size: .65rem; }
.bmt-plan-card dd { margin: 2px 0 0; color: var(--bmt-navy); font-size: .77rem; font-weight: 900; }
.bmt-plan-card button { margin-top: auto; align-self: flex-start; padding: 9px 12px; border: 0; border-radius: 999px; background: var(--bmt-yellow); color: var(--bmt-navy-2); cursor: pointer; font-size: .71rem; font-weight: 950; }
.bmt-plan-card--featured .bmt-plan-card__top span { background: rgba(255,255,255,.1); color: var(--bmt-yellow); }
.bmt-plan-card--featured h3,
.bmt-plan-card--featured dd { color: #fff; }
.bmt-plan-card--featured > p,
.bmt-plan-card--featured dt { color: #c7e4ed; }
.bmt-plan-card--featured dl > div { border-color: rgba(255,255,255,.13); }
.bmt-plan-card-note { max-width: 850px; margin: 23px auto 0; color: var(--bmt-muted); font-size: .73rem; text-align: center; }

.bmt-bidding { position: relative; overflow: hidden; background: var(--bmt-navy); color: #c7e4ed; }
.bmt-bidding::after { content: "R"; position: absolute; right: -30px; bottom: -120px; color: rgba(255,255,255,.045); font-size: 22rem; font-weight: 950; line-height: 1; }
.bmt-bidding__grid { position: relative; z-index: 2; display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px,8vw,104px); align-items: start; }
.bmt-bidding__grid > div:first-child { position: sticky; top: 124px; }
.bmt-bidding h2 { color: #fff; }
.bmt-bidding p { color: #c7e4ed; }
.bmt-bid-flow { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; }
.bmt-bid-flow li { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 19px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: rgba(255,255,255,.06); }
.bmt-bid-flow > li > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--bmt-yellow); color: var(--bmt-navy-2); font-size: .68rem; font-weight: 950; }
.bmt-bid-flow strong { display: block; margin-bottom: 4px; color: #fff; }
.bmt-bid-flow p { margin: 0; color: #c7e4ed; font-size: .82rem; }

.bmt-subscription { background: #fff; }
.bmt-subscription__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(48px,8vw,104px); align-items: center; }
.bmt-subscription__legal { padding: 13px 14px; border-left: 4px solid var(--bmt-yellow); background: #fff8dc; font-size: .78rem; }
.bmt-subscription-flow { display: grid; grid-template-columns: 1fr auto 1fr; gap: 11px; align-items: stretch; }
.bmt-subscription-flow article { padding: 18px; border: 1px solid var(--bmt-line); border-radius: 16px; background: #f8fcfd; }
.bmt-subscription-flow article:nth-of-type(2) { background: #fff7d6; }
.bmt-subscription-flow article:nth-of-type(3) { background: #eaf8fb; }
.bmt-subscription-flow article:nth-of-type(4) { background: var(--bmt-navy); border-color: var(--bmt-navy); }
.bmt-subscription-flow > i { align-self: center; color: var(--bmt-orange); font-style: normal; font-weight: 950; }
.bmt-subscription-flow span { display: block; color: #087b98; font-size: .61rem; font-weight: 950; text-transform: uppercase; letter-spacing: .07em; }
.bmt-subscription-flow strong { display: block; margin: 5px 0; color: var(--bmt-navy); }
.bmt-subscription-flow p { margin: 0; color: var(--bmt-muted); font-size: .75rem; }
.bmt-subscription-flow article:nth-of-type(4) span { color: var(--bmt-yellow); }
.bmt-subscription-flow article:nth-of-type(4) strong { color: #fff; }
.bmt-subscription-flow article:nth-of-type(4) p { color: #c7e4ed; }

.bmt-holiday-upsell { padding-block: clamp(38px,5vw,68px) !important; background: #fff; }
.bmt-holiday-upsell__box { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; gap: 42px; align-items: center; padding: clamp(34px,5vw,58px); border-radius: var(--bmt-radius-lg); background: linear-gradient(125deg,var(--bmt-navy),#075d78); color: #fff; }
.bmt-holiday-upsell__box::after { content: "↻"; position: absolute; right: -24px; bottom: -125px; color: rgba(255,255,255,.055); font-size: 22rem; line-height: 1; }
.bmt-holiday-upsell h2 { margin-bottom: 14px; color: #fff; font-size: clamp(2.2rem,4vw,3.7rem); letter-spacing: -.05em; }
.bmt-holiday-upsell p { margin: 0; color: #c6e4ee; }
.bmt-holiday-upsell__actions { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.bmt-regular-faq { background: #f8fcfd; border-top: 1px solid var(--bmt-line); }
.bmt-regular-faq__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(44px,7vw,88px); align-items: start; }
.bmt-regular-faq__grid > div:first-child { position: sticky; top: 124px; }
.bmt-faq-list { display: grid; gap: 10px; }
.bmt-faq-list details { border: 1px solid var(--bmt-line); border-radius: 15px; background: #fff; overflow: hidden; }
.bmt-faq-list summary { position: relative; cursor: pointer; padding: 19px 52px 19px 21px; color: var(--bmt-navy); font-weight: 850; list-style: none; }
.bmt-faq-list summary::-webkit-details-marker { display: none; }
.bmt-faq-list summary::after { content: "+"; position: absolute; right: 19px; top: 50%; width: 26px; height: 26px; display: grid; place-items: center; transform: translateY(-50%); border-radius: 50%; background: #e8f6fa; color: var(--bmt-navy); font-size: 1rem; font-weight: 900; }
.bmt-faq-list details[open] summary::after { content: "–"; background: var(--bmt-yellow); }
.bmt-faq-list details p { margin: 0; padding: 0 21px 20px; color: var(--bmt-muted); }

.bmt-final-cta { padding: clamp(34px,4vw,52px) 0 clamp(68px,8vw,116px); background: #fff; }
.bmt-final-cta__box { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.15fr .85fr; gap: 42px; align-items: center; padding: clamp(35px,5vw,62px); border-radius: var(--bmt-radius-lg); background: linear-gradient(125deg,var(--bmt-navy),#075d78); color: #fff; }
.bmt-final-cta__box::after { content: "π"; position: absolute; right: -4px; bottom: -80px; color: rgba(255,255,255,.06); font-family: Georgia, serif; font-size: 20rem; line-height: 1; }
.bmt-final-cta .bmt-script { color: var(--bmt-yellow); }
.bmt-final-cta h2 { margin-bottom: 12px; color: #fff; font-size: clamp(2.25rem,4vw,3.8rem); letter-spacing: -.05em; }
.bmt-final-cta p { margin-bottom: 0; color: #c6e4ee; }
.bmt-final-cta__actions { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

@media (max-width: 1080px) {
    .bmt-plan-card-grid { grid-template-columns: 1fr; max-width: 800px; margin-inline: auto; }
    .bmt-plan-card { min-height: 0; }
    .bmt-plan-card--featured { transform: none; }
    .bmt-subscription-flow { grid-template-columns: 1fr 1fr; }
    .bmt-subscription-flow > i { display: none; }
}
@media (max-width: 900px) {
    .bmt-regular-strip__grid { grid-template-columns: 1fr; gap: 8px; padding-block: 28px; }
    .bmt-regular-strip a { justify-self: start; }
    .bmt-reserved__grid,
    .bmt-bidding__grid,
    .bmt-subscription__grid,
    .bmt-holiday-upsell__box,
    .bmt-regular-faq__grid,
    .bmt-final-cta__box { grid-template-columns: 1fr; }
    .bmt-reserved__copy,
    .bmt-bidding__grid > div:first-child,
    .bmt-regular-faq__grid > div:first-child { position: static; }
    .bmt-holiday-upsell__actions,
    .bmt-final-cta__actions { justify-content: flex-start; }
}
@media (max-width: 620px) {
    .bmt-regular-page .bmt-section { padding-block: 62px; }
    .bmt-heading h2,
    .bmt-reserved h2,
    .bmt-bidding h2,
    .bmt-subscription h2,
    .bmt-regular-faq h2 { font-size: clamp(2.05rem,10vw,3.15rem); }
    .bmt-subscription-flow { grid-template-columns: 1fr; }
    .bmt-holiday-upsell__box,
    .bmt-final-cta__box { padding: 31px 24px; border-radius: 26px; }
    .bmt-holiday-upsell__actions,
    .bmt-final-cta__actions { display: grid; }
}