/* =========================================================
   The Bridge Church Roanoke — Site stylesheet
   Design: "Split Journey" (v3)  ·  Brand palette
   Fonts: Montserrat + Instrument Serif
   Motion: enhanced by motion.dev (progressive enhancement)
   ========================================================= */
:root{
  /* Brand palette — exactly four colors */
  --navy:#15464a;       /* Prussian Blue */
  --snow:#f9fafd;       /* Bright Snow   */
  --charcoal:#353a47;   /* Charcoal Blue */
  --cyan:#469fa3;       /* Bondi Blue    */
  /* Semantic tokens derived only from the four above */
  --slate:var(--charcoal);
  --paper:var(--snow);
  --cream:color-mix(in srgb,var(--navy) 4%,var(--snow));
  --cream-2:color-mix(in srgb,var(--navy) 8%,var(--snow));
  --teal:var(--cyan);
  --cyan-deep:color-mix(in srgb,var(--cyan) 60%,var(--navy));
  --bg:var(--cream);--ink:var(--navy);--ink-soft:color-mix(in srgb,var(--navy) 80%,white);
  --muted:color-mix(in srgb,var(--navy) 52%,white);--line:color-mix(in srgb,var(--navy) 14%,var(--snow));
  --font-display:"Montserrat",system-ui,sans-serif;--font-body:"Montserrat",system-ui,sans-serif;
  --font-serif:"Instrument Serif",Georgia,serif;--serif-bold:.5px;
  --space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;
  --radius:18px;--radius-sm:10px;--radius-lg:28px;--maxw:1240px;
  --shadow-sm:0 1px 2px rgba(13,37,65,.07),0 2px 10px rgba(13,37,65,.05);
  --shadow-md:0 12px 36px rgba(13,37,65,.13),0 2px 8px rgba(13,37,65,.06);
  --shadow-lg:0 28px 70px rgba(13,37,65,.22);
  --ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.65,0,.35,1);
}
*,*::before,*::after{box-sizing:border-box;}*{margin:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);line-height:1.6;font-size:1.02rem;-webkit-font-smoothing:antialiased;overflow-x:hidden;}

/* Smooth cross-page transitions (View Transitions API — auto-ignored where unsupported).
   The page content fades + lifts; the nav/footer stay put via a quick root cross-fade. */
@view-transition{navigation:auto;}
main{view-transition-name:page-main;}
::view-transition-old(page-main){animation:ptOut .26s var(--ease-out) both;}
::view-transition-new(page-main){animation:ptIn .38s var(--ease-out) both;}
::view-transition-old(root),::view-transition-new(root){animation-duration:.3s;}
@keyframes ptOut{to{opacity:0;transform:translateY(-8px);}}
@keyframes ptIn{from{opacity:0;transform:translateY(14px);}}
@media(prefers-reduced-motion:reduce){
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none !important;}
}
img{max-width:100%;display:block;}a{color:inherit;text-decoration:none;}button{font:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--font-display);line-height:1.06;font-weight:800;letter-spacing:-.02em;color:var(--ink);}
.serif{font-family:var(--font-serif);font-weight:400;font-style:italic;-webkit-text-stroke:var(--serif-bold) currentColor;paint-order:stroke fill;}
.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;font-weight:700;color:var(--cyan-deep);}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(20px,5vw,52px);}
.section{padding-block:clamp(48px,6.5vw,92px);}
.section--tight{padding-block:clamp(40px,6vw,72px);}
/* when two same-tone sections stack, trim the seam so spacing stays even */
.section + .section,.band + .band,.band--cream + .band--cream{padding-top:clamp(8px,2vw,24px);}
.band + .band,.band--cream + .band--cream{padding-top:clamp(28px,5vw,68px);}
.lead{font-size:clamp(1.05rem,.97rem + .4vw,1.22rem);color:var(--ink-soft);max-width:62ch;line-height:1.65;}
.center{text-align:center;}.center .lead{margin-inline:auto;}

/* keyboard focus — consistent, visible ring for every interactive element (mouse clicks stay clean) */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible,summary:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2.5px solid var(--cyan);outline-offset:3px;border-radius:6px;
}
/* on cyan/navy-filled controls a white ring reads better against the fill */
.btn--accent:focus-visible,.btn--cyan:focus-visible,.mobtop__more:focus-visible,
.botbar__item--give:focus-visible{outline-color:#fff;outline-offset:2px;}
/* form fields already show a soft inner ring — don't double it */
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:none;}

/* buttons */
.btn{--bg:var(--navy);--fg:var(--paper);display:inline-flex;align-items:center;gap:.55em;background:var(--bg);color:var(--fg);padding:.9em 1.6em;border:none;border-radius:100px;font-family:var(--font-display);font-weight:600;font-size:.95rem;position:relative;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);box-shadow:var(--shadow-sm);}
.btn::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 50% 120%,rgba(255,255,255,.22),transparent 60%);opacity:0;transition:opacity .4s;}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}.btn:hover::after{opacity:1;}
.btn .arrow{transition:transform .4s var(--ease-out);}.btn:hover .arrow{transform:translateX(4px);}
.btn--accent{--bg:var(--cyan);--fg:#fff;}
.btn--ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--navy) 30%,transparent);}
.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px var(--cyan);color:var(--cyan-deep);}
.btn--light{--bg:var(--paper);--fg:var(--navy);}
.btn--ondark.btn--ghost{--fg:var(--paper);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4);}
.btn--ondark.btn--ghost:hover{box-shadow:inset 0 0 0 1.5px #fff;color:#fff;}

/* =========================================================
   IMAGE FIGURE (image-forward placeholder w/ hover zoom)
   ========================================================= */
.img{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--slate);box-shadow:var(--shadow-sm);isolation:isolate;}
.img>.fill{position:absolute;inset:0;background:linear-gradient(155deg,var(--c1,var(--teal)),var(--c2,var(--cyan-deep)));transition:transform .8s var(--ease-out);}
.img>.fill::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 28% 22%,color-mix(in srgb,var(--cyan) 50%,transparent),transparent 60%),repeating-linear-gradient(125deg,rgba(255,255,255,.05) 0 3px,transparent 3px 13px);}
.img:hover>.fill{transform:scale(1.06);}
.img .tag{position:absolute;bottom:12px;left:12px;z-index:2;background:rgba(13,37,65,.55);color:var(--cream);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:5px 11px;border-radius:100px;backdrop-filter:blur(6px);}
.img .ico{position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(4px);}
.img.v-navy>.fill{background:linear-gradient(155deg,var(--slate),var(--navy));}
.img.v-cyan>.fill{background:linear-gradient(155deg,var(--cyan),var(--cyan-deep));}
.img.v-teal>.fill{background:linear-gradient(155deg,var(--teal),var(--cyan-deep));}
.img.v-deep>.fill{background:linear-gradient(155deg,var(--cyan-deep),var(--navy));}
.img.has-photo{background:var(--navy);}
.img.has-photo>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out);}
.img.has-photo:hover>.ph{transform:scale(1.06);}
.hero__right>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ar-43{aspect-ratio:4/3;}.ar-11{aspect-ratio:1;}.ar-169{aspect-ratio:16/9;}.ar-34{aspect-ratio:3/4;}.ar-32{aspect-ratio:3/2;}

/* =========================================================
   HEADER / NAV
   ========================================================= */
/* Floating frosted "pill" nav — fixed overlay so header images reach the very top */
.navshell{position:fixed;left:0;right:0;top:14px;z-index:200;display:flex;justify-content:center;padding-inline:14px;pointer-events:none;transition:transform .5s var(--ease-out),opacity .4s ease;}
.navshell.hide{transform:translateY(-185%);opacity:0;}
.pillnav{pointer-events:auto;display:flex;align-items:center;gap:4px;max-width:100%;background:rgba(13,37,65,.70);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:7px 8px;box-shadow:0 20px 50px rgba(7,20,38,.40),inset 0 1px 0 rgba(255,255,255,.09);}

/* brand (base styles also used by footer) */
.brand{display:flex;align-items:center;gap:.7em;flex-shrink:0;color:var(--navy);}
.brand__mark{width:46px;height:46px;flex-shrink:0;object-fit:contain;transition:transform .5s var(--ease-out);}
.brand:hover .brand__mark{transform:rotate(-4deg) scale(1.05);}
.brand__name{font-family:var(--font-display);font-weight:700;font-size:1.02rem;line-height:1.05;letter-spacing:-.01em;}
.brand__name span{display:block;font-family:var(--font-body);font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:2px;}
/* pill-scoped brand */
.pillnav .brand{color:#fff;}
/* Circular knockout badge: navy circle, white mark, monogram shows the navy through */
.brand__logo{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--navy);flex-shrink:0;display:grid;place-items:center;box-shadow:0 2px 8px rgba(13,37,65,.22);transition:transform .5s var(--ease-out);}
.brand:hover .brand__logo{transform:rotate(-4deg) scale(1.05);}
.brand__logo img{width:100%;height:100%;object-fit:contain;}
.pillnav .brand__name{display:none;}

.menu{position:relative;display:flex;align-items:center;gap:0;list-style:none;padding:0;margin:0 2px;}
.menu>li{position:relative;}
.menu>li>a,.menu>li>button{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.32em;padding:.62em .92em;border-radius:100px;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:rgba(244,238,225,.78);background:none;border:none;white-space:nowrap;transition:color .3s ease;}
.menu>li>a:hover,.menu>li>button:hover,.menu>li>a[aria-current="page"],.menu>li>button[aria-current="page"]{color:#fff;}
.menu .caret{width:9px;height:9px;opacity:.7;transition:transform .35s var(--ease-out);}
.menu>li:hover .caret,.menu>li:focus-within .caret{transform:rotate(180deg);}
.menu__pill{position:absolute;left:0;top:0;height:0;width:0;background:rgba(255,255,255,.16);border-radius:100px;z-index:0;opacity:0;pointer-events:none;}
.dropdown{position:absolute;top:calc(100% + 16px);left:50%;translate:-50% 0;min-width:230px;list-style:none;padding:8px;margin:0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .28s var(--ease-out),transform .28s var(--ease-out),visibility .28s;}
.dropdown::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.menu>li:hover .dropdown,.menu>li:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:.6em .85em;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;color:var(--ink-soft);transition:background .2s,color .2s,padding-left .25s var(--ease-out);}
.dropdown a:hover{background:color-mix(in srgb,var(--cyan) 12%,transparent);color:var(--cyan-deep);padding-left:1.15em;}
.nav__links{display:flex;align-items:center;gap:6px;}
.nav__actions{display:flex;align-items:center;gap:6px;}
.nav__actions .btn{padding:.7em 1.25em;font-size:.88rem;box-shadow:none;}
.hamburger{display:none;width:42px;height:42px;border:none;background:rgba(255,255,255,.10);border-radius:50%;position:relative;flex-shrink:0;}
.hamburger span{position:absolute;left:12px;right:12px;height:2px;background:#fff;border-radius:2px;transition:transform .4s var(--ease-out),opacity .3s,top .3s;}
.hamburger span:nth-child(1){top:15px;}.hamburger span:nth-child(2){top:20px;}.hamburger span:nth-child(3){top:25px;}
body.menu-open .hamburger span:nth-child(1){top:20px;transform:rotate(45deg);}
body.menu-open .hamburger span:nth-child(2){opacity:0;}
body.menu-open .hamburger span:nth-child(3){top:20px;transform:rotate(-45deg);}

/* =========================================================
   HOME — HERO split
   ========================================================= */
.hero{position:relative;}
.hero__grid{display:grid;grid-template-columns:1fr 1fr;min-height:clamp(520px,78vh,760px);}
.hero__left{display:flex;flex-direction:column;justify-content:center;padding:clamp(104px,13vh,128px) clamp(20px,5vw,72px) clamp(28px,5vw,64px);}
.hero__left .eyebrow{margin-bottom:var(--space-lg);}
.hero h1{font-size:clamp(2.6rem,1.7rem + 3.6vw,4.6rem);font-weight:800;line-height:1.0;letter-spacing:-.03em;}
.hero h1 .serif{color:var(--cyan);font-weight:400;}
.hero__sub{margin-top:var(--space-lg);color:var(--ink-soft);max-width:42ch;}
.hero__cta{margin-top:var(--space-xl);display:flex;gap:var(--space-md);flex-wrap:wrap;}
.hero__quick{margin-top:var(--space-2xl);display:flex;gap:var(--space-xl);flex-wrap:wrap;}
.hero__quick div{display:flex;flex-direction:column;}
.hero__quick dt{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;}
.hero__quick dd{font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--navy);}
.hero__right{position:relative;background:linear-gradient(150deg,var(--teal),var(--cyan-deep));overflow:hidden;}
.hero__right .fill{position:absolute;inset:0;transition:transform 1s var(--ease-out);}
.hero__right .fill::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 50% at 70% 20%,color-mix(in srgb,var(--cyan) 55%,transparent),transparent 60%),repeating-linear-gradient(125deg,rgba(255,255,255,.05) 0 3px,transparent 3px 13px);}
.hero__photo-tag{position:absolute;top:20px;right:20px;z-index:2;background:rgba(13,37,65,.5);color:var(--cream);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:6px 12px;border-radius:100px;backdrop-filter:blur(6px);}
.hero__card{position:absolute;bottom:26px;left:26px;right:26px;max-width:380px;z-index:2;background:var(--paper);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-lg);display:flex;gap:var(--space-md);align-items:center;}
.hero__card .thumb{width:74px;height:74px;border-radius:var(--radius-sm);flex-shrink:0;background:linear-gradient(150deg,var(--cyan),var(--navy));}
.hero__card h3{font-size:1.05rem;}.hero__card p{font-size:.84rem;color:var(--muted);margin-top:2px;}
.hero__card .when{color:var(--cyan-deep);font-weight:700;font-size:.82rem;margin-top:4px;}

/* =========================================================
   INNER PAGE BANNER (image-forward hero)
   ========================================================= */
.banner{position:relative;overflow:hidden;color:var(--paper);isolation:isolate;background:var(--navy);}
.banner .fill{position:absolute;inset:0;z-index:-2;background:linear-gradient(150deg,var(--c1,var(--slate)),var(--c2,var(--navy)));}
.banner .fill::after{content:"";position:absolute;inset:0;background:radial-gradient(70% 60% at 75% 15%,color-mix(in srgb,var(--teal) 50%,transparent),transparent 60%),radial-gradient(60% 55% at 12% 95%,color-mix(in srgb,var(--cyan) 45%,transparent),transparent 55%),repeating-linear-gradient(125deg,rgba(255,255,255,.04) 0 3px,transparent 3px 13px);}
.banner::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(13,37,65,.5),transparent 70%);}
.banner__inner{padding-top:clamp(120px,15vw,190px);padding-bottom:clamp(56px,9vw,104px);max-width:760px;}
.banner__photo{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;transform:scale(1.06);}
.banner__scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(13,37,65,.82),rgba(13,37,65,.6) 55%,rgba(13,37,65,.86));}
.banner .crumb{margin-bottom:var(--space-md);}
.banner h1{color:var(--paper);font-size:clamp(2.4rem,1.6rem + 3.6vw,4.4rem);line-height:1.0;letter-spacing:-.02em;}
.banner h1 .serif{color:var(--teal);}
.banner p{margin-top:var(--space-lg);color:rgba(244,238,225,.9);font-size:clamp(1.05rem,1rem + .4vw,1.25rem);max-width:54ch;}
.banner .btn{margin-top:var(--space-xl);}
.crumb{display:flex;gap:.5em;align-items:center;font-size:.78rem;font-weight:600;letter-spacing:.04em;color:rgba(244,238,225,.7);flex-wrap:wrap;}
.crumb a{color:rgba(244,238,225,.7);}.crumb a:hover{color:var(--teal);}
.crumb .sep{opacity:.5;}

/* =========================================================
   PROSE
   ========================================================= */
.prose{max-width:70ch;}
.prose h2{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.5rem);margin-top:var(--space-2xl);margin-bottom:var(--space-md);}
.prose h2:first-child{margin-top:0;}
.prose h2 .serif{color:var(--cyan);}
.prose h3{font-size:1.3rem;margin-top:var(--space-xl);margin-bottom:var(--space-xs);}
.prose p{margin-bottom:var(--space-md);color:var(--ink-soft);}
.prose ul{margin:0 0 var(--space-md) 1.1em;color:var(--ink-soft);display:grid;gap:8px;}
.prose strong{color:var(--ink);}
.prose a:not(.btn){color:var(--cyan-deep);font-weight:600;border-bottom:1.5px solid color-mix(in srgb,var(--cyan) 40%,transparent);}

/* section heading block */
.head{margin-bottom:var(--space-2xl);}
.head h2{font-size:clamp(1.9rem,1.4rem + 2.2vw,3rem);max-width:18ch;}
.head h2 .serif{color:var(--cyan);}
.head.center h2{margin-inline:auto;}
.head p{margin-top:var(--space-md);}
.head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;}

/* =========================================================
   SPLIT (image + text)
   ========================================================= */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;}
.split + .split{margin-top:clamp(40px,6vw,80px);}
.split .img{aspect-ratio:4/3;width:100%;}
.split.rev .split__media{order:2;}
.split__copy h2{font-size:clamp(1.7rem,1.3rem + 1.8vw,2.6rem);margin-bottom:var(--space-md);}
.split__copy h2 .serif{color:var(--cyan);}
.split__copy p{color:var(--ink-soft);}.split__copy p+p{margin-top:var(--space-md);}
.split__copy .btn{margin-top:var(--space-lg);}
.split__copy .eyebrow{margin-bottom:var(--space-sm);}
/* optional card treatment for a split section */
.split--card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg,26px);
  box-shadow:0 24px 60px rgba(13,37,65,.10),0 2px 8px rgba(13,37,65,.05);
  padding:clamp(20px,3.4vw,40px);gap:clamp(24px,4vw,56px);overflow:hidden;}
.split--card .split__media .img{border-radius:var(--radius,18px);overflow:hidden;}
@media (max-width:820px){.split--card{padding:clamp(18px,5vw,26px);}}

/* =========================================================
   GALLERY
   ========================================================= */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);grid-auto-rows:1fr;}
.gallery .img{aspect-ratio:1;}
.gallery .img.big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;}
.gallery .img.wide{grid-column:span 2;aspect-ratio:auto;}
.gallery--3{grid-template-columns:repeat(3,1fr);}
/* A placeholder tile that has had a photo uploaded to it shows the photo (and hides the gradient/icon). */
.img[style*="background-image"]{background-size:cover;background-position:center;}
.img[style*="background-image"]>.fill,.img[style*="background-image"]>.ico,.img[style*="background-image"]>.tag{display:none;}

/* Polaroid filmstrip — drag/swipe through photos (e.g. Our History) */
.filmstrip{position:relative;margin-top:clamp(28px,5vw,52px);}
.filmstrip__track{display:flex;gap:clamp(18px,3vw,36px);overflow-x:auto;scroll-snap-type:x proximity;padding:18px clamp(20px,5vw,52px) 34px;scrollbar-width:thin;-webkit-overflow-scrolling:touch;cursor:grab;}
.filmstrip__track.is-drag{cursor:grabbing;scroll-snap-type:none;}
.filmstrip__track.is-drag .polaroid{pointer-events:none;}
.polaroid{flex:none;scroll-snap-align:center;width:clamp(216px,27vw,300px);background:#fff;padding:13px 13px 0;border-radius:3px;box-shadow:0 14px 32px rgba(13,37,65,.18);transform:rotate(var(--r,0deg));transition:transform .3s var(--ease-out),box-shadow .3s;}
.polaroid:nth-child(odd){--r:-1.7deg;}
.polaroid:nth-child(even){--r:1.5deg;}
.polaroid:nth-child(3n){--r:.7deg;}
.polaroid:nth-child(5n){--r:-2.4deg;}
.polaroid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--cream-2);}
.polaroid::after{content:"";display:block;height:46px;}
.polaroid:hover{transform:rotate(0deg) translateY(-6px) scale(1.02);box-shadow:0 22px 46px rgba(13,37,65,.26);position:relative;z-index:2;}
.filmstrip__nav{position:absolute;top:calc(50% - 6px);transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 18px rgba(13,37,65,.16);color:var(--navy);font-size:1.7rem;line-height:1;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s;}
.filmstrip__nav:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.filmstrip__nav--prev{left:max(8px,calc(50% - 620px));}
.filmstrip__nav--next{right:max(8px,calc(50% - 620px));}
@media(max-width:680px){.filmstrip__nav{display:none;}}

/* Scroll-velocity image marquee (legacy, unused) */
.velo-sec{overflow:hidden;}
.velo{display:flex;flex-direction:column;gap:clamp(12px,1.8vw,20px);margin-top:clamp(28px,5vw,52px);width:100%;}
.velo__row{overflow:hidden;}
.velo__track{display:flex;gap:clamp(12px,1.8vw,20px);width:max-content;will-change:transform;}
.velo__item{flex:none;height:clamp(150px,21vw,290px);margin:0;border-radius:16px;overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-sm);}
.velo__item img{height:100%;width:auto;display:block;object-fit:cover;}
/* If motion is reduced, fall back to a normal swipeable strip with no auto-animation */
@media(prefers-reduced-motion:reduce){
  .velo__row{overflow-x:auto;scrollbar-width:thin;}
  .velo__track{transform:none !important;}
}

/* =========================================================
   FEATURE CARDS (image-top)
   ========================================================= */
/* Card rows: max 3 across, balanced so the last row is never a lone card (5→3+2, 4→2+2). */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);}
.cards:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}   /* exactly 2 */
.cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}   /* exactly 4 → 2+2 */
@media(max-width:900px){
  .cards,.cards:has(> :nth-child(2):last-child),.cards:has(> :nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
  .cards > :last-child:nth-child(odd){grid-column:1 / -1;}     /* lone trailing card spans the row instead of sitting alone */
}
@media(max-width:560px){
  .cards,.cards:has(> :nth-child(2):last-child),.cards:has(> :nth-child(4):last-child){grid-template-columns:1fr;}
  .cards > :last-child:nth-child(odd){grid-column:auto;}
}
.card{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.card .img{aspect-ratio:16/10;border-radius:0;box-shadow:none;}
.card__body{padding:var(--space-lg);display:flex;flex-direction:column;flex:1;}
.card .kicker{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--cyan-deep);}
.card h3{font-size:1.25rem;margin-top:4px;}
.card p{color:var(--ink-soft);font-size:.94rem;margin-top:var(--space-xs);}
.card .go{margin-top:var(--space-md);font-family:var(--font-display);font-weight:700;font-size:.88rem;color:var(--cyan-deep);display:inline-flex;gap:.4em;align-items:center;transition:gap .3s var(--ease-out);}
.card:hover .go{gap:.75em;}

/* YouTube video grid (real thumbnails) */
.vidgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg);}
.vidcard{display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);}
.vidcard:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.vidcard__thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy);}
.vidcard__thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out);}
.vidcard:hover .vidcard__thumb img{transform:scale(1.05);}
.vidcard__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;background:rgba(13,37,65,.66);color:#fff;display:grid;place-items:center;backdrop-filter:blur(2px);transition:background .3s,transform .3s var(--ease-out);}
.vidcard:hover .vidcard__play{background:var(--cyan);transform:translate(-50%,-50%) scale(1.08);}
.vidcard__play svg{margin-left:3px;}
.vidcard__title{font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--ink);padding:var(--space-md) var(--space-lg) 4px;line-height:1.3;}
.vidcard__date{padding:0 var(--space-lg) var(--space-lg);color:var(--muted);font-size:.82rem;}
.vidcard{cursor:pointer;}

/* In-site video player (lightbox) */
body.vplayer-open{overflow:hidden;}
.vplayer{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:clamp(14px,4vw,40px);}
.vplayer.open{display:flex;}
.vplayer__backdrop{position:absolute;inset:0;background:rgba(7,18,33,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:vfade .25s var(--ease-out) both;}
.vplayer__box{position:relative;width:min(1040px,100%);animation:vrise .35s var(--ease-out) both;}
.vplayer__frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--radius);overflow:hidden;box-shadow:0 40px 120px rgba(0,0,0,.55);}
.vplayer__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.vplayer__title{margin-top:14px;color:var(--paper);font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-align:center;text-shadow:0 1px 12px rgba(0,0,0,.5);}
.vplayer__x{position:absolute;top:-14px;right:-14px;width:42px;height:42px;border-radius:50%;border:none;background:var(--paper);color:var(--navy);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-lg);transition:transform .25s var(--ease-out),background .25s,color .25s;}
.vplayer__x:hover{transform:scale(1.08) rotate(90deg);background:var(--cyan);color:#fff;}
@media(max-width:560px){.vplayer__x{top:-50px;right:0;}}
@keyframes vfade{from{opacity:0}to{opacity:1}}
@keyframes vrise{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.vplayer__backdrop,.vplayer__box{animation:none;}}

/* =========================================================
   HORIZONTAL RAIL
   ========================================================= */
.rail{display:flex;gap:var(--space-lg);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-md);scrollbar-width:thin;}
.rail::-webkit-scrollbar{height:7px;}
.rail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--navy) 26%,var(--cream));border-radius:10px;}
.rcard{scroll-snap-align:start;flex:0 0 clamp(240px,30vw,300px);}
.rcard .img{aspect-ratio:1.08;}
.rcard h3{margin-top:var(--space-md);font-size:1.15rem;}
.rcard .meta{color:var(--muted);font-size:.86rem;margin-top:2px;}
.rcard .meta b{color:var(--cyan-deep);}

/* =========================================================
   VLIST (sermons / events rows)
   ========================================================= */
.vlist{display:grid;gap:var(--space-md);}
.vrow{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-lg);align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-md);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);}
.vrow:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.vrow .img{width:clamp(96px,14vw,150px);aspect-ratio:16/10;}
.vrow .play{position:absolute;inset:0;z-index:2;display:grid;place-items:center;color:#fff;}
.vrow .play svg{filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));}
.vrow h3{font-size:1.12rem;}
.vrow .meta{color:var(--muted);font-size:.85rem;margin-top:2px;}
.vrow .tagline{color:var(--cyan-deep);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;}
.vrow .when{text-align:center;font-family:var(--font-display);}
.vrow .when .d{font-size:1.6rem;font-weight:800;color:var(--navy);line-height:1;}
.vrow .when .m{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cyan-deep);font-weight:700;}
@media(max-width:620px){.vrow{grid-template-columns:auto 1fr;}.vrow .when{display:none;}}

/* =========================================================
   ACCORDION (beliefs / FAQ)
   ========================================================= */
.acc{display:grid;gap:var(--space-sm);max-width:860px;}
.acc__item{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);font-family:var(--font-display);font-weight:700;font-size:1.05rem;color:var(--navy);background:none;border:none;text-align:left;}
.acc__q .pm{flex-shrink:0;width:24px;height:24px;position:relative;transition:transform .4s var(--ease-out);}
.acc__q .pm::before,.acc__q .pm::after{content:"";position:absolute;background:var(--cyan);border-radius:2px;}
.acc__q .pm::before{top:11px;left:3px;right:3px;height:2px;}
.acc__q .pm::after{left:11px;top:3px;bottom:3px;width:2px;transition:transform .4s var(--ease-out);}
.acc__item.open .pm::after{transform:scaleY(0);}
.acc__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out);}
.acc__item.open .acc__a{grid-template-rows:1fr;}
.acc__a>div{overflow:hidden;}
.acc__a p{padding:0 var(--space-lg) var(--space-lg);color:var(--ink-soft);}
.acc__a a{color:var(--cyan-deep);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color .2s;}
.acc__a a:hover{color:var(--cyan);}

/* =========================================================
   TEAM
   ========================================================= */
/* Fixed-width people so every photo is the same size in every section, centered rows. */
.team{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-lg);}
.team .person{flex:0 1 260px;max-width:260px;width:100%;}
.person .img{aspect-ratio:3/4;}
.person h3{font-size:1.12rem;margin-top:var(--space-md);}
.person .role{color:var(--cyan-deep);font-weight:600;font-size:.88rem;}
.person .bio{margin-top:8px;color:var(--ink-soft);font-size:.88rem;line-height:1.55;}
.team--bio .person{flex-basis:290px;max-width:290px;}
/* cap a section to 3 across so rows stay even (e.g. 6 pastors → 3 + 3) */
.team--cap3{max-width:calc(290px * 3 + var(--space-lg) * 2);margin-inline:auto;}

/* =========================================================
   STAT BAND / QUOTE
   ========================================================= */
.band{background:var(--navy);color:var(--cream);}
.band h2,.band h3{color:var(--paper);}
.band--cream{background:var(--cream-2);color:var(--ink);}
.band--cream h2{color:var(--navy);}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-lg);text-align:center;}
.stat .n{font-family:var(--font-serif);font-style:italic;font-size:clamp(2.6rem,2rem + 2vw,4rem);color:var(--teal);line-height:1;}
.stat .l{margin-top:var(--space-xs);font-size:.85rem;color:rgba(244,238,225,.8);text-transform:uppercase;letter-spacing:.1em;font-weight:600;}
.quote{text-align:center;max-width:900px;margin-inline:auto;}
.quote blockquote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.7rem,1.2rem + 2.2vw,2.8rem);line-height:1.26;color:var(--navy);}
.band .quote blockquote{color:var(--paper);}
.quote .hl{color:var(--cyan);}.band .quote .hl{color:var(--teal);}
.quote cite{display:block;margin-top:var(--space-lg);font-family:var(--font-display);font-style:normal;font-weight:700;font-size:.9rem;letter-spacing:.06em;color:var(--muted);}
.band .quote cite{color:rgba(244,238,225,.7);}

/* times list */
/* contained navy gradient card (e.g. home "Plan your first Sunday") */
.homecard--navy{position:relative;overflow:hidden;color:var(--cream);border-radius:clamp(22px,3vw,32px);
  background:linear-gradient(145deg,var(--cyan-deep),var(--navy) 62%);
  padding:clamp(30px,5vw,60px);box-shadow:0 26px 64px rgba(7,20,38,.28);}
.homecard--navy h2{color:var(--paper);}
.times__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;}
.times__list{display:grid;gap:var(--space-sm);}
.times__list li{list-style:none;display:flex;justify-content:space-between;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid rgba(255,255,255,.14);font-family:var(--font-display);}
.times__list .lab{color:var(--cream);font-weight:600;}
.times__list .val{color:var(--teal);font-weight:700;white-space:nowrap;}

/* find (search moment) */
.find{background:var(--paper);text-align:center;}
.find h2{font-size:clamp(2.2rem,1.6rem + 4vw,4.6rem);font-weight:800;color:color-mix(in srgb,var(--navy) 32%,var(--cream));letter-spacing:-.03em;}
.find h2 .serif{color:var(--cyan);-webkit-text-stroke:0;}
.find__bar{margin:var(--space-xl) auto 0;max-width:560px;display:flex;gap:var(--space-sm);background:var(--cream);border:1px solid var(--line);border-radius:100px;padding:8px 8px 8px 22px;align-items:center;box-shadow:var(--shadow-sm);}
.find__bar span{color:var(--muted);font-size:.95rem;text-align:left;flex:1;}
.findtags{margin-top:var(--space-lg);display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap;}
.findtags a{font-size:.86rem;font-weight:600;padding:.5em 1.1em;border-radius:100px;background:var(--cream);border:1px solid var(--line);color:var(--ink-soft);transition:all .25s;}
.findtags a:hover{background:var(--navy);color:var(--paper);border-color:var(--navy);transform:translateY(-2px);}

/* CTA / invite */
.invite{background:var(--cream-2);text-align:center;}
.invite h2{font-size:clamp(2.2rem,1.6rem + 3vw,4rem);max-width:18ch;margin-inline:auto;}
.invite h2 .serif{color:var(--cyan);}
.invite p{margin-top:var(--space-lg);color:var(--ink-soft);font-size:1.18rem;max-width:44ch;margin-inline:auto;}
.invite__cta{margin-top:var(--space-2xl);display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;}
.invite--navy{background:var(--navy);}
.invite--navy h2{color:var(--paper);}.invite--navy h2 .serif{color:var(--teal);}
.invite--navy p{color:rgba(244,238,225,.88);}

/* =========================================================
   FOOTER
   ========================================================= */
