/* V50: mobile composition uses the same brand, with room for content and touch. */
@media (max-width:650px) {
  #site-search { width:calc(100vw - 24px); padding:20px; max-height:calc(100dvh - 24px); overflow-y:auto; }
  #site-search #global-search { font-size:16px; min-height:46px; }
  #site-search #close-search { min-width:44px; min-height:44px; }
  #site-search .search-dialog-head { gap:12px; }
  #site-search .search-dialog-head h2 { font-size:23px; }
  body[data-page=home] .proc-section { padding:44px 0; }
  body[data-page=home] .proc-heading { gap:16px; margin-bottom:26px; }
  body[data-page=home] :is(.proc-heading h2,.proc-quality-copy h2,.proc-purchasing h2,.planner-heading h2) {
    font-size:28px; line-height:1.2; letter-spacing:-.035em; overflow-wrap:anywhere;
  }
  body[data-page=home] :is(.proc-heading p,.proc-quality-intro,.proc-purchasing-audience,.planner-heading p) {
    font-size:14px; line-height:1.75;
  }
  body[data-page=home] .proc-quality-points p { font-size:13px; line-height:1.75; }
  body[data-page=home] :is(.proc-quality-layout,.proc-purchasing-layout) { gap:26px; }
  body[data-page=home] .proc-purchasing img { height:auto; aspect-ratio:4/3; }
  body[data-page=home] .proc-purchasing-details { display:grid; gap:10px; font-size:12px; }
  body[data-page=home] :is(.proc-quality-copy,.proc-purchasing-copy)>.btn { width:100%; min-height:46px; font-size:12px; }
  body[data-page=home] .proc-results-editorial .proc-trial,
  body[data-page=home] .proc-results-editorial .proc-trial+.proc-trial { padding:25px 0; }
  body[data-page=home] .proc-results-editorial .proc-trial-heading { gap:16px; margin-bottom:16px; }
  body[data-page=home] .proc-results-editorial .proc-trial h3 { font-size:18px; line-height:1.4; }
  body[data-page=home] .proc-results-editorial .proc-trial-meta { font-size:11px; }
  body[data-page=home] .proc-results-editorial .proc-trial-comparator { font-size:12px; margin:10px 0 20px; }
  body[data-page=home] .proc-results-editorial .proc-trial-links { margin-top:22px; }
  body[data-page=home] .proc-results-editorial .proc-trial-links .btn { min-height:44px; font-size:12px; }
  body[data-page=home] .proc-results-note p { font-size:12px; line-height:1.75; }
  body[data-page=home] .proc-bars>div { font-size:12px; }
  body[data-page=home] .proc-enquiry-band p { font-size:13px; }

  .crop-workspace .planner-inputs { padding:20px; }
  .crop-workspace .planner-presets { gap:6px; }
  .crop-workspace .planner-presets button { min-height:44px; font-size:11px; }
  .crop-workspace .planner-model-option { min-height:46px; }
  .crop-workspace .planner-crop b { font-size:12px; line-height:1.45; }
  .crop-workspace .planner-crop { min-height:126px; }
  .crop-workspace .crop-browser-top { gap:12px; }
  .crop-workspace .planner-open-crops { min-height:44px; }
  .crop-workspace .planner-total-caption { font-size:12px; }
  .crop-workspace .planner-stage-labels { font-size:10px; }
  .crop-workspace .planner-stage h4 { font-size:13px; }
  .crop-workspace .planner-protocol-notes p { font-size:13px; line-height:1.75; }
  .crop-workspace .planner-bottom>p { font-size:11px; }
  .crop-workspace .planner-bottom>p>a { white-space:normal; }
  .crop-workspace .crop-picker-search input { font-size:16px; }
  .crop-workspace .crop-outcome-open { min-height:44px; font-size:11px; }
  .crop-workspace .planner-actions { display:grid; grid-template-columns:1fr 1fr; }
  .crop-workspace .planner-actions button { font-size:11px; }
  .crop-workspace .planner-actions .planner-action-primary { grid-column:1/-1; }

  #footer .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; }
  #footer .footer-grid>div:first-child { grid-column:1/-1; }
  #footer .footer-grid>div:last-child { display:block; grid-column:1/-1; padding-top:24px; border-top:1px solid var(--phx-dark-line); }
  #footer .footer-grid p { font-size:12px; line-height:1.8; }
  #footer .footer-grid>div>a:not(.brand) { font-size:12px; line-height:1.6; display:flex; align-items:center; min-height:40px; padding:6px 0; margin:0; }
  #footer .footer-grid>div>b { font-size:12px; margin-bottom:10px; }
  #footer .footer-bottom { gap:10px 16px; padding-bottom:90px; align-items:center; }
  #footer .footer-bottom button { min-height:40px; margin:0; font-size:11px; }
  #footer .footer-bottom>span:first-child { flex-basis:100%; }
  .analytics-choice { padding:16px; gap:12px; }
  .analytics-choice p { font-size:11px; }
  .analytics-choice .actions { display:grid; grid-template-columns:1fr 1fr; }
  .analytics-choice button { min-height:44px; white-space:normal; font-size:11px; }
}

