/* Homepage phone layout. Desktop styles remain in their existing section files. */
@media (max-width: 767px) {
  html:not([data-hero-layout="previous"]) body.mirror-home-page .header__logoText { font-size: 20px; font-weight: 800; }
  body.mirror-home-page .header__spCta { flex-shrink: 0; height: 44px; padding-inline: 12px; font-size: 14px; font-weight: 800; }
  body.mirror-home-page .spNav__text b { font-size: 18px; font-weight: 800; }
  body.mirror-home-page .spNav__text small { font-size: 13px; }
  body.mirror-home-page .spNav__primary { font-size: 17px; font-weight: 800; }
  body.mirror-home-page .spNav__secondary { font-size: 15px; font-weight: 800; }

  .mirror-home-page .codex-reasons { padding: 32px var(--phone-edge); }
  .mirror-home-page .codex-reasons__inner { max-width: 560px; }
  .mirror-home-page .codex-reasons__sidebar { display: none; }
  .mirror-home-page .codex-reasons__footer { flex-direction: column; align-items: stretch; gap: 14px; }
  .mirror-home-page .codex-reasons__promise { font-size: 16px; line-height: 1.7; }
  .mirror-home-page .codex-reasons__more-link { gap: 8px; padding-inline: 14px; }
  .mirror-home-page .codex-reasons__view--development { padding: 18px 16px 12px; }
  .mirror-home-page .codex-development__title { font-size: clamp(26px, 6.6vw, 32px); line-height: 1.5; }
  .mirror-home-page .codex-development__lead { margin-top: 12px; font-size: 16px; line-height: 1.8; }
  .mirror-home-page .codex-development__cases { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; padding-bottom: 16px; }
  .mirror-home-page .codex-development__cases button { gap: 6px; min-height: 52px; padding: 10px 4px; font-size: 16px; }
  .mirror-home-page .codex-development__cases button > span { white-space: nowrap; }
  .mirror-home-page .codex-development__cases svg { width: 20px; height: 20px; }
  .mirror-home-page .codex-development__case { gap: 20px; margin-top: 18px; }
  .mirror-home-page .codex-development__conversation > h3 { font-size: 26px; }
  .mirror-home-page .codex-development__illustration { width: 104px; height: 78px; }
  .mirror-home-page .codex-development__chat-label { font-size: 14px; }
  .mirror-home-page :is(.codex-development__problem, .codex-development__response) { max-width: 100%; padding: 12px; font-size: 16px; line-height: 1.75; }
  .mirror-home-page .codex-development__response { margin-left: 16px; }
  .mirror-home-page .codex-development__benefits { margin-left: 18px; gap: 6px; }
  .mirror-home-page .codex-development__benefits li { gap: 8px; font-size: 16px; }
  .mirror-home-page .codex-development__progress { gap: 7px; font-size: 13px; }
  .mirror-home-page .codex-development__screen-head { flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 12px; }
  .mirror-home-page .codex-development__screen-head h4 { font-size: 18px; }
  .mirror-home-page .codex-development__screen-tabs { min-width: 0; width: 100%; }
  .mirror-home-page .codex-development__screen-tabs button { min-height: 48px; font-size: 14px; }
  .mirror-home-page .codex-development__app-window > [role="tabpanel"] { min-height: 0; }
  .mirror-home-page .codex-development__app-layout { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .mirror-home-page .codex-development__app-sidebar { display: none; }
  .mirror-home-page .codex-development__app-content { padding: 12px; font-size: 14px; }
  .mirror-home-page .codex-development__app-title { font-size: 20px; }
  .mirror-home-page .codex-development__app-subtitle { font-size: 13px; }
  .mirror-home-page .codex-development__app-heading { flex-wrap: wrap; }
  .mirror-home-page .codex-development__attendance-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .mirror-home-page .codex-development__clock-card { padding: 16px; }
  .mirror-home-page .codex-development__clock-card > p { font-size: 13px; }
  .mirror-home-page .codex-development__clock-card > strong { margin-block: 8px; font-size: 52px; }
  .mirror-home-page .codex-development__mock-button { font-size: 13px; }
  .mirror-home-page .codex-development__notice { justify-items: stretch; }
  .mirror-home-page .codex-development__notice > .codex-development__mock-button { justify-self: end; }
  .mirror-home-page .codex-development__small-card { padding: 12px; }
  .mirror-home-page .codex-development__small-card h5 { font-size: 14px; }
  .mirror-home-page .codex-development__small-card--floating { margin-top: 0; }
  .mirror-home-page .codex-development__small-card--floating .codex-development__app-chrome { margin: -12px -12px 12px; }
  .mirror-home-page .codex-development__small-card > p { font-size: 13px; }
  .mirror-home-page .codex-development__notice .codex-development__small-card p { font-size: 12px; }
  .mirror-home-page .codex-development__table { font-size: 12px; }
  .mirror-home-page .codex-development__table--roomy { font-size: 13px; }
  .mirror-home-page .codex-development__table--roomy :is(th, td) { padding: 9px 4px; }
  .mirror-home-page .codex-development__badge { padding-inline: 4px; font-size: 10px; }
  .mirror-home-page #dev-attendance-admin .codex-development__table :is(th, td):last-child { width: 28%; }
  .mirror-home-page .codex-development__metrics { gap: 8px; }
  .mirror-home-page .codex-development__metrics > div { padding: 10px 8px; }
  .mirror-home-page .codex-development__metrics strong { font-size: 26px; }
  .mirror-home-page .codex-development__export { flex-direction: column; align-items: flex-start; font-size: 13px; }
  .mirror-home-page .codex-development__knowledge-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .mirror-home-page .codex-development__search { font-size: 12px; }
  .mirror-home-page .codex-development__answer-steps { gap: 10px; }
  .mirror-home-page .codex-development__answer-steps strong { font-size: 11px; }
  .mirror-home-page .codex-development__answer-steps p { font-size: 10px; }
  .mirror-home-page .codex-development__source { font-size: 12px !important; }
  .mirror-home-page .codex-development__references > h5 { font-size: 14px; }
  .mirror-home-page .codex-development__references > p { font-size: 12px; }
  .mirror-home-page .codex-development__references > p svg { width: 18px; height: 20px; }
  .mirror-home-page .codex-development__document-preview { padding: 14px; }
  .mirror-home-page .codex-development__document-preview small { font-size: 12px; }
  .mirror-home-page .codex-development__document-preview h5 { font-size: 16px; }
  .mirror-home-page .codex-development__document-preview mark { font-size: 11px; }
  .mirror-home-page .codex-development__company-header { padding: 10px 12px; }
  .mirror-home-page .codex-development__company-header strong { font-size: 10px; }
  .mirror-home-page .codex-development__company-header > span { display: none; }
  .mirror-home-page .codex-development__company-hero { min-height: 230px; }
  .mirror-home-page .codex-development__company-hero > div { max-width: 100%; padding: 28px 16px; }
  .mirror-home-page .codex-development__company-hero h5 { font-size: 28px; }
  .mirror-home-page .codex-development__company-hero p { font-size: 12px; }
  .mirror-home-page .codex-development__company-hero .codex-development__mock-actions { flex-wrap: wrap; }
  .mirror-home-page .codex-development__company-hero .codex-development__mock-button { padding-inline: 8px; font-size: 11px; }
  .mirror-home-page .codex-development__company-news { flex-wrap: wrap; gap: 8px; padding: 14px 12px; font-size: 11px; }
  .mirror-home-page .codex-development__company-news p { flex-basis: 100%; }
  .mirror-home-page .codex-development__recruit-editor { position: static; width: auto; margin: 0 12px 12px; }
  .mirror-home-page .codex-development__recruit-editor h5 { font-size: 14px; }
  .mirror-home-page .codex-development__recruit-editor small { font-size: 12px; }
  .mirror-home-page .codex-development__recruit-editor p { font-size: 13px; }
  .mirror-home-page .codex-development__editor-grid { grid-template-columns: minmax(0, 1fr); }
  .mirror-home-page .codex-development__customer-search { flex-direction: column; gap: 8px; }
  .mirror-home-page .codex-development__customer-search > .codex-development__mock-button { align-self: flex-end; }
  .mirror-home-page .codex-development__customer-table .codex-development__badge { min-width: 0; padding-inline: 6px; }
  .mirror-home-page .codex-development__customer-detail { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 12px; }
  .mirror-home-page .codex-development__customer-fields dt { width: auto; min-width: 4em; font-size: 13px; white-space: nowrap; }
  .mirror-home-page .codex-development__customer-fields dd { font-size: 14px; }
  .mirror-home-page .codex-development__timeline { border-top: 1px solid #d7e6ff; border-left: 0; padding: 14px 0 0; }
  .mirror-home-page .codex-development__timeline h5 { font-size: 14px; }
  .mirror-home-page .codex-development__timeline strong { font-size: 13px; }
  .mirror-home-page .codex-development__timeline small { font-size: 12px; }
  .mirror-home-page .codex-development__bottom { flex-wrap: wrap; justify-content: space-between; }
  .mirror-home-page .codex-development__bottom > p { font-size: 12px; }
  .mirror-home-page .codex-development__actions { flex-direction: column; align-items: stretch; gap: 8px; }
  .mirror-home-page .codex-development__actions .codex-reasons__more-link { order: 0; width: 100%; }
  .mirror-home-page .codex-development__actions .codex-reasons__pricing-link { order: 1; align-self: center; }
  .mirror-home-page .codex-strengths { padding: 40px var(--phone-edge); }
  .mirror-home-page .codex-strengths__inner { max-width: 560px; }
  .mirror-home-page .codex-strengths__heading { padding-bottom: 22px; text-align: left; }
  .mirror-home-page .codex-strengths__lead { margin-bottom: 10px; font-size: 15px; line-height: 1.7; }
  .mirror-home-page .codex-strengths__title { font-size: clamp(27px, 7vw, 32px); line-height: 1.5; }
  .mirror-home-page .codex-strengths__comparison { grid-template-columns: 1fr; gap: 16px; }
  .mirror-home-page .codex-strengths__brand { font-size: clamp(27px, 7.7vw, 32px); }
  .mirror-home-page .codex-strengths__bridge { grid-column: auto; grid-row: auto; }
  .mirror-home-page .codex-strengths__contract { display: flex; flex-direction: column; padding: 18px 20px 36px; border-radius: 8px; clip-path: polygon(0 0, 100% 0, 100% 86%, 50% 100%, 0 86%); }
  .mirror-home-page .codex-strengths__contract-intro { font-size: 17px; }
  .mirror-home-page .codex-strengths__contract h3 { margin-top: 8px; font-size: 18px; }
  .mirror-home-page .codex-strengths__contract-value { font-size: 68px; }
  .mirror-home-page .codex-strengths__contract-outro { margin-top: 6px; font-size: 16px; }
  .mirror-home-page .codex-strengths__attributes { gap: 10px; }
  .mirror-home-page .codex-strengths__attributes > div { min-height: 70px; }
  .mirror-home-page .codex-strengths__attributes dd { line-height: 1.7; }
  .mirror-home-page .codex-strengths__benefits { min-height: 215px; padding: 30px 10px; gap: 18px; }
  .mirror-home-page .codex-strengths__benefits li { justify-content: flex-start; font-size: 16px; }
  .mirror-home-page .codex-strengths__shared { margin-block: 16px; padding: 16px 12px; }
  .mirror-home-page .codex-strengths__shared p:first-child { font-size: 17px; }
  .mirror-home-page .codex-strengths__shared p + p { line-height: 1.8; }
  .mirror-home-page .codex-strengths__stats { grid-template-columns: 1fr; padding: 18px 16px; gap: 16px; }
  .mirror-home-page .codex-strengths__stat { align-items: center; gap: 12px; }
  .mirror-home-page .codex-strengths__stat + .codex-strengths__stat { padding: 16px 0 0; border: 0; border-top: 1px solid #d5e1f6; }
  .mirror-home-page .codex-strengths__stat strong { font-size: 40px; }
  .mirror-home-page .codex-strengths__strip > h3 { font-size: 20px; line-height: 1.6; }
  .mirror-home-page .codex-strengths__examples { grid-template-columns: 1fr; gap: 14px; }
  .mirror-home-page .codex-strengths__examples li { padding: 0; border: 0; gap: 16px; font-size: 16px; line-height: 1.7; }
  .mirror-home-page .codex-strengths__learning { grid-template-columns: 1fr; }
  .mirror-home-page .codex-strengths__learning li { justify-content: flex-start; flex-wrap: nowrap; gap: 14px; padding: 14px 0; }
  .mirror-home-page .codex-strengths__learning li span { flex-basis: auto; text-align: left; }
  .mirror-home-page .codex-strengths__learning li + li::after { top: -5px; left: 11px; transform: rotate(135deg); }
  .mirror-home-page .codex-strengths__closing { padding: 22px 16px; gap: 18px; }
  .mirror-home-page .codex-strengths__closing > p { font-size: 23px; line-height: 1.6; }
  .mirror-home-page .codex-strengths__cta { width: 100%; min-height: 54px; padding: 12px; gap: 8px; font-size: 16px; }

  .mirror-home-page {
    --phone-edge: clamp(16px, 4.5vw, 24px);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  .mirror-home-page :is(section[id], #faq, #company) { scroll-margin-top: 80px; }

  /* Keep the headline, touch targets and animated result in the first phone view. */
  .mirror-home-page .fv { padding: 70px var(--phone-edge) 28px; }
  .mirror-home-page :is(.fv-main, .fv-trust) { max-width: 560px; margin-inline: auto; }
  .mirror-home-page .fv-badge { font-size: 12px; line-height: 1.5; }
  .mirror-home-page .fv-title { margin-top: 10px; font-size: clamp(27px, 7.7vw, 36px); line-height: 1.25; }
  .mirror-home-page .fv-name { margin-top: 4px; font-size: 20px; line-height: 1.3; }
  .mirror-home-page .fv-lead { margin-top: 10px; font-size: 15px; line-height: 1.7; }
  .mirror-home-page .fv-lead__phrase { display: inline-block; }
  .mirror-home-page .fv-cta { order: 5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
  .mirror-home-page .fv-cta a {
    min-width: 0;
    width: 100% !important;
    min-height: 54px;
    height: auto;
    padding: 8px;
    gap: 6px;
    font-size: 14px;
    line-height: 1.35;
    white-space: normal;
  }
  .mirror-home-page .fv-cta svg { display: block; flex: none; width: 18px; height: 18px; }
  .mirror-home-page .fv-cta__primary > span { display: none; }
  .mirror-home-page .fv-cta__download-label > span { display: block; }
  .mirror-home-page .fv-mobile-ui { order: 6; margin-top: 16px; padding: 12px; }
  .mirror-home-page .fv-mobile-ui__prompt { min-height: 38px; margin-top: 8px; padding: 8px 10px; font-size: 13px; line-height: 1.5; }
  .mirror-home-page .fv-mobile-ui__stage { height: 148px; margin-top: 8px; }
  .mirror-home-page .fv-mobile-ui__work { display: grid; grid-template-rows: 28px minmax(0, 1fr); gap: 8px; }
  .mirror-home-page .fv-mobile-ui__code { min-height: 0; height: auto; margin: 0; padding: 6px 8px; line-height: 1.55; }
  .mirror-home-page .fv-mobile-ui__result { padding: 12px; }
  .mirror-home-page .fv-mobile-ui__progress { margin-top: 8px; }
  .mirror-home-page .fv .fv-points { order: 7; margin-top: 24px; padding-top: 20px; }
  .mirror-home-page .fv .fv-points li { padding-inline: 6px; }
  .mirror-home-page .fv .fv-points strong { font-size: 13px; line-height: 1.6; }
  .mirror-home-page .fv .fv-points__note { display: block; font-size: 11px; line-height: 1.6; color: #fff; }
  .mirror-home-page .fv-trust { gap: 20px; margin-top: 24px; padding-top: 24px; }
  .mirror-home-page .fv-trust__text { font-size: 14px; line-height: 1.8; }
  .mirror-home-page .fv-trust__text small { font-size: 12px; opacity: .9; }
  .mirror-home-page .fv-stats dt { font-size: 12px; line-height: 1.5; white-space: normal; }
  .mirror-home-page .fv-stats dd { margin-top: 6px; font-size: 28px; }
  .mirror-home-page .fv-logos { display: block; max-width: 100%; margin: 4px 0 0; padding-bottom: 8px; overflow-x: auto; opacity: 1; -webkit-mask-image: none; mask-image: none; scrollbar-width: thin; scrollbar-color: #ffffff66 transparent; }
  .mirror-home-page .fv-logos__track { width: max-content; animation: none; transform: none; }
  .mirror-home-page .fv-logos__group { flex: none; gap: 24px; padding: 0; }
  .mirror-home-page .fv-logos__group[aria-hidden="true"] { display: none; }
  .mirror-home-page .fv-logos__group li { font-size: 15px; opacity: .9; }

  /* A consistent reading width and section rhythm, without overlapping sheets. */
  .mirror-home-page .contents :is(.cx, .rm, .work-adv, .contactFlow, .faq, .company) {
    margin-top: 0;
    padding: 48px var(--phone-edge);
    border-radius: 0;
    box-shadow: none;
  }
  .mirror-home-page .contents .cx {
    padding: 24px clamp(18px, 6.5vw, 30px) 22px;
  }
  .mirror-home-page :is(.cx__inner, .rm__inner, .work-adv__inner, .contactFlow__inner, .faq__inner, .company__inner) {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
  }
  .mirror-home-page :is(.cx-title, .rm-title, .contents .heading__text) { font-size: clamp(26px, 6.9vw, 32px); line-height: 1.5; }
  .mirror-home-page :is(.cx-lead, .rm-lead) { font-size: 16px; line-height: 1.8; }
  .mirror-home-page :is(.cx-eyebrow, .rm-eyebrow) { font-size: 15px; }
  .mirror-home-page .rm-eyebrow small { font-size: 12px; }
  .mirror-home-page :is(.cx-detailsLink, .rm-pill) { min-height: 44px; font-size: 15px; line-height: 1.6; }
  .mirror-home-page .cx-title { font-size: clamp(22px, 6.2vw, 27px); line-height: 1.32; }
  .mirror-home-page .cx-lead { font-size: 15px; line-height: 1.55; }
  .mirror-home-page .cx-detailsLink { min-height: 34px; }

  /* The responsive concerns layout is styled in issues-section.css. */


  /* Full-width day cards keep the desktop content readable, including Days 3–4. */
  .mirror-home-page .rm-title .nb { display: inline-block; }
  .mirror-home-page .rm-head__side { width: 100%; padding-top: 16px; }
  .mirror-home-page .rm-lead { display: block; }
  .mirror-home-page .rm-lead br { display: none; }
  .mirror-home-page .rm-pill { padding: 10px 18px; }
  .mirror-home-page .rm-tabs { margin-top: 24px; }
  .mirror-home-page .rm-tabs label { min-height: 64px; justify-content: center; padding: 10px 8px; font-size: 16px; }
  .mirror-home-page .rm-tabs__days { font-size: 14px; }
  .mirror-home-page .rm-mb { display: grid; gap: 16px; margin-top: 20px; }
  .mirror-home-page .rm-mb::before { display: none; }
  .mirror-home-page .rm-mb__day {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 20px;
    border: 1px solid #dce2f6;
    border-radius: 16px;
    background: #fff;
  }
  .mirror-home-page .rm-mb__num { display: flex; justify-content: flex-start; gap: 8px; width: auto; height: auto; background: none; border-radius: 0; box-shadow: none; color: #3b5bf6; font-size: 24px; }
  .mirror-home-page .rm-mb__num small { font-size: 12px; }
  .mirror-home-page .rm-mb__body { min-width: 0; padding: 0; border: 0; background: none; }
  .mirror-home-page .rm-mb__top { align-items: flex-start; }
  .mirror-home-page .rm-mb__top h3 { font-size: 21px; line-height: 1.5; }
  .mirror-home-page .rm-mb__top .rm-card__icon { width: 48px; height: 48px; }
  .mirror-home-page .rm-mb__desc { display: block; margin-top: 10px; font-size: 16px; line-height: 1.8; }
  .mirror-home-page .rm-mb__chips { display: grid; gap: 8px; margin-top: 16px; }
  .mirror-home-page .rm-mb__chips li { position: relative; padding: 0 0 0 24px; border-radius: 0; background: none; color: #3a4468; font-size: 15px; font-weight: 500; line-height: 1.7; }
  .mirror-home-page .rm-mb__chips li::before { position: absolute; left: 0; color: #3b5bf6; content: "✓"; font-weight: 700; }
  .mirror-home-page #rm-course-basic:checked ~ .rm-mb .rm-mb__day--std { opacity: 1; }
  .mirror-home-page .rm-mb__std { margin-top: 14px; padding: 8px 10px; border-radius: 8px; background: #fff4e9; color: #97531f; font-size: 13px; line-height: 1.6; }
  .mirror-home-page .rm-band { margin-top: 24px; padding: 22px 20px; }
  .mirror-home-page .rm-band__facts dt { font-size: 13px; line-height: 1.6; }
  .mirror-home-page .rm-band__facts dd { margin-top: 4px; font-size: 16px; line-height: 1.7; }
  .mirror-home-page .rm-band__btn { min-height: 54px; height: auto; padding: 12px; font-size: 16px; white-space: normal; }

  .mirror-home-page .work-adv__eyebrow { font-size: 12px; }
  .mirror-home-page .work-adv__title { font-size: clamp(21px, 5.8vw, 26px); line-height: 1.4; }
  .mirror-home-page .work-adv__lead { font-size: 16px; line-height: 1.7; }

  .mirror-home-page .contents .contactFlow__note { font-size: 16px; line-height: 1.8; text-align: left; }
  .mirror-home-page .contents .contactFlow__steps::before { left: 19px; }
  .mirror-home-page .contents .contactFlow .step { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding-bottom: 28px; }
  .mirror-home-page .contents .contactFlow .step__imageWrapper { grid-row: auto; }
  .mirror-home-page .contents .contactFlow .step__numberWrapper { width: 40px; height: 40px; }
  .mirror-home-page .contents .contactFlow .step__number { font-size: 20px; }
  .mirror-home-page .contents .contactFlow .step__title { margin-top: 2px; font-size: 24px; line-height: 1.5; }
  .mirror-home-page .contents .contactFlow .step__detailWrapper { margin: 10px 0 0; }
  .mirror-home-page .contents .contactFlow .step__detail { font-size: 18px; line-height: 1.7; }
  .mirror-home-page .contents .contactFlow .step__point { margin-top: 14px; padding: 12px 14px; }
  .mirror-home-page .contents .contactFlow .step__pointTitle { font-size: 16px; line-height: 1.6; }

  /* Remove the legacy double padding so larger questions fit without tall empty cards. */
  .mirror-home-page .contents .faq__list { gap: 12px; }
  .mirror-home-page .contents .faq__item { margin: 0; padding: 0; }
  .mirror-home-page .contents .faq__itemRow--question { gap: 10px; min-height: 84px; padding: 20px 48px 20px 16px; font-size: 16px; line-height: 1.7; }
  .mirror-home-page .contents .faq__itemRow--question::before,
  .mirror-home-page .contents .faq__itemRow--question::after { right: 16px; }
  .mirror-home-page .contents .faq__itemRow--answer { gap: 10px; padding: 0 16px 22px; font-size: 16px; line-height: 1.8; }
  .mirror-home-page .contents .faq__itemText { min-width: 0; overflow-wrap: anywhere; }
  .mirror-home-page .contents .faq__faqMark { width: 24px; height: 24px; }
  .mirror-home-page .contents .faq__itemText a { font-size: inherit; line-height: inherit; }

  .mirror-home-page .contents .company__list { padding: 20px; }
  .mirror-home-page .contents .company__listItem { gap: 6px; padding-block: 18px; }
  .mirror-home-page .contents .company__listItem dt { font-size: 14px; }
  .mirror-home-page .contents .company__listItem dd,
  .mirror-home-page .contents .company__listItem dd ul li { font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; }
  .mirror-home-page .contents .contactLink { padding: 0 var(--phone-edge) 48px; }
  .mirror-home-page .contents .contactLink .induction { max-width: 560px; min-height: 56px; margin-inline: auto; padding: 18px; }
  .mirror-home-page .footer { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
  .mirror-home-page .footer__inner { padding: 28px var(--phone-edge); }
  .mirror-home-page .footer__link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; line-height: 1.6; }

  /* Labels, inputs and the close target stay legible in the consultation sheet. */
  .mirror-home-page .cm { max-height: 92dvh; }
  .mirror-home-page .cm__panel { max-height: 92dvh; }
  .mirror-home-page .cm__close { width: 44px; height: 44px; }
  .mirror-home-page .cm .fv-form { padding: 62px 20px max(24px, env(safe-area-inset-bottom)); }
  .mirror-home-page .cm .fv-form__title { font-size: 24px; line-height: 1.5; text-wrap: balance; }
  .mirror-home-page .cm .fv-field { margin-bottom: 16px; background: transparent; }
  .mirror-home-page .cm .fv-field__label { padding-bottom: 8px; font-size: 15px; line-height: 1.5; }
  .mirror-home-page .cm .fv-field input { height: 50px; padding: 10px 12px; font-size: 16px; }
  .mirror-home-page .cm .fv-form__privacy { font-size: 13px; line-height: 1.8; }
  .mirror-home-page .cm .fv-form__download { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; }
}

/* On short screens the header already carries the course name. */
@media (max-width: 767px) and (max-height: 650px) {
  .mirror-home-page .fv { padding-top: 64px; }
  .mirror-home-page .fv-title { margin-top: 6px; }
  .mirror-home-page .fv-name { display: none; }
  .mirror-home-page .fv-lead { margin-top: 6px; line-height: 1.6; }
  .mirror-home-page .fv-cta { margin-top: 10px; }
  .mirror-home-page .fv-mobile-ui { margin-top: 12px; padding: 10px; }
  .mirror-home-page .fv-mobile-ui__prompt { min-height: 36px; padding-block: 6px; }
  .mirror-home-page .fv-mobile-ui__stage { height: 132px; }
  .mirror-home-page .fv-mobile-ui__code { line-height: 1.45; }
  .mirror-home-page .fv-mobile-ui__result { padding: 10px; }
  .mirror-home-page .fv-mobile-ui__result dl { margin-top: 8px; }
}

@media (max-width: 359px) {
  .mirror-home-page .fv-title { font-size: 27px; }
  .mirror-home-page .fv .fv-points strong { font-size: 12px; }
  .mirror-home-page .rm-mb__day { padding: 18px 16px; }
}