.footer{background:var(--navy);color:rgba(244,238,225,.72);padding-block:var(--space-3xl) var(--space-xl);}
.footer__grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:var(--space-2xl) var(--space-lg);}
.footer__brand .brand,.footer__brand .brand__mark{color:var(--cream);}
.footer__brand .brand__name{color:var(--paper);}
.footer p{font-size:.94rem;margin-top:var(--space-md);max-width:32ch;line-height:1.6;}
.footer h4{color:var(--teal);font-family:var(--font-display);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:var(--space-md);font-weight:700;}
.footer ul{list-style:none;padding:0;display:grid;gap:10px;}
.footer a{font-size:.94rem;transition:color .25s,padding-left .25s var(--ease-out);}
.footer a:hover{color:var(--teal);padding-left:4px;}
.footer__contact a{display:block;}
.socials{display:flex;gap:var(--space-sm);margin-top:var(--space-lg);}
.socials a{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--cream);transition:background .3s,transform .3s var(--ease-out),color .3s;}
.socials a:hover{background:var(--cyan);color:#fff;transform:translateY(-3px);padding-left:0;}
.footer__bottom{margin-top:var(--space-3xl);padding-top:var(--space-lg);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm);font-size:.84rem;color:rgba(244,238,225,.5);}

/* =========================================================
   ANNOUNCEMENT BAR
   ========================================================= */
.announce{background:var(--cyan-deep);color:var(--cream);font-size:.92rem;}
.announce__in{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:10px clamp(40px,5vw,52px);text-align:center;position:relative;flex-wrap:wrap;}
.announce a{font-weight:700;color:#fff;border-bottom:1.5px solid rgba(255,255,255,.5);}
.announce a:hover{border-color:#fff;}
.announce__x{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.8);width:30px;height:30px;border-radius:50%;font-size:1.1rem;line-height:1;display:grid;place-items:center;}
.announce__x:hover{background:rgba(255,255,255,.15);color:#fff;}

/* =========================================================
   FORMS
   ========================================================= */
/* Full-screen image stage behind the form */
.formstage{position:relative;isolation:isolate;overflow:hidden;padding-block:clamp(64px,13vh,150px);display:grid;place-items:center;}
.formstage__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
/* Placeholder "photo" gradients — replace with a real photo via background-image */
.formstage__bg--a{background:linear-gradient(150deg,var(--charcoal),var(--navy) 60%,var(--navy));}
.formstage__bg--b{background:linear-gradient(150deg,var(--navy),var(--charcoal) 70%,var(--navy));}
.formstage__bg--c{background:linear-gradient(150deg,color-mix(in srgb,var(--navy) 78%,var(--cyan)),var(--navy));}
.formstage__bg--d{background:linear-gradient(150deg,var(--charcoal),color-mix(in srgb,var(--navy) 82%,var(--cyan)));}
.formstage__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(75% 55% at 50% 0%,rgba(0,146,183,.20),transparent 60%),radial-gradient(70% 70% at 82% 100%,rgba(88,157,166,.18),transparent 60%),repeating-linear-gradient(125deg,rgba(255,255,255,.025) 0 2px,transparent 2px 26px),linear-gradient(to bottom,rgba(6,18,31,.5),rgba(6,18,31,.74));}
.formstage .wrap{width:100%;display:flex;justify-content:center;}

/* Frosted glass form card */
.form{width:100%;max-width:560px;display:grid;gap:var(--space-md);text-align:left;position:relative;color:#fff;
  background:rgba(13,37,65,.55);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid rgba(255,255,255,.12);border-radius:28px;padding:clamp(24px,4vw,46px);
  box-shadow:0 40px 90px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.10);}
.form::before{content:"";position:absolute;inset:0;border-radius:28px;background:radial-gradient(120% 55% at 50% 0%,rgba(255,255,255,.06),transparent 60%);pointer-events:none;}
.form__badge{width:62px;height:62px;border-radius:18px;margin:0 auto 4px;display:grid;place-items:center;color:#fff;background:linear-gradient(160deg,#26354a,#0d2541);box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 30px 5px rgba(180,210,255,.32),inset 0 1px 0 rgba(255,255,255,.28);}
.form__title{text-align:center;color:#fff;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);}
.form__title .serif{color:var(--teal);}
.form__sub{text-align:center;color:rgba(244,238,225,.72);font-size:.95rem;margin:-2px auto 4px;max-width:42ch;line-height:1.5;}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);}
.field{display:grid;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-family:var(--font-display);font-weight:600;font-size:.82rem;color:rgba(244,238,225,.92);}
.field .req{color:var(--cyan);}
.field input,.field select,.field textarea{font:inherit;font-size:.95rem;color:#fff;background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);border-radius:14px;padding:.85em 1em;transition:border-color .25s,box-shadow .25s,background .25s;width:100%;}
.field input::placeholder,.field textarea::placeholder{color:rgba(244,238,225,.45);}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a9c0d6' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1em center;padding-right:2.4em;}
.field select option{color:#0d2541;}
.field textarea{min-height:128px;resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,146,183,.3);background:rgba(255,255,255,.10);}
/* Multi-select options render as toggle pills */
.checks{display:flex;flex-wrap:wrap;gap:9px;}
.checks label{display:inline-flex;align-items:center;cursor:pointer;padding:.5em .95em;border-radius:100px;border:1.5px solid rgba(255,255,255,.26);background:rgba(255,255,255,.05);font-family:var(--font-display);font-weight:600;font-size:.86rem;color:rgba(244,238,225,.9);transition:background .2s,border-color .2s,color .2s;}
.checks label:hover{border-color:rgba(255,255,255,.5);}
.checks input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.checks label:has(input:checked){background:var(--cyan);border-color:var(--cyan);color:#fff;}
.checks label:has(input:focus-visible){outline:2.5px solid #fff;outline-offset:2px;}
.inline-check input{accent-color:var(--cyan);width:18px;height:18px;}
/* First / Last name pair */
.namefield > label{margin-bottom:2px;}
.namefield .field label.sub{font-weight:500;font-size:.78rem;color:rgba(244,238,225,.62);}
.namefield .opt{font-weight:500;color:rgba(244,238,225,.4);}
.inline-check{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;color:rgba(244,238,225,.82);font-weight:500;}
.form__send{width:100%;justify-content:center;padding:1em;font-size:1rem;margin-top:4px;}
.form .hint{font-size:.8rem;color:rgba(244,238,225,.55);text-align:center;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.formnote{border-radius:14px;padding:var(--space-md) var(--space-lg);font-weight:600;}
.formnote.ok{background:rgba(88,157,166,.22);color:#d6f1ee;border:1px solid rgba(88,157,166,.5);}
.formnote.err{background:rgba(214,75,74,.18);color:#ffd9d4;border:1px solid rgba(214,75,74,.45);}
.qlist{display:grid;gap:var(--space-sm);counter-reset:q;max-width:760px;}
.qlist li{list-style:none;display:flex;gap:var(--space-md);align-items:flex-start;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-lg);}
.qlist li::before{counter-increment:q;content:counter(q);font-family:var(--font-serif);font-style:italic;font-size:1.5rem;color:var(--cyan);line-height:1;flex-shrink:0;}
@media(max-width:560px){.form .row{grid-template-columns:1fr;}.form{border-radius:22px;}}

/* =========================================================
   CALENDAR
   ========================================================= */
.cal{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 14px 40px rgba(13,37,65,.06);}
.cal__bar{display:flex;align-items:center;gap:var(--space-md);padding:clamp(var(--space-md),2.4vw,var(--space-xl)) clamp(var(--space-md),3vw,var(--space-xl));}
.cal__navwrap{display:flex;gap:6px;}
.cal__nav{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--navy);font-size:1.3rem;line-height:1;transition:background .2s,color .2s,border-color .2s;}
.cal__nav:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.cal__title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.2rem,1rem + 1vw,1.7rem);letter-spacing:-.01em;}
.cal__today{margin-left:auto;font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--cyan-deep);border:1px solid var(--line);border-radius:100px;padding:.55em 1.2em;transition:background .2s,color .2s,border-color .2s;}
.cal__today:hover{background:var(--cyan);color:#fff;border-color:var(--cyan);}
.cal__dow{display:grid;grid-template-columns:repeat(7,1fr);padding:0 clamp(6px,1.4vw,12px);}
.cal__dow div{padding:6px;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:clamp(6px,1.4vw,12px);}
.cal__cell{min-height:122px;border:1px solid transparent;border-radius:14px;padding:8px;display:flex;flex-direction:column;gap:4px;transition:background .2s;}
.cal__cell:not(.cal__cell--mute):hover{background:color-mix(in srgb,var(--cyan) 4%,var(--paper));}
.cal__cell--mute{background:transparent;opacity:.45;}
.cal__num{font-family:var(--font-display);font-weight:700;font-size:.82rem;color:var(--ink-soft);width:28px;height:28px;display:grid;place-items:center;border-radius:50%;margin-bottom:1px;}
.cal__cell.is-today{background:color-mix(in srgb,var(--cyan) 7%,var(--paper));}
.cal__cell.is-today .cal__num{background:var(--cyan);color:#fff;box-shadow:0 3px 10px rgba(0,146,183,.4);}
.cal__ev{display:block;font-size:.72rem;font-weight:600;line-height:1.25;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--cyan) 14%,var(--paper));color:var(--cyan-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;transition:transform .15s var(--ease-out),filter .2s;}
a.cal__ev:hover{transform:translateY(-1px);filter:brightness(.96);}
.cal__ev--rec{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--navy) 8%,var(--paper)) 0 6px,color-mix(in srgb,var(--navy) 12%,var(--paper)) 6px 12px);color:var(--navy);}
/* event category palette */
.ev-c1{background:#dff1f6;color:#0a6a83;}
.ev-c2{background:#ebe8fb;color:#5942c4;}
.ev-c3{background:#fde5ee;color:#bf3a6e;}
.ev-c4{background:#fbedd2;color:#a96f12;}
.ev-c5{background:#e1f3e4;color:#2c8048;}
.ev-c6{background:#e4edfb;color:#2d5cab;}
.cal__more{font-size:.68rem;color:var(--muted);font-weight:600;padding-left:4px;}
.cal__legend{display:flex;gap:var(--space-xl);padding:var(--space-md) clamp(var(--space-md),3vw,var(--space-xl)) clamp(var(--space-md),2.4vw,var(--space-xl));font-size:.82rem;color:var(--muted);flex-wrap:wrap;}
.cal__legend .dot{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:7px;vertical-align:-1px;}
.cal__legend .dot--ev{background:#9ad2e0;}
.cal__legend .dot--rec{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--navy) 25%,#fff) 0 4px,color-mix(in srgb,var(--navy) 40%,#fff) 4px 8px);}
@media(max-width:680px){
  .cal__grid{gap:3px;padding:6px;}
  .cal__cell{min-height:62px;padding:5px;gap:3px;border-radius:9px;}
  .cal__num{font-size:.76rem;width:22px;height:22px;}
  .cal__ev{font-size:0;line-height:0;padding:0;height:7px;border-radius:4px;}
  .cal__more{font-size:.58rem;}
  .cal__dow div{font-size:.58rem;padding:6px 2px;}
}

/* ===== Event detail page ===== */
.eventpage{display:grid;grid-template-columns:1fr clamp(260px,30%,340px);gap:clamp(var(--space-lg),4vw,var(--space-3xl));align-items:start;}
.eventpage__body{white-space:normal;}
.eventpage__cta{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-xl);}
.eventcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(var(--space-lg),2.5vw,var(--space-xl));display:grid;gap:var(--space-lg);box-shadow:0 14px 40px rgba(13,37,65,.06);position:sticky;top:96px;}
.eventcard__row{display:flex;gap:14px;align-items:flex-start;}
.eventcard__ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--cyan) 12%,var(--snow));color:var(--cyan-deep);}
.eventcard__ic svg{width:20px;height:20px;}
.eventcard__k{display:block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:2px;}
.eventcard__row b{font-family:var(--font-display);font-weight:600;color:var(--navy);font-size:.98rem;line-height:1.3;}
@media(max-width:760px){.eventpage{grid-template-columns:1fr;}.eventcard{position:static;order:-1;}}

/* =========================================================
   MOTION (progressive enhancement)
   Only hide pre-animation when JS marks <html class="motion">
   ========================================================= */
.motion [data-reveal]{opacity:0;}
.motion [data-reveal-group]>*{opacity:0;}
.motion [data-kenburns] .fill{transform:scale(1.12);}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:960px){
  .hero__grid{grid-template-columns:1fr;}
  .hero__right{min-height:380px;}
  .split,.split.rev .split__media,.times__grid{grid-template-columns:1fr;}
  .split.rev .split__media{order:0;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .footer__grid{grid-template-columns:1fr 1fr;}
}
/* ===== Mobile bottom bar + full-menu overlay ===== */
.botbar{display:none;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:200;align-items:stretch;gap:2px;background:rgba(13,37,65,.82);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);border:1px solid rgba(255,255,255,.12);border-radius:100px;padding:7px;box-shadow:0 18px 45px rgba(7,20,38,.45);transition:transform .45s var(--ease-out),opacity .4s;max-width:calc(100vw - 22px);}
.botbar.hide{transform:translateX(-50%) translateY(170%);opacity:0;}
.botbar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:60px;padding:8px 10px;border-radius:100px;border:none;background:none;color:rgba(244,238,225,.7);font-family:var(--font-display);font-weight:600;font-size:.64rem;letter-spacing:.02em;cursor:pointer;transition:color .25s,background .25s;text-decoration:none;}
.botbar__item svg{width:23px;height:23px;}
.botbar__item span{line-height:1;}
.botbar__item:hover,.botbar__item.is-active{color:#fff;}
.botbar__item--give{color:var(--cyan);}
.botbar__item--give:hover{color:#fff;}
.botbar__more .ic-x{display:none;}
body.menu-open .botbar__more .ic-menu{display:none;}
body.menu-open .botbar__more .ic-x{display:block;}
body.menu-open .botbar__more{color:#fff;}

.mobmenu{display:none;position:fixed;inset:0;z-index:190;background:var(--cream);flex-direction:column;padding:clamp(20px,6vw,40px) clamp(20px,6vw,40px) 116px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(14px);transition:opacity .35s var(--ease-out),transform .35s var(--ease-out),visibility .35s;}
body.menu-open .mobmenu{opacity:1;visibility:visible;transform:none;}
.mobmenu__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);}
.mobmenu__head .brand__mark{box-shadow:0 2px 8px rgba(13,37,65,.14);}
.mobmenu__head .brand__name{color:var(--navy);}
.mobmenu .menu{flex-direction:column;align-items:stretch;gap:0;width:100%;position:static;margin:0;}
.mobmenu .menu>li{border-bottom:1px solid var(--line);}
.mobmenu .menu>li>a,.mobmenu .menu>li>button{width:100%;justify-content:space-between;padding:.95em .3em;font-size:1.2rem;border-radius:var(--radius-sm);color:var(--navy);font-weight:600;background:none;}
.mobmenu .menu>li>a[aria-current="page"],.mobmenu .menu>li>button[aria-current="page"]{color:var(--cyan-deep);}
.mobmenu .caret{margin-left:auto;width:11px;height:11px;}
.mobmenu .dropdown{position:static;translate:none;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:transparent;padding:0 0 var(--space-sm) var(--space-md);min-width:0;max-height:0;overflow:hidden;transition:max-height .4s var(--ease-out);}
.mobmenu .dropdown::before{display:none;}
.mobmenu .dropdown a{color:var(--ink-soft);}
.mobmenu .has-dropdown.open .dropdown{max-height:760px;}
.mobmenu .has-dropdown.open .caret{transform:rotate(180deg);}
.mobmenu__actions{margin-top:auto;padding-top:var(--space-lg);display:grid;gap:var(--space-sm);}
.mobmenu__actions .btn{width:100%;justify-content:center;}

@media(max-width:1040px){
  .navshell{display:none;}
  .mobtop{display:flex;}            /* traditional top bar for the mobile browser */
  .mobmenu{display:flex;}
  .banner__inner{padding-top:clamp(82px,13vw,104px);}
  .hero__frame{padding-top:clamp(78px,12vw,108px);}
  .hero__left{padding-top:clamp(40px,8vw,72px);}
}
@media(max-width:560px){
  .footer__grid{grid-template-columns:1fr;}
  .gallery{grid-template-columns:1fr 1fr;}
  .gallery .img.big{grid-column:span 2;grid-row:span 1;}
  .hero__card{position:static;margin:18px;max-width:none;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  .motion [data-reveal]{opacity:1 !important;}
  .motion .img[data-kenburns] .fill{transform:none !important;}
}

/* =========================================================
   LARGE DISPLAYS — widen the content column and scale type up
   so the design fills big monitors instead of sitting tiny in
   the middle. rem-based sizing follows the html font-size bump.
   ========================================================= */
@media(min-width:1700px){
  :root{--maxw:1480px;--space-3xl:76px;--space-4xl:112px;}
  html{font-size:17.5px;}
}
@media(min-width:2200px){
  :root{--maxw:1720px;--space-2xl:60px;--space-3xl:88px;--space-4xl:132px;}
  html{font-size:19.5px;}
}
@media(min-width:2900px){   /* 4K and up */
  :root{--maxw:2080px;--space-2xl:72px;--space-3xl:108px;--space-4xl:160px;}
  html{font-size:22.5px;}
}
@media(min-width:3700px){   /* 5K / ultrawide */
  :root{--maxw:2400px;}
  html{font-size:25px;}
}

/* =========================================================
   REFINEMENTS — legibility, photo cleanup, varied hovers
   ========================================================= */
:root{
  /* a brighter cyan used only for text sitting on dark navy/photos */
  --cyan-bright:color-mix(in srgb,var(--cyan) 52%,white);
}

/* ---- 1. Legibility: brighten blue text & strengthen scrims on dark ---- */
.banner__scrim{background:linear-gradient(165deg,rgba(10,28,52,.88),rgba(10,28,52,.66) 50%,rgba(8,20,38,.92));}
.banner h1{text-shadow:0 2px 22px rgba(7,18,33,.5);}
.banner h1 .serif{color:var(--cyan-bright);}
.banner p{color:rgba(249,250,253,.96);text-shadow:0 1px 12px rgba(7,18,33,.4);}
.banner .eyebrow{color:var(--cyan-bright) !important;text-shadow:0 1px 10px rgba(7,18,33,.5);}
.banner .crumb,.banner .crumb a{color:rgba(249,250,253,.82);}
.banner .crumb a:hover{color:var(--cyan-bright);}
/* blue-on-navy text elsewhere */
.band .quote .hl,.invite--navy h2 .serif{color:var(--cyan-bright);}
.stat .n{color:var(--cyan-bright);}
.times__list .val{color:var(--cyan-bright);}
.footer a:hover{color:var(--cyan-bright);}

/* ---- 2. No badges over real photos ---- */
.img.has-photo .tag,.img.has-photo .ico{display:none !important;}

/* ---- 3. Varied hover micro-interactions ---- */
/* Feature cards: lighter lift + growing accent underline + image push-in */
.card{position:relative;transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out);}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out);}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.card:hover::after{transform:scaleX(1);}
.card:hover h3{color:var(--cyan-deep);}
.card h3{transition:color .35s ease;}
.card:hover .img.has-photo>.ph{transform:scale(1.07);}

/* Rail cards: image zoom + title shifts to cyan (no shadow) */
.rcard .img{transition:transform .5s var(--ease-out);}
.rcard h3{transition:color .35s ease;}
.rcard:hover .img.has-photo>.ph{transform:scale(1.07);}
.rcard:hover h3{color:var(--cyan-deep);}

/* Video cards: outline highlight + image zoom instead of heavy shadow */
.vidcard{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .4s ease;}
.vidcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--cyan) 55%,transparent);}

/* Sermon/event rows: slide right + growing left accent bar */
.vrow{position:relative;overflow:hidden;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);}
.vrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--cyan);transform:scaleY(0);transform-origin:top;transition:transform .4s var(--ease-out);z-index:3;}
.vrow:hover{transform:translateX(6px);box-shadow:var(--shadow-md);}
.vrow:hover::before{transform:scaleY(1);}
.vrow h3{transition:color .35s ease;}
.vrow:hover h3{color:var(--cyan-deep);}

/* People: subtle image zoom + name shifts to cyan */
.person .img{overflow:hidden;}
.person .img.has-photo>.ph{transition:transform .6s var(--ease-out);}
.person:hover .img.has-photo>.ph{transform:scale(1.05);}
.person h3{transition:color .35s ease;}
.person:hover h3{color:var(--cyan-deep);}

/* Quick "go" link arrow already slides; add color deepen */
.card:hover .go{color:var(--cyan);}

@media(prefers-reduced-motion:reduce){
  .card:hover,.vrow:hover,.vidcard:hover{transform:none;}
  .card::after,.vrow::before{transition:none;}
}

/* =========================================================
   BATCH 2 — banner cards, home hero, accordion spring, etc.
   ========================================================= */

/* Full-color header photo (no tint) + frosted text card */
.banner--photo::after{display:none;}
.banner--photo .banner__photo{filter:none;}
.banner__inner{padding-top:clamp(132px,16vw,200px);}
.banner__card{
  max-width:660px;background:rgba(13,37,65,.44);
  backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);
  border:1px solid rgba(255,255,255,.18);border-radius:24px;
  padding:clamp(22px,3vw,38px);box-shadow:0 30px 70px rgba(7,20,38,.34);
}
.banner__card .crumb,.banner__card .crumb a{color:rgba(249,250,253,.85);text-shadow:none;}
.banner__card .crumb a:hover{color:var(--cyan-bright);}
.banner__card .eyebrow{color:var(--cyan-bright);text-shadow:none;}
.banner__card h1{color:#fff;text-shadow:none;margin:0;}
.banner__card h1 .serif{color:var(--cyan-bright);}
.banner__card p{color:rgba(249,250,253,.93);text-shadow:none;margin-top:var(--space-md);}
.banner__cta{margin-top:var(--space-lg);display:flex;gap:var(--space-md);flex-wrap:wrap;}
.banner__cta .btn{margin-top:0;}
/* Face-aware card placement on desktop — card sits on the photo's clear side */
@media(min-width:1041px){
  .banner--card-right .banner__inner{max-width:none;}
  .banner--card-right .banner__card{margin-left:auto;}
  .banner--card-narrow .banner__card{max-width:430px;}
}

/* Home hero — full-width rounded image w/ white margin + overlay text card */
.hero__frame{padding:clamp(96px,13vh,140px) clamp(10px,2.2vw,22px) clamp(10px,2.2vw,22px);}
.hero__media{position:relative;border-radius:clamp(20px,2.6vw,32px);overflow:hidden;
  min-height:clamp(540px,82vh,800px);background:var(--navy);display:flex;align-items:flex-end;isolation:isolate;}
.hero__media>.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;}
.hero__media::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(7,18,33,.45),transparent 55%);}
.hero__panel{position:relative;z-index:2;margin:clamp(16px,3vw,40px);max-width:580px;
  background:rgba(13,37,65,.46);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:clamp(24px,3vw,42px);
  color:var(--paper);box-shadow:0 30px 70px rgba(7,20,38,.42);}
.hero__panel .eyebrow{color:var(--cyan-bright);margin-bottom:var(--space-md);}
.hero__panel h1{color:#fff;font-size:clamp(2.3rem,1.55rem + 3vw,4rem);line-height:1.02;letter-spacing:-.03em;}
.hero__panel h1 .serif{color:var(--cyan-bright);font-weight:400;}
.hero__panel .hero__sub{margin-top:var(--space-md);color:rgba(249,250,253,.92);max-width:46ch;}
.hero__panel .hero__cta{margin-top:var(--space-lg);}
.hero__panel .hero__quick{margin-top:var(--space-xl);gap:var(--space-lg) var(--space-xl);}
.hero__panel .hero__quick dt{color:rgba(249,250,253,.7);}
.hero__panel .hero__quick dd{color:#fff;}
@media(max-width:640px){
  .hero__media{min-height:clamp(480px,76vh,640px);}
  .hero__panel{margin:12px;padding:22px;}
}

/* Accordion — springy open */
.acc__a{transition:grid-template-rows .5s cubic-bezier(.34,1.56,.64,1);}
.acc__q .pm{transition:transform .5s cubic-bezier(.34,1.56,.64,1);}
.acc__item.open .acc__q .pm{transform:rotate(90deg);}
.acc__item.open{box-shadow:var(--shadow-md);}
.acc__item{transition:box-shadow .4s var(--ease-out);}

/* Partner logo grid (missions) */
.logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md);align-items:center;}
.logos figure{background:var(--navy);border:1px solid color-mix(in srgb,var(--navy) 55%,var(--snow));border-radius:var(--radius);aspect-ratio:3/2;display:grid;place-items:center;padding:22px;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);}
.logos figure:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);}
.logos img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}

/* Single full-image form stage (connect page) — lighter scrim so the photo shows */
.formstage--solo .formstage__bg{background-size:cover;background-position:center;}
.formstage--solo .formstage__bg::after{background:linear-gradient(to bottom,rgba(6,18,31,.34),rgba(6,18,31,.56));}

/* Nav nudged down slightly */
.navshell{top:24px;}

/* Home: one off-white field; color reserved for the Plan-a-Visit band */
.page-home{background:var(--snow);}
.page-home .section{background:var(--snow);}
/* Creative section break — cross motif between hairlines (replaces color transitions) */
.pagebreak{display:flex;align-items:center;gap:clamp(14px,3vw,30px);max-width:720px;margin-inline:auto;padding-inline:clamp(20px,5vw,52px);padding-block:clamp(18px,3.5vw,40px);}
.pagebreak__rule{flex:1;height:1px;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--navy) 20%,transparent),transparent);}
.pagebreak__mark{color:var(--cyan);display:grid;place-items:center;flex-shrink:0;opacity:.85;transition:transform .6s var(--ease-out);}
.motion .pagebreak__mark{transform:rotate(45deg);}

/* =========================================================
   MOBILE BROWSER — traditional top bar
   ========================================================= */
.mobtop{display:none;position:fixed;top:0;left:0;right:0;z-index:200;align-items:center;justify-content:space-between;
  padding:9px clamp(12px,4vw,20px);background:rgba(13,37,65,.92);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  box-shadow:0 4px 22px rgba(7,20,38,.28);border-bottom:1px solid rgba(255,255,255,.08);}
.mobtop .brand{color:#fff;gap:.5em;}
.mobtop .brand__logo{width:38px;height:38px;}
.mobtop .brand__name{font-size:.9rem;}
.mobtop__nav{display:flex;align-items:center;gap:2px;}
.mobtop__nav a{color:rgba(244,238,225,.86);font-family:var(--font-display);font-weight:600;font-size:.9rem;padding:.5em .7em;border-radius:100px;text-decoration:none;transition:color .2s,background .2s;}
.mobtop__nav a:hover,.mobtop__nav a.is-active{color:#fff;background:rgba(255,255,255,.1);}
.mobtop__more{display:inline-flex;align-items:center;gap:.45em;background:var(--cyan);color:#fff;border:none;border-radius:100px;padding:.5em .85em;font-family:var(--font-display);font-weight:600;font-size:.88rem;cursor:pointer;}
.mobtop__more svg{width:15px;height:15px;}
.mobtop__more .ic-x{display:none;}
body.menu-open .mobtop__more .ic-menu{display:none;}
body.menu-open .mobtop__more .ic-x{display:block;}

/* =========================================================
   INSTALLED APP (PWA standalone) — app chrome
   ========================================================= */
.apphead{display:none;position:fixed;top:0;left:0;right:0;z-index:200;align-items:center;justify-content:center;gap:.5em;
  padding:calc(env(safe-area-inset-top,0px) + 11px) 16px 11px;background:rgba(13,37,65,.94);backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);color:#fff;box-shadow:0 2px 16px rgba(7,20,38,.3);}
.apphead .brand__logo{width:30px;height:30px;}
.apphead__name{font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.01em;}

/* Installed PWA now uses the SAME floating pill + card-deck menu as mobile web.
   The slim app header and bottom tab bar are retired. */
html.app-mode .navshell{display:flex !important;margin-top:env(safe-area-inset-top,0px);}
html.app-mode .apphead{display:none !important;}
html.app-mode .mobtop{display:none !important;}
html.app-mode .botbar{display:none !important;}
/* Show the mobile-browser top bar (defined after the base .mobtop rule so source order can't hide it). */
@media(max-width:1040px){html:not(.app-mode) .mobtop{display:flex;}}
html.app-mode .announce{display:none;}            /* skip time-sensitive bar inside the app */
html.app-mode body{padding-top:calc(env(safe-area-inset-top,0px) + 4px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);}

/* full-screen frosted card menu — clear the notch + the lowered floating pill */
html.app-mode .mobmenu{padding-top:calc(env(safe-area-inset-top,0px) + 84px) !important;}
html.app-mode .mobmenu__head{display:none;}
/* banners/hero clear the floating pill (matches mobile web) */
html.app-mode .banner__inner{padding-top:calc(env(safe-area-inset-top,0px) + clamp(82px,13vw,104px));}
html.app-mode .hero__frame{padding-top:calc(env(safe-area-inset-top,0px) + clamp(78px,12vw,108px));}

/* "Turn on notifications" — app dashboard card */
.apppush{display:flex;align-items:center;gap:13px;width:100%;text-align:left;cursor:pointer;
  margin-top:4px;padding:14px 16px;border-radius:18px;border:1px solid rgba(0,146,183,.28);
  background:linear-gradient(135deg,rgba(0,146,183,.10),rgba(13,37,65,.05));color:var(--navy);
  font-family:var(--font-display);transition:background .25s,border-color .25s,transform .15s;}
.apppush:active{transform:scale(.99);}
.apppush[data-state="on"]{border-color:rgba(34,150,90,.35);background:rgba(34,150,90,.08);}
.apppush[disabled]{opacity:.7;cursor:default;}
.apppush__ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--cyan);color:#fff;}
.apppush__ic svg{width:21px;height:21px;}
.apppush[data-state="on"] .apppush__ic{background:#22965a;}
.apppush__tx{display:flex;flex-direction:column;gap:1px;line-height:1.2;}
.apppush__tx b{font-size:.96rem;font-weight:700;}
.apppush__tx small{font-size:.76rem;color:var(--ink-soft);font-weight:500;}

/* "Get notifications" — footer link/button */
.footpush{background:none;border:1px solid rgba(255,255,255,.28);color:inherit;cursor:pointer;
  font:inherit;font-size:.82rem;padding:.4em .9em;border-radius:100px;transition:background .25s,border-color .25s;}
.footpush:hover{background:rgba(255,255,255,.1);}
.footpush[data-state="on"]{border-color:rgba(120,210,160,.5);color:#bfe9cf;}
.footpush[disabled]{opacity:.6;cursor:default;}

/* app-only vs browser-only blocks */
.app-only{display:none;}
html.app-mode .app-only{display:block;}
html.app-mode .browser-only{display:none;}

/* =========================================================
   APP HOME DASHBOARD (app-mode home)
   ========================================================= */
.appdash{display:none;padding:clamp(86px,15vw,116px) clamp(16px,5vw,26px) clamp(28px,7vw,44px);flex-direction:column;gap:18px;}
html.app-mode .appdash{display:flex;}
/* let the flex gap own all vertical rhythm — no element adds its own top margin */
.appdash > * { margin-top:0; }
.appk{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;}

/* greeting row */
.appdash__top{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.appdash__kick{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--cyan-deep);}
.appdash__greet{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:clamp(1.9rem,1.4rem + 2.6vw,2.6rem);color:var(--navy);line-height:1.05;margin-top:2px;}
.appdash__avatar{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--navy);display:grid;place-items:center;box-shadow:var(--shadow-sm);}
.appdash__avatar img{width:100%;height:100%;object-fit:contain;}

/* "This Sunday" hero card */
.appcard--sunday{display:block;text-decoration:none;border-radius:22px;overflow:hidden;background:linear-gradient(155deg,var(--cyan-deep),var(--navy));color:#fff;padding:18px;box-shadow:0 16px 40px rgba(7,20,38,.28);position:relative;isolation:isolate;}
.appcard--sunday::after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(70% 60% at 85% 0%,rgba(0,146,183,.45),transparent 60%);}
.appweek{position:relative;z-index:1;display:flex;justify-content:space-between;gap:4px;margin-bottom:16px;}
.appweek span{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.6rem;font-weight:700;letter-spacing:.05em;color:rgba(255,255,255,.6);}
.appweek b{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:.82rem;font-weight:700;color:rgba(255,255,255,.85);}
.appweek .is-today b{background:#fff;color:var(--navy);}
.appweek .is-sun{color:var(--cyan-bright);}
.appweek .is-sun b{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5);}
.appcard__body{position:relative;z-index:1;}
.appcard__body .appk{color:var(--cyan-bright);}
.appcard__body h2{color:#fff;font-size:1.5rem;line-height:1.05;margin-top:3px;}
.appcard__body p{color:rgba(255,255,255,.85);font-size:.86rem;margin-top:5px;}
.appchip{display:inline-flex;align-items:center;gap:.4em;margin-top:14px;background:rgba(255,255,255,.16);color:#fff;font-weight:600;font-size:.82rem;padding:.5em 1em;border-radius:100px;}

/* latest-message media card */
.appfeature{position:relative;display:flex;align-items:flex-end;aspect-ratio:16/9;border-radius:20px;overflow:hidden;text-decoration:none;background:var(--navy);box-shadow:var(--shadow-sm);isolation:isolate;}
.appfeature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.appfeature::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(7,18,33,.92),rgba(7,18,33,.34) 45%,rgba(7,18,33,.04) 72%);}
.appfeature__body{position:relative;z-index:2;padding:16px;width:100%;}
.appfeature__body .appk{color:var(--cyan-bright);}
.appfeature__body h3{color:#fff;font-size:1.1rem;line-height:1.12;margin-top:3px;max-width:80%;}
.appfeature__play{position:absolute;z-index:2;right:16px;bottom:16px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:grid;place-items:center;}
.appfeature__play svg{margin-left:2px;}

/* quick-links list card */
.applist{background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);}
.applist__row{display:flex;align-items:center;gap:14px;padding:15px 16px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);transition:background .2s;}
.applist__row:last-child{border-bottom:none;}
.applist__row:active{background:color-mix(in srgb,var(--cyan) 8%,var(--paper));}
.applist__ico{width:40px;height:40px;flex-shrink:0;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--cyan) 12%,var(--snow));color:var(--cyan-deep);}
.applist__ico svg{width:21px;height:21px;}
.applist__row b{flex:1;font-family:var(--font-display);font-weight:600;font-size:1rem;color:var(--navy);}
.applist__row small{color:var(--muted);font-size:.78rem;}
.applist__chev{color:var(--muted);width:18px;height:18px;flex-shrink:0;}
.appdash__foot{text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:.04em;padding-top:4px;}

