:root{--navy:#061f31;--navy2:#082e47;--gold:#ca922f;--gold2:#e1b257;--paper:#f7f0e5;--paper2:#fbf7ef;--ink:#09253a;--muted:#58656f;--shadow:0 26px 65px rgba(6,31,49,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--paper2);color:var(--ink);line-height:1.5;overflow-x:hidden}img,svg{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}.container{width:min(1500px,calc(100% - 64px));margin-inline:auto}.wide-container{width:min(1540px,calc(100% - 64px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(252,249,243,.97);backdrop-filter:blur(18px);border-bottom:1px solid rgba(6,31,49,.08)}.header-inner{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand-horizontal{display:block;text-decoration:none;flex:0 0 auto}.brand-horizontal-image{width:430px;max-width:44vw;height:auto}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a{text-decoration:none;font-weight:680;font-size:.94rem;padding-block:12px;position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--gold);transform:scaleX(0);transition:.2s}.desktop-nav a:hover::after{transform:scaleX(1)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#fffdf8;text-decoration:none;font-weight:830;box-shadow:0 14px 30px rgba(189,127,30,.24);cursor:pointer}.button:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(189,127,30,.30)}.button-small{min-height:46px;font-size:.92rem}.button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid rgba(23,136,155,.34);outline-offset:3px}
.hero{position:relative;min-height:740px;overflow:hidden;color:#fff;background:linear-gradient(90deg,#041b2b 0%,#062438 52%,#082d43 100%)}.hero-photo-wrap{position:absolute;top:0;right:0;bottom:0;width:62%;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;pointer-events:none}.hero-church{height:96%;width:auto;max-width:none;object-fit:contain;object-position:center bottom;filter:saturate(.92) brightness(.86);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.22) 8%,rgba(0,0,0,.82) 18%,#000 27%,#000 76%,rgba(0,0,0,.82) 86%,rgba(0,0,0,.22) 94%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.22) 8%,rgba(0,0,0,.82) 18%,#000 27%,#000 76%,rgba(0,0,0,.82) 86%,rgba(0,0,0,.22) 94%,transparent 100%)}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 83% 18%,rgba(255,191,87,.22),transparent 28%),linear-gradient(90deg,rgba(3,23,36,.99) 0%,rgba(4,27,42,.94) 34%,rgba(4,32,49,.68) 52%,rgba(4,32,49,.18) 72%,rgba(4,32,49,.06) 100%)}.hero-content{position:relative;z-index:2;display:grid;align-items:center;min-height:740px;padding-block:68px}.hero-copy{width:min(760px,52vw)}.eyebrow-row{display:flex;align-items:center;gap:12px}.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.22em;font-size:1rem;font-weight:900;color:var(--gold2)}.eyebrow.gold{color:#b47d24}.eyebrow-line{width:70px;height:2px;background:linear-gradient(90deg,var(--gold2),rgba(224,178,87,.08))}.gold-line{background:linear-gradient(90deg,var(--gold),rgba(203,148,47,.08))}h1,h2{margin:0;font-family:Georgia,"Times New Roman",serif;letter-spacing:-.035em}h1{margin-top:18px;font-size:clamp(4rem,5.15vw,6.35rem);line-height:.985}h1 em{color:var(--gold2);font-weight:500;white-space:nowrap}.hero-lead{max-width:620px;margin:25px 0 0;font-size:1.26rem;color:rgba(255,255,255,.92)}.event-summary{display:grid;grid-template-columns:.92fr .72fr 1.35fr;gap:22px;max-width:800px;margin-top:29px}.summary-item{display:flex;align-items:center;gap:12px}.summary-icon{width:42px;height:42px;display:grid;place-items:center;color:var(--gold2);flex:0 0 auto}.summary-icon svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.summary-item strong,.summary-item small{display:block}.summary-item strong{font-size:.98rem}.summary-item small{margin-top:2px;color:rgba(255,255,255,.67);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.hero-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;max-width:710px;margin-top:23px}.hero-badges span{min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.25);border-radius:12px;background:rgba(5,37,56,.45);backdrop-filter:blur(7px);font-size:.82rem;font-weight:760}.hero-badges svg{width:25px;height:25px;flex:0 0 auto;fill:none;stroke:var(--gold2);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.hero-verse{max-width:650px;margin-top:18px;padding:16px 20px;border-left:3px solid var(--gold2);background:rgba(5,37,56,.28);backdrop-filter:blur(6px);border-radius:0 14px 14px 0;display:grid;grid-template-columns:76px 1fr;align-items:center;gap:15px}.hero-verse-fish{width:66px;height:auto}.hero-verse-copy blockquote{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:1.06rem;font-style:italic;line-height:1.4;color:rgba(255,255,255,.94)}.hero-verse-copy cite{display:block;margin-top:6px;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:rgba(255,255,255,.68);font-style:normal}
.section{padding-block:70px}.section-tight{padding-top:70px}.story{background:linear-gradient(180deg,#fbf6ed 0%,#f5eee1 100%)}.story-card,.registration-shell,.newcomers-card,.location-card{overflow:hidden;border-radius:20px;box-shadow:var(--shadow)}.story-card{display:grid;grid-template-columns:.49fr .51fr;background:#fff8ee}.story-copy{position:relative;padding:56px 52px 50px}.story-copy::before{content:"";position:absolute;left:-80px;top:-40px;width:260px;height:260px;opacity:.08;background:radial-gradient(ellipse at 50% 0,var(--gold) 0 22%,transparent 23%),radial-gradient(ellipse at 100% 50%,var(--gold) 0 22%,transparent 23%),radial-gradient(ellipse at 50% 100%,var(--gold) 0 22%,transparent 23%),radial-gradient(ellipse at 0 50%,var(--gold) 0 22%,transparent 23%);border-radius:50%}.story-copy h2{margin-top:16px;font-size:clamp(2.8rem,2.5vw,4.25rem);line-height:1.01}.short-gold-line{display:block;width:58px;height:3px;border-radius:99px;margin-top:20px;background:var(--gold)}.story-copy p{max-width:620px;margin:18px 0 0;color:var(--muted);font-size:1.1rem}.story-photo{position:relative;min-height:430px;background:url("/assets/community-sunset-hq.png") center/cover no-repeat}.story-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,248,238,.15),transparent 25%)}.story-words{position:absolute;right:34px;top:30px;color:#183256;font-family:"Segoe Script","Brush Script MT",cursive;font-size:2rem;line-height:1.06;transform:rotate(-4deg);text-shadow:0 1px 8px rgba(255,255,255,.65)}
.registration-shell{display:grid;grid-template-columns:.43fr .57fr;align-items:stretch;background:linear-gradient(135deg,#051d2f 0%,#07344b 100%)}.registration-copy{padding:42px 44px 38px;color:#fff;display:flex;flex-direction:column;justify-content:center}.registration-copy h2{margin-top:11px;font-size:clamp(3rem,4vw,3.75rem);line-height:.98}.registration-lead{max-width:370px;margin:8px 0 0;color:rgba(255,255,255,.77);font-size:1.5rem}.registration-accent{display:block;width:62px;height:3px;margin-top:24px;background:var(--gold2);border-radius:99px}.registration-form{align-self:center;margin:22px 22px 22px 0;padding:24px;border-radius:15px;background:#fffcf6;color:var(--ink);box-shadow:0 15px 38px rgba(0,0,0,.12)}.form-row{display:grid;gap:12px}.form-row.three{grid-template-columns:1.16fr 1fr 1fr}.field{margin-bottom:12px}.field label{display:block;margin-bottom:7px;font-size:.76rem;font-weight:850;color:#1a3243}.field input{width:100%;min-height:52px;padding:0 13px;border:1px solid rgba(6,31,49,.14);border-radius:9px;background:#fff;color:var(--ink)}.field input::placeholder{color:#9aa2a8}.consent{display:flex;align-items:flex-start;gap:10px;margin-top:3px;color:#55636c;font-size:.76rem}.consent input{width:17px;height:17px;margin-top:2px;flex:0 0 auto}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.submit-button{width:100%;margin-top:17px;border-radius:9px}.submit-button[disabled]{opacity:.7;cursor:wait}.form-message{min-height:22px;margin-top:11px;font-size:.82rem;font-weight:750}.form-message.success{color:#26784b}.form-message.error{color:#a52929}
.newcomers-card{display:grid;grid-template-columns:.53fr .47fr;background:#fff8ef}.newcomers-image{min-height:390px;background:url("/assets/chosen-portrait-hq.png") center 34%/cover no-repeat}.newcomers-copy{padding:52px 46px;display:flex;flex-direction:column;justify-content:center}.newcomers-label{display:flex;align-items:center;gap:12px}.play-icon{width:44px;height:44px;display:grid;place-items:center;border:2px solid var(--gold);border-radius:10px;color:var(--gold)}.play-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.newcomers-copy h2{margin-top:13px;font-size:clamp(2.55rem,3.25vw,4rem);line-height:1.01}.newcomers-copy p{margin:17px 0 0;color:var(--muted);font-size:1.2rem;max-width:610px}
.location-card{display:grid;grid-template-columns:.48fr .52fr;background:linear-gradient(135deg,#051d2f 0%,#07344b 100%)}.location-photo{min-height:360px;background:url("/assets/location-event-interior.png") center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,black 12%,black 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,black 12%,black 88%,transparent 100%)}.location-info{display:flex;flex-direction:column;justify-content:center;padding:42px 44px;color:#fff;background:radial-gradient(circle at 100% 0%,rgba(22,132,150,.22),transparent 28%),linear-gradient(140deg,#071f31 0%,#08354b 100%)}.location-heading{display:flex;gap:15px;align-items:flex-start}.location-pin{width:44px;height:44px;color:var(--gold2);flex:0 0 auto}.location-pin svg,.meta-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.location-heading h2{margin-top:9px;font-size:clamp(2.8rem,3.7vw,4.45rem);line-height:.99}.location-heading p{margin:8px 0 0;color:rgba(255,255,255,.78);font-size:1.08rem}.location-meta{display:grid;grid-template-columns:1fr 1fr 1.2fr;margin-top:29px;padding:18px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(5,34,51,.42)}.location-meta>div{display:flex;align-items:center;gap:12px;padding:0 17px;border-right:1px solid rgba(255,255,255,.13)}.location-meta>div:first-child{padding-left:0}.location-meta>div:last-child{padding-right:0;border-right:0}.meta-icon{width:34px;height:34px;flex:0 0 auto;color:var(--gold2)}.location-meta strong,.location-meta small{display:block}.location-meta strong{font-size:.95rem}.location-meta small{margin-top:2px;color:rgba(255,255,255,.67);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em}
.final-cta{position:relative;margin-top:72px;overflow:hidden;background:var(--navy);color:#fff}.final-cta-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,43,.99) 0%,rgba(5,28,43,.90) 47%,rgba(5,28,43,.60) 100%)}.final-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;padding-block:54px}.final-cta h2{font-size:clamp(2.6rem,3.2vw,4rem);line-height:1.01}.final-cta p{font-size:1.1rem;max-width:620px;margin:13px 0 0;color:rgba(255,255,255,.78)}
.footer{padding:0;background:#f7f0e3}.footer-inner{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}.footer-brand{display:block;text-decoration:none}.footer-brand-image{width:350px;max-width:52vw;height:auto}.footer-divider{width:1px;height:68px;background:rgba(165,113,29,.42)}.footer-motto{display:flex;align-items:center;gap:13px}.footer-motto-fish{width:52px;height:auto}.footer p{margin:0;color:#45525b;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.2rem}.mobile-sticky-cta{display:none}
@media(max-width:1100px){.container,.wide-container{width:min(100% - 40px,980px)}.desktop-nav{display:none}.brand-horizontal-image{width:300px;max-width:58vw}.hero-copy{width:min(680px,65vw)}h1{font-size:clamp(3.5rem,6vw,5.25rem)}.story-copy{padding:42px 34px}.registration-shell{grid-template-columns:1fr}.registration-form{margin:0 24px 24px}.newcomers-copy{padding:38px 32px}.location-info{padding:34px 30px}}
@media(max-width:760px){html{scroll-padding-top:80px}.container,.wide-container{width:calc(100% - 28px)}.header-inner{min-height:78px;gap:12px}.brand-horizontal-image{width:245px;max-width:70vw}.header-cta{display:none}.hero{min-height:860px}.hero-photo-wrap{top:0;right:-12%;bottom:auto;width:100%;height:45%;justify-content:center}.hero-church{height:100%;max-width:none;object-fit:contain;object-position:center top;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 88%,transparent 100%)}.hero-overlay{background:linear-gradient(180deg,rgba(4,28,43,.08) 0%,rgba(4,28,43,.42) 27%,rgba(4,28,43,.94) 48%,rgba(4,28,43,.99) 100%)}.hero-content{min-height:1024px;align-items:end;padding-top:400px;padding-bottom:30px}.hero-copy{width:100%}h1{font-size:clamp(3rem,12.6vw,4.4rem)}h1 em{white-space:normal}.hero-lead{font-size:1.05rem}.event-summary{grid-template-columns:1fr;gap:12px}.hero-badges{grid-template-columns:1fr;max-width:none}.hero-verse{grid-template-columns:58px 1fr;gap:12px;max-width:none;margin-top:18px;padding:15px 16px}.hero-verse-fish{width:50px}.hero-verse-copy blockquote{font-size:.98rem}.section{padding-block:56px}.section-tight{padding-top:14px}.story-card,.newcomers-card,.location-card{grid-template-columns:1fr}.story-copy{padding:32px 26px}.story-copy h2{font-size:2rem}.story-photo{min-height:300px}.story-words{font-size:1.55rem}.registration-copy{padding:31px 26px 28px}.registration-form{margin:0 14px 14px;padding:18px}.form-row.three{grid-template-columns:1fr}.newcomers-image{min-height:300px}.newcomers-copy{padding:30px 26px 34px}.newcomers-copy h2{font-size:2.55rem}.location-photo{min-height:280px;background-position:center 20%}.location-info{padding:30px 24px}.location-meta{grid-template-columns:1fr;gap:0}.location-meta>div{padding:12px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.location-meta>div:first-child{padding-top:0}.location-meta>div:last-child{padding-bottom:0;border-bottom:0}.final-cta-inner{grid-template-columns:1fr;padding-block:44px}.final-cta h2{font-size:2.45rem}.footer{padding-bottom:100px}.footer-inner{gap:18px}.footer-brand-image{width:275px;max-width:80vw}.footer-divider{display:none}.footer-motto{width:100%;justify-content:center}.footer-motto-fish{width:40px}.footer p{text-align:left}.mobile-sticky-cta{position:fixed;display:block;left:0;right:0;bottom:0;z-index:90;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:rgba(248,242,231,.96);border-top:1px solid rgba(7,31,48,.08);backdrop-filter:blur(14px)}.mobile-sticky-cta .button{width:100%;min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* ===== V13 precise visual refinements ===== */

/* 1) White panel should fade into the images */
.story-card{
  grid-template-columns: .49fr .51fr;
  background: #fff8ef;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.story-photo{
  position: relative;
  min-height: 430px;
  background: url("/assets/community-sunset-hq.png") center/cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, #000 22%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, #000 22%, #000 100%);
}
.story-photo::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width: 16%;
  background: linear-gradient(90deg, rgba(255,248,239,1) 0%, rgba(255,248,239,.88) 35%, rgba(255,248,239,0) 100%);
  pointer-events:none;
}

.newcomers-card{
  display:grid;
  grid-template-columns:.53fr .47fr;
  background:#fff8ef;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.newcomers-image{
  min-height:390px;
  background:url("/assets/chosen-portrait-hq.png") center 34%/cover no-repeat;
  -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 78%, rgba(0,0,0,.2) 91%, transparent 100%);
  mask-image: linear-gradient(90deg, #000 0%, #000 78%, rgba(0,0,0,.2) 91%, transparent 100%);
  position: relative;
}
.newcomers-image::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width: 16%;
  background: linear-gradient(90deg, rgba(255,248,239,0) 0%, rgba(255,248,239,.88) 65%, rgba(255,248,239,1) 100%);
  pointer-events:none;
}

/* 2) Location section: image to the right, darker, better mask, white box on top */
.location-card{
  position:relative;
  display:grid;
  grid-template-columns: .46fr .54fr;
  align-items:stretch;
  overflow:hidden;
  border-radius:22px;
  box-shadow: var(--shadow);
  background: linear-gradient(140deg,#071f31 0%,#08354b 100%);
  min-height: 420px;
}
.location-info{
  order:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding: 54px 44px;
  position: relative;
  z-index: 2;
  background:
    radial-gradient(circle at 0% 20%,rgba(225,179,91,.12),transparent 28%),
    linear-gradient(140deg,#071f31 0%,#08354b 100%);
}
.location-photo{
  order:2;
  min-height:420px;
  background:
    linear-gradient(0deg, rgba(7,31,49,.34), rgba(7,31,49,.34)),
    url("/assets/location-event-interior.png") center/cover no-repeat;
  filter: saturate(.88) brightness(.72);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, #000 24%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.18) 9%, #000 24%, #000 100%);
  position: relative;
}
.location-photo::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width: 15%;
  background: linear-gradient(90deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.65) 48%, rgba(255,255,255,0) 100%);
  pointer-events:none;
}

.location-floating-card{
  position:absolute;
  left: calc(46% - 70px);
  top: 50%;
  transform: translateY(-50%);
  width: min(330px, 34vw);
  background: rgba(255,255,255,.95);
  color: #0c2a3f;
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(6,31,49,.20);
  padding: 20px 20px 18px;
  z-index: 4;
  border: 1px solid rgba(8,46,71,.08);
  backdrop-filter: blur(10px);
}
.location-floating-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.45);
  pointer-events:none;
}
.location-floating-item + .location-floating-item{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(8,46,71,.10);
}
.location-floating-item strong{
  display:block;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#8a6726;
  margin-bottom:6px;
}
.location-floating-item span{
  display:block;
  font-size:.99rem;
  line-height:1.45;
  color:#173044;
  font-weight:600;
}
.location-meta{
  display:none !important;
}

/* Responsive */
@media (max-width: 1100px){
  .location-card{
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .location-info{
    order:1;
    padding: 42px 28px 24px;
  }
  .location-photo{
    order:2;
    min-height: 340px;
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.20) 0%, #000 16%, #000 100%);
    mask-image: linear-gradient(180deg, rgba(0,0,0,.20) 0%, #000 16%, #000 100%);
  }
  .location-photo::before{
    inset:0 0 auto 0;
    width:100%;
    height:14%;
    background: linear-gradient(180deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.5) 45%, rgba(255,255,255,0) 100%);
  }
  .location-floating-card{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:auto;
    margin: -34px 18px 18px;
    z-index:5;
  }
}

@media (max-width: 760px){
  .story-card,
  .newcomers-card{
    grid-template-columns: 1fr;
  }
  .story-photo{
    min-height: 300px;
    -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,.22) 0%, #000 18%, #000 100%);
    mask-image: linear-gradient(180deg, rgba(0,0,0,.22) 0%, #000 18%, #000 100%);
  }
  .story-photo::before{
    inset:0 0 auto 0;
    width:100%;
    height:14%;
    background: linear-gradient(180deg, rgba(255,248,239,1) 0%, rgba(255,248,239,.88) 38%, rgba(255,248,239,0) 100%);
  }
  .newcomers-image{
    min-height: 280px;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 82%, rgba(0,0,0,.2) 93%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 82%, rgba(0,0,0,.2) 93%, transparent 100%);
  }
  .newcomers-image::after{
    inset:auto 0 0 0;
    width:100%;
    height:14%;
    background: linear-gradient(180deg, rgba(255,248,239,0) 0%, rgba(255,248,239,.88) 65%, rgba(255,248,239,1) 100%);
  }
}


/* ===== V14 precision refinements ===== */

/* Header */
.header-inner{
  min-height: 88px;
  align-items: center;
}
.brand-horizontal{
  display:flex;
  align-items:center;
}
.brand-horizontal-image{
  width: 200px !important;
  max-width: 200px !important;
  height: auto;
}
.desktop-nav{
  height: 88px;
  display:flex;
  align-items:center;
  gap:34px;
}
.desktop-nav a{
  height:88px;
  display:flex;
  align-items:center;
  padding:0 2px;
  line-height:1;
  font-size:.95rem;
  font-weight:720;
  color:#173044;
  position:relative;
}
.desktop-nav a::after{
  bottom:24px;
  height:2px;
  border-radius:999px;
}
.desktop-nav a:first-child{
  color:#0a2b40;
  font-weight:820;
}
.desktop-nav a:first-child::after{
  transform:scaleX(1);
  background:var(--gold);
}
.desktop-nav a:hover{
  color:#9a6b1e;
}

/* Hero: remove top gap above church and soften side fade */
.hero-photo-wrap{
  top:0;
  bottom:0;
  align-items:flex-start;
}
.hero-church{
  height:100%;
  width:auto;
  max-width:none;
  object-fit:contain;
  object-position:center top;
  filter:saturate(.92) brightness(.88);
  -webkit-mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.32) 5%,
    rgba(0,0,0,.72) 11%,
    #000 18%,
    #000 83%,
    rgba(0,0,0,.72) 90%,
    rgba(0,0,0,.32) 96%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to right,
    transparent 0%,
    rgba(0,0,0,.32) 5%,
    rgba(0,0,0,.72) 11%,
    #000 18%,
    #000 83%,
    rgba(0,0,0,.72) 90%,
    rgba(0,0,0,.32) 96%,
    transparent 100%
  );
}
.hero-overlay{
  background:
    radial-gradient(circle at 84% 18%,rgba(255,191,87,.16),transparent 27%),
    linear-gradient(
      90deg,
      rgba(3,23,36,.99) 0%,
      rgba(4,27,42,.92) 31%,
      rgba(4,32,49,.58) 49%,
      rgba(4,32,49,.12) 70%,
      rgba(4,32,49,.03) 100%
    );
}

/* Hero title: guarantee 3 lines on desktop */
.hero-copy{
  width:min(850px,58vw);
}
.hero-copy h1{
  font-size:clamp(3.7rem,3.45vw,5.8rem);
  line-height:1.1;
  letter-spacing:-.035em;
}
.hero-copy h1 em{
  white-space:nowrap;
}

/* Verse: larger fish + text, no text background */
.hero-verse{
  max-width:760px;
  margin-top:22px;
  padding:12px 0 8px;
  border-left:0;
  background:transparent !important;
  backdrop-filter:none !important;
  border-radius:0;
  display:grid;
  grid-template-columns:100px 1fr;
  gap:20px;
  align-items:center;
}
.hero-verse-fish{
  width:94px;
  height:auto;
}
.hero-verse-copy{
  background:transparent;
}
.hero-verse-copy blockquote{
  font-size:1.22rem;
  line-height:1.45;
  color:rgba(255,255,255,.96);
}
.hero-verse-copy cite{
  margin-top:8px;
  font-size:.88rem;
  color:rgba(255,255,255,.68);
}

/* Location floating card icons */
.location-floating-item{
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:start;
  gap:12px;
}
.location-floating-item + .location-floating-item{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(8,46,71,.10);
}
.location-floating-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:#c38a2b;
  margin-top:1px;
}
.location-floating-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Keep responsive behavior coherent with smaller header logo */
@media (max-width:1100px){
  .brand-horizontal-image{
    width:190px !important;
    max-width:190px !important;
  }
  .desktop-nav{
    display:none;
  }
}

@media (max-width:760px){
  .header-inner{
    min-height:76px;
  }
  .brand-horizontal-image{
    width:170px !important;
    max-width:170px !important;
  }
  .hero-church{
    height:100%;
    object-position:center top;
  }
  .hero-copy{
    width:100%;
  }
  .hero-copy h1{
    font-size:clamp(2.9rem,12vw,4.15rem);
  }
  .hero-verse{
    grid-template-columns:76px 1fr;
    gap:14px;
  }
  .hero-verse-fish{
    width:72px;
  }
  .hero-verse-copy blockquote{
    font-size:1.05rem;
  }
}


/* ===== V17: use approved generated hero image directly ===== */
.hero-photo-wrap{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:72%;
  display:block;
  overflow:hidden;
  pointer-events:none;
}
.hero-photo-wrap::before,
.hero-photo-wrap::after{
  display:none !important;
  content:none !important;
}
.hero-church{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center center;
  filter:none;
  transform:none;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}
.hero-overlay{
  background:
    radial-gradient(circle at 83% 18%,rgba(255,191,87,.06),transparent 24%),
    linear-gradient(
      90deg,
      rgba(3,23,36,.99) 0%,
      rgba(4,27,42,.95) 28%,
      rgba(4,32,49,.54) 46%,
      rgba(4,32,49,.10) 62%,
      rgba(4,32,49,0) 100%
    );
}

@media (max-width:1200px){
  .hero-photo-wrap{
    width:68%;
  }
}
@media (max-width:760px){
  .hero-photo-wrap{
    width:220% !important;
    display: inline-table !important;
    right: 0 !important;
  }
  .hero-church{
    object-position:66% center;
  }
  .hero-overlay{
    background:
      linear-gradient(180deg,rgba(3,23,36,.18) 0%,rgba(3,23,36,.14) 30%,rgba(3,23,36,.78) 74%,rgba(3,23,36,.98) 100%),
      linear-gradient(90deg,rgba(3,23,36,.34) 0%,transparent 22%,transparent 78%,rgba(3,23,36,.22) 100%);
  }
}


/* ===== V19: move church visually to the LEFT + subtle right fade ===== */
.hero-photo-wrap{
  width:72%;
}
.hero-photo-wrap::before{
  display:block !important;
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      rgba(3,23,36,.98) 0%,
      rgba(3,23,36,.86) 11%,
      rgba(3,23,36,.44) 23%,
      rgba(3,23,36,.10) 35%,
      rgba(3,23,36,0) 46%
    );
}
.hero-photo-wrap::after{
  display:block !important;
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 84%,
      rgba(3,23,36,.06) 90%,
      rgba(3,23,36,.22) 96%,
      rgba(3,23,36,.40) 100%
    );
}
/* Lower x-position pulls the visible church area more to the LEFT */
.hero-church{
  object-position: 32% center;
}
.hero-overlay{
  background:
    radial-gradient(circle at 83% 18%,rgba(255,191,87,.05),transparent 24%),
    linear-gradient(
      90deg,
      rgba(3,23,36,.99) 0%,
      rgba(4,27,42,.95) 27%,
      rgba(4,32,49,.54) 45%,
      rgba(4,32,49,.12) 60%,
      rgba(4,32,49,.02) 74%,
      rgba(4,32,49,0) 100%
    );
}

@media (max-width:1200px){
  .hero-photo-wrap{
    width:69%;
  }
  .hero-church{
    object-position: 36% center;
  }
}
@media (max-width:760px){
  .hero-photo-wrap{
    width:220% !important;
    display: inline-table !important;
    right: 0 !important;
  }
  .hero-photo-wrap::before{
    background:
      linear-gradient(180deg,rgba(3,23,36,.18) 0%,rgba(3,23,36,.16) 32%,rgba(3,23,36,.78) 76%,rgba(3,23,36,.98) 100%),
      linear-gradient(90deg,rgba(3,23,36,.28) 0%,transparent 20%,transparent 80%,rgba(3,23,36,.18) 100%);
  }
  .hero-photo-wrap::after{
    background:
      linear-gradient(90deg,transparent 0%,transparent 86%,rgba(3,23,36,.16) 100%);
  }
  .hero-church{
    object-position: 54% center;
  }
}


/* ===== V20: bring church visually closer to the text block ===== */
.hero-photo-wrap{
  width: 74%;
}
.hero-church{
  /* smaller value = church appears more to the LEFT / closer to the text */
  object-position: 24% center;
}
.hero-photo-wrap::before{
  background:
    linear-gradient(
      90deg,
      rgba(3,23,36,.98) 0%,
      rgba(3,23,36,.86) 10%,
      rgba(3,23,36,.42) 21%,
      rgba(3,23,36,.08) 33%,
      rgba(3,23,36,0) 45%
    );
}
.hero-photo-wrap::after{
  background:
    linear-gradient(
      90deg,
      transparent 0%,
      transparent 86%,
      rgba(3,23,36,.05) 92%,
      rgba(3,23,36,.18) 97%,
      rgba(3,23,36,.32) 100%
    );
}

@media (max-width: 1200px){
  .hero-photo-wrap{
    width: 71%;
  }
  .hero-church{
    object-position: 28% center;
  }
}

@media (max-width: 760px){
  .hero-photo-wrap{
    width:220% !important;
    display: inline-table !important;
    right: 0 !important;
  }
  .hero-church{
    object-position: 52% center;
  }
}


/* ===== V21: hero width + remove redundant location section ===== */
.hero-photo-wrap{
  width:88% !important;
}

@media (max-width:1200px){
  .hero-photo-wrap{
    width:88% !important;
  }
}

@media (max-width:760px){
  .hero-photo-wrap{
    width:220% !important;
    display: inline-table !important;
    right: 0 !important;
  }
}


/* Individual registration notice */
.registration-individual-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid rgba(202,146,47,.28);
  border-radius:10px;
  background:rgba(225,178,87,.10);
  color:#4f5c64;
}
.registration-individual-note p{
  margin:0;
  font-size:.82rem;
  line-height:1.45;
}
.registration-individual-note strong{
  color:var(--ink);
}
.registration-individual-icon{
  display:grid;
  place-items:center;
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--gold);
  color:white;
  font-size:.77rem;
  font-weight:900;
  font-family:Georgia,"Times New Roman",serif;
}

/* Registration success modal */
body.modal-open{overflow:hidden}
.success-modal{
  position:fixed;
  inset:0;
  z-index:200;
  display:grid;
  place-items:center;
  padding:24px;
}
.success-modal[hidden]{display:none!important}
.success-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,19,30,.76);
  backdrop-filter:blur(5px);
}
.success-modal-card{
  position:relative;
  z-index:1;
  width:min(520px,100%);
  padding:42px 38px 36px;
  border-radius:22px;
  background:#fffaf3;
  color:var(--ink);
  text-align:center;
  box-shadow:0 30px 90px rgba(0,0,0,.30);
  animation:successModalIn .24s ease-out both;
}
.success-modal-x{
  position:absolute;
  top:14px;
  right:16px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#71808a;
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
}
.success-modal-x:hover{background:rgba(6,31,49,.06)}
.success-modal-icon{
  display:grid;
  place-items:center;
  width:72px;
  height:72px;
  margin:0 auto 20px;
  border-radius:50%;
  background:#e8f5eb;
  color:#287947;
}
.success-modal-icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.success-modal-kicker{
  display:block;
  margin-bottom:8px;
  color:#a9701d;
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.success-modal-card h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,5vw,2.7rem);
  line-height:1.04;
}
.success-modal-card p{
  max-width:410px;
  margin:16px auto 0;
  color:#66727b;
  font-size:1rem;
  line-height:1.55;
}
.success-modal-button{
  width:100%;
  margin-top:26px;
}
@keyframes successModalIn{
  from{opacity:0;transform:translateY(12px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:560px){
  .success-modal{padding:16px}
  .success-modal-card{padding:36px 22px 24px;border-radius:18px}
  .registration-individual-note{padding:11px 12px}
}
@media(prefers-reduced-motion:reduce){
  .success-modal-card{animation:none}
}

.error-modal-icon {
  background: #fbe9e7;
  color: #b33a2b;
}

.error-modal-kicker {
  color: #b33a2b;
}

.error-modal-card {
  border-top: 4px solid #b33a2b;
}