:root{--mobile-gutter:clamp(1rem,4vw,1.5rem)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden;min-width:320px}
img,video,canvas,svg{max-width:100%;height:auto}
iframe{max-width:100%}
button,input,select,textarea{font:inherit}
a,button,summary,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c28e3f;outline-offset:3px}
@media(max-width:760px){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
  p,li{overflow-wrap:anywhere}
  h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
  a,button,summary{min-height:44px}
  button,.button,[role="button"]{display:inline-flex;align-items:center;justify-content:center}
  input,select,textarea{font-size:16px;max-width:100%}
  table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  pre,code{white-space:pre-wrap;overflow-wrap:anywhere}
  dialog{max-width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem);overflow:auto}
  .blog-header,.site-header,.reader-nav,.book-nav{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
  .article-layout,.section-shell,.section,.threshold-inner{max-width:100%}
  .article-hero,.blog-index-hero{padding-left:var(--mobile-gutter);padding-right:var(--mobile-gutter)}
  .article-layout{width:calc(100% - 2rem);gap:1.5rem}
  .toc{display:flex;gap:.5rem;overflow-x:auto;scrollbar-width:thin;padding-bottom:.75rem;overscroll-behavior-inline:contain}
  .toc strong{flex:0 0 100%;display:none}.toc a{flex:0 0 auto;display:inline-flex!important;align-items:center;padding:.55rem .75rem;margin:0!important;border:1px solid rgba(118,38,49,.18);background:#fff;white-space:nowrap}
  .article-body{max-width:100%}.article-body figure{margin-left:0;margin-right:0}.article-body img{width:100%;object-fit:cover}
  .article-cta{padding:1.5rem}.article-cta a{width:100%;text-align:center}
  .spark-cookie-banner{max-height:calc(100dvh - 1rem);overflow:auto}
  .reader-toolbar,.journal-actions,.shelf-actions,.hero-actions,.conversion-actions{gap:.75rem}
  .hero-actions,.conversion-actions,.journal-actions{display:grid;grid-template-columns:1fr}
  .hero-actions>a,.hero-actions>button,.conversion-actions>a,.conversion-actions>button,.journal-actions>a,.journal-actions>button{width:100%}
  .book-grid,.post-grid,.portal-library-grid,.resource-grid,.feature-grid,.faith-grid{grid-template-columns:1fr!important}
  .reader-toolbar button,.journal-actions button,.shelf-actions a,.shelf-actions button{min-height:46px}
  [id]{scroll-margin-top:88px}
  .faith-reading-paths,.faith-reading-workspace,.formation-destinations{min-width:0}
  .faith-reading-checks label{min-width:0}
  .formation-archive>summary{min-height:52px}
}
.library-finder{margin:1.5rem 0 2rem;padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(118,38,49,.18);background:#fffaf7}
.library-finder label{display:block;margin-bottom:.5rem;color:#762631;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.library-finder input{width:100%;min-height:50px;padding:0 1rem;border:1px solid rgba(118,38,49,.25);background:#fff}
.library-filter-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}
.library-filter-buttons button{min-height:40px;padding:.45rem .75rem;border:1px solid rgba(118,38,49,.25);background:#fff;color:#762631}
.library-filter-buttons button.active{background:#762631;color:#fff}
.library-finder [role="status"]{min-height:1.3em;margin:.6rem 0 0;color:#725e60;font-size:.76rem}
@media(max-width:760px){.library-filter-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.library-filter-buttons button{padding:.45rem .3rem;font-size:.68rem}.portal-library-grid article[hidden]{display:none!important}}
@media(max-width:420px){
  .blog-header{align-items:center!important;gap:.75rem}.blog-brand{font-size:.75rem;max-width:38%;line-height:1.2}
  .blog-header nav{flex-direction:row!important;gap:.45rem;max-width:60%;overflow-x:auto;padding-bottom:.2rem;text-align:left!important}
  .blog-header nav a{white-space:nowrap;display:inline-flex;align-items:center;font-size:.6rem}
  .article-hero h1,.blog-index-hero h1{font-size:clamp(2.35rem,13vw,3rem)!important}
  .post-card{padding:1.25rem;min-height:200px}.key-list{padding:1rem 1rem 1rem 2rem}
  .article-body{font-size:1rem;line-height:1.78}.answer-box{padding:1.1rem;margin-bottom:2rem}.faq-block summary{padding:.35rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.journal-search{width:min(760px,calc(100% - 2rem));margin:0 auto 2rem;padding:clamp(1rem,3vw,1.5rem);background:#fff;border:1px solid rgba(118,38,49,.16);box-shadow:0 16px 45px rgba(64,21,29,.06)}
.journal-search label{display:block;margin-bottom:.55rem;color:#762631;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.journal-search input{width:100%;min-height:50px;padding:0 1rem;border:1px solid rgba(118,38,49,.28);background:#fffaf7;color:#302124}
.journal-search p{min-height:1.3em;margin:.45rem 0 0;color:#725e60;font-size:.78rem}
.mobile-portal-nav{display:none}
@media(max-width:760px){
  body:has(.mobile-portal-nav){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
  .mobile-portal-nav{position:fixed;z-index:90;left:.55rem;right:.55rem;bottom:calc(.45rem + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.35rem;border:1px solid rgba(118,38,49,.2);border-radius:18px;background:rgba(255,250,247,.96);box-shadow:0 18px 55px rgba(45,16,22,.2);backdrop-filter:blur(16px)}
  .mobile-portal-nav a{display:flex;align-items:center;justify-content:center;min-width:0;padding:.6rem .25rem;border-radius:13px;color:#762631;text-align:center;text-decoration:none;font-size:.66rem;font-weight:700;letter-spacing:.03em}
  .mobile-portal-nav a[href="/portal/messages/"]{background:#762631;color:#fff}
  .journal-search{width:calc(100% - 2rem);margin-bottom:1.5rem}
}
