:root{--ink:#1f2528;--muted:#635d57;--soft:#fff8f0;--paper:#fffaf5;--cream:#f5eadf;--line:#e8d8c9;--white:#fff;--accent:#b85a3b;--accent-dark:#7b341f;--navy:#182634;--green:#465f4b;--gold:#d5a351;--shadow:rgba(31,37,40,.05) 0 0 0 1px,rgba(31,37,40,.08) 0 16px 36px;--shadow-soft:rgba(31,37,40,.06) 0 10px 24px;--radius:26px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--paper);line-height:1.55;text-rendering:optimizeLegibility}a{color:inherit}img{max-width:100%;display:block}p{font-size:clamp(1rem,.9rem + .35vw,1.15rem)}h1,h2,h3{line-height:1.03;letter-spacing:-.055em;margin:0}h1{font-size:clamp(3rem,8vw,6.75rem);max-width:1020px}h2{font-size:clamp(2rem,4.8vw,4.25rem)}h3{font-size:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-999px;top:12px;z-index:100;background:#fff;color:var(--ink);padding:.85rem 1rem;border-radius:12px;box-shadow:var(--shadow)}.skip-link:focus{left:12px}.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem clamp(1rem,4vw,3rem);background:rgba(255,250,245,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(123,52,31,.13)}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--ink)}.brand img{width:56px;height:56px;object-fit:contain}.brand span{display:grid;line-height:1}.brand strong{font-size:1rem;letter-spacing:-.03em}.brand small{font-size:.78rem;color:var(--muted);font-weight:800}.site-nav{display:flex;align-items:center;gap:.25rem}.nav-link{min-height:44px;display:inline-flex;align-items:center;padding:.65rem .85rem;border-radius:999px;text-decoration:none;font-size:.92rem;font-weight:850;color:#37302a}.nav-link:hover,.nav-link:focus-visible,.nav-link.active{background:#fff;box-shadow:var(--shadow-soft);outline:0}.nav-give{background:var(--ink);color:#fff}.nav-link.nav-give.active,.nav-link.nav-give:hover{background:var(--accent);color:#fff}.nav-toggle{display:none;min-height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:0 1rem;font-weight:900;color:var(--ink)}.hero,.image-hero{position:relative;min-height:calc(100svh - 82px);display:grid;place-items:center;overflow:hidden;color:#fff}.hero-media,.image-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,38,52,.88),rgba(24,38,52,.48) 48%,rgba(24,38,52,.18))}.hero-content{position:relative;width:min(var(--max),calc(100% - 2rem));padding:5rem 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;font-weight:900;color:var(--accent);margin:0 0 .9rem}.hero .eyebrow,.image-hero .eyebrow,.dark-panel .eyebrow{color:#ffd9bf}.hero-copy{max-width:680px;color:rgba(255,255,255,.9);font-size:clamp(1.15rem,1rem + .8vw,1.55rem)}.service-strip{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.8rem 0}.service-strip span{background:rgba(255,255,255,.92);color:var(--ink);padding:.75rem 1rem;border-radius:999px;font-weight:850}.hero-actions,.inline-actions,.stack-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.35rem;border-radius:999px;text-decoration:none;font-weight:900;border:0;cursor:pointer;line-height:1}.btn-primary{background:var(--accent);color:#fff;box-shadow:rgba(184,90,59,.28) 0 12px 28px}.btn-primary:hover,.btn-primary:focus-visible{background:var(--accent-dark)}.btn-secondary{background:#fff;color:var(--ink)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-light{background:#fff;color:var(--navy)}.section{width:min(var(--max),calc(100% - 2rem));margin-inline:auto;padding:clamp(4rem,8vw,6.2rem) 0}.intro-grid,.photo-feature,.visit-layout,.about-grid,.sermon-layout,.give-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}.lead-copy{color:var(--muted)}.text-link{font-weight:900;color:var(--accent-dark);text-decoration:none}.text-link:hover{text-decoration:underline}.feature-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card,.panel,.give-card{background:#fff;border:1px solid rgba(123,52,31,.1);border-radius:var(--radius);padding:clamp(1.35rem,3vw,2rem);box-shadow:var(--shadow)}.step-card span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--cream);color:var(--accent-dark);font-weight:900;margin-bottom:1.2rem}.card p,.panel p{color:var(--muted)}.warm{width:100%;max-width:none;background:var(--cream);padding-left:max(1rem,calc((100% - var(--max))/2));padding-right:max(1rem,calc((100% - var(--max))/2))}.photo-stack{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:end}.photo-stack img{height:430px;width:100%;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}.photo-stack img:nth-child(2){height:330px;margin-top:70px}.split-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}.panel{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}.dark-panel{background:var(--navy);color:#fff}.dark-panel p{color:rgba(255,255,255,.76)}.event-panel{background:#fff}.page-hero{width:min(var(--max),calc(100% - 2rem));margin:0 auto;padding:clamp(5rem,9vw,8rem) 0 clamp(2rem,4vw,3rem)}.page-hero p:last-child{max-width:780px;color:var(--muted);font-size:clamp(1.1rem,1rem + .5vw,1.35rem)}.expect-list{display:grid;gap:.8rem;margin:1.7rem 0}.expect-list div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem 1.1rem}.expect-list span{display:block;color:var(--muted)}.contact-card{align-self:start}.contact-row{display:grid;gap:.25rem;padding:1rem;border:1px solid var(--line);border-radius:18px;text-decoration:none;margin-top:.75rem;background:var(--soft)}.contact-row span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--accent)}.contact-row strong{font-size:1.1rem}.contact-row:hover{border-color:var(--accent);background:#fff}.about-grid img{border-radius:30px;box-shadow:var(--shadow);min-height:440px;object-fit:cover}.check-list{font-size:1.08rem;line-height:1.9;padding-left:1.2rem}.values-band{background:#fff;border-radius:32px;padding:clamp(2rem,5vw,4rem);box-shadow:var(--shadow)}.video-frame{aspect-ratio:16/9;background:#111;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.video-frame iframe{width:100%;height:100%;border:0}.ministry-card h2{font-size:clamp(1.7rem,3vw,2.4rem)}.calendar-panel{background:#fff;border-radius:32px;padding:clamp(1.5rem,4vw,3rem);box-shadow:var(--shadow)}.event-list{display:grid;gap:.75rem;margin-top:1.3rem}.event-list div{display:grid;grid-template-columns:120px 1fr auto;gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:18px}.event-list span{font-weight:900;color:var(--accent-dark)}.event-list em{font-style:normal;color:var(--muted)}.give-card{display:grid;gap:.55rem;text-decoration:none;transition:transform .2s ease,border-color .2s ease}.give-card:hover,.give-card:focus-visible{transform:translateY(-4px);border-color:var(--accent);outline:0}.give-card span{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent);font-weight:900}.give-card strong{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.05;letter-spacing:-.05em}.give-card em{font-style:normal;color:var(--muted)}.link-card{text-decoration:none}.footer{background:var(--navy);color:#fff;padding:3.5rem clamp(1rem,4vw,3rem) 1.5rem;margin-top:2rem}.footer-cta{width:min(var(--max),100%);margin:0 auto 3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.2rem;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.07)}.footer-cta p{margin:0;color:rgba(255,255,255,.72)}.footer-cta strong{font-size:1.2rem}.footer-grid{width:min(var(--max),100%);margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:2rem}.footer h2{font-size:1rem;letter-spacing:0;text-transform:uppercase;color:#ffd9bf}.footer p,.footer a{color:rgba(255,255,255,.76)}.footer a:hover{color:#fff}.footer-logo{width:88px;height:88px;object-fit:contain;margin-bottom:1rem}.footer-bottom{width:min(var(--max),100%);margin:2rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.55)}
@media (max-width:960px){.nav-toggle{display:inline-flex;align-items:center}.site-nav{position:absolute;left:1rem;right:1rem;top:78px;display:none;flex-direction:column;align-items:stretch;background:#fff;border-radius:22px;box-shadow:var(--shadow);padding:.75rem}.site-nav.open{display:flex}.nav-link{padding:.9rem 1rem}.hero,.image-hero{min-height:760px;place-items:end start}.intro-grid,.photo-feature,.visit-layout,.about-grid,.sermon-layout,.give-grid,.split-panels{grid-template-columns:1fr}.feature-cards,.footer-grid{grid-template-columns:1fr}.photo-stack img,.photo-stack img:nth-child(2){height:280px;margin:0}.section{padding:3.8rem 0}.warm{padding-top:3.8rem;padding-bottom:3.8rem}.event-list div{grid-template-columns:1fr}.footer-cta{align-items:flex-start;flex-direction:column}}@media (max-width:540px){.brand small{display:none}.brand img{width:48px;height:48px}h1{font-size:clamp(2.7rem,14vw,4.8rem)}.service-strip span{width:100%}.hero-actions .btn,.inline-actions .btn,.stack-actions .btn{width:100%}.photo-stack{grid-template-columns:1fr}.footer-bottom{display:block}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Production refinements: preserve hero image ratios and ministry logo grid */
.hero,.image-hero{min-height:clamp(560px,82svh,820px);isolation:isolate}.hero-media{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}.hero-media img,.image-hero>img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center center}.hero-content{z-index:1;margin-inline:auto}.hero-scrim{z-index:0}.section-heading{max-width:760px;margin:0 auto 2rem;text-align:center}.section-heading p:last-child{color:var(--muted);margin-inline:auto}.ministries-showcase{padding-top:clamp(3.5rem,7vw,5.5rem)}.ministry-grid{display:grid;grid-template-columns:1fr;gap:1rem}.ministry-logo-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:0}.ministry-logo-card img{width:clamp(132px,42vw,172px);height:clamp(132px,42vw,172px);aspect-ratio:1/1;object-fit:contain;object-position:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:.65rem;box-shadow:var(--shadow-soft);margin-inline:auto}.ministry-logo-card h3{font-size:clamp(1.35rem,5vw,1.75rem);letter-spacing:-.04em}.ministry-logo-card p{font-size:1rem;color:var(--muted);margin:.1rem 0 0}.ministry-social{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;border-radius:999px;background:var(--cream);color:var(--accent-dark);font-weight:900;text-decoration:none}.ministry-social:hover,.ministry-social:focus-visible{background:var(--accent);color:#fff;outline:0}.event-list div{min-width:0}.event-list strong,.event-list em{min-width:0}@media (min-width:640px){.ministry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.ministry-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:960px){.hero,.image-hero{min-height:clamp(560px,88svh,760px)}.event-list div{grid-template-columns:1fr;align-items:start}.event-list span,.event-list strong,.event-list em{display:block}}@media (max-width:540px){body{overflow-x:hidden}.hero,.image-hero{min-height:clamp(560px,92svh,700px)}.hero-content{width:calc(100% - 2rem);padding:3.5rem 0 3rem}h1,h2,h3{overflow-wrap:break-word}.hero h1,.image-hero h1{font-size:clamp(2.2rem,9.6vw,3rem);line-height:1.06;letter-spacing:-.04em;max-width:min(100%,10ch)}h2{font-size:clamp(1.75rem,7.4vw,2.2rem);letter-spacing:-.035em;max-width:100%}.intro-grid h2{max-width:11.5ch}.hero-copy{font-size:1.02rem;max-width:32ch}.section-heading{text-align:left}.section-heading h2{max-width:11ch}.section-heading p{max-width:24ch}.ministry-logo-card{padding:1.25rem}.ministry-logo-card img{width:min(56vw,160px);height:min(56vw,160px)}.ministry-logo-card p{max-width:30ch}.ministry-social{width:100%}}

/* Mobile parity pass: preserve desktop visual hierarchy and visible content on small screens. */
@media (max-width:960px){
  .site-header{flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem clamp(.8rem,3vw,1.25rem)}
  .nav-toggle{display:none!important}
  .site-nav{position:static!important;order:3;width:100%;display:flex!important;flex-direction:row!important;align-items:center;gap:.25rem;overflow-x:auto;overscroll-behavior-inline:contain;background:transparent!important;border-radius:0!important;box-shadow:none!important;padding:0!important;scrollbar-width:thin}
  .site-nav.open{display:flex!important}
  .nav-link{flex:0 0 auto;min-height:44px;padding:.65rem .82rem;white-space:nowrap}
  .hero,.image-hero{min-height:clamp(620px,92svh,820px);place-items:center start}
  .hero-content{padding:clamp(3rem,8vw,5rem) 0;width:min(var(--max),calc(100% - 2rem))}
  .intro-grid,.photo-feature,.visit-layout,.about-grid,.sermon-layout,.give-grid,.split-panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,4vw,2.5rem);align-items:center}
  .feature-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,2.5vw,1rem)}
  .footer-grid{grid-template-columns:1.25fr repeat(3,minmax(0,1fr));gap:clamp(.8rem,3vw,1.4rem)}
  .card,.panel,.give-card{padding:clamp(1rem,3vw,1.6rem);border-radius:clamp(18px,4vw,var(--radius))}
  .section{padding:clamp(3rem,8vw,5rem) 0}
  .warm{padding-top:clamp(3rem,8vw,5rem);padding-bottom:clamp(3rem,8vw,5rem)}
  .photo-stack{grid-template-columns:1fr 1fr;gap:.7rem;align-items:end}
  .photo-stack img{height:clamp(220px,42vw,360px);margin:0}
  .photo-stack img:nth-child(2){height:clamp(180px,34vw,300px);margin-top:clamp(34px,8vw,70px)}
  .event-list div{grid-template-columns:minmax(76px,.75fr) minmax(0,1fr) auto;gap:clamp(.55rem,2vw,1rem);align-items:center}
  .event-list span,.event-list strong,.event-list em{display:block}
  .footer-cta{align-items:center;flex-direction:row;justify-content:space-between}
}
@media (max-width:540px){
  body{overflow-x:hidden}
  .brand small{display:inline}.brand img{width:48px;height:48px}
  h1{font-size:clamp(2.35rem,12vw,4.15rem)}
  h2{font-size:clamp(1.55rem,7.2vw,2.6rem)}
  h3{font-size:clamp(1rem,4.5vw,1.35rem)}
  .hero h1,.image-hero h1{font-size:clamp(2.35rem,12vw,4.15rem);line-height:1.04;letter-spacing:-.05em;max-width:100%}
  .hero-copy{font-size:clamp(1rem,4.2vw,1.18rem);max-width:100%}
  .service-strip span{width:auto;flex:0 1 auto;padding:.68rem .78rem;font-size:.9rem}
  .hero-actions .btn,.inline-actions .btn,.stack-actions .btn{width:auto;flex:0 1 auto;min-height:46px;padding:.78rem 1rem}
  .inline-actions{gap:.55rem}
  .intro-grid,.photo-feature,.visit-layout,.about-grid,.sermon-layout,.give-grid,.split-panels{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:.85rem}
  .feature-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
  .card,.panel,.give-card{padding:.85rem;border-radius:18px}
  .step-card span{width:38px;height:38px;margin-bottom:.8rem}
  .card p,.panel p,p{font-size:clamp(.86rem,3.7vw,1rem)}
  .photo-stack{grid-template-columns:1fr 1fr}
  .photo-stack img{height:clamp(180px,48vw,250px)}
  .photo-stack img:nth-child(2){height:clamp(150px,40vw,220px);margin-top:38px}
  .ministry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
  .ministry-logo-card{padding:.85rem;gap:.55rem}
  .ministry-logo-card img{width:clamp(112px,34vw,146px);height:clamp(112px,34vw,146px)}
  .ministry-logo-card p{max-width:none;font-size:.9rem}
  .ministry-social{width:auto;min-height:44px;padding:.62rem .75rem}
  .event-list{gap:.6rem}
  .event-list div{grid-template-columns:minmax(62px,.72fr) minmax(0,1fr) auto;padding:.75rem;gap:.5rem}
  .event-list span{font-size:.84rem}.event-list strong{font-size:.92rem}.event-list em{font-size:.84rem;white-space:nowrap}
  .footer-cta{flex-direction:row;align-items:center}.footer-cta strong{font-size:1rem}
  .footer-grid{grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:.7rem}.footer p,.footer a{font-size:.82rem}.footer-logo{width:64px;height:64px}.footer-bottom{display:flex}
}
@media (max-width:960px){
  .site-nav{flex-wrap:wrap;overflow-x:visible;row-gap:.35rem}
}
@media (max-width:540px){
  .footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}