@media (max-width:560px) {
  body[data-page=home] .hero-grid { display:grid; grid-template-columns:minmax(0,1fr); padding:28px 20px 0; }
  body[data-page=home] .hero-copy { display:contents; }
  body[data-page=home] .hero-copy>.eyebrow { grid-row:1; margin:0; font-size:8px; line-height:1.7; }
  body[data-page=home] .hero-copy h1 { grid-row:2; font-size:clamp(30px,8.7vw,42px); line-height:1.06; margin:18px 0; letter-spacing:-.045em; overflow-wrap:anywhere; }
  body[data-page=home] .hero-purity { display:contents; }
  body[data-page=home] .hero-purity>strong { grid-row:3; font-size:15px; line-height:1.5; margin:0 0 20px; max-width:350px; }
  body[data-page=home] .hero-copy .actions { grid-row:4; display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:10px; margin:0 0 24px; max-width:none; }
  body[data-page=home] .hero-copy .actions .btn { font-size:11px; line-height:1.45; min-height:48px; padding:11px 10px; white-space:normal; text-align:center; }
  body[data-page=home] .hero-visual { grid-column:1; grid-row:5; width:calc(100% + 40px); aspect-ratio:1305/1206; height:auto; margin:0 -20px 24px; }
  body[data-page=home] .hero-visual>img { width:100%; height:100%; right:0; left:0; object-fit:contain; }
  body[data-page=home] .hero-purity>p { grid-row:6; font-size:14px; line-height:1.8; margin:0 0 10px; max-width:none; }
  body[data-page=home] .hero-purity>a { grid-row:7; font-size:12px; line-height:1.75; width:fit-content; padding:5px 0 12px; margin-bottom:24px; }
  body[data-page=home] .hero-assurance { grid-column:1; grid-row:8; padding:0 0 32px; }
  body[data-page=home] .hero-assurance .hero-specs { display:grid; grid-template-columns:1fr 1.4fr .7fr; gap:12px; margin:0; }
  body[data-page=home] .hero-assurance .hero-specs>span { white-space:normal; font-size:10px; line-height:1.6; }
  body[data-page=home] .hero-assurance .hero-specs b { font-size:12px; line-height:1.5; margin-bottom:5px; }
  body[data-page=home] .hero-assurance .hero-product-marks { gap:22px 10px; margin-top:24px; padding-top:24px; }
  body[data-page=home] .hero-product-marks :is(.standard-name,.standard-detail,.standard-reference) { font-size:9px; line-height:1.5; overflow-wrap:anywhere; }
}

@media (max-width:359px) {
  body[data-page=home] .hero-copy h1 { font-size:30px; }
  body[data-page=home] .hero-copy .actions { grid-template-columns:1fr; gap:8px; }
  body[data-page=home] .hero-assurance .hero-specs { gap:8px; }
  body[data-page=home] .hero-assurance .hero-product-marks { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
  .crop-workspace .planner-inputs,.crop-workspace .planner-result { padding:18px 16px; }
  .crop-workspace .planner-stage-labels,.crop-workspace .planner-stage { gap:8px; }
}
