/* Bloom CSS Logistics: brilliant-holiday-planner */
/*
 * Brilliant Maths Tutors — Holiday Maths Planner v1.0 — DEFERRED BODY
 * CSS Logistics path: below-fold/pages/custom/brilliant-holiday-planner.css
 * Assignment: Holiday Maths page only | Strategy: deferred | Priority: 70
 */

.bmt-holiday-page .bmt-section { padding-block: clamp(78px, 9vw, 126px); }
.bmt-heading { max-width: 820px; margin-bottom: 48px; }
.bmt-heading--center { margin-inline: auto; text-align: center; }
.bmt-heading h2,
.bmt-memory h2,
.bmt-opportunity h2,
.bmt-year h2,
.bmt-bidding h2,
.bmt-holiday-faq h2 {
    margin-bottom: 18px;
    color: var(--bmt-navy);
    font-size: clamp(2.45rem, 5vw, 4.6rem);
    letter-spacing: -.055em;
}
.bmt-heading > p:not(.bmt-kicker),
.bmt-memory__copy > p,
.bmt-opportunity__grid > div:first-child > p:not(.bmt-kicker),
.bmt-holiday-faq__grid > div:first-child > p:not(.bmt-kicker) { color: var(--bmt-muted); }

/* Planner — later steps */
.bmt-choice-card--compact { min-height: 126px; }
.bmt-choice-card--compact strong { margin-top: auto; }
.bmt-choice-card--lane { min-height: 185px; }
.bmt-lane-tag {
    align-self: flex-start;
    margin-bottom: 28px;
    padding: 6px 9px;
    border-radius: 999px;
    background: #e6f5f9;
    color: #087b98;
    font-size: .64rem;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.bmt-choice-card--lane:has(input:checked) .bmt-lane-tag { background: var(--bmt-yellow); color: var(--bmt-navy-2); }

.bmt-plan-subquestion {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--bmt-line);
}
.bmt-plan-subquestion__title {
    margin-bottom: 5px;
    color: var(--bmt-navy);
    font-size: .9rem;
    font-weight: 900;
}
.bmt-plan-subquestion__hint { margin-bottom: 11px; color: var(--bmt-muted); font-size: .76rem; }
.bmt-plan-subquestion select,
.bmt-window-select select,
.bmt-field-grid select,
.bmt-field-grid input,
.bmt-custom-dates input,
.bmt-notes-field textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 12px;
    border: 1px solid #bdd4dd;
    border-radius: 11px;
    background: #fff;
    color: var(--bmt-ink);
}
.bmt-notes-field textarea { min-height: 100px; resize: vertical; }

