/* Let phone content set its own height: labels and actions never shrink to fit. */
@media (max-width:700px) {
  html:has(body.route-home) { scrollbar-gutter:auto; }
  html body.route-home, body.route-home #root, body.route-home #main { height:auto!important; min-height:100svh!important; overflow:visible!important; }
  body.route-home #home { height:auto!important; min-height:100svh!important; overflow:clip!important; }
  #home .mobile-home { position:relative!important; inset:auto!important; height:auto!important; min-height:100svh!important; padding:0 0 max(24px,env(safe-area-inset-bottom))!important; }
  #home .mobile-scene { top:64px!important; left:0!important; right:0!important; width:100%!important; height:clamp(450px,145vw,620px)!important; transform:none!important; }
  #home .mobile-copy { position:relative!important; inset:auto!important; width:auto!important; max-width:none!important; padding:clamp(470px,145vw,610px) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left)); margin:0!important; }
  #home .mobile-copy h2 { max-width:none!important; font-size:clamp(30px,8.8vw,40px)!important; line-height:1.12!important; margin-bottom:14px!important; }
  #home .mobile-kicker { display:block!important; font-size:11px!important; line-height:1.5!important; letter-spacing:.07em!important; }
  #home .mobile-lead-full { display:block!important; max-width:38ch; font-size:16px!important; line-height:1.55!important; }
  #home .mobile-lead-compact { display:none!important; }
  #home .hero-actions { display:grid!important; grid-template-columns:1fr; gap:12px!important; margin-top:22px!important; }
  #home .hero-actions a { width:100%; justify-content:space-between; min-height:48px!important; margin:0!important; font-size:15px!important; padding:12px 16px!important; }
  #home .mobile-head { z-index:5; padding-top:max(16px,env(safe-area-inset-top)); }
  #home .mobile-services-link { min-height:44px; font-size:15px; }
  #home .mobile-apple { min-width:84px; min-height:84px; }

  body.earth-route #sites .soil-story { height:auto; min-height:100svh; grid-template-rows:auto minmax(300px,1fr) auto auto; padding:env(safe-area-inset-top) 14px max(10px,env(safe-area-inset-bottom)); }
  body.earth-route #sites .soil-intro h1 { font-size:clamp(28px,8vw,36px); line-height:1.1; }
  body.earth-route #sites .mw-ledger-top { font-size:12px; line-height:1.4; }
  body.earth-route #sites .mw-seed-count { font-size:16px; }
  body.earth-route #sites .mw-seed-ledger .mw-seed-names { display:block; height:auto; min-height:36px; max-height:none; overflow:visible; font-size:13px; line-height:1.4; -webkit-line-clamp:unset; }
  body.earth-route #sites .soil-seed-field { min-height:300px; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(5,minmax(56px,1fr)); gap:6px 8px; }
  body.earth-route #sites .soil-seed { min-height:56px; max-height:100px; }
  body.earth-route #sites .soil-seed .seed-kernel { left:17%; top:54%; width:36px; height:52px; }
  body.earth-route #sites .soil-seed::after { left:33%; right:3px; top:50%; bottom:auto; transform:translateY(-50%); font-size:clamp(17px,4.5vw,20px); text-align:left; overflow-wrap:normal; }
  body.earth-route #sites .gold-seed { height:62px; }
  body.earth-route #sites .gold-seed::after { font-size:26px; }
  body.earth-route #sites .soil-links { display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; padding-top:8px; }
  body.earth-route #sites .soil-links a { font:14px/1.4 Arial,sans-serif; min-height:44px; white-space:normal; }
  body.earth-route #sites .soil-links a:nth-child(2) { max-width:none; font-size:14px; grid-column:1/-1; grid-row:2; text-align:center; justify-content:center; }
  body.earth-route #sites .soil-links a:last-child { justify-self:end; }
  body.earth-route #sites .tree-result { padding:50px 20px max(24px,env(safe-area-inset-bottom)); }
  body.earth-route #sites .tree-result-actions { gap:10px 20px; }
  body.earth-route #sites .tree-result-actions a, body.earth-route #sites .tree-result-actions button { font-size:16px; min-height:48px; }
}
@media (max-width:900px) and (orientation:landscape) and (max-height:540px) {
  html body.route-home, body.route-home #root, body.route-home #main { height:auto!important; min-height:100svh!important; overflow:visible!important; }
  body.route-home #home, #home .mobile-home { position:relative!important; height:auto!important; min-height:100svh!important; overflow:clip!important; }
  #home .mobile-home { padding:0!important; }
  #home .orchard { display:none!important; }
  #home .mobile-home { display:block!important; }
  #home .mobile-scene { top:50px!important; left:0!important; width:48%!important; height:440px!important; }
  #home .mobile-apple { width:84px!important; height:84px!important; min-width:84px; min-height:84px; }
  #home .mobile-copy { position:relative!important; inset:auto!important; width:auto!important; margin:0 0 0 49%!important; padding:88px 22px 24px 12px!important; transform:none!important; }
  #home .mobile-copy h2 { font-size:30px!important; line-height:1.12!important; max-width:none!important; }
  #home .mobile-lead-full { display:block!important; font-size:16px!important; line-height:1.5!important; }
  #home .mobile-lead-compact { display:none!important; }
  #home .hero-actions { display:grid!important; gap:10px!important; margin-top:18px!important; }
  #home .hero-actions a { font-size:15px!important; min-height:48px!important; margin:0!important; }
  body.earth-route #sites .soil-story { height:auto; min-height:100svh; grid-template-rows:auto minmax(170px,1fr) auto auto; padding-bottom:12px; }
  body.earth-route #sites .soil-seed-field { min-height:170px; grid-template-columns:repeat(5,minmax(0,1fr)); grid-template-rows:repeat(2,minmax(80px,1fr)); }
  body.earth-route #sites .soil-seed .seed-kernel { left:50%; top:35%; width:30px; height:44px; }
  body.earth-route #sites .soil-seed::after { left:2px; right:2px; top:auto; bottom:4px; transform:none; text-align:center; font-size:17px; }
  body.earth-route #sites .soil-links a { min-height:44px; font-size:14px; }
}
