/* Original artwork, contained silhouettes and mobile-safe motion — September 19. */
/* Keep every navigation link reachable on short/landscape phone screens. */
.mobile-menu{max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain}
@media(min-width:761px){.mobile-menu{display:none}}
.calling-bridge{position:relative;isolation:isolate;overflow:hidden;margin-top:48px;padding:32px 0 16px;min-height:200px;border-top:1.25px solid #8eafb7}
.calling-questions{position:relative;z-index:1;max-width:680px}
.calling-questions p{font:500 clamp(20px,1.7vw,25px)/1.45 var(--heading);letter-spacing:-.025em;margin:0 0 10px}
.calling-questions strong{display:block;margin-top:18px;color:#a56500;font:600 28px/1.2 var(--heading)}
.calling-bridge .kuaka-flight{top:10px;height:180px;width:580px;opacity:.15;pointer-events:none}
.calling-bridge .kuaka-flight.is-still{left:35%;transform:none!important;will-change:auto}
/* Keep YES! connected to the pathway without clipping the bird composition. */
.problem{padding-bottom:48px}
#pathway{padding-top:64px}
@media(max-width:760px){.problem{padding-bottom:16px}#pathway{padding-top:32px}}
.problem-copy h3,.hope-row h3{letter-spacing:-.025em;line-height:1.25}
.pathway .section-intro{padding-right:0}
.resource-link{gap:25px;line-height:1.5}
#midweek{scroll-margin-top:100px}
.contact-grid{align-items:start}
@media(min-width:761px){.contact-grid>.contact-panel{grid-column:2;grid-row:1}.contact-grid>.contact-details{grid-column:1;grid-row:1}}
.story-photo.selected-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center}
.story-photo.founders-photo{max-width:640px;margin:0 0 24px}
.story-photo.welcome-photo{margin-top:32px}
.story-photo.midweek-photo{margin:24px 0}
.step .calling-disclosure{margin-top:auto;border-top:0;border-bottom:1px solid var(--line)}
.step .calling-disclosure:before{display:none}
.step .calling-disclosure summary{padding:30px 0 8px;font:600 15px/1.7 var(--body);letter-spacing:normal;justify-content:flex-start;gap:24px}
.step .calling-disclosure .detail-body{padding:20px 0 12px}
.story-photo.calling-photo{margin:0}
.calling-photo + [data-approved-copy="calling-bigger-picture"]{margin-top:16px}
.step .calling-disclosure .text-link{margin-top:12px;padding-top:8px}
.contact-panel{position:relative;isolation:isolate;overflow:hidden}
.contact-panel>h2{font-size:clamp(24px,2.3vw,32px);margin-top:0}
.updates-art img{height:auto}
/* Keep footer chevrons attached to their labels, including narrow phone columns. */
.family-links nav a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:start;max-width:100%;min-width:0}
.family-links .chevron{margin-left:0;margin-top:.45em}
.family-links .family-note{grid-column:1 / -1}
.contact-panel:before{content:'';position:absolute;z-index:-1;inset:auto -35px -25px auto;width:340px;height:340px;background:#287fa3;mask:url('/assets/koru-transparent.png') center/contain no-repeat;opacity:.055;pointer-events:none}
.contact-field{display:grid;gap:9px;margin-top:24px}
.contact-field label{font-size:16px;font-weight:500}
.contact-field :is(input,textarea){width:100%;min-height:48px;padding:13px 14px;background:#e7f1f1;border:1px solid #789ba5;border-radius:4px;color:#153b49;font:400 16px/1.5 var(--body)}
.contact-field textarea{resize:vertical;min-height:160px}
.contact-honeypot{display:none}
.contact-privacy,.contact-service-note{font-size:13px;line-height:1.6;color:#426675;margin-top:20px}
.contact-service-note a{text-decoration:underline;text-underline-offset:3px}
.contact-status{font-size:15px;line-height:1.6;margin:18px 0;min-height:24px;color:#153b49}
.contact-status:empty{margin:0;min-height:0}
.contact-status[data-state="error"]{color:#853c16}
.contact-panel .button:disabled{opacity:.65;cursor:wait}
.contact-panel>.text-link{margin-top:22px}
@media(max-width:760px){.contact-grid .contact-panel{grid-row:1}.contact-panel{padding:25px 22px}.contact-field{margin-top:20px}}
html body :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #153b49;outline-offset:3px;box-shadow:0 0 0 6px #ffcd53}
@media(min-width:761px){.pathway .step-number{margin-bottom:24px}}
.sunday-service-photo{margin:24px 0;border-radius:4px;overflow:hidden}
.sunday-service-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-width:760px){.calling-bridge{margin-top:36px;padding-top:24px;min-height:250px}.calling-bridge .kuaka-flight{top:50px;width:450px;height:190px;opacity:.13}.calling-questions{max-width:520px}.sunday-service-photo{margin:20px 0}}
.movement-stats strong{font-variant-numeric:tabular-nums}
.expression-logo>a{display:block;max-width:100%;border-radius:4px}
.expression-logo>a:focus-visible,.coming-brand-art a:focus-visible{outline:3px solid #ffc34c;outline-offset:7px}
.coming-brand-art{display:grid;place-items:center;padding:32px;background:#123e4d;border-radius:12px}
.coming-brand-art a{display:block;max-width:100%}
.coming-brand-art img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain}
.movement-stats strong .metric-visual,.movement-stats strong .metric-visual>span{display:inline;margin:0;font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;max-width:none}
.problem .questions p,.hope-row blockquote p{font-style:italic}
/* Keep the opening promise above the right-hand response on desktop. */
@media(min-width:761px){.problem .section-grid{align-items:start}.problem .problem-copy{padding-top:40px}}
.leadership{background:#d9ecee;color:#153b49}
.leadership h2 em{color:#a64b00;font-style:italic;font-weight:400}
.leadership .lead,.leadership .detail-body,.leadership .eyebrow{color:#315f6f}
.leadership .disclosure summary{color:#153b49}
.leadership .disclosure summary .chevron{color:#a64b00}
.promise-strip a{gap:14px;padding:5px 9px;border-radius:4px;background:rgba(255,180,31,.12);box-shadow:inset 0 0 0 1px rgba(166,75,0,.20);color:#153b49;font-weight:700}
.promise-strip a .chevron{color:#a64b00}
.promise-strip a:hover{background:rgba(255,180,31,.20)}
/* Paint fractional rules rather than borders, which browsers round to 1px. */
.disclosure,.disclosure:last-child,.more-ways,.resource-link,.install{position:relative;--disclosure-rule:#789ba5;border-color:transparent}
.disclosure:before,.resource-link:before,.disclosure:last-child:after,.more-ways:after,.install:after{content:'';position:absolute;left:0;right:0;height:1.25px;background:var(--disclosure-rule);pointer-events:none;z-index:1}
.disclosure:before,.resource-link:before{top:-1px}
.disclosure:last-child:after,.more-ways:after,.install:after{bottom:-1px}
/* Give all three pathway actions the same higher-contrast, fractional rule. */
.pathway .step>.text-link{position:relative;border-bottom-color:transparent}
.pathway .step>.text-link:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1.25px;background:#789ba5;pointer-events:none}
.pathway .step>.text-link:hover:after{background:var(--amber)}
.commission .disclosure{--disclosure-rule:#9bbbc7;border-color:transparent}
.sunday .disclosure,.ecosystem .install{--disclosure-rule:#978553;border-color:transparent}
/* Fit the full approved artwork height; repeat sideways only, never cropped rows. */
.pattern:before,.final-call:before,.utility-page .page-intro:before{inset:50% 0 auto;height:min(100%,var(--kaokao-height));transform:translateY(-50%);background-size:auto 100%;background-repeat:repeat-x}
.pattern:before{--kaokao-height:390px;opacity:.075}
.final-call:before{--kaokao-height:450px;opacity:.11}
.hero-arrow-layer{position:absolute;inset:0 0 0 38%;overflow:hidden;z-index:1;pointer-events:none}
#vision-arrows{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;filter:none;opacity:1}
.hero-bottom{z-index:3}
.motion-opt-in{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);padding:11px 17px;border:1px solid #d2e7e8;border-radius:5px;background:#153b49;color:#f3f8f7;box-shadow:0 5px 22px #0d334133;font:600 13px/1.35 var(--body);cursor:pointer}
.motion-opt-in[hidden]{display:none}
.motion-opt-in:focus-visible{outline:3px solid #ffcd53;outline-offset:3px}
.motion-controls .motion-opt-in{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:12px 20px;background:#153b49;color:#f3f8f7;border:1px solid #d2e7e8;box-shadow:0 5px 22px #0d334133;white-space:normal;text-align:center;z-index:60}
.motion-opt-in span{display:block;font:400 12px/1.5 var(--body);color:#d2e7e8}
.motion-opt-in strong{display:block;font:600 15px/1.5 var(--body);color:#ffdc79}
/* Keep a page-wide replay available without covering content once motion runs. */
html:not(.motion-paused) .motion-controls .motion-opt-in{position:static;left:auto;bottom:auto;transform:none;width:auto;max-width:100%;padding:7px 12px;box-shadow:none}
html:not(.motion-paused) .motion-controls .motion-opt-in span{display:none}
html:not(.motion-paused) .motion-controls .motion-opt-in strong{font-size:12px}
.typewriter-playing .type-letter{animation:type-light var(--type-duration,720ms) var(--type-at) both;opacity:0}
/* Two soft ember variations, never black/white strobing or whole-screen flashes. */
@keyframes type-light{0%{opacity:0;text-shadow:none}8%{opacity:1;text-shadow:0 0 13px #ffce5366}32%{opacity:1;text-shadow:0 0 5px #ffce5326}64%{opacity:1;text-shadow:0 0 17px #ffd57366}100%{opacity:1;text-shadow:none}}
.typewriter-playing .hero-answer .type-letter{animation:answer-letter 576ms var(--type-at) ease-out both}
.typewriter-playing .hero-answer>span{animation:answer-afterglow 720ms var(--answer-glow-at) ease-out both}
.typewriter-playing .hero-answer>.answer-en{animation:answer-typing-flicker var(--answer-flicker-duration) var(--answer-flicker-at) linear both}
.typewriter-playing .hero-answer .answer-en .type-letter{animation:answer-english-letter 72ms var(--type-at) linear both}
@keyframes answer-letter{0%{opacity:0}12%,100%{opacity:1}}
@keyframes answer-afterglow{0%,100%{text-shadow:0 0 0 transparent}38%{text-shadow:0 0 8px #ffcd5355,0 0 18px #ffb41f2b}62%{text-shadow:0 0 3px #ffcd5322}76%{text-shadow:0 0 10px #ffcd533d}}
@keyframes answer-english-letter{from{opacity:0}to{opacity:1}}
@keyframes answer-typing-flicker{0%,12%,34%,55%,78%{opacity:1;text-shadow:0 0 8px #ffcd5344}23%{opacity:.18;text-shadow:none}66%{opacity:.3;text-shadow:none}90%,100%{opacity:1;text-shadow:none}}
.commission:before{left:-1px;top:50%;bottom:auto;width:clamp(300px,30.6vw,440px);height:auto;aspect-ratio:251.929/221.09;transform:translateY(-50%);mask:url('/assets/kahu-logo-niho-original.svg') left center/contain no-repeat;opacity:.11}
.commission>.wrap{position:relative;z-index:1}
/* A rectangular repeat cropped from the original niho, not a repeated wedge. */
.leadership:before{inset:0 auto 0 0;width:clamp(220px,25vw,360px);background:url('/assets/burning-arrows-niho-column-web.png') left top/90px 210px repeat;transform:none;opacity:.045;mask-image:linear-gradient(90deg,#000 0 78%,transparent 100%)}
.ecosystem-grid{isolation:auto}
.ecosystem-grid:before{content:none}
.ecosystem:after{content:'';position:absolute;left:4%;right:4%;top:24px;bottom:24px;background:#41859a;mask:url('/assets/koru-transparent.png') center/contain no-repeat;opacity:.12;z-index:1;pointer-events:none}
.ecosystem .section-intro,.ecosystem .install{position:relative;z-index:2}
.site-footer:before{left:clamp(18px,3vw,48px);top:18px;bottom:0;width:min(48vw,560px);height:auto;mask-size:contain;mask-position:left bottom;opacity:.085}
.fire-scene{height:260px}
.scene-bonfire{left:4%;top:50px;width:180px;height:180px}
.bonfire-aura{left:2%;top:28px}
.weekday:after{content:'';position:absolute;right:-25px;bottom:45px;width:310px;height:220px;background:#287fa3;mask:url('/assets/kahu-large-original.svg') center/contain no-repeat;opacity:.055;pointer-events:none}
.weekday>*,.sunday>*{position:relative;z-index:1}
.sunday:after{content:'';position:absolute;left:0;right:0;bottom:0;height:190px;background:url('/assets/bethel-kaokao-border-contact.svg') center bottom/auto 100% repeat-x;opacity:.045;pointer-events:none}
/* Keep the complete kaokao band below the heading koru and above the lower kāhu. */
.resources:before{content:'';position:absolute;left:0;right:0;bottom:350px;height:160px;background:url('/assets/bethel-kaokao-border-contact.svg') left top/auto 100% repeat-x;opacity:.075;pointer-events:none}
.resources:after{right:1%;bottom:35px;width:440px;height:300px;opacity:.06}
.utility-page main{position:relative;isolation:isolate;overflow:hidden;background:#dceced}
.utility-page main>.section{position:relative;background:transparent;min-height:300px}
.utility-page main>.section>.wrap{position:relative;z-index:1}
.utility-page main>.section:before{content:'';position:absolute;left:-2%;bottom:0;width:clamp(300px,45vw,650px);height:450px;background:#287fa3;mask:url('/assets/koru-transparent.png') left bottom/contain no-repeat;opacity:.045;pointer-events:none}
.utility-page .page-intro{background:#cce3e8}
.utility-page .page-intro:before{--kaokao-height:475px;background-image:url('/assets/bethel-kaokao-border-contact.svg');background-position:center;background-size:auto 100%;background-repeat:repeat-x;opacity:.075}
.utility-page .page-intro:after{content:none}
.utility-page:not(.give-page):not(.contact-page) .site-footer:before{left:auto;right:3%;top:auto;bottom:28px;width:min(520px,85vw);height:350px;background:#81b7c3;mask:url('/assets/kahu-two-birds-transparent.webp') center/contain no-repeat;opacity:.085;pointer-events:none}
.utility-page main>.updates-section:before{left:auto;right:0;width:min(48vw,650px);height:min(650px,100%);mask-position:right bottom}
.utility-page .page-intro>.wrap{z-index:1}
.utility-page .giving-section{background:#dceced}
.utility-page .giving-section:before{content:none}
.utility-page .giving-help{background:#c7dee3}
.utility-page .contact-panel,.utility-page .signup-panel{background:#d3e5e8}
.utility-page .signup-panel{padding:32px;border-radius:5px}
.utility-page .bank-number{background:#c6dfe3}
.button{min-height:48px;border-radius:4px;gap:16px}
.final-call .button{background:#153b49;border-color:#153b49;color:#f3f8f7}
.final-call .button:hover{background:#124b63;border-color:#124b63}
.button:focus-visible,.text-link:focus-visible,.fire-replay:focus-visible,.subtle-button:focus-visible{outline:3px solid #ffcd53;outline-offset:4px}
@media(min-width:1600px){.hero-arrow-layer{left:40%}}
@media(max-width:1050px){.hero-arrow-layer{left:30%}}
@media(max-width:760px){
 .hero-arrow-layer{inset:auto 0 0;height:440px}
 .commission:before{width:min(300px,78vw);height:auto;left:-1px;top:50%;bottom:auto}
 .leadership:before{width:clamp(180px,58vw,230px);background-size:63px 147px;opacity:.035}
 .promise-strip a{flex-basis:auto;margin:5px auto 0}
 .ecosystem:after{left:12px;right:12px;top:30px;bottom:30px;mask-position:center 62%;opacity:.10}
 .site-footer:before{left:16px;right:16px;top:20px;bottom:0;width:auto;height:auto;mask-size:contain;mask-position:left bottom;opacity:.08}
 .fire-scene{height:240px}.scene-bonfire{left:0;top:86px;width:105px;height:105px}.bonfire-aura{left:-20px;top:60px;width:145px;height:145px}
 .resources:before{bottom:260px}
 .resources:after{width:280px;height:220px;right:-8px;bottom:25px}
 .weekday:after{width:245px;height:190px;right:-10px;bottom:20px}
 .utility-page .page-intro:after{width:290px;height:240px;right:-30px;top:10%;opacity:.055}
 .utility-page main>.section:before{left:0;width:85vw;height:320px;opacity:.035}
 .utility-page .signup-panel{padding:24px}.utility-page main>.updates-section:before{left:auto;right:0;width:100%;height:320px;mask-image:url('/assets/koru-transparent.png')}
 .utility-page:not(.give-page):not(.contact-page) .site-footer:before{right:0;bottom:28px;width:100%;height:260px;opacity:.075}
 .motion-opt-in{font-size:12px;bottom:12px;white-space:nowrap}
}
/* Automatic reduced motion remains still; an explicit Play/Replay can opt in. */
@media(prefers-reduced-motion:reduce){
 .motion-enabled .typewriter-playing .type-letter,.hero.motion-requested.typewriter-playing .type-letter{animation:type-light var(--type-duration,720ms) var(--type-at) both!important;animation-play-state:running!important;opacity:0}
 .motion-enabled .typewriter-playing .hero-answer .type-letter,.hero.motion-requested.typewriter-playing .hero-answer .type-letter{animation:answer-letter 576ms var(--type-at) ease-out both!important}
 .motion-enabled .typewriter-playing .hero-answer>span,.hero.motion-requested.typewriter-playing .hero-answer>span{animation:answer-afterglow 720ms var(--answer-glow-at) ease-out both!important}
 .motion-enabled .typewriter-playing .hero-answer>.answer-en,.hero.motion-requested.typewriter-playing .hero-answer>.answer-en{animation:answer-typing-flicker var(--answer-flicker-duration) var(--answer-flicker-at) linear both!important}
 .motion-enabled .typewriter-playing .hero-answer .answer-en .type-letter,.hero.motion-requested.typewriter-playing .hero-answer .answer-en .type-letter{animation:answer-english-letter 72ms var(--type-at) linear both!important}
 .motion-enabled .kahu-flight{transform:translate3d(0,var(--bird-shift,0px),0) rotate(-5deg)!important;transition:transform .55s ease-out!important}
 .motion-enabled .kuaka-flight{left:calc(100% + 40px);will-change:transform}
}

/* Keep the approved Kāhu artwork legible on its coming-soon page. */
.kahu-coming-page .coming-brand-art{background:#f7faf8;padding:24px;width:100%;max-width:448px;justify-self:center}
.kahu-coming-page .coming-brand-art a{width:100%;max-width:400px}
.kahu-coming-page .coming-brand-art img{max-height:none}
.kahu-coming-page main>.updates-section:before{display:none}