/* =========================================================
   EDITORIAL LAYER — typography craft, pull quotes, lead story
   ========================================================= */

/* Kicker rule — a short tick beside section eyebrows */
.head .eyebrow,.split__copy .eyebrow{display:inline-flex;align-items:center;gap:.7em;}
.head .eyebrow::before,.split__copy .eyebrow::before{content:"";width:26px;height:1.5px;background:currentColor;opacity:.55;}
.head.center .eyebrow{justify-content:center;}
.head.center .eyebrow::after{content:"";width:26px;height:1.5px;background:currentColor;opacity:.55;}

/* Lede — a larger, lighter standfirst paragraph */
.lede{font-size:clamp(1.16rem,1rem + .8vw,1.5rem);line-height:1.55;color:var(--ink-soft);font-weight:400;letter-spacing:-.01em;}

/* Drop cap — Instrument Serif initial on a lead paragraph */
.dropcap::first-letter{float:left;font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:3.5em;line-height:.72;padding:.04em .1em 0 0;color:var(--cyan-deep);}

/* Pull quotes — refined cite with rule (decorative quote mark removed) */
.quote blockquote{position:relative;}
.quote cite{position:relative;display:inline-flex;align-items:center;gap:.7em;}
.quote cite::before{content:"";width:34px;height:1.5px;background:currentColor;opacity:.5;}

/* Numbered editorial badge (Who We Are pillars) */
.card__num{font-family:var(--font-serif);font-style:italic;font-size:1.9rem;line-height:1;
  color:var(--cyan-deep);display:block;margin-bottom:6px;}
.card .kicker + h3{margin-top:2px;}

/* Small-caps photo caption */
.figcap{margin-top:10px;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:600;display:flex;align-items:center;gap:.6em;}
.figcap::before{content:"";width:18px;height:1.5px;background:var(--cyan);opacity:.7;}

/* Sermons lead story — magazine cover feature */
.leadstory{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;}
.leadstory__media .vidcard{box-shadow:var(--shadow-md);}
.leadstory__kicker{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:var(--cyan-deep);display:inline-flex;align-items:center;gap:.7em;}
.leadstory__kicker::before{content:"";width:26px;height:1.5px;background:currentColor;opacity:.6;}
.leadstory__title{font-family:var(--font-serif);font-style:italic;font-weight:400;
  font-size:clamp(2rem,1.4rem + 2.4vw,3.4rem);line-height:1.04;letter-spacing:-.01em;color:var(--ink);margin-top:var(--space-md);}
.leadstory__meta{margin-top:var(--space-sm);color:var(--muted);font-size:.92rem;font-weight:600;letter-spacing:.02em;}
.leadstory__copy .btn{margin-top:var(--space-lg);}
@media(max-width:860px){.leadstory{grid-template-columns:1fr;}}

/* Header (frosted) card text dialed down ~30% for a calmer, more refined header */
.banner__card{max-width:560px;padding:clamp(20px,2.4vw,32px);}
.banner__card h1{font-size:clamp(1.7rem,1.15rem + 2.4vw,3.05rem);}
.banner__card p{font-size:clamp(.9rem,.86rem + .26vw,1.02rem);margin-top:var(--space-sm);}
.banner__card .eyebrow{font-size:.6rem;}
.banner__card .crumb{font-size:.72rem;margin-bottom:var(--space-sm);}

/* Event row with a promo image (calendar + events list) */
.vrow__img{width:clamp(116px,16vw,184px);aspect-ratio:16/10;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:var(--navy);align-self:stretch;}
.vrow__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out);}
.vrow--img:hover .vrow__img img{transform:scale(1.05);}
@media(max-width:620px){.vrow--img{grid-template-columns:auto 1fr;}.vrow__img{width:84px;}}

/* =========================================================
   The Bridge Church Roanoke — brand redesign layer
   Per official Brand Guide: navy/cyan palette · Archivo Black
   headings · elegant serif accents · hand-drawn wavy underline.
   ========================================================= */
:root{
  --navy:#0d2541;            /* Brand deep navy */
  --cyan:#0092b7;            /* Brand bright cyan */
  --cyan-bright:#33b4d6;     /* light cyan (on-dark eyebrows) */
  --slate-blue:#193140;      /* brand dark slate */
  --steel:#589da6;           /* brand muted steel */
  --deep-teal:#0b4f6c;       /* brand deep teal */
  --snow:#f9fafd;
  --font-cond:"Archivo Black","Arial Black",var(--font-display);
  --font-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --serif-bold:0px;
  --wave:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20120%2016'%3E%3Cpath%20d='M2%206%20q10%20-6%2020%200%20t20%200%20t20%200%20t20%200%20t20%200'%20fill='none'%20stroke='black'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cpath%20d='M5%2012%20q10%20-6%2020%200%20t20%200%20t20%200%20t20%200'%20fill='none'%20stroke='black'%20stroke-width='3'%20stroke-linecap='round'%20opacity='0.6'/%3E%3C/svg%3E");
}

/* Display headings: Archivo Black, uppercase (per brand guide) */
h1,h2,h3{font-family:var(--font-cond)!important;font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:1.02;}
.hero h1,.banner h1,.find h2,.invite h2{line-height:.98;}

/* Serif accent words: elegant Playfair, upright, title-case */
.serif{font-family:var(--font-serif)!important;font-style:normal!important;-webkit-text-stroke:0!important;font-weight:500;text-transform:none!important;letter-spacing:0;}

/* Eyebrows in brand cyan */
.eyebrow{color:var(--cyan);}

/* Hand-drawn wavy underline under primary headings */
.hero h1::after,.banner__card h1::after,.head h2::after{
  content:"";display:block;width:128px;height:15px;margin-top:16px;
  background-color:currentColor;opacity:.92;
  -webkit-mask:var(--wave) no-repeat left center;mask:var(--wave) no-repeat left center;
  -webkit-mask-size:contain;mask-size:contain;
}
.head.center h2::after{margin-left:auto;margin-right:auto;-webkit-mask-position:center;mask-position:center;}

/* Graduated belief cards (brand ramp: steel -> deep teal -> slate -> navy) */
.belief-cards{gap:var(--space-lg);}
.belief-cards .card{border:none;color:#fff;box-shadow:var(--shadow-md);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);}
.belief-cards .card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.belief-cards .card .card__body{padding:var(--space-xl) var(--space-lg);}
.belief-cards .card h3{color:#fff;font-size:1.5rem;}
.belief-cards .card p{color:rgba(255,255,255,.92);}
.belief-cards .card--g1{background:var(--steel);}
.belief-cards .card--g2{background:var(--deep-teal);}
.belief-cards .card--g3{background:var(--slate-blue);}
.belief-cards .card--g4{background:var(--navy);}

/* Give button in brand cyan */
.btn--accent{--bg:var(--cyan);--fg:#fff;}

/* Subtle speckle on deep-navy invite bands */
.invite--navy,.band:not(.band--cream){
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.5px);
  background-size:15px 15px;
}

/* =========================================================
   Full-width top navigation bar (desktop) — replaces the
   floating pill, matching The Bridge brand reference.
   ========================================================= */
@media (min-width:981px){
  .navshell{position:fixed;top:0;left:0;right:0;display:block;padding:0;pointer-events:auto;
    background:rgba(13,37,65,.82);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
    border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 2px 24px rgba(7,20,38,.22);}
  .navshell.hide{transform:translateY(-110%);}
  .pillnav{width:100%;max-width:1340px;margin:0 auto;background:none;border:none;border-radius:0;box-shadow:none;
    padding:8px 30px;gap:22px;justify-content:space-between;}
  .pillnav .brand{color:#fff;}
  .pillnav .brand__logo{width:auto;height:48px;border-radius:0;background:none;box-shadow:none;}
  .pillnav .brand__logo img{height:100%;width:auto;object-fit:contain;}
  .pillnav .brand:hover .brand__logo{transform:none;}
  .nav__links{flex:1;justify-content:flex-end;gap:18px;}
  .menu{gap:1px;margin:0;}
  .menu>li>a,.menu>li>button{font-size:.92rem;color:rgba(255,255,255,.84);padding:.55em .78em;}
  .menu>li>a:hover,.menu>li>button:hover,.menu>li>a[aria-current="page"],.menu>li>button[aria-current="page"]{color:#fff;}
  .nav__actions{gap:16px;}
  .nav__social{display:flex;align-items:center;gap:14px;}
  .nav__social a{color:rgba(255,255,255,.85);display:inline-flex;align-items:center;transition:color .2s,transform .2s;}
  .nav__social a:hover{color:#fff;transform:translateY(-1px);}
  .nav__actions .btn--accent{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.36);color:#fff;box-shadow:none;}
  .nav__actions .btn--accent:hover{background:var(--steel);border-color:var(--steel);}
}

/* =========================================================
   Flow redesign: left-aligned headings, light hero cards,
   circular photo-collage home hero.
   ========================================================= */
/* 1 — Left-aligned, larger section headings */
.head{text-align:left;}
.head h2{max-width:26ch;font-size:clamp(2.1rem,1.5rem + 2.8vw,3.7rem);}
.head.center,.head.center h2{margin-inline:0;text-align:left;}
.head.center h2::after,.head h2::after{margin-left:0;margin-right:auto;}

/* 2 — Inner-page hero: light frosted card over the (photo/gradient) banner */
.banner__card{background:rgba(249,250,253,.95);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-lg);
  padding:var(--space-2xl) var(--space-xl);box-shadow:0 30px 70px rgba(7,20,38,.30);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:640px;}
.banner__card h1{color:var(--navy);}
.banner__card p{color:var(--slate-blue);}
.banner__card .eyebrow{color:var(--cyan);}
.banner__card .crumb,.banner__card .crumb a,.banner__card .crumb span{color:rgba(13,37,65,.6);}
.banner__card .btn--accent{background:var(--cyan);border:none;color:#fff;}
.banner__card .btn--accent:hover{background:var(--deep-teal);}

/* 3 — Circular photo-collage home hero */
.collage{position:relative;overflow:hidden;background:#2f5a7d;min-height:86vh;display:grid;place-items:center;}
.collage::before{content:"";position:absolute;inset:0;z-index:1;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.7px);background-size:16px 16px;}
.collage__bg{position:absolute;inset:0;z-index:2;}
.collage__bg span{position:absolute;border-radius:50%;background-size:cover;background-position:center;
  box-shadow:0 14px 36px rgba(7,20,38,.28);}
.collage__head{position:relative;z-index:4;text-align:center;max-width:920px;padding:0 var(--space-lg);}
.collage__head .eyebrow{color:#cfe6f2;justify-content:center;margin-bottom:var(--space-md);}
.collage__head h1{color:#fff;font-size:clamp(2.6rem,1.7rem + 4.4vw,5.4rem);line-height:.98;letter-spacing:.01em;
  text-shadow:0 6px 34px rgba(7,20,38,.5);}
.collage__head h1 .serif{color:#fff;font-style:italic!important;}
.collage__cta{margin-top:var(--space-xl);display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;}
@media (max-width:820px){
  .collage{min-height:74vh;}
  .collage__bg span{display:none;}
  .collage__bg span.keep{display:block;opacity:.5;}
}

/* =========================================================
   Top bar refinement: floating rounded-rectangle bar,
   frosted translucent grey glass, smaller rounded-rect hovers.
   ========================================================= */
@media (min-width:981px){
  .navshell{top:16px;left:0;right:0;display:flex;justify-content:center;
    padding-inline:clamp(16px,3.5vw,46px);background:none;border:none;box-shadow:none;
    -webkit-backdrop-filter:none;backdrop-filter:none;}
  .navshell.hide{transform:translateY(-170%);}
  .pillnav{width:100%;max-width:1320px;border-radius:18px;
    background:rgba(48,53,61,.42);
    -webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3);
    border:1px solid rgba(255,255,255,.20);
    box-shadow:0 18px 50px rgba(7,20,38,.30),inset 0 1px 0 rgba(255,255,255,.12);
    padding:9px 14px 9px 20px;}
  .menu>li>a,.menu>li>button{border-radius:10px;padding:.5em .7em;}
  .menu__pill{border-radius:10px;background:rgba(255,255,255,.18);}
}

/* =========================================================
   Staff (circular portraits) & Shepherds (photo cards)
   ========================================================= */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-2xl) var(--space-xl);}
.teamcard{text-align:center;}
.teamcard__photo{width:190px;height:190px;border-radius:50%;object-fit:cover;margin:0 auto var(--space-md);
  box-shadow:0 16px 40px rgba(7,20,38,.22);border:4px solid #fff;}
.teamcard h3{font-size:1.25rem;margin-bottom:4px;}
.teamcard .role{color:var(--muted);font-size:.92rem;margin-bottom:var(--space-md);font-family:var(--font-display);font-weight:500;text-transform:none;}
.teamcard .btn{padding:.58em 1.45em;font-size:.85rem;}
.shepherds{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);max-width:780px;margin-inline:auto;}
.shepcard{border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 16px 40px rgba(7,20,38,.22);background:var(--navy);}
.shepcard img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;}
.shepcard span{display:block;background:var(--navy);color:#fff;text-align:center;font-family:var(--font-cond);
  text-transform:uppercase;letter-spacing:.03em;padding:14px;font-size:1.05rem;}

/* =========================================================
   Top bar — robust fit (final override): floating frosted
   grey glass, no overflow, logo space, social hides when tight.
   ========================================================= */
@media (min-width:981px){
  .navshell{position:fixed;top:14px;left:0;right:0;display:flex;justify-content:center;padding:0 20px;
    background:none;border:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;}
  .navshell.hide{transform:translateY(-165%);}
  .pillnav{width:100%;max-width:1600px;border-radius:16px;gap:14px;padding:7px 14px 7px 18px;justify-content:space-between;
    background:rgba(38,43,50,.46);-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);
    border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 46px rgba(7,20,38,.30),inset 0 1px 0 rgba(255,255,255,.10);}
  .pillnav .brand{flex:0 0 auto;color:#fff;}
  .pillnav .brand__logo{width:auto;height:44px;min-width:40px;border-radius:0;background:none;box-shadow:none;}
  .pillnav .brand__logo img{height:100%;width:auto;object-fit:contain;}
  .pillnav .brand:hover .brand__logo{transform:none;}
  .nav__links{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:8px;}
  .menu{gap:0;margin:0;flex-wrap:nowrap;}
  .menu>li>a,.menu>li>button{font-size:.86rem;color:rgba(255,255,255,.85);padding:.5em .56em;border-radius:9px;white-space:nowrap;}
  .menu>li>a:hover,.menu>li>button:hover,.menu>li>a[aria-current="page"],.menu>li>button[aria-current="page"]{color:#fff;}
  .menu__pill{border-radius:9px;background:rgba(255,255,255,.16);}
  .nav__actions{flex:0 0 auto;gap:12px;}
  .nav__social{display:flex;align-items:center;gap:11px;}
  .nav__social a{color:rgba(255,255,255,.85);}
  .nav__actions .btn--accent{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.34);color:#fff;box-shadow:none;padding:.55em 1.1em;}
  .nav__actions .btn--accent:hover{background:var(--steel);border-color:var(--steel);}
}
@media (max-width:1240px){ .nav__social{display:none!important;} }
@media (min-width:981px) and (max-width:1120px){ .menu>li>a,.menu>li>button{font-size:.8rem;padding:.5em .44em;} .pillnav{gap:8px;} }

/* Darken photo hero banners for legibility (nav + card) */
.banner--photo::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,37,65,.60),rgba(13,37,65,.30) 45%,rgba(13,37,65,.5));}
.banner--photo{min-height:clamp(360px,46vh,520px);display:flex;align-items:center;}

/* =========================================================
   Nav bar hugs its contents (centered pill) + footer motion
   ========================================================= */
@media (min-width:981px){
  .pillnav{width:auto;max-width:calc(100vw - 36px);justify-content:flex-start;gap:16px;}
  .nav__links{flex:0 1 auto;justify-content:flex-end;}
}

/* Footer — subtle drifting glow in the brand colors */
.footer{position:relative;overflow:hidden;}
.footer::before{content:"";position:absolute;inset:-25%;z-index:0;pointer-events:none;
  background:radial-gradient(38% 48% at 18% 28%,rgba(0,146,183,.20),transparent 70%),
             radial-gradient(42% 50% at 82% 72%,rgba(88,157,166,.16),transparent 72%),
             radial-gradient(34% 44% at 60% 18%,rgba(51,180,214,.12),transparent 70%);
  animation:footerDrift 24s ease-in-out infinite alternate;}
.footer::after{content:"";position:absolute;left:0;right:0;top:0;height:120px;z-index:0;pointer-events:none;opacity:.5;
  background:radial-gradient(closest-side,rgba(255,255,255,.05) 1px,transparent 1.4px);background-size:18px 18px;
  animation:footerSpeckle 30s linear infinite;}
.footer .wrap{position:relative;z-index:1;}
@keyframes footerDrift{0%{transform:translate3d(-3%,-2%,0) scale(1.04)}100%{transform:translate3d(3%,3%,0) scale(1.13)}}
@keyframes footerSpeckle{0%{background-position:0 0}100%{background-position:180px 0}}
@media (prefers-reduced-motion: reduce){.footer::before,.footer::after{animation:none;}}

/* Photo background behind forms — dark scrim for legibility */
.formstage--solo .formstage__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,37,65,.78),rgba(13,37,65,.66));}

/* =========================================================
   Shared frosted grey glass (nav + forms) + tighter nav
   ========================================================= */
:root{--glass:rgba(40,45,52,.58);}

/* Forms: identical frosted grey glass to the nav bar */
.form{background:var(--glass)!important;border:1px solid rgba(255,255,255,.18)!important;
  -webkit-backdrop-filter:blur(20px) saturate(1.3)!important;backdrop-filter:blur(20px) saturate(1.3)!important;}