.bmt-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.bmt-check-grid label {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--bmt-line);
    border-radius: 11px;
    background: #fbfdfe;
    cursor: pointer;
}
.bmt-check-grid input { width: 18px; height: 18px; accent-color: var(--bmt-blue); }
.bmt-check-grid span { color: var(--bmt-navy); font-size: .79rem; font-weight: 800; }
.bmt-check-grid label:has(input:checked) { border-color: #73b8c9; background: #eaf8fb; }

.bmt-field-grid { display: grid; gap: 12px; }
.bmt-field-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bmt-field-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bmt-field-grid label > span,
.bmt-window-select > span,
.bmt-custom-dates label > span,
.bmt-notes-field > span {
    display: block;
    margin-bottom: 6px;
    color: var(--bmt-navy);
    font-size: .72rem;
    font-weight: 900;
}
.bmt-plan-note {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    margin-top: 17px;
    padding: 13px 14px;
    border-left: 4px solid var(--bmt-yellow);
    border-radius: 9px;
    background: #fff8df;
}
.bmt-plan-note strong { color: var(--bmt-navy); font-size: .79rem; }
.bmt-plan-note span { color: #645d48; font-size: .76rem; line-height: 1.45; }

.bmt-window-select { display: block; }
.bmt-custom-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.bmt-custom-dates[hidden] { display: none; }
.bmt-window-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin-top: 16px;
}
.bmt-window-facts article {
    padding: 12px;
    border: 1px solid var(--bmt-line);
    border-radius: 12px;
    background: #f8fcfd;
}
.bmt-window-facts span { display: block; color: var(--bmt-muted); font-size: .64rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.bmt-window-facts strong { display: block; margin-top: 5px; color: var(--bmt-navy); font-size: 1.02rem; }
.bmt-window-facts__primary { border-color: #e2bc45 !important; background: #fff5ce !important; }
.bmt-window-facts__primary strong { color: #6b4f00; }

.bmt-commitment-check {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid var(--bmt-line);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
}
.bmt-commitment-check input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--bmt-green); }
.bmt-commitment-check strong { display: block; color: var(--bmt-navy); font-size: .83rem; }
.bmt-commitment-check small { display: block; margin-top: 4px; color: var(--bmt-muted); font-size: .72rem; line-height: 1.4; }
.bmt-commitment-check:has(input:checked) { border-color: #82c6aa; background: #edf9f3; }

.bmt-notes-field { display: block; margin-top: 13px; }

/* Planner result */
.bmt-plan-result { padding-bottom: 3px; }
.bmt-result-banner {
    padding: 18px 20px;
    border-radius: 16px;
    background: linear-gradient(120deg, var(--bmt-navy), #08627d);
    color: #fff;
}
.bmt-result-banner p { margin-bottom: 3px; color: var(--bmt-yellow); font-size: .67rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.bmt-result-banner h3 { margin-bottom: 6px; color: #fff; font-size: 1.45rem; }
.bmt-result-banner span { display: block; color: #c8e6ee; font-size: .79rem; }

.bmt-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 0; }
.bmt-result-grid > div { min-width: 0; padding: 10px 11px; border: 1px solid var(--bmt-line); border-radius: 11px; background: #fbfdfe; }
.bmt-result-grid dt { margin-bottom: 3px; color: var(--bmt-muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.bmt-result-grid dd { margin: 0; color: var(--bmt-navy); font-size: .78rem; font-weight: 850; line-height: 1.34; overflow-wrap: anywhere; }

.bmt-rate-box {
    margin-top: 12px;
    padding: 16px;
    border: 1px solid #e7c04d;
    border-radius: 15px;
    background: #fff7d9;
}
.bmt-rate-box__eyebrow { margin-bottom: 3px; color: #6d5700; font-size: .64rem; font-weight: 950; text-transform: uppercase; letter-spacing: .07em; }
.bmt-rate-box > div:first-child > strong { display: block; color: var(--bmt-navy-2); font-size: 1.45rem; letter-spacing: -.025em; }
.bmt-rate-box > div:first-child > span { display: block; margin-top: 4px; color: #675d3e; font-size: .72rem; }
.bmt-rate-box__flow { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; margin-top: 12px; }
.bmt-rate-box__flow span { padding: 6px 8px; border-radius: 999px; background: #fff; color: var(--bmt-navy); font-size: .65rem; font-weight: 850; }
.bmt-rate-box__flow i { color: var(--bmt-orange); font-style: normal; font-weight: 950; }

.bmt-result-explain { margin-top: 12px; padding: 12px 13px; border-radius: 11px; background: #eef7fa; }
.bmt-result-explain strong { display: block; margin-bottom: 3px; color: var(--bmt-navy); font-size: .78rem; }
.bmt-result-explain p { margin: 0; color: var(--bmt-muted); font-size: .72rem; line-height: 1.45; }
.bmt-result-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.bmt-result-submit { border: 0; cursor: pointer; }
.bmt-result-copy,
.bmt-result-restart {
    min-height: 44px;
    padding: 10px 14px;
    border: 1px solid var(--bmt-line);
    border-radius: 999px;
    background: #fff;
    color: var(--bmt-navy);
    cursor: pointer;
    font-size: .76rem;
    font-weight: 900;
}
.bmt-result-copy:hover,
.bmt-result-restart:hover { background: #edf6f9; }

/* Intro strip */
.bmt-holiday-strip { border-bottom: 1px solid var(--bmt-line); background: #fff; }
.bmt-holiday-strip__grid { min-height: 116px; display: grid; grid-template-columns: .78fr 1.55fr .55fr; gap: 35px; align-items: center; }
.bmt-holiday-strip p { margin-bottom: 0; }
.bmt-holiday-strip .bmt-script { color: var(--bmt-blue); }
.bmt-holiday-strip__grid > p:nth-child(2) { color: var(--bmt-muted); font-size: .93rem; }
.bmt-holiday-strip a { justify-self: end; color: var(--bmt-navy); font-size: .83rem; font-weight: 900; text-decoration: none; }
.bmt-holiday-strip a span { color: var(--bmt-orange); }

/* Memory */
.bmt-memory { background: var(--bmt-mist); border-bottom: 1px solid var(--bmt-line); }
.bmt-memory__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(48px, 8vw, 104px); align-items: start; }
.bmt-memory__copy { position: sticky; top: 124px; }
.bmt-memory__copy > p { margin-bottom: 16px; }
.bmt-memory-map { position: relative; display: grid; gap: 12px; }
.bmt-memory-map::before { content: ""; position: absolute; left: 25px; top: 27px; bottom: 27px; width: 2px; background: #a9d2dd; }
.bmt-memory-map article { position: relative; z-index: 1; display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding: 19px 20px; border: 1px solid var(--bmt-line); border-radius: 17px; background: #fff; box-shadow: var(--bmt-shadow-soft); }
.bmt-memory-map article > span { grid-row: 1 / span 2; width: 50px; height: 50px; display: grid; place-items: center; border: 6px solid var(--bmt-mist); border-radius: 50%; background: var(--bmt-yellow); color: var(--bmt-navy-2); font-size: .69rem; font-weight: 950; }
.bmt-memory-map strong { color: var(--bmt-navy); font-size: 1.04rem; }
.bmt-memory-map p { margin: -2px 0 0; color: var(--bmt-muted); font-size: .84rem; }

/* Three lanes */
.bmt-three-lanes { position: relative; overflow: hidden; background: linear-gradient(124deg, var(--bmt-navy), #075d78); color: #c7e4ed; }
.bmt-three-lanes::after { content: "x²"; position: absolute; right: -30px; bottom: -100px; color: rgba(255,255,255,.045); font-size: 19rem; font-weight: 900; line-height: 1; }
.bmt-three-lanes .bmt-heading { position: relative; z-index: 2; }
.bmt-three-lanes .bmt-heading h2 { color: #fff; }
.bmt-three-lanes .bmt-heading > p:not(.bmt-kicker) { color: #c6e4ed; }
.bmt-lane-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bmt-lane-grid article { min-height: 360px; padding: 29px; border: 1px solid rgba(255,255,255,.14); border-radius: 22px; background: rgba(255,255,255,.06); }
.bmt-lane-grid article > span { display: inline-block; margin-bottom: 56px; padding: 7px 10px; border-radius: 999px; background: var(--bmt-yellow); color: var(--bmt-navy-2); font-size: .65rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bmt-lane-grid h3 { margin-bottom: 14px; color: #fff; font-size: 1.55rem; }
.bmt-lane-grid p { margin: 0; color: #c7e4ed; font-size: .91rem; }
.bmt-lane-grid article:nth-child(2) { background: rgba(142,202,230,.12); }
.bmt-lane-grid article:nth-child(3) { background: rgba(255,183,3,.1); }

/* Opportunity */
.bmt-opportunity { background: #fff; }
.bmt-opportunity__grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(52px, 8vw, 108px); align-items: center; }
.bmt-opportunity blockquote {
    margin: 28px 0 0;
    padding: 18px 20px;
    border-left: 5px solid var(--bmt-yellow);
    border-radius: 8px;
    background: #fff7d9;
    color: var(--bmt-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    font-weight: 700;
    line-height: 1.35;
}
.bmt-opportunity-path { display: grid; gap: 7px; }
.bmt-opportunity-path > div { padding: 18px 20px; border: 1px solid var(--bmt-line); border-radius: 16px; background: #f9fcfd; }
.bmt-opportunity-path > div:nth-of-type(2) { background: #eaf8fb; }
.bmt-opportunity-path > div:nth-of-type(3) { background: #fff5ce; }
.bmt-opportunity-path > div:nth-of-type(4) { background: var(--bmt-navy); border-color: var(--bmt-navy); }
.bmt-opportunity-path span { display: block; margin-bottom: 3px; color: #087b98; font-size: .64rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.bmt-opportunity-path strong { display: block; color: var(--bmt-navy); font-size: 1.02rem; }
.bmt-opportunity-path p { margin: 4px 0 0; color: var(--bmt-muted); font-size: .81rem; }
.bmt-opportunity-path > div:nth-of-type(4) span { color: var(--bmt-yellow); }
.bmt-opportunity-path > div:nth-of-type(4) strong { color: #fff; }
.bmt-opportunity-path > div:nth-of-type(4) p { color: #c7e4ed; }
.bmt-opportunity-path > i { justify-self: center; color: var(--bmt-orange); font-style: normal; font-weight: 950; }

/* Calendar */
.bmt-calendar { background: var(--bmt-mist); border-block: 1px solid var(--bmt-line); }
.bmt-calendar-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.bmt-calendar-card { min-height: 360px; display: flex; flex-direction: column; padding: 23px; border: 1px solid var(--bmt-line); border-radius: 21px; background: #fff; }
.bmt-calendar-card:nth-child(2) { background: #eaf8fb; }
.bmt-calendar-card:nth-child(3) { background: #fff5ce; }
.bmt-calendar-card:nth-child(4) { background: var(--bmt-navy); border-color: var(--bmt-navy); color: #fff; }
.bmt-calendar-card__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 30px; }
.bmt-calendar-card__top span { padding: 6px 9px; border-radius: 999px; background: #e9f5f8; color: #087b98; font-size: .63rem; font-weight: 950; text-transform: uppercase; letter-spacing: .08em; }
.bmt-calendar-card__top strong { color: var(--bmt-yellow); font-size: 2.8rem; line-height: 1; }
.bmt-calendar-card h3 { margin-bottom: 7px; color: var(--bmt-navy); font-size: 1.35rem; }
.bmt-calendar-card > p { margin-bottom: 16px; color: var(--bmt-muted); font-size: .82rem; }
.bmt-calendar-card dl { margin: 0 0 18px; }
.bmt-calendar-card dl > div { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; border-top: 1px solid rgba(82,100,112,.16); }
.bmt-calendar-card dt { color: var(--bmt-muted); font-size: .71rem; }
.bmt-calendar-card dd { margin: 0; color: var(--bmt-navy); font-size: .74rem; font-weight: 900; }
.bmt-calendar-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: .72rem;
    font-weight: 950;
}
.bmt-calendar-card__past { margin-top: auto; color: #8b9aa2; font-size: .72rem; font-weight: 850; }
.bmt-calendar-card:nth-child(4) .bmt-calendar-card__top span { background: rgba(255,255,255,.1); color: var(--bmt-yellow); }
.bmt-calendar-card:nth-child(4) h3 { color: #fff; }
.bmt-calendar-card:nth-child(4) > p,
.bmt-calendar-card:nth-child(4) dt { color: #bcdde7; }
.bmt-calendar-card:nth-child(4) dd { color: #fff; }
.bmt-calendar-card:nth-child(4) dl > div { border-color: rgba(255,255,255,.12); }

/* Full-year continuity */
.bmt-year { position: relative; overflow: hidden; background: var(--bmt-navy); color: #c7e4ed; }
.bmt-year::after { content: "365"; position: absolute; right: -10px; bottom: -90px; color: rgba(255,255,255,.045); font-size: 18rem; font-weight: 950; line-height: 1; }
.bmt-year__grid { position: relative; z-index: 2; display: grid; grid-template-columns: .76fr 1.24fr; gap: clamp(48px, 7vw, 94px); align-items: start; }
.bmt-year__copy { position: sticky; top: 124px; }
.bmt-year h2 { color: #fff; }
.bmt-year__copy > p:not(.bmt-kicker) { color: #bcdde7; }
.bmt-year__small { font-size: .78rem; }
.bmt-year-plans { display: grid; gap: 12px; }
.bmt-year-plans article { padding: 22px; border: 1px solid rgba(255,255,255,.14); border-radius: 18px; background: rgba(255,255,255,.06); }
.bmt-year-plans article:nth-child(2) { background: rgba(142,202,230,.12); }
.bmt-year-plans article:nth-child(3) { background: rgba(255,183,3,.1); }
.bmt-year-plans__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 11px; }
.bmt-year-plans__head span { color: var(--bmt-yellow); font-size: .65rem; font-weight: 950; text-transform: uppercase; letter-spacing: .07em; }
.bmt-year-plans__head strong { color: #fff; font-size: .76rem; }
.bmt-year-plans h3 { margin-bottom: 7px; color: #fff; font-size: 1.35rem; }
.bmt-year-plans > article > p { margin-bottom: 12px; color: #c7e4ed; font-size: .81rem; }
.bmt-year-plans dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0; }
.bmt-year-plans dl > div { padding: 10px; border-radius: 10px; background: rgba(255,255,255,.07); }
.bmt-year-plans dt { color: #a9d5e0; font-size: .62rem; }
.bmt-year-plans dd { margin: 3px 0 0; color: #fff; font-size: .78rem; font-weight: 900; }

/* Tutor bidding */
.bmt-bidding { background: #fff; }
.bmt-bidding__grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(48px, 8vw, 104px); align-items: start; }
.bmt-bidding__grid > div:first-child { position: sticky; top: 124px; }
.bmt-bidding__grid > div:first-child > p:not(.bmt-kicker) { color: var(--bmt-muted); }
.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 var(--bmt-line); border-radius: 16px; background: #fbfdfe; }
.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: var(--bmt-navy); }
.bmt-bid-flow p { margin: 0; color: var(--bmt-muted); font-size: .84rem; }

/* FAQ */
.bmt-holiday-faq { background: #f8fcfd; border-top: 1px solid var(--bmt-line); }
.bmt-holiday-faq__grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(44px, 7vw, 88px); align-items: start; }
.bmt-holiday-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); }

/* Final CTA */
.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-calendar-grid { grid-template-columns: 1fr 1fr; }
    .bmt-lane-grid { grid-template-columns: 1fr; }
    .bmt-lane-grid article { min-height: 0; }
    .bmt-lane-grid article > span { margin-bottom: 30px; }
}

@media (max-width: 900px) {
    .bmt-holiday-strip__grid { grid-template-columns: 1fr; gap: 8px; padding-block: 28px; }
    .bmt-holiday-strip a { justify-self: start; }
    .bmt-memory__grid,
    .bmt-opportunity__grid,
    .bmt-year__grid,
    .bmt-bidding__grid,
    .bmt-holiday-faq__grid,
    .bmt-final-cta__box { grid-template-columns: 1fr; }
    .bmt-memory__copy,
    .bmt-year__copy,
    .bmt-bidding__grid > div:first-child,
    .bmt-holiday-faq__grid > div:first-child { position: static; }
    .bmt-final-cta__actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
    .bmt-field-grid--three,
    .bmt-field-grid--two,
    .bmt-result-grid { grid-template-columns: 1fr 1fr; }
    .bmt-check-grid { grid-template-columns: 1fr; }
    .bmt-window-facts { grid-template-columns: 1fr; }
    .bmt-calendar-grid { grid-template-columns: 1fr; }
    .bmt-calendar-card { min-height: 0; }
}

@media (max-width: 620px) {
    .bmt-holiday-page .bmt-section { padding-block: 62px; }
    .bmt-heading h2,
    .bmt-memory h2,
    .bmt-opportunity h2,
    .bmt-year h2,
    .bmt-bidding h2,
    .bmt-holiday-faq h2 { font-size: clamp(2.05rem, 10vw, 3.15rem); }
    .bmt-field-grid--three,
    .bmt-field-grid--two,
    .bmt-result-grid,
    .bmt-custom-dates,
    .bmt-year-plans dl { grid-template-columns: 1fr; }
    .bmt-plan-note { grid-template-columns: 1fr; }
    .bmt-memory-map article { grid-template-columns: 46px 1fr; padding: 16px; }
    .bmt-memory-map article > span { width: 44px; height: 44px; border-width: 5px; }
    .bmt-opportunity blockquote { font-size: 1.22rem; }
    .bmt-year-plans__head { align-items: flex-start; flex-direction: column; gap: 4px; }
    .bmt-final-cta__box { padding: 31px 24px; border-radius: 26px; }
    .bmt-final-cta__actions { display: grid; }
    .bmt-result-actions { display: grid; }
}