/* Accessibility refinement: make keyboard focus unmistakable on interactive controls. */
.btn:focus-visible,
.nav-toggle:focus-visible,
.text-link:focus-visible,
.contact-row:focus-visible,
.ministry-social:focus-visible,
.footer a:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:4px;
}

/* Mobile comfort pass: clean, breathable phone layout while preserving all desktop content. */
@media (max-width:760px){
  html{scroll-padding-top:88px}
  body{overflow-x:hidden}
  .site-header{padding:.75rem 1rem;gap:.75rem;flex-wrap:nowrap}
  .brand{min-width:0}.brand img{width:48px;height:48px;flex:0 0 auto}.brand small{display:block}.brand span{min-width:0}
  .nav-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:64px;min-height:44px;flex:0 0 auto}
  .site-nav{position:absolute!important;left:1rem!important;right:1rem!important;top:calc(100% + .5rem)!important;width:auto!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:.35rem!important;overflow:visible!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:22px!important;box-shadow:var(--shadow)!important;padding:.75rem!important;z-index:80;scrollbar-width:auto}
  .site-nav.open{display:flex!important}
  .nav-link{width:100%;min-height:48px;justify-content:center;padding:.85rem 1rem;white-space:normal;text-align:center}
  .hero,.image-hero{min-height:clamp(600px,82svh,720px);place-items:end start}
  .hero-content{width:calc(100% - 2rem);padding:3.25rem 0 2.75rem}
  h1,.hero h1,.image-hero h1{font-size:clamp(2.45rem,12vw,3.75rem);line-height:1.04;letter-spacing:-.045em;max-width:100%;overflow-wrap:normal;word-break:normal}
  h2{font-size:clamp(2rem,9vw,2.85rem);line-height:1.08;letter-spacing:-.04em;max-width:100%}
  h3{font-size:clamp(1.3rem,5.8vw,1.65rem);line-height:1.16;letter-spacing:-.03em}
  p,.lead-copy,.card p,.panel p{font-size:clamp(1rem,4.2vw,1.12rem);line-height:1.65}
  .hero-copy{font-size:clamp(1.06rem,4.6vw,1.22rem);line-height:1.55;max-width:34ch}
  .service-strip{gap:.6rem;margin:1.5rem 0 1.7rem}.service-strip span{width:auto;max-width:100%;padding:.72rem .9rem;font-size:.95rem;line-height:1.2}
  .hero-actions,.inline-actions,.stack-actions{gap:.75rem}.hero-actions .btn,.inline-actions .btn,.stack-actions .btn{width:100%;min-height:50px;padding:.9rem 1.05rem;text-align:center}
  .section{width:calc(100% - 2rem);padding:4rem 0}.warm{padding:4rem 1rem}.page-hero{width:calc(100% - 2rem);padding:4.5rem 0 2.5rem}
  .intro-grid,.photo-feature,.visit-layout,.about-grid,.sermon-layout,.give-grid,.split-panels{grid-template-columns:1fr!important;gap:1.75rem;align-items:start}
  .feature-cards,.ministry-grid,.footer-grid{grid-template-columns:1fr!important;gap:1rem}
  .section-heading{text-align:left;margin-bottom:1.5rem}.section-heading h2,.section-heading p,.intro-grid h2{max-width:100%}
  .card,.panel,.give-card{padding:1.35rem;border-radius:22px}.panel{min-height:280px}.values-band,.calendar-panel{border-radius:24px;padding:1.35rem}
  .photo-stack{grid-template-columns:1fr!important;gap:1rem}.photo-stack img,.photo-stack img:nth-child(2){width:100%;height:auto;aspect-ratio:4/3;margin:0;border-radius:24px;object-fit:cover}
  .about-grid img{width:100%;min-height:0;aspect-ratio:4/3;border-radius:24px;object-fit:cover}
  .ministry-logo-card{padding:1.25rem;gap:.85rem}.ministry-logo-card img{width:min(52vw,168px);height:min(52vw,168px);padding:.7rem}.ministry-logo-card p{max-width:34ch;margin-inline:auto}.ministry-social{width:100%;min-height:48px}
  .event-list{gap:.8rem;margin-top:1.25rem}.event-list div{grid-template-columns:1fr!important;gap:.35rem;padding:1rem;border-radius:18px}.event-list span,.event-list strong,.event-list em{display:block}.event-list span{font-size:.9rem}.event-list strong{font-size:1.08rem;line-height:1.25}.event-list em{font-size:1rem;white-space:normal}
  .expect-list{gap:.85rem}.expect-list div,.contact-row{padding:1rem;border-radius:18px}
  .footer{padding:3rem 1rem 1.25rem}.footer-cta{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.footer-cta strong{font-size:1.05rem;line-height:1.45}.footer-grid{gap:1.35rem}.footer-logo{width:76px;height:76px}.footer a{min-height:44px;display:inline-flex;align-items:center}.footer-bottom{display:flex;flex-direction:column;gap:.75rem}
}
@media (max-width:760px){
  .text-link,.expect-list a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}