.form__badge{background:linear-gradient(160deg,#3a4049,#23272e)!important;}

@media (min-width:981px){
  /* Match the grey + a touch more opaque so the white logo reads on any bg */
  .pillnav{background:var(--glass);gap:11px;padding:6px 12px 6px 15px;}
  .pillnav .brand__logo{height:42px;}
  .menu>li>a,.menu>li>button{font-size:.84rem;padding:.46em .5em;}
  .nav__actions{gap:10px;}
  .nav__social{gap:10px;}
}

/* =========================================================
   Embedded logo (stored once, used in nav + footer) — always
   shows even if /assets/bridge-logo.png isn't uploaded.
   ========================================================= */
:root{--logo:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAbt0lEQVR42u1deZgcVbX/neqemawkARJCCBCiyPYQCCiyivAUn4DsCCg8WUQWQfQTRd/7kOjzqbiwKbKICMiiDwGVoKAgioisEiQIErZAIBC2kHVmuur3/qjfZc7cVPd0TyZhktT5vvq6q7vq1r33nHv2ewoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJWNbBVcVAkEwAJgNTMWKJ5NQKSVs7C6ov8RJ//QfK/SI4siWI1Qr6OcSTnModtPGGUsDSsShNjZpYBOA/A2gBqJXpXn9Vf0efBWvnd+pxScoDVi/W/SDLVQZLblgSw6ouARKz/HADjAWSrqnlbQn3Wf6BWfE2fmT63KznAKsoBZNplJNcD8AMALFj5Fn2WsAqJgIq8fEeL9aermFVTEkCTMFSrv9A0LFG86hNA2gDRJQGs6gSQZVmJxdWZAJIkaRTtKznAaiACUBLA6k0AJQcoOUAJJQGUHKAUASUBlARQQikCehFFqeOUHKCEUgksoSSAEoqhOqh5e086t/8M36sk+0JyEjaJML+4UX4AnTjJG14NNpVUBxGiLUJwplSvenK+pnsXNmi6U21k/exX4rhkIBCuSoRhbxOyEz2bQjQbIGAkgDHIU73XBDBax1oARgH4AID3CsmxSHsIwOv6r1vHYgDzAbwJ4FUdrwN4Q99fAfAagPmNEK10NHNEkZUE0DfCs6KJIrkmgA0BvBPARvqcDGCCkD4KwJAVNCcLHTHMBvAUgJkAntH3WWb2Rh9Eka0snMKWI9IrmoQ0+m80gC0ATAHwbgBbCdlr9dFshjz5g46lm8RYZQXOWSpCmK7jAQCPmNlz9eZiMBOCLYeV3osdan/eNmLVOwLYGsC4BpObOXkb2mxVVwn33gHgCa3q+WL/SwB0AuiSHpFGCmAgqHYAHeI8IwCsIW40TsdY/dYOYEmWZc8lSfIPAPfpeMzMXlnlOYDktPmVrkzdDwDYG8BOACYWICiNFLzANawOYcwVS34ewCwdT+oZR+uaiuMWCYCtzOzhflgdLVkAJNcCsJ6OdUUYNQAvAngEwLM6b6jzrFRWgOTdW6tdcvzDAA4BsJvkdoxwi1boUqw7y7JXkiR5AsBjAGbomAVgjpm9VtCPdUUAmWsvPOcIks8BmJhl2dgkSdYSckYgTybt0Apu071V1y6FtJqUxy5xkMVSIOcBeBnAHCF6DoA5ixYtmj5s2LBXzaxzIBThQccBSFai1f4eAEcCOFDU71ctvKZcsMJrQvT97niyL9ZJch0pjRsB+KQILxtEjq2FsiaeA/AvAE+LW/0LwLNF43Mm5wolCGtxxWdmRlHwvgCOB7BnAdITp6zFXOZpAH+WfP4bgH81MqFITnRK41YA/g3Axlq5K8x61ViySF9A5L9ImiDC10QIMwD8XUrko2b2ZsF8Y3kTgzWB+EQyMbD6QwB8HsD20Ur28teiiZgO4CYAtwC438wW13nWmkLu9gB2ALClLIShumSxJvAV9/lOKZksEDE/BPAPEWGYxDadd+gYpmOEfA4jJSZGufNhTVoaaWShxHNdr40XsiybniTJXwD8CcDfzWxRrGctD2KwPpBfNbPgcfsggDMA7OwQHdg6IxkMad83APglgPt8xyN7eRSAzbSyN9T5EgAvSOGbLQXwDQALzjzzzCVTp071VsapAM4WEVYjJXBXM7tzGXScQBijnDNqgvo5Ucf6sgrWaMA90ohbeC5SpPg+A+AuLZo7zGxOzBli83pAlUC36mskNwLwPwAOd1Rujs0H7bsiRelmAJcB+L1f6SSrTr55HSLTgGeY2bwWtPU2PXtog0tH6bkVh4RGbB7Os5fKdJwvJa9eX9rlwxgP4F0ANtGxGYAN9F+1gFP4BZhFetIkHR8H8DrJOwBcB+AWM3s1UiQHlis42QOSx5N8RTtt02j3bfhOkq+RPJfkFjEH0d79lnQN3VfV90poIxyOoEDyS1FRCLr6AHv5Mamdiqsp4I+Ke4b/7v9vI9ke9c0ajGVtkjuSPCFN00tJPkhyIZeGmo5MR+p+8zCH5IUkdy6YMxsI5IdJXY/kr6IOFn1/neQ3Sa7vuUcrHfJI7Wdfv1hAAKGPe8dE/XYDyQ1J7kfyeyTvJbkkQnLqiMEvtpgY7iR5JMmhy0IIVc9OxPI/BOAncmqEHbexnK8BuATAWWb2TJFfoGklZNnZVzNJoYFrbCpTlRJXnfL0temaJzTGiQBmmtlr3pVLchPJ+hlmtojkWLHqNukLYX7+aWbPO+XNglgxs2flGLpRbW4sveojAHYBsE4dq8oikbuzjq+QvADAT4MlEZvqzazAUF7tFMc+u+us+ttJvjdi829HVDEQ72kN+vtRJ6eRpulUkneT/APJWbrmCZ3fQ/JQkl/V7wd7Mabvt+m/LXX+cZ3PIHkNyWtJXk/yI/U4j+OQ1SIrSNzhZyRfilZ8t+MKLOAKT5I8IYw1iK5mXbkg+R3HgtLowSQ5j+TJEbtJ3kZW2goBFCHiy5rQI6Lfv63fDygggN/pvy10fpDO/3tZXOlBp4h+H0vyKJK3FojgtEBkBHgwiL5mxF8Y2A8AfEGsPdbwqwD+AmAHMzs/cAyxs8EQA29pX4AUuUSOJAPQISQMje5LnHcuidh57AQapnaHuvabFYGZmdXMLHUKaMXM5prZZWb2IQDbATg3y7KXxf4TF8QKIjpES7cB8BuSV5PcUO3WVcQTuVJPcna0RTbqeQB2N7NH5RcYbMkPrW4MCf1nnfO33LlCTpcQlKF+7cFOM+s2s8X67Nf8aG7TiBgSM3vIzE5NkuTdAL4kb2rwHxQRQgbgMAD3kTxK42ARN6gqWufDsGHVZ2manlitVi90q35lK75oy3DPdiQXS8ELq2tckXIJYILEQpvOZ5vZ3GXJBdB9qfcEmtlLAM4ieRGAo+SRXd8pjBXngU2Rh6x/IifeyWb2qnfuBQK4TtG0ivttEYDDqtXqryVr00Gc8sTlRDR7ANgky7KqahCk6AlrmxehWZbtnCTJGprDDllINzlWvWwd6nHDG/LaSPMAnEPySgCn6hjhrDaLLLfDAEwheaSZ3RsTAUh+jOTfSM4keQvJHbyiNSix3qMEfr6BEnhggXMr3HeGrjlG50OcEkiSHy545jT9F5TAUJn0qyt47OZxQ3JTktfVsdr83Cwkebj3GVTFpn4O4OckO0IcW4rIysDyl9fm0BEinKqTq211rm0Xm65KT1iu+YBqu+Y4wmMADhJyv6N4hecGYQzDAFxFcoKZfZdkJQnKgQihM9iPAxVsGCQEYC3e62MWqUSg15OKrs2CqFxhsfxcaawF34KZXY08Q/oGJ9L9Pskgyr5D8gwzS0PQJw1xfg1gVam8ZH38ZygO21qdeyt1zMA2cYs2mYErVHQKZ6lk+2wzO0DWQuijD1EHvWQqyeOTAXbLrkwE0C1ltxatlC7kGT1Lib8syxYBWBBxgQUA9kcex/89gL8COODtiEE4bpCY2VkA9kG+58Ero+bMx+NWWsyGVVar1U6tpwTWarVD6ymzJEeSnEByuNOwQXIN/T60jqt2XZJtOh+m8/VIbkRyEsnJ4U0lg0RJ3ork05qXLs1Tp85vWekJgORnG1gBhw52a6afFkCzRyDUjUg+XBBa3rYa+Yz7qzW3tD0q2nPXsM0mNOqmrQCXROH/r3f/Uspc4BIuOmh9aOpF466nXzQ13hbFdLf0uqdJ7og8eXdT5NlWV5rZ7KprOB3AlZn2MYiWNmz2Ed5smgC8d63Z53piiMfUDDLqbZhpYg6XUsZdDIOtcg0AS8zsgoiTVDwHOAV5ClNcdbvRwzqRJ2bOQp7Z+rjLIUyKBmBmGcnNkceyaw5JHjEZ8tz7mWb2SEB+P1yrcT7AJOT5ACmWzs0Lz10C4FUzmxOlrlVaXSRuDkL/10ee4byB3LTD9byX0ZNCPjP2v7hxDwdwm+6NX4zBvhZDmqYVeTVNz92n6gb2Ubk/+wvdJB8EcAXy5IRFBZOWqOPbAbioiTZrJB8GcKGZXeJMVbbIASrS+g8H8I0mnvt6mqazkiS5D8A0ADebWZdWIJtc+ZUQiQPwMeS++/ei94aZGLoAPKIcwCsAPByJqQXIk1Mn9QdBSbKU1O3wytHz6NkJU21g+xax4Jq8ZNvrOIHk8WZ2V0QEYSDzome9CODr+m8k8j0A+4nipwC4mOS+8mkvaCEBJb5unutvVebec04uD0WekTMmSZIxyPchHCukfMvMrmqGEznkbwvgfOQp7p7LPIA8Vf4VsfRJGmf4nAJgpJkdJzGUBpGjeghBhHqMPo18R3PSx6Kgxj4KQOYTJn8WadNBk76C5PtI7kpyJx17kvyUYs4Lo0SFcP8ikrs52eWftb8zS0hyesEkbknyn0q4CHlzN7hEzWAFnNTACjgy8vOfrN+XkGSapjcHv7q8ocNkxh1B8o/R62dI8iqSwxopgG6MB7m5CeP8eXiNTcF9IzSv1+raS4M+4J/ltPk0GushfSmmBWZweyMCCJ9T+2hoM5J/jTrV7UyNsT7btg4BzAgeNH0G82VzkgvUbrBd99V/HU0QwH82IgCS0/pA5jFCYur6+geSQ4qSLNz49kzTNMxF6Pfn4mt99nP0394kTwyLp0kCODQOEjUlFpq4pkOd7XCp0G913sz+iTyh8SnndgxBkXUAfE7sstKXGJHyUzOzbpJtZvYogP9zbI2Spc1aAc1qyEmUBh50o0sB7CWFqSKldw8A50i5SyINndqsemWSC9xusfivmtnZHtlyv9cKsoESM7spaOytuOVb3NFszRJA2CSRhmwV33mS7aqY8fVIYQlIO0jIrLXoZwh7EP/o2jMAG2uya/3QAepNGoOZF6VotZvZHQA+g546BTUAnya5i66p9DRlGYCvSUvvlF50t5l9zZnHaYPATiorqbK8E20DsQxEUmcIS94qpSokIgTFaiOntbZEAOrk69G9IY2brfoB+jFJXeJylyHPi6w4/8XpjlATEcMkAJ9A702x/9vqCg3BuRXhWRwIAgiIekkaNRwBhInYoB8ICenqY5z2TORbtbrQu3rXciGAiF3+wFlFBLA7ycla9QHZB4hAQ3rW87LbgQHIDBqUBBAoVaxtUR35PKIfCAlOlD0cARjy3cXN6BQDRQBhNf5Jdngwy4YA2D269t8jh8xDZrZYHKIpr2G8BW5l4AB+lbTVWYGL+lithrzwYzV8iv1OAXCwU6ZS5FnKaFIEDIislN0/B8CjjhgB4D3OCTYUwOYR0T3cyjw7PWSFVRirDgTi1dmRUn58kCUoa7P6QFbNzLqjdt8P4Kfovfv3U2b2sERDn9pxmqbJAC6UVEEUDxs5IlkL+fZxT/izWpzLjmhRpPG8DDoCQE8Z1nfI7PPyP3ionqpDAGGixrvdNWsA2NaxVyLfK/9VM7vdxRNWmA7gYH50Pjz63hE9980WF9HVGnvYs3gagF+gZz/moCSAitj1YRp4cLOmEglXyq6vNiCAcc4VHOAOAL8B8Gczu79egKlhxyoDnpBjfXCJmOPUWmiXUng3jNzGb78ICLV8o+LNYUdxl9KkT0BPgYNuIf8x5PnrgYUmdZS1GciLROyFvAxMO4AFZvZ952SxOjb0iuQAw6NzX+qmu2CMbS223ymkd2kOWln15gpjJ00SXdasIyh46ryzJNXK3gH5Jojh6AnvtiGvirWfmc1vYAPTrZTjkJdaG6Lf9yZ5ruMy/ckHGCgIK3F89PsLkXiIld0x/eAwiTtaIeAut5Uta+JIzawpv3GblJN2ksH8GYu8ps9+AA51nCRso7oSwJfM7KUm2fYIM3tBmzSmOaI4heSdZnbdUrtZlp1lt6TkSsnbNGp3uq6pII/szUYeZQsEMHkFbp2fKEdUex8+hxANXBvAjEYEEATosUJ0OB+KvGSqL9OWIq+IeXVnZ+cNQ4YMeaJFmV3TppSbSZ4N4HNiqRmAS0g+ZGYz67S3vEVAojpGW2tFB8cPAdwZ6UF/R14bKPRpaxHP8pTlAS9nIc91SJrgZqFu0pSkickbjZ4q3huJDbY7uVfTQxcD6Oro6GjrJwJC8sTpyOPlbWp7NICrxYVadZAMBAEEDf2ASLF7BMAD6k9A8M3oXQ5uiqqIcAVwgnaJ4aF9HMFaqfalBAZzboYQEq4NImASenamZgDepwMkfwPgK2b2SAupVCEo06U4/r3qcLccLmeb2YmyJmorggME5VWVSQ9H7xjHuWEzhmO5NyNP7xqrfo8GcLCZXVDQ7wHzwak/18vxVG3CejB5Z99oJh/gzDqTM4LkB1U1I1zvy5jMJ3mQk5GNEkIec/+FRI9jo3YZqnmEULS+H12QDxC+f0bX9JUPkBQh3z3j6ui+e+IKaO7ar7g8gEw5+SPC9q0GhAY3lyGHYH/ftr7XywfYe3m5gocW5AOYmS0ws9+b2YcBTEVPcYnAJkcg33C6exQ2bUYUVM3sxwCudfI2A/AjkltIGawMgBVg3v3sjiSEhUmegTwVrUus8w0ARwaF1Fk3QYSdI/HQrnsmAbjIb98qKHtXCUW2lmEso9T2kGgsjQ5rhgCygnwARuVMzsyy7CfoCZdWnU18sdKoshZYcpjME+UfCEUhhwO4Ru2lA6ADhOofXS45o2Zm2ZIlSzYh+TMRd6cQ+iaA/c3scY078358fS5CngT6qghmCYDDlVo3OrQf+f27NceeqFO0FkFMXUJNs0f/d8yEHHtXjep0KUqjnUOoJhfxx8zsMlF5TcRQc36Dmqd+EVhiZq+T/CTykCo1mVsCOM/MjnWTFdoklt68GWvAqfucrNQrT7jj5I7dCT1RzA7J16PM7MF6ek1I5lA5nT3lxp2sto8AsCPJi5HnTswWhxiuINKh0qFS51LeYLkbj03oAN+M5VCDNq4uaCMjeaP+DyXMPhFtU3rF5fj5/LcgV79VUF1zqrjQpwuqbi6WjDwl0gG+yNZhJsnTXTJopYU5HUvyYvUnhnkk5yp5lgXbtq4nuYvPpexDB+jXNriB2jMXZNmfJS+9jmEANlfHQmTrUeSFp7vRk55tDUTBt5CndPvcwCryCORvAXwb+UaTKbIc4hdHEADSNJ1dqVSmiaVX0LuQM7Isy92jSTJfAax7APwl1Dxutm5C2A9gZnMBHEfy+/Kl7CSTerxW/nCZzyFgNh15CtzdoSawnputLBxgn4g6g0Uwl+SYeIUvh7FMUnbshSSfchyguqxz1M9ytlaQ8VtVDeGJOsZGYWBvhSQFXHFQcoAAS+p5qxYsWNAWmT0VZ1MHncBcQSS/wSEpkO1E73cT1FS29hkA15Ic4YIxvYosFVgPvV5YGT2jYYAsKuBksafS7Q6qys/RLbdx0SLyHKuvrV4rLhrYAgypY5p1jhgxYnEUYOpuFNiJJrIvtuuLIVal1S+I2wpBrSajnyjYHfyW8heyiSOluNfWNX+/mXVFyPbvW7K3qyTPQOsA60WIDFr5HOT5dF7LNwC7Sg4+IhNrTTN7SpMyGXlGcApgbfd7u7TzhQrOjATwuOryhfD0u+WlfFna+yQATyl6uSaAMWb2pAv0rI2eos/3+aATyV3Ux0fNbJZLSBkGYK3wvkCS45CHx+fovENBrld1/VbIize9JEvCdM9I9WVNN5+TZQm8bGZP9MWNlinQMVDiV9T+/gKzi1Aip9vxs75Mu+0VYNlByuMFwbeAfPPovshfP/dj1+YE5HkDmyhy+A4AN5LcTRP9I+QFFIeqP1siL5o0Vu0eDOBy5z8HgJORV9faBsAfSI4mOUaewveIs51H8hjHmY4GcG+wbGTGzVCFkZAOv5/Ge36WZceJwI4keZHm67gsy74nuf1NLcjTpPSug54Uu8HLAUKYluQE5DuEGGnhBuAaH1hRbeInVMcmtPNZAIvdVvCuSB56MRHKss83s8vTNN05SZLDlZq2v5mNd+1O1LWvSx4vKFhN7ci3ZV8gz9/24k7zXFLKdAD3iCjmIi+5tlhjvhF5CfinAVxuZvsLqa+R3BXAXpVKZbKe9WtVKN8DwGtJknQiL9zwKzN7WcryA2Z2fZPxjqX0kiYVVjOzphJCkjru0mpUS/AC5Pl8mXPuVADc7nL5AlK3BvBLtyEzkQI5meQh2ug4SY6Set69GoDhJD+UJMna4hIfBfA7sdch4U1nWsGfVAn4PeJ2syzrArCB3jDyIPLX170fwG/Vx3YzC7tvNxWLvksr9RiZmGsIkZuQ/JTEXoY8t/EB9Wm4xnoXgA/qmv0AbKxQuElUTunu7j5IVT2aDWoFLpzG2cV1jqxZDrAouBjrUN1mssP3Qe8XSlQlw48voMhQdJHOg5bIzx52Cr+BngLI3a7SRs2Jrm4AlwL4LzO7N03TY5IkaROXCRp4IJZ/SCfYXOzZj6FTOsMPkb9o6lXJ8HirdbtW/a7IEyq6AexCsj1N01Bc4kAAd6PnzWY1KaahT5kIs1uE+SSAfUjeoDKubQDeyLJsptObmuEAoTxdSNxpFD1sU//nVpvQD3YgGeRX5kTHBLlMd5XCkjqNvarVsp+ZPeEUp5DVcxuAk8xsGoBFmpAhYumPCykL9NtTACY71/N6gbtkWfZmkiQniZvcBuAqADeRXMs5UkKK2XQzm0/yWedqDbxwDIDbkb9u/lfSBW5VKPdyAF1dXV07alzPIN8AMk2c5EgAB1UqldcAjDWzexRBvUZ6zTQtgmFmtlCEtRvy0nK7iNvcgLzE+0TN++yOjo6HGoXN3RGI9LtyrvUVVKLGPxLALp4Aau7wK3VP9H45JApWczd6J0D+EcAJLmiSOnPNAHwhy7Kfkjwfee78bK2WRYFbZFk2L0mSdq2me0heCOChLMsmJElynlZsZmZ/VfXsC81sH5JnAbiS5K2KS9yIfNvaMBFVpme9tbKSJJkny+DHegvIaQDOBHARyW9Ivu8lf/445K+MeUiEejGAfWq12hXVanWRiP0cvTVkczO7geR5UnDvzLJsxyRJLjSz+6UftOuajwP4MoCnsyzbWzrRTC0Sc0kl7Sh+B+E66P26mT6DfAByT5VY5R0FWnwrMF+u00vM7Bex3VxHfLxLK/RxIWOIe+/NSDl3ght2ExHZY2FXsjT9+eIu4wG8ov/GySR9XubhaABv6roOAB3+TZ3a1VNFnolMkuua2Yv6750yAx83syWqKxi/+HKUfusOW71DKF2KLZVUsi7ydyDP0TVDgitcfVtH5vBoPfNNKYZBeR4hLrVuQXSVWZYVlYGpl0DSBWBn72I8WNSdtphJs1Ar+DEzm+29ffXyAet5zRoQShK9kt6iF1H6FztVBsKpUtTHVvclFDmQlqWPEpXjMTCpbpRONKC++KSV8qj+hVUFPm8rOE+KPHZ17vXZOlbvvvhZ9Z7bx/sBrc7YGrZT9NwVvUHU6vii+0NNXIWKTA9aCJxpQJBf4quEEkoooYQSSiihhBJKKKGEEkoooYQSSiihhBJKKKGEEkoooYQSVkn4f4yboNeWd7JSAAAAAElFTkSuQmCC");}
.pillnav .brand__logo,.mobtop .brand__logo,.apphead .brand__logo{
  background-image:var(--logo)!important;background-size:contain!important;background-repeat:no-repeat!important;
  background-position:center!important;background-color:transparent!important;box-shadow:none!important;border-radius:0!important;}
.pillnav .brand__logo{width:46px!important;height:46px!important;}
.mobtop .brand__logo,.apphead .brand__logo{width:40px!important;height:40px!important;}
.pillnav .brand__logo img,.mobtop .brand__logo img,.apphead .brand__logo img{display:none!important;}
.footer .brand__mark{display:inline-block;width:48px;height:48px;background:var(--logo) center/contain no-repeat;}

/* =========================================================
   Buttons: rounded rectangles + sheen-sweep hover
   ========================================================= */
.btn{border-radius:14px!important;transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),background .3s ease!important;}
.btn::after{inset:auto!important;top:0!important;left:-130%!important;width:55%!important;height:100%!important;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent)!important;
  transform:skewX(-18deg);opacity:0;transition:left .6s var(--ease-out),opacity .2s ease;border-radius:0;}
.btn:hover::after{left:150%;opacity:1;}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,146,183,.26),0 5px 12px rgba(13,37,65,.20)!important;}
.btn:active{transform:translateY(-1px) scale(.99);}
.btn--accent:hover{--bg:var(--deep-teal);}
.btn--light:hover{--bg:#fff;box-shadow:0 14px 30px rgba(13,37,65,.30)!important;}
.btn--ghost{border-radius:14px;}
.btn--ghost:hover{transform:translateY(-3px);}

/* =========================================================
   Page break — brand water/wave motif instead of the plus
   ========================================================= */
.pagebreak__mark svg{display:none;}
.pagebreak__mark{width:58px;height:14px;opacity:.85;background-color:var(--cyan);transform:none!important;
  -webkit-mask:var(--wave) center/contain no-repeat;mask:var(--wave) center/contain no-repeat;}
.motion .pagebreak__mark{transform:none!important;}
.pagebreak__rule{background:linear-gradient(to right,transparent,color-mix(in srgb,var(--cyan) 30%,transparent),transparent);}

/* =========================================================
   "Plan your first Sunday" — distinctive visit card
   ========================================================= */
.visitcard{position:relative;display:grid;grid-template-columns:1.12fr .88fr;background:var(--navy);
  border-radius:clamp(22px,3vw,34px);overflow:hidden;box-shadow:var(--shadow-lg);}
.visitcard__body{padding:clamp(28px,4vw,54px);color:var(--cream);display:flex;flex-direction:column;gap:var(--space-md);
  position:relative;z-index:1;}
.visitcard__body .eyebrow{color:var(--cyan-bright);}
.visitcard__body h2{color:#fff;font-size:clamp(2rem,1.5rem + 2.2vw,3.1rem);}
.visitcard__body h2::after{content:"";display:block;width:120px;height:13px;margin-top:14px;background-color:var(--cyan-bright);
  -webkit-mask:var(--wave) left/contain no-repeat;mask:var(--wave) left/contain no-repeat;}
.visitcard__lead{color:rgba(244,238,225,.84);max-width:44ch;}
.visitcard__chips{display:grid;gap:10px;margin:6px 0 4px;}
.vchip{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);
  border-radius:14px;padding:12px 15px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.vchip__ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;
  background:rgba(0,146,183,.22);color:var(--cyan-bright);}
.vchip__ic svg{width:20px;height:20px;}
.vchip b{display:block;color:#fff;font-family:var(--font-display);font-weight:700;font-size:.98rem;line-height:1.2;}
.vchip small{color:rgba(244,238,225,.7);font-size:.8rem;}
.visitcard__body .btn{align-self:flex-start;margin-top:2px;}
.visitcard__photo{position:relative;min-height:360px;background-size:cover;background-position:center;}
.visitcard__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy),transparent 38%);}
@media (max-width:760px){
  .visitcard{grid-template-columns:1fr;}
  /* stacked: a taller window onto the photo, aimed at the upper third where the faces usually are */
  .visitcard__photo{width:100%;min-height:0;aspect-ratio:4/3;max-height:340px;order:-1;background-position-y:30% !important;}
  .visitcard__photo::after{background:linear-gradient(0deg,var(--navy),transparent 60%);}
}

/* =========================================================
   Fix backdrop-filter "snap" while the nav slides on scroll:
   promote the bar to its own layer so the blur re-renders each
   frame (and transition the blur itself so it eases, not pops).
   ========================================================= */
@media (min-width:981px){
  .navshell{will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
  .pillnav{will-change:background,backdrop-filter;
    transition:background .35s ease,-webkit-backdrop-filter .35s ease,backdrop-filter .35s ease,box-shadow .35s ease;}
}

/* =========================================================
   Desktop dropdown menus: same frosted grey glass as the nav
   ========================================================= */
.pillnav .dropdown{
  background:var(--glass);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 18px 46px rgba(7,20,38,.36),inset 0 1px 0 rgba(255,255,255,.08);}
.pillnav .dropdown a{color:rgba(255,255,255,.85);}
.pillnav .dropdown a:hover{background:rgba(255,255,255,.12);color:#fff;}

/* =========================================================
   Make the dropdown frost actually blur the page:
   the bar's blur lived directly on .pillnav, which blocked the
   nested .dropdown's backdrop-filter. Move the bar blur onto a
   ::before pseudo so the dropdown can blur the page itself.
   ========================================================= */
@media (min-width:981px){
  .navshell{will-change:auto;}
  .pillnav{position:relative;background:transparent!important;will-change:auto;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;}
  .pillnav::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;
    background:var(--glass);
    -webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);}
  .pillnav .dropdown{background:var(--glass)!important;
    -webkit-backdrop-filter:blur(22px) saturate(1.3)!important;backdrop-filter:blur(22px) saturate(1.3)!important;}
}

/* =========================================================
   Fade the nav blur in/out on scroll (animate the blur RADIUS
   so it re-renders each frame — smooth, and no will-change so
   the dropdown blur keeps working).
   ========================================================= */
@media (min-width:981px){
  .pillnav::before{transition:-webkit-backdrop-filter .5s var(--ease-out),backdrop-filter .5s var(--ease-out),background .45s ease;}
  .navshell.hide .pillnav::before{-webkit-backdrop-filter:blur(0px) saturate(1);backdrop-filter:blur(0px) saturate(1);}
}

/* =========================================================
   Nav hide = pure opacity fade (no transform slide), so the
   frosted bar — blur and all — fades smoothly with no snap.
   ========================================================= */
@media (min-width:981px){
  .navshell{transition:opacity .45s var(--ease-out)!important;}
  .navshell.hide{opacity:0!important;transform:none!important;pointer-events:none;}
  .navshell.hide .pillnav::before{-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);}
}

/* =========================================================
   Page headers: match the Events style — content sits directly
   on the photo (white text), no frosted card.
   ========================================================= */
.banner__card{background:transparent!important;border:none!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important;max-width:760px;}
.banner__card h1{color:var(--paper)!important;}
.banner__card h1 .serif{color:var(--cyan-bright)!important;}
.banner__card p{color:rgba(244,238,225,.92)!important;}
.banner__card .eyebrow{color:var(--cyan-bright)!important;}
.banner__card .crumb,.banner__card .crumb a,.banner__card .crumb span{color:rgba(255,255,255,.72)!important;}
.banner__card .btn--accent{background:var(--cyan)!important;border:none!important;color:#fff!important;}
/* a touch more overlay so the white header text reads on any photo */
.banner--photo::before{background:linear-gradient(180deg,rgba(13,37,65,.66),rgba(13,37,65,.40) 50%,rgba(13,37,65,.6))!important;}

/* =========================================================
   Calendar — clickable days open a day-events modal
   ========================================================= */
.cal__cell--click{cursor:pointer;transition:background .15s ease,box-shadow .15s ease;}
.cal__cell--click:hover,.cal__cell--click:focus-visible{background:color-mix(in srgb,var(--cyan) 12%,transparent);outline:none;box-shadow:inset 0 0 0 2px var(--cyan);}
.cal__cell--click .cal__ev{pointer-events:none;}
.calmodal{position:fixed;inset:0;z-index:400;display:none;align-items:center;justify-content:center;padding:20px;}
.calmodal.is-open{display:flex;}
.calmodal__backdrop{position:absolute;inset:0;background:rgba(8,18,33,.6);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);}
.calmodal__box{position:relative;z-index:1;background:var(--paper);border-radius:var(--radius-lg);max-width:520px;width:100%;
  max-height:82vh;overflow:auto;padding:clamp(24px,4vw,36px);box-shadow:var(--shadow-lg);animation:calpop .28s var(--ease-out);}
@keyframes calpop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.calmodal__x{position:absolute;top:14px;right:14px;width:36px;height:36px;border:none;border-radius:11px;background:var(--cream-2);
  color:var(--navy);font-size:1rem;cursor:pointer;transition:background .2s,color .2s;}
.calmodal__x:hover{background:var(--cyan);color:#fff;}
.calmodal__kick{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);margin:0 0 2px;}
.calmodal__date{font-family:var(--font-cond);text-transform:uppercase;color:var(--navy);font-size:clamp(1.3rem,1rem + 1.5vw,1.7rem);margin:0 0 var(--space-md);padding-right:34px;line-height:1.05;}
.calmodal__none{color:var(--muted);}
.calev{border-top:1px solid var(--line);padding:var(--space-md) 0;}
.calev:first-child{border-top:none;padding-top:0;}
.calev__cat{display:inline-block;font-size:.64rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep);margin-bottom:5px;}
.calev h4{font-family:var(--font-cond);text-transform:uppercase;color:var(--navy);font-size:1.15rem;margin:0 0 5px;line-height:1.1;}
.calev__meta{color:var(--cyan-deep);font-weight:600;font-size:.85rem;margin:0 0 5px;}
.calev__desc{color:var(--ink-soft);font-size:.92rem;margin:0 0 8px;line-height:1.5;}
.calev__link{font-weight:700;font-size:.85rem;color:var(--cyan-deep);display:inline-flex;gap:.3em;}

/* =========================================================
   Nav reveal: bring back the SLIDE, and grow the blur radius
   (linear, slightly longer than the slide) so the frosted bar
   re-renders every frame and never pops at the end.
   ========================================================= */
@media (min-width:981px){
  .navshell{transition:transform .5s var(--ease-out)!important;}
  .navshell.hide{transform:translateY(-165%)!important;opacity:1!important;pointer-events:none;}
  .pillnav::before{transition:-webkit-backdrop-filter .66s linear,backdrop-filter .66s linear,background .4s ease!important;}
  .navshell.hide .pillnav::before{-webkit-backdrop-filter:blur(0px) saturate(1)!important;backdrop-filter:blur(0px) saturate(1)!important;}
}

/* =========================================================
   Mobile nav — simplified: logo + animated 2-line hamburger
   in the same floating frosted bar as desktop. Always floats.
   ========================================================= */
.navtoggle{display:none;width:42px;height:42px;flex-shrink:0;border:none;border-radius:11px;cursor:pointer;
  background:rgba(255,255,255,.14);align-items:center;justify-content:center;flex-direction:column;gap:5px;
  transition:background .2s ease;-webkit-tap-highlight-color:transparent;}
.navtoggle:hover,.navtoggle:focus-visible{background:rgba(255,255,255,.26);outline:none;}
.navtoggle span{display:block;width:21px;height:2px;background:#fff;border-radius:2px;
  transition:transform .38s var(--ease-out),opacity .25s ease;}
body.menu-open .navtoggle span:first-child{transform:translateY(3.5px) rotate(45deg);}
body.menu-open .navtoggle span:last-child{transform:translateY(-3.5px) rotate(-45deg);}

