*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--navy:#071A36;--navy2:#0B2A52;--navy3:#0D3A6F;--gold:#D4AF37;--gold2:#F2C94C;--white:#fff;--muted:#C7D5E6;--focus:#F7DE7A}
html{scroll-behavior:smooth;background:#041328}
body{min-height:100vh;min-height:100svh;min-height:100dvh;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(circle at 50% -8%,#15598c 0,rgba(21,89,140,.34) 26%,transparent 46%),linear-gradient(180deg,#0c3768 0%,#071f40 35%,#04152c 76%,#031124 100%);padding:max(2px,env(safe-area-inset-top)) 10px max(6px,env(safe-area-inset-bottom));overflow-x:hidden}
body.modal-open{overflow:hidden}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-160%);background:#fff;color:#071a36;padding:8px 11px;border-radius:9px;font-weight:800;text-decoration:none}.skip-link:focus{transform:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.page-glow{position:fixed;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.18}.page-glow-left{width:280px;height:280px;left:-160px;top:16%;background:#1975bb}.page-glow-right{width:260px;height:260px;right:-170px;bottom:10%;background:#d4af37;opacity:.1}
.hub-shell{position:relative;width:min(100%,660px);margin:auto}
.hero{position:relative;text-align:center}.hero-tools{position:relative;z-index:10;height:24px;display:flex;align-items:center;justify-content:flex-end;gap:5px}
.offline-badge{margin-right:auto;max-width:72%;padding:7px 10px;border:1px solid rgba(242,201,76,.45);border-radius:999px;background:rgba(58,42,5,.55);color:#ffeca6;font-size:.67rem;line-height:1.2}
/* v1.6.8: approved ES/EN segmented control; independent 44px touch areas */
.lang-switch{position:absolute;top:0;right:0;width:112px;height:44px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;border:1px solid rgba(234,200,112,.72);border-radius:999px;background:linear-gradient(160deg,rgba(7,28,54,.98),rgba(4,18,36,.96));box-shadow:0 3px 11px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.1);color:#e6ecf8;z-index:5}
.lang-slider{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:linear-gradient(180deg,#f6d776,#d3a843);border-radius:999px;box-shadow:0 1px 6px rgba(255,209,100,.25),inset 0 1px rgba(255,255,255,.36);transform:translateX(0);transition:transform 220ms cubic-bezier(.2,.8,.2,1);pointer-events:none}
.lang-switch[data-current="en"] .lang-slider{transform:translateX(100%)}
.lang-opt{border:0;z-index:1;position:relative;background:transparent;color:#d7e5f6;font-size:13px;letter-spacing:.045em;font-weight:800;min-width:0;min-height:44px;cursor:pointer;line-height:1;transition:color .16s}
.lang-opt[aria-pressed="true"]{color:#10233b}.lang-opt:focus-visible{outline:2px solid #fff;outline-offset:-3px;border-radius:999px}
.offline-badge{max-width:calc(100% - 122px)}
@media(max-width:365px){.lang-switch{width:100px}.lang-opt{font-size:12px}.offline-badge{max-width:calc(100% - 110px)}}
.hero-panel{position:relative;padding:0 6px 11px;border-radius:0 0 28px 28px;background:radial-gradient(circle at 50% 25%,rgba(21,102,166,.24),transparent 45%)}.hero-panel:after{content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.55),transparent)}
.logo-stage{width:118px;height:118px;margin:0 auto 2px;display:grid;place-items:center;position:relative}.logo-glow{position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle,rgba(242,201,76,.24),rgba(242,201,76,0) 70%);filter:blur(12px)}.church-logo{position:relative;z-index:1;width:114px;height:114px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.34))}
.hero h1{font-family:Georgia,"Times New Roman",serif;text-transform:uppercase;line-height:1.02;text-shadow:0 3px 16px rgba(0,0,0,.42);letter-spacing:.045em}.hero h1 span{display:block;color:#e6c35c;font-size:clamp(.7rem,2.9vw,.9rem);font-weight:650;letter-spacing:.15em;margin-bottom:2px}.hero h1 strong{display:block;color:#fff;font-size:clamp(1.08rem,4.6vw,1.55rem);font-weight:600}.tagline{max-width:520px;margin:8px auto 0;font-size:clamp(.76rem,3vw,.9rem);line-height:1.28;color:#f7f9fc;font-style:normal;font-weight:510}.scripture{margin-top:2px;color:#cfdae7;font-size:.66rem;font-weight:700}
.links-section{padding-top:9px}.links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:6px;row-gap:9px}.hub-card{position:relative;min-height:64px;border:1px solid rgba(255,255,255,.21);border-radius:20px;overflow:hidden;box-shadow:0 13px 30px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.12);transition:transform .18s ease,filter .18s ease}.hub-card:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.1),transparent 40%,rgba(255,255,255,.01));pointer-events:none}.hub-card:hover{transform:translateY(-2px);filter:brightness(1.06)}.hub-card:active{transform:scale(.99)}.hub-card.card-blue{background:linear-gradient(135deg,#0966bd,#073b7d)}.hub-card.card-green{background:linear-gradient(135deg,#12a166,#076b44)}.hub-card.card-purple{background:linear-gradient(135deg,#7f2bd0,#46118f)}.hub-card.card-gold{background:linear-gradient(135deg,#c59832,#815807)}.hub-card.card-teal{background:linear-gradient(135deg,#0492b8,#075c78)}.hub-card.card-social{background:linear-gradient(135deg,#f49a29 0%,#c62579 44%,#6d29c8 100%)}.hub-card.card-website{background:linear-gradient(135deg,#5f6b7a,#35404f)}.hub-card.card-about{background:linear-gradient(135deg,#a34357,#612536)}.hub-card.card-wide{grid-column:1/-1}
.card-action{position:relative;z-index:1;width:100%;min-height:inherit;display:grid;grid-template-columns:36px minmax(0,1fr) 11px;align-items:center;gap:6px;padding:5px 7px;text-align:left;color:#fff;text-decoration:none;background:transparent;cursor:pointer}.card-icon{width:32px;height:32px;display:grid;place-items:center;color:#fff;border-radius:15px;background:rgba(3,18,38,.16);border:1px solid rgba(255,255,255,.14)}.card-icon svg{width:20px;height:20px;stroke-width:1.7;filter:drop-shadow(0 2px 3px rgba(0,0,0,.12))}.card-copy{min-width:0}.card-title{display:block;font-size:clamp(.76rem,3.05vw,.94rem);line-height:1.1;font-weight:800;letter-spacing:-.018em}.card-subtitle{display:block;margin-top:2px;font-size:clamp(.57rem,2.35vw,.69rem);line-height:1.16;color:rgba(255,255,255,.9)}.card-arrow{display:grid;place-items:center;color:rgba(255,255,255,.84);font-size:1.25rem;font-weight:800}
.loading-card{min-height:64px;border-radius:20px;background:linear-gradient(100deg,rgba(255,255,255,.06) 20%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.06) 56%);background-size:210% 100%;animation:shimmer 1.4s linear infinite;border:1px solid rgba(255,255,255,.08)}@keyframes shimmer{to{background-position-x:-210%}}.noscript-note{margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.07);font-size:.78rem}
.wave-separator{height:40px;margin:9px -10px -2px;overflow:hidden}.wave-separator svg{display:block;width:100%;height:100%}.wave-deep{fill:#05234a}.wave-gold{fill:#d5aa35}.wave-blue{fill:#07305d}
.visit-info{padding:8px 6px 9px;display:grid;grid-template-columns:minmax(0,1.45fr) 1px minmax(0,.78fr) 1px minmax(0,.78fr);align-items:center;gap:8px;background:linear-gradient(180deg,#06244a,#041a38);border-bottom:1px solid rgba(255,255,255,.08)}.visit-row{min-width:0;display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;gap:5px}.visit-row p{font-size:.59rem;line-height:1.28;color:#eff4fa}.visit-row strong{font-size:.61rem;font-weight:800}.visit-address p{font-size:.58rem}.visit-address-link{display:block;color:inherit;text-decoration:none;border-radius:6px;cursor:pointer}.visit-icon{display:grid;place-items:center;color:#fff}.visit-icon svg{width:20px;height:20px;stroke-width:1.8}.visit-divider{height:30px;background:rgba(255,255,255,.12)}
.hub-footer{text-align:center;padding:5px 6px 1px;color:#9fb1c6;font-size:.55rem;line-height:1.24}.developer-credit{color:#d0dbe7;font-weight:650;font-size:.64rem;margin-top:3px;margin-bottom:1px}.developer-credit a{color:inherit;text-decoration:underline;text-decoration-color:#D4AF37;text-underline-offset:2px;border-radius:3px}
.modal-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;padding:16px max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:rgba(1,8,18,.76);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.modal-overlay[hidden]{display:none!important}.hub-modal{width:min(100%,520px);max-height:min(82vh,720px);overflow:auto;border-radius:24px;border:1px solid rgba(212,175,55,.29);background:linear-gradient(180deg,#0e315c 0%,#071e3a 34%,#06172e 100%);box-shadow:0 26px 70px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.08);padding:18px}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-kicker{color:#ddba49;font-size:.58rem;font-weight:850;letter-spacing:.18em;margin-bottom:3px}.modal-title{font-size:1.25rem;line-height:1.18;font-weight:820}.modal-close{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font-size:1.45rem;line-height:1;cursor:pointer}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-text{color:#d2deeb;font-size:.82rem;line-height:1.58}.modal-action{min-height:54px;width:100%;display:flex;align-items:center;justify-content:center;gap:11px;padding:0 15px;border-radius:15px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.075);color:#fff;text-decoration:none;font-weight:800;font-size:.88rem;cursor:pointer}.modal-action.tithely-button{background:#fff;color:#181f36;border-color:rgba(255,255,255,.7)}.modal-action.square-button{background:#fff;color:#111;border-color:rgba(255,255,255,.7)}.provider-button{min-height:62px;justify-content:space-between;padding:8px 14px}.provider-lockup{display:flex;align-items:center;gap:9px;min-width:0}.provider-wordmark{font-size:1.03rem;line-height:1;font-weight:800;letter-spacing:-.025em}.provider-wordmark-tithely{font-family:"Matter","Avenir Next","Segoe UI",Arial,sans-serif;color:#181f36}.provider-wordmark-square{font-family:"Square Market","Helvetica Neue",Arial,sans-serif;color:#111;font-weight:700}.provider-action{font-size:.68rem;font-weight:720;color:#566173;text-align:right}.modal-action.install-app{background:linear-gradient(135deg,#155ca8,#0b3f7f);border-color:rgba(177,215,255,.34)}.modal-action.social-facebook,.modal-action.social-instagram,.modal-action.social-youtube,.modal-action.social-tiktok{background:#fff;color:#15171b;border-color:rgba(255,255,255,.72);justify-content:flex-start;padding-left:17px}.modal-action.social-facebook{box-shadow:inset 4px 0 #1877F2}.modal-action.social-instagram{box-shadow:inset 4px 0 #E1306C}.modal-action.social-youtube{box-shadow:inset 4px 0 #FF0000}.modal-action.social-tiktok{box-shadow:inset 4px 0 #111}.social-facebook .brand-mark,.social-instagram .brand-mark,.social-youtube .brand-mark,.social-tiktok .brand-mark{width:31px;height:31px}.social-facebook .brand-mark img,.social-instagram .brand-mark img,.social-youtube .brand-mark img,.social-tiktok .brand-mark img{width:29px;height:29px}.modal-action.bible-spanish{background:linear-gradient(135deg,#b88920,#6f4a06)}.modal-action.bible-english{background:linear-gradient(135deg,#1b5fa8,#0b3569)}.modal-action-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.modal-subline{font-size:.66rem;font-weight:650;color:rgba(255,255,255,.78)}
.brand-mark{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto}.brand-mark svg,.brand-mark img{width:26px;height:26px;display:block}
.payment-brand-logo{width:28px;height:28px;display:grid;place-items:center;flex:0 0 auto}.payment-brand-logo svg{width:100%;height:100%;display:block}.payment-cards{padding:10px 10px 11px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09)}.payment-cards-label{text-align:center;color:#bfcfe0;font-size:.65rem;font-weight:750;margin-bottom:8px}.payment-card-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}.payment-card-chip{height:32px;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:8px;background:#fff;box-shadow:inset 0 0 0 1px rgba(3,18,38,.08)}.payment-card-chip .payment-brand-logo{width:100%;height:21px}.payment-brand-visa{padding:2px}.payment-brand-mastercard{padding:0}.payment-brand-amex,.payment-brand-discover,.payment-brand-jcb,.payment-brand-unionpay{width:100%}.payment-wallets{padding:10px 10px 11px;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.payment-wallet-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.payment-wallet-chip{min-height:38px;display:flex;align-items:center;justify-content:center;gap:5px;padding:5px 7px;border-radius:9px;background:#fff;color:#111;box-shadow:inset 0 0 0 1px rgba(3,18,38,.08)}.payment-wallet-chip .payment-brand-logo{width:100%;height:24px}.payment-wallet-cashapp .payment-brand-logo{width:22px;height:22px}.cashapp-pay-text{font-size:.61rem;line-height:1.05;font-weight:800;color:#111;white-space:nowrap}.zelle-box{text-align:center;padding:16px;border-radius:17px;background:#fff;color:#17121f;border:2px solid #6d1ed4;box-shadow:0 10px 24px rgba(0,0,0,.16)}.zelle-wordmark{font-family:"Arial Black",Arial,sans-serif;color:#6d1ed4;font-size:1.45rem;line-height:1;font-weight:900;letter-spacing:-.055em}.zelle-title{margin-top:7px;font-size:.92rem;line-height:1.25;color:#24182f}.zelle-steps{margin:11px 0 12px;padding-left:1.25rem;text-align:left;color:#30263a;font-size:.74rem;line-height:1.48}.zelle-steps li+li{margin-top:4px}.zelle-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:#6d1ed4;font-weight:900}.zelle-email{margin:7px auto 0;padding:9px 10px;border-radius:10px;background:#f5efff;color:#23172e;font-size:clamp(1.08rem,4.3vw,1.28rem);line-height:1.15;font-weight:900;letter-spacing:-.025em;word-break:break-word}.copy-row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:11px}.copy-button{min-height:43px;padding:0 17px;border-radius:11px;border:0;background:#6d1ed4;color:#fff;font-size:.78rem;font-weight:900;cursor:pointer}.copy-status{font-size:.72rem;color:#167046;min-height:1.1em}.zelle-note{margin-top:9px;color:#6a6170;font-size:.63rem;line-height:1.35}.about-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.about-meta div{padding:11px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09)}.about-meta span{display:block;color:#a9b9cb;font-size:.62rem;margin-bottom:3px}.about-meta strong{font-size:.76rem;word-break:break-word}.about-credit{color:#e5c55d;font-weight:760}.error-state{grid-column:1/-1;padding:18px;text-align:center;border-radius:16px;border:1px dashed rgba(242,201,76,.35);background:rgba(255,255,255,.04);font-size:.8rem;line-height:1.5}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media(min-width:560px){body{padding-left:18px;padding-right:18px}.hub-shell{max-width:620px}.logo-stage{width:124px;height:124px}.church-logo{width:120px;height:120px}.hub-card{min-height:68px}.card-action{padding:6px 8px}.hub-modal{align-self:center}}
@media(max-width:365px){.links-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:5px;row-gap:7px}.hub-card{min-height:60px}.hub-card.card-wide{grid-column:1/-1}.card-action{grid-template-columns:32px minmax(0,1fr) 10px;gap:5px;padding:5px 6px}.card-icon{width:28px;height:28px;border-radius:10px}.card-icon svg{width:18px;height:18px}.card-title{font-size:.68rem}.card-subtitle{font-size:.5rem}.visit-info{grid-template-columns:minmax(0,1.45fr) 1px minmax(0,.78fr) 1px minmax(0,.78fr);gap:5px}.visit-divider{display:block}.visit-row{grid-template-columns:20px minmax(0,1fr);gap:4px}.visit-row p,.visit-row strong,.visit-address p{font-size:.54rem}.visit-icon svg{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-height:760px) and (max-width:600px){
  body{padding-top:max(1px,env(safe-area-inset-top));padding-bottom:max(4px,env(safe-area-inset-bottom))}
  .hero-tools{height:19px}
  .hero-panel{padding-bottom:7px}
  .logo-stage{width:92px;height:92px;margin-bottom:0}
  .church-logo{width:88px;height:88px}
  .hero h1 span{font-size:.6rem}
  .hero h1 strong{font-size:.92rem}
  .tagline{margin-top:5px;font-size:.65rem;line-height:1.12}
  .scripture{font-size:.55rem;margin-top:1px}
  .links-section{padding-top:6px}
  .links-grid{column-gap:5px;row-gap:7px}
  .hub-card{min-height:56px}
  .hub-card.card-wide{min-height:56px}
  .card-action{grid-template-columns:30px minmax(0,1fr) 9px;gap:4px;padding:4px 5px}
  .card-icon{width:26px;height:26px;border-radius:9px}
  .card-icon svg{width:16px;height:16px}
  .card-title{font-size:.66rem;line-height:1.02}
  .card-subtitle{font-size:.49rem;margin-top:1px;line-height:1.05}
  .wave-separator{height:27px;margin-top:6px}
  .visit-info{padding:5px 4px 6px}
  .visit-row{grid-template-columns:18px minmax(0,1fr);gap:3px}
  .visit-icon svg{width:16px;height:16px}
  .visit-row p,.visit-row strong,.visit-address p{font-size:.53rem}
  .visit-divider{height:22px}
  .hub-footer{padding:3px 4px 1px;font-size:.53rem;line-height:1.16}
  .developer-credit{font-size:.62rem;margin-top:3px}
}
@media(max-height:680px) and (max-width:600px){
  .card-subtitle{display:none}
  .card-title{font-size:.73rem;line-height:1.08}
  .scripture{font-size:.59rem}
  .tagline{font-size:.67rem}
}
/* M2 approved option B: readable 10px supporting text on narrow displays, no omitted subtitles */
@media(max-width:600px){
  .card-subtitle,.visit-row p,.visit-row strong,.visit-address p,.hub-footer,.scripture{font-size:.625rem}
  .card-subtitle{display:block;line-height:1.22}
}
@media(prefers-reduced-motion:reduce){.lang-slider{transition:none}}

@media (prefers-contrast: more){
  .hub-card,.hub-modal,.modal-action,.lang-switch{border-color:rgba(255,255,255,.85)}
  .card-subtitle,.scripture,.visit-row p,.hub-footer{color:#fff}
  .developer-credit a{text-decoration-thickness:2px}
}
@media (forced-colors: active){
  .hub-card[class*="card-"],.hub-modal,.modal-action,.modal-close{background:Canvas!important;color:CanvasText!important;border:1px solid CanvasText;box-shadow:none}
  .lang-switch{border:1px solid CanvasText;background:Canvas;box-shadow:none}
  .lang-slider{background:Highlight;box-shadow:none}
  .lang-opt[aria-pressed="true"]{color:HighlightText}
  .lang-opt[aria-pressed="false"]{color:CanvasText}
  .card-title,.card-subtitle,.card-arrow,.card-icon,.visit-icon,.scripture,.visit-row p,.visit-row strong,.hub-footer,.developer-credit{color:CanvasText!important}
  .developer-credit a,.visit-address-link{color:LinkText!important}
  .hub-card::before,.page-glow,.logo-glow,.wave-separator{display:none}
  :focus-visible{outline:3px solid Highlight;outline-offset:3px}
  /* N3: retain legible brand marks under OS-enforced high contrast, without altering normal styling. */
  .payment-card-chip,.payment-wallet-chip,.payment-brand-logo,.social-facebook .brand-mark,.social-instagram .brand-mark,.social-youtube .brand-mark,.social-tiktok .brand-mark{forced-color-adjust:none;background:#fff!important;color:#111!important}
  .payment-brand-logo,.social-facebook .brand-mark,.social-instagram .brand-mark,.social-youtube .brand-mark,.social-tiktok .brand-mark{border-radius:5px}
}