/* Image ratio integrity sweep: prevent stretching across all breakpoints. */
img{height:auto}
.brand img,.footer-logo{object-fit:contain;object-position:center;width:auto;max-width:100%}
.brand img{width:56px;height:56px}.footer-logo{width:88px;height:88px}
.hero-media img,.image-hero>img{width:100%;height:100%;object-fit:cover;object-position:center center;aspect-ratio:auto}
.photo-stack img,.photo-stack img:nth-child(2),.about-grid img{width:100%;aspect-ratio:3/2;height:auto;min-height:0;max-height:none;object-fit:cover;object-position:center center}
.about-grid img{border-radius:30px;box-shadow:var(--shadow)}
.ministry-logo-card img{aspect-ratio:1/1;object-fit:contain;object-position:center center}
@media (max-width:960px){
  .photo-stack img,.photo-stack img:nth-child(2),.about-grid img{aspect-ratio:3/2;height:auto;min-height:0;max-height:none;margin:0}
}
@media (max-width:760px){
  .brand img{width:48px;height:48px}.footer-logo{width:76px;height:76px}
  .photo-stack img,.photo-stack img:nth-child(2),.about-grid img{aspect-ratio:4/3;height:auto;min-height:0;max-height:none;object-fit:cover}
}

/* Footer CTA contrast fix: keep the visit button readable inside the dark footer. */
.footer-cta .btn-light,
.footer-cta a.btn-light{
  background:var(--gold);
  color:var(--navy);
  border:1px solid rgba(255,255,255,.36);
  box-shadow:rgba(0,0,0,.2) 0 12px 28px;
}
.footer-cta .btn-light:hover,
.footer-cta .btn-light:focus-visible,
.footer-cta a.btn-light:hover,
.footer-cta a.btn-light:focus-visible{
  background:#ffe0a1;
  color:var(--navy);
  border-color:rgba(255,255,255,.72);
}