@media (max-width:1040px){
  /* Show the floating bar on mobile; never hide it on scroll */
  .navshell{display:flex!important;justify-content:flex-end;top:12px;left:0;right:0;padding:0 14px;
    background:none!important;border:none!important;box-shadow:none!important;
    -webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none;transition:none!important;}
  .navshell.hide{transform:none!important;opacity:1!important;}
  .pillnav{pointer-events:auto;position:relative;width:auto;max-width:92vw;display:inline-flex;align-items:center;
    justify-content:center;gap:13px;border-radius:16px;padding:7px 9px 7px 16px;
    background:transparent!important;border:1px solid rgba(255,255,255,.18)!important;
    box-shadow:0 12px 36px rgba(7,20,38,.30),inset 0 1px 0 rgba(255,255,255,.10)!important;
    transition:gap .42s var(--ease-out),padding .42s var(--ease-out);}
  .pillnav::before{content:""!important;position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--glass);
    -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);}
  .pillnav .brand{display:flex;align-items:center;color:#fff;overflow:hidden;max-width:62px;opacity:1;
    transition:max-width .42s var(--ease-out),opacity .3s ease,margin .42s var(--ease-out);}
  /* scroll down → the logo collapses into the hamburger; scroll up → it returns */
  .navshell.hide .pillnav .brand{max-width:0;opacity:0;margin:0;}
  .navshell.hide .pillnav{gap:0;padding-left:9px;}
  .pillnav .brand__name{display:none;}
  .pillnav .nav__links{display:none!important;}
  .navtoggle{display:inline-flex!important;}
  .mobtop,.botbar{display:none!important;}

  /* ---- Menu overlay: branded frosted field + clean expanding rows ---- */
  .mobmenu{inset:0;height:100dvh;min-height:100dvh;
    padding:86px clamp(14px,4.5vw,22px) calc(120px + env(safe-area-inset-bottom)) clamp(14px,4.5vw,22px);
    background:linear-gradient(168deg,rgba(13,37,65,.80),rgba(16,76,99,.62) 56%,rgba(31,150,176,.52))!important;
    -webkit-backdrop-filter:blur(28px) saturate(1.4);backdrop-filter:blur(28px) saturate(1.4);}
  .mobmenu::before{content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(125% 55% at 50% -6%,rgba(63,182,216,.24),transparent 62%);}
  .mobmenu__head{display:none;}
  .mobmenu>*{position:relative;}

  /* rows — clean frosted tiles, no overlap */
  .mobmenu .menu{gap:9px;flex-direction:column;align-items:stretch;perspective:none;}
  .mobmenu .menu>li{border:1px solid rgba(255,255,255,.12);border-radius:18px;overflow:hidden;position:relative;
    margin:0;background:rgba(255,255,255,.06);color:#fff;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 6px 18px rgba(6,16,30,.16);
    transition:background .3s var(--ease-out),border-color .3s var(--ease-out),box-shadow .3s var(--ease-out);}

  .mobmenu .menu>li>a,.mobmenu .menu>li>button{display:flex;align-items:center;gap:14px;width:100%;
    justify-content:space-between;padding:1.02em 1.15em;font-size:1.16rem;font-weight:600;
    border-radius:0;color:#fff;background:none;letter-spacing:-.01em;-webkit-tap-highlight-color:transparent;}
  .mobmenu .menu>li>a[aria-current="page"],.mobmenu .menu>li>button[aria-current="page"]{color:var(--cyan-bright,#7fdcf0);}
  /* arrow on plain links; rotating chevron on expandables */
  .mobmenu .menu>li>a::after{content:"→";font-size:1.02rem;opacity:.55;margin-left:auto;
    transition:transform .3s var(--ease-out),opacity .3s ease;}
  .mobmenu .menu>li>a:active::after{transform:translateX(4px);opacity:.9;}
  .mobmenu .caret{margin-left:auto;width:14px;height:14px;opacity:.85;transform:rotate(0deg);
    transition:transform .42s var(--ease-out);}

  /* open row: brighter glass + cyan edge; caret flips */
  .mobmenu .has-dropdown.open{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);
    box-shadow:inset 3px 0 0 var(--cyan-bright,#3fb6d8),0 12px 30px rgba(6,16,30,.30);}
  .mobmenu .has-dropdown.open>button{color:#fff;}
  .mobmenu .has-dropdown.open .caret{transform:rotate(180deg);}

  /* smooth height: grid 0fr -> 1fr animates to the REAL content height (no fixed max-height) */
  .mobmenu .dd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .44s var(--ease-out);}
  .mobmenu .has-dropdown.open .dd{grid-template-rows:1fr;}
  .mobmenu .dropdown{overflow:hidden;min-height:0;padding:0 .55em;margin:0;list-style:none;}
  .mobmenu .has-dropdown.open .dropdown{padding-bottom:.55em;}
  .mobmenu .dropdown li{margin-left:.45em;border-left:1px solid rgba(255,255,255,.16);}
  .mobmenu .dropdown a{color:rgba(255,255,255,.78)!important;font-size:1rem;font-weight:500;
    padding:.72em .9em;display:block;-webkit-tap-highlight-color:transparent;
    transition:color .2s,padding-left .25s var(--ease-out);}
  .mobmenu .dropdown a:active{color:#fff!important;padding-left:1.2em;}

  /* kill the grey tap-flash rectangle on the whole menu */
  .mobmenu,.mobmenu *{-webkit-tap-highlight-color:transparent;}
  .mobmenu .menu>li>button:focus,.mobmenu .menu>li>a:focus{outline:none;}
  .mobmenu .menu>li>button:focus-visible,.mobmenu .menu>li>a:focus-visible{outline:2px solid rgba(255,255,255,.6);outline-offset:-4px;}

  /* staggered entrance — each row rises + fades */
  body.menu-open .mobmenu .menu>li{animation:rowIn .5s var(--ease-out) backwards;}
  body.menu-open .mobmenu .menu>li:nth-child(1){animation-delay:.04s}
  body.menu-open .mobmenu .menu>li:nth-child(2){animation-delay:.08s}
  body.menu-open .mobmenu .menu>li:nth-child(3){animation-delay:.12s}
  body.menu-open .mobmenu .menu>li:nth-child(4){animation-delay:.16s}
  body.menu-open .mobmenu .menu>li:nth-child(5){animation-delay:.20s}
  body.menu-open .mobmenu .menu>li:nth-child(6){animation-delay:.24s}
  body.menu-open .mobmenu .menu>li:nth-child(7){animation-delay:.28s}
  body.menu-open .mobmenu .menu>li:nth-child(8){animation-delay:.32s}
  body.menu-open .mobmenu__actions{animation:rowIn .5s var(--ease-out) .34s backwards;}
  .mobmenu__actions{margin-top:22px;}
  .mobmenu__actions .btn--ghost{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.22);}
  .mobmenu__actions .btn--accent{box-shadow:0 8px 22px rgba(31,150,176,.4);}
  .mobmenu__tag{display:flex;align-items:center;gap:8px;margin:18px 6px 0;color:rgba(255,255,255,.55);
    font-family:var(--font-display);font-size:.8rem;letter-spacing:.01em;}
  .mobmenu__tag svg{color:#3fb6d8;flex:none;}
}
@keyframes mmIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes cardIn{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rowIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  body.menu-open .mobmenu .menu>li,body.menu-open .mobmenu__actions{animation:none;}
  .mobmenu .dd{transition:none;}
}

/* =========================================================
   Page-builder sections (custom pages)
   ========================================================= */
.pbprose{max-width:70ch;}
.pbprose--center{margin-inline:auto;text-align:center;}
.pbprose .eyebrow{margin-bottom:.45em;}
.pbprose h2{margin-bottom:var(--space-sm);}
.pbprose p{margin-bottom:1em;color:var(--ink-soft);font-size:1.08rem;line-height:1.75;}
.pbprose--center p{margin-inline:auto;max-width:60ch;}
.pbgallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:14px;}
.pbgallery__item{display:block;overflow:hidden;border-radius:16px;box-shadow:0 8px 24px rgba(7,20,38,.10);}
.pbgallery__item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;transition:transform .5s var(--ease-out);}
.pbgallery__item:hover img{transform:scale(1.05);}

/* page-builder: video/embed + extras spacing */
.cmsembed__v{position:relative;width:100%;max-width:900px;margin-inline:auto;aspect-ratio:16/9;border-radius:18px;overflow:hidden;box-shadow:0 14px 40px rgba(7,20,38,.22);}
.cmsembed__v iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.page-extras{display:block;}

/* Home collage: show a few framing circles on mobile (the .keep ones) */
@media (max-width:820px){
  .collage{min-height:60vh;}
  .collage__bg span.keep{display:block!important;opacity:.5;width:118px!important;height:118px!important;}
}

/* ==========================================================================
   Platform pieces, in The Bridge's look
   --------------------------------------------------------------------------
   Added with the move onto the shared platform. These style markup the
   platform draws that the site's own CSS never had to: a checkbox group is a
   fieldset now (so screen readers announce it as one question), and the
   members link that appears when the portal is switched on.
   ========================================================================== */
.form fieldset.checkgroup{border:0;margin:0;padding:0;min-width:0;}
.namefield > .lbl{font-family:var(--font-display);font-weight:600;font-size:.82rem;color:rgba(244,238,225,.92);margin-bottom:2px;}
.form .checkgroup legend{padding:0;margin:0 0 6px;font-family:var(--font-display);font-weight:600;font-size:.82rem;color:rgba(244,238,225,.92);}
.form .checkgroup__err{margin:6px 0 0;font-size:.8rem;color:#ffb4a8;}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.mobmenu__member{display:block;margin:14px 6px 0;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--navy);text-decoration:none;opacity:.8;}
.mobmenu__member:hover{opacity:1;}
html.app-mode .mobmenu__member{color:rgba(255,255,255,.8);}

/* ==========================================================================
   Visitor-first redesign (September 2026)
   --------------------------------------------------------------------------
   The blocks behind the new About, Beliefs, Staff & Leadership and Next
   Steps pages, the Kidz page theme, the "take your next step" pill and the
   bigger home heading. Same brand: Archivo Black, the Playfair accent, navy
   and cyan, the hand-drawn wave.
   ========================================================================== */

/* ---- page header: centred option, buttons ---- */
.banner--center .banner__inner{margin-inline:auto;text-align:center;}
.banner--center .eyebrow{justify-content:center;}
.banner--center .banner__inner > p{margin-inline:auto;max-width:60ch;}
.banner .banner__cta{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-lg);}
.banner--center .banner__cta{justify-content:center;}

/* ---- home: the church's name above the tagline, much bigger ---- */
.collage__head .eyebrow{font-family:var(--font-cond);font-size:clamp(1.05rem,.7rem + 1.5vw,1.9rem);letter-spacing:.14em;color:#fff;font-weight:400;margin-bottom:var(--space-lg);text-shadow:0 2px 18px rgba(7,18,33,.45);}
.collage__head .eyebrow::before,.collage__head .eyebrow::after{display:none;}
@media (max-width:560px){.collage__head .eyebrow{letter-spacing:.06em;font-size:.98rem;margin-bottom:var(--space-md);}.collage__head{padding-top:64px;}}

/* ---- two columns band ---- */
.duo{color:#fff;text-align:center;}.section.duo{background:var(--navy);}
.section.duo--steel{background:var(--deep-teal);}
.section.duo--cream{background:var(--cream-2);color:var(--navy);}
.section.duo--kids{background:var(--kid-orange,#e65730);}
.duo__h{color:inherit;font-size:clamp(2.2rem,1.5rem + 3vw,3.8rem);margin-bottom:var(--space-2xl);}
.duo__grid{display:grid;grid-template-columns:1fr 1fr;max-width:980px;margin-inline:auto;}
.duo__col{padding:var(--space-md) var(--space-xl);}
.duo__col + .duo__col{border-left:1.5px solid color-mix(in srgb,currentColor 30%,transparent);}
.duo__t{color:inherit;font-size:clamp(1.5rem,1.2rem + 1.2vw,2.2rem);margin-bottom:var(--space-md);}
.duo__in{opacity:.82;margin-bottom:var(--space-sm);}
.duo__list{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-family:var(--font-display);font-weight:700;font-size:1.08rem;}
.duo__cta{margin-top:var(--space-2xl);}
.duo--cream .btn--light{--bg:var(--navy);--fg:#fff;}
@media (max-width:680px){
  .duo__grid{grid-template-columns:1fr;}
  .duo__col + .duo__col{border-left:0;border-top:1.5px solid color-mix(in srgb,currentColor 30%,transparent);margin-top:var(--space-md);padding-top:var(--space-xl);}
}

/* ---- icon steps ---- */
.section.irow{background:var(--deep-teal);color:#fff;}
.section.irow--navy{background:var(--navy);}
.section.irow--cream{background:var(--cream-2);color:var(--navy);}
.section.irow--kids{background:var(--kid-orange,#e65730);}
.irow__head{text-align:center;max-width:720px;margin:0 auto var(--space-2xl);}
.irow__head h2{color:inherit;font-size:clamp(2.2rem,1.5rem + 3vw,3.8rem);}
.irow__head .eyebrow{justify-content:center;color:var(--cyan-bright);}
.irow--cream .irow__head .eyebrow{color:var(--cyan);}
.irow__intro{margin-top:var(--space-md);opacity:.88;}
.irow__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-2xl) var(--space-xl);counter-reset:irow;}
.irow__it{text-align:center;padding:0 var(--space-sm);}
.irow__ic{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:50%;background:#fff;color:var(--navy);margin-bottom:var(--space-md);box-shadow:0 10px 30px rgba(7,18,33,.25);transition:transform .45s var(--ease-out);}
.irow--cream .irow__ic{background:var(--navy);color:#fff;}
.irow--kids .irow__ic{color:var(--kid-orange,#e65730);}
.irow__it:hover .irow__ic{transform:translateY(-4px) rotate(-4deg);}
.irow__t{color:inherit;font-size:1.3rem;margin-bottom:4px;}
.irow__note{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-bottom:var(--space-sm);}
.irow__b{font-size:.96rem;line-height:1.6;opacity:.92;max-width:34ch;margin-inline:auto;}

/* ---- accordion ---- */
.acc__intro{max-width:70ch;margin:var(--space-md) auto 0;color:var(--ink-soft);}
.acc__intro p + p{margin-top:var(--space-sm);}
.acc__list{max-width:880px;margin:var(--space-2xl) auto 0;border-top:1px solid var(--line);}
.acc__it{border-bottom:1px solid var(--line);}
.acc__it summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:1.15em .25em;font-family:var(--font-cond);text-transform:uppercase;font-size:1.12rem;color:var(--navy);-webkit-tap-highlight-color:transparent;}
.acc__it summary::-webkit-details-marker{display:none;}
.acc__it summary:hover{color:var(--cyan);}
.acc__it summary:focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px;border-radius:6px;}
.acc__pm{flex:none;position:relative;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.7;}
.acc__pm::before,.acc__pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:currentColor;translate:-50% -50%;transition:transform .3s var(--ease-out);}
.acc__pm::after{transform:rotate(90deg);}
.acc__it[open] .acc__pm::after{transform:rotate(0);}
.acc__b{padding:0 .25em 1.3em;color:var(--ink-soft);max-width:70ch;}
.acc__b p + p{margin-top:var(--space-sm);}
.acc__ref{font-family:var(--font-serif);font-style:italic;color:var(--cyan-deep);margin-top:var(--space-sm);}

/* ---- lead pastor ---- */
.leader{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;}
.leader__photo{position:absolute;inset:0 0 0 38%;background-size:cover;background-position:center 25%;z-index:-2;}
.leader::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--navy) 36%,color-mix(in srgb,var(--navy) 70%,transparent) 55%,transparent 85%);}
.leader__copy{max-width:520px;padding:clamp(64px,9vw,120px) 0;}
.leader__copy h2{color:#fff;font-size:clamp(2.2rem,1.5rem + 3vw,3.8rem);margin-bottom:var(--space-lg);}
.leader__copy h2 .serif{color:var(--cyan-bright);}
.leader__copy .eyebrow{color:var(--cyan-bright);}
.leader__copy p{color:rgba(255,255,255,.9);line-height:1.75;}
.leader__copy p + p{margin-top:var(--space-md);}
.leader__copy .btn{margin-top:var(--space-xl);}
@media (max-width:820px){
  .leader__photo{inset:0 0 auto 0;height:340px;}
  .leader::before{background:linear-gradient(180deg,transparent 120px,var(--navy) 340px);}
  .leader__copy{padding-top:300px;}
}

/* ---- staff team ---- */
.staff{padding-top:0;}
.staff__band{background:var(--cream-2);text-align:center;padding:clamp(40px,6vw,64px) var(--space-lg) clamp(56px,8vw,88px);margin-bottom:var(--space-2xl);clip-path:polygon(0 0,100% 0,100% 72%,50% 100%,0 72%);}
.staff__band h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem);}
.staff__intro{max-width:66ch;margin:0 auto var(--space-2xl);text-align:center;color:var(--ink-soft);}
.staff__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-2xl) var(--space-xl);}
.sperson{display:grid;grid-template-columns:150px 1fr;gap:var(--space-lg);align-items:start;}
.sperson__ph{width:150px;height:150px;border-radius:50%;overflow:hidden;background:var(--cream-2);box-shadow:0 0 0 6px var(--paper),0 0 0 7.5px var(--line),var(--shadow-md);display:grid;place-items:center;}
.sperson__ph img{width:100%;height:100%;object-fit:cover;object-position:center 22%;transition:transform .6s var(--ease-out);}
.sperson:hover .sperson__ph img{transform:scale(1.06);}
.sperson__ph span{font-family:var(--font-cond);font-size:3rem;color:var(--steel);}
.sperson__tx h3{font-family:var(--font-serif)!important;text-transform:none;font-weight:600;font-style:italic!important;font-size:1.65rem;letter-spacing:0;}
.sperson__role{font-family:var(--font-display);font-weight:700;font-size:.9rem;color:var(--cyan-deep);margin:4px 0 var(--space-sm);}
.sperson__facts{margin:0;display:grid;gap:4px;font-size:.93rem;line-height:1.55;color:var(--ink-soft);}
.sperson__facts div{display:block;}
.sperson__facts dt{display:inline;font-weight:700;color:var(--navy);margin-right:.3em;}
.sperson__facts dd{display:inline;margin:0;}
.sperson__reach{display:inline-flex;align-items:center;gap:.45em;margin-top:var(--space-md);padding:.5em 1.1em;border-radius:100px;font-family:var(--font-display);font-weight:600;font-size:.86rem;color:var(--cyan-deep);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--cyan) 45%,transparent);transition:background .25s,color .25s,transform .3s var(--ease-out);}
.sperson__reach:hover{background:var(--cyan);color:#fff;transform:translateY(-2px);}
@media (max-width:560px){
  .staff__grid{grid-template-columns:1fr;}
  .sperson{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .sperson__ph{width:170px;height:170px;}
}

/* ---- next-step cards ---- */
.ncards__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2xl) clamp(24px,4vw,56px);max-width:1040px;margin-inline:auto;}
.ncard{display:block;color:inherit;}
.ncard__ph{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);isolation:isolate;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out);}
.ncard__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease-out);}
.ncard__ph::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,37,65,.25),rgba(13,37,65,.62));}
.ncard__ph--1{background:linear-gradient(135deg,var(--steel),var(--deep-teal));}
.ncard__ph--2{background:linear-gradient(135deg,var(--cyan),var(--navy));}
.ncard__ph--3{background:linear-gradient(135deg,var(--deep-teal),var(--slate-blue));}
.ncard__ph--4{background:linear-gradient(135deg,var(--slate-blue),var(--navy));}
.ncard__t{font-family:var(--font-cond);font-weight:400;text-transform:uppercase;color:#fff;font-size:clamp(1.6rem,1.1rem + 2vw,2.6rem);line-height:1;letter-spacing:.06em;text-align:center;padding:0 var(--space-lg);text-shadow:0 3px 20px rgba(7,18,33,.45);}
.ncard__b{display:block;margin-top:var(--space-md);color:var(--ink-soft);line-height:1.65;padding:0 var(--space-xs);}
.ncard__go{display:inline-flex;gap:.4em;margin-top:var(--space-sm);padding:0 var(--space-xs);font-family:var(--font-display);font-weight:700;font-size:.92rem;color:var(--cyan-deep);}
a.ncard:hover .ncard__ph{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
a.ncard:hover .ncard__ph img{transform:scale(1.05);}
a.ncard:hover .ncard__go span{transform:translateX(3px);}
.ncard__go span{transition:transform .3s var(--ease-out);}
@media (max-width:720px){.ncards__grid{grid-template-columns:1fr;}}

/* ---- link buttons ---- */
.section.lrow{background:var(--paper);}
.section.lrow--navy{background:var(--navy);color:#fff;}
.section.lrow--steel{background:var(--deep-teal);color:#fff;}
.section.lrow--cream{background:var(--cream-2);}
.section.lrow--kids{background:var(--kid-orange,#e65730);color:#fff;}
.lrow__head{text-align:center;max-width:680px;margin:0 auto var(--space-xl);}
.lrow__head h2{color:inherit;}
.lrow__head .eyebrow{justify-content:center;}
.lrow--navy .eyebrow,.lrow--steel .eyebrow,.lrow--kids .eyebrow{color:#fff;opacity:.8;}
.lrow__intro{margin-top:var(--space-sm);opacity:.85;}
.lrow__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md);max-width:960px;margin-inline:auto;}
.lrow__b{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:1.05em 1.35em;border-radius:var(--radius);background:var(--paper);color:var(--navy);box-shadow:var(--shadow-sm),inset 0 0 0 1px var(--line);transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out);}
.lrow__b b{display:block;font-family:var(--font-display);font-size:1.02rem;}
.lrow__b small{display:block;color:var(--muted);font-size:.84rem;margin-top:2px;}
.lrow__ar{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cyan);color:#fff;transition:transform .35s var(--ease-out);}
.lrow__b:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.lrow__b:hover .lrow__ar{transform:translateX(3px);}
.lrow--kids .lrow__ar{background:var(--kid-orange,#e65730);}

/* ---- the "take your next step" pill ---- */
.nspill{position:fixed;right:18px;bottom:22px;z-index:120;transition:transform .45s var(--ease-out),opacity .35s;}
.nspill__a{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 18px;border-radius:100px;background:var(--paper);color:var(--navy);text-decoration:none;box-shadow:0 14px 40px rgba(13,37,65,.25),0 0 0 1px var(--line);transition:transform .45s var(--ease-out);}
.nspill__a:hover{transform:translateY(-3px);}
.nspill span{display:grid;line-height:1.15;}
.nspill b{font-family:var(--font-display);font-size:.9rem;color:var(--cyan-deep);}
.nspill small{font-size:.74rem;color:var(--muted);}
.nspill i{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--cyan);color:#fff;font-style:normal;font-family:var(--font-display);font-weight:800;font-size:.66rem;line-height:1.05;text-align:center;letter-spacing:.02em;}
.nspill__x{position:absolute;top:-8px;left:-8px;width:24px;height:24px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s;}
.nspill:hover .nspill__x,.nspill:focus-within .nspill__x{opacity:1;}
.nspill.is-gone{transform:translateY(140%);opacity:0;pointer-events:none;}
html.app-mode .nspill{display:none;}
@media (max-width:820px){
  .nspill{right:12px;bottom:14px;}.nspill__a{padding:5px;gap:0;}
  .nspill span,.nspill__x{display:none;}
  .nspill i{width:58px;height:58px;}
}
@media print{.nspill{display:none;}}

/* ---- footer: tagline and staff sign-in ---- */
.footer__bottom .footer__staff{color:inherit;opacity:.75;text-decoration:underline;text-underline-offset:3px;}
.footer__bottom .footer__staff:hover{opacity:1;}

/* ==========================================================================
   Bridge Kidz theme — a page whose header is set to Kidz turns orange and
   playful: the Kidz orange and aqua from the logo, a rounder heading face,
   bigger headings, photos sitting lower in their frames.
   ========================================================================== */
:root{--kid-orange:#e65730;--kid-orange-deep:#c8431f;--kid-aqua:#5dc6e0;--kid-sun:#ffc93c;}
body:has(.theme-kids){--cyan:var(--kid-orange);--cyan-deep:var(--kid-orange-deep);--cyan-bright:var(--kid-sun);--kid-font:"Fredoka","Baloo 2",var(--font-cond);}
body:has(.theme-kids) main h1,body:has(.theme-kids) main h2,body:has(.theme-kids) main h3{font-family:var(--kid-font)!important;font-weight:700;text-transform:none;letter-spacing:-.01em;}
body:has(.theme-kids) main h2{font-size:clamp(2.4rem,1.6rem + 3.4vw,4.2rem);}
body:has(.theme-kids) main h3{font-size:clamp(1.45rem,1.2rem + 1vw,1.9rem);}
.banner--kids{background:var(--kid-orange);}
.banner--kids .banner__inner{padding-top:clamp(150px,18vw,230px);padding-bottom:clamp(80px,11vw,140px);}
.banner--kids h1{font-size:clamp(3.4rem,2.2rem + 6vw,7rem)!important;line-height:.92!important;text-shadow:0 4px 0 var(--kid-orange-deep),0 10px 30px rgba(0,0,0,.25);}
.banner--kids h1 .serif{font-family:var(--kid-font)!important;color:var(--kid-aqua)!important;}
.banner--kids .eyebrow{font-size:.95rem;letter-spacing:.2em;}
.banner--kids .banner__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,var(--kid-orange) 88%,transparent) 30%,color-mix(in srgb,var(--kid-orange) 25%,transparent) 75%);}
.banner--kids::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:46px;background:var(--bg);-webkit-mask:radial-gradient(28px 24px at 28px 0,transparent 98%,#000) 0 0/56px 46px repeat-x;mask:radial-gradient(28px 24px at 28px 0,transparent 98%,#000) 0 0/56px 46px repeat-x;}
body:has(.theme-kids) .eyebrow{color:var(--kid-orange);}
body:has(.theme-kids) .head h2::after,body:has(.theme-kids) .split__copy h2::after{background-color:var(--kid-aqua);}
body:has(.theme-kids) .split__media .img{border-radius:34px;box-shadow:12px 14px 0 var(--kid-aqua),var(--shadow-md);transform:translateY(22px) rotate(-1.2deg);}
body:has(.theme-kids) .split__media .img img{object-position:center 30%;}
body:has(.theme-kids) .cards .card{border:0;border-radius:28px;background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--kid-orange) 22%,transparent),var(--shadow-md);}
body:has(.theme-kids) .cards .card:nth-child(3n+1){box-shadow:0 0 0 3px var(--kid-orange),var(--shadow-md);}
body:has(.theme-kids) .cards .card:nth-child(3n+2){box-shadow:0 0 0 3px var(--kid-aqua),var(--shadow-md);}
body:has(.theme-kids) .cards .card:nth-child(3n+3){box-shadow:0 0 0 3px var(--kid-sun),var(--shadow-md);}
body:has(.theme-kids) .invite--navy{background-color:var(--kid-orange);}
body:has(.theme-kids) .invite--navy h2 .serif{color:var(--kid-sun);}
body:has(.theme-kids) .btn--light{--fg:var(--kid-orange-deep);}
body:has(.theme-kids) .btn--accent{--bg:var(--kid-orange);}

.footer__when{margin-top:var(--space-sm);font-size:.86rem;opacity:.7;}

/* ---- event rows: every event has a picture now (its own, or a stand-in), so the date rides on it ---- */
.vrow__img{position:relative;}
.vrow__date{position:absolute;left:8px;top:8px;display:grid;justify-items:center;min-width:44px;padding:5px 7px 6px;border-radius:10px;background:var(--snow);color:var(--navy);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;line-height:1;box-shadow:0 4px 14px rgba(8,20,38,.22);}
.vrow__date b{font-size:1.25rem;letter-spacing:0;margin-bottom:2px;}
@media(max-width:620px){.vrow__date{left:5px;top:5px;min-width:34px;padding:4px 5px;font-size:.56rem}.vrow__date b{font-size:.95rem}}
.section.duo,.section.irow,.section.lrow--navy,.section.lrow--steel,.section.lrow--kids{padding-block:clamp(64px,8vw,112px);}
.ncards .head{max-width:1040px;margin-inline:auto;}
body:has(.theme-kids) .irow--kids .eyebrow,body:has(.theme-kids) .lrow--kids .eyebrow,body:has(.theme-kids) .duo--kids .eyebrow,body:has(.theme-kids) .invite--navy .eyebrow{color:var(--kid-sun);opacity:1;}
.lrow__list{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;}
@media (max-width:640px){.lrow__list{grid-template-columns:1fr;}}
.lrow__head h2{font-size:clamp(2rem,1.4rem + 2.6vw,3.2rem);}
/* a light section straight after a coloured band gets its full top space back */
.section.duo + .section,.section.irow + .section,.section.lrow--navy + .section,.section.lrow--steel + .section,.section.lrow--kids + .section{padding-top:clamp(48px,6.5vw,92px);}
@media (max-width:620px){
  .irow__grid{grid-template-columns:1fr 1fr;gap:var(--space-xl) var(--space-md);}
  .irow__ic{width:64px;height:64px;}.irow__ic svg{width:28px;height:28px;}
  .irow__t{font-size:1.05rem;}.irow__note{font-size:.68rem;margin-bottom:6px;}.irow__b{font-size:.86rem;line-height:1.5;}
}
@media (max-width:440px){.collage__cta{gap:10px;flex-wrap:nowrap;}.collage__cta .btn{padding-inline:16px;font-size:.88rem;white-space:nowrap;}}

/* ---- Phosphor everywhere: every "→" arrow on the site is the Phosphor arrow-right,
   drawn as a mask so the markup can keep its plain-text fallback. ---- */
.arrow{display:inline-block;width:1.05em;height:1.05em;vertical-align:-.16em;overflow:hidden;text-indent:3em;white-space:nowrap;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;flex:none;}

/* =========================================================================
   Motion pass (September 2026)
   One spring for things that open, a quick plain exit for things that
   close, and a livelier spring only on the Kidz page.
   ========================================================================= */
:root{
  --spring:linear(0, 0.05, 0.168, 0.317, 0.471, 0.613, 0.736, 0.835, 0.911, 0.965, 1.001, 1.023, 1.035, 1.038, 1.037, 1.033, 1.027, 1.021, 1.016, 1.011, 1.007, 1.004, 1.002, 1, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 1);          /* ~4% overshoot: menus, cards */
  --spring-kid:linear(0, 0.071, 0.243, 0.459, 0.675, 0.862, 1.006, 1.1, 1.15, 1.163, 1.15, 1.121, 1.086, 1.051, 1.021, 0.998, 0.983, 0.975, 0.973, 0.976, 0.981, 0.986, 0.992, 0.997, 1.001, 1.003, 1.004, 1.004, 1.004, 1.003, 1.002, 1.001, 1);     /* ~16%: Kidz only */
  --ease-in:cubic-bezier(.4,0,1,1);
}

/* ---- page headers: taller, a slow settle on arrival, drift on scroll ---- */
.banner--photo{min-height:clamp(460px,66vh,720px);}
.banner__photo{inset:-12% 0 -12% 0;transform:none;scale:1.04;will-change:translate;animation:bannerIn 1.8s var(--ease-out) both;}
@keyframes bannerIn{from{scale:1.16;opacity:.35;}}
@media (max-width:620px){.banner--photo{min-height:clamp(440px,72svh,600px);}}

/* ---- desktop dropdowns: spring open, quick close, links follow in ---- */
.dropdown{transform-origin:50% 0;transform:translateY(10px) scale(.94);
  transition:opacity .16s var(--ease-in),transform .18s var(--ease-in),visibility 0s linear .18s;}
.menu>li:hover .dropdown,.menu>li:focus-within .dropdown{transform:none;
  transition:opacity .22s var(--ease-out),transform .55s var(--spring),visibility 0s;}
.dropdown li{opacity:0;translate:0 6px;transition:opacity .12s,translate .12s;}
.menu>li:hover .dropdown li,.menu>li:focus-within .dropdown li{opacity:1;translate:0 0;
  transition:opacity .3s var(--ease-out),translate .45s var(--spring);transition-delay:calc(40ms + var(--i,0) * 32ms);}
.dropdown li:nth-child(2){--i:1}.dropdown li:nth-child(3){--i:2}.dropdown li:nth-child(4){--i:3}.dropdown li:nth-child(5){--i:4}
.dropdown li:nth-child(6){--i:5}.dropdown li:nth-child(7){--i:6}.dropdown li:nth-child(8){--i:7}.dropdown li:nth-child(9){--i:8}
.menu .caret{transition:transform .5s var(--spring);}
/* phone menu: the same spring on the chevron and the rows */
.mobmenu .caret{transition:transform .5s var(--spring)!important;}
.mobmenu .dd{transition:grid-template-rows .5s var(--spring)!important;}
.mobmenu .dropdown li{opacity:1;translate:none;}
.mobmenu .has-dropdown .dropdown li{opacity:0;translate:-8px 0;transition:opacity .15s,translate .15s;}
.mobmenu .has-dropdown.open .dropdown li{opacity:1;translate:0 0;transition:opacity .3s var(--ease-out),translate .45s var(--spring);transition-delay:calc(60ms + var(--i,0) * 35ms);}
/* the old accordion used an elastic curve; same spring as everything else now */
.acc__a{transition:grid-template-rows .45s var(--ease-out);}
.acc__q .pm{transition:transform .5s var(--spring);}

/* ---- the ministries rail: edge to edge and endless ---- */
.section.mrail{background:var(--paper);overflow:hidden;}
.mrail .head{margin-bottom:var(--space-xl);}
.mrail__view{position:relative;overflow:hidden;touch-action:pan-y;cursor:grab;padding-block:24px 30px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.mrail__view.is-drag{cursor:grabbing;}
.mrail__view.is-drag .mcard{pointer-events:none;}
.mrail__view.is-static{overflow-x:auto;scrollbar-width:none;cursor:auto;scroll-snap-type:x proximity;}
.mrail__view.is-static::-webkit-scrollbar{display:none;}
.mrail__track{display:flex;gap:clamp(14px,1.6vw,22px);list-style:none;margin:0;padding:0 0 0 clamp(14px,1.6vw,22px);width:max-content;will-change:transform;user-select:none;-webkit-user-select:none;}
.mrail__view.is-static .mrail__it{scroll-snap-align:start;}
.mcard{position:relative;display:block;width:clamp(230px,24vw,330px);aspect-ratio:4/5;border-radius:26px;overflow:hidden;isolation:isolate;
  background:var(--navy);color:#fff;box-shadow:0 10px 30px rgba(13,37,65,.14);
  transition:transform .6s var(--spring),box-shadow .45s var(--ease-out);-webkit-tap-highlight-color:transparent;}
.mcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:scale .9s var(--ease-out),filter .5s;}
.mcard__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(13,37,65,0) 38%,rgba(13,37,65,.35) 60%,rgba(8,22,40,.9));transition:opacity .45s;}
.mcard__txt{position:absolute;left:22px;right:70px;bottom:22px;display:grid;gap:4px;transition:translate .55s var(--spring);}
.mcard__txt b{font-family:var(--font-cond,var(--font-display));font-size:clamp(1.25rem,1rem + .8vw,1.6rem);line-height:1.05;text-transform:uppercase;letter-spacing:.01em;}
.mcard__txt small{font-size:.86rem;opacity:.85;}
.mcard__go{position:absolute;right:18px;bottom:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--navy);
  scale:.6;opacity:0;rotate:-45deg;transition:scale .5s var(--spring),opacity .25s,rotate .5s var(--spring);}
.mcard::before{content:"";position:absolute;left:22px;top:22px;width:34px;height:6px;border-radius:6px;background:var(--cyan-bright);z-index:1;transition:width .55s var(--spring);}
.mcard--2::before{background:#ffc93c}.mcard--3::before{background:#f58b6c}.mcard--4::before{background:#9fe0d4}
@media (hover:hover){
  .mcard:hover{transform:translateY(-10px) rotate(-.6deg);box-shadow:0 26px 50px rgba(13,37,65,.28);}
  .mcard:hover .mcard__img{scale:1.08;}
  .mcard:hover .mcard__txt{translate:0 -6px;}
  .mcard:hover .mcard__go{scale:1;opacity:1;rotate:0deg;}
  .mcard:hover::before{width:64px;}
}
.mcard:active{transform:scale(.97);transition-duration:.15s;}
.mcard:focus-visible{outline:3px solid var(--cyan);outline-offset:4px;}
.mcard:focus-visible .mcard__go{scale:1;opacity:1;rotate:0deg;}
@media (hover:none){.mcard__go{scale:1;opacity:1;rotate:0deg;width:38px;height:38px;}}

/* ---- Bridge Kidz: things float about, headings pop, icons wiggle ---- */
.kfloat{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.banner--kids .wrap{position:relative;z-index:1;}
.kfloat__i{position:absolute;left:var(--x);top:var(--y);rotate:var(--r);opacity:.95;filter:drop-shadow(0 6px 14px rgba(0,0,0,.18));
  animation:kPop .9s var(--spring-kid) both,kBob calc(5.5s + var(--k) * .7s) ease-in-out calc(.9s + var(--k) * .12s) infinite alternate;animation-delay:calc(.25s + var(--k) * .11s),calc(1.1s + var(--k) * .13s);}
.kfloat__i svg{display:block;}
.kfloat__i--sun{color:#ffc93c}.kfloat__i--orange{color:#ff8a5c}.kfloat__i--white{color:rgba(255,255,255,.92)}.kfloat__i--aqua{color:#7fd8ec}
@keyframes kPop{from{scale:0;opacity:0;}to{scale:1;opacity:.95;}}
@keyframes kBob{from{translate:0 0;}to{translate:6px -18px;rotate:calc(var(--r) + 10deg);}}
@media (max-width:620px){.kfloat__i{scale:.7}.kfloat__i:nth-child(n+6){display:none}}
body:has(.theme-kids) .banner--kids h1{animation:kTitle .9s var(--spring-kid) .15s both;transform-origin:0 80%;}
body:has(.theme-kids) .banner--kids.banner--center h1{transform-origin:50% 80%;}
@keyframes kTitle{from{scale:.7;rotate:-3deg;opacity:0;}}
body:has(.theme-kids) .irow__ic{animation:kWiggle 4.8s ease-in-out infinite;animation-delay:calc(var(--n,0) * .6s);}
body:has(.theme-kids) .irow__it:nth-child(2) .irow__ic{--n:1}body:has(.theme-kids) .irow__it:nth-child(3) .irow__ic{--n:2}body:has(.theme-kids) .irow__it:nth-child(4) .irow__ic{--n:3}
@keyframes kWiggle{0%,78%,100%{rotate:0deg;scale:1;}84%{rotate:-10deg;scale:1.08;}90%{rotate:8deg;scale:1.08;}95%{rotate:-3deg;scale:1.02;}}
body:has(.theme-kids) .irow__it:hover .irow__ic{animation:none;transform:translateY(-6px) rotate(-8deg) scale(1.08);transition:transform .5s var(--spring-kid);}
body:has(.theme-kids) .cards .card{transition:transform .55s var(--spring-kid),box-shadow .35s var(--ease-out);}
body:has(.theme-kids) .cards .card:hover{transform:translateY(-8px) rotate(-1.4deg);}
body:has(.theme-kids) .cards .card:nth-child(even):hover{transform:translateY(-8px) rotate(1.4deg);}
body:has(.theme-kids) .split__media .img{animation:kFloat 6s ease-in-out infinite alternate;}
body:has(.theme-kids) .split + .split .split__media .img{animation-delay:-3s;}
@keyframes kFloat{to{translate:0 -10px;}}
body:has(.theme-kids) .head h2::after,body:has(.theme-kids) .split__copy h2::after{animation:kWave 2.6s ease-in-out infinite alternate;}
@keyframes kWave{to{translate:10px 0;}}
body:has(.theme-kids) .btn{transition:transform .5s var(--spring-kid),background .25s,box-shadow .3s;}
body:has(.theme-kids) .btn:hover{transform:translateY(-3px) rotate(-1deg);}
body:has(.theme-kids) .btn:active{transform:scale(.94);transition-duration:.12s;}

@media (prefers-reduced-motion:reduce){
  .banner__photo{animation:none;scale:1.04;translate:none!important;}
  .dropdown,.dropdown li,.menu .caret,.mobmenu .caret,.mobmenu .dd,.mobmenu .has-dropdown .dropdown li{transition-duration:.01ms!important;transition-delay:0s!important;}
  .mcard,.mcard__img,.mcard__txt,.mcard__go,.mcard::before{transition:none;}
  .kfloat__i,body:has(.theme-kids) .banner--kids h1,body:has(.theme-kids) .irow__ic,body:has(.theme-kids) .split__media .img,
  body:has(.theme-kids) .head h2::after,body:has(.theme-kids) .split__copy h2::after{animation:none!important;}
}

/* the phone menu's row arrows: the same Phosphor arrow */
@media (max-width:980px){.mobmenu .menu>li>a::after{content:"";width:1.05em;height:1.05em;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cpath d='M221.66,133.66l-72,72a8,8,0,0,1-11.32-11.32L196.69,136H40a8,8,0,0,1,0-16H196.69L138.34,61.66a8,8,0,0,1,11.32-11.32l72,72A8,8,0,0,1,221.66,133.66Z'/%3E%3C/svg%3E") center/contain no-repeat;}}

/* ---- beliefs / questions accordion: the + turns and fills, the answer slides open ---- */
.acc__it summary{transition:color .25s;}
.acc__pm{transition:rotate .55s var(--spring),background-color .3s,color .3s,box-shadow .3s,opacity .3s;}
.acc__pm::before,.acc__pm::after{transition:transform .45s var(--spring);}
.acc__it[open] .acc__pm{rotate:180deg;opacity:1;background-color:var(--cyan);color:#fff;box-shadow:inset 0 0 0 1.5px var(--cyan);}
.acc__it[open] summary{color:var(--cyan-deep);}
.acc__it summary:hover .acc__pm{scale:1.08;}
.acc__it .acc__b{overflow:hidden;}
.acc__it[open] .acc__b > *{animation:accIn .45s var(--ease-out) both;}
.acc__it[open] .acc__b > :nth-child(2){animation-delay:.06s;}
.acc__it.is-closing .acc__b > *{opacity:0;translate:0 -4px;transition:opacity .18s,translate .18s;}
@keyframes accIn{from{opacity:0;translate:0 -8px;}}
@media (prefers-reduced-motion:reduce){.acc__pm,.acc__pm::before,.acc__pm::after{transition:none;}.acc__it[open] .acc__b > *{animation:none;}}

/* ---- connect group finder ---- */
.section.gdir{background:var(--cream-2);scroll-margin-top:90px;}
.gdir__chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 var(--space-xl);}
.gchip{display:inline-flex;align-items:center;gap:8px;padding:.62em 1.05em;border-radius:100px;border:1.5px solid color-mix(in srgb,var(--navy) 18%,transparent);background:var(--paper);color:var(--navy);font-weight:700;font-size:.92rem;
  transition:background .25s,color .25s,border-color .25s,transform .45s var(--spring);}
.gchip span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:20px;background:color-mix(in srgb,var(--navy) 9%,transparent);font-size:.75rem;transition:background .25s;}
.gchip:hover{transform:translateY(-2px);border-color:var(--cyan);}
.gchip:active{transform:scale(.95);}
.gchip.is-on{background:var(--navy);border-color:var(--navy);color:#fff;}
.gchip.is-on span{background:rgba(255,255,255,.2);}
.gchip:focus-visible{outline:2.5px solid var(--cyan);outline-offset:2px;}
.gdir__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:clamp(16px,2vw,24px);}
.gcard{--gc:var(--cyan);position:relative;background:var(--paper);border-radius:22px;padding:24px 24px 22px;box-shadow:0 1px 0 var(--line),0 10px 28px rgba(13,37,65,.07);
  transition:transform .55s var(--spring),box-shadow .35s var(--ease-out);}
.gcard:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(13,37,65,.14);}
.gcard--women{--gc:#d4577e}.gcard--men{--gc:#2f6fa8}.gcard--coed{--gc:var(--cyan)}.gcard--family{--gc:#e0892f}.gcard--sunday{--gc:#6a5acd}.gcard--young{--gc:#1f9d7a}.gcard--seniors{--gc:#8a6d3b}
.gcard__tag{display:inline-block;padding:.32em .8em;border-radius:100px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gc);background:color-mix(in srgb,var(--gc) 12%,transparent);}
.gcard h3{font-size:1.22rem;margin:12px 0 14px;color:var(--navy);}
.gcard__facts{display:grid;gap:9px;margin:0;}
.gcard__facts div{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;}
.gcard__facts dt{color:var(--gc);padding-top:1px;}
.gcard__facts dd{margin:0;color:var(--ink-soft);font-size:.95rem;line-height:1.45;}
.gcard__facts a{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--gc) 45%,transparent);text-underline-offset:3px;transition:color .2s;}
.gcard__facts a:hover{color:var(--gc);}
.gcard__note{margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line);font-size:.88rem;color:var(--muted);}
.gcard.is-out{opacity:0;transform:scale(.96);transition:opacity .16s,transform .16s var(--ease-in);}
.gcard.is-in{animation:gIn .5s var(--spring) both;animation-delay:calc(var(--gi,0) * 35ms);}
@keyframes gIn{from{opacity:0;transform:translateY(12px) scale(.97);}}
@media (prefers-reduced-motion:reduce){.gcard,.gchip{transition:none}.gcard.is-in{animation:none}}
.eventpage__flyer{margin:0 0 var(--space-xl);border-radius:20px;overflow:hidden;box-shadow:0 18px 40px rgba(13,37,65,.16);background:var(--navy);}.eventpage__flyer img{width:100%;height:auto;display:block;}
.banner--flyer .banner__photo{filter:blur(18px) saturate(1.15);scale:1.2;animation:none;}
@media (max-width:620px){.gdir__chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter,20px) * -1);padding:4px var(--gutter,20px) 8px;}.gdir__chips::-webkit-scrollbar{display:none}.gchip{flex:none;}}

