/* Shared responsive contract for every public East TN Views surface. */
html { overflow-x:clip; -webkit-text-size-adjust:100%; }
body { min-width:320px; }
img,video,svg { max-width:100%; }
button,input,select,textarea { font:inherit; }
.nav-family:not([open]) > .nav-family-menu { display:none !important; }
.nav-family-menu { max-height:min(72svh,620px); overflow-y:auto; overscroll-behavior:contain; }
.nav-family-menu a,.nav-family > summary,.footer-links a,.footer-nav a,.tag-links a { min-height:44px; }
.guide-place-actions a,.product-breadcrumbs a,.book-details-link,.text-link { display:inline-flex; min-height:44px; align-items:center; }
.section-head h2,.published-copy h3,.guide-place-card h3,.merchandise-copy h3,.managed-page-copy { overflow-wrap:anywhere; }
.shop-hero h1,.strong-hero h1,.coloring-product-copy h1 { font-size:clamp(3.6rem,7vw,6rem); }

@media (max-width:720px) {
  .shell { width:min(100% - 1.5rem,620px); }
  .site-header .shell { width:calc(100% - .75rem); }
  .site-header { padding-top:max(.15rem,env(safe-area-inset-top)); }
  .site-header .nav,.site-header .nav-links,.site-header .links { position:relative; }
  .site-header .nav-family { position:static !important; }
  .site-header .nav-family-menu {
    position:absolute;
    left:50% !important;
    right:auto !important;
    width:min(calc(100vw - 1rem),680px) !important;
    transform:translateX(-50%) !important;
    grid-template-columns:1fr 1fr;
  }
  .site-header .nav-olive-menu { width:min(calc(100vw - 1rem),360px) !important; grid-template-columns:1fr; }
  .site-header .nav-local-group { padding:.45rem; }
  .site-header .nav-local-group strong { padding:.35rem .45rem; font-size:.62rem; }
  .site-header .nav-local-group a { min-height:44px; padding:.45rem; font-size:.9rem; }

  .section { padding:1.65rem 0; }
  .section-head { margin-bottom:1.25rem; }
  .section-head p { margin-top:.65rem; }
  main .page-hero:not(.photo-led-hero),.compact-text-hero { padding:.85rem 0 1rem; }
  main .page-hero:not(.photo-led-hero) h1,.compact-text-hero h1 { font-size:clamp(2.9rem,13vw,3.8rem); line-height:.9; }
  main .page-hero:not(.photo-led-hero) p,.compact-text-hero p { margin-top:.6rem; }
  .photo-led-hero { padding:.8rem 0 0; }
  .photo-led-copy { padding:.15rem 0 .45rem; }
  .photo-led-copy h1 { font-size:clamp(3rem,14vw,3.8rem); }
  .photo-led-image { height:240px; margin-inline:-.75rem; }
  .strong-hero h1 { font-size:clamp(3rem,14vw,3.8rem); }
  .strong-balance a { min-height:60px; }

  .guide-place-card,.guide-stay-card { min-height:0; }
  .guide-place-actions { gap:.15rem .8rem; }
  .local-guide-related .topic-card { min-height:132px; padding:1rem; }
  .local-guide-related .topic-card strong { font-size:1.9rem; }
  .community-section,.newsletter { padding:1.9rem 0; }
  .community-intro { gap:.65rem; }

  .shop-hero-copy { padding:1.15rem 0 1rem; }
  .shop-hero h1 { font-size:clamp(3.25rem,14vw,4.25rem); }
  .shop-hero-image { min-height:260px; height:260px; margin-inline:-.75rem; }
  .merch-crop { height:225px; }
  .logo-choice-feature figure,.packaging-feature figure { min-height:240px; }
  .collection-preview-grid { grid-template-columns:1fr 1fr; gap:.45rem; }
  .collection-preview-grid figure { min-height:210px; }
  .collection-preview-grid figcaption { inset:auto .35rem .35rem; display:block; padding:.4rem; }
  .collection-preview-grid figcaption strong { font-size:1.2rem; }
  .collection-preview-grid figcaption span { display:block; margin-top:.2rem; }
  .coloring-book-feature figure { min-height:235px; }
  .coloring-product-cover { margin-inline:0; }
  .coloring-product-copy h1 { font-size:clamp(3.1rem,14vw,3.8rem); }
  .product-detail { width:calc(100% - 1.5rem); padding-bottom:1.8rem; }
  .product-detail-grid figure,.product-detail-grid figure img { min-height:270px; }
  .product-detail-grid h1 { font-size:clamp(2.8rem,13vw,3.7rem); }

  footer { padding:2rem 0 max(1rem,env(safe-area-inset-bottom)); }
  .footer-top { gap:1.4rem; padding-bottom:1.6rem; }
  .footer-nav,.footer-links { gap:.15rem 1rem; }
  .footer-nav a,.footer-links a { display:inline-flex; align-items:center; }
  .site-credit a { display:inline-flex; min-height:36px; align-items:center; }
  .footer-bottom { margin-top:1.25rem; padding-top:1rem; }
}

@media (max-width:480px) {
  .hero { margin-top:.5rem; }
  .hero-logo-stage { min-height:0; padding:.2rem; }
  .hero-logo-stage .hero-logo-fallback,.hero-logo-stage video { width:min(62vw,240px); }
  .hero-motion-note { display:none; }
  .hero-copy { padding:.85rem 1rem 1.15rem; }
  .hero-brand-line { margin-bottom:.35rem; font-size:.62rem; }
  .hero .script-label { font-size:1.75rem; }
  .hero h1 { margin:.15rem 0 .7rem; font-size:clamp(3.1rem,14vw,3.8rem); line-height:.86; }
  .hero-copy p { margin-bottom:1rem; font-size:.95rem; }
  .hero-note { margin-top:1rem; }
  .intro { gap:.75rem; padding:1.4rem 0; }
  .intro h2 { font-size:2.65rem; }
  .intro p { margin:0; font-size:1rem; }
  .guide-card { min-height:145px; padding:.85rem; }
  .latest-update { gap:.65rem; }
  .latest-update .published-card { grid-template-columns:92px minmax(0,1fr); min-height:112px; }
  .latest-update .published-card img { min-height:112px; }
  .latest-update .published-card div { padding:.7rem; }
  .latest-update .published-card p { display:-webkit-box; overflow:hidden; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .newsletter-wrap { gap:1.25rem; }
  .newsletter h2 { font-size:2.7rem; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  [data-brand-motion] { display:none !important; }
  .hero-logo-fallback { opacity:1 !important; }
}
