/* Visitor completion, responsive layout and accessible controls. */
@font-face {font-family:'Nunito Sans';src:url('/assets/fonts/NunitoSans-Regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face {font-family:'Nunito Sans';src:url('/assets/fonts/NunitoSans-Bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
body {font-family:'Nunito Sans',system-ui,sans-serif}
.long-articles p {font-family:'Nunito Sans',system-ui,sans-serif}
.eyebrow,.nav-link,.menu-link,.button,.duration,button,.type-label {font-family:'Nunito Sans',system-ui,sans-serif}
html {scroll-padding-top:1rem}
main:focus {outline:none}
.skip-link:focus {z-index:100}
main,section,article,.book-detail-copy,.hero-copy {min-width:0}
h1,h2,h3 {overflow-wrap:break-word}
p,li,a,dd {overflow-wrap:break-word}
.hero-chant {line-height:1.02}
.button,button,summary,.type-label {min-height:44px}
.brand {min-height:44px;display:flex;align-items:center}
.type-label {min-width:44px}
button {font:inherit;cursor:pointer}
.button,.motion-toggle {display:inline-flex;align-items:center;justify-content:center;text-align:center}
button:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible {outline:3px solid #42561c;outline-offset:4px}
.type-toggle:focus-visible~.site-shell .type-label {outline:3px solid #42561c;outline-offset:4px}
.feeling-choices input:focus-visible+span {outline:3px solid #42561c;outline-offset:4px}
.feeling-choices input:checked+span {border-width:3px;box-shadow:inset 0 0 0 2px #fff}
.feeling-choices input:checked+span b::before {content:'\2713\0020'}
.nav-link[aria-current],.menu-link[aria-current] {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.35em}
.nav-link,.menu-link {min-height:44px;display:inline-flex;align-items:center}
html.large-text {font-size:125%}
.has-controls .type-toggle:checked~.site-shell {font-size:inherit}
.type-label {font-size:.9rem;line-height:1.1}
.type-label>span:not(.sr-only) {display:inline}
.motion-toggle {margin:0 0 1.5rem;padding:.6rem 1rem;border:2px solid var(--pine);border-radius:2rem;background:var(--paper);color:var(--pine);font-weight:700}
.motion-static *, .motion-static *::before, .motion-static *::after {animation:none!important;transition:none!important}
.motion-static .zone-a .scene-actor {opacity:1!important}
.motion-static .pose-idle {opacity:0!important}
.motion-static .pose-react {opacity:1!important}
.motion-static .leaf-fleck,.motion-static .landing-dust {display:none}
.download-section {background:var(--paper)}
.download-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:2rem 0}
.download-card {border:1px solid var(--line);border-radius:1.2rem;padding:1.6rem;background:var(--cream)}
.download-card h3 {margin-bottom:.7rem}
.download-actions {display:flex;flex-wrap:wrap;gap:.8rem}
.download-link {flex-direction:column;flex:1 1 180px;gap:.2rem;padding:.85rem 1rem}
.download-link small {display:block;font-weight:400;font-size:.8rem}
.print-note {border-left:4px solid var(--pine);padding-left:1rem}
.download-section:target,.pending-panel:target {scroll-margin-top:1rem}
.guidance-grid {grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.guidance-grid .info-panel:last-child {grid-column:auto}
.site-head .primary-nav {gap:.5rem}
.site-head .nav-link {padding:.25rem .2rem}
@media(max-width:650px) {
  .section {padding-left:1.2rem;padding-right:1.2rem}
  .download-grid {grid-template-columns:1fr}
  .download-card {padding:1.25rem}
  .head-tools {gap:.45rem}
  .site-head {gap:.5rem;padding-inline:1rem}
  .site-head .brand {width:clamp(112px,35vw,150px)}
  .hero-land {min-height:0}
  .home-hero .hero-island {max-width:100%;height:auto}
  .home-hero .hero-land {padding:0 1.2rem 1.5rem}
  .feeling-choices,.breath-grid {gap:.7rem}
  .feeling-choices img,.breath-grid img {height:clamp(120px,40vw,180px)}
  .friend-card img {height:clamp(125px,38vw,180px)}
  .book-detail-art {min-height:0;aspect-ratio:1672/941}
  .book-detail-copy {padding:2.5rem 1.2rem}
  .hero-chant {font-size:clamp(3rem,13vw,5rem)}
  .mobile-menu[open] nav {width:min(300px,calc(100vw - 2rem));max-height:75vh;overflow-y:auto}
}
@media(max-width:360px) {
  .type-label {min-width:44px;padding:.2rem}
  .mobile-menu summary {padding:.5rem .6rem}
  .site-head {padding-inline:.75rem}
  .friend-grid {grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto}
  .motion-toggle {display:none}
}
