
@media (max-width: 600px) {
  body { font-size: 15.5px; }
  section { padding: 56px 0; }
  section.tight { padding: 40px 0; }

  h1 { font-size: clamp(2.2rem, 10vw, 3rem); line-height: 1.05; letter-spacing: -0.02em; }
  h2 { font-size: clamp(1.8rem, 7vw, 2.4rem); line-height: 1.1; letter-spacing: -0.01em; }
  h3 { font-size: 1.4rem; }

  .container, .container-narrow, .container-wide { padding: 0 20px; }

  .eyebrow { font-size: 0.68rem; letter-spacing: 0.22em; margin-bottom: 1rem; }

  .lead { font-size: 1.02rem; line-height: 1.55; }

  blockquote { font-size: 1.4rem; line-height: 1.3; margin: 1.5rem 0; padding-left: 1rem; }

  
  .nav-inner { padding: 12px 18px; }
  
  :root { --nav-h: 65px; }
  .nav-brand { font-size: 1.35rem; }
  
  

  
  .hero { padding-top: 88px; }
  .hero-inner { padding: 20px 20px 64px; gap: 28px; min-height: auto; }
  .hero .hero-name { font-size: 0.7rem; letter-spacing: 0.22em; margin-bottom: 1.2rem; }
  .hero h1 { font-size: clamp(2.4rem, 11vw, 3.4rem); margin-bottom: 1rem; }
  .hero-line { font-size: 1rem; line-height: 1.55; margin-bottom: 1.8rem; }
  .hero-portrait { aspect-ratio: 3 / 4; }
  .hero .btn-lg { padding: 16px 28px; font-size: 0.95rem; }

  
  .philosophy blockquote { font-size: 1.5rem; line-height: 1.3; text-align: left; }
  

  
  
  
  
  
  
  

  
  .opt-card { padding: 30px 24px; min-height: auto; }
  .opt-card h3 { font-size: 1.6rem; }

  
  .book-cta-inner { gap: 28px; }
  .book-cta-meta { gap: 20px; margin-top: 1.4rem; }
  .book-cta-meta dd { font-size: 1.15rem; }
  .book-cta .btn-lg { width: 100%; }

  
  .footer { padding: 48px 0 28px; }
  .footer-top { gap: 28px; margin-bottom: 32px; grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; gap: 14px; }

  
  
  
  
  

  
  
  
  
  
  
  
  
  
  
  
  

  
  .modal { padding: 0; align-items: stretch; }
  .modal-inner {
    padding: 32px 20px 20px;
    border-radius: 0;
    max-height: 100vh;
    max-height: 100dvh;
    height: 100vh;
    height: 100dvh;
  }

  
  .book-embed-section { padding: 40px 0; }
  .book-embed-frame-wrap { margin-top: 24px; }
  .book-embed-frame {
    height: clamp(640px, 100dvh, 1100px);
    border-radius: 0;
  }

  
  
  

  
  

  
  
  
  

  
  body .mobile-book-pin { display: flex; }
  body { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }

  
  
  
  .credentials { grid-template-columns: 1fr; gap: 12px; margin-top: 32px; }
  

  
  
  
}

@media (max-width: 400px) {
  .container, .container-narrow, .container-wide { padding: 0 16px; }
  .hero-inner { padding-left: 16px; padding-right: 16px; }
  .nav-inner { padding: 12px 16px; }
  h1 { font-size: 2.1rem; }
}

@media (min-width: 601px) and (max-width: 960px) {
  .hero-inner { grid-template-columns: 1fr; gap: 40px; min-height: auto; padding-top: 24px; }
  .hero-portrait { aspect-ratio: 16 / 10; max-height: 400px; }
}

@media (hover: none) and (pointer: coarse) {
  .btn { min-height: 48px; }
  
  .nav-links a { min-height: 48px; display: flex; align-items: center; }
  .opt-card:hover { transform: none; }
  
  
  .nav-brand { padding: 10px; margin: -10px; }
  .footer-col a { padding: 3px 0; }
  .opt-card-cta a { padding: 4px 0; }
  .dp-meta .dp-gmc { padding: 4px 0; margin: -4px 0; }
}

