/* Master document palette and church identity. Load after site.css. */
:root {
  --green: #202023;
  --dark: #17171a;
  --ink: #29272a;
  --muted: #625d59;
  --cream: #f7f3eb;
  --white: #fffdf9;
  --gold: #79551f;
  --line: #ded4c5;
  --gold-bright: #dfbc78;
  --red: #842633;
  --red-dark: #641c28;
}

html { scroll-padding-top: 120px; }
body { background: var(--cream); }
a:hover { color: var(--gold); }
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, summary:focus-visible {
  outline: 3px solid #9b3446;
  outline-offset: 5px;
}
.button {
  background: var(--gold-bright);
  border-color: var(--gold-bright);
  color: #201b15;
  font-size: 13px;
  font-weight: 700;
  border-radius: 2px;
  min-height: 48px;
  box-shadow: 0 3px 0 rgba(39, 28, 15, .06);
}
.button:hover {
  background: #edce95;
  border-color: #edce95;
  color: #201b15;
}
.button-outline {
  background: transparent;
  border-color: #9c7a45;
  color: #513b1c;
  box-shadow: none;
}
.button-outline:hover { background: #ede2cd; border-color: #9c7a45; color: #342617; }
.button-light { background: var(--white); border-color: var(--white); color: #292326; }
.button-light:hover { background: #eee4d3; border-color: #eee4d3; color: #292326; }
.button-red { background: var(--red); border-color: var(--red); color: white; }
.button-red:hover { background: var(--red-dark); border-color: var(--red-dark); color: white; }
.text-link { border-bottom-color: #b48b4c; }
.draft-bar { background: #ebe0cc; color: #4b3e2e; }
.draft-dot { background: #8b652c; }
.draft-divider { color: #8b7760; }

/* Persistent identity and direct paths to worship and giving. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #17171a;
  color: var(--white);
  border-bottom: 1px solid #75603e;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .12);
}
.header-inner { min-height: 102px; height: auto; padding-top: 14px; padding-bottom: 14px; gap: 26px; }
.brand { color: var(--white); font-size: 11px; gap: 14px; letter-spacing: .07em; flex: 0 0 auto; }
.brand:hover { color: var(--gold-bright); }
.brand small { color: #d8c9ab; font-size: 7px; letter-spacing: .14em; }
.brand img, .brand-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  border-radius: 50%;
  flex: 0 0 64px;
  border: 0;
  background: transparent;
}
.brand-symbol { border-color: var(--gold-bright); }
.brand-symbol i, .brand-symbol i:after { background: var(--gold-bright); }
.site-header nav { gap: 19px; }
.site-header nav > a { color: #f5f0e7; font-size: 11px; font-weight: 600; }
.site-header nav > a:hover { color: var(--gold-bright); }
.site-header nav > a[aria-current] { text-decoration-color: var(--gold-bright); }
.site-header nav .nav-contact { border: 0; padding: 0; gap: 9px; }
.site-header nav .nav-contact .icon { width: 14px; height: 14px; }
.site-header nav > :is(.nav-watch, .nav-give, [href="watch.html"], [href="watch-live.html"], [href="giving.html"]) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid #c6a365;
  border-radius: 2px;
  font-size: 11px;
  text-decoration: none;
}
.site-header nav > :is(.nav-watch, [href="watch.html"], [href="watch-live.html"]) { color: #f5dfb6; }
.site-header nav > :is(.nav-watch, [href="watch.html"], [href="watch-live.html"]):hover { background: #302a20; color: white; }
.site-header nav > :is(.nav-give, [href="giving.html"]) { background: var(--gold-bright); color: #201b15; border-color: var(--gold-bright); }
.site-header nav > :is(.nav-give, [href="giving.html"]):hover { background: #edce95; color: #201b15; }
.menu-toggle { color: var(--white); border-color: #9d8357; border-radius: 2px; min-height: 44px; }
.site-header :focus-visible { outline-color: #f3cc7e; }

/* A reverent, readable opening, with the supplied Bible artwork. */
.hero {
  --gold: var(--gold-bright);
  --muted: #c9c0b4;
  color: var(--white);
  background: radial-gradient(ellipse at 83% 27%, #3d3025 0, #222123 38%, #17171a 77%);
  padding: 76px 0 74px;
}
.hero-grid { grid-template-columns: 1.13fr .87fr; gap: 68px; }
.hero h1 { font-size: clamp(49px, 4.65vw, 72px); line-height: 1.08; letter-spacing: -.04em; max-width: 720px; }
.hero-copy .eyebrow { color: #e0bf80; font-size: 10px; letter-spacing: .16em; }
.hero-copy > p:not(.eyebrow) { color: #ded7cc; max-width: 570px; font-size: 15px; line-height: 1.85; }
.hero-actions { gap: 18px; }
.hero .text-link { color: #f1d59f; border-color: #9e804b; }
.hero .text-link:hover { color: white; }
.hero .button-outline { color: #f0dbb7; border-color: #ad8a50; }
.hero .button-outline:hover { background: #373027; color: white; border-color: #d8b477; }
.hero-footnote { color: #c6bba8; line-height: 1.6; }
.small-line { background: #ac8b53; }
.hero-art { height: 585px; isolation: isolate; }
.hero-art > img { position: relative; z-index: 1; box-shadow: 0 24px 54px rgba(0, 0, 0, .25); }
.hero-art:before { z-index: 0; border-color: #9e7a42; }
.hero-art figcaption { z-index: 2; color: #d0c3ac; }
.image-seal { z-index: 3; color: #302518; background: #e0bf80; border-color: #242123; }
.hero :focus-visible { outline-color: #f3cc7e; }

/* Dark gathering and closing bands, with gold details. */
.gather {
  --gold: var(--gold-bright);
  --muted: #c9c0b4;
  background: #232225;
  color: var(--white);
  border-top: 1px solid #514332;
  border-bottom: 3px solid var(--red);
}
.gather .eyebrow, .closing .eyebrow { color: #dfbc78; }
.gather-detail { border-left-color: #61533e; }
.gather-detail > .icon { color: #dfbc78; }
.gather .small { color: #d1c9bc; }
.gather .pending { color: #fff7e8; }
.gather .text-link { color: #f1d49d; border-color: #9f8355; }
.gather .text-link:hover { color: white; }
.gather .service-list > div { border-color: #625640; }
.closing {
  --gold: var(--gold-bright);
  --muted: #c9c0b4;
  background: linear-gradient(115deg, #17171a, #2b2325);
  border-top: 1px solid #62503a;
  color: var(--white);
}
.gather :focus-visible, .closing :focus-visible { outline-color: #f3cc7e; }
.gather .button-outline, .closing .button-outline { color: #f0dbb7; border-color: #ad8a50; }
.gather .button-outline:hover, .closing .button-outline:hover { background: #373027; color: white; border-color: #d8b477; }

/* Warm, open supporting sections. */
.page-intro { background: radial-gradient(ellipse at 95% 100%, #e8ddca 0, transparent 60%); border-bottom-color: #ccb88f; }
.intro-text, .story-copy > p:not(.lead) { color: var(--muted); }
.explore-section, .tint { background: #eee8de; }
.explore-card { background: var(--white); border-color: var(--line); border-top: 3px solid #b28b4c; border-radius: 3px; }
.explore-card:hover { background: white; color: #3e2b1e; border-color: #b89c72; box-shadow: 0 13px 28px rgba(61, 43, 24, .07); }
.card-top .icon { color: #8a6028; }
.card-top > span { color: #71685a; }
.card-arrow { color: #8b2a37; }
.info-panel { border-color: var(--line); border-top: 3px solid #a47a3c; border-radius: 3px; }
.review-note { background: #eee5d6; border-left-color: #9a7135; color: #51432e; }
.review-note > .icon { color: #805b23; }
.empty-state { background: #fffdf9; border-color: var(--line); border-radius: 3px; }
.scripture-panel { background: #eae0cd; color: #382e24; }
.ministry-card, .sermon-list article { background: var(--white); border-color: var(--line); border-radius: 3px; }
.prayer-strip { --gold: var(--gold-bright); --muted: #f0dfe0; background: var(--red-dark); color: var(--white); }
.prayer-icon { border-color: #bb8b70; color: #f0cf90; }
.prayer-grid .eyebrow { color: #ecd1a1; }
.prayer-grid p:not(.eyebrow) { color: #f0dfe0; }
.prayer-strip .button-outline { color: #ffe7b9; border-color: #c89f66; }
.prayer-strip .button-outline:hover { color: white; background: #7b2836; border-color: #edc98f; }
.prayer-strip :focus-visible { outline-color: #f3cc7e; }

/* Leadership, faith, and ministry previews share the same visual rhythm. */
.leadership-preview { background: var(--white); }
.leader-grid, .leadership-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.leader-profile { background: var(--cream); border: 1px solid var(--line); border-top: 3px solid #a47a3c; border-radius: 3px; padding: 36px; min-width: 0; }
.leader-profile h2, .leader-profile h3 { font-size: clamp(29px, 2.7vw, 39px); line-height: 1.15; margin: 0 0 16px; }
.leader-profile p { color: var(--muted); font-size: 14px; line-height: 1.8; }
.leader-profile p:last-child { margin-bottom: 0; }
.leader-profile .eyebrow, .leader-profile-number { display: block; font: 600 10px/1.5 var(--sans); letter-spacing: .15em; text-transform: uppercase; color: #79551f; margin-bottom: 18px; }
.leader-initials { width: 72px; height: 72px; display: grid; place-items: center; margin-bottom: 25px; border: 1px solid #a98a54; background: #242225; color: #e4bf7b; border-radius: 50%; font: 26px/1 var(--serif); letter-spacing: -.03em; }
.leader-profile > img { width: 100%; height: auto; border-radius: 2px; margin-bottom: 28px; }
.faith-preview { background: #eee7db; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.faith-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 30px; }
.faith-preview .story-grid { align-items: center; }
.faith-preview p:not(.eyebrow) { color: #62594d; }
.home-watch { background: var(--white); }
.watch-art { background: radial-gradient(ellipse at 55% 120%, #6b4634 0, #302527 42%, #1a1a1d 78%); color: #e4c183; border-radius: 3px; border: 1px solid #6e5734; }
.watch-art:before { border-color: #d5af6b66; }
.watch-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 25px; margin-top: 32px; }
.watch-channel { min-width: 0; padding: 34px; border: 1px solid var(--line); border-top: 3px solid #9e2e3c; background: var(--white); border-radius: 3px; }
.watch-channel h2, .watch-channel h3 { font-size: 33px; }
.watch-channel > .icon { color: #882633; margin-bottom: 22px; width: 30px; height: 30px; }
.watch-channel p { color: var(--muted); font-size: 14px; }
.home-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 55px; align-items: start; }
.home-contact-grid address { font-style: normal; }
.home-contact-grid .contact-method:first-child { margin-top: 0; }
.social-links { display: flex; gap: 12px 22px; flex-wrap: wrap; align-items: center; }
.social-links a { font-size: 13px; font-weight: 600; text-underline-offset: 5px; }
.prayer-intro { max-width: 800px; margin-bottom: 40px; }
.prayer-intro p:not(.eyebrow) { color: var(--muted); }
.service-announcement { max-width: 800px; border-top: 3px solid #a47a3c; padding: 36px; background: var(--white); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-announcement p:not(.eyebrow) { color: var(--muted); }

/* Supporting page details, forms, and calendar controls. */
.giving-art { background: radial-gradient(ellipse at 50% 0, #493828, #222124 75%); color: #f5ecdd; border: 1px solid #9f7e48; }
.giving-art > .icon { color: #e4bf7b; }
.view-switch { border-color: #aa9371; }
.view-switch > button.active, .calendar-cell.today > span { background: #772331; color: white; }
.calendar-event { background: #eee1c9; color: #513a19; }
.form-panel { border-color: var(--line); border-top: 3px solid #a47a3c; border-radius: 3px; }
input, textarea { color: #2c272a; border-color: #a99d8d; border-radius: 2px; }
input:disabled, textarea:disabled { background: #f1ede6; }
.contact-tabs button[aria-selected=true] { color: #732230; border-bottom-color: #8b2a39; }
.form-panel .button:disabled { background: #e4d3b1; border-color: #c6b28d; color: #554837; transform: none; box-shadow: none; }
.step { border-color: var(--line); }

/* A quiet, complete dark footer. */
.site-footer { --gold: var(--gold-bright); --muted: #c9c0b4; background: #17171a; color: #f1eadf; border-top: 1px solid #514332; }
.footer-top h2 { color: #dfbc78; }
.footer-name { color: #fff8ec; }
.footer-brand > p:last-child { color: #c8c0b5; }
.footer-top a { color: #e1d8ca; }
.footer-top a:hover { color: #efca84; }
.footer-invitation { border-color: #51483a; }
.footer-invitation small { color: #c5b89f; }
.footer-bottom { border-color: #51483a; color: #c1b8aa; }
.footer-bottom a:hover { color: #efca84; }
.footer-top .social-links a { display: inline-flex; margin: 0; }
.footer-top .social-links { gap: 12px 18px; margin-top: 20px; }
.footer-logo { width: 72px; height: 72px; border-radius: 50%; object-fit: contain; background: transparent; border: 0; margin-bottom: 20px; }
.site-footer :focus-visible { outline-color: #f3cc7e; }
.skip-link { background: #dfbc78; color: #201b15; }
.noscript-note { background: #ebe0cc; color: #4b3e2e; }

@media (min-width: 1600px) {
  .hero { padding: 86px 0; }
  .hero-art { height: 640px; }
}

@media (max-width: 1180px) {
  html { scroll-padding-top: 105px; }
  .header-inner { min-height: 92px; padding-top: 12px; padding-bottom: 12px; }
  .brand { font-size: 11px; }
  .brand small { font-size: 7px; }
  .menu-toggle { display: flex; align-items: center; gap: 12px; background: transparent; padding: 10px 14px; font-size: 12px; }
  .site-header nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 20px 35px 28px; background: #1d1c1f; border-bottom: 1px solid #806744; box-shadow: 0 14px 24px #0003; max-height: calc(100dvh - 96px); overflow: auto; }
  .site-header nav.is-open { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .site-header nav > a { font-size: 15px; padding: 16px 10px; }
  .site-header nav .nav-contact { grid-column: auto; padding: 16px 10px; margin: 0; justify-content: flex-start; }
  .site-header nav > :is(.nav-watch, .nav-give, [href="watch.html"], [href="watch-live.html"], [href="giving.html"]) { margin-top: 15px; min-height: 49px; font-size: 13px; }
  .hero-grid { gap: 43px; }
  .hero h1 { font-size: clamp(47px, 5vw, 62px); }
  .hero-art { height: 545px; }
}

@media (max-width: 960px) {
  .hero { padding: 56px 0; }
  .hero-grid { grid-template-columns: 1.1fr .9fr; gap: 34px; }
  .hero h1 { font-size: 49px; }
  .hero-art { height: 490px; }
  .hero-copy > p:not(.eyebrow) { font-size: 14px; }
  .hero-copy .eyebrow { font-size: 9px; letter-spacing: .13em; }
  .gather-detail { border-color: #61533e; }
  .leader-profile { padding: 28px; }
  .home-contact-grid { gap: 35px; }
  .watch-channel { padding: 28px; }
}

@media (max-width: 640px) {
  html { scroll-padding-top: 96px; }
  .header-inner { min-height: 84px; gap: 10px; padding-top: 10px; padding-bottom: 10px; }
  .brand { font-size: 8px; gap: 9px; letter-spacing: .06em; }
  .brand small { font-size: 5.8px; letter-spacing: .1em; }
  .brand img, .brand-logo { width: 64px; height: 64px; flex-basis: 64px; }
  .menu-toggle { font-size: 10px; gap: 7px; padding: 8px 10px; }
  .site-header nav { padding: 14px 20px 24px; max-height: calc(100dvh - 84px); }
  .site-header nav.is-open { gap: 0 12px; }
  .site-header nav > a, .site-header nav .nav-contact { font-size: 14px; padding: 15px 7px; }
  .hero { padding: 45px 0 42px; }
  .hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .hero h1 { font-size: clamp(42px, 10.2vw, 64px); }
  .hero-copy > p:not(.eyebrow) { max-width: 100%; font-size: 14px; }
  .hero-copy .eyebrow { font-size: 8px; letter-spacing: .1em; }
  .hero-actions { gap: 14px; }
  .hero-actions .button { font-size: 12px; padding: 13px 17px; gap: 13px; }
  .hero-art { height: 410px; margin-left: 8px; margin-right: 8px; }
  .gather-detail { border-color: #61533e; }
  .leader-grid, .leadership-grid, .watch-options, .home-contact-grid { grid-template-columns: 1fr; }
  .leader-grid, .leadership-grid, .watch-options { gap: 18px; }
  .leader-profile { padding: 28px 25px; }
  .leader-profile h2, .leader-profile h3 { font-size: 33px; }
  .leader-initials { width: 64px; height: 64px; font-size: 24px; }
  .faith-actions { gap: 13px; }
  .faith-actions .button { width: 100%; }
  .watch-channel { padding: 28px 25px; }
  .watch-channel h2, .watch-channel h3 { font-size: 31px; }
  .home-contact-grid { gap: 26px; }
  .service-announcement { padding: 28px 25px; }
  .footer-invitation { border-top-color: #51483a; }
  .social-links { gap: 12px 18px; }
}

@media (max-width: 360px) {
  .header-inner { gap: 7px; }
  .brand { font-size: 7.1px; gap: 7px; }
  .brand small { font-size: 5.1px; }
  .menu-toggle { padding: 8px; gap: 5px; }
  .hero h1 { font-size: 40px; }
  .hero-art { height: 360px; }
  .hero-actions .button { width: 100%; }
}

@media print {
  .hero, .gather, .prayer-strip, .closing, .site-footer, .watch-art, .giving-art { background: white; color: black; }
  .hero-copy > p:not(.eyebrow), .hero h1 em, .gather .small, .gather .pending, .prayer-grid p:not(.eyebrow) { color: black; }
  .button { background: white; color: black; border: 1px solid black; box-shadow: none; }
}

.about-logo{border-radius:50%;margin-top:35px;width:200px;height:200px;object-fit:contain;background:transparent;border:0}
.footer-brand>img{border-radius:50%;margin-bottom:22px;width:80px;height:80px;object-fit:contain;background:transparent;border:0}
.sermon-invitation{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:42px;background:#fffdf9;border:1px solid var(--line)}
.sermon-invitation>div{max-width:600px}.sermon-invitation h3{font-size:36px;margin-top:24px}.sermon-invitation p{font-size:14px;color:var(--muted);margin-bottom:0}.sermon-invitation>div>.icon{color:var(--gold);width:32px;height:32px}
.home-contact-grid{grid-template-columns:1.2fr 1fr 1fr;gap:45px}.home-contact-grid h3{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0;color:#dfbc78}.home-contact-grid>div>a:not(.text-link){display:block;font-size:14px;text-decoration:none;margin-bottom:8px}.home-contact-grid>div>p{font-size:15px;color:#fff7e8;margin-bottom:10px}
.watch-channel .watch-art{min-height:250px;margin-bottom:30px}.watch-channel-secondary{display:flex;align-items:center}.watch-channel-copy p{max-width:380px}.faith-actions .button:disabled{opacity:.65;cursor:default;transform:none}.giving-art em{color:#dfbc78}
@media(max-width:960px){.sermon-invitation{gap:30px;padding:32px;align-items:start;flex-direction:column}}
@media(max-width:640px){.home-contact-grid{grid-template-columns:1fr;gap:30px}.sermon-invitation{padding:28px 24px}.sermon-invitation h3{font-size:31px}.home-contact .section-heading{gap:27px}.home-contact .section-heading h2{font-size:35px}}

/* Additional Bible teaching channel alongside the church's watch options. */
.watch-teaching { display:flex; align-items:center; justify-content:space-between; gap:32px; margin:28px 0; padding:32px; background:var(--white); border:1px solid var(--line); border-left:3px solid #a47a3c; border-radius:3px; }
.watch-teaching > div { min-width:0; }
.watch-teaching .eyebrow { color:var(--gold); margin-bottom:12px; }
.watch-teaching h2 { font-size:32px; margin-bottom:14px; }
.watch-teaching p:last-child { margin-bottom:0; color:var(--muted); font-size:14px; }
.watch-teaching .button { flex:none; }
@media (max-width:800px) { .watch-teaching { flex-direction:column; align-items:flex-start; padding:27px 24px; gap:24px; } .watch-teaching .button { width:100%; } }


/* Church-supplied sermon artwork: preserve the complete poster at every size. */
.sermon-promo { min-width:0; margin:0; border:1px solid #9f7e48; border-radius:3px; overflow:hidden; background:#17171a; }
.sermon-promo img { display:block; width:100%; height:auto; }
