/* Mobile experience layer
   Loaded last so the phone layout is designed intentionally rather than being
   a collection of desktop overrides. */
@media (max-width: 768px) {
  :root { --mp-mobile-gutter: 20px; --mp-mobile-section: 56px; }

  html { -webkit-text-size-adjust: 100%; }
  body { padding-bottom: 84px; }

  /* Navigation: compact, calm, and easy to operate with a thumb. */
  .mp-header { min-height: 64px; padding: 9px 18px; }
  .mp-header-inner { height: 46px; }
  .mp-logo { font-size: clamp(23px, 7vw, 27px); }
  .hamburger-btn { width: 44px; height: 44px; gap: 5px; align-items: center; }
  .hamburger-btn .line { width: 25px; }
  .mobile-menu-overlay { gap: 20px; padding: 98px 24px 38px; justify-content: flex-start; overflow-y: auto; }
  .mobile-link { width: 100%; max-width: 420px; padding: 12px 0; font-size: clamp(24px, 7vw, 30px); text-align: center; }

  /* Forms never trigger Safari's automatic zoom, and modals retain room for
     the browser chrome and the mobile enquiry bar. */
  .mp-booking-box { width: calc(100% - 24px) !important; max-height: calc(100dvh - 24px) !important; padding: 32px 18px 24px !important; border-radius: 18px !important; }
  .form-group input, .form-group textarea, .pg-input, .pg-select, .pg-textarea { font-size: 16px !important; }
  .close-booking { width: 44px; height: 44px; display: grid; place-items: center; right: 6px; top: 5px; }

  /* Keep tap targets and type rhythm consistent across every page. */
  a.mp-btn, .cinematic-btn, .ws-btn-primary, .ws-btn-secondary,
  .mem-btn-primary, .mem-btn-secondary, .hl-hero-btn, .ment-hero-btn,
  .btn-gold, .tier-card-btn, .tier-cta-btn, .hl-book-btn, .hl-proc-btn,
  .wsc-link-btn, .news-btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }

  .newsletter-section-bg { padding: 52px 0 !important; }
  .newsletter-section { padding: 0 var(--mp-mobile-gutter) !important; }
  .news-text-group { margin-bottom: 22px !important; }
  .news-line-1 { font-size: 18px !important; line-height: 1.35 !important; }
  .news-line-2 { font-size: 27px !important; line-height: 1.2 !important; }
  .news-input, .news-btn { min-height: 50px; }

  /* Home */
  .hero-container { padding: 76px 16px 22px !important; }
  .profile-image-wrapper { width: 148px !important; margin-top: 2px !important; }
  .hero-text-box { padding: 27px 18px 19px !important; border-radius: 16px !important; }
  .hero-title { font-size: 27px !important; line-height: 1.18 !important; margin-bottom: 10px !important; }
  .hero-body { font-size: 13.5px !important; line-height: 1.55 !important; margin-bottom: 12px !important; }
  .hero-personal-quote { margin: 11px 0 14px !important; padding: 10px 12px !important; }
  .hero-personal-quote .quote-text { font-size: 16px !important; line-height: 1.42 !important; }
  .hero-footer-content .mp-sign { margin-bottom: 6px !important; }
  .signature-image { width: 105px !important; }
  .hero-authority-badges { font-size: 10px !important; line-height: 1.45 !important; }

  .manisha-presence-section, .mp-philosophy-section, .path-section,
  .testimonial-section { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .presence-grid { grid-template-columns: 1fr !important; gap: 26px !important; }
  .presence-video-wrapper { order: -1; }
  .video-card { aspect-ratio: 4 / 3; min-height: 0 !important; border-radius: 16px !important; }
  .presence-content-box { padding: 0 !important; text-align: left !important; }
  .presence-title, .philosophy-title, .section-headline, .social-proof-headline { font-size: 26px !important; line-height: 1.2 !important; text-wrap: balance; }
  .presence-note, .presence-content-box p, .philosophy-subtitle, .social-proof-sub { font-size: 14px !important; line-height: 1.6 !important; }
  .philosophy-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .philosophy-card { padding: 22px 18px !important; }
  .ph-card-title { font-size: 19px !important; }
  .path-section { padding-bottom: 36px !important; }
  .cards-grid { gap: 14px !important; }
  .path-card { padding: 24px 18px !important; border-radius: 16px !important; }
  .card-title { font-size: 20px !important; }
  .card-desc { font-size: 13.5px !important; }
  .testimonial-container { height: 285px !important; }
  .quote-text { font-size: 18px !important; line-height: 1.55 !important; }
  .journey-card { padding: 20px 16px !important; }

  /* The Living Forest */
  .ret-sec { padding: var(--mp-mobile-section) 0 !important; }
  .ret-container { padding-inline: var(--mp-mobile-gutter) !important; }
  .ret-hero { padding: 82px 20px 30px !important; }
  .ret-hero-title { font-size: 32px !important; line-height: 1.08 !important; }
  .ret-hero-tagline { font-size: 15px !important; line-height: 1.45 !important; }
  .ret-hero-desc { font-size: 14px !important; line-height: 1.55 !important; }
  .ret-hero-actions { width: 100%; gap: 10px !important; }
  .ret-hero-actions a { width: 100%; min-height: 48px; }
  .ret-split-container { gap: 22px !important; }
  .ret-heading { font-size: 27px !important; line-height: 1.18 !important; }
  .ret-journey-heading { font-size: clamp(20px, 5.55vw, 23px) !important; white-space: nowrap; letter-spacing: -0.025em; }
  .ret-journey-subtext { font-size: 13px !important; line-height: 1.45 !important; letter-spacing: 0; }
  .ret-subtext, .ret-body, .ret-poem p { font-size: 14px !important; line-height: 1.62 !important; }
  .ret-guide-editorial { gap: 22px !important; }
  .ret-guide-photo-wrap { width: min(100%, 270px) !important; height: 315px !important; }
  .ret-guide-bio h2 { font-size: 28px !important; }
  .ret-guide-bio p, .ret-guide-bio blockquote { font-size: 14px !important; }
  .ret-spaceholders { margin-top: 42px !important; }
  .ret-spaceholders-header { max-width: 290px; margin-inline: auto; }
  .ret-support-team { gap: 28px !important; }
  .ret-support-card { text-align: center; }
  .ret-support-photo {
    width: min(100%, 228px) !important;
    margin: 0 auto 16px !important;
    border: 0 !important;
    border-radius: 46% 46% 18px 18px !important;
    box-shadow: 0 12px 24px rgba(68, 56, 40, 0.08) !important;
    position: relative;
  }
  .ret-support-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(145deg, rgba(255,255,255,0.15), rgba(109, 92, 63, 0.08));
    pointer-events: none;
  }
  .ret-support-card:first-child::after {
    top: auto !important;
    right: 50% !important;
    bottom: -14px !important;
    left: auto !important;
    width: 58px !important;
    height: 1px !important;
    transform: translateX(50%);
    background: rgba(138, 123, 102, 0.22) !important;
  }
  .ret-support-role { margin-bottom: 6px !important; font-size: 9px !important; letter-spacing: 0.18em !important; }
  .ret-support-card h3 { font-size: 24px !important; }
  .ret-support-line { width: 28px !important; margin: 12px auto 14px !important; }
  .ret-support-card p { max-width: 335px; margin-inline: auto !important; text-align: left; font-size: 13px !important; line-height: 1.57 !important; }
  .ret-day { padding: 18px 14px !important; }
  .ret-day-heading h3 { font-size: 25px !important; }
  .ret-experience { padding: 12px !important; }
  .ret-experience h4 { font-size: 16px !important; }
  .ret-experience p { font-size: 12.5px !important; }
  .ret-details-matrix { gap: 10px !important; }
  .ret-dt-row { padding: 14px !important; }
  .ret-moonlit-canopy-art {
    width: 145% !important;
    right: -8% !important;
    top: 0 !important;
    opacity: 0.16 !important;
  }

  /* Five invitations: dense editorial rows, not oversized mobile cards. */
  .ret-inv-compact-strip { gap: 8px !important; margin-top: 20px !important; }
  .ret-inv-compact-item {
    display: grid !important;
    grid-template-columns: 31px minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    column-gap: 10px;
    align-items: center !important;
    min-height: 76px;
    padding: 13px 15px !important;
    border-radius: 14px !important;
  }
  .ret-inv-compact-num {
    grid-row: 1 / -1;
    align-self: start;
    margin: 3px 0 0 !important;
    font-size: 10px !important;
    letter-spacing: 0.08em;
  }
  .ret-inv-compact-item h4 { margin: 0 !important; font-size: 17px !important; line-height: 1.2 !important; }
  .ret-inv-compact-item p { margin: 3px 0 0 !important; font-size: 12.5px !important; line-height: 1.35 !important; }
  .ret-inv-compact-highlight { min-height: 80px; }

  /* Workshops */
  .workshop-text-section { padding: 80px var(--mp-mobile-gutter) 28px !important; }
  .workshop-title { font-size: 28px !important; line-height: 1.18 !important; }
  .workshop-desc { font-size: 14px !important; line-height: 1.55 !important; }
  .wsc-wrapper, .format-section { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .wsc-main-title, .corp-title, .format-headline { font-size: 26px !important; line-height: 1.22 !important; }
  .wsc-main-subtitle, .corp-subtitle, .format-subhead { font-size: 14px !important; line-height: 1.55 !important; }
  .wsc-series-header { padding: 20px 16px !important; }
  .wsc-workshops-stack { padding: 14px !important; }
  .wsc-workshop-header { padding: 15px 14px !important; }
  .corp-workshops { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .corp-grid, .format-grid { gap: 14px !important; }
  .corp-card { padding: 21px 16px !important; border-radius: 16px !important; }

  /* Membership */
  .mem-hero { padding: 78px var(--mp-mobile-gutter) 28px !important; }
  .mem-hero-title { font-size: 28px !important; line-height: 1.18 !important; }
  .mem-hero-sub { font-size: 14px !important; line-height: 1.55 !important; }
  .mpw .sec { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .mpw h2.serif, .mpw .sec-title.serif, .iw-heading { font-size: 26px !important; line-height: 1.22 !important; }
  .tr .photo-grid { margin-top: 28px !important; }
  .tr .photo-col { min-height: 220px !important; }
  .tr .content-col { padding: 24px 18px !important; }
  .mem-faq-section { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }

  /* Healing */
  .hl-hero { padding: 78px var(--mp-mobile-gutter) 28px !important; }
  .hl-hero-heading { font-size: 28px !important; line-height: 1.18 !important; }
  .hl-hero-sub { font-size: 14px !important; line-height: 1.55 !important; }
  .hl-resonance-section, .hl-process-section { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .hl-res-header, .hl-proc-header { margin-bottom: 30px !important; }
  .hl-res-title, .hl-proc-title, .hl-sec-title { font-size: 26px !important; line-height: 1.22 !important; }
  .hl-res-sub, .hl-proc-sub, .hl-sec-sub { font-size: 14px !important; line-height: 1.55 !important; }
  .hl-res-grid, .hl-proc-steps { gap: 12px !important; }
  .hl-res-card, .hl-proc-step { padding: 20px 16px !important; border-radius: 16px !important; }
  .hl-services-section { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .hl-row { grid-template-columns: 1fr !important; gap: 18px !important; padding: 22px 0 !important; }
  .hl-row-right { align-items: flex-start !important; }
  .hl-book-btn { width: 100%; }

  /* Mentorship */
  .ment-hero { padding: 78px var(--mp-mobile-gutter) 28px !important; }
  .ment-hero-title { font-size: 28px !important; line-height: 1.18 !important; }
  .ment-hero-intro .intro-p { font-size: 14px !important; line-height: 1.55 !important; }
  .ment-audience, .ment-pillars, .ment-tiers { padding: var(--mp-mobile-section) var(--mp-mobile-gutter) !important; }
  .audience-header, .pillars-header, .tiers-header { margin-bottom: 30px !important; }
  .audience-title, .pillars-title, .tiers-section-title { font-size: 26px !important; line-height: 1.22 !important; white-space: normal !important; }
  .audience-subtitle, .pillars-subtitle, .tiers-section-subtitle { font-size: 14px !important; line-height: 1.55 !important; }
  .audience-grid, .pillars-grid, .tiers-grid { gap: 14px !important; }
  .aud-card, .pillar-card, .tier-card { padding: 21px 16px !important; border-radius: 16px !important; }
  .pillar-arrow { display: none !important; }

  /* Contact and legal pages */
  .pg-hero { padding: 94px var(--mp-mobile-gutter) 38px !important; }
  .pg-title { font-size: 30px !important; line-height: 1.18 !important; }
  .pg-contact-wrap { gap: 34px !important; padding: 0 var(--mp-mobile-gutter) var(--mp-mobile-section) !important; }
  .pg-contact-intro, .pg-response-note { font-size: 14px !important; line-height: 1.6 !important; }
  .pg-input, .pg-select, .pg-textarea { min-height: 50px; }
  .pg-textarea { min-height: 140px; }
  .pg-submit { width: 100%; min-height: 50px; }
  .pg-content { padding: 22px var(--mp-mobile-gutter) var(--mp-mobile-section) !important; }
  .pg-content h2 { font-size: 23px !important; line-height: 1.25 !important; }
}

@media (max-width: 380px) {
  :root { --mp-mobile-gutter: 16px; --mp-mobile-section: 48px; }
  .mp-logo { font-size: 22px; }
  .hero-title, .workshop-title, .mem-hero-title, .hl-hero-heading, .ment-hero-title { font-size: 26px !important; }
  .ret-hero-title { font-size: 29px !important; }
}
