/* The church's approved, high-contrast colour palette. */
:root{--cream:#FFF8EE;--ink:#292929;--muted:#292929;--navy:#14243A;--green:#134E4A;--deep:#14243A;--gold:#C49A38;--line:#C49A3840;--sky:#EAF4FB}
body{background:#FFF8EE;color:#292929}
body .topline,body header,body header nav{background:#FFF8EE;color:#292929;border-color:#C49A3840}
body header .brand,body header .brand small,body header nav a,body header .menu{color:#14243A}
body header nav a.active,body header nav a:hover{color:#134E4A}
body header nav a.active:after{background:#C49A38}
body .section,body .values-section,body .first-visit,body .scripture,body .next-gathering,body .connection-paths,body .prayer-banner,body .cinema-reel{background:#FFF8EE;color:#292929;border-color:#C49A3840}
body #services,body #new-here,body #values,body #church-life,body #membership,body .next-gathering,body .prayer-banner,body .cinema-reel{background:#EAF4FB}
body .section p,body .values-section p,body .first-visit p,body .next-gathering p,body .connection-paths p,body .scripture blockquote{color:#292929!important}
body .section :is(h2,h3,h4),body .section h2 em,body .values-section h2,body .values-section h2 em,body .value h3,body .next-gathering h2,body .connection-paths h3,body .prayer-banner h2{color:#14243A!important}
body .section .eyebrow,body .values-section .eyebrow,body .scripture .eyebrow,body .prayer-banner .eyebrow,body .next-service-kicker,body .cinema-reel-heading>span,body .connection-paths small{color:#14243A!important}
body .section .inline-link,body .section .text-link,body .giving-question,body .cinema-reel-heading>a,body .visitor-questions a,body .schedule-utility a{color:#134E4A!important}
body .section .split-heading>p strong,body .schedule-utility>span,body .next-gathering .next-service-status,body .service-countdown span,body .service-countdown>b,body .milestones span,body .value summary>span,body .scripture>span{color:#292929!important}
body .service-countdown strong,body .visitor-questions summary,body .team-title>span,body .gallery-controls>span{color:#14243A!important}
body #services .service-time-card,body #services .service-time-card:first-child,body #ministries .ministry,body #leadership .team-member,body #leadership .pastors,body .membership-panel,body .contact-panel,body #giving .giving-bank-card{background:#FFF8EE;color:#292929;border-color:#C49A3860;box-shadow:0 10px 30px #14243A09}
body #services .service-time-day,body #services .service-time-hours,body #services .service-time-description,body #services .service-time-card a,body #ministries .ministry b,body #ministries .leader-label,body #ministries .card-no,body #leadership .team p,body #leadership .team-title>span{color:#292929!important}
body #services .service-time-hours .time-value{color:#14243A!important}
body .connection-paths>a,body .connection-paths>button,body .connection-paths>a:nth-child(3){background:#FFF8EE;color:#292929;border-color:#C49A3855}
body .connection-paths>button:nth-child(2){background:#EAF4FB}
body .life-marquee{background:#EAF4FB;border-block:1px solid #C49A3840}
body .marquee-track span{color:#14243A}.marquee-track i{color:#C49A38}
body #giving .giving-bank-card dd,body #giving .giving-bank-card dt,body #giving .giving-card-heading,body #giving .giving-bank-note,body #giving .giving-copy-row>span{color:#292929!important}
body #giving .giving-account{background:#EAF4FB;border-color:#C49A3855}
body .membership-fields label,body .membership-instructions,body .membership-panel-title>span,body .membership-panel-title>small,body .membership-note,body .membership-fields small,body .membership-consent,body .membership-help strong,body #membership-summary dt,body #membership-summary dd{color:#292929!important}
body .membership-fields input,body .membership-fields select,body form input,body form textarea{background:#FFF8EE;color:#292929;border-color:#134E4A80}
body .contact-panel small,body .contact-panel .contact-main,body .contact-panel p,body .visit .small-note{color:#292929!important}
body .contact-panel .contact-main.email,body .contact-panel .map-directions,body .contact-social a{color:#134E4A!important}
body footer{background:#EAF4FB;color:#292929;border-top:1px solid #C49A3850}
body footer .brand,body footer .brand small{color:#14243A}body footer p,body .footer-bottom,body .footer-social>span{color:#292929!important}body footer a{color:#134E4A}
body :is(.button,.values-toggle,.ministry-filters button,.gallery-controls button,.giving-copy-row button,.life-gallery-footer>button,#connect-toggle,#motion-toggle),body header nav a.nav-button,body #giving #copy-church-account{background:#134E4A!important;color:#FFFFFF!important;border:1px solid #134E4A!important}
body :is(.button,.values-toggle,.ministry-filters button,.gallery-controls button,.giving-copy-row button,.life-gallery-footer>button):hover{background:#14243A!important;color:#FFFFFF!important}
body .ministry-filters button[aria-pressed="true"]{box-shadow:0 0 0 3px #C49A38;outline-offset:3px}
body #quick-connect{background:#FFF8EE;border-color:#C49A38}body #quick-connect a,body #quick-connect button{color:#134E4A}
body #quick-connect button{background:#FFF8EE}
body dialog{background:#FFF8EE;color:#292929}body dialog h2,body dialog h2 em{color:#14243A}body dialog p,body dialog label,body dialog small{color:#292929}
body :is(.life-view-controls button,.life-view-close,.close-dialog,.close-portrait){background:#134E4A;color:#FFFFFF;border-color:#134E4A}
body #life-gallery-dialog,body #portrait-dialog{background:#14243A;color:#FFFFFF}
body #life-gallery-dialog p,body #life-gallery-dialog span,body #portrait-dialog p{color:#FFFFFF}
/* Text on photography always has a dependable dark backdrop. */
.hero-shade{background:linear-gradient(90deg,#14243AF0,#14243AC4 52%,#14243A55),linear-gradient(0deg,#14243AB3,transparent 60%)}
body .hero .kinetic-line,body .hero .kinetic-line:last-child,body .hero .hero-content>p,body .hero .eyebrow.light,body .hero .text-link,body .hero-bottom,body .hero-bottom>span:nth-child(2),body .hero-service-note{color:#FFFFFF!important}
body .hero .kinetic-line:last-child{text-decoration:underline;text-decoration-color:#C49A38;text-decoration-thickness:3px;text-underline-offset:12px}
body .hero-family .family-caption{background:#FFF8EE;color:#14243A;text-shadow:none;padding:16px 8px;margin-top:0}
body .hero-family .family-caption>span{color:#14243A}
body .cinema-frame>span{background:linear-gradient(transparent 15%,#14243AF5);color:#FFFFFF}
body #church-life .life-photo:after{inset:35% 0 0;background:linear-gradient(transparent,#14243AF5)}
body #church-life .life-photo strong,body #church-life .life-photo b,body .cinema-frame b{color:#FFFFFF}
body .pastor-photo-caption{background:transparent;color:#14243A;border:0;box-shadow:none}body .pastor-photo-caption strong{color:#14243A!important}body .pastor-photo-caption span{color:#292929!important}body .pastor-gallery{background:#FFF8EE}
body .video-wrap>a{background:#134E4A;color:#FFFFFF}
body .ministry .icon,body .contact-icon,body .card-no,body .cinema-orbit-star{color:#C49A38}
body .family-photo,body .cinema-frame,body #church-life .life-photo{border-color:#C49A38}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #134E4A;outline-offset:5px}
body .hero :is(a,button):focus-visible{outline-color:#FFFFFF}
@media(max-width:760px){.hero-shade{background:linear-gradient(90deg,#14243AEA,#14243ACC),linear-gradient(0deg,#14243AB3,transparent)}}
/* Explicit section colours supersede the earlier theme layers. */
body main #about,body main #ministries,body main #leadership,body main #message,body main #giving,body main #visit{background:#FFF8EE;color:#292929}
body main #services,body main #new-here,body main #values,body main #church-life,body main #membership,body main #next-service{background:#EAF4FB;color:#292929}
body .membership-card-image,body .membership-help,body .ministry .icon,body .contact-icon,body .service-time-card .service-time-icon{border-color:#C49A38}
body .service-time-card .service-time-icon{color:#C49A38}
body .section .teaching-meta,body .life-gallery-footer>span,body .membership-help strong,body .membership-panel-title>span,body .footer-main>div{color:#292929!important}
/* Sea-blue navigation and action buttons. */
:root{--action-blue:#12647B;--action-blue-hover:#0B4B61}
body :is(.button,.values-toggle,.ministry-filters button,.gallery-controls button,.giving-copy-row button,.life-gallery-footer>button,#connect-toggle,#motion-toggle,.life-view-controls button,.life-view-close,.close-dialog,.close-portrait),body header nav a.nav-button,body #giving #copy-church-account{background:#12647B!important;color:#FFFFFF!important;border-color:#12647B!important}
body :is(.button,.values-toggle,.ministry-filters button,.gallery-controls button,.giving-copy-row button,.life-gallery-footer>button,#connect-toggle,#motion-toggle,.life-view-controls button,.life-view-close,.close-dialog,.close-portrait):hover,body header nav a.nav-button:hover{background:#0B4B61!important;color:#FFFFFF!important;border-color:#0B4B61!important}
body header nav{gap:10px}
body header nav a,body header .menu{background:#12647B!important;color:#FFFFFF!important;border:1px solid #12647B;border-radius:8px;padding:12px 16px;line-height:1.5;text-align:center}
body header nav a:hover,body header nav a.active,body header .menu:hover{background:#0B4B61!important;color:#FFFFFF!important}
body header nav a.active{box-shadow:inset 0 -3px #C49A38}
body header nav a.active:after{display:none}
body #quick-connect a,body #quick-connect button{display:flex;background:#12647B!important;color:#FFFFFF!important;border:1px solid #12647B;border-radius:7px;margin:5px 0;padding:12px 14px}
body #quick-connect a:hover,body #quick-connect button:hover{background:#0B4B61!important}
body .ministry>a{background:#12647B!important;color:#FFFFFF!important;border-color:#12647B!important}
body .video-wrap>a{background:#12647B;color:#FFFFFF}
body .footer-links a{background:#12647B;color:#FFFFFF;border-radius:7px;padding:10px 14px;display:inline-flex;align-items:center;min-height:44px}
body header nav a:focus-visible,body header .menu:focus-visible{outline:3px solid #14243A;outline-offset:4px}
@media(max-width:1300px){body header nav{gap:10px;padding-top:18px;padding-bottom:24px}body header nav a{padding:12px 16px}body header nav .nav-button{margin-top:0}}
@media(max-width:760px){body header .menu{padding:10px 12px;gap:8px}body header nav a{min-height:48px}}
body .footer-main .footer-links{flex-wrap:wrap;gap:12px}
body .footer-main .footer-links a{background:#12647B;color:#FFFFFF;border:1px solid #12647B}
body .footer-main .footer-links a:hover{background:#0B4B61;color:#FFFFFF}
body main #childrens-church{background:#FFF8EE;color:#292929;display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
#childrens-church h2,#childrens-church h2 em{color:#14243A}#childrens-church p{color:#292929}
.children-video-player{border:1px solid #C49A38;border-radius:16px;overflow:hidden;background:#14243A;box-shadow:0 14px 38px #14243A12}
.children-video-player video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#14243A}
body .ministry p.children-watch{min-height:0;margin:22px 0 10px;max-width:none}
.ministry .children-watch .button{padding:12px 16px;min-height:46px;font-size:17px}
@media(max-width:1000px){body main #childrens-church{grid-template-columns:1fr;gap:30px}.children-video-player{max-width:850px;width:100%}}
/* Contemporary, readable typography for pastoral names. */
body .hero-family .family-caption strong,body .hero-family .family-caption>span,body .pastor-photo-caption strong,body #leadership .pastor-copy h3,body #leadership .pastor-copy h3 em,body #leadership .team h4{
font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;font-weight:700;font-style:normal;text-transform:none;letter-spacing:-.5px;line-height:1.35;color:#14243A!important;
-webkit-text-stroke:0;text-shadow:none;overflow-wrap:normal;word-break:normal;
}
body .hero-family .family-caption strong{font-size:29px}
body .hero-family .family-caption>span{font-size:25px;font-weight:500;letter-spacing:-.3px;margin-top:8px}
body .pastor-photo-caption strong{font-size:25px;display:block;padding-bottom:5px}
body .pastor-photo-caption{display:block;text-align:center;padding:22px 8px 10px;background:transparent;border:0;box-shadow:none}
body .pastor-photo-caption>span{display:block;margin-top:9px;font-family:'DM Sans',Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:1.3px;text-shadow:none;color:#292929}
body #leadership .pastor-copy h3 em{font-weight:500}
body #leadership .team h4{letter-spacing:-.3px}
@media(max-width:760px){body .hero-family .family-caption strong{font-size:26px}body .hero-family .family-caption>span{font-size:24px}body .pastor-photo-caption strong{font-size:23px}}
/* Header and footer logos: another 50% larger, with gentle full rotation. */
body header .church-logo{width:275.4px;height:auto;max-width:100%;animation:corner-logo-turn 22s cubic-bezier(.45,0,.55,1) infinite;transform-origin:center;backface-visibility:visible}
body footer .church-logo{width:357px;height:auto;max-width:100%;animation:corner-logo-turn 24s cubic-bezier(.45,0,.55,1) infinite;transform-origin:center;backface-visibility:visible}
body header{height:190px}body header nav{top:190px}
html{scroll-padding-top:205px}body .section,body .values-section,body .church-life{scroll-margin-top:205px}
@keyframes corner-logo-turn{0%,28%{transform:perspective(1000px) rotateY(0deg)}78%,100%{transform:perspective(1000px) rotateY(360deg)}}
body .corner-logo-offscreen,body.cinema-tab-hidden .church-logo,.cinema-tab-hidden body .church-logo{animation-play-state:paused!important}
.motion-paused body header .church-logo,.motion-paused body footer .church-logo,body.motion-paused header .church-logo,body.motion-paused footer .church-logo{animation:none!important;transform:none!important}
@media(max-width:1300px){body header nav{top:190px}}
@media(max-width:760px){body header .church-logo{width:173.4px}body footer .church-logo{width:267.75px}body header{height:138px}body header nav{top:138px}html{scroll-padding-top:150px}body .section,body .values-section,body .church-life{scroll-margin-top:150px}}
@media(max-width:500px){body header .brand>span{display:none}}
@media(prefers-reduced-motion:reduce){body header .church-logo,body footer .church-logo{animation:none!important;transform:none!important}}
body footer .footer-main{flex-wrap:wrap}
body footer .brand{flex:0 0 357px;width:357px;max-width:100%}
@media(max-width:760px){body footer .brand{flex-basis:267.75px;width:267.75px}}

/* Give the church identity the same visual scale as the welcome headline. */
body .hero .hero-church-name{
  display:block;
  max-width:100%;
  margin:0 0 34px;
  font-family:'Libre Caslon Display',Georgia,serif;
  font-size:clamp(72px,6.24vw,91.2px);
  font-weight:700;
  line-height:1.12;
  letter-spacing:-1.5px;
  text-transform:none;
  color:#FFFFFF!important;
  text-shadow:0 2px 18px #14243A99;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
@media(max-width:760px){
  body .hero .hero-church-name{font-size:50px;line-height:1.14;letter-spacing:-1px;margin-bottom:30px}
}
@media(max-width:350px){
  body .hero .hero-church-name{font-size:43px}
}

/* Yellow highlights and white lettering on the darkened homepage photograph. */
body .hero .kinetic-headline .kinetic-word{color:#FFFFFF!important}
body .hero .kinetic-headline .kinetic-line:first-child .kinetic-word,
body .hero .kinetic-headline .kinetic-line:nth-child(2) .kinetic-word:last-child,
body .hero .kinetic-headline .kinetic-line:nth-child(3) .kinetic-word:last-child,
body .hero .kinetic-headline .kinetic-line:last-child .kinetic-word:last-child{color:#FFE066!important}
body .hero .kinetic-headline .kinetic-line:last-child{text-decoration-color:#FFE066}

/* A warmer welcome, with clear next steps and a calm entrance sequence. */
body .hero .kinetic-headline .kinetic-line:last-child{text-decoration:none}
body .hero .hero-content{padding-bottom:150px}
body .hero .hero-invitation{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(28px,2.5vw,36px);line-height:1.3;max-width:560px;margin:28px 0 16px;animation:welcome-rise .8s 1.6s both}
body .hero .hero-welcome-copy{max-width:510px;font-size:21px;line-height:1.65;margin:0 0 24px;animation:welcome-rise .8s 1.9s both}
body .hero .hero-next-steps{gap:12px;flex-wrap:wrap;animation:welcome-rise .8s 2.2s both}
body .hero-next-steps .button{background:#12647B;color:#fff!important;border:1px solid #FFFFFF55;border-radius:12px;padding:15px 20px;font:600 17px/1.4 'DM Sans',Arial,sans-serif;gap:16px;min-height:54px}
body .hero-next-steps .button:first-child{background:#0B4B61;border-color:#FFE066}
body .hero-next-steps .button:hover,body .hero-next-steps .button:focus-visible{background:#0B4B61;transform:translateY(-3px)}
body .hero-service-link{display:inline-flex;align-items:center;gap:12px;max-width:100%;margin-top:22px;font-size:16px;line-height:1.6;color:#fff;text-decoration:underline;text-underline-offset:5px;animation:welcome-rise .8s 2.4s both}
@keyframes welcome-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
body #message{background:#FFF8EE;align-items:center;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,70px)}
body #message h2{font-size:clamp(40px,4vw,60px);line-height:1.1;text-wrap:balance}
body #message .teaching-copy>p{max-width:580px;line-height:1.7}
body #message .message-recording-label{font-size:13px;font-weight:700;letter-spacing:1.8px;margin:28px 0 12px;color:#12647B!important}
body #message .teaching-copy h3{font-size:clamp(24px,2.4vw,32px);line-height:1.3;margin-bottom:14px}
body #message .teaching-meta{font-size:13px;line-height:1.8}
body #message .video-wrap{width:100%;min-width:0;border-radius:24px;overflow:hidden;border:1px solid #C49A3866;box-shadow:0 18px 48px #14243A18}
body .message-player{position:relative;aspect-ratio:16/9;background:#14243A}
body .message-player iframe{display:block;width:100%;height:100%;border:0;aspect-ratio:16/9}
body .message-play{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#14243A;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;isolation:isolate}
body .message-play img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s ease}
body .message-play:before{content:'';position:absolute;inset:0;background:#14243A99;z-index:-1}
body .message-play-symbol{display:grid;place-items:center;width:82px;height:82px;border:1px solid #fff;border-radius:50%;background:#12647BEF;font:44px/1 Arial,sans-serif;padding-left:5px;transition:transform .3s,background .3s}
body .message-play-label{font-size:20px;font-weight:700;line-height:1.4;text-align:center;padding:0 20px}
body .message-play:hover img,body .message-play:focus-visible img{transform:scale(1.035)}
body .message-play:hover .message-play-symbol{transform:scale(1.08);background:#0B4B61}
body .message-play:focus-visible{outline:4px solid #FFE066;outline-offset:-6px}
body #message .video-wrap>a{padding:18px 24px;min-height:58px;font-size:16px}
body .cinema-frame{width:420px;height:290px;border-radius:20px}
body #church-life .life-photo:nth-child(6n+1){aspect-ratio:16/9}
body #church-life .life-photo:nth-child(6n+1) img{animation:community-breathe 18s ease-in-out infinite alternate;animation-play-state:paused}
body #church-life .life-photo.photo-in-view img{animation-play-state:running}
body #church-life .life-photo:hover img,body #church-life .life-photo:focus-visible img{animation-play-state:paused}
@keyframes community-breathe{from{transform:scale(1)}to{transform:scale(1.035)}}
.cinema-tab-hidden body #church-life .life-photo img,.motion-paused body #church-life .life-photo img{animation-play-state:paused!important}
.motion-paused body .hero .hero-invitation,.motion-paused body .hero .hero-welcome-copy,.motion-paused body .hero .hero-next-steps,.motion-paused body .hero-service-link{animation:none!important;opacity:1;transform:none}
@media(max-width:1000px){body #message{grid-template-columns:1fr}body #message .video-wrap{max-width:850px}}
@media(max-width:760px){body .hero .hero-content{padding-bottom:40px}body .hero .hero-invitation{font-size:29px}body .hero .hero-welcome-copy{font-size:20px}body .hero .hero-next-steps{gap:10px}body .hero-next-steps .button{flex:1 1 190px;justify-content:space-between}body .hero-service-link{font-size:15px}body .cinema-frame{width:310px;height:230px}body #church-life .life-photo:nth-child(6n+1){aspect-ratio:4/3}body .message-play-symbol{width:66px;height:66px;font-size:36px}body .message-play-label{font-size:17px}}
@media(prefers-reduced-motion:reduce){body .hero .hero-invitation,body .hero .hero-welcome-copy,body .hero .hero-next-steps,body .hero-service-link,body #church-life .life-photo img{animation:none!important;opacity:1;transform:none}body .message-play img,body .message-play-symbol{transition:none!important;transform:none!important}}
