/* RISE — responsive overrides. Inline styles carry the desktop design; these rules adapt it for iPad and iPhone. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, image-slot { max-width: 100%; }

/* iPad / tablet */
@media (max-width: 1023px) {
  header { padding: 24px 32px !important; }
  header nav { gap: 20px !important; font-size: 12px !important; }
  section, footer { padding-left: 32px !important; padding-right: 32px !important; }
  [data-pad] { padding-left: 0 !important; padding-right: 0 !important; }
  [data-r="stack"] { gap: 40px !important; }
  [data-t="stack"] { grid-template-columns: minmax(0,1fr) !important; }
  [data-r="sticky"] { position: static !important; }
  h1 { font-size: clamp(44px, 6vw, 60px) !important; }
  [data-r="img"], [data-r="cardimg"] { width: 100% !important; height: auto !important; }
  [data-r="cardimg"] { aspect-ratio: 4 / 5; }
  [data-r="tf"] > div { height: 300px !important; }
  form { width: auto !important; }
}

/* iPhone / portrait phones */
@media (max-width: 767px) {
  header { flex-wrap: wrap !important; align-items: center !important; padding: 20px 20px !important; }
  [data-r="navbtn"] { display: inline-block !important; }
  [data-r="logo"] { height: 22px !important; }
  header nav { display: none !important; width: 100% !important; flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; padding: 16px 0 8px !important; margin-top: 16px !important; border-top: 1px solid #E4DACB !important; font-size: 14px !important; }
  header nav a { padding: 12px 0 !important; }
  header nav a[href="Contact.dc.html"] { margin-top: 12px !important; padding: 14px 28px !important; }
  [data-r="navtoggle"]:checked ~ nav { display: flex !important; }
  [data-r="navtoggle"]:checked ~ [data-r="navbtn"] [data-r="navopen"] { display: none !important; }
  [data-r="navtoggle"]:checked ~ [data-r="navbtn"] [data-r="navclose"] { display: inline !important; }
  section, footer { padding-left: 20px !important; padding-right: 20px !important; }
  footer { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; padding-top: 36px !important; padding-bottom: 36px !important; }
  h1 { font-size: clamp(38px, 11vw, 46px) !important; line-height: 1.08 !important; }
  h2 { font-size: clamp(30px, 8.5vw, 36px) !important; }
  [data-r="quote"] { font-size: 24px !important; }
  [data-r="stack"], [data-r="cols3"], [data-r="cols2"] { grid-template-columns: minmax(0,1fr) !important; }
  [data-r="stack"] { gap: 36px !important; }
  [data-first] { order: -1; }
  [data-r="row"] { flex-wrap: wrap !important; gap: 14px 20px !important; align-items: flex-start !important; }
  [data-r="img"] { aspect-ratio: 4 / 5 !important; object-position: center 20%; }
  [data-r="tf"] { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 28px 8px !important; }
  [data-r="tf"] > div { grid-column: auto !important; height: 220px !important; }
  [data-r="faq"] button { font-size: 20px !important; padding: 20px 4px !important; }
  [data-r="faq"] > div:last-child { padding: 32px 24px !important; }
  form { padding: 28px 20px !important; gap: 22px !important; }
  input, textarea { font-size: 16px !important; }
}