/* Footer CTA readability hardening: white button, dark text, no white-on-white fallback. */
.footer .footer-cta .btn.btn-light,
.footer .footer-cta a.btn.btn-light,
.footer .footer-cta .btn.btn-light:link,
.footer .footer-cta .btn.btn-light:visited{
  background:#ffffff !important;
  color:var(--navy) !important;
  border:2px solid rgba(24,38,52,.18) !important;
  text-shadow:none !important;
}
.footer .footer-cta .btn.btn-light:hover,
.footer .footer-cta .btn.btn-light:focus-visible,
.footer .footer-cta a.btn.btn-light:hover,
.footer .footer-cta a.btn.btn-light:focus-visible{
  background:var(--gold) !important;
  color:var(--navy) !important;
  border-color:rgba(255,255,255,.72) !important;
}
/* Dynamic YouTube latest-message embed. */
.video-frame.latest-video{position:relative;display:grid;place-items:center;overflow:hidden;background:#101820}
.video-frame.latest-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-status,.video-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:clamp(1.25rem,4vw,2rem);text-align:center;color:#fff;background:linear-gradient(135deg,rgba(24,38,52,.96),rgba(70,95,75,.9))}
.video-status p,.video-fallback p{margin:0;max-width:32rem;font-weight:800;line-height:1.45;color:#fff}.video-fallback .btn{margin-top:.25rem}.video-spinner{width:42px;height:42px;border-radius:50%;border:4px solid rgba(255,255,255,.28);border-top-color:var(--gold);animation:video-spin .9s linear infinite}@keyframes video-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .video-spinner{animation:none;border-top-color:rgba(255,255,255,.72)}
}

/* Surgical UX audit refinements: visible service cue and tablet touch targets. */
.page-service-note{display:inline-flex;align-items:center;min-height:44px;width:fit-content;margin:1rem 0 0;padding:.65rem .9rem;border-radius:999px;background:rgba(255,250,245,.88);color:var(--accent-dark);font-weight:900;box-shadow:var(--shadow-soft)}
.image-hero .page-service-note{background:rgba(255,250,245,.92)}
@media (max-width:820px){
  .text-link,.expect-list a,.values-band a,.footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
}

/* Standalone En Vivo indicator; independent from the latest-message YouTube embed. */
.live-stream-slot[hidden]{display:none!important}
.live-stream-slot{position:relative;z-index:55;width:100%;padding:.65rem clamp(1rem,4vw,3rem);background:linear-gradient(90deg,var(--navy),var(--green));box-shadow:rgba(24,38,52,.16) 0 12px 28px}
.live-stream-indicator{width:min(var(--max),100%);min-height:52px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.85rem;padding:.65rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;text-decoration:none;font-weight:900;box-shadow:inset rgba(255,255,255,.13) 0 1px 0;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}
.live-stream-indicator:hover,.live-stream-indicator:focus-visible{background:rgba(255,255,255,.18);box-shadow:rgba(213,163,81,.24) 0 0 0 4px,inset rgba(255,255,255,.18) 0 1px 0;outline:0;transform:translateY(-1px)}
.live-stream-dot{width:.78rem;height:.78rem;flex:0 0 auto;border-radius:999px;background:#ff2d2d;box-shadow:0 0 0 .32rem rgba(255,45,45,.18),0 0 18px rgba(255,45,45,.72);animation:live-dot-pulse 1.65s ease-in-out infinite}
.live-stream-copy{display:flex;align-items:baseline;gap:.5rem;line-height:1.1;text-align:center}.live-stream-copy strong{font-size:clamp(1rem,2vw,1.12rem);letter-spacing:-.02em}.live-stream-copy small{font-size:.9rem;color:#ffe9bb;font-weight:900}
@keyframes live-dot-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 .32rem rgba(255,45,45,.18),0 0 18px rgba(255,45,45,.72)}50%{transform:scale(1.16);box-shadow:0 0 0 .55rem rgba(255,45,45,.08),0 0 26px rgba(255,45,45,.95)}}
@media (max-width:760px){.live-stream-slot{padding:.55rem 1rem}.live-stream-indicator{min-height:54px;justify-content:center;border-radius:18px;padding:.72rem .95rem}.live-stream-copy{flex-direction:column;align-items:flex-start;gap:.18rem;text-align:left}.live-stream-copy small{font-size:.84rem}}
@media (prefers-reduced-motion:reduce){.live-stream-dot{animation:none}}
