/* Bloom in 21 — mobile-only refinements. Desktop styles remain unchanged. */
@media (max-width: 700px) {
  html, body { overflow-x: hidden; }
  body { font-size: 15px; }
  .wrap { padding-left: 20px !important; padding-right: 20px !important; }
  section { padding-top: 72px; padding-bottom: 72px; }
  h1 { line-height: 1.08 !important; }
  h2 { line-height: 1.18 !important; }
  .head-block { margin-bottom: 42px !important; }
  .head-block p { max-width: 100% !important; }

  header { padding: 15px 0 !important; }
  header .logo { font-size: 18px; }
  nav.links { inset: 0 0 0 auto !important; width: min(88vw, 350px) !important; padding: 86px 28px 34px !important; gap: 22px !important; transform: translateX(110%) !important; }
  nav.links.open { transform: translateX(0) !important; }
  nav.links a { font-size: 15px !important; }

  /* Never crop content photography on phones. */
  main img,
  section img { width: 100% !important; height: auto !important; max-height: none !important; aspect-ratio: auto !important; object-fit: contain !important; object-position: center !important; }
  .frame,
  .num-frame,
  .wisdom-img,
  .phil-pillar-img,
  .prog-photo-full { height: auto !important; min-height: 0 !important; aspect-ratio: auto !important; overflow: hidden !important; }

  footer { padding: 38px 0 30px !important; }
  footer .wrap { align-items: flex-start !important; }
  footer .f-links { width: 100%; gap: 12px 20px !important; flex-wrap: wrap; }
  footer .f-copy { line-height: 1.6; }

  /* Home */
  .page-home .hero { width: 100% !important; min-height: calc(100svh - 70px) !important; background: #2d2722; }
  .page-home .hero-illustration { width: 100% !important; background-size: cover !important; background-repeat: no-repeat !important; background-position: center center !important; }
  .page-home .hero-scrim { width: 100% !important; }
  .page-home .hero h1 { font-size: clamp(28px, 8vw, 36px) !important; line-height: 1.12 !important; max-width: 340px !important; }
  .page-home #philosophy { padding-top: 78px !important; }
  .page-home .origin-grid { gap: 30px !important; margin-bottom: 72px !important; }
  .page-home .origin-side h2 { font-size: 34px !important; }
  .page-home .origin-side .origin-meta { display: none; }
  .page-home .origin-rule-vert { margin: 22px 0 0 !important; }
  .page-home .origin-copy p { font-size: 16.5px !important; line-height: 1.66 !important; }
  .page-home .origin-copy > p:not(.eyebrow):not(.quiet):not(.sign) { display: block; overflow: visible; }
  .page-home .origin-copy .origin-rule { margin: 25px 0 !important; }
  .page-home .origin-copy .frame { margin: 0 !important; border-radius: 6px; }
  .page-home #the-stay { padding-top: 58px !important; padding-bottom: 58px !important; }
  .page-home #the-stay .head-block { margin-bottom: 28px !important; }
  .page-home #the-stay .head-block p { margin-top: 12px !important; }
  .page-home .timeline { grid-template-columns: 1fr !important; gap: 0 !important; }
  .page-home .t-node { padding: 17px 0 18px !important; }
  .page-home .t-node .day { font-size: 22px !important; line-height: 1.1 !important; }
  .page-home .t-node h4 { font-size: 18px !important; margin-top: 6px !important; }
  .page-home .t-node p { margin-top: 4px !important; font-size: 14px !important; line-height: 1.5 !important; }
  .page-home .program-feature { gap: 32px !important; }
  .page-home .program-feature p:not(.eyebrow) { display: block; overflow: visible; }
  .page-home .stay-grid { gap: 14px !important; }
  .page-home .stay-card { min-height: 0 !important; padding: 28px 24px !important; }
  .page-home .loc-grid { gap: 30px !important; }
  .page-home .loc-map { min-height: 240px !important; }
  .page-home .loc-facts .row { gap: 8px; flex-direction: column; }
  .page-home .loc-facts .label { width: auto !important; }
  .page-home .form-grid { grid-template-columns: 1fr !important; }
  .page-home .reserve .contact-inline { gap: 24px !important; flex-direction: column; }

  /* Philosophy */
  .page-philosophy .wisdom-grid { gap: 28px !important; }
  .page-philosophy .wisdom-grid .wisdom-img { width: 100%; }
  .page-philosophy .wisdom-grid > div:last-child p { font-size: 16.5px !important; line-height: 1.68 !important; }
  .page-philosophy .phil-pillar { padding: 32px 0 !important; gap: 14px !important; }
  .page-philosophy .phil-pillar > p:first-child { font-size: 34px !important; }
  .page-philosophy .phil-pillar h3 { font-size: 22px !important; margin-bottom: 12px !important; }
  .page-philosophy .phil-pillar > div:nth-child(2) p { font-size: 16px !important; line-height: 1.65 !important; display: block; overflow: visible; }
  .page-philosophy .phil-pillar-img { margin-top: 10px; box-shadow: none !important; }

  /* Program */
  .page-program section:first-of-type { padding-top: 138px !important; padding-bottom: 20px !important; }
  .page-program section:nth-of-type(2) { padding-top: 28px !important; padding-bottom: 85px !important; }
  .page-program .prog-pillar { padding: 34px 0 !important; gap: 12px !important; }
  .page-program .prog-pillar > p:first-child { font-size: 34px !important; }
  .page-program .prog-pillar h3 { font-size: 22px !important; margin-bottom: 12px !important; }
  .page-program .prog-pillar > div > p:not([style*="italic"]) { font-size: 16px !important; line-height: 1.65 !important; display: block; overflow: visible; }
  .page-program .prog-pillar li { font-size: 15.5px !important; line-height: 1.6 !important; }
  .page-program .prog-pillar li:not(:last-child) { margin-bottom: 12px !important; }
  .page-program .prog-pillar:nth-child(4) li:last-child { display: block; overflow: visible; }
  .page-program .prog-photo-full { width: 100% !important; left: auto !important; right: auto !important; margin: 24px 0 0 !important; border-radius: 6px; }

  /* Pricing */
  .page-pricing .pricing-hero { padding: 138px 0 62px !important; }
  .page-pricing .pricing-hero h1 { font-size: 42px !important; }
  .page-pricing .pricing-hero h1 em { display: block; margin-top: 10px; font-size: .62em !important; line-height: 1.25 !important; }
  .page-pricing .pricing-hero .intro { font-size: 16.5px !important; line-height: 1.65 !important; }
  .page-pricing .package-grid { gap: 22px !important; }
  .page-pricing .package-card { padding: 32px 24px 26px !important; }
  .page-pricing .package-card h2 { font-size: 28px !important; }
  .page-pricing .package-price { font-size: 36px !important; margin-top: 20px !important; }
  .page-pricing .package-list li:not(.massage-benefit) { display: none; }
  .page-pricing .package-list::before { content: 'Includes 24/7 newborn care, organic daily nourishment, smart monitoring, and private education.'; display: block; margin-bottom: 18px; color: var(--bark-soft); font-family: 'Fraunces',serif; font-size: 15px; line-height: 1.6; }
  .page-pricing .massage-benefit { font-size: 15px !important; }
  .page-pricing .package-cta { margin-top: 32px !important; }
  .page-pricing .calculator { padding: 80px 0 !important; }
  .page-pricing .calc-panel { padding: 26px 20px !important; }
  .page-pricing .calc-result { grid-template-columns: 1fr !important; }
  .page-pricing .calc-total,
  .page-pricing .calc-deposit { text-align: left !important; }
  .page-pricing .pricing-cta { padding: 72px 0 !important; }

  /* FAQ */
  .page-faq .faq-hero { padding: 138px 0 58px !important; }
  .page-faq .faq-hero h1 { font-size: 42px !important; }
  .page-faq .faq-hero .intro { font-size: 16.5px !important; line-height: 1.65 !important; }
  .page-faq .faq-section { padding: 20px 0 78px !important; }
  .page-faq .faq-layout { gap: 32px !important; }
  .page-faq .faq-side p:last-child { margin-top: 16px !important; }
  .page-faq .faq-group { margin-bottom: 28px !important; }
  .page-faq .faq-group-title { font-size: 13px !important; }
  .page-faq .faq-item summary { padding: 19px 0 !important; font-size: 17px !important; }
  .page-faq .faq-answer { padding: 0 12px 22px 0 !important; font-size: 14.5px !important; line-height: 1.7 !important; }
  .page-faq .faq-contact { padding: 68px 0 !important; }

  /* Contact */
  .page-contact .contact-hero { padding: 138px 0 58px !important; }
  .page-contact .contact-hero h1 { font-size: 41px !important; }
  .page-contact .contact-hero .intro { font-size: 16.5px !important; line-height: 1.65 !important; }
  .page-contact .contact-section { padding: 20px 0 78px !important; }
  .page-contact .contact-grid { gap: 34px !important; }
  .page-contact .contact-row { padding: 24px 0 !important; }
  .page-contact .contact-value { font-size: 20px !important; overflow-wrap: anywhere; }
  .page-contact .contact-note { margin-top: 24px !important; padding: 20px !important; font-size: 15px !important; }
  .page-contact .contact-cta { padding: 70px 0 !important; }

  /* Placeholder Stay page */
  .page-stay section:first-of-type { padding: 138px 0 85px !important; min-height: 0 !important; }
}
