:root{--paper: #F6F8FA;--white: #FFFFFF;--ink: #16232D;--steel: #56656F;--line: #D8E1E7;--mist: #E4EFF6;--sky: #44A8E0;--sky-deep: #1C6FA3;--night: #0E1D28;--night-2: #16293A;--wa: #25D366;--cond: "Barlow Condensed","Arial Narrow",sans-serif;--sans: "Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;--serif: "Literata",Georgia,"Times New Roman",serif;--ease: cubic-bezier(.2,.7,.2,1);--ease-out: cubic-bezier(.16,1,.3,1);--wrap: min(1180px,calc(100% - 32px));--head-h: 64px;--notch: clamp(28px,7vw,96px)}
*,*::before,*::after{box-sizing: border-box}
html{-webkit-text-size-adjust: 100%;scroll-behavior: smooth}
body{margin: 0;background: var(--paper);color: var(--ink);font-family: var(--sans);font-size: 1.0625rem;line-height: 1.6;-webkit-font-smoothing: antialiased;overflow-x: hidden}
img{max-width: 100%;display: block}
a{color: var(--sky-deep);text-underline-offset: .18em}
a:hover{color: var(--ink)}
:focus-visible{outline: 3px solid var(--sky);outline-offset: 3px;border-radius: 4px}
[id]{scroll-margin-top: calc(var(--head-h) + 8px)}
.wrap{width: var(--wrap);margin-inline: auto}
.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}
.skip{position: absolute;left: 12px;top: -60px;z-index: 100;background: var(--ink);color: #fff;padding: 10px 14px;border-radius: 6px}
.skip:focus{top: 12px}
h1,h2,h3{font-family: var(--cond);font-weight: 600;margin: 0;letter-spacing: -.005em;text-wrap: balance}
h2{font-size: clamp(2.5rem,9vw,4.75rem);line-height: .95}
h3{font-size: clamp(1.5rem,4.6vw,1.875rem);line-height: 1.05}
p{margin: 0 0 1em;text-wrap: pretty}
.lede{font-size: clamp(1.125rem,2.6vw,1.3rem);line-height: 1.55;color: var(--steel);max-width: 38em}
.btn{display: inline-flex;align-items: center;justify-content: center;gap: .55em;min-height: 52px;padding: .7em 1.4em;font-family: var(--sans);font-weight: 600;font-size: 1.0625rem;line-height: 1.1;border-radius: 999px;border: 2px solid transparent;text-decoration: none;cursor: pointer;transition: transform .35s var(--ease-out),background-color .3s,color .3s,border-color .3s,box-shadow .35s var(--ease-out)}
.btn:hover{transform: translateY(-2px)}
.btn:active{transform: translateY(0)}
.btn-sky{background: var(--sky);color: var(--ink);box-shadow: 0 10px 24px -12px rgba(28,111,163,.7)}
.btn-sky:hover{background: #5BB6E8;color: var(--ink)}
.btn-ink{background: var(--ink);color: #fff}
.btn-ink:hover{background: #24384A;color: #fff}
.btn-line{border-color: currentColor;color: var(--ink);background: transparent}
.btn-line:hover{background: var(--ink);border-color: var(--ink);color: #fff}
.btn-ghost{border-color: rgba(255,255,255,.7);color: #fff;background: rgba(14,29,40,.15);backdrop-filter: blur(6px);-webkit-backdrop-filter: blur(6px)}
.btn-ghost:hover{background: #fff;color: var(--ink);border-color: #fff}
.btn-wa{background: var(--wa);color: #0A2A17}
.btn-wa:hover{background: #3BE07A;color: #0A2A17}
.btn svg{width: 1.15em;height: 1.15em;flex: none}
.btns{display: flex;flex-wrap: wrap;gap: 12px}
.top{position: fixed;inset: 0 0 auto 0;z-index: 50;height: var(--head-h);background: rgba(246,248,250,.86);backdrop-filter: saturate(1.4) blur(14px);-webkit-backdrop-filter: saturate(1.4) blur(14px);border-bottom: 1px solid transparent;transition: border-color .4s,box-shadow .4s,height .4s var(--ease)}
.top.scrolled{border-color: var(--line);box-shadow: 0 8px 30px -22px rgba(22,35,45,.5)}
.top .wrap{height: 100%;display: flex;align-items: center;gap: 20px}
.brand{display: flex;align-items: center;gap: 10px;text-decoration: none;color: var(--ink);margin-right: auto}
.brand img{width: 40px;height: auto}
.brand span{font-family: var(--cond);line-height: .95;display: flex;flex-direction: column}
.brand small{font-size: .78rem;font-weight: 500;color: var(--steel);letter-spacing: .02em}
.brand b{font-size: 1.35rem;font-weight: 700;letter-spacing: .01em}
.nav{display: none}
.nav a{position: relative;color: var(--ink);text-decoration: none;font-weight: 500;font-size: 1rem;padding: 6px 2px}
.nav a::after{content: "";position: absolute;left: 0;right: 0;bottom: 0;height: 2px;background: var(--sky);transform: scaleX(0);transform-origin: left;transition: transform .45s var(--ease-out)}
.nav a:hover::after,.nav a.on::after{transform: scaleX(1)}
.top .btn{min-height: 42px;padding: .5em 1.1em;font-size: .975rem;display: none}
.menu-btn{width: 46px;height: 46px;border-radius: 50%;border: 0;background: var(--ink);color: #fff;cursor: pointer;display: grid;place-items: center}
.menu-btn span,.menu-btn span::before,.menu-btn span::after{display: block;width: 18px;height: 2px;background: currentColor;position: relative;transition: transform .4s var(--ease),background-color .2s}
.menu-btn span::before,.menu-btn span::after{content: "";position: absolute;left: 0}
.menu-btn span::before{top: -6px}
.menu-btn span::after{top: 6px}
.menu-open .menu-btn span{background: transparent}
.menu-open .menu-btn span::before{transform: translateY(6px) rotate(45deg)}
.menu-open .menu-btn span::after{transform: translateY(-6px) rotate(-45deg)}
.sheet{position: fixed;inset: var(--head-h) 0 0 0;z-index: 49;background: var(--paper);padding: 24px 16px 40px;display: flex;flex-direction: column;gap: 6px;clip-path: inset(0 0 100% 0);visibility: hidden;transition: clip-path .55s var(--ease),visibility 0s linear .55s;overflow-y: auto}
.menu-open .sheet{clip-path: inset(0 0 0 0);visibility: visible;transition: clip-path .55s var(--ease),visibility 0s}
.sheet a.big{font-family: var(--cond);font-weight: 600;font-size: 2.4rem;line-height: 1.15;color: var(--ink);text-decoration: none;opacity: 0;transform: translateY(14px);transition: opacity .4s,transform .5s var(--ease-out)}
.menu-open .sheet a.big{opacity: 1;transform: none}
.menu-open .sheet a.big:nth-child(2){transition-delay: .04s}
.menu-open .sheet a.big:nth-child(3){transition-delay: .08s}
.menu-open .sheet a.big:nth-child(4){transition-delay: .12s}
.menu-open .sheet a.big:nth-child(5){transition-delay: .16s}
.menu-open .sheet a.big:nth-child(6){transition-delay: .2s}
.menu-open .sheet a.big:nth-child(7){transition-delay: .24s}
.sheet .btns{margin-top: 24px}
.sheet .btns .btn{flex: 1 1 100%}
.sheet p{margin-top: 20px;color: var(--steel)}
@media (min-width: 980px){:root{--head-h: 76px}
.nav{display: flex;gap: 26px}
.top .btn{display: inline-flex}
.menu-btn,.sheet{display: none}
.brand img{width: 46px}
.brand b{font-size: 1.5rem}
}
.hero{position: relative;min-height: 100svh;min-height: max(100svh,600px);padding-top: var(--head-h);display: flex;align-items: flex-end;color: #fff;background: var(--night);clip-path: polygon(0 0,100% 0,100% calc(100% - var(--notch)),50% 100%,0 calc(100% - var(--notch)));overflow: hidden}
.hero-media{position: absolute;inset: 0;will-change: transform}
.hero-media img{width: 100%;height: 100%;object-fit: cover;object-position: 50% 40%;transform: scale(1.02);transition: transform 2.6s var(--ease-out),opacity 1.2s ease}
.js .hero-media img{transform: scale(1.12);opacity: 0}
.js.loaded .hero-media img{transform: scale(1.02);opacity: 1}
.hero-shade{position: absolute;inset: 0;background: linear-gradient(180deg,rgba(14,29,40,.5) 0%,rgba(14,29,40,.18) 18%,rgba(14,29,40,.55) 42%,rgba(14,29,40,.88) 66%,rgba(14,29,40,.95) 100%)}
@media (min-width: 760px){.hero-shade{background: linear-gradient(90deg,rgba(14,29,40,.9) 0%,rgba(14,29,40,.72) 34%,rgba(14,29,40,.2) 68%,rgba(14,29,40,.05) 100%),linear-gradient(180deg,rgba(14,29,40,.45) 0%,rgba(14,29,40,0) 22%,rgba(14,29,40,0) 60%,rgba(14,29,40,.7) 100%)}
}
.hero::after{content: "";position: absolute;inset: 0;background: var(--sky);pointer-events: none;clip-path: polygon(50% 100%,100% calc(100% - var(--notch)),100% calc(100% - var(--notch) - 12px),50% calc(100% - 12px));transition: clip-path 1.3s var(--ease-out) .9s}
.js .hero::after{clip-path: polygon(50% 100%,50% 100%,50% calc(100% - 12px),50% calc(100% - 12px))}
.js.loaded .hero::after{clip-path: polygon(50% 100%,100% calc(100% - var(--notch)),100% calc(100% - var(--notch) - 12px),50% calc(100% - 12px))}
.hero-inner{position: relative;width: var(--wrap);margin: 0 auto;padding: 48px 0 calc(var(--notch) + 56px);text-shadow: 0 2px 22px rgba(14,29,40,.45)}
.hero h1{font-size: clamp(4.2rem,21vw,10.5rem);line-height: .84;font-weight: 700;letter-spacing: -.015em;margin-bottom: 22px}
.hero h1 .ln{display: block;overflow: hidden;padding-bottom: .04em}
.hero h1 .ln span{display: block;transition: transform 1.1s var(--ease-out)}
.js .hero h1 .ln span{transform: translateY(105%)}
.js.loaded .hero h1 .ln span{transform: none}
.js.loaded .hero h1 .ln:nth-child(2) span{transition-delay: .12s}
.hero .intro{font-size: clamp(1.125rem,3.4vw,1.375rem);line-height: 1.45;max-width: 30em;margin-bottom: 10px;color: rgba(255,255,255,.92)}
.hero .when{font-size: clamp(1.0625rem,3vw,1.25rem);line-height: 1.45;max-width: 32em;color: #fff;margin-bottom: 26px}
.hero .when strong{color: var(--sky);font-weight: 600}
.hero .fade{transition: opacity .9s ease .45s,transform 1s var(--ease-out) .45s}
.js .hero .fade{opacity: 0;transform: translateY(16px)}
.js.loaded .hero .fade{opacity: 1;transform: none}
.js.loaded .hero .fade.d2{transition-delay: .6s}
.js.loaded .hero .fade.d3{transition-delay: .75s}
.hero .addr{margin-top: 22px;font-size: .975rem;color: rgba(255,255,255,.8);display: flex;align-items: center;gap: 8px}
.hero .addr svg{width: 18px;height: 18px;flex: none;color: var(--sky)}
@media (min-width: 760px){.hero-inner{padding-bottom: calc(var(--notch) + 72px)}
.hero .btns .btn{min-width: 210px}
}
.sec{padding-block: clamp(76px,12vw,148px);position: relative}
.sec-head{margin-bottom: clamp(36px,6vw,64px);max-width: 760px}
.sec-head h2,.kids h2,.about h2,.watch h2{margin-bottom: 18px}
.mist{background: var(--mist)}
.white{background: var(--white)}
.js [data-reveal]{opacity: 0;transform: translateY(20px);transition: opacity .7s ease,transform .9s var(--ease-out)}
.js [data-reveal].in{opacity: 1;transform: none}
.js [data-reveal="2"]{transition-delay: .1s}
.js [data-reveal="3"]{transition-delay: .2s}
.js [data-wedge]{clip-path: polygon(28% 0,72% 0,50% 46%,50% 46%);transition: clip-path 1.1s var(--ease-out)}
.js [data-wedge].in{clip-path: polygon(0 0,100% 0,100% 100%,0 100%)}
.js [data-wedge] img{transform: scale(1.15);transition: transform 1.8s var(--ease-out)}
.js [data-wedge].in img{transform: scale(1)}
.visit-grid{display: grid;gap: 40px}
.steps{list-style: none;margin: 0;padding: 0;display: grid;gap: 22px}
.step{display: grid;grid-template-columns: 1fr;background: var(--white);border-radius: 18px;overflow: hidden;border: 1px solid var(--line)}
.step figure{margin: 0;aspect-ratio: 16 / 10;overflow: hidden}
.step figure img{width: 100%;height: 100%;object-fit: cover}
.step .body{padding: 22px 22px 24px}
.step time{font-family: var(--cond);font-weight: 700;font-size: 2.6rem;line-height: 1;color: var(--sky-deep);display: block;margin-bottom: 6px}
.step h3{margin-bottom: 8px}
.step p{margin: 0;color: var(--steel)}
@media (min-width: 760px){.step{grid-template-columns: 1fr 1.05fr}
.step figure{aspect-ratio: auto;min-height: 260px}
.step .body{padding: 34px 34px;align-self: center}
.step:nth-child(even) figure{order: 2}
}
@media (min-width: 1100px){.visit-grid{grid-template-columns: .8fr 1.6fr;gap: 64px;align-items: start}
.visit-grid .sec-head{position: sticky;top: calc(var(--head-h) + 40px)}
}
.faq{margin-top: clamp(48px,8vw,88px);border-top: 1px solid var(--line)}
.faq h3{font-size: clamp(1.75rem,5vw,2.25rem);padding: 28px 0 12px}
.qa{border-bottom: 1px solid var(--line)}
.qa button{width: 100%;display: flex;justify-content: space-between;align-items: center;gap: 16px;background: none;border: 0;padding: 20px 0;cursor: pointer;text-align: left;font-family: var(--sans);font-size: 1.125rem;font-weight: 600;color: var(--ink)}
.qa button i{flex: none;width: 32px;height: 32px;border-radius: 50%;background: var(--mist);position: relative;transition: background-color .3s,transform .45s var(--ease-out)}
.qa button i::before,.qa button i::after{content: "";position: absolute;left: 50%;top: 50%;width: 12px;height: 2px;background: var(--ink);transform: translate(-50%,-50%);transition: transform .45s var(--ease-out)}
.qa button i::after{transform: translate(-50%,-50%) rotate(90deg)}
.qa button[aria-expanded="true"] i{background: var(--sky);transform: rotate(180deg)}
.qa button[aria-expanded="true"] i::after{transform: translate(-50%,-50%) rotate(0deg)}
.qa .a{display: grid;grid-template-rows: 0fr;transition: grid-template-rows .5s var(--ease)}
.qa .a>div{overflow: hidden}
.qa .a p{color: var(--steel);max-width: 44em;padding-bottom: 20px;margin: 0}
.qa button[aria-expanded="true"] + .a{grid-template-rows: 1fr}
@media (min-width: 900px){.faq-list{columns: 2;column-gap: 48px}
.qa{break-inside: avoid}
}
.week{display: grid;gap: 18px}
.day{background: var(--white);border-radius: 22px;padding: 28px 24px 18px;position: relative;overflow: hidden;border: 1px solid var(--line)}
.day h3{font-size: clamp(2.4rem,8vw,3.25rem);font-weight: 700;margin-bottom: 8px}
.day ul{list-style: none;margin: 0;padding: 0}
.day li{display: grid;grid-template-columns: 5.2rem 1fr;gap: 14px;align-items: baseline;padding: 16px 0;border-top: 1px solid var(--line)}
.day li time{font-family: var(--cond);font-weight: 700;font-size: 1.9rem;line-height: 1;color: var(--sky-deep);font-variant-numeric: tabular-nums}
.day li b{display: block;font-size: 1.125rem}
.day li span{color: var(--steel);font-size: 1rem}
.day.sun{background: var(--ink);color: #fff;border-color: var(--ink)}
.day.sun li{border-color: rgba(255,255,255,.16)}
.day.sun li time{color: var(--sky)}
.day.sun li span{color: rgba(255,255,255,.72)}
.ride{margin-top: 18px;display: grid;gap: 14px;align-items: center;background: var(--sky);color: var(--ink);border-radius: 22px;padding: 24px}
.ride h3{font-size: 1.75rem;margin-bottom: 4px}
.ride p{margin: 0}
.ride .btn{justify-self: start}
@media (min-width: 820px){.week{grid-template-columns: 1fr 1fr}
.day{padding: 36px 36px 22px}
.ride{grid-template-columns: 1fr auto;padding: 28px 36px}
}
.kids{display: grid;gap: 40px;align-items: center}
.kids figure{margin: 0;border-radius: 22px;overflow: hidden;aspect-ratio: 4 / 3.4}
.kids figure img{width: 100%;height: 100%;object-fit: cover}
.ages{list-style: none;padding: 0;margin: 28px 0 0;display: grid;gap: 12px}
.ages li{display: grid;grid-template-columns: auto 1fr;gap: 4px 18px;padding: 18px 20px;background: var(--white);border-radius: 16px;border: 1px solid var(--line)}
.ages li strong{font-family: var(--cond);font-size: 1.5rem;font-weight: 600;line-height: 1.1}
.ages li em{font-style: normal;grid-row: span 2;align-self: center;font-family: var(--cond);font-weight: 700;font-size: 1.15rem;color: var(--ink);background: var(--mist);border-radius: 999px;padding: 8px 12px;min-width: 5.6rem;text-align: center}
.ages li span{color: var(--steel);font-size: 1rem;line-height: 1.45}
@media (min-width: 900px){.kids{grid-template-columns: 1fr 1fr;gap: 72px}
.kids figure{aspect-ratio: 4 / 3.64}
}
.plan{display: grid;gap: 28px}
.form{background: var(--white);border-radius: 24px;padding: 26px 20px;border: 1px solid var(--line)}
.form h3{margin-bottom: 6px}
.form>p{color: var(--steel)}
.field{margin-top: 18px}
.field>label,.field>legend{display: block;font-weight: 600;margin-bottom: 8px;padding: 0}
fieldset.field{border: 0;margin-inline: 0;padding: 0;min-width: 0}
.field input[type="text"],.field select,.field textarea{width: 100%;font: inherit;color: var(--ink);background: var(--paper);border: 1.5px solid var(--line);border-radius: 12px;padding: 13px 14px;min-height: 50px;transition: border-color .25s,box-shadow .25s,background-color .25s}
.field textarea{min-height: 90px;resize: vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline: none;border-color: var(--sky);background: #fff;box-shadow: 0 0 0 4px rgba(68,168,224,.22)}
.pills{display: flex;flex-wrap: wrap;gap: 8px}
.pills label{position: relative}
.pills input{position: absolute;opacity: 0;inset: 0;cursor: pointer}
.pills span{display: inline-flex;align-items: center;min-height: 46px;padding: 10px 16px;border-radius: 999px;border: 1.5px solid var(--line);background: var(--paper);font-weight: 500;cursor: pointer;transition: background-color .25s,border-color .25s,color .25s}
.pills input:checked + span{background: var(--ink);color: #fff;border-color: var(--ink)}
.pills input:focus-visible + span{outline: 3px solid var(--sky);outline-offset: 2px}
.check{display: flex;gap: 12px;align-items: flex-start;margin-top: 16px;cursor: pointer}
.check input{width: 22px;height: 22px;margin-top: 2px;accent-color: var(--sky-deep);flex: none}
.row2{display: grid;gap: 0 14px}
.form .btn{width: 100%;margin-top: 24px}
.form small{display: block;margin-top: 12px;color: var(--steel);font-size: .925rem}
.err{color: #A42E2E;font-size: .95rem;margin-top: 6px;display: none}
.err.show{display: block}
.where{background: var(--ink);color: #fff;border-radius: 24px;overflow: hidden;display: flex;flex-direction: column}
.where .map{position: relative;aspect-ratio: 4 / 3;background: var(--night-2)}
.where iframe{position: absolute;inset: 0;width: 100%;height: 100%;border: 0;filter: saturate(.9)}
.where .info{padding: 24px 22px 26px}
.where h3{margin-bottom: 6px}
.where address{font-style: normal;font-size: 1.125rem;margin-bottom: 18px;color: rgba(255,255,255,.86)}
.where .btns .btn{flex: 1 1 auto}
@media (min-width: 560px){.row2{grid-template-columns: 1fr 1fr}
}
@media (min-width: 980px){.plan{grid-template-columns: 1.1fr 1fr;gap: 28px;align-items: stretch}
.form{padding: 40px 40px}
.where .map{aspect-ratio: auto;flex: 1;min-height: 340px}
.where .info{padding: 30px 34px 34px}
}
.about{display: grid;gap: 44px}
.about figure{margin: 0;border-radius: 22px;overflow: hidden;aspect-ratio: 4 / 3}
.about figure img{width: 100%;height: 100%;object-fit: cover}
.about .body p{font-size: 1.125rem}
.diffs{list-style: none;padding: 0;margin: clamp(48px,7vw,80px) 0 0;display: grid;gap: 0;border-top: 2px solid var(--ink)}
.diffs li{padding: 26px 0;border-bottom: 1px solid var(--line);display: grid;gap: 8px}
.diffs h3{font-size: clamp(1.6rem,4.6vw,2rem)}
.diffs p{color: var(--steel);margin: 0;max-width: 34em}
@media (min-width: 900px){.about{grid-template-columns: 1.05fr 1fr;gap: 72px;align-items: center}
.diffs{grid-template-columns: 1fr 1fr;column-gap: 56px}
.diffs li{grid-template-columns: 1fr}
}
.pastors{display: grid;gap: 48px}
.pastor{display: grid;gap: 22px}
.pastor figure{margin: 0;border-radius: 22px;overflow: hidden;aspect-ratio: 4 / 4.2;background: var(--mist)}
.pastor figure img{width: 100%;height: 100%;object-fit: cover}
.pastor .role{color: var(--sky-deep);font-weight: 600;margin-bottom: 6px}
.pastor h3{font-size: clamp(2rem,6vw,2.6rem);margin-bottom: 12px}
.pastor p{color: var(--steel)}
blockquote.note{margin: 8px 0 0;padding: 22px 22px 22px 24px;background: var(--white);border-radius: 18px;border: 1px solid var(--line);font-size: 1.125rem;line-height: 1.55;position: relative}
blockquote.note::before{content: "";position: absolute;left: 0;top: 22px;bottom: 22px;width: 4px;border-radius: 4px;background: var(--sky)}
blockquote.note cite{display: block;margin-top: 10px;font-style: normal;color: var(--steel);font-size: .975rem}
@media (min-width: 900px){.pastors{grid-template-columns: 1fr 1fr;gap: 56px}
.pastor figure{aspect-ratio: 4 / 3.6}
}
.beliefs{display: grid;gap: 40px}
.core{list-style: none;padding: 0;margin: 0;counter-reset: none}
.core li{padding: 18px 0 18px 34px;border-bottom: 1px solid var(--line);position: relative;font-size: 1.125rem}
.core li::before{content: "";position: absolute;left: 4px;top: 27px;width: 14px;height: 10px;background: var(--sky);clip-path: polygon(0 0,100% 0,50% 100%)}
.dist h3{font-size: clamp(1.8rem,5vw,2.25rem);margin-bottom: 8px}
.dist>p{color: var(--steel)}
.dist .qa button{font-size: 1.0625rem}
.more{margin-top: 26px}
@media (min-width: 980px){.beliefs{grid-template-columns: 1fr 1fr;gap: 72px}
}
.gospel{background: var(--night);color: #fff;clip-path: polygon(0 0,50% var(--notch),100% 0,100% 100%,0 100%);padding-top: calc(clamp(76px,12vw,148px) + var(--notch))}
.gospel .lede{color: rgba(255,255,255,.78)}
.path{list-style: none;padding: 0;margin: 0;display: grid;gap: 16px;counter-reset: g}
.path li{counter-increment: g;position: relative;padding: 26px 22px 24px 22px;border-radius: 20px;background: var(--night-2);border: 1px solid rgba(255,255,255,.08)}
.path li::before{content: counter(g);font-family: var(--cond);font-weight: 700;font-size: 1.1rem;color: var(--ink);width: 34px;height: 34px;border-radius: 50%;background: var(--sky);display: grid;place-items: center;margin-bottom: 14px}
.path h3{font-size: clamp(1.6rem,4.8vw,2.1rem);margin-bottom: 12px}
.verse{font-family: var(--serif);font-style: italic;font-size: 1.125rem;line-height: 1.6;margin: 0;color: rgba(255,255,255,.92)}
.verse cite{display: block;margin-top: 8px;font-family: var(--sans);font-style: normal;font-weight: 600;font-size: .95rem;color: var(--sky)}
.gospel .close{margin-top: clamp(40px,6vw,64px);display: grid;gap: 20px;align-items: center;padding-top: 32px;border-top: 1px solid rgba(255,255,255,.14)}
.gospel .close p{margin: 0;font-size: 1.125rem;color: rgba(255,255,255,.86);max-width: 36em}
.gospel .close .btn-line{color: #fff}
.gospel .close .btn-line:hover{background: #fff;color: var(--ink);border-color: #fff}
@media (min-width: 900px){.path{grid-template-columns: repeat(2,1fr)}
.path li:last-child{grid-column: 1 / -1}
.gospel .close{grid-template-columns: 1fr auto}
}
@media (min-width: 1180px){.path{grid-template-columns: repeat(6,1fr)}
.path li{grid-column: span 2}
.path li:nth-child(4){grid-column: 2 / span 2}
.path li:nth-child(5){grid-column: 4 / span 2}
}
.voices{display: grid;gap: 18px}
.voice{margin: 0;padding: 26px 24px;background: var(--white);border-radius: 20px;border: 1px solid var(--line);display: flex;flex-direction: column;justify-content: space-between;gap: 18px}
.voice p{font-family: var(--serif);font-size: 1.1875rem;line-height: 1.55;margin: 0}
.voice footer{color: var(--steel);font-size: .95rem}
.rating{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 18px;margin-top: 24px}
.rating .stars{color: #E9A100;letter-spacing: 2px;font-size: 1.25rem}
.rating b{font-family: var(--cond);font-size: 2rem;line-height: 1}
@media (min-width: 900px){.voices{grid-template-columns: repeat(3,1fr)}
}
.watch{display: grid;gap: 36px;align-items: center}
.watch figure{margin: 0;border-radius: 22px;overflow: hidden;aspect-ratio: 16 / 10;position: relative}
.watch figure img{width: 100%;height: 100%;object-fit: cover}
@media (min-width: 900px){.watch{grid-template-columns: 1.1fr 1fr;gap: 72px}
}
.invite{position: relative;color: #fff;overflow: hidden;background: var(--night)}
.invite .bg{position: absolute;inset: 0}
.invite .bg img{width: 100%;height: 100%;object-fit: cover;opacity: .55}
.invite .bg::after{content: "";position: absolute;inset: 0;background: linear-gradient(90deg,rgba(14,29,40,.92) 0%,rgba(14,29,40,.7) 45%,rgba(14,29,40,.25) 100%)}
.invite .wrap{position: relative;padding-block: clamp(96px,16vw,180px)}
.invite h2{font-size: clamp(3rem,12vw,6.5rem);line-height: .9;max-width: 11em;margin-bottom: 20px}
.invite p{font-size: 1.25rem;max-width: 30em;color: rgba(255,255,255,.9);margin-bottom: 28px}
.foot{background: var(--night);color: rgba(255,255,255,.8);padding: 56px 0 48px;font-size: 1rem}
.foot .grid{display: grid;gap: 34px}
.foot h4{font-family: var(--cond);font-weight: 600;font-size: 1.35rem;color: #fff;margin: 0 0 10px}
.foot a{color: #fff}
.foot a:hover{color: var(--sky)}
.foot ul{list-style: none;padding: 0;margin: 0;display: grid;gap: 6px}
.foot .logo{display: flex;align-items: center;gap: 12px;margin-bottom: 14px}
.foot .logo img{width: 52px;background: #fff;border-radius: 12px;padding: 6px}
.foot .logo span{font-family: var(--cond);font-size: 1.5rem;font-weight: 700;color: #fff;line-height: 1}
.foot .legal{margin-top: 44px;padding-top: 20px;border-top: 1px solid rgba(255,255,255,.12);font-size: .9rem;color: rgba(255,255,255,.6)}
@media (min-width: 900px){.foot .grid{grid-template-columns: 1.4fr 1fr 1fr 1fr}
}
.dock{position: fixed;left: 12px;right: 12px;bottom: max(12px,env(safe-area-inset-bottom));z-index: 40;display: grid;grid-template-columns: 1fr 1fr;gap: 8px;padding: 8px;background: rgba(22,35,45,.92);backdrop-filter: blur(12px);-webkit-backdrop-filter: blur(12px);border-radius: 999px;box-shadow: 0 18px 40px -16px rgba(0,0,0,.55);transform: translateY(140%);transition: transform .55s var(--ease-out)}
.dock.show{transform: none}
.dock .btn{min-height: 46px;font-size: 1rem;padding: .5em .8em}
@media (min-width: 980px){.dock{display: none}
}
.doc-hero{padding: calc(var(--head-h) + clamp(48px,9vw,96px)) 0 clamp(40px,7vw,72px);background: var(--mist)}
.doc-hero h1{font-size: clamp(3.2rem,13vw,6.5rem);line-height: .9;font-weight: 700;margin-bottom: 18px}
.doc{display: grid;gap: 40px;padding-block: clamp(48px,8vw,96px)}
.toc{font-size: 1rem}
.toc h2{font-size: 1.6rem;margin-bottom: 10px}
.toc ol{margin: 0;padding-left: 1.2em;display: grid;gap: 4px}
.toc a{color: var(--ink);text-decoration: none}
.toc a:hover{color: var(--sky-deep);text-decoration: underline}
.article{max-width: 46em}
.article h2{font-size: clamp(2.2rem,7vw,3.2rem);margin: 56px 0 16px;padding-top: 8px}
.article h2:first-child{margin-top: 0}
.article h3{font-size: 1.6rem;margin: 30px 0 8px}
.article p{font-size: 1.0625rem}
.article sup{font-size: .7em;color: var(--sky-deep);font-weight: 600}
.refs{margin: 14px 0 0;padding: 16px 18px 16px 2.4em;background: var(--white);border: 1px solid var(--line);border-radius: 14px;font-size: .95rem;color: var(--steel);display: grid;gap: 6px}
.refs li::marker{color: var(--sky-deep);font-weight: 600}
.refs b{color: var(--ink);font-weight: 600}
.marks{list-style: none;padding: 0;margin: 0;display: grid;gap: 0}
.marks li{padding: 16px 0;border-bottom: 1px solid var(--line)}
.marks h3{margin: 0 0 6px;font-size: 1.45rem}
.marks p{margin: 0;color: var(--steel)}
.back{display: inline-flex;margin-bottom: 18px;font-weight: 600;text-decoration: none}
@media (min-width: 1000px){.doc{grid-template-columns: 260px 1fr;gap: 72px;align-items: start}
.toc{position: sticky;top: calc(var(--head-h) + 28px)}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior: auto}
*,*::before,*::after{transition-duration: 0s !important;transition-delay: 0s !important;animation: none !important}
.js [data-reveal],.js [data-wedge],.js [data-wedge] img{opacity: 1;transform: none;clip-path: none}
.js .hero-media img{opacity: 1;transform: none}
.js .hero h1 .ln span,.js .hero .fade{transform: none;opacity: 1}
}