/* ---- Header photos framed on the faces (site_img_frame in inc/site.php) ----
   --fp / --fpm: where the faces are, for a computer and for a phone.
   has-head: faces near the top of the picture. The photo drops below the menu
   and its top edge fades into the header colour, so there is headroom. */
.banner .banner__photo.is-framed{background-position:var(--fp,center);}
.banner .banner__photo.has-head{top:var(--ft,0%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 17%);mask-image:linear-gradient(180deg,transparent 0,#000 17%);}
@media (max-width:620px){
  .banner .banner__photo.is-framed{background-position:var(--fpm,var(--fp,center));}
  .banner .banner__photo.has-head{top:var(--ftm,var(--ft,0%));}
}

/* ---- Group finder: the photo filter ----
   Each kind of group is a photo of that group from the old site. Tapping one
   narrows the cards below; the chosen one lifts, rings in Bondi blue and the
   others step back a touch. On a phone the row swipes sideways. */
.gdir__kinds{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin:0 0 var(--space-xl);}
.gkind.gchip{all:unset;box-sizing:border-box;position:relative;display:flex;flex-direction:column;gap:2px;cursor:pointer;border-radius:18px;padding:6px 6px 10px;background:var(--paper);
  box-shadow:0 1px 0 var(--line),0 8px 22px rgba(13,37,65,.07);transition:transform .45s var(--spring),box-shadow .3s,opacity .3s,background .3s;-webkit-tap-highlight-color:transparent;}
.gkind .gkind__ph{display:block;height:auto;min-width:0;padding:0;aspect-ratio:4/5;border-radius:13px;overflow:hidden;background:var(--cream-2);margin-bottom:8px;position:relative;font-size:inherit;transition:none;}
.gkind .gkind__ph--all{display:grid;}
.gkind__ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out),filter .3s;}
.gkind__ph--all{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;}
.gkind__ph--all img{min-height:0;}
.gkind b{font-size:.9rem;font-weight:800;color:var(--navy);line-height:1.2;padding-inline:4px;}
.gkind small{font-size:.74rem;font-weight:600;color:var(--muted);padding-inline:4px;}
.gkind:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(13,37,65,.14);}
.gkind:hover .gkind__ph img{transform:scale(1.06);}
.gkind:active{transform:scale(.96);transition-duration:.12s;}
.gkind:focus-visible{outline:2.5px solid var(--cyan);outline-offset:3px;}
.gkind.is-on{background:var(--navy);box-shadow:0 0 0 2.5px var(--cyan),0 16px 34px rgba(13,37,65,.2);transform:translateY(-4px);}
.gkind.is-on b{color:#fff;}.gkind.is-on small{color:color-mix(in srgb,#fff 70%,var(--navy));}
.gkind.is-on .gkind__ph::after{content:"";position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;background:var(--cyan) center/14px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23fff'%3E%3Cpath d='M232.49 80.49l-128 128a12 12 0 0 1-17 0l-56-56a12 12 0 1 1 17-17L96 183 215.51 63.51a12 12 0 0 1 17 17Z'/%3E%3C/svg%3E");
  box-shadow:0 2px 8px rgba(0,0,0,.25);animation:gkPop .45s var(--spring) both;}
@keyframes gkPop{from{transform:scale(0)}}
.gdir__kinds:has(.gkind.is-on:not([data-kind=""])) .gkind:not(.is-on){opacity:.72;}
.gdir__kinds:has(.gkind.is-on:not([data-kind=""])) .gkind:not(.is-on) img{filter:saturate(.6);}
.gdir__kinds:has(.gkind.is-on:not([data-kind=""])) .gkind:not(.is-on):hover{opacity:1;}
@media (max-width:1000px){.gdir__kinds{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media (max-width:620px){
  .gdir__kinds{display:flex;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;margin-inline:calc(var(--gutter,20px) * -1);padding:6px var(--gutter,20px) 12px;scroll-padding-inline:var(--gutter,20px);}
  .gdir__kinds::-webkit-scrollbar{display:none}
  .gkind.gchip{flex:0 0 118px;scroll-snap-align:start;}
}
.gcard__join{display:inline-flex;align-items:center;gap:.45em;margin-top:16px;font-weight:800;font-size:.9rem;color:var(--gc);}
.gcard__join .arrow{transition:transform .35s var(--ease-out);}
.gcard__join:hover .arrow{transform:translateX(4px);}
@media (prefers-reduced-motion:reduce){.gkind.gchip,.gkind__ph img{transition:none}.gkind.is-on .gkind__ph::after{animation:none}}

/* ---- Footer bottom row: centred buttons + appearance switch ---- */
.footer .footer__bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:18px;}
.footer__bottom .footer__acts{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;}
.fbtn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:100px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);
  color:rgba(244,248,248,.9);font:600 .84rem/1 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;
  transition:background .25s,border-color .25s,color .25s,transform .45s var(--spring);}
.fbtn svg{opacity:.85;flex:none;}
.fbtn:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4);color:#fff;transform:translateY(-2px);}
.fbtn:active{transform:scale(.96);transition-duration:.12s;}
.fbtn:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;}
.fbtn.footpush[data-state="on"]{border-color:rgba(120,210,160,.5);color:#bfe9cf;}
.fbtn.footpush[disabled]{opacity:.6;cursor:default;transform:none;}
.footer__copy{margin:0;font-size:.8rem;color:rgba(244,248,248,.5);}
/* Light · Dark · Auto — a pill with a sliding thumb */
.fsch{--i:0;position:relative;display:inline-grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:2px;padding:3px;min-height:40px;border-radius:100px;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);}
.fsch[hidden]{display:none;}
.fsch::before{content:"";position:absolute;top:3px;bottom:3px;left:3px;width:calc((100% - 10px) / 3);border-radius:100px;background:#f1f7f7;
  transform:translateX(calc(var(--i) * (100% + 2px)));transition:transform .5s var(--spring);box-shadow:0 2px 8px rgba(0,0,0,.25);}
.fsch:has(input[value="dark"]:checked){--i:1;}
.fsch:has(input[value="auto"]:checked){--i:2;}
.fsch__o{position:relative;z-index:1;display:flex;}
.fsch__o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;}
.fsch__o span{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:0 13px;height:32px;border-radius:100px;
  font:600 .8rem/1 var(--font-body);color:rgba(244,248,248,.78);transition:color .3s;}
.fsch__o em{font-style:normal;}
.fsch__o:hover input:not(:checked)+span{color:#fff;}
.fsch__o input:checked+span{color:#0d2b2e;}
.fsch__o input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px;}
@media (max-width:420px){.fsch__o em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fsch__o span{padding:0 14px}}
@media (prefers-reduced-motion:reduce){.fsch::before,.fbtn{transition:none}}
/* A light/dark change fades rather than snapping. */
html.scheme-swap body,html.scheme-swap body *{transition:background-color .35s ease,color .35s ease,border-color .35s ease !important;}
.footer .footer__bottom .fbtn{font-size:.84rem;font-weight:600;}
.footer .footer__bottom .footer__copy{max-width:none;}
.footer .footer__bottom .footer__copy{margin:0;font-size:.8rem;}
.footer .footer__bottom a.fbtn:hover{padding-left:16px;color:#fff;}

/* ---- Reach Out pop-up (inc/site.php site_reach_dialog, assets/js/reach.js) ----
   A card in the middle of the screen on a computer, a sheet that rises from
   the bottom on a phone. Who the message goes to sits at the top with their
   photo, so it feels like writing to a person rather than filling in a form. */
.rdlg{padding:0;border:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;margin:0;inset:0;overflow:hidden;color:var(--ink);}
.rdlg:not([open]){display:none;}
.rdlg[open]{display:grid;place-items:center;}
.rdlg::backdrop{background:rgba(6,22,24,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:rdFade .3s ease both;}
.rdlg.is-closing::backdrop{animation:rdFade .22s ease reverse both;}
.rdlg__box{position:relative;width:min(520px,calc(100vw - 32px));max-height:min(92svh,860px);overflow:auto;overscroll-behavior:contain;
  background:var(--paper);border-radius:26px;box-shadow:0 30px 80px rgba(6,22,24,.35),0 2px 10px rgba(6,22,24,.12);padding:28px 28px 24px;
  animation:rdIn .55s var(--spring) both;}
.rdlg.is-closing .rdlg__box{animation:rdOut .22s cubic-bezier(.4,0,1,1) both;}
@keyframes rdIn{from{opacity:0;transform:translateY(22px) scale(.965);}}
@keyframes rdOut{to{opacity:0;transform:translateY(14px) scale(.975);}}
@keyframes rdFade{from{opacity:0;}}
.rdlg__x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;
  background:color-mix(in srgb,var(--navy) 7%,transparent);color:var(--ink);transition:background .2s,transform .45s var(--spring);}
.rdlg__x:hover{background:color-mix(in srgb,var(--navy) 13%,transparent);transform:rotate(90deg);}
.rdlg__who{display:flex;align-items:center;gap:16px;padding-right:44px;margin-bottom:20px;cursor:default;}
.rdlg__f--to.is-set ~ * {}
.rdlg__av{flex:none;width:68px;height:68px;border-radius:50%;overflow:hidden;display:grid;place-items:center;position:relative;
  background:color-mix(in srgb,var(--cyan) 16%,var(--paper));color:var(--cyan-deep);box-shadow:0 0 0 3px var(--paper),0 0 0 5px color-mix(in srgb,var(--cyan) 55%,transparent);}
.rdlg__av img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;animation:rdPop .5s var(--spring) both;}
.rdlg__av img[hidden],.rdlg__ini[hidden]{display:none;}
@keyframes rdPop{from{transform:scale(.6);opacity:0;}}
.rdlg__eyebrow{margin:0 0 2px;font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan-deep);}
.rdlg__t{margin:0;font-size:clamp(1.35rem,1.2rem + .6vw,1.65rem);line-height:1.1;color:var(--ink);}
.rdlg__role{margin:4px 0 0;font-size:.88rem;color:var(--muted);}
.rdlg__role:empty{display:none;}
.rdlg__body{display:grid;gap:14px;}
.rdlg__body[hidden],.rdlg__done[hidden]{display:none;}
.rdlg__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.rdlg__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rdlg__f{display:grid;gap:6px;}
.rdlg__f>span{font-size:.8rem;font-weight:700;color:var(--ink-soft);}
.rdlg__f>span em{font-style:normal;font-weight:500;color:var(--muted);}
.rdlg__f input,.rdlg__f select,.rdlg__f textarea{width:100%;font:500 1rem/1.4 var(--font-body);color:var(--ink);padding:12px 14px;border-radius:13px;
  border:1.5px solid color-mix(in srgb,var(--navy) 14%,transparent);background:color-mix(in srgb,var(--navy) 3%,var(--paper));
  transition:border-color .2s,box-shadow .2s,background .2s;-webkit-appearance:none;appearance:none;}
.rdlg__f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256' fill='%23469fa3'%3E%3Cpath d='M213.66 101.66l-80 80a8 8 0 0 1-11.32 0l-80-80a8 8 0 0 1 11.32-11.32L128 164.69l74.34-74.35a8 8 0 0 1 11.32 11.32Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px;}
.rdlg__f textarea{resize:vertical;min-height:110px;}
.rdlg__f input:focus,.rdlg__f select:focus,.rdlg__f textarea:focus{outline:none;border-color:var(--cyan);background:var(--paper);box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 18%,transparent);}
.rdlg__f.is-bad input,.rdlg__f.is-bad select,.rdlg__f.is-bad textarea{border-color:#d0493a;box-shadow:0 0 0 4px rgba(208,73,58,.12);animation:rdShake .4s ease;}
@keyframes rdShake{25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.rdlg__f--to.is-set{display:none;}
.rdlg__err{margin:0;padding:10px 14px;border-radius:12px;font-size:.88rem;font-weight:600;color:#a3302a;background:rgba(208,73,58,.1);}
.rdlg__err[hidden]{display:none;}
.rdlg__send{justify-content:center;width:100%;min-height:52px;font-size:1rem;margin-top:4px;}
.rdlg__send svg{transition:transform .5s var(--spring);}
.rdlg__send:hover svg{transform:translate(3px,-2px) rotate(-8deg);}
.rdlg__send.is-busy svg{animation:rdFly .9s ease-in-out infinite;}
@keyframes rdFly{50%{transform:translate(5px,-3px);opacity:.5;}}
.rdlg__fine{margin:0;text-align:center;font-size:.78rem;color:var(--muted);}
.rdlg__done{text-align:center;padding:12px 4px 4px;display:grid;justify-items:center;gap:10px;}
.rdlg__done h2:focus{outline:none;}
.rdlg__donep{margin:0 0 8px;color:var(--ink-soft);max-width:34ch;}
.rdlg__tick{width:74px;height:74px;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.rdlg__tick circle{stroke:var(--cyan);stroke-width:3;stroke-dasharray:151;stroke-dashoffset:151;animation:rdDraw .6s var(--ease-out) forwards;}
.rdlg__tick path{stroke:var(--cyan-deep);stroke-width:4;stroke-dasharray:36;stroke-dashoffset:36;animation:rdDraw .38s .45s var(--ease-out) forwards;}
@keyframes rdDraw{to{stroke-dashoffset:0;}}
.rdlg__ok{min-width:140px;justify-content:center;}
@media (max-width:620px){
  .rdlg[open]{place-items:end stretch;}
  .rdlg__box{width:100%;max-height:94svh;border-radius:26px 26px 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom));animation:rdUp .5s var(--spring) both;}
  .rdlg__box::before{content:"";display:block;width:42px;height:5px;border-radius:5px;background:color-mix(in srgb,var(--navy) 18%,transparent);margin:-8px auto 14px;}
  .rdlg.is-closing .rdlg__box{animation:rdDown .24s cubic-bezier(.4,0,1,1) both;}
  .rdlg__row{grid-template-columns:1fr;}
  .rdlg__av{width:58px;height:58px;}
}
@keyframes rdUp{from{transform:translateY(100%);}}
@keyframes rdDown{to{transform:translateY(100%);}}
@media (prefers-reduced-motion:reduce){.rdlg__box,.rdlg::backdrop,.rdlg__av img,.rdlg__tick *{animation:none!important}.rdlg__tick circle,.rdlg__tick path{stroke-dashoffset:0}}
html.dark body .rdlg__err{color:#ffb4a8;background:rgba(208,73,58,.18);}
html.dark body .rdlg__box{box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.06);}
.rdlg__chg{all:unset;cursor:pointer;margin-top:4px;font-size:.8rem;font-weight:700;color:var(--cyan-deep);text-decoration:underline;text-underline-offset:3px;}
.rdlg__chg[hidden]{display:none;}
.rdlg__chg:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px;}

/* ---- Share an event ---- */
.shr{position:relative;display:inline-flex;}
.shr__btn svg{transition:transform .5s var(--spring);}
.shr__btn:hover svg,.shr.is-open .shr__btn svg{transform:rotate(-12deg) scale(1.08);}
.shr__menu{position:absolute;left:0;bottom:calc(100% + 10px);z-index:30;min-width:220px;display:grid;padding:6px;border-radius:18px;background:var(--paper);
  box-shadow:0 20px 50px rgba(13,37,65,.22),0 0 0 1px var(--line);transform-origin:20% 100%;animation:shrIn .45s var(--spring) both;}
.shr__menu[hidden]{display:none;}
@keyframes shrIn{from{opacity:0;transform:translateY(8px) scale(.94);}}
.shr__menu>*{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;cursor:pointer;font:600 .92rem/1.2 var(--font-body);color:var(--ink);transition:background .2s,color .2s;}
.shr__menu>* svg{color:var(--cyan-deep);flex:none;}
.shr__menu>*:hover,.shr__menu>*:focus-visible{background:color-mix(in srgb,var(--cyan) 12%,transparent);}
.shr__menu>*:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;}
.shr__menu>.is-done{color:var(--cyan-deep);}
@media (prefers-reduced-motion:reduce){.shr__menu{animation:none}.shr__btn svg{transition:none}}

/* ---- Event rows on a phone: the whole flyer, like CSBC ----
   A small cropped square cut the flyers' words off. On a phone each event
   becomes a card: the full 16:9 flyer on top (nothing cropped), the date
   badge on it, then the title and details. The whole card is the link. */
@media(max-width:640px){
  .vlist .vrow--img{display:block;padding:0;overflow:hidden}
  .vlist .vrow--img::before{display:none}
  .vlist .vrow--img:hover{transform:none}
  .vlist .vrow--img .vrow__img{width:100%;height:auto;aspect-ratio:16/9;border-radius:0;align-self:auto;background:var(--navy)}
  .vlist .vrow--img .vrow__img img{width:100%;height:100%;object-fit:contain}
  .vlist .vrow--img .vrow__date{left:10px;top:10px;min-width:44px;padding:5px 7px 6px;font-size:.66rem;box-shadow:0 4px 14px rgba(13,37,65,.25)}
  .vlist .vrow--img .vrow__date b{font-size:1.2rem}
  .vlist .vrow--img>div{padding:14px 16px 4px}
  .vlist .vrow--img>.btn{display:inline-flex;margin:8px 16px 16px;min-height:44px}
  .vlist .vrow--img .meta{font-size:.9rem}
}

/* ================= Groups page, v2 =================
   Cards open a sheet with the details and a Sign Me Up! form. The card top is
   a graphic of the leaders' last names in the group's colour, not a photo. */
.gdir--v2 .gdir__grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.gcard--v2{padding:0;overflow:hidden;display:flex}
.gcard__open{all:unset;box-sizing:border-box;display:flex;flex-direction:column;width:100%;cursor:pointer;border-radius:inherit}
.gcard__open:focus-visible{outline:3px solid var(--gc);outline-offset:3px}
.gtile{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;min-height:150px;padding:20px 22px;color:#fff;overflow:hidden;
  background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--gc) 55%,white) 0,transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--gc) 92%,#0b1d2a),color-mix(in srgb,var(--gc) 60%,#0b1d2a))}
