/* Mobile refinements shared across the static templates. */
@media (max-width: 850px) {
  .site-header__wrp{display:grid;grid-template-columns:minmax(0, 1fr) auto auto;align-items:center;gap:8px;padding:12px 0}
  .site-header__wrp .logo { min-width: 0; font-size: clamp(23px, 5vw, 30px); }
  .site-header__wrp .logo i { font-size: 14px; }
  .site-header__wrp .menu-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    font-size: 14px;
    border: 0;
    padding: 0 4px;
    text-decoration: none;
    white-space: nowrap;
  }
  
  
  .site-header__wrp .menu-toggle { grid-column: 3; grid-row: 1; }
  .site-header__wrp nav { grid-column: 1 / -1; grid-row: 2; width: 100%; }
  .site-header__wrp nav.is-open { display: block; }
  .site-header nav ul { gap: 0; padding: 8px 0 12px; border-top: 1px solid var(--line); }
  .site-header nav li { border-bottom: 1px solid var(--line); }
  .site-header nav a { display: flex; align-items: center; min-height: 48px; font-size: 14px; text-decoration: none; }
  .site-header nav a[aria-current="page"] { border: 0; padding: 0; color: var(--olive); font-weight: 700; }
  
  .course-detail-hero__content, .product-info, .lesson-content, .article-body__content, .legal-content { min-width: 0; }
  .course-detail-grid,.lesson-layout,.contact-layout__wrp{ min-width: 0; }
  .course-detail-grid > *,.lesson-layout > *,.contact-layout__wrp > *{ min-width: 0; }
  .site-footer{padding-bottom:max(25px, env(safe-area-inset-bottom))}
}
@media (max-width: 550px) {
  body { overflow-wrap: anywhere; }
  .announcement { padding: 8px 12px; line-height: 1.6; letter-spacing: .07em; }
  .announcement span { margin: 0 5px; }
  
  .hero h1,.story-hero h1,.course-detail-hero h1,.contact-heading h1,.article-header h1{
    font-size: clamp(42px, 12vw, 60px);
    line-height: 1.02;
    overflow-wrap: normal;
  }
  .hero__description, .hero__copy>p:not(.eyebrow), .course-detail-lead { font-size: 15px; }
  .hero__actions,.course-detail-actions,.story-invitation__actions{ align-items: flex-start; gap: 16px; }
  .hero__note { padding-top: 40px; }
  
  .image-label { left: 14px; bottom: 80px; }
  .carousel-controls { right: 14px; bottom: 14px; }
  .carousel-controls button { min-width: 44px; min-height: 44px; }
  .section{padding:65px 0}
  .section-top h2,.approach h2,.cta h2,.principles-intro h2,.detail-section h2,.detail-instructor h2,.lesson-section h2,.lesson-end h2,.journal-intro h2,.story-intro h2,.story-approach h2,.story-values h2,.story-invitation h2,.contact-details h2,.contact-form-card h2,.legal-content h2{
    font-size: clamp(36px, 9vw, 48px);
    line-height: 1.08;
    overflow-wrap: normal;
  }
  
  
  
  
  .course-detail-meta { gap: 6px; }
  .course-detail-meta span { font-size: 14px; }
  .program-list summary { grid-template-columns: 30px minmax(0, 1fr) 28px; }
  .program-title strong { font-size: 21px; }
  .program-row { grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; }
  .program-row__status { white-space: nowrap; }
  .detail-section__top, .section-top, .journal-intro, .story-values__head { min-width: 0; }
  .lesson-top { flex-wrap: wrap; padding: 15px 6%; }
  .lesson-top a { display: inline-flex; align-items: center; min-height: 44px; }
  .lesson-content h1 { font-size: clamp(40px, 10vw, 56px); }
  .lesson-action .button,.lesson-end .button{ max-width: 100%; }
  .lesson-sidebar nav a { min-height: 48px; }
  .resource-card, .detail-resource-grid article { min-width: 0; }
  
  
  .contact-form-card input,.contact-form-card textarea,.contact-form-card select,.lesson-section textarea,.catalog-search input,.catalog-sort select,.journal-search input{ font-size: 16px; }
  .catalog-categories button,.journal-filters button{ min-height: 44px; }
  
  .catalog-toolbar { gap: 10px; }
  .catalog-card__image { min-width: 0; }
  .catalog-card__content { min-height: 0; }
  .catalog-card__meta { margin-top: 8px; }
  .contact-method a, .site-footer__wrp a { overflow-wrap: anywhere; }
  
  
  
  
  .article-body__contents nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .article-body__content { font-size: 15px; }
  .article-body__content h2 { font-size: clamp(31px, 8vw, 42px); }
  .article-body__author { gap: 15px; }
  .article-body__author img { width: 70px; height: 70px; flex-shrink: 0; }
  
  .site-footer__wrp{grid-template-columns:repeat(2, minmax(0, 1fr));gap:30px 20px}
  .site-footer__title { margin-bottom: 14px; }
  .site-footer__wrp>div>a:not(.logo) { display: flex; align-items: center; min-height: 36px; margin: 3px 0; }
  .site-footer__bottom{margin-top:50px;line-height:1.8}
  .legal-side nav a { min-height: 48px; align-items: center; }
}
@media (max-width: 360px) {
  .site-header__wrp{gap:4px}
  .site-header__wrp .logo { font-size: 22px; letter-spacing: -.08em; }
  .site-header__wrp .menu-toggle{ font-size: 14px; padding-inline: 3px; }
  .hero h1,.story-hero h1,.course-detail-hero h1{ font-size: 42px; }
  .course-detail-meta span { padding: 7px 9px; }
}
