:root {
  --brand-green: #0f9b49;
  --pine: #153f2c;
  --pine2: #236343;
  --sage: #e0ebdc;
  --line: #dce5dc;
  --cream: #faf7f0;
  --muted: #5f6f64;
}

.baptism-hero { background: var(--pine); color: white; padding: 64px 0; }
.baptism-hero .split { gap: 64px; }
.baptism-hero h1 { font-size: 62px; margin-bottom: 18px; }
.baptism-hero .eyebrow { color: var(--sun); }
.baptism-hero p { color: #e0ebdc; }
.baptism-hero .lead { color: white; font-family: var(--heading); font-size: 25px; }
.baptism-hero .image-crop { aspect-ratio: .95; }
.baptism-hero img { object-position: 50% 60%; }
.baptism-hero .button { margin-top: 10px; }
.baptism-player video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.baptism-gallery { margin-top: 56px; padding-top: 44px; border-top: 1px solid var(--line); }
.baptism-gallery h2 { font-size: 34px; margin-bottom: 28px; }
.baptism-gallery-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 16px; }
.baptism-gallery-photo { margin: 0; min-width: 0; overflow: hidden; border-radius: 8px; }
.baptism-gallery-photo img { width: 100%; height: 360px; object-fit: cover; object-position: 50% 50%; }
.baptism-gallery-photo-1 img { object-position: 58% 50%; }
.baptism-gallery-photo-2 img { object-position: 52% 60%; }
.baptism-gallery-photo-3 img { object-position: 56% 50%; }
.subsplash-form { width: 100%; min-width: 0; margin-top: 30px; background: white; border-radius: 8px; overflow: hidden; }
.subsplash-form iframe { display: block; width: 100%; border: 0; }
.form-fallback { font-size: 14px; margin-top: 18px; }
.form-fallback a { color: var(--pine); text-decoration: underline; text-underline-offset: 3px; }
.mission-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: start; }
.scripture-reference { color: var(--pine); font-weight: 700; font-size: 14px; }
.mission-grid { margin-top: 35px; }
.mission-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.ministry-student-image { aspect-ratio: 1; }
.ministry-student-image img { object-position: 50% 40%; }
.mission-partner { background: white; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; }
.mission-photo { aspect-ratio: 4 / 3; background: #eef2ee; }
.mission-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.mission-copy { padding: 25px; flex: 1; display: flex; flex-direction: column; }
.mission-copy .eyebrow { font-size: 11px; line-height: 1.7; margin-bottom: 10px; }
.mission-copy h3 { font-size: 23px; margin-bottom: 24px; }
.mission-copy .text-link { margin-top: auto; font-size: 13px; }
.home-page .student-image { aspect-ratio: 0.95; }
.home-page .student-image img { object-position: 50% 40%; }
@media (max-width:650px) {
  .baptism-hero { padding: 45px 0; }
  .baptism-hero .split { gap: 30px; }
  .baptism-hero h1 { font-size: 42px; }
  .baptism-hero .lead { font-size: 22px; }
  .baptism-hero .image-crop { aspect-ratio: .95; }
  .baptism-gallery { margin-top: 36px; padding-top: 32px; }
  .baptism-gallery h2 { font-size: 29px; }
  .baptism-gallery-grid { grid-template-columns: 1fr; gap: 16px; }
  .baptism-gallery-photo img { height: auto; aspect-ratio: 4 / 5; }
  .baptism-gallery-photo-1 img { aspect-ratio: 3 / 2; }
  .mission-intro { grid-template-columns: 1fr; gap: 20px; }
  .mission-links { grid-template-columns: 1fr; }
  .mission-copy { padding: 24px; }
  .home-page .student-image { aspect-ratio: 0.95; }
}

body { background: var(--cream); }
.container { width: min(1160px, calc(100% - 48px)); }
h1, h2, h3 { font-weight: 700; }
h2 { line-height: 1.1; }
.button { border-radius: 999px; min-height: 48px; padding: 13px 21px; }
.primary { box-shadow: 0 10px 24px #d88a3d22; }
.button.outline { border-color: #153f2c33; background: transparent; color: var(--pine); }
.button.outline:hover { background: #153f2c0a; }
.eyebrow { font-size: 13px; }
.section { padding: 86px 0; }
.site-header { background: #faf7f0f5; backdrop-filter: blur(16px); }
.nav-wrap { min-height: 86px; gap: 22px; }
.brand img { width: 136px; height: 73px; }
#main-nav { gap: 20px; }
.nav-visit { min-height: 44px; padding: 11px 17px; }
.plan-visit-family img { object-position: 50% 20%; }
.plan-visit-worship img { object-position: 50% 50%; }
.plan-visit-kids img { object-position: 50% 65%; }
/* Map the original logo green (15,155,73) to GROW green (8,119,55); black and alpha stay intact. */
.header-logo-color-definition { position: absolute; overflow: hidden; pointer-events: none; }
.site-header .brand img,
img[src^="/assets/life-church-logo.png"],
img[src^="/assets/kid-life-logo.png"] { filter: url("#life-church-logo-green"); }
.grow-nav { border-radius: 999px; background: #087737; }
.grow-nav:hover { background: var(--pine2); }
.lifeline-nav { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font: 600 13px var(--heading); color: var(--pine); white-space: nowrap; }
.lifeline-nav:hover { text-decoration: underline; text-underline-offset: 5px; }
.lifeline-nav svg { width: 18px; height: 18px; }
@media(min-width:901px) and (max-width:1023px) {
  .nav-wrap { gap: 16px; }
  #main-nav { gap: 12px; }
}
.serving-hero>img { object-position: center 20%; }
@media(max-width:650px) { .lifeline-nav { font-size: 12px; } .lifeline-nav svg { display: none; } .nav-actions { gap: 8px; } .nav-wrap { gap: 10px; } }
@media(max-width:359px) { .site-header .brand img { width: 85px; } .site-header .grow-nav { padding-inline: 9px; gap: 5px; } }
.service-bar .container { min-height: 38px; }
.service-bar a:first-child { color: var(--sun); font-weight: 700; }
.footer-logo { display: inline-block; margin-bottom: 22px; }
.footer-logo img { width: 180px; height: 98px; object-fit: contain; }
.footer-grid > div > .footer-logo { margin-bottom: 22px; }
.home-page .section-heading { max-width: 740px; display: block; margin-bottom: 36px; }
.home-page .section-heading h2 { font-size: 47px; margin-bottom: 18px; }
.home-page .section-heading > p { max-width: 680px; font-size: 18px; margin: 0; }
.home-page .section-heading > .eyebrow { color: var(--pine2); font-size: 13px; margin-bottom: 16px; }
.home-page .section-copy h2 { font-size: 46px; }
.home-page .section-copy p { font-size: 18px; line-height: 1.65; }
.home-page .section-copy .eyebrow { font-size: 12px; color: #9b5e24; }
.home-page .section-copy { max-width: none; }
.home-page .split { grid-template-columns: 1fr 1.05fr; gap: 48px; }
.home-page .actions { gap: 12px; }
.restored-hero { background: var(--pine); min-height: min(630px, calc(100svh - 220px)); }
.restored-hero .hero-image { left: auto; right: 0; width: min(50%, 700px); object-position: 50% 46%; mask-image: linear-gradient(90deg, transparent, #000 20%); }
.restored-hero .hero-shade { background: linear-gradient(90deg, #092f20f2 0%, #092f20d9 32%, #092f208f 55%, #092f2000 82%); }
.restored-hero .hero-inner { justify-content: flex-start; padding: 32px 0 40px; }
.restored-hero .hero-copy { width: 770px; max-width: 75%; }
.restored-hero h1 { font-size: 64px; line-height: 1.02; max-width: 720px; margin-bottom: 24px; }
.restored-hero .eyebrow { color: var(--sun); font-size: 13px; margin-bottom: 16px; }
.restored-hero .hero-lead { max-width: 610px; color: #fffffff2; font-size: 19px; line-height: 1.6; }
.hero-welcome { margin: 15px 0 0; color: #e1eddd; font-size: 14px; font-style: italic; }
.restored-hero .actions { margin-top: 28px; gap: 12px; }
.restored-hero .button { font-size: 14px; padding: 13px 22px; }
.hero-meta { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; margin-top: 34px; max-width: 780px; border-radius: 8px; overflow: hidden; }
.hero-meta > div { background: #ffffffed; padding: 18px 20px; color: var(--ink); min-height: 90px; }
.hero-meta span { display: block; font-size: 11px; text-transform: uppercase; color: var(--muted); font-weight: 700; margin-bottom: 6px; }
.hero-meta strong { display: block; font: 600 15px/1.4 var(--heading); }
.welcome-section { background: white; }
.welcome-card { border-radius: 8px; padding: 28px; background: #fbfcfa; }
.home-page .welcome-card h3 { font-size: 23px; margin-bottom: 11px; }
.home-page .welcome-card p { font-size: 16px; line-height: 1.65; }
.feature-number { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: var(--sage); color: var(--pine); font-weight: 700; margin-bottom: 23px; }
.home-page .nations { background: #edf3e9; }
.home-page .image-crop { border-radius: 8px; box-shadow: 0 18px 40px #153f2c0d; }
.home-page .family-image { aspect-ratio: 1.12; }
.home-page .nations-image { aspect-ratio: 1.12; }
.nations-image img { object-position: 50% 46%; }
.language-strip { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0 28px; }
.language-strip span { display: inline-flex; align-items: center; min-height: 35px; background: white; color: var(--pine); border: 1px solid #153f2c1c; border-radius: 999px; padding: 0 14px; font-weight: 600; font-size: 14px; }
.home-page .kids-section { background: var(--cream); }
.home-page .kids-image { aspect-ratio: .92; }
.home-page .kids-section .section-copy h2 { font-size: 41px; }
.ministry-logo { object-fit: contain; object-position: left center; margin-bottom: 22px; }
.kid-logo { width: 84px; height: 84px; }
.student-logo { width: 157px; height: 62px; }
.home-page .student-section { background: white; }
.home-page .student-image { box-shadow: none; aspect-ratio: 1.03; }
.student-section h2, .student-section .eyebrow { color: var(--pine); }
.home-page .location-section { background: var(--pine); color: white; padding: 64px 0; }
.detail-panel { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 40px; }
.detail-panel h2 { font-size: 46px; }
.detail-panel .eyebrow { color: var(--sun); }
.detail-panel p { color: #ffffffc9; max-width: 600px; font-size: 18px; }
.address-card { border: 1px solid #ffffff33; border-radius: 8px; background: #ffffff15; padding: 28px; }
.address-card strong { font: 700 25px/1.3 var(--heading); display: block; margin-bottom: 14px; }
.address-card address { color: #ffffffd9; font-size: 16px; line-height: 1.7; }
.home-pathway { background: white; }
.home-pathway-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.home-path-step { padding: 30px 24px; background: white; position: relative; }
.home-path-step > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: var(--pine); color: var(--sun); font-weight: 700; margin-bottom: 25px; }
.home-path-step h3 { font-size: 27px; margin-bottom: 12px; }
.home-path-step p { font-size: 15px; margin-bottom: 28px; }
.home-path-step > svg { position: absolute; bottom: 22px; right: 24px; color: var(--pine2); width: 17px; height: 17px; }
.home-path-step:hover { background: #f6f9f3; }
.home-page .grow-feature { background: #e0ebdc; color: var(--ink); }
.home-page .grow-word { color: #087737; }
.home-page .grow-heading > p, .home-page .grow-copy p, .home-page .grow-resources { color: var(--muted); }
.home-page .grow-copy { border-color: #153f2c33; }
.home-page .grow-copy h2 { font-size: 40px; }
.home-page .grow-resources { font-size: 12px; }
.media-events { background: #f0f5ec; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: stretch; }
.content-block { border: 1px solid var(--line); border-radius: 8px; background: white; overflow: hidden; }
.content-block .media-player { border-radius: 0; }
.embedded-message .player-fallback { padding: 0 16px; font-size: 11px; margin-bottom: 0; }
.block-copy { padding: 28px; }
.block-copy h2 { font-size: 30px; margin-bottom: 14px; }
.block-copy p { font-size: 16px; }
.block-copy .eyebrow { font-size: 11px; }
.connection-list { display: grid; gap: 12px; padding: 0 28px 28px; }
.connection-list > :is(a,.student-meeting) { display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 8px; padding: 14px; }
.connection-list > :is(a,.student-meeting) > span { display: grid; place-items: center; width: 43px; height: 43px; flex: none; border-radius: 6px; background: var(--cream); color: var(--pine); }
.connection-list strong { display: block; font-size: 14px; }
.connection-list small { display: block; font-size: 11px; color: var(--muted); }
.connection-list > a > svg { margin-left: auto; width: 16px; height: 16px; }
.app-section { background: var(--cream); }
.app-row { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: center; }
.phone-visual { width: 235px; margin: 0 auto; border: 9px solid #153026; border-radius: 30px; overflow: hidden; box-shadow: 0 20px 50px #153f2c1c; }
.phone-visual img { width: 100%; height: auto; }
.app-section .section-copy h2 { font-size: 46px; }
.prayer-section { background: white; padding: 60px 0; }
.prayer-section h2 { font-size: 36px; max-width: 650px; }
.prayer-section .cta-row { align-items: start; }
.prayer-section .actions { margin-top: 10px; flex: none; flex-direction: column; align-items: stretch; }
.inner-page .section { background-color: white; }
.inner-page .sage { background: var(--sage); }
.inner-page .kids-section { background: var(--cream); }

@media (max-width:1170px) {
  .restored-hero h1 { font-size: 62px; max-width: 650px; }
  .restored-hero .hero-copy { max-width: 78%; }
  .home-page .section-heading h2 { font-size: 43px; }
  .home-page .section-copy h2 { font-size: 40px; }
  .home-page .kids-section .section-copy h2 { font-size: 37px; }
}
@media (max-width:900px) {
  .nav-wrap { min-height: 78px; }
  .brand img { width: 113px; height: 61px; }
  .restored-hero .hero-copy { max-width: 91%; }
  .restored-hero h1 { font-size: 55px; max-width: 600px; }
  .restored-hero .hero-lead { font-size: 18px; max-width: 560px; }
  .restored-hero .hero-shade { background: linear-gradient(90deg,#092f20eb 0%,#092f20cc 50%,#092f2055 100%); }
  .hero-meta { max-width: 650px; }
  .hero-meta > div { padding: 16px; }
  .hero-meta strong { font-size: 13px; }
  .home-page .section-copy h2, .home-page .kids-section .section-copy h2 { font-size: 32px; }
  .home-page .section-copy p { font-size: 16px; }
  .home-page .split { gap: 30px; }
  .home-page .section-heading h2 { font-size: 37px; }
  .detail-panel { grid-template-columns: 1fr 1fr; gap: 30px; }
  .detail-panel h2 { font-size: 36px; }
  .address-card { padding: 23px; }
  .address-card strong { font-size: 21px; }
  .home-pathway-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .block-copy { padding: 23px; }
  .block-copy h2 { font-size: 26px; }
  .connection-list { padding: 0 23px 23px; }
  .connection-list > a { padding: 11px; gap: 10px; }
  .connection-list > a > span { display: none; }
  .app-row { gap: 40px; }
  .app-section .section-copy h2 { font-size: 35px; }
  .prayer-section h2 { font-size: 31px; }
}
@media (max-width:650px) {
  .container { width: calc(100% - 32px); }
  .section { padding: 60px 0; }
  .nav-wrap { min-height: 74px; }
  .brand img { width: 102px; height: 55px; }
  .service-bar .container { min-height: 32px; }
  .restored-hero { min-height: 0; align-items: center; }
  .restored-hero .hero-inner { padding: 38px 0 42px; }
  .restored-hero .hero-copy { max-width: 100%; width: 100%; }
  .restored-hero h1 { font-size: 42px; line-height: 1.08; max-width: 380px; margin-bottom: 20px; }
  .restored-hero .eyebrow { font-size: 10px; margin-bottom: 16px; }
  .restored-hero .hero-lead { font-size: 15px; line-height: 1.65; }
  .restored-hero .hero-image { left: 0; right: 0; width: 100%; object-position: 51% 30%; mask-image: none; }
  .restored-hero .hero-shade { background: #0b3526d9; }
  .restored-hero .actions { margin-top: 24px; gap: 10px; }
  .restored-hero .button { font-size: 12px; padding: 12px 15px; gap: 7px; }
  .hero-meta { margin-top: 26px; }
  .hero-meta > div { padding: 12px 10px; min-height: 93px; }
  .hero-meta span { font-size: 9px; }
  .hero-meta strong { font-size: 11px; line-height: 1.4; }
  .home-page .section-heading h2 { font-size: 33px; }
  .home-page .section-heading > p { font-size: 16px; }
  .home-page .welcome-card h3 { font-size: 23px; }
  .home-page .welcome-card p { font-size: 16px; }
  .home-page .split, .detail-panel, .two-col, .app-row { grid-template-columns: 1fr; gap: 32px; }
  .home-page .section-copy h2, .home-page .kids-section .section-copy h2 { font-size: 34px; }
  .home-page .section-copy p { font-size: 16px; }
  .home-page .image-crop { aspect-ratio: 1.12; }
  .home-page .kids-section .split > .kids-image { order: 0; }
  .home-page .kids-section .split > .section-copy { order: 0; }
  .ministry-logo { margin-bottom: 18px; }
  .kid-logo { width: 70px; height: 70px; }
  .home-page .student-section .image-crop { order: -1; }
  .language-strip { gap: 7px; }
  .language-strip span { font-size: 12px; padding: 0 12px; }
  .home-page .location-section { padding: 50px 0; }
  .detail-panel h2 { font-size: 34px; }
  .detail-panel p { font-size: 16px; }
  .address-card strong { font-size: 23px; }
  .address-card address { font-size: 15px; }
  .home-pathway-grid { grid-template-columns: 1fr; }
  .home-path-step { padding: 25px; }
  .home-path-step > span { width: 40px; height: 40px; margin-bottom: 18px; }
  .home-path-step h3 { font-size: 26px; }
  .home-path-step p { margin-bottom: 0; padding-right: 20px; }
  .home-page .grow-copy h2 { font-size: 32px; }
  .home-page .grow-word { font-size: 60px; }
  .block-copy { padding: 26px; }
  .block-copy h2 { font-size: 29px; }
  .connection-list { padding: 0 26px 26px; }
  .connection-list > a > span { display: grid; }
  .phone-visual { width: 210px; }
  .app-section .section-copy h2 { font-size: 34px; }
  .prayer-section { padding: 50px 0; }
  .prayer-section h2 { font-size: 32px; }
  .prayer-section .actions { margin-top: 28px; align-items: start; }
  .footer-logo img { width: 166px; height: 90px; }
}
@media (max-width:650px) and (max-height:720px) {
  .restored-hero .hero-inner { padding: 28px 0 32px; }
  .restored-hero h1 { font-size: 36px; }
  .restored-hero .hero-lead { font-size: 14px; line-height: 1.55; }
  .hero-meta { margin-top: 18px; }
  .hero-meta > div { min-height: 0; padding: 10px; }
  .hero-meta strong { font-size: 11px; }
  .home-page .welcome-section { padding-top: 18px; }
}
@media (min-width:901px) and (max-height:760px) {
  .restored-hero h1 { font-size: 52px; max-width: 660px; margin-bottom: 18px; }
  .restored-hero .hero-inner { padding: 18px 0 20px; }
  .restored-hero .hero-lead { font-size: 17px; }
  .restored-hero .actions { margin-top: 22px; }
  .hero-meta { margin-top: 18px; }
  .hero-meta > div { min-height: 75px; padding: 14px 18px; }
  .home-page .welcome-section { padding-top: 36px; }
}
@media (max-width:500px) {
  .restored-hero h1 { font-size: 36px; line-height: 1.12; }
}
@media (max-width:420px) {
  .restored-hero h1 { font-size: 28px; }
}

@media (max-width:650px) {
  .restored-hero { display: flex; flex-direction: column; align-items: stretch; }
  .restored-hero .hero-image { position: relative; inset: auto; z-index: 0; display: block; width: 100%; height: auto; aspect-ratio: 1.05; object-fit: cover; object-position: 50% 40%; mask-image: none; }
  .restored-hero .hero-shade { display: none; }
  .restored-hero .hero-inner { padding: 28px 0 32px; }
  .restored-hero .hero-copy { width: 100%; max-width: none; }
  .restored-hero .eyebrow { font-size: 10px; line-height: 1.7; margin-bottom: 14px; }
  .restored-hero h1 { font-size: 32px; line-height: 1.1; margin-bottom: 18px; }
  .restored-hero .hero-lead { font-size: 16px; line-height: 1.6; }
  .restored-hero .hero-welcome { font-size: 14px; margin-top: 14px; }
  .restored-hero .actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; }
  .restored-hero .button { justify-content: center; min-height: 48px; font-size: 12px; padding: 12px 10px; }
  .restored-hero .hero-meta { margin-top: 24px; }
  .restored-hero .hero-meta > div { padding: 14px 10px; min-height: 96px; }
  .restored-hero .hero-meta span { font-size: 10px; }
  .restored-hero .hero-meta strong { font-size: 12px; line-height: 1.45; }
}
@media (max-width:359px) {
  .restored-hero h1 { font-size: 28px; }
  .restored-hero .button { font-size: 11px; gap: 6px; }
}
.home-page :is(.nations,.kids-section,.student-section,.app-section) .section-copy > .eyebrow,
.home-page .home-pathway .section-heading > .eyebrow {
  font-size: 19px;
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 16px;
}
.home-page .student-logo { width: 220px; height: 87px; max-width: 100%; }
@media(max-width:650px) {
  .home-page :is(.nations,.kids-section,.student-section,.app-section) .section-copy > .eyebrow,
  .home-page .home-pathway .section-heading > .eyebrow { font-size: 17px; }
  .home-page .student-logo { width: 200px; height: 79px; }
}
