/* Make Jesus Famous — site styles. Design: Codex homepage (bake-off winner 9/17). Tokens + components shared by every page. */
:root{--black:#000;--off-white:#f5f5f0;--white:#fff;--slate:#234f6a;--gold:#ffcb66;--orange:#ef4b2f;--ink:#10100f;--muted:#62625b;--line:rgba(245,245,240,.22);--pad:clamp(1.25rem,4vw,5rem);--max:1440px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;color:var(--ink);background:var(--off-white);font-family:"Poppins",Arial,sans-serif;font-size:1rem;line-height:1.6;overflow-x:hidden}body.menu-open{overflow:hidden}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:1000;transform:translateY(-160%);background:var(--gold);color:var(--black);padding:.7rem 1rem;font-weight:700;text-decoration:none}.skip-link:focus{transform:translateY(0)}
.shell{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--pad)}.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1rem;font-size:.78rem;line-height:1;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.eyebrow::before{content:"";width:1.75rem;height:3px;background:currentColor;flex:none}.section-title{max-width:14ch;margin:0;font-size:clamp(2.5rem,5.6vw,5.6rem);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;text-wrap:balance}.section-intro{max-width:55ch;margin:1.1rem 0 0;font-size:clamp(1rem,1.4vw,1.15rem)}
.btn{display:inline-flex;min-height:3.35rem;align-items:center;justify-content:center;gap:.8rem;border:2px solid currentColor;padding:.85rem 1.25rem;background:transparent;color:inherit;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:transform .22s,background-color .22s,color .22s,box-shadow .22s}.btn::after{content:"↗";font-size:1rem;transition:transform .22s}.btn:hover{transform:translateY(-3px)}.btn:hover::after{transform:translate(3px,-3px)}.btn--gold{border-color:var(--gold);background:var(--gold);color:var(--black);box-shadow:7px 7px 0 var(--orange)}.btn--light{border-color:var(--off-white);color:var(--off-white)}.btn--light:hover{background:var(--off-white);color:var(--black)}.btn--black{border-color:var(--black);background:var(--black);color:var(--off-white)}.btn--plain::after{content:none}
/* header */
header.site{position:absolute;inset:0 0 auto;z-index:50;color:var(--off-white);border-bottom:1px solid rgba(245,245,240,.18)}header.site.solid{position:relative;background:var(--black)}.nav-wrap{display:flex;min-height:5.2rem;align-items:center;justify-content:space-between;gap:2rem}.brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;text-transform:uppercase}.brand img{width:2.6rem;height:2.6rem;border-radius:50%;flex:none}.brand-name{font-size:clamp(.82rem,1.25vw,1rem);font-weight:700;line-height:1.05;letter-spacing:-.03em}.brand-name span{display:block}.nav-links{display:flex;align-items:center;gap:clamp(1rem,2vw,2.3rem)}.nav-links>a:not(.btn){position:relative;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-decoration:none;text-transform:uppercase}.nav-links>a:not(.btn)::after{content:"";position:absolute;right:0;bottom:-.45rem;left:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .2s}.nav-links>a:not(.btn):hover::after,.nav-links>a[aria-current]::after{transform:scaleX(1);transform-origin:left}.menu-button{display:none;width:3rem;height:3rem;border:1px solid var(--line);background:transparent;color:inherit;cursor:pointer}.menu-button span,.menu-button::before,.menu-button::after{content:"";display:block;width:1.25rem;height:2px;margin:4px auto;background:currentColor;transition:transform .2s,opacity .2s}
/* hero (home) */
#hero{position:relative;min-height:min(820px,94svh);display:grid;align-items:end;isolation:isolate;overflow:hidden;color:var(--off-white);background:var(--black)}.hero-photo{position:absolute;inset:0;z-index:-4}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:.55}.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,.85) 100%)}.hero-glow{position:absolute;z-index:-2;width:60vw;aspect-ratio:1;border-radius:50%;top:-22vw;right:-8vw;opacity:.5;filter:blur(4px);background:radial-gradient(circle,rgba(255,203,102,.5) 0 6%,rgba(239,75,47,.3) 24%,rgba(35,79,106,.18) 43%,transparent 70%);animation:breathe 9s ease-in-out infinite alternate;pointer-events:none}.hero-grid{position:absolute;inset:0;z-index:-3;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:5rem 5rem;mask-image:linear-gradient(to bottom,black,transparent 80%)}.hero-inner{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:end;gap:clamp(2rem,5vw,6rem);padding-top:8rem;padding-bottom:clamp(2.5rem,5vw,4.5rem)}.hero-kicker{color:var(--gold)}h1{max-width:9ch;margin:0;font-size:clamp(3.6rem,7.6vw,7.4rem);line-height:.82;font-weight:700;letter-spacing:-.07em;text-transform:uppercase;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.5)}.hero-copy{align-self:end;padding-bottom:.4rem}.hero-copy p{max-width:34rem;margin:0 0 1.6rem;color:rgba(245,245,240,.9);font-size:clamp(1.05rem,1.4vw,1.25rem)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-rule{position:absolute;right:0;bottom:0;left:0;height:.45rem;background:linear-gradient(90deg,var(--gold) 0 58%,var(--orange) 58% 76%,var(--slate) 76%)}
.media-placeholder{position:relative;display:grid;min-height:14rem;place-items:center;overflow:hidden;border:2px dashed currentColor;color:inherit;background:repeating-linear-gradient(-45deg,rgba(255,255,255,.025) 0 12px,transparent 12px 24px)}.media-placeholder::before{content:"";position:absolute;inset:1rem;border:1px solid currentColor;opacity:.2}.media-placeholder span{position:relative;z-index:1;max-width:24ch;padding:1rem;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
/* story video (his home-page loop, carried over) */
#story-video{background:var(--black);padding:1rem 0 0}.story-video{position:relative;margin:0;border:2px solid rgba(245,245,240,.25);background:var(--black);overflow:hidden}.story-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.story-video figcaption{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;pointer-events:none}.story-video figcaption .promo-tag{position:static}.story-video figcaption .btn{pointer-events:auto}.btn--sm{min-height:2.6rem;padding:.6rem .9rem;font-size:.68rem;background:rgba(0,0,0,.7);border-color:rgba(245,245,240,.6)}
@media(max-width:780px){.story-video figcaption{position:static;padding:.75rem .9rem;background:var(--black);border-top:2px solid rgba(245,245,240,.25);pointer-events:auto}.story-video figcaption .btn--sm{background:var(--gold);color:var(--black);border-color:var(--gold)}}
/* stats */
#impact{background:var(--gold);color:var(--black)}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat{min-height:10.5rem;padding:1.6rem var(--pad);border-right:1px solid rgba(0,0,0,.25);display:flex;flex-direction:column;justify-content:center}.stat:last-child{border-right:0}.stat-number{display:block;font-family:"Jockey One",Impact,sans-serif;font-size:clamp(3rem,5.2vw,5.6rem);line-height:.9;letter-spacing:-.045em}.stat-label{display:block;margin-top:.8rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
/* from the field (his hero slides, carried over) */
#from-the-field{background:var(--black);padding:1rem 0 0}.promo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-bottom:1rem}.promo{position:relative;display:block;aspect-ratio:2/1;overflow:hidden;border:2px solid rgba(245,245,240,.25);color:var(--off-white);text-decoration:none;background:var(--black)}.promo img{width:100%;height:100%;object-fit:cover;transition:transform .5s,opacity .3s}.promo:hover img{transform:scale(1.04)}.promo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.85))}.promo-tag{position:absolute;top:.9rem;left:.9rem;z-index:1;background:var(--gold);color:var(--black);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .6rem}.promo-cta{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;z-index:1;font-size:.9rem;font-weight:700;letter-spacing:-.01em;text-transform:uppercase;line-height:1.15}
@media(max-width:780px){.promo-grid{grid-template-columns:1fr}.promo{aspect-ratio:16/9}}
/* festivals */
#festivals{padding:clamp(4rem,7vw,7rem) 0;background:var(--off-white)}.festivals-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.festival-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.festival-card{grid-column:span 4;display:flex;flex-direction:column;border:2px solid var(--black);background:var(--off-white);text-decoration:none;color:inherit;transition:transform .25s,box-shadow .25s,background .25s}.festival-card:nth-child(1),.festival-card:nth-child(2),.festival-card:nth-child(6),.festival-card:nth-child(7){grid-column:span 6}.festival-card:hover{transform:translate(-4px,-4px);background:var(--gold);box-shadow:9px 9px 0 var(--black)}.festival-card figure{margin:0;aspect-ratio:16/10;overflow:hidden;border-bottom:2px solid var(--black);background:var(--black)}.festival-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.festival-card:hover img{transform:scale(1.04)}.festival-body{display:flex;flex:1;flex-direction:column;padding:1.4rem}.festival-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.festival-card:hover .festival-meta{color:var(--black)}.festival-body h3{margin:0 0 .3rem;font-size:clamp(1.6rem,2.4vw,2.6rem);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.response{margin:0 0 .6rem;font-family:"Jockey One",Impact,sans-serif;font-size:clamp(1.7rem,2.4vw,2.6rem);line-height:1;color:var(--orange);text-transform:uppercase}.festival-card:hover .response{color:var(--black)}.festival-body p:not(.response){margin:0 0 1.4rem}.text-link{display:inline-flex;align-items:center;gap:.55rem;margin-top:auto;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;text-transform:uppercase}.text-link::after{content:"→";transition:transform .2s}.festival-card:hover .text-link::after,.text-link:hover::after{transform:translateX(5px)}.adventure-note{margin-top:2rem;padding-left:1.25rem;border-left:5px solid var(--orange);font-weight:600}
/* 0% */
#fees{position:relative;padding:clamp(4rem,7vw,7rem) 0;overflow:hidden;background:var(--black);color:var(--off-white)}.fee-zero{position:absolute;top:50%;right:-2vw;transform:translateY(-51%);color:rgba(255,203,102,.09);font-family:"Jockey One",sans-serif;font-size:min(49vw,40rem);line-height:.7;pointer-events:none}.fee-content{position:relative;z-index:1;display:grid;grid-template-columns:.6fr 1.4fr;align-items:center;gap:clamp(2rem,6vw,8rem)}.fee-mark{font-family:"Jockey One",sans-serif;font-size:clamp(5rem,12vw,11rem);line-height:.75;color:var(--gold)}.fee-copy{max-width:20ch;margin:0;font-size:clamp(1.7rem,3.4vw,3.4rem);line-height:1.08;font-weight:600;letter-spacing:-.04em}.fee-actions{margin-top:1.6rem;display:flex;gap:1rem;flex-wrap:wrap}
/* books */
#book{padding:clamp(4rem,7vw,7rem) 0;background:var(--orange);color:var(--black)}.book-grid{display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;align-items:center;gap:clamp(2.5rem,6vw,7rem)}.book-cover{width:min(100%,22rem);margin:0;justify-self:center;box-shadow:18px 18px 0 var(--black);transform:rotate(-2deg);border:2px solid var(--black)}.book-cover img{width:100%}.book-copy blockquote{max-width:14ch;margin:0 0 1.4rem;font-size:clamp(2.2rem,4.6vw,4.6rem);line-height:.92;font-weight:700;letter-spacing:-.06em;text-transform:uppercase}.book-copy p{max-width:36rem;font-size:1.05rem}.book-copy .btn{margin-top:.6rem}.book-second{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;margin-top:3rem;padding-top:2.5rem;border-top:2px solid rgba(0,0,0,.35)}.book-second img{width:11rem;border:2px solid var(--black);box-shadow:8px 8px 0 var(--black)}.book-second h3{margin:0 0 .3rem;font-size:1.5rem;line-height:1;text-transform:uppercase;letter-spacing:-.03em}.book-second p{margin:0 0 .8rem;max-width:40rem}
/* messages */
#messages{padding:clamp(4rem,7vw,7rem) 0;background:var(--slate);color:var(--off-white)}.messages-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.message-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.message-card{position:relative;display:flex;min-height:20rem;flex-direction:column;justify-content:flex-end;border:1px solid rgba(245,245,240,.52);background:var(--black);color:var(--off-white);text-decoration:none;overflow:hidden;transition:transform .22s,border-color .22s}.message-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;transition:opacity .3s,transform .5s}.message-card:hover{transform:translateY(-6px);border-color:var(--gold)}.message-card:hover img{opacity:.6;transform:scale(1.04)}.message-card .play{position:absolute;top:1rem;left:1rem;display:grid;width:3.2rem;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--gold);color:var(--black);font-size:1rem}.message-card .dur{position:absolute;top:1.3rem;right:1rem;font-family:"Jockey One",sans-serif;font-size:1.1rem;letter-spacing:.04em}.message-card h3{position:relative;margin:0;padding:1.2rem;font-size:1.2rem;line-height:1.12;text-transform:uppercase;letter-spacing:-.02em}.message-card small{position:relative;display:block;padding:0 1.2rem 1.1rem;color:rgba(245,245,240,.75);font-size:.8rem}
/* testimonies */
#testimonies{padding:clamp(4rem,7vw,7rem) 0;background:var(--off-white)}.testimony-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:2.5rem}.testimony{display:grid;grid-template-rows:auto 1fr;border:2px solid var(--black);background:var(--white)}.testimony figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--black)}.testimony img{width:100%;height:100%;object-fit:cover}.testimony blockquote{margin:0;padding:1.4rem 1.5rem 1.6rem;font-size:1.05rem;line-height:1.5}.testimony blockquote cite{display:block;margin-top:.8rem;font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
/* prayer */
#prayer{padding:clamp(3.5rem,6vw,6rem) 0;background:var(--gold)}.prayer-grid{display:grid;grid-template-columns:1.4fr auto;align-items:center;gap:3rem}.prayer-grid h2{max-width:22ch;margin:0;font-size:clamp(2rem,4vw,4.4rem);line-height:.98;letter-spacing:-.05em}.prayer-grid p{margin:.8rem 0 0;max-width:50ch}
/* mailing */
#mailing-list{position:relative;padding:clamp(4rem,6vw,6rem) 0;background:var(--black);color:var(--off-white);overflow:hidden}.mail-grid{display:grid;grid-template-columns:.85fr 1.15fr;align-items:end;gap:clamp(2rem,6vw,7rem)}.mail-grid h2{max-width:13ch;margin:0;font-size:clamp(2.2rem,4vw,4.4rem);line-height:.94;letter-spacing:-.055em;text-transform:uppercase}.signup{display:flex;align-items:stretch}.signup label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.signup input{min-width:0;flex:1;border:2px solid var(--off-white);border-right:0;border-radius:0;padding:1rem 1.1rem;background:transparent;color:var(--off-white);font-size:1rem}.signup input::placeholder{color:rgba(245,245,240,.65)}.signup button{border-color:var(--gold);background:var(--gold);color:var(--black)}.form-note{min-height:1.5rem;margin:.65rem 0 0;color:var(--gold);font-size:.85rem}.form-fine{margin:.4rem 0 0;color:rgba(245,245,240,.55);font-size:.75rem}
/* about + footer */
#about{padding:3.5rem 0;border-top:1px solid rgba(245,245,240,.2);background:var(--black);color:var(--off-white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.about-grid h2{margin:0;font-size:clamp(1.8rem,3.4vw,3.4rem);line-height:1;text-transform:uppercase;letter-spacing:-.04em}.about-grid p{max-width:52ch;margin:0 0 1rem;color:rgba(245,245,240,.82)}.about-grid p:last-child{margin-bottom:0}footer.site{padding:2.5rem 0 3rem;background:var(--black);color:var(--off-white)}.footer-grid{display:grid;grid-template-columns:1fr auto;gap:2rem;padding-top:2rem;border-top:1px solid rgba(245,245,240,.2)}.footer-legal{max-width:46rem}.footer-legal img{width:9rem;margin-bottom:1rem;filter:invert(1) hue-rotate(180deg) brightness(1.1)}.footer-legal p{margin:.2rem 0;font-size:.85rem}.footer-legal a{color:var(--gold)}.ai-line{color:rgba(245,245,240,.7)}.socials{display:flex;flex-wrap:wrap;align-items:start;gap:1rem}.socials a{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
/* modal + motion */
.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:1rem;margin:0;max-width:none;max-height:none;width:100%;height:100%;border:0;background:rgba(0,0,0,.9)}.modal[open]{display:grid}.modal::backdrop{background:transparent}.modal-panel{position:relative;width:min(62rem,100%);padding:1rem;background:var(--black);color:var(--off-white)}.modal-close{position:absolute;z-index:2;top:-2.8rem;right:0;border:0;background:transparent;color:var(--off-white);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.modal .media-placeholder{min-height:min(60vh,38rem)}.js .reveal{opacity:0;transform:translateY(2rem);transition:opacity .75s,transform .75s cubic-bezier(.2,.7,.2,1)}.js .reveal.is-visible{opacity:1;transform:none}@keyframes breathe{to{transform:translate(-5vw,4vw) scale(1.14);opacity:.7}}
/* ===== inner pages (reports, on-demand, about) ===== */
.page-hero{position:relative;min-height:min(560px,70svh);display:grid;align-items:end;isolation:isolate;overflow:hidden;color:var(--off-white);background:var(--black)}.page-hero .hero-photo img{opacity:.6;object-position:center}.page-hero .shell{padding-top:8rem;padding-bottom:clamp(2rem,4vw,3.5rem)}.page-hero h1{font-size:clamp(3rem,7vw,7rem);max-width:12ch}.page-hero .response{color:var(--gold);font-size:clamp(1.8rem,3.4vw,3.4rem);margin:.8rem 0 .4rem}.page-hero .hero-rule{position:absolute}
.report{padding:clamp(3rem,6vw,6rem) 0}.report-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}.report-intro h2{margin:0;font-size:clamp(2rem,3.6vw,3.6rem);line-height:.95;letter-spacing:-.05em;text-transform:uppercase}.report-intro p{font-size:1.1rem;margin:0 0 1rem}.stories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.25rem;margin-top:3rem}.story{border:2px solid var(--black);background:var(--white);display:grid;grid-template-rows:auto 1fr}.story figure{margin:0;aspect-ratio:4/3;overflow:hidden;border-bottom:2px solid var(--black);background:var(--black)}.story img{width:100%;height:100%;object-fit:cover}.story p{margin:0;padding:1.2rem 1.3rem 1.4rem;font-size:1rem}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.75rem;margin-top:3rem}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:2px solid var(--black);background:var(--black)}.next-prev{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:2px solid var(--black)}
.messages-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1rem;margin-top:2.5rem}.about-body{padding:clamp(3rem,6vw,6rem) 0}.about-body .cols{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);align-items:start}.about-body p{font-size:1.08rem}.about-body img{border:2px solid var(--black);box-shadow:12px 12px 0 var(--gold)}.about-body .quote{margin:2rem 0 0;padding-left:1.25rem;border-left:5px solid var(--orange);font-size:1.05rem}.contact-block{margin-top:2.5rem;padding:1.5rem;border:2px solid var(--black);background:var(--gold)}.contact-block a{font-weight:700}
/* forms (contact) */
.contact-form .field{display:grid;gap:.35rem;margin-bottom:.9rem}.contact-form label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.contact-form input,.contact-form textarea{padding:.9rem 1rem;border:2px solid var(--black);border-radius:0;background:var(--white);color:var(--ink);font-size:1rem;width:100%}.contact-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.contact-form .small{font-weight:400;text-transform:none;letter-spacing:0}.contact-form input:disabled,.contact-form textarea:disabled{opacity:.5}
@media(max-width:560px){.contact-form .grid2{grid-template-columns:1fr}}
/* responsive */
@media(max-width:1000px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid rgba(0,0,0,.25)}.festival-card,.festival-card:nth-child(n){grid-column:span 6}.festival-card:nth-child(7){grid-column:1/-1}.message-grid{grid-template-columns:repeat(2,1fr)}.report-intro,.about-body .cols{grid-template-columns:1fr}}
@media(max-width:780px){.menu-button{display:block}.nav-links{position:fixed;inset:0;z-index:-1;display:grid;align-content:center;justify-items:center;gap:1.5rem;padding:6rem 2rem 2rem;background:var(--black);color:var(--off-white);opacity:0;pointer-events:none;transform:translateY(-1rem);transition:opacity .25s,transform .25s}.nav-links>a:not(.btn){font-size:1.5rem}.nav-links.is-open{opacity:1;pointer-events:auto;transform:none}.menu-button[aria-expanded=true] span{opacity:0}.menu-button[aria-expanded=true]::before{transform:translateY(6px) rotate(45deg)}.menu-button[aria-expanded=true]::after{transform:translateY(-6px) rotate(-45deg)}.hero-inner{grid-template-columns:1fr;min-height:92svh;align-content:end;padding-top:7rem;padding-bottom:3rem}.hero-photo img{object-position:center 30%}.fee-content,.book-grid,.mail-grid,.about-grid{grid-template-columns:1fr}.book-cover{width:min(78%,20rem)}.book-second{grid-template-columns:1fr}.book-second img{width:9rem}.prayer-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.testimony-grid{grid-template-columns:1fr}.page-hero .shell{padding-top:7rem}}
@media(max-width:560px){.section-title{font-size:clamp(2.3rem,12vw,3.6rem)}h1{font-size:clamp(3rem,15.5vw,4.6rem)}.page-hero h1{font-size:clamp(2.6rem,13vw,4rem)}.hero-actions,.hero-actions .btn{width:100%}.stats{grid-template-columns:1fr 1fr}.stat{min-height:8.5rem;padding:1.2rem 1rem}.stat-number{font-size:clamp(2.2rem,11vw,3rem)}.stat:nth-child(odd){border-right:1px solid rgba(0,0,0,.25)}.stat:nth-child(even){border-right:0}.festivals-heading,.messages-head{display:block}.festivals-heading .btn,.messages-head .btn{margin-top:1.5rem}.festival-card,.festival-card:nth-child(n){grid-column:1/-1}.message-grid{grid-template-columns:1fr}.message-card{min-height:16rem}.fee-copy{max-width:100%}.signup{display:grid}.signup input{min-height:3.6rem;border-right:2px solid var(--off-white);border-bottom:0}.signup .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}

.fee-mark--wide{font-size:clamp(3.4rem,8vw,7.5rem)}.fee-zero--wide{font-size:min(30vw,26rem)}

.yt-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}.yt-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Festival-report videos (assets/video.js): YouTube thumbnail until tapped, then the player */
[hidden]{display:none!important}.report-videos{margin-top:3rem}.report-videos .stories{margin-top:1rem}.story .video-embed{position:relative;aspect-ratio:16/9;overflow:hidden;border-bottom:2px solid var(--black);background:var(--black)}.story .video-embed.yt--tall{aspect-ratio:9/16}.yt .yt-play{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:#000;cursor:pointer}.yt .yt-play img{width:100%;height:100%;object-fit:cover;opacity:.85}.yt .yt-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;width:4.2rem;aspect-ratio:1;place-items:center;border-radius:50%;background:var(--gold);color:var(--black);font-size:1.4rem}.yt .yt-play:hover .yt-btn,.yt .yt-play:focus-visible .yt-btn{transform:translate(-50%,-50%) scale(1.08)}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