.gtile::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--topo,none) right top/cover no-repeat;transform-origin:100% 0;-webkit-mask-image:linear-gradient(205deg,#000 35%,rgba(0,0,0,.45) 75%);mask-image:linear-gradient(205deg,#000 35%,rgba(0,0,0,.45) 75%)}
/* Topographic contours, four maps so neighbouring cards differ */
.gcard:nth-child(4n+1) .gtile,.gtile{--topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' preserveAspectRatio='xMaxYMin slice' fill='none' stroke='%23fff' stroke-linejoin='round'%3E%3Cpath stroke-opacity='.16' stroke-width='1' d='M56,51 52 53 48 56 46 58 44 62 43 68 44 72 46 76 50 80 53 82 58 84 62 85 68 86 74 85 79 84 84 82 87 80 90 78 93 74 94 69 94 66 92 62 88 58 86 56 82 54 78 52 72 51 66 50 60 50M0,92 2 94 5 98 8 101 12 104 14 106 18 109 22 111 26 113 30 115 35 116 40 117 46 118 52 118 58 118 64 117 69 116 74 115 78 114 84 112 88 111 92 109 96 107 100 106 104 104 108 101 112 98 115 96 118 93 121 90 123 86 125 82 126 78 127 72 126 66 125 62 124 58 121 54 118 50 116 47 113 44 110 41 106 38 103 36 99 34 96 32 92 30 88 28 83 26 78 24 74 23 70 21 66 20 60 18 56 17 50 16 46 16 40 15 34 15 28 16 24 17 20 18 15 20 11 22 7 24 4 26 0 29M0,132 4 135 8 137 12 139 16 140 22 142 26 143 32 144 38 144 44 144 50 143 56 142 60 141 65 140 70 139 74 137 78 136 83 134 88 132 92 131 96 129 100 127 104 125 108 123 112 121 116 119 120 117 124 114 127 112 130 110 134 106 136 104 139 100 142 96 143 92 145 88 146 82 146 78 146 72 145 68 144 62 142 58 141 54 138 50 136 46 134 43 131 40 128 37 125 34 122 31 118 28 116 26 112 23 108 21 104 18 100 16 97 14 93 12 90 10 86 8 82 6 78 4 74 2M0,199 6 199 12 199 18 199 24 200 30 200 34 200 40 201 46 201 52 201 58 202 64 202 68 202 74 202 80 202 84 202 90 201 94 199 98 197 102 194 104 192 108 188 110 186 113 182 116 179 119 176 122 173 125 170 128 168 132 165 135 162 138 160 142 157 146 154 149 152 152 150 156 147 160 144 162 142 166 138 168 136 171 132 173 128 175 124 176 120 177 114 178 109 178 104 178 98 178 94 177 88 176 82 176 78 174 72 173 68 172 63 170 58 169 54 167 50 165 46 163 42 161 38 158 34 156 31 154 28 151 24 148 21 146 18 142 14 140 12 136 9 133 6 130 3 126 0M398,232 394 228 391 226 388 224 384 222 380 220 375 218 370 217 366 216 360 214 356 214 350 213 344 213 338 214 334 214 328 216 324 218 320 220 318 222 315 226 313 230 312 236M398,207 394 206 388 204 384 203 380 202 374 200 370 199 364 198 360 198 354 197 349 196 344 195 338 195 332 194 328 194 322 194 316 193 310 193 304 194 298 194 294 194 288 195 284 197 280 199 277 202 275 206 274 212 275 218 276 224 276 228 277 234M174,238 175 234 176 228 177 224 178 220 180 214 182 210 184 206 186 203 188 200 192 196 194 194 198 191 202 189 206 186 210 184 214 182 217 180 220 177 222 174 223 168 222 164 220 159 218 155 216 152 214 148 212 144 210 140 208 136 206 132 204 128 202 123 200 118 199 114 198 110 196 105 195 100 193 96 192 91 191 86 190 82 188 77 187 72 185 68 184 64 182 58 181 54 179 50 177 46 176 42 174 38 172 34 169 30 167 26 165 22 162 18 160 16 157 12 154 8 152 6 149 2M398,192 392 191 388 190 382 189 378 188 372 187 367 186 362 185 356 184 352 183 346 182 342 182 336 181 332 180 326 179 322 178 316 177 312 176 306 174 302 173 298 171 294 170 289 168 284 166 280 164 276 162 273 160 269 158 266 156 262 154 258 151 254 148 251 146 248 144 244 140 241 138 238 135 234 132 232 130 228 126 226 123 223 120 220 116 218 113 216 110 213 106 211 102 209 98 207 94 205 90 204 86 202 82 200 77 198 72 197 68 195 64 194 60 192 54 190 50 189 46 187 42 186 38 184 34 182 29 180 25 178 20 176 17 174 13 172 9 170 6 168 2M398,166 392 166 388 166 382 165 376 165 370 164 366 164 360 163 356 162 350 161 346 160 340 158 336 157 332 156 326 154 322 153 318 151 314 150 310 148 306 146 302 144 298 142 294 140 290 138 286 135 282 133 278 130 274 128 271 126 268 124 264 121 260 118 258 116 254 113 250 110 248 108 244 104 242 102 238 98 236 95 234 92 231 88 228 84 226 81 224 77 222 73 220 69 218 64 216 60 215 56 213 52 212 47 211 42 209 38 208 32 207 28 206 22 206 18 205 12 205 6 205 0M387,0 388 1 389 2 390 3 391 4 392 5 394 6 394 6 396 8 396 8 398 10M398,154 392 154 388 154 382 154 378 154 372 153 366 153 361 152 356 151 350 150 346 149 342 148 336 146 332 145 328 143 324 142 320 140 315 138 311 136 307 134 303 132 299 130 296 128 292 126 288 123 284 121 280 118 276 116 274 114 270 111 266 108 263 106 260 104 256 100 254 98 250 94 248 92 244 88 242 85 240 82 237 78 235 74 232 70 231 66 229 62 227 58 226 54 224 48 223 44 222 39 221 34 221 28 220 22 221 16 222 10 223 6 225 2M361,0 364 2 368 5 372 8 375 10 378 13 382 16 384 18 388 21 391 24 394 27 397 30M398,140 394 141 388 141 382 142 376 142 370 141 364 141 358 140 354 139 348 138 344 137 340 136 335 134 330 132 326 131 322 129 318 127 314 125 310 123 306 121 302 119 298 117 294 114 290 112 287 110 284 108 280 105 276 102 273 100 270 98 266 94 264 92 260 89 258 86 254 82 252 80 249 76 247 72 244 68 242 64 240 60 239 56 238 52 236 46 235 42 235 36 235 30 236 24 237 20 238 16 240 12 243 8 246 5 249 2M300,18 306 18 312 18 316 18 322 20 326 21 330 22 334 24 338 26 342 28 346 31 350 34 352 36 356 39 359 42 362 45 365 48 368 51 371 54 374 58 376 61 379 64 381 68 384 72 386 76 387 80 388 84 388 90 388 94 386 98 382 102 380 104 376 106 371 108 366 109 360 109 354 109 348 108 344 107 339 106 334 105 330 103 326 102 322 100 318 98 314 96 310 94 306 92 302 89 298 87 294 84 292 82 288 79 285 76 282 73 279 70 276 66 274 63 272 59 270 54 269 50 269 44 270 38 271 34 274 30 276 28 280 25 284 22 288 21 292 19 298 18M310,47 316 47 320 48 324 50 328 53 331 56 334 59 336 63 337 68 334 72 330 73 324 72 320 71 316 69 312 67 309 64 306 61 304 57 304 52 306 49 310 47'/%3E%3Cpath stroke-opacity='.3' stroke-width='1.6' d='M0,164 4 165 8 166 14 168 18 169 24 169 30 170 36 170 42 169 48 169 54 168 58 167 62 166 68 164 72 163 76 161 80 160 84 158 88 156 92 154 96 152 100 150 104 148 108 146 112 144 116 141 120 139 124 137 128 135 132 132 135 130 138 128 142 125 146 122 148 120 152 116 154 113 156 110 158 106 160 101 161 96 162 91 162 86 162 80 162 76 161 70 160 66 158 60 157 56 155 52 153 48 150 44 148 40 146 37 143 34 140 30 138 28 134 24 132 22 128 19 125 16 122 14 118 11 114 8 111 6 108 4 104 1M398,179 393 178 388 177 382 177 376 176 372 175 366 174 362 174 356 173 352 172 346 171 342 170 336 169 332 168 326 166 322 165 318 163 314 162 308 160 304 158 300 156 296 155 292 153 288 151 284 148 280 146 277 144 273 142 270 140 266 137 262 135 258 132 256 130 252 127 248 124 246 122 242 119 239 116 236 113 233 110 230 106 228 104 225 100 222 96 220 92 218 89 216 85 214 81 212 77 210 73 208 68 207 64 205 60 204 56 202 51 200 46 199 42 198 38 196 33 194 28 193 24 192 20 190 14 189 10 187 6 186 2M398,122 394 124 390 125 386 126 380 127 374 128 368 128 362 127 356 127 352 126 346 124 342 123 338 122 332 120 328 118 324 117 320 115 316 113 312 111 308 109 304 107 300 104 296 102 293 100 290 98 286 95 282 92 279 90 276 87 272 84 270 82 267 78 264 75 262 72 259 68 257 64 255 60 253 56 252 52 250 46 250 40 251 34 252 28 254 24 256 20 258 18 262 14 264 12 268 10 272 7 276 6 281 4 286 3 290 2 296 1 302 1 308 0 314 1 320 2 324 2 330 4 334 5 338 6 342 8 346 10 350 12 354 15 358 17 361 20 364 22 368 25 371 28 374 31 378 34 380 36 384 40 386 42 390 46 392 48 396 52 398 54'/%3E%3C/svg%3E")}
.gcard:nth-child(4n+2) .gtile{--topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' preserveAspectRatio='xMaxYMin slice' fill='none' stroke='%23fff' stroke-linejoin='round'%3E%3Cpath stroke-opacity='.16' stroke-width='1' d='M35,238 32 236 28 232 25 230 22 228 18 225 14 223 10 220 6 218 2 216M103,238 102 233 100 228 98 224 96 221 94 218 91 214 88 210 86 208 83 204 80 200 78 198 75 194 73 190 70 186 68 182 67 178 65 174 64 170 62 166 60 160 59 156 57 152 55 148 53 144 50 140 48 138 44 135 40 133 36 131 30 131 24 131 20 132 14 134 10 136 6 138 2 140M169,238 171 234 173 230 175 226 176 222 177 216 177 210 176 206 174 201 172 197 170 194 167 190 164 187 161 184 158 182 154 179 151 176 148 174 144 171 140 168 137 166 134 163 131 160 128 157 125 154 122 150 120 148 118 144 115 140 113 136 111 132 109 128 107 124 106 120 104 116 102 111 100 107 98 103 96 100 93 96 90 92 88 90 84 87 80 84 77 82 72 80 68 79 64 77 59 76 54 75 49 74 44 73 38 72 34 72 28 71 23 70 18 69 12 68 8 68 2 67M398,181 394 183 390 186 386 188 383 190 380 193 376 196 374 198 370 202 368 205 366 209 364 212 362 217 360 222 359 226 358 230 356 236M233,238 234 234 236 228 237 224 238 220 240 215 241 210 242 206 243 200 244 194 244 190 244 186 243 180 242 175 240 170 238 166 236 162 234 159 232 156 229 152 226 148 224 146 220 142 218 139 215 136 212 133 209 130 206 126 204 124 201 120 198 116 196 112 194 108 193 104 191 100 190 94 189 90 189 84 189 78 189 72 190 66 190 61 191 56 191 50 192 45 193 40 194 34 194 30 196 24 196 20 198 14 199 10 200 5 201 0M398,159 394 161 390 163 386 165 382 167 378 169 374 170 370 172 366 174 362 176 358 179 354 181 350 184 348 186 344 190 342 192 340 196 338 200 336 205 335 210 334 216 334 220 333 226 332 231 331 236M255,238 256 234 258 229 260 225 262 220 264 216 266 212 268 208 270 204 272 200 274 196 275 192 276 188 277 182 276 176 275 172 274 168 272 164 270 160 267 156 264 152 262 150 259 146 256 143 253 140 250 137 247 134 244 131 241 128 238 125 235 122 232 119 230 116 226 112 224 109 222 106 219 102 217 98 215 94 213 90 212 86 210 81 209 76 208 70 208 66 207 60 207 54 207 48 208 42 208 38 209 32 210 26 211 22 212 18 214 12 215 8 217 4 218 0M398,140 394 142 390 144 386 146 382 148 378 149 374 151 370 152 364 154 360 155 356 156 350 158 346 158 340 159 334 160 328 160 322 159 317 158 312 156 308 155 304 153 300 150 296 148 293 146 290 144 286 141 282 138 279 136 276 134 272 131 268 128 266 126 262 123 258 120 256 118 252 114 249 112 246 109 243 106 240 102 238 100 235 96 232 92 230 88 228 85 226 80 224 76 223 72 222 68 221 62 220 56 220 52 220 46 220 40 220 36 221 30 222 26 224 20 225 16 226 12 228 8 230 4 232 0M390,0 392 2 392 2 393 4 394 6 394 6 395 8 396 10 396 10 397 12 398 14 398 14M398,94 396 98 392 102 390 105 386 108 384 110 380 113 376 115 372 117 368 119 364 120 358 122 354 123 348 123 342 124 336 123 330 123 324 122 320 121 316 120 310 118 306 117 302 115 298 114 294 112 290 110 286 108 282 106 278 103 274 100 271 98 268 96 264 93 261 90 258 87 256 84 253 80 250 76 248 73 246 69 244 64 243 60 242 56 241 50 240 44 241 38 241 32 242 28 244 22 246 18 248 14 250 10 252 7 254 4 258 0M372,0 374 3 377 6 380 10 382 14 384 18 386 22 387 26 389 30 390 35 391 40 392 46 392 50 392 56 392 61 391 66 390 72 389 76 387 80 385 84 383 88 380 91 378 94 374 97 370 100 367 102 363 104 358 106 354 107 350 108 344 109 338 110 332 109 326 109 320 108 316 107 311 106 306 104 302 103 298 102 294 100 290 98 286 96 282 93 278 91 274 88 272 86 268 82 266 80 262 76 260 73 258 70 256 66 254 62 252 57 251 52 250 46 250 42 250 38 251 32 252 28 254 23 256 18 258 15 260 12 263 8 266 5 269 2M350,0 354 2 358 6 361 8 364 12 366 14 369 18 371 22 373 26 374 30 376 35 377 40 378 46 378 50 378 54 377 60 376 66 374 70 373 74 370 78 368 81 365 84 362 87 358 89 354 92 350 93 346 95 340 96 336 96 330 97 324 97 319 96 314 95 309 94 304 92 300 91 296 89 292 87 288 85 284 83 280 80 278 78 274 74 272 72 268 68 266 64 264 60 262 56 261 52 260 47 260 42 260 37 261 32 262 28 264 24 266 20 269 16 272 12 274 10 278 7 282 4 285 2 289 0M308,16 314 15 320 15 324 16 329 18 333 20 336 22 340 26 342 28 344 32 346 36 347 42 348 48 346 54 344 58 342 61 339 64 336 66 332 69 327 70 322 71 316 71 310 70 306 69 302 67 298 65 294 62 291 60 288 56 286 53 284 48 283 44 283 38 284 34 286 30 289 26 292 23 296 20 300 18 304 17 308 16M312,36 317 36 320 38 322 42 321 46 318 49 312 49 308 47 306 43 306 40 310 36'/%3E%3Cpath stroke-opacity='.3' stroke-width='1.6' d='M398,222 398 222 397 224 396 225 396 226 395 228 394 230 394 230 393 232 393 234 392 236 392 237 392 238M208,238 210 233 212 228 213 224 214 218 215 214 215 208 215 202 215 196 214 192 212 187 210 182 208 178 206 175 204 172 200 168 198 165 195 162 192 160 188 156 186 154 182 151 179 148 176 146 172 142 170 140 166 136 164 134 161 130 158 126 156 122 154 118 153 114 152 110 151 104 151 98 151 92 152 88 154 82 155 78 157 74 158 70 160 66 162 61 164 56 165 52 167 48 168 44 170 38 171 34 172 29 173 24 174 18 174 14 175 8 175 2M398,120 395 122 392 124 388 127 384 129 380 131 376 133 372 134 366 136 362 137 357 138 352 139 346 139 340 139 334 139 328 138 324 138 318 136 314 135 310 134 306 132 301 130 297 128 293 126 290 124 286 122 282 120 278 117 274 114 271 112 268 110 264 107 260 104 258 102 254 98 252 96 248 92 246 89 243 86 241 82 239 78 237 74 235 70 234 66 232 60 231 56 231 50 230 44 231 38 232 32 232 28 234 22 235 18 237 14 239 10 241 6 244 2M308,4 314 3 320 3 326 4 330 5 334 6 339 8 343 10 346 12 350 16 352 18 355 22 358 26 360 30 361 34 362 38 363 44 364 50 363 56 362 60 360 64 358 68 355 72 352 75 348 78 344 80 340 82 336 83 330 84 326 84 320 84 316 84 310 83 306 82 301 80 297 78 293 76 290 74 286 71 282 68 280 66 277 62 275 58 273 54 271 50 270 44 271 38 272 32 273 28 275 24 278 20 280 18 284 14 287 12 290 10 294 8 299 6 304 5 308 4'/%3E%3C/svg%3E")}
.gcard:nth-child(4n+3) .gtile{--topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' preserveAspectRatio='xMaxYMin slice' fill='none' stroke='%23fff' stroke-linejoin='round'%3E%3Cpath stroke-opacity='.16' stroke-width='1' d='M398,87 397 92 396 98 395 102 394 108 393 112 392 116 390 122 389 126 387 130 385 134 383 138 382 142 380 146 378 152 378 156 379 160 380 164 384 168 386 170 390 172 395 174M395,0 395 6 396 12 396 18 396 24 396 30 395 36 395 42 394 48 394 53 393 58 392 64 392 68 391 74 390 78 388 84 387 88 385 92 384 96 382 100 380 104 378 108 376 112 373 116 370 120 368 123 365 126 362 130 360 132 356 136 354 139 351 142 348 146 346 149 344 152 342 156 340 160 338 166 337 170 337 176 338 181 340 186 342 190 344 193 347 196 350 199 353 202 356 206 358 208 362 212 364 214 367 218 369 222 371 226 372 230 373 236M0,78 4 76 7 74 10 72 14 69 17 66 20 64 23 60 26 57 28 54 31 50 34 46 36 43 38 40 40 36 43 32 46 28 48 25 51 22 54 19 58 16 61 14 65 12 70 10 74 9 78 7 83 6 88 5 92 4 98 2 102 1M386,0 387 6 388 12 388 16 389 22 389 28 388 34 388 40 388 44 387 50 386 56 386 60 384 66 383 70 382 75 380 80 379 84 377 88 375 92 373 96 371 100 368 104 366 106 363 110 360 114 358 116 354 120 352 122 348 126 346 128 342 132 340 134 336 138 334 140 330 144 328 146 325 150 322 154 320 157 318 160 316 164 314 168 312 172 310 178 309 182 308 186 307 192 306 198 306 204 307 210 307 216 308 221 308 226 308 232 307 236M0,100 4 98 8 96 11 94 14 92 18 89 22 87 25 84 28 82 32 79 35 76 38 73 41 70 44 67 47 64 50 60 52 58 55 54 58 51 61 48 64 45 67 42 70 39 74 36 77 34 80 32 84 30 88 27 92 26 96 24 100 22 106 20 110 18 114 17 118 15 122 14 126 12 130 10 134 8 138 6 142 3 146 0M371,0 372 4 373 10 374 14 375 20 375 26 375 32 375 38 375 44 374 50 373 54 372 59 371 64 369 68 368 72 366 76 364 80 362 84 359 88 356 92 354 95 351 98 348 101 345 104 342 107 339 110 336 113 332 116 329 118 326 121 322 124 319 126 316 128 312 132 309 134 306 136 302 140 300 142 296 145 293 148 290 152 288 154 284 158 282 161 279 164 276 168 274 171 272 174 269 178 266 181 264 184 261 188 258 192 256 195 253 198 250 202 248 205 246 208 243 212 240 216 238 220 236 223 234 226 232 230 230 234M0,149 2 145 4 142 7 138 10 135 13 132 16 129 20 126 22 124 26 121 30 118 33 116 36 114 40 111 43 108 46 106 50 103 53 100 56 98 60 94 63 92 66 89 69 86 72 83 76 80 78 78 82 74 84 72 88 69 92 66 94 64 98 61 102 59 106 56 110 54 114 52 118 50 122 48 126 46 130 45 134 43 138 41 142 39 146 37 150 35 154 33 158 30 160 28 164 25 167 22 170 19 172 16 175 12 178 8 180 5 182 2M17,238 15 234 14 230 12 226 10 220 8 216 7 212 5 208 4 204 2 199 0 194M364,0 365 4 366 8 368 14 368 18 369 24 369 30 369 36 369 42 368 48 367 52 366 57 365 62 363 66 361 70 359 74 357 78 355 82 352 86 350 88 347 92 344 95 341 98 338 101 334 104 332 106 328 109 324 112 321 114 318 116 314 119 310 122 307 124 304 126 300 129 296 132 294 134 290 137 286 140 284 142 280 145 277 148 274 151 271 154 268 158 266 160 262 164 260 167 257 170 254 174 252 176 249 180 246 184 244 186 241 190 238 194 236 197 233 200 231 204 228 208 226 210 224 214 221 218 219 222 216 226 214 230 212 234 210 238M31,238 30 234 28 230 26 224 24 220 23 216 22 212 20 207 19 202 18 198 16 192 15 188 14 182 14 176 14 174 14 168 16 162 17 158 19 154 21 150 23 146 26 143 28 140 32 136 34 134 38 131 41 128 44 126 48 123 51 120 54 118 58 115 61 112 64 110 68 107 71 104 74 101 78 98 80 96 84 93 87 90 90 88 94 84 97 82 100 80 104 77 108 74 111 72 115 70 118 68 122 66 126 64 131 62 135 60 140 58 144 56 148 54 152 52 156 50 159 48 162 46 166 43 170 40 172 38 175 34 178 31 180 28 183 24 185 20 188 16 190 12 192 8 194 4 196 1M356,0 358 5 360 10 361 14 362 20 363 24 363 30 363 36 363 42 362 46 361 52 360 56 358 61 356 66 354 70 352 74 350 77 348 80 345 84 342 87 339 90 336 93 333 96 330 98 326 102 323 104 320 106 316 109 312 111 308 114 304 116 301 118 298 120 294 122 290 125 286 128 282 130 280 132 276 135 272 138 269 140 266 143 262 146 260 148 256 152 254 154 251 158 248 161 245 164 242 168 240 170 237 174 234 178 232 180 229 184 226 188 224 191 222 194 219 198 216 202 214 205 212 208 210 212 207 216 205 220 202 224 200 228 198 232 196 236M45,238 43 234 41 230 40 226 38 221 36 216 35 212 34 208 33 202 32 198 31 192 30 186 30 180 31 174 32 168 33 164 35 160 37 156 40 152 42 149 45 146 48 142 50 140 54 137 57 134 60 131 64 128 67 126 70 123 74 120 77 118 80 115 84 112 87 110 90 107 94 104 97 102 100 100 104 97 108 94 111 92 114 90 118 87 122 85 126 83 130 81 134 79 138 77 142 75 146 74 150 72 154 70 158 68 162 66 166 63 170 61 173 58 176 56 180 52 182 49 184 46 187 42 190 38 192 34 194 30 196 26 198 22 200 18 201 14 203 10 205 6 207 2M340,0 343 4 345 8 346 12 348 17 349 22 350 28 350 32 350 38 350 42 349 48 348 52 346 57 344 61 342 65 340 68 337 72 334 76 332 78 328 82 326 84 322 87 318 90 315 92 312 94 308 96 304 99 300 101 296 103 292 104 288 106 283 108 278 110 274 112 270 113 266 115 262 116 258 118 253 120 249 122 245 124 241 126 238 128 234 131 231 134 228 137 225 140 222 144 220 146 217 150 215 154 212 158 210 162 208 165 206 168 204 172 201 176 199 180 197 184 194 188 192 192 190 196 188 199 186 203 184 207 182 210 180 214 177 218 175 222 172 226 170 230 168 232 165 236M74,238 71 234 68 230 66 226 64 222 63 218 62 214 60 208 60 204 59 198 59 192 60 186 61 182 62 178 64 174 66 170 68 166 71 162 74 159 77 156 80 153 83 150 86 148 90 145 94 142 96 140 100 138 104 135 108 132 112 130 115 128 119 126 123 124 127 122 131 120 135 118 139 116 144 114 148 113 152 111 156 110 161 108 166 106 170 105 174 103 178 102 182 100 186 97 190 95 193 92 196 89 199 86 201 82 203 78 205 74 206 70 208 65 210 60 211 56 212 51 213 46 214 42 216 36 217 32 218 28 220 22 222 18 223 14 225 10 227 6 229 2M331,0 334 4 336 7 338 11 340 15 342 20 343 24 343 30 343 36 343 42 342 47 341 52 339 56 337 60 335 64 332 68 330 70 327 74 324 77 320 80 317 82 314 84 310 87 306 89 302 91 298 93 294 95 290 96 284 98 280 99 276 100 270 102 266 102 260 103 254 104 248 104 242 103 238 102 233 100 230 97 227 94 226 90 224 84 224 80 223 74 223 68 223 62 224 56 224 52 225 46 226 40 227 36 228 30 229 26 230 22 232 18 234 13 236 9 238 6 240 2M95,238 92 236 88 233 85 230 82 226 80 223 78 218 76 214 75 210 74 204 74 198 75 192 76 187 78 182 80 178 82 175 84 172 87 168 90 165 93 162 96 160 100 157 104 154 107 152 111 150 114 148 118 146 122 144 127 142 132 140 136 138 140 137 144 136 150 134 154 134 160 133 166 132 172 133 178 134 182 136 185 138 188 142 188 146 189 152 188 156 187 162 186 166 184 171 182 176 181 180 179 184 177 188 176 192 174 196 172 200 170 204 168 208 166 212 163 216 160 220 158 223 156 226 152 230 150 232 146 235 142 238M320,0 324 4 326 6 329 10 331 14 333 18 334 22 336 28 336 32 336 38 336 42 334 48 333 52 331 56 329 60 326 64 324 66 320 70 318 72 314 75 310 78 306 80 302 82 298 84 294 85 290 87 285 88 280 89 274 90 268 90 262 89 257 88 252 86 249 84 246 82 243 78 241 74 239 70 238 66 237 60 236 54 236 50 236 46 236 40 237 34 238 30 240 24 241 20 243 16 245 12 248 8 250 5 253 2M132,164 138 163 144 164 148 165 152 168 154 170 156 175 157 180 156 186 156 190 154 195 152 200 150 204 148 208 146 211 144 214 140 218 138 220 134 223 130 225 126 226 120 227 114 227 110 226 106 224 102 221 99 218 96 214 94 210 93 206 93 200 94 194 95 190 97 186 100 182 102 180 106 176 109 174 112 172 116 169 120 168 124 166 130 164M280,10 286 9 292 8 298 10 302 11 306 14 309 16 312 19 314 22 316 27 317 32 317 38 316 44 314 48 312 52 310 54 306 58 303 60 299 62 294 64 290 65 284 66 278 65 274 63 270 61 267 58 264 54 262 50 261 46 260 40 261 34 262 29 264 24 266 21 268 18 272 14 276 12 280 10M286,28 292 27 296 29 299 32 299 38 297 42 294 45 290 46 286 46 282 43 280 38 282 32 284 29'/%3E%3Cpath stroke-opacity='.3' stroke-width='1.6' d='M379,0 380 6 380 10 381 16 382 22 382 28 382 34 382 40 381 46 380 52 379 56 378 62 377 66 376 70 374 75 372 80 370 84 368 88 366 91 364 94 361 98 358 102 356 104 353 108 350 111 347 114 344 117 340 120 338 122 334 125 331 128 328 131 324 134 322 136 318 140 315 142 312 145 310 148 306 152 304 154 301 158 298 162 296 165 294 168 292 172 289 176 287 180 284 184 282 188 280 192 278 195 276 198 274 202 271 206 268 210 266 214 264 217 262 220 259 224 257 228 255 232 253 236M0,121 4 118 7 116 10 114 14 111 18 108 21 106 24 104 28 101 32 98 35 96 38 94 42 91 45 88 48 85 52 82 54 80 58 76 60 74 64 70 66 68 70 64 72 62 76 58 78 56 82 53 86 50 88 48 92 46 96 43 100 41 104 39 108 37 112 35 116 34 120 32 125 30 129 28 134 26 138 24 142 22 145 20 148 18 152 15 156 12 158 10 162 6 164 4 167 0M348,0 350 4 352 8 354 14 355 18 356 23 357 28 357 34 356 40 356 44 355 50 354 54 352 59 350 64 348 68 346 71 344 74 341 78 338 82 336 84 332 88 330 90 326 93 322 96 319 98 316 100 312 103 308 105 304 107 300 109 296 112 292 114 288 116 284 118 280 120 276 122 273 124 269 126 266 128 262 131 258 133 254 136 252 138 248 141 245 144 242 147 239 150 236 154 234 156 231 160 228 163 226 166 223 170 220 174 218 177 216 180 213 184 210 188 208 191 206 194 204 198 201 202 199 206 196 210 194 214 192 218 190 221 188 224 186 228 183 232 181 236M59,238 56 234 54 230 53 226 51 222 50 218 48 212 47 208 46 203 45 198 45 192 45 186 46 180 47 176 48 171 50 167 52 163 54 160 57 156 60 152 62 150 66 146 68 144 72 140 75 138 78 135 82 132 85 130 88 128 92 125 96 122 99 120 102 118 106 115 110 112 113 110 117 108 120 106 124 104 128 101 132 99 136 97 140 96 144 94 148 92 153 90 158 88 162 86 166 84 170 82 173 80 177 78 180 75 184 72 186 70 189 66 192 62 194 59 196 55 198 51 200 47 202 42 203 38 205 34 206 30 208 26 210 20 212 16 213 12 215 8 217 4 219 0M304,0 308 2 311 4 314 6 318 10 320 12 323 16 325 20 326 24 327 30 328 36 327 42 326 46 324 51 322 55 320 58 316 62 314 64 310 68 306 70 303 72 299 74 294 76 290 77 284 78 280 78 276 78 270 77 266 76 262 74 258 71 255 68 252 64 250 60 249 56 248 50 248 46 248 40 248 36 249 30 250 26 252 22 254 18 256 14 259 10 262 7 266 4 269 2 273 0'/%3E%3C/svg%3E")}
.gcard:nth-child(4n) .gtile{--topo:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 240' preserveAspectRatio='xMaxYMin slice' fill='none' stroke='%23fff' stroke-linejoin='round'%3E%3Cpath stroke-opacity='.16' stroke-width='1' d='M44,0 45 4 47 8 50 12 52 14 56 17 60 18 66 20 70 20 76 20 80 20 86 18 90 17 94 15 98 13 101 10 104 6 106 3M0,98 1 96 2 94 2 92 2 92 3 90 3 88 3 86 3 84 3 82 3 80 3 78 2 76 2 74 2 74 1 72 1 70 0 69M398,227 394 229 390 230 385 232 381 234 376 236 372 238M19,238 19 232 19 226 20 220 21 216 22 210 23 206 24 201 26 196 27 192 29 188 31 184 33 180 35 176 37 172 39 168 41 164 43 160 45 156 47 152 48 148 50 143 51 138 52 134 54 128 54 124 55 118 56 112 56 108 57 102 58 96 59 92 60 87 62 83 64 79 67 76 70 73 74 70 77 68 81 66 86 64 90 63 94 62 100 60 104 59 110 58 114 57 119 56 124 54 128 53 132 50 135 48 138 44 140 40 142 36 143 32 144 26 145 22 145 16 146 12 147 6 148 0M258,238 254 237 248 236 242 236 236 237 230 237 224 238M398,205 393 206 388 207 382 208 377 208 372 208 366 208 362 208 356 207 350 206 346 206 340 204 336 203 331 202 326 201 320 200 316 200 310 199 304 199 298 199 292 199 286 199 280 200 274 200 270 201 264 201 260 202 254 204 250 205 246 206 241 208 236 210 232 211 228 213 224 214 220 216 214 218 210 220 206 221 202 222 197 224 192 226 188 227 184 229 180 230 176 232 171 234 168 236M33,238 34 232 35 228 36 222 37 218 38 213 40 208 41 204 43 200 44 196 46 192 48 187 50 183 52 179 54 175 56 171 58 167 60 163 62 159 64 155 66 151 68 147 70 143 72 139 74 135 76 131 78 127 80 123 82 120 84 116 87 112 90 108 92 106 96 102 99 100 103 98 107 96 112 94 116 94 122 93 128 92 134 92 140 92 146 92 152 92 156 92 162 90 166 88 169 86 172 82 174 78 175 74 176 68 176 64 176 60 175 54 175 48 174 42 173 38 173 32 172 26 172 22 172 16 172 12 173 6 174 0M398,61 396 66 395 70 394 76 393 80 393 86 393 92 394 98 396 102 398 104M398,162 394 163 390 164 384 165 378 164 374 163 370 162 364 161 360 160 354 159 348 160 344 160 338 161 332 162 328 163 322 164 318 165 312 165 306 166 302 166 296 166 290 166 284 166 280 166 274 165 268 164 264 164 258 163 254 162 248 161 242 160 238 160 232 159 226 159 220 160 216 161 212 163 209 166 206 169 203 172 200 175 197 178 194 180 190 183 186 186 183 188 180 190 176 193 172 195 168 198 165 200 162 202 158 206 155 208 152 211 149 214 146 217 144 220 140 224 138 227 136 230 133 234 130 238M53,238 54 232 54 228 55 222 56 218 58 213 60 208 61 204 63 200 65 196 66 192 68 188 71 184 73 180 75 176 78 172 80 168 82 165 84 162 87 158 90 155 93 152 96 148 99 146 102 143 106 140 110 138 114 136 118 135 123 134 128 134 134 134 138 134 144 136 148 137 153 138 158 139 162 141 168 142 172 143 178 144 182 145 188 145 194 145 198 144 203 142 206 139 208 136 210 130 211 126 212 120 212 116 213 110 213 104 213 98 212 92 212 87 212 82 211 76 210 70 210 66 209 60 208 54 208 50 207 44 207 38 207 32 207 26 207 20 208 15 209 10 211 6 212 2M393,0 394 4 396 10 396 14 396 20 396 24 395 30 394 36 393 40 392 44 390 50 389 54 388 58 386 64 385 68 383 72 382 76 380 82 379 86 378 90 376 96 375 100 374 104 372 109 370 114 369 118 367 122 365 126 362 130 360 132 356 136 353 138 350 140 346 143 342 145 338 147 334 148 330 150 324 152 320 153 316 154 310 155 304 156 298 156 292 156 286 155 280 154 276 153 272 152 266 150 262 149 258 147 254 145 250 143 246 140 244 138 240 134 238 132 235 128 233 124 232 120 230 115 228 110 227 106 226 100 225 96 224 90 224 86 223 80 222 74 221 70 221 64 220 58 220 54 219 48 219 42 219 36 220 30 220 26 221 20 222 16 224 11 226 7 228 3 230 0M62,238 63 232 63 226 64 222 66 216 67 212 68 208 70 204 72 199 74 195 76 191 78 188 80 184 83 180 86 176 88 173 91 170 94 166 96 164 100 161 104 158 107 156 111 154 116 152 120 152 126 152 130 152 135 154 139 156 142 158 146 161 148 164 151 168 152 173 152 177 151 182 150 186 148 190 146 194 143 198 141 202 139 206 136 210 134 214 132 217 130 220 128 224 125 228 123 232 120 236M379,0 381 4 383 8 384 12 385 18 386 24 385 30 385 36 384 40 383 46 382 50 380 56 379 60 378 64 376 69 374 74 373 78 372 82 370 86 368 91 366 96 364 100 363 104 361 108 358 112 356 116 354 119 352 122 348 126 346 128 342 132 339 134 336 136 332 138 328 140 324 142 318 144 314 145 308 146 304 146 298 146 292 146 288 145 282 144 278 143 274 141 270 140 266 138 262 135 258 132 255 130 252 127 250 124 247 120 244 116 242 112 240 108 239 104 238 100 236 94 235 90 234 86 233 80 232 75 231 70 231 64 230 58 230 54 230 48 230 42 230 38 231 32 232 26 233 22 235 18 237 14 239 10 242 6 244 3 247 0M74,238 73 232 73 226 74 221 75 216 77 212 78 208 80 204 82 200 84 196 87 192 90 188 92 185 95 182 98 179 102 176 106 174 110 172 114 172 118 172 122 174 126 178 128 182 128 186 128 192 127 196 126 201 124 206 123 210 121 214 119 218 117 222 114 226 112 230 110 233 108 236M345,0 349 2 352 4 356 7 359 10 362 13 364 17 366 21 368 26 368 30 369 36 369 42 368 47 367 52 366 58 365 62 364 66 362 71 360 76 359 80 357 84 355 88 353 92 351 96 349 100 346 104 344 107 342 110 338 114 336 116 332 119 328 122 325 124 321 126 316 128 312 129 306 130 300 130 294 129 290 128 285 126 281 124 278 122 274 119 270 116 268 114 264 110 262 107 260 104 258 100 256 96 254 91 252 86 251 82 250 76 249 72 249 66 248 60 248 54 249 48 250 42 250 38 252 33 254 28 256 24 258 21 260 18 264 14 266 12 270 9 274 6 277 4 281 2 286 0M316,4 320 4 326 5 332 6 336 7 340 9 344 11 348 13 351 16 354 19 356 22 358 26 360 32 361 36 361 42 361 48 360 54 359 58 358 64 357 68 355 72 354 76 352 81 350 85 348 89 346 93 344 96 341 100 338 104 336 106 332 110 330 112 326 115 322 117 318 119 314 120 308 121 302 121 296 120 292 119 288 118 284 116 280 113 277 110 274 107 271 104 268 100 266 96 264 92 262 88 261 84 260 80 258 74 258 70 257 64 257 58 257 52 258 48 259 42 261 38 262 34 265 30 267 26 270 23 273 20 276 17 280 14 284 12 288 10 292 8 296 7 300 6 306 5 312 4 316 4M310,14 316 14 322 14 326 15 331 16 336 18 340 20 343 22 346 25 348 28 350 32 352 36 353 42 354 48 353 54 352 60 351 64 350 69 348 74 347 78 345 82 343 86 340 90 338 93 336 96 333 100 330 103 326 106 323 108 319 110 314 112 310 113 304 113 298 112 294 111 290 109 286 106 283 104 280 101 278 98 275 94 273 90 271 86 269 82 268 78 267 72 266 66 266 62 266 58 267 52 268 47 270 42 272 38 274 34 276 31 279 28 282 25 286 22 290 20 294 18 298 17 302 15 308 14M306,38 312 36 318 36 324 38 328 40 330 42 333 46 335 50 336 54 336 60 336 64 334 70 332 74 330 78 328 81 326 84 322 87 318 90 314 92 310 92 305 92 300 90 297 88 294 85 291 82 289 78 288 74 287 68 287 62 288 56 290 52 292 48 294 45 298 42 301 40 305 38M312,56 316 56 320 60 320 64 319 68 316 72 312 73 307 72 305 68 305 62 308 58 311 56'/%3E%3Cpath stroke-opacity='.3' stroke-width='1.6' d='M398,185 394 186 388 187 382 187 376 187 370 186 366 185 361 184 356 183 352 181 346 180 342 179 336 178 330 178 324 178 318 178 312 179 306 179 300 179 294 180 288 180 282 180 276 180 270 180 264 180 260 180 254 181 248 182 244 183 240 184 235 186 231 188 227 190 223 192 219 194 216 196 212 198 208 200 204 202 200 204 195 206 190 208 186 210 182 211 178 213 174 215 170 217 166 219 162 222 158 224 156 226 152 229 149 232 146 235 143 238M44,238 44 234 45 228 46 224 47 218 49 214 50 210 52 204 54 200 55 196 57 192 59 188 61 184 63 180 65 176 67 172 69 168 72 164 74 160 76 157 78 153 80 150 83 146 86 142 88 139 90 136 94 132 96 130 100 126 103 124 106 122 110 120 114 118 120 116 124 116 130 115 136 115 142 116 146 116 152 117 158 118 164 118 170 118 176 117 180 115 184 113 188 110 190 108 192 104 194 100 196 94 196 90 197 84 197 78 197 72 196 66 196 62 195 56 194 50 194 46 193 40 192 34 192 30 191 24 191 18 192 12 193 8 194 3M364,0 366 2 369 6 372 10 374 14 375 18 376 22 377 28 377 34 376 40 376 44 374 50 373 54 372 60 371 64 369 68 368 72 366 78 364 82 363 86 361 90 359 94 357 98 355 102 353 106 350 110 348 113 346 116 342 120 340 122 336 126 333 128 330 130 326 132 322 134 316 136 312 137 306 138 300 138 294 137 288 136 284 135 280 133 276 132 272 129 268 127 265 124 262 121 259 118 256 114 254 112 252 108 250 104 248 100 246 95 244 90 243 86 242 80 241 76 240 70 240 66 239 60 239 54 239 48 240 42 240 38 242 32 243 28 244 24 246 20 249 16 251 12 254 9 257 6 260 3 264 0M100,206 103 208 102 213 100 217 97 220 93 220 93 214 95 210 98 206M316,24 320 24 326 25 330 27 334 29 338 32 340 34 342 38 344 42 345 48 346 54 345 60 344 65 343 70 341 74 339 78 337 82 335 86 332 90 330 92 326 96 323 98 320 100 316 102 310 103 304 103 298 102 294 100 291 98 288 95 285 92 282 88 280 84 278 80 277 76 276 71 276 66 276 60 276 56 278 50 279 46 282 42 284 39 286 36 290 33 294 30 298 28 302 26 306 25 312 24 316 24'/%3E%3C/svg%3E")}
.gtile__n{position:relative;z-index:1;font-family:var(--font-display);font-weight:900;font-size:clamp(1.55rem,1.2rem + 1.2vw,2.1rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.gtile__n.is-long{font-size:clamp(1.2rem,1rem + .8vw,1.55rem)}
.gtile__k{position:relative;z-index:1;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.gcard__body{display:flex;flex-direction:column;gap:6px;padding:18px 22px 20px;flex:1}
.gcard__when{align-self:flex-start;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:2.05;color:var(--gc)}
/* each wrapped line gets its own pill instead of one lumpy blob */
.gcard__when>span{padding:.28em .75em;border-radius:100px;background:color-mix(in srgb,var(--gc) 12%,transparent);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.gcard[hidden]{display:none!important}
.gcard__name{font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--navy);margin-top:4px}
.gcard__lead{color:var(--ink-soft);font-size:.95rem}
.gcard__study,.gcard__sched{display:flex;gap:6px;align-items:center;color:var(--muted);font-size:.88rem}
.gcard__study svg,.gcard__sched svg{color:var(--gc);flex:none}
.gcard__more{margin-top:auto;padding-top:12px;font-weight:700;font-size:.9rem;color:var(--gc)}
.gcard__more .arrow{display:inline-block;transition:transform .35s var(--ease-out)}
.gcard--v2:hover .gcard__more .arrow{transform:translateX(5px)}
.gcard--v2:hover .gtile::after{transform:scale(1.08);transition:transform .8s var(--ease-out)}
/* Sunday mornings: its own band, clearly not a Connect Group */
.gsun{margin-top:var(--space-2xl,48px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(22px,3vw,36px);border-radius:26px;background:var(--paper);border:1px dashed color-mix(in srgb,#6a5acd 45%,transparent)}
.gsun__head h3{font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);margin:8px 0 10px}
.gsun__head p:not(.eyebrow){color:var(--ink-soft)}
.gsun__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.gcard--wide .gcard__open{flex-direction:row}
.gcard--wide .gtile{min-height:0;width:42%;flex:none}
@media (max-width:760px){.gsun{grid-template-columns:1fr}.gcard--wide .gcard__open{flex-direction:column}.gcard--wide .gtile{width:auto;min-height:120px}}
/* the sheet */
.gsheet{border:0;padding:0;margin:auto;width:min(620px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 40px 90px rgba(13,37,65,.35);overflow:auto}
.gsheet::backdrop{background:rgba(9,24,34,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.gsheet[open]{animation:gsIn .38s var(--ease-out) both}
.gsheet[open]::backdrop{animation:gsFade .3s ease both}
.gsheet.is-closing{animation:gsOut .18s ease-in both}
@keyframes gsIn{from{opacity:0;transform:translateY(24px) scale(.98)}}
@keyframes gsOut{to{opacity:0;transform:translateY(14px) scale(.98)}}
@keyframes gsFade{from{opacity:0}}
.gsheet__in{position:relative;padding:clamp(22px,4vw,36px)}
.gsheet__x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--paper);font-size:1.4rem;line-height:1;cursor:pointer;color:var(--navy)}
.gsheet__t{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:6px 48px 16px 0}
.gsheet__facts{display:grid;gap:10px;margin:0 0 18px}
.gsheet__facts{grid-template-columns:max-content 1fr;column-gap:18px}
.gsheet__facts div{display:contents}
.gsheet__facts dt{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan-deep,var(--cyan));padding-top:3px}
.gsheet__facts dd{margin:0}
.gsheet__facts a{color:inherit;text-underline-offset:3px}
.gsheet__sched{margin:0 0 18px;padding:14px 16px;border-radius:16px;background:var(--cream-2)}
.gsheet__sched h3{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px}
.gsheet__sched ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gsheet__sched li{padding:.35em .8em;border-radius:100px;background:var(--paper);font-weight:700;font-size:.88rem}
.gsheet__note{color:var(--muted);margin:0 0 18px}
.gsheet__form{border-top:1px solid var(--line);padding-top:18px;display:grid;gap:12px}
.gsheet [hidden]{display:none!important}
.gsheet__form h3{font-size:1.35rem;margin:0}
.gsheet__hint{color:var(--muted);margin:-6px 0 4px;font-size:.92rem}
.gsheet__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gsheet .field{display:grid;gap:6px;font-weight:700;font-size:.9rem}
.gsheet .field i{font-style:normal;color:var(--cyan-deep,var(--cyan))}
.gsheet .field input,.gsheet .field textarea{font:inherit;font-weight:400;padding:12px 14px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);min-height:48px}
.gsheet .field input:focus,.gsheet .field textarea:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 4px color-mix(in srgb,var(--cyan) 20%,transparent)}
.gsheet__send{justify-self:start}
.gsheet__err{color:#b3261e;margin:0}
.gsheet__done{text-align:center;padding:18px 0 4px}
.gsheet__done h3{font-size:1.5rem;margin:0 0 6px}
.gsheet__done p{color:var(--ink-soft);margin:0 0 16px}
.gsheet__ext{margin-top:6px}
@media (max-width:520px){.gsheet__row{grid-template-columns:1fr}.gsheet{margin:auto 0 0;width:100vw;max-width:100vw;border-radius:26px 26px 0 0;max-height:92dvh}}
/* ministries: the next event for Women's Ministry and Senior Adults */
.gmin__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(16px,2vw,24px)}
.gmin__card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);border-radius:24px;overflow:hidden;background:var(--paper);text-decoration:none;color:inherit;box-shadow:0 1px 0 var(--line),0 12px 30px rgba(13,37,65,.08);transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out)}
.gmin__card:hover{transform:translateY(-5px);box-shadow:0 24px 48px rgba(13,37,65,.15)}
.gmin__img{position:relative;margin:0;background:var(--navy);min-height:170px}
.gmin__img img{width:100%;height:100%;object-fit:cover;display:block}
.gmin__body{padding:20px 22px;display:flex;flex-direction:column;gap:6px}
.gmin__body h3{font-size:1.2rem;margin:2px 0}
.gmin__when{font-weight:700;color:var(--navy);margin:0}
.gmin__where{color:var(--muted);margin:0;font-size:.92rem}
.gmin__go{margin-top:auto;padding-top:10px;font-weight:700;color:var(--cyan-deep,var(--cyan))}
@media (max-width:560px){.gmin__card{grid-template-columns:1fr}.gmin__img{aspect-ratio:16/9;min-height:0}}
@media (prefers-reduced-motion:reduce){.gsheet[open],.gsheet.is-closing{animation:none}}

/* ministry card with no flyer: the ministry's name as the graphic */
.gmin__img--mark{background:radial-gradient(120% 90% at 85% 10%,rgba(255,255,255,.16),transparent 55%),linear-gradient(150deg,#2c4a6e,#13233b);display:flex;align-items:flex-end}
.gmin__mark{position:relative;z-index:1;padding:18px;color:#f4f1ea;font-weight:800;font-size:clamp(1.2rem,2.4vw,1.6rem);line-height:1.05;text-transform:uppercase;letter-spacing:.01em}

/* Photo galleries: a short row fills the width instead of leaving empty
   columns, and phones get two photos per row (an odd last photo runs wide). */
.pbgallery{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));}
@media (max-width:600px){
  .pbgallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .pbgallery__item{border-radius:12px;}
  .pbgallery__item:last-child:nth-child(odd){grid-column:1/-1;}
  .pbgallery__item:last-child:nth-child(odd) img{aspect-ratio:2/1;}
}

/* Kidz headers: no floating shapes. */
.kfloat{display:none !important;}

/* Co-Ed connect groups */
.gcard--mixed{--gc:#7b4fa0}
.gcard__open--static{cursor:default}

/* ---- Page header: three photos side by side (October 2026) ---------------
   The words keep their place on the left; the photos stand to the right as
   three tilted cards, the middle one raised. Kidz gets white borders and a
   coloured offset shadow on each. Phones: words, then the three in a row. */
.banner--trio .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:clamp(28px,4vw,72px);}
.banner--trio .banner__inner{max-width:620px;padding-top:clamp(130px,15vw,190px);padding-bottom:clamp(70px,9vw,120px);}
.btrio{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.3vw,18px);align-items:center;padding:clamp(120px,13vw,170px) 0 clamp(64px,8vw,110px);}
.btrio--2{grid-template-columns:repeat(2,minmax(0,1fr));}
.btrio__f{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:3/4;background:rgba(255,255,255,.18);box-shadow:0 22px 44px -22px rgba(0,0,0,.5);translate:0 var(--ty,0px);rotate:var(--rot,0deg);}
.btrio__f:nth-child(1){--ty:28px;--rot:-3deg;}
.btrio__f:nth-child(2){--ty:-22px;--rot:1.5deg;z-index:1;}
.btrio__f:nth-child(3){--ty:34px;--rot:3.5deg;}
.btrio__f img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block;}
.banner--trio.banner--kids .banner__inner{padding-top:clamp(150px,16vw,200px);}
.banner--kids .btrio__f{border:6px solid #fff;box-shadow:9px 11px 0 var(--sh,var(--kid-aqua)),0 24px 40px -22px rgba(0,0,0,.45);}
.banner--kids .btrio__f:nth-child(2){--sh:var(--kid-sun);}
.banner--kids .btrio__f:nth-child(3){--sh:var(--kid-orange-deep);}
@media (hover:hover){.btrio__f{transition:translate .5s cubic-bezier(.22,1,.36,1),rotate .5s cubic-bezier(.22,1,.36,1),scale .5s cubic-bezier(.22,1,.36,1);}.btrio__f:hover{translate:0 calc(var(--ty,0px) - 8px);rotate:0deg;scale:1.03;}}
@media (max-width:860px){
  .banner--trio .wrap{grid-template-columns:minmax(0,1fr);}
  .banner--trio .banner__inner,.banner--trio.banner--kids .banner__inner{padding-bottom:var(--space-lg);}
  .btrio{padding:0 4px clamp(76px,16vw,110px);gap:10px;}
  .btrio__f{border-radius:18px;}
  .banner--kids .btrio__f{border-width:4px;box-shadow:5px 6px 0 var(--sh,var(--kid-aqua)),0 16px 30px -18px rgba(0,0,0,.45);}
  .btrio__f:nth-child(1){--ty:12px;}
  .btrio__f:nth-child(2){--ty:-6px;}
  .btrio__f:nth-child(3){--ty:16px;}
}
.banner--trio.banner--kids::after{top:auto;}   /* the scalloped edge belongs at the foot of the header */

/* ---- Home hero: the welcome over two gliding rows of photos (October 2026) ----
   Replaces the floating bubbles. Rows drift in opposite directions, pause
   under a hand, fade out at the sides, and sit still for reduced motion. */
.collage--strip{display:grid;grid-template-columns:minmax(0,1fr);place-items:initial;align-content:center;gap:clamp(28px,4vw,48px);min-height:0;padding:clamp(108px,11vw,140px) 0 clamp(36px,5vw,60px);background:radial-gradient(80% 70% at 85% 0%,color-mix(in srgb,var(--teal) 32%,transparent),transparent 60%),var(--navy);}
.collage--strip .collage__head{padding-top:0;margin:0 auto;}
.hstrip{display:grid;gap:12px;min-width:0;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);}
.hstrip__row{display:flex;gap:12px;width:max-content;animation:hstrip var(--t,80s) linear infinite;}
.hstrip__row--rev{animation-direction:reverse;}
.hstrip:hover .hstrip__row{animation-play-state:paused;}
.hstrip__tile{flex:none;height:clamp(118px,15vw,200px);border-radius:18px;overflow:hidden;background:color-mix(in srgb,#fff 8%,var(--navy));}
.hstrip__tile--s{aspect-ratio:1;}
.hstrip__tile--n{aspect-ratio:4/5;}
.hstrip__tile--w{aspect-ratio:16/10;}
.hstrip__tile img{display:block;width:100%;height:100%;object-fit:cover;}
@keyframes hstrip{to{transform:translateX(-25%)}}
@media (max-width:820px){.collage--strip{padding-top:104px;}.hstrip,.hstrip__row{gap:10px;}.hstrip__tile{border-radius:14px;}}
@media (prefers-reduced-motion:reduce){.hstrip__row{animation:none;}}

/* ---- Split block with no photo: a welcome bar (October 2026) ---------------
   Heading on the left, the words and the button on the right; one column on
   phones. Keeps the card look when "card" is on. */
.split--bar{grid-template-columns:minmax(0,1fr);}
.split__copy--bar{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(20px,4vw,64px);align-items:center;}
.split__copy--bar .sbar__head h2{margin:0;font-size:clamp(2rem,1.4rem + 2.4vw,3.2rem);line-height:1;}
.split__copy--bar .sbar__body{display:grid;gap:var(--space-md);justify-items:start;}
.split__copy--bar .sbar__body p{margin:0;font-size:clamp(1rem,.95rem + .25vw,1.12rem);line-height:1.65;}
.split__copy--bar .sbar__body .btn{margin-top:var(--space-xs,4px);}
.split--card.split--bar{padding:clamp(26px,5vw,56px);}
@media (max-width:860px){.split__copy--bar{grid-template-columns:minmax(0,1fr);}}

/* ---- Ministry cards and event rows: the whole flyer, a date you can read ----
   October 2026. The flyers are made 16:9 in Canva, so they get a 16:9 frame
   and nothing is cropped or covered. The date moves off the flyer into a
   calendar tile beside the title, in colours that hold up in dark mode too. */
.gmin__card{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;}
.gmin__img{aspect-ratio:16/9;min-height:0;}
.gmin__img--mark{aspect-ratio:16/9;}
.gmin__body{padding:20px 22px 22px;gap:8px;}
.gmin__body .eyebrow{margin:0;}
.gmin__row{display:flex;gap:14px;align-items:flex-start;}
.gmin__row h3{margin:0 0 4px;}
.gmin__cal{flex:none;display:grid;justify-items:center;align-content:center;width:58px;min-height:62px;padding:6px 4px;border-radius:14px;background:var(--navy);color:#fff;font-family:var(--font-display);line-height:1;}
.gmin__cal small{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-bright,#6fd3e0);}
.gmin__cal b{font-size:1.7rem;font-weight:800;margin-top:4px;}
.gmin__when{color:var(--ink);font-size:1rem;line-height:1.45;}
.gmin__more{margin:2px 0 0;color:var(--ink-soft,var(--muted));font-size:.92rem;line-height:1.5;}
.gmin__more span{display:block;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
html.dark .gmin__cal{background:var(--cyan);color:#062023;}
html.dark .gmin__cal small{color:#062023;}

.vlist__month{margin:var(--space-md) 0 calc(var(--space-sm) * -1);font-family:var(--font-display);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-deep);}
.vlist__month:first-child{margin-top:0;}
@media (min-width:641px){
  .vlist .vrow--when{grid-template-columns:auto auto minmax(0,1fr) auto;}
  .vlist .vrow--when .vrow__img{aspect-ratio:16/9;align-self:center;}
  .vlist .vrow--when .vrow__date{display:none;}
  .vrow--when .when{display:grid;justify-items:center;gap:3px;min-width:52px;}
  .vrow--when .when .d{font-size:1.9rem;}
  .vrow--when .when .m{font-size:.72rem;}
}
@media (max-width:640px){.vrow--when .when{display:none;}}
html.dark .vrow .when .d{color:var(--ink);}

/* Group cards: the day and time a touch bigger, and everything readable in dark mode */
.gcard__when{font-size:.78rem;}
html.dark .gcard__name{color:var(--ink);}
html.dark .gcard__when{color:color-mix(in srgb,var(--gc) 45%,#fff);}
html.dark .gcard__when>span{background:color-mix(in srgb,var(--gc) 26%,transparent);}
html.dark .gcard__more{color:color-mix(in srgb,var(--gc) 45%,#fff);}

/* ---- Home hero: one photo at a time (October 2026) ----------------------
   The church's photos fill the header and fade one into the next with a slow
   drift; a navy wash keeps the welcome readable on any of them. */
.hslide{position:relative;display:grid;align-items:center;min-height:min(88vh,860px);min-height:min(88svh,860px);padding:clamp(120px,14vw,170px) 0 clamp(72px,9vw,110px);overflow:hidden;background:var(--navy);color:#fff;isolation:isolate;}
.hslide__stage{position:absolute;inset:0;z-index:-1;}
.hslide__stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,24,44,.55) 0%,rgba(9,24,44,.35) 40%,rgba(9,24,44,.7) 100%);}
.hslide__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.4s var(--ease-out),transform 7s linear;}
.hslide__img.is-on{opacity:1;transform:scale(1);}
.hslide__copy{text-align:center;display:grid;justify-items:center;gap:clamp(14px,2vw,22px);}
.hslide__copy .eyebrow{margin:0;color:#fff;opacity:.92;font-size:clamp(.8rem,.72rem + .35vw,1rem);}
.hslide__copy h1{margin:0;max-width:16em;color:#fff;font-family:var(--font-display)!important;font-weight:800;text-transform:none;letter-spacing:-.02em;font-size:clamp(2.2rem,1.3rem + 3.1vw,4.4rem);line-height:1.08;text-wrap:balance;text-shadow:0 2px 30px rgba(0,0,0,.3);}
.hslide__cta{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-top:var(--space-sm);}
.hslide__dots{position:absolute;left:0;right:0;bottom:clamp(20px,3vw,32px);display:flex;justify-content:center;align-items:center;gap:2px;z-index:2;}
.hslide__dots button{all:unset;display:block;padding:8px 4px;border-radius:999px;cursor:pointer;}
.hslide__dots button::before{content:"";display:block;width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.45);box-shadow:0 1px 6px rgba(0,0,0,.25);transition:width .45s var(--ease-out),background-color .3s;}
.hslide__dots button:hover::before{background:rgba(255,255,255,.8);}
.hslide__dots button:focus-visible{outline:2px solid #fff;outline-offset:0;}
.hslide__dots button.is-on::before{width:30px;background:#fff;}
@media (max-width:640px){.hslide{min-height:72svh;}.hslide__dots button{padding:8px 3px;}.hslide__dots button::before{width:7px;height:7px;}.hslide__dots button.is-on::before{width:22px;}}
@media (prefers-reduced-motion:reduce){.hslide__img{transition:none;transform:none;}.hslide__dots button::before{transition:none;}}

/* Call-to-action band in teal, with a notch pointing down into it from above */
.section.invite--teal{position:relative;background:color-mix(in srgb,var(--cyan) 72%,var(--navy));}
.invite--teal::before{content:"";position:absolute;left:50%;top:0;width:0;height:0;border-left:30px solid transparent;border-right:30px solid transparent;border-top:28px solid var(--navy);transform:translateX(-50%);}
.invite--teal .eyebrow{color:#fff;opacity:.9;justify-content:center;}
.invite--teal h2 .serif{color:#fff;}
.invite--teal p{color:#fff;max-width:64ch;text-wrap:pretty;}
.invite--teal h2{text-wrap:balance;}
html.dark .section.invite--teal{background:color-mix(in srgb,var(--cyan) 45%,#0a1d1f);}
.invite--teal .eyebrow{margin-bottom:var(--space-sm);}

/* Section heads marked "center" were drawn left-aligned (the heading) but with a
   centred label and intro beside it; line them all up on the left (October 2026). */
.head.center .eyebrow{justify-content:flex-start;}
.head.center .eyebrow::after{display:none;}
.head.center .lead{margin-inline:0!important;}

/* Card logos (partner ministries on Missions) and the small label over a quote. October 2026. */
.card__logo{display:flex;align-items:center;justify-content:flex-start;height:88px;margin-bottom:var(--space-md);}
.card__logo img{max-height:100%;max-width:220px;width:auto;height:auto;object-fit:contain;}
html.dark .card__logo{background:#f4f7f7;border-radius:12px;padding:10px 14px;width:max-content;max-width:100%;}
.cards:has(> .card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr));}
@media (max-width:760px){.cards:has(> .card:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);}}
.quote__label{justify-content:center;margin-bottom:var(--space-md);}

/* teal band under the home slideshow: the notch is a window onto the photo, not a navy triangle
   (the slideshow's own <script> sits between the two sections, hence the "+ script +" forms) */
html:not(.app-mode) :is(.hslide + .section.invite--teal,.hslide + script + .section.invite--teal){margin-top:-28px;padding-top:calc(clamp(48px,6.5vw,92px) + 28px);z-index:1;
  clip-path:polygon(0 0,calc(50% - 30px) 0,50% 28px,calc(50% + 30px) 0,100% 0,100% 100%,0 100%);}
html:not(.app-mode) :is(.hslide + .section.invite--teal,.hslide + script + .section.invite--teal)::before{content:none;}
html:not(.app-mode) .hslide:is(:has(+ .invite--teal),:has(+ script + .invite--teal)) .hslide__dots{bottom:calc(clamp(20px,3vw,32px) + 28px);}
html:not(.app-mode) .hslide:is(:has(+ .invite--teal),:has(+ script + .invite--teal)) .hslide__stage::after{background:linear-gradient(180deg,rgba(9,24,44,.55) 0%,rgba(9,24,44,.35) 40%,rgba(9,24,44,.42) 82%,rgba(9,24,44,.2) 100%);}

/* Image + text, "Big word" style (5G values): GROW huge, the tagline under it in the label face */
.split--word .split__word{margin:0 0 var(--space-sm);font-size:clamp(3.4rem,2rem + 6vw,6.4rem);line-height:.9;color:var(--ink);}
.split--word .split__tag{margin:0 0 var(--space-lg);font-size:clamp(.82rem,.74rem + .35vw,1rem);letter-spacing:.2em;line-height:1.5;}
.split--word .split__tag::before{content:none;}

/* group finder: each kind on its own line (Women, then Men, then Co-Ed...) */
.gdir__grid > .gcard--row{grid-column-start:1;}

/* phones: the wide last photo in a gallery keeps faces (people sit high in most photos) */
@media (max-width:640px){.pbgallery__item:last-child:nth-child(odd) img{object-position:center 30%;}}

/* ==== Phone menu, October 2026: full-screen navy ====
   Solid navy (no glass), big page names in the heading face, sub-pages open
   underneath with a +/− mark, Sundays + address and the two buttons at the foot.
   Browser only; the installed app keeps its own sheet. */
@media (max-width:1040px){
  html:not(.app-mode) body .mobmenu{background:var(--navy)!important;-webkit-backdrop-filter:none;backdrop-filter:none;
    padding:96px 24px calc(28px + env(safe-area-inset-bottom)) 24px;}
  html:not(.app-mode) body .mobmenu::before{content:"";position:fixed;left:0;right:0;top:0;height:88px;z-index:2;
    background:linear-gradient(var(--navy) 62%,color-mix(in srgb,var(--navy) 0%,transparent));}
  html:not(.app-mode) body .mobmenu .menu{gap:0;}
  html:not(.app-mode) body .mobmenu .menu>li{background:none;border:0;border-bottom:1px solid rgba(255,255,255,.10);border-radius:0;box-shadow:none;overflow:visible;}
  html:not(.app-mode) body .mobmenu .menu>li:first-child{border-top:1px solid rgba(255,255,255,.10);}
  html:not(.app-mode) body .mobmenu .menu>li>a,html:not(.app-mode) body .mobmenu .menu>li>button{
    font-family:var(--font-cond);font-weight:400;text-transform:uppercase;letter-spacing:.01em;
    font-size:clamp(1.7rem,1.2rem + 2.6vw,2.3rem);line-height:1.05;padding:.42em 0;color:#fff;}
  html:not(.app-mode) body .mobmenu .menu>li>a::after{content:none;}
  html:not(.app-mode) body .mobmenu .menu>li>a[aria-current="page"],
  html:not(.app-mode) body .mobmenu .menu>li>button[aria-current="page"]{color:var(--cyan-bright,#7fdcf0);}
  /* + / − instead of the chevron */
  html:not(.app-mode) body .mobmenu .caret{display:none;}
  html:not(.app-mode) body .mobmenu .has-dropdown>button{position:relative;padding-right:44px;}
  html:not(.app-mode) body .mobmenu .has-dropdown>button::before,
  html:not(.app-mode) body .mobmenu .has-dropdown>button::after{content:"";position:absolute;right:6px;top:50%;width:18px;height:2.5px;margin-top:-1.25px;border-radius:2px;background:var(--cyan-bright,#7fdcf0);transition:transform .35s var(--ease-out);}
  html:not(.app-mode) body .mobmenu .has-dropdown>button::after{transform:rotate(90deg);}
  html:not(.app-mode) body .mobmenu .has-dropdown.open>button::after{transform:rotate(0deg);}
  html:not(.app-mode) body .mobmenu .has-dropdown.open{background:none;border-color:rgba(255,255,255,.10);box-shadow:none;}
  /* sub-pages */
  html:not(.app-mode) body .mobmenu .dropdown{padding:0;}
  html:not(.app-mode) body .mobmenu .has-dropdown.open .dropdown{padding:0 0 .7em;}
  html:not(.app-mode) body .mobmenu .dropdown li{margin:0;border:0;}
  html:not(.app-mode) body .mobmenu .dropdown a{font-family:var(--font-body);font-size:1.06rem;font-weight:500;color:rgba(255,255,255,.80)!important;padding:.62em 0 .62em 2px;background:none!important;}
  html:not(.app-mode) body .mobmenu .dropdown a::before{display:none!important;}
  html:not(.app-mode) body .mobmenu .dropdown a:active{color:#fff!important;padding-left:8px;}
  /* foot: when + where, then the buttons */
  html:not(.app-mode) body .mobmenu__tag{display:none;}
  html:not(.app-mode) body .mobmenu__info{display:grid;gap:4px;margin-top:auto;padding-top:28px;color:#fff;text-decoration:none;}
  html:not(.app-mode) body .mobmenu__when{font-family:var(--font-body);font-size:.74rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--cyan-bright,#7fdcf0);}
  html:not(.app-mode) body .mobmenu__where{font-size:.95rem;line-height:1.45;color:rgba(255,255,255,.78);}
  html:not(.app-mode) body .mobmenu__actions{margin-top:16px;padding-top:0;grid-template-columns:1fr 1fr;gap:10px;}
  html:not(.app-mode) body .mobmenu__actions .btn{min-height:50px;border-radius:100px;font-size:1rem;}
  html:not(.app-mode) body .mobmenu__actions .btn--ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);box-shadow:none;}
  body.menu-open .mobmenu__info{animation:rowIn .5s var(--ease-out) .3s backwards;}
}
.mobmenu__info{display:none;}
html.app-mode .mobmenu__info{display:none!important;}
html.dark:not(.app-mode) body .mobmenu{background:#071627!important;}
html.dark:not(.app-mode) body .mobmenu::before{background:linear-gradient(#071627 62%,transparent);}
@media (prefers-reduced-motion:reduce){body.menu-open .mobmenu__info{animation:none;}}

/* ==== Phone polish, October 2026 ==== */
@media (max-width:620px){
  /* small labels a touch bigger so they read on a phone */
  .eyebrow{font-size:.76rem;letter-spacing:.22em;}
  .footer h4{font-size:.8rem;}
  .brand__name span{font-size:.66rem;}

  /* page headers: words sit low on a darker fade, faces stay clear up top */
  .banner--photo:not(.banner--kids){align-items:flex-end;}
  .banner--photo:not(.banner--kids)::before{background:linear-gradient(180deg,rgba(9,24,44,.5) 0%,rgba(9,24,44,.12) 26%,rgba(9,24,44,.28) 46%,rgba(8,20,38,.86) 74%,rgba(8,20,38,.95) 100%)!important;}
  .banner--photo:not(.banner--kids) .banner__inner{padding-bottom:34px;}
  .banner--photo:not(.banner--kids) .banner__card .eyebrow{line-height:1.6;}

  /* "first Sunday" steps: one list, icon on the left, nothing tiny */
  .irow__grid{grid-template-columns:1fr;gap:22px;}
  .irow__it{display:grid;grid-template-columns:56px 1fr;column-gap:16px;align-items:start;text-align:left;padding:0;}
  .irow__ic{grid-row:1 / span 3;width:56px;height:56px;margin:0;}
  .irow__ic svg{width:26px;height:26px;}
  .irow__t{font-size:1.15rem;margin:4px 0 2px;}
  .irow__note{font-size:.74rem;margin-bottom:4px;}
  .irow__b{font-size:.95rem;line-height:1.55;max-width:none;margin:0;}

  /* footer: links you can actually tap, two columns side by side */
  .footer__grid{grid-template-columns:1fr 1fr;gap:28px 18px;}
  .footer__brand,.footer__contact{grid-column:1 / -1;}
  .footer ul{gap:0;}
  .footer ul a{display:block;padding:10px 0;font-size:1rem;}
  .footer .socials a{min-width:44px;min-height:44px;display:inline-grid;place-items:center;}

  /* messages: two to a row instead of one long column */
  .vidgrid{grid-template-columns:1fr 1fr;gap:12px;}
  .vidcard__title{font-size:.86rem;padding:10px 10px 2px;}
  .vidcard__date{font-size:.74rem;padding:0 10px 12px;}
  .vidcard__play{width:40px;height:40px;}
  .cards:has(> .card > figure){grid-template-columns:1fr 1fr;gap:12px;}
  .cards:has(> .card > figure) .card__body{padding:12px;}
  .cards:has(> .card > figure) .card h3{font-size:1rem;}
  .cards:has(> .card > figure) > :last-child:nth-child(odd){grid-column:auto;}

  /* the Next Steps button tucks away while you scroll down */
  .nspill.is-tucked{transform:translateY(150%);opacity:0;pointer-events:none;}
  body.menu-open .nspill{opacity:0;pointer-events:none;}
}

/* Give online (Square) — the navy band on /give: pick an amount, then Square's checkout */
.give-on{scroll-margin-top:90px;}
.give-on__card{max-width:880px;margin-inline:auto;text-align:center;display:grid;gap:var(--space-lg,28px);justify-items:center;padding:clamp(40px,6vw,72px) clamp(20px,5vw,64px);border-radius:var(--radius-lg,28px);background:var(--navy);color:#fff;box-shadow:0 30px 60px -30px rgba(13,37,65,.45);}
.give-on__head{display:grid;gap:12px;justify-items:center;}
.give-on__head .eyebrow{color:var(--cyan-bright);margin:0;}
.give-on h2{margin:0;color:#fff;font-size:clamp(2.2rem,1.6rem + 2.4vw,3.3rem);font-weight:900;line-height:1;}
.give-on__intro{margin:0;max-width:46ch;color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.55;}
.give-on__form{display:grid;gap:18px;justify-items:center;width:100%;}
.give-on__amts{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.give-on__amts legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.give-on__amt{position:relative;cursor:pointer;}
.give-on__amt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.give-on__amt span{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:52px;padding:0 20px;border-radius:999px;border:2px solid rgba(255,255,255,.35);font-family:var(--font-display);font-weight:800;font-size:1.12rem;color:#fff;transition:background-color .2s,border-color .2s,transform .25s var(--ease-out);}
.give-on__amt:hover span{border-color:rgba(255,255,255,.75);}
.give-on__amt input:checked + span{background:#fff;border-color:#fff;color:var(--navy);}
.give-on__amt input:focus-visible + span{outline:3px solid var(--cyan-bright);outline-offset:3px;}
.give-on__amt input:active + span{transform:scale(.97);}
.give-on__other{display:grid;gap:6px;justify-items:center;}
.give-on__other[hidden]{display:none;}
.give-on__other > span:first-child{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7);}
.give-on__dollar{display:flex;align-items:center;gap:6px;background:#fff;border-radius:14px;padding:0 16px;min-height:56px;}
.give-on__dollar b{font-family:var(--font-display);font-size:1.4rem;color:var(--navy);}
.give-on__dollar input{border:0;outline:0;background:transparent;width:7ch;font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--navy);-moz-appearance:textfield;}
.give-on__dollar input::-webkit-outer-spin-button,.give-on__dollar input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.give-on__dollar:focus-within{box-shadow:0 0 0 3px var(--cyan-bright);}
.give-on__go{min-height:56px;padding-inline:34px;font-size:1.08rem;}
.give-on__fine{margin:0;display:flex;align-items:center;gap:6px;justify-content:center;color:rgba(255,255,255,.66);font-size:.86rem;}
.give-on__note{margin:0;padding:12px 18px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff;font-size:.95rem;}
.give-on__done{display:flex;gap:16px;align-items:flex-start;text-align:left;padding:22px 24px;border-radius:var(--radius,18px);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);}
.give-on__done svg{flex:none;color:var(--cyan-bright);}
.give-on__done h3{margin:0 0 6px;color:#fff;font-size:1.3rem;}
.give-on__done p{margin:0;color:rgba(255,255,255,.8);}
@media (max-width:520px){.give-on__amt span{min-width:76px;min-height:48px;padding:0 14px;font-size:1.02rem;}}
@media (prefers-reduced-motion:reduce){.give-on__amt span{transition:none;}}
