/* Mobile alignment only. Existing pages, card structures and desktop rules stay intact. */
@media(max-width:760px){
  /* A fixed-width action must never squeeze the adjacent heading into a word column. */
  .section>.wrap.row:not(.section-head){flex-wrap:wrap;align-items:flex-start;gap:22px}
  .section>.wrap.row:not(.section-head)>div{flex:1 0 100%;width:100%;min-width:0}
  .section>.wrap.row:not(.section-head)>.btn{flex:0 1 auto;align-self:flex-start;max-width:100%;margin:0}
  .section>.wrap.row:not(.section-head) h2{font-size:clamp(30px,8.7vw,38px);line-height:1.15;word-break:normal;overflow-wrap:normal;hyphens:none}
  .section>.wrap.row:not(.section-head) .eyebrow{display:block;max-width:none;line-height:1.7}
  .section>.wrap.row:not(.section-head) p{font-size:13px;line-height:1.85;word-break:normal;overflow-wrap:break-word}
  /* Each price card uses the same action size and a stable price column. */
  .price-card .plan-purchase{grid-template-columns:minmax(0,1fr) minmax(140px,1.15fr);gap:10px}
  .price-card .plan-purchase>.btn{width:100%;height:48px;min-height:48px;padding:10px 8px;font-size:10px;line-height:1.5;gap:6px;white-space:nowrap;word-break:normal;overflow-wrap:normal}
  .price-card .plan-purchase>.btn>.icon{width:14px;height:14px}
  .price-card .price-number small{display:block;max-width:none;margin:4px 0 0;font-size:9px;white-space:nowrap}
  /* Equal tab tracks and two-line labels keep icons and text on shared baselines. */
  .journey-tabs{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
  .journey-tab{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:20px 24px;justify-items:start;align-content:start;align-items:start;gap:4px;min-height:64px;height:64px;padding:8px;flex-wrap:nowrap}
  .journey-tab>.icon{height:20px;width:20px;margin:0}
  .journey-tab>span{width:100%;min-width:0;max-width:100%;font:10px/1.2 var(--sans);word-break:normal;overflow-wrap:normal;hyphens:none}
  /* Setup remains a checklist. Actions use the text column rather than competing with it. */
  .checklist-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px 12px;align-items:start}
  .checklist-row>input{grid-column:1;grid-row:1;align-self:start;margin-top:4px}
  .checklist-row>.row-body{grid-column:2;min-width:0;width:100%}
  .checklist-row>.btn{grid-column:2;justify-self:start;max-width:100%;width:auto;margin:0;min-height:40px}
  .checklist-row h3{word-break:normal;overflow-wrap:normal;line-height:1.65}
  .checklist-row p{font-size:11px;line-height:1.8;word-break:normal;overflow-wrap:break-word}
  .comparison-feature>div>span{display:grid;grid-template-rows:30px auto;align-content:start;gap:6px}
  .comparison-feature>div>span>small{margin:0;min-height:30px;line-height:1.65}
  .comparison-feature>div>span>strong{line-height:1.75}
  /* Preserve the established compact photo tiles, including their common height. */
  .catalog-grid.unified-catalog{align-items:stretch}
  .catalogue-card .card-body>.arrow-link,.catalogue-card .card-body>.text-link{white-space:nowrap;word-break:normal;overflow-wrap:normal}
}
@media(max-width:380px){
  .price-card .plan-purchase>.btn{height:48px;min-height:48px;padding:10px 8px;font-size:10px}
  .journey-tab>span{font-size:9px;line-height:1.3334}
  .section>.wrap.row:not(.section-head) h2{font-size:30px}
}
