/* Mobile and tablet refinements. Loaded after the core and gallery styles. */
html{scroll-padding-top:calc(48px + env(safe-area-inset-top, 0px))}body{overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}

@media (max-width:900px){
  .wrap{width:min(720px,calc(100% - 2rem))}
  .site-header{padding:max(.78rem,env(safe-area-inset-top)) 1rem .78rem;background:linear-gradient(180deg,rgba(10,34,25,.72),rgba(10,34,25,0));}
  .site-header.scrolled{padding:max(.68rem,env(safe-area-inset-top)) 1rem .68rem}
  .site-header.menu-open,
  .site-header:has(.site-nav.open),
  body.menu-open .site-header {
    background: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .site-header.menu-open::before,
  .site-header:has(.site-nav.open)::before,
  body.menu-open .site-header::before {
    opacity: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .brand{position:relative;z-index:10;min-width:0}
  .brand-text{min-width:0}
  .brand-text strong{font-size:1rem;white-space:nowrap}
  .menu-toggle{display:block;position:relative;z-index:10;width:48px;height:48px;padding:.72rem;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(10,34,25,.2);backdrop-filter:blur(10px)}
  .menu-toggle span:not(.sr-only){margin:.34rem 0;transition:transform .24s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:not(.sr-only):nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-nav{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:2;align-items:flex-start;justify-content:flex-start;gap:0;padding:calc(6.5rem + env(safe-area-inset-top)) 1.5rem calc(2rem + env(safe-area-inset-bottom));overflow-y:auto;background:radial-gradient(circle at 80% 10%,rgba(202,168,90,.12),transparent 30%),rgba(10,34,25,.985)}
  .site-nav a{width:100%;padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:clamp(1.7rem,6vw,2.15rem);line-height:1.1;opacity:.94}
  .site-nav a:first-child{border-top:1px solid rgba(255,255,255,.1)}
  .site-nav a:after{display:none}
  .site-nav a[href="#artwork"]{color:var(--gold-2)}

  .hero{min-height:100dvh;place-items:stretch}
  .hero-inner{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:2rem;padding-top:clamp(7rem,14vh,9rem);padding-bottom:clamp(4rem,9vh,6rem)}
  .hero-copy{max-width:680px}
  .hero h1{font-size:clamp(3.6rem,12.5vw,6.8rem);line-height:.91;max-width:9ch;overflow-wrap:normal}
  .hero-lead{font-size:clamp(1rem,2.7vw,1.18rem);line-height:1.55;margin-top:1.35rem}
  .hero-actions{margin-top:1.65rem;gap:1rem}
  .button{min-height:48px;padding:.86rem 1.3rem}
  .text-link{display:inline-flex;align-items:center;min-height:44px}
  .hero-prayer{margin:0;max-width:560px;padding:1rem 0 0 1.25rem}
  .hero-prayer p{font-size:clamp(1.3rem,4vw,1.75rem)}
  .hero-water{height:25vh;bottom:-5vh}
  .scroll-cue{display:none}

  .section{padding-block:clamp(4.75rem,10vw,6.5rem)}
  .section-heading h2,.formation-copy h2,.invite-copy h2,.contact-inner h2{font-size:clamp(2.65rem,7vw,4.4rem);line-height:1}
  .split-layout,.formation-grid,.invite-grid{gap:2.5rem}
  .values-grid{gap:.8rem;margin-top:3rem}
  .value-card{min-height:0;padding:1.65rem}
  .lead-copy{font-size:clamp(1.3rem,4vw,1.65rem)}

  .about-photo{width:min(720px,calc(100% - 2rem));margin-top:3.25rem}
  .about-photo img{height:clamp(430px,92vw,620px)}
  .image-caption{left:1.35rem;right:1.35rem;bottom:1.35rem}

  .journey-photo{margin:3rem 0 3.5rem}
  .journey-photo img{aspect-ratio:16/9}
  .timeline{margin-top:3.5rem}
  .timeline-card{padding-right:.25rem}

  .formation-grid{gap:1.5rem}
  .formation-visual{min-height:300px}
  .ring-one{width:210px;height:210px}
  .ring-two{width:290px;height:290px}
  .formation-flame{width:135px;height:135px;font-size:3rem}

  .story-grid{margin-top:3rem;gap:.8rem}
  .story-card{min-height:0;padding:1.65rem}
  .story-card.featured{transform:none}
  .ministry-grid{margin-top:2.75rem;gap:.8rem}
  .ministry-card{padding:1.75rem}

  .artwork-intro{gap:1.5rem}
  .artwork-grid{margin-top:3rem;gap:.85rem}
  .art-card-image,.art-card.featured .art-card-image{min-height:0;aspect-ratio:4/5;padding:1rem}
  .art-card img{max-height:none}

  .prayer-image-grid{grid-template-columns:1fr}
  .prayer-image{height:min(78vw,560px);min-height:390px}
  .prayer-image:after{background:linear-gradient(180deg,transparent 55%,rgba(15,43,32,.25))}
  .prayer-image-copy{padding:4rem max(1rem,calc((100vw - 720px)/2)) 4.5rem}

  .invite-panel{padding:1.65rem}
  .invite-panel li{grid-template-columns:32px 1fr;gap:.6rem}
  .contact-inner{gap:1.5rem}
  .footer-inner{gap:1rem}
  .footer-inner>p{line-height:1.45}
}

@media (max-width:640px){
  html{scroll-padding-top:calc(42px + env(safe-area-inset-top, 0px))}
  .wrap{width:calc(100% - 1.25rem)}
  .site-header{padding:max(.62rem,env(safe-area-inset-top)) .72rem .62rem}
  .site-header.scrolled{padding:max(.58rem,env(safe-area-inset-top)) .72rem .58rem}
  .brand-text strong{font-size:.9rem;letter-spacing:.025em}
  .brand-text small{font-size:.52rem;letter-spacing:.2em}
  .menu-toggle{width:46px;height:46px}
  .site-nav{padding-left:1rem;padding-right:1rem}

  .hero-inner{width:calc(100% - 1.5rem);padding-top:6.9rem;padding-bottom:4rem;gap:1.6rem}
  .hero h1{font-size:clamp(3rem,15.8vw,4.85rem);max-width:8.4ch}
  .hero-lead{font-size:1rem;margin-top:1.15rem}
  .hero-actions{align-items:stretch;flex-direction:column;gap:.55rem;width:100%}
  .hero-actions .button{width:100%}
  .hero-actions .text-link{width:max-content;padding-block:.45rem}
  .hero-prayer{padding-left:1rem;border-left-color:rgba(226,199,127,.38)}
  .hero-prayer p{font-size:1.25rem}
  .hero-prayer small{font-size:.78rem}
  .hero-radiance{width:120vw;height:120vw;right:-45vw;top:-20vw}
  .hero-water{height:21vh}

  .eyebrow{font-size:.67rem;letter-spacing:.16em;margin-bottom:.75rem}
  .section{padding-block:4.2rem}
  .section-heading h2,.formation-copy h2,.invite-copy h2,.contact-inner h2{font-size:clamp(2.35rem,11vw,3.25rem);letter-spacing:-.035em}
  .split-layout{gap:1.75rem}
  .prose p{font-size:.98rem}
  .lead-copy{font-size:1.28rem}
  .values-grid{margin-top:2.35rem}
  .value-card,.story-card,.ministry-card{padding:1.35rem}
  .value-card h3{font-size:1.45rem}
  .ministry-card h3{font-size:1.7rem}

  .about-photo{width:calc(100% - 1.25rem);margin-top:2.5rem}
  .about-photo img{height:120vw;max-height:560px;object-position:61% center}
  .about-photo:after{inset:38% 0 0}
  .image-caption{left:1rem;right:1rem;bottom:1rem;font-size:1rem;line-height:1.35}

  .journey-photo{margin:2.4rem 0 3rem}
  .journey-photo img{aspect-ratio:4/3}
  .journey-photo figcaption{padding:.85rem 1rem}
  .timeline{margin-top:2.8rem}
  .timeline:before{left:8px}
  .timeline-item{gap:.35rem;padding-left:30px;padding-bottom:1.8rem}
  .timeline-item:before{left:3px;top:.4rem}
  .timeline-year{font-size:.72rem}
  .timeline-card{padding:.75rem 0 1rem;border-top-color:rgba(255,255,255,.12)}
  .timeline-card h3{font-size:1.45rem;line-height:1.15}
  .timeline-card p{font-size:.92rem;line-height:1.55}

  .formation-visual{display:none}
  .formation-tags{gap:.45rem;margin-top:1.25rem}
  .formation-tags span{font-size:.77rem;padding:.42rem .62rem}

  .section-heading.centered{text-align:left}
  .section-heading.centered h2,.section-heading.centered>p:last-child{margin-inline:0}
  .story-grid{margin-top:2.2rem}
  .story-card h3{font-size:1.65rem}
  .testimony-note{text-align:left;margin-top:1.75rem}

  .artwork-intro{display:block}
  .artwork-intro>p:last-child{margin-top:1.25rem}
  .artwork-grid{grid-template-columns:1fr;margin-top:2.25rem}
  .art-card.featured{grid-column:auto}
  .art-card-image,.art-card.featured .art-card-image{aspect-ratio:4/5;min-height:0;padding:.75rem}
  .art-card figcaption{padding:1rem 1.05rem 1.15rem}
  .art-card figcaption strong{font-size:1.15rem}
  .art-note{margin-top:1.35rem}

  .prayer-image{height:112vw;min-height:0;max-height:520px}
  .prayer-image-copy{padding:3.35rem .75rem 3.75rem}
  .prayer-image-copy blockquote{font-size:clamp(2.4rem,12vw,3.4rem)}

  .ministry-grid{margin-top:2.25rem}
  .invite-grid{gap:2.25rem}
  .invite-panel{padding:1.25rem}
  .invite-panel h3{font-size:1.55rem}
  .invite-panel li{padding:.9rem 0;font-size:.9rem;line-height:1.45}
  .invite-copy .button{width:100%;margin-top:.5rem}

  .contact-inner{grid-template-columns:1fr}
  .contact-mark{display:none}
  .site-footer{padding:1.65rem 0 calc(1.65rem + env(safe-area-inset-bottom))}
  .footer-inner{grid-template-columns:1fr;text-align:center}
  .footer-brand{justify-content:center}
  .copyright{text-align:center}
}

@media (max-width:380px){
  .brand-text strong{font-size:.82rem}
  .hero h1{font-size:clamp(2.75rem,15.2vw,3.5rem)}
  .section-heading h2,.formation-copy h2,.invite-copy h2,.contact-inner h2{font-size:2.25rem}
}

@media (max-width:900px) and (max-height:600px) and (orientation:landscape){
  .hero{min-height:680px}
  .hero-inner{min-height:680px;padding-top:6.5rem;padding-bottom:3rem}
  .hero h1{font-size:clamp(3.25rem,9vw,5rem)}
  .hero-prayer{display:none}
  .site-nav{padding-top:5.5rem}
  .site-nav a{padding:.65rem 0;font-size:1.55rem}
}

@media (prefers-reduced-motion:reduce){
  .menu-toggle span:not(.sr-only){transition:none}
}
