/* Mobile journey only. Desktop rules and data remain owned by existing files. */
@media (max-width: 767px) {
  html { scroll-padding-top: 76px; }
  html body { -webkit-text-size-adjust: 100%; }
  html body :is(input:not([type=checkbox]):not([type=radio]), select, textarea) { font-size: 16px !important; }
  html body :is(input:not([type=checkbox]):not([type=radio]),select) { min-height: 44px; }
  html body :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--c-teal, #008f83); outline-offset: 3px; }
  html body :is(.flow-btn,.maturity-option,.diagnosis-option__surface,.ai-footer__group-toggle) { min-height: 44px; }
  html body :is(.site-header,.fv-search-comparison__header) { height: 60px !important; min-height: 60px !important; }
  html body .site-header__inner { grid-template-columns: minmax(0,1fr) auto 44px !important; gap: 8px !important; }
  html body .site-header__brand img { width: 126px !important; max-width: 100% !important; }
  html body .site-header__utils { gap: 0; min-width: 0; }
  html body .site-header__utils .site-header__util { display: none; }
  html body .site-header__cta { min-height: 44px; padding-inline: 10px; font-size: 12px !important; }
  html body :is(.site-header__menu-toggle,.fv-search-comparison__menu-toggle) { width:44px !important; height:44px !important; }
  html body .site-header__nav { top:60px; max-height:calc(100dvh - 60px); overflow-y:auto; overscroll-behavior:contain; }
  html body .site-header__nav a { min-height:44px; box-sizing:border-box; }
  html body .fv-hero { padding-block: 24px 20px !important; min-height:0 !important; }
  html body .fv-hero__inner { display:block !important; min-height:0 !important; }
  html body .fv-hero__copy { padding:0 !important; }
  html body .fv-hero__title { font-size:clamp(25px,6.8vw,30px) !important; line-height:1.45 !important; letter-spacing:-.025em !important; margin-block:8px 12px !important; }
  html body .fv-hero__lead { font-size:15px !important; line-height:1.7 !important; margin-bottom:18px !important; }
  html body .fv-hero__scene { display:none !important; }
  html body .fv-hero__panel { margin-top:0 !important; padding:0 !important; gap:0 !important; }
  html body .fv-hero__search { padding:16px !important; }
  html body .fv-hero__search-head { margin-bottom:10px !important; }
  html body .fv-hero__search-note { display:none !important; }
  html body .fv-hero__search-submit { min-height:48px !important; margin-top:12px !important; font-size:16px !important; }
  html body .fv-hero__fields { grid-template-columns:minmax(0,1fr) !important; gap:12px !important; margin-block:12px !important; }
  html body .fv-hero__select select { height:46px !important; }
  html body .fv-hero__diagnosis { padding:12px 16px !important; border-top:1px solid var(--c-border,#dce5ec); }
  html body :is(.fv-hero__diagnosis-lead,.fv-hero__diagnosis-note) { display:none !important; }
  html body .fv-hero__diagnosis-cta { min-height:44px !important; height:auto !important; background:white !important; color:var(--c-ink,#082b4d) !important; box-shadow:none !important; border:1px solid var(--c-border,#dce5ec) !important; font-size:15px !important; }
  html body .fv-hero__diagnosis-icon { display:none !important; }
  .mobile-ux-details { margin:0; min-width:0; }
  .mobile-ux-details > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:8px 0; list-style:none; font-size:15px; font-weight:700; cursor:pointer; color:var(--c-ink,#082b4d); }
  .mobile-ux-details > summary::-webkit-details-marker { display:none; }
  .mobile-ux-details > summary::after { content:'＋'; flex:none; }
  .mobile-ux-details[open] > summary::after { content:'−'; }
  .mobile-ux-toggle,.mobile-ux-ai { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin:12px 0 0; padding:10px 14px; border:1px solid var(--c-teal,#008f83); border-radius:8px; background:#fff; color:var(--c-ink,#082b4d); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
  .mobile-ux-hidden { display:none !important; }
  body.mobile-ux-keyboard .flow-mobile-actions { display:none !important; }
  html body :is(.training-category-section,.area-search,.top-reviews,.selection-flow,.why-training-section,.tb-cases) { padding-block:32px !important; }
  html body .training-category-section__menu { display:flex !important; flex-wrap:wrap !important; overflow:visible !important; gap:8px !important; }
  html body .training-category-section__menu-item { min-height:44px !important; font-size:13px !important; padding:8px 12px !important; }
  html body .training-category-section__results { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  html body .training-category-section__card { min-width:0 !important; padding:12px !important; }
  html body .training-category-card__title { min-height:44px; font-size:15px !important; }
  html body .training-category-card__description { font-size:13px !important; line-height:1.6 !important; }
  html body .training-category-card__logos { flex-wrap:wrap; }
  html body .area-search__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  html body .area-search__thumb { height:76px !important; }
  html body .area-search__name { font-size:15px !important; }
  html body .area-search__body { min-height:44px; }
  html body .selection-flow__device-figure { display:none !important; }
  html body .selection-flow__points { font-size:14px !important; line-height:1.65 !important; }
  html body .case-study-illustration { display:none !important; }
  html body .ai-training-subsidy__visual { margin-top:12px; }
  html body .ai-training-subsidy__consult { margin-top:20px !important; }
  html body .ai-training-subsidy__consult-title { font-size:17px !important; line-height:1.65 !important; }
  html body .ai-training-subsidy__consult-text { font-size:14px !important; }
  html body .ai-training-subsidy__more { min-height:44px; font-size:14px !important; white-space:normal; }
  /* Search: selected conditions remain individually operable. */
  html body[data-flow-page=results] .flow-chip--value:nth-child(n) { display:inline-flex !important; max-width:100%; font-size:13px !important; white-space:normal; }
  html body[data-flow-page=results] .flow-chip--overflow { display:none !important; }
  html body [data-remove-condition] { width:44px !important; height:44px !important; flex:0 0 44px; font-size:20px !important; }
  html body .flow-chips { gap:6px !important; flex-wrap:wrap !important; }
  html body .flow-filter :is(label,.flow-check) { min-height:44px; font-size:15px; }
  html body .flow-filter { max-height:calc(100dvh - 32px) !important; }
  html body .flow-filter__body { overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
  html body .flow-mobile-actions button { min-height:48px; font-size:14px !important; }
  html body .flow-mobile-actions { padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  html body .flow-sortbar { gap:10px; }
  html body .flow-sortbar :is(button,select),html body .flow-pagination button { min-height:44px !important; }
  html body[data-flow-page=results] .shared-training-card__media { height:88px !important; min-height:0 !important; }
  html body[data-flow-page=results] .shared-training-card__content { gap:10px !important; padding:14px !important; }
  html body .shared-training-card__title { font-size:17px !important; line-height:1.5 !important; max-height:none !important; -webkit-line-clamp:unset !important; }
  html body .shared-training-card__provider-name { font-size:13px !important; }
  html body .shared-training-card__learning-value { font-size:14px !important; line-height:1.65 !important; }
  html body .shared-training-card__categories { max-height:none !important; flex-wrap:wrap !important; }
  html body :is(.shared-training-card__category,.shared-training-card__area,.shared-training-card__tag) { font-size:12px !important; line-height:1.5 !important; }
  html body .shared-training-card__fact-value { font-size:14px !important; }
  html body .shared-training-card__label { font-size:12px !important; }
  html body .shared-training-card__actions button { min-height:46px !important; font-size:14px !important; }
  /* Comparison: one attribute at a time, with the training name repeated. */
  html body .flow-compare-table-wrap { overflow:visible; box-shadow:none; border:0; }
  html body .flow-compare-table { display:block; min-width:0; width:100%; table-layout:auto; }
  html body .flow-compare-table :is(thead,tbody,tr) { display:block; width:100%; }
  html body .flow-compare-table tr[hidden] { display:none; }
  html body .flow-compare-table :is(th,td) { display:block; position:static !important; width:auto !important; border-right:0; padding:14px; box-sizing:border-box; }
  html body .flow-compare-table thead th:first-child { display:none; }
  html body .flow-compare-table thead th { margin-bottom:12px; border:1px solid var(--c-border,#dce5ec); border-radius:10px; }
  html body .flow-compare-table__head img { display:none; }
  html body .flow-compare-table__head .flow-btn { min-height:44px; font-size:14px; }
  html body .flow-compare-table tbody tr { margin-top:20px; }
  html body .flow-compare-table tbody th { font-size:16px; }
  html body .flow-compare-table tbody td { font-size:15px; overflow-wrap:anywhere; }
  html body .flow-compare-table tbody td::before { content:attr(data-mobile-training); display:block; color:var(--c-ink,#082b4d); font-size:13px; font-weight:700; margin-bottom:6px; }
  html body .flow-switch { min-height:44px; font-size:14px; }
  html body :is(.flow-field-grid,.flow-detail-grid,.flow-content-grid) { grid-template-columns:minmax(0,1fr); }
  html body :is(.flow-field,.consultation-field) { min-width:0; }
  html body :is(.flow-field label,.consultation-field label) { font-size:15px; }
  html body :is(.flow-main,.consultation-main) { overflow-wrap:anywhere; }
  html body .ai-footer a { display:inline-flex; align-items:center; min-height:44px; }
  html body .mobile-ux-status { position:fixed; z-index:100; bottom:calc(90px + env(safe-area-inset-bottom)); left:16px; right:16px; padding:12px; background:var(--c-ink,#082b4d); color:#fff; border-radius:8px; font-size:14px; }
}
@media (max-width:767px) {
  html body[data-flow-page=results] .shared-training-card__content { display:flex !important; flex-direction:column; gap:8px !important; }
  html body[data-flow-page=results] .shared-training-card__content > * { margin:0 !important; }
  html body[data-flow-page=results] .shared-training-card__title { order:-3; }
  html body[data-flow-page=results] .shared-training-card__provider { order:-2; }
  html body[data-flow-page=results] .shared-training-card__footer { order:-1; min-height:0 !important; padding:0 !important; }
  html body[data-flow-page=results] .shared-training-card__category-label { flex-basis:auto !important; width:auto !important; }
  html body[data-flow-page=results] .shared-training-card__facts { padding-top:10px !important; gap:8px !important; }
  html body .mobile-ux-clear { width:auto; margin:4px 0 12px; padding:8px 12px; }
  html body .mobile-ux-clear[hidden] { display:none; }
  html body .consultation-topic { min-height:64px !important; padding-block:10px !important; }
  html body .consultation-topic:focus-within { outline:3px solid var(--c-teal,#008f83); outline-offset:2px; }
  html body .consultation-topic .consultation-icon { width:32px !important; height:32px !important; }
  html body .consultation-topic strong { font-size:15px !important; }
  html body .consultation-topic small { font-size:13px !important; }
  html body .why-training-card__description { font-size:14px !important; line-height:1.7 !important; }
  html body .why-training-card__visual { display:none !important; }
  html body .why-training-card { min-height:0 !important; }
}
@media (max-width:767px) {
  html body:has(.card-detail-visual) :is(.columns,.filter-grid,.hero) { min-width:0; }
  html body:has(.card-detail-visual) :is(.columns,.filter-grid,.hero) > * { min-width:0; }
  html body:has(.card-detail-visual) .searchbox { min-width:0; max-width:100%; }
  html body:has(.card-detail-visual) .searchbox input { min-width:0; width:100%; }
  html body:has(.card-detail-visual) .filter select { width:100%; min-width:0; max-width:100%; }
}
@media (max-width:767px) {
  html body [data-remove-condition] { min-width:44px !important; flex:0 0 44px !important; }
  html body[data-flow-page=results] .mobile-ux-clear { order:3; align-self:flex-start; }
  html body[data-flow-page=comparison] .flow-compare-bar { display:none !important; }
  html body .is-layout-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
  html body .training-category-section__grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
  html body .training-category-card__title strong { font-size:15px !important; line-height:1.5; }
  html body .training-category-card__heading { min-height:64px !important; }
  html body .top-reviews__summary { padding-block:8px 20px !important; gap:20px !important; }
  html body .top-reviews__score { min-height:190px !important; height:190px !important; padding:14px !important; }
  html body .top-reviews__score::before { width:180px !important; height:180px !important; }
  html body .top-reviews__score-value strong { font-size:48px !important; }
  html body .top-reviews__summary::before,html body .top-reviews__summary::after { display:none !important; }
  html body .top-reviews__people { display:none !important; }
  html body .top-reviews__filters { flex-wrap:wrap !important; overflow:visible !important; }
  html body .top-reviews__chips { flex-wrap:wrap !important; }
  html body .top-reviews__chips button { min-height:44px !important; font-size:13px !important; }
  html body .top-reviews__heading h2 { font-size:24px !important; line-height:1.5 !important; }
}
@media (max-width:767px) {
  html body .flow-filter__close { width:44px !important; height:44px !important; }
  html body .flow-footer a { display:inline-flex; align-items:center; min-height:44px; }
  html body .flow-mobile-actions button:disabled { opacity:.6; }
  html body .flow-mobile-actions button { white-space:normal !important; line-height:1.4; }
}
@media (max-width:767px) {
  html body :is(.recommend-trainings__lead,.weekly-ranking__note,.top-reviews__note,.maturity-hint) { font-size:13px !important; line-height:1.65 !important; }
  html body .ai-footer__group-label { font-size:12px !important; }
}
@media (max-width:767px) {
  .mobile-ux-title-phrase { white-space:nowrap; }
}
@media (max-width:767px) {
  html body .training-category-section__toolbar:has(.mobile-ux-details[open]) { display:block !important; }
  html body .training-category-section__toolbar .mobile-ux-details[open] { width:100%; }
  html body .recommend-trainings__all { display:inline-flex; align-items:center; min-height:44px; font-size:14px !important; }
  html body :is(.maturity-button,.flow-filter__clear) { min-height:44px; }
}
@media (max-width:767px) {
  html body .maturity-main.rv .rv-hero__title { font-size:28px !important; line-height:1.45 !important; letter-spacing:0 !important; }
  html body .rv-hero__message { display:none; }
}
@media (max-width:767px) {
  html body .consultation-topic { grid-template-columns:24px minmax(0,1fr) !important; gap:4px 10px !important; padding:12px !important; }
  html body .consultation-topic .consultation-icon { display:none !important; }
  html body .consultation-topic :is(strong,small) { grid-column:2 !important; }
  html body .consultation-topic__check { left:12px !important; top:16px !important; }
}

/* Search results: keep the decision-making information visible while making
   each mobile card quick to scan. */
@media (max-width:767px) {
  html body[data-flow-page="results"] .flow-cards {
    gap: 12px !important;
  }

  html body[data-flow-page="results"] .shared-training-card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
  }

  html body[data-flow-page="results"] .shared-training-card__link {
    position: relative;
    display: block;
    min-height: 0;
  }

  html body[data-flow-page="results"] .shared-training-card__media {
    position: absolute;
    z-index: 1;
    top: 12px;
    left: 12px;
    width: 88px;
    height: 78px !important;
    border-radius: 8px;
  }

  html body[data-flow-page="results"] .shared-training-card__content {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 8px !important;
    padding: 12px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__title,
  html body[data-flow-page="results"] .shared-training-card__provider,
  html body[data-flow-page="results"] .shared-training-card__footer {
    grid-column: 1 / -1;
    width: calc(100% - 100px);
    margin-left: 100px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__title {
    display: -webkit-box !important;
    min-height: 0;
    max-height: 45px !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
  }

  html body[data-flow-page="results"] .shared-training-card__provider {
    min-height: 18px;
    overflow: hidden;
  }

  html body[data-flow-page="results"] .shared-training-card__provider-name {
    overflow: hidden;
    font-size: 12px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html body[data-flow-page="results"] .shared-training-card__footer {
    min-height: 24px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__tags {
    flex-wrap: nowrap;
    overflow: hidden;
  }

  html body[data-flow-page="results"] .shared-training-card__tag {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html body[data-flow-page="results"] .shared-training-card__learning {
    display: block;
    grid-column: 1 / -1;
    min-height: 22px;
    margin-top: 6px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__learning .shared-training-card__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  html body[data-flow-page="results"] .shared-training-card__learning-value {
    display: block;
    overflow: hidden;
    font-size: 13px !important;
    line-height: 1.6 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  html body[data-flow-page="results"] .ai-tool-logos {
    grid-column: 1 / -1;
    min-height: 24px;
    margin: 2px 0 !important;
    overflow: hidden;
  }

  html body[data-flow-page="results"] .ai-tool-logo__art {
    max-height: 22px;
  }

  html body[data-flow-page="results"] :is(.shared-training-card__categories,.shared-training-card__areas) {
    min-height: 24px;
    max-height: 24px !important;
    flex-wrap: nowrap !important;
    gap: 5px;
    margin: 0 !important;
    overflow: hidden;
  }

  html body[data-flow-page="results"] .shared-training-card__categories {
    grid-column: 1;
  }

  html body[data-flow-page="results"] .shared-training-card__areas {
    grid-column: 2;
    padding-left: 8px;
    border-left: 1px solid var(--c-border, #dce5ec);
  }

  html body[data-flow-page="results"] .shared-training-card__category:nth-of-type(n+3),
  html body[data-flow-page="results"] .shared-training-card__area:nth-of-type(n+4) {
    display: none;
  }

  html body[data-flow-page="results"] :is(.shared-training-card__category-label,.shared-training-card__area-label) {
    position: absolute;
    width: 1px !important;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  html body[data-flow-page="results"] :is(.shared-training-card__category,.shared-training-card__area) {
    min-height: 24px;
    flex: 0 0 auto;
    padding: 3px 7px;
    white-space: nowrap;
  }

  html body[data-flow-page="results"] .shared-training-card__facts {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: 2px !important;
    padding-top: 8px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__facts > :nth-child(4) {
    display: none;
  }

  html body[data-flow-page="results"] .shared-training-card__facts > * {
    min-width: 0;
    padding: 0 8px;
    border-right: 1px solid var(--c-border, #dce5ec);
  }

  html body[data-flow-page="results"] .shared-training-card__facts > :first-child {
    padding-left: 0;
  }

  html body[data-flow-page="results"] .shared-training-card__facts > :nth-child(3) {
    padding-right: 0;
    border-right: 0;
  }

  html body[data-flow-page="results"] .shared-training-card__fact-value {
    display: block;
    margin-top: 2px;
    overflow: hidden;
    font-size: 13px !important;
    line-height: 1.45;
    text-overflow: ellipsis;
  }

  html body[data-flow-page="results"] .shared-training-card__facts > :nth-child(3) .shared-training-card__fact-value {
    white-space: normal;
  }

  html body[data-flow-page="results"] .shared-training-card__actions {
    gap: 8px;
    padding: 0 12px 12px !important;
  }

  html body[data-flow-page="results"] .shared-training-card__actions button {
    min-height: 44px !important;
    font-size: 13px !important;
  }
}

@media (max-width:359px) {
  html body[data-flow-page="results"] .ai-tool-logo:nth-of-type(n+3) {
    display: none;
  }
}

/* The adjacent white sections otherwise read as one continuous block. */
@media (max-width:767px) {
  html body .topBelowFvV2 .why-training-section + .case-study-section {
    border-top: 10px solid var(--c-surface-muted, #f1f5f8);
    box-shadow: inset 0 1px 0 var(--c-border, #d9e5e8);
  }
}
