/* KCMC public welcome. Private-page themes and authentication are unchanged. */
.header-give{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 15px;border:1px solid var(--gold);border-radius:999px;text-decoration:none;font-weight:800;color:#f6dfa9;white-space:nowrap}
.site-menu{position:relative;color:var(--ink)}
.site-menu summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-weight:800;list-style:none;white-space:nowrap}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary:after{content:'▾';margin-left:7px}
.site-menu[open] summary:after{content:'▴'}
.site-menu nav{position:absolute;top:calc(100% + 10px);right:0;display:grid;width:250px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 160px);overflow:auto;background:#0d2235;border:1px solid #51616d;border-radius:16px;padding:9px;box-shadow:var(--shadow);z-index:50}
.site-menu nav a,.site-menu nav button{display:block;min-height:44px;padding:10px 12px;border-radius:9px;text-decoration:none;color:#eef5f8;background:transparent;border:0;text-align:left;font:inherit;cursor:pointer}
.site-menu nav a:hover,.site-menu nav button:hover{background:#214057}
.site-menu .menu-account{border-top:1px solid var(--line);border-radius:0;margin-top:7px;padding-top:16px}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #f6dfa9;outline-offset:4px}
.hero-photo[hidden],.hero-photo-controls[hidden]{display:none!important}
.hero-photo{object-position:center 50%;filter:none}
.hero-imagery:after{background:linear-gradient(90deg,#0d2235 0%,#0d2235 38%,rgba(13,34,53,.25) 58%,transparent 72%)}
.hero-grid>*{min-width:0}
.hero h1{font-size:clamp(2.9rem,6.3vw,5.8rem);line-height:1.03}
.hero p.lead{color:#eef5f8}
.hero .eyebrow{color:#f6dfa9}
.hero .action{background:rgba(7,18,28,.82)}
.hero .action span{color:#d7e2e8}
.hero-photo-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:18px}
.hero-photo-controls button{min-width:44px;min-height:44px;padding:8px 14px;border:1px solid #b8c6cf;border-radius:999px;background:#0d2235;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.hero-photo-caption{font-size:.8rem;color:#e1e9ee;max-width:100%;margin:12px 0 0}
.welcome-next .card{display:flex;flex-direction:column}
.welcome-next .btns{margin-top:auto;padding-top:18px}
@media(max-width:1180px){.desktop-nav{display:none}}
@media(max-width:600px){.topbar .inner{gap:7px}.brand{gap:7px;min-width:0}.brand strong{font-size:.85rem}.brand small{font-size:.63rem}.mark{width:33px;height:36px;flex-shrink:0}.topbar [data-share-app]{display:none}.site-menu [data-share-app]{display:block}.hero{padding-top:42px}.hero-grid{gap:25px}.hero-imagery:after{background:none}}
@media(max-width:390px){.brand small{display:none}.brand strong{font-size:.8rem}.header-give{padding:8px 12px}.site-menu summary{padding:8px 11px}.service-time{font-size:2rem}.hero .install-callout-button{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero *{transition:none!important;animation:none!important}}

/* Replace public artwork without changing shared private-page styling. */
.contemporary-art{background-image:linear-gradient(180deg,rgba(7,18,28,.04),rgba(7,18,28,.18)),url("assets/visuals/kcmc-congregation-gathering.jpg")}
.watch-art{background-image:linear-gradient(180deg,rgba(7,18,28,.08),rgba(7,18,28,.26)),url("assets/visuals/kcmc-building-retouched-20261009.jpg")}

/* Keep desktop navigation on one line; Share is also in the dropdown. */
.topbar .inner{gap:10px}
.topbar .brand{flex-shrink:0}
.desktop-nav{flex-wrap:nowrap;gap:0}
.desktop-nav a{padding:10px 8px;white-space:nowrap}
.topbar>.inner>[data-share-app]{display:none}
@media(max-width:600px){.topbar .inner{gap:7px}.topbar .brand{flex-shrink:1}}

/* Public photo refresh: clear church image plus a dedicated family welcome. */
.hero-card-with-photo{padding:0;overflow:hidden}
.hero-service-info{padding:24px}
.hero-church-window{margin:0;background:#0d2235}
.hero-church-photo{display:block;width:100%;height:auto;aspect-ratio:1066/532;object-fit:cover}
.photo-source{font-size:.75rem;line-height:1.5;padding:10px 14px;background:#102b40;color:#e4edf2}
.photo-source a{color:#e4edf2;text-decoration:underline;text-underline-offset:3px}
.family-welcome{background:linear-gradient(140deg,#102b40,#0a1d2b);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.family-welcome-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,64px)}
.family-photo-frame{margin:0;overflow:hidden;border:1px solid #526a7b;border-radius:24px;background:#102b40}
.family-photo-frame[hidden]{display:none!important}
.family-photo{display:block;width:100%;height:auto;aspect-ratio:2048/1535;object-fit:contain;background:#102b40}
.family-welcome-copy{min-width:0}
.family-welcome-copy h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.08;letter-spacing:-.025em;margin:.35em 0;color:#f7fafc}
.family-welcome .eyebrow{color:#f6dfa9}
.family-description{font-size:1.07rem;line-height:1.7;color:#d9e5ed;margin-bottom:26px}
.family-welcome .btns{gap:12px;flex-wrap:wrap}
.family-welcome .btn{min-height:48px;white-space:normal;text-align:center}
.family-without-photo{grid-template-columns:1fr}
.family-without-photo .family-welcome-copy{max-width:740px}
@media(max-width:760px){.family-welcome-grid{grid-template-columns:1fr;gap:25px}.family-photo-frame{border-radius:18px}.hero-service-info{padding:20px}.family-welcome .btns{display:grid;grid-template-columns:1fr}}

/* KCMC_CONTEMPORARY_FEATURE_20261002 BEGIN */
/* Blue public feature, retaining the original worship photograph. */
.cw-section{padding:54px 0 64px;background:#0d2235;color:#eef5f8;color-scheme:dark;border-top:1px solid #49677c;border-bottom:1px solid #49677c}
.cw-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);background:#14334b;border:1px solid #49677c;border-radius:28px;overflow:hidden;box-shadow:0 16px 42px rgba(102,77,36,.10)}
.cw-copy{padding:clamp(24px,3.4vw,42px);min-width:0;display:flex;flex-direction:column;justify-content:center}
.cw-kicker{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.75rem;font-weight:800;line-height:1.5;text-transform:uppercase;letter-spacing:.14em;margin:0 0 20px;color:#b9dce9}
.cw-kicker span{display:inline-block;background:#214057;border:1px solid #628397;border-radius:99px;padding:5px 11px;letter-spacing:.04em;color:#d6eaf3}
.cw-copy h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.2rem,4.2vw,3.65rem);font-weight:800;line-height:1.06;letter-spacing:-.045em;margin:0 0 22px;color:#eef5f8;overflow-wrap:normal}
.cw-copy h2 span{color:#a3d6ea}
.cw-intro{font-size:clamp(1.08rem,1.8vw,1.25rem);font-weight:650;color:#eef5f8;line-height:1.5;margin:0 0 12px}
.cw-description{font-size:1rem;line-height:1.75;color:#c7d5dd;margin:0 0 15px}
.cw-family{font-size:.94rem;line-height:1.65;color:#c7d5dd;margin:0 0 8px;padding-left:14px;border-left:2px solid #628397}
.cw-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 14px}
.cw-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 18px;border:1px solid #526d7f;border-radius:12px;text-decoration:none;font:inherit;font-size:.94rem;font-weight:800;line-height:1.35;text-align:center;white-space:normal}
.cw-primary{background:#214f6a;color:#eef5f8;border-color:#628397}
.cw-secondary{background:#14334b;color:#eef5f8}
.cw-button:hover{background:#214f6a;color:#eef5f8;filter:none}
.cw-button:focus-visible{outline:3px solid #a3d6ea;outline-offset:4px}
.cw-online-note{font-size:.78rem;line-height:1.6;color:#b8ccd8;margin:0;max-width:40em}
.cw-media{background:#14334b;min-width:0;position:relative;overflow:hidden;display:flex;align-items:center;padding:26px 26px 26px 0}
.cw-media::before,.cw-media::after{content:none}
.cw-media img{display:block;width:100%;height:auto;min-height:0;object-fit:contain;object-position:center;border-radius:18px;filter:brightness(1.16) contrast(.88) saturate(1.04)}
@media(max-width:850px){.cw-feature{grid-template-columns:1fr}.cw-media{grid-row:1;padding:20px 20px 0}.cw-media img{height:auto;min-height:0;aspect-ratio:640/344;object-fit:contain;border-radius:14px}.cw-copy{padding:30px}.cw-copy h2{font-size:clamp(2.35rem,7.2vw,3.5rem)}.cw-kicker{margin-bottom:18px}}
@media(max-width:420px){.cw-section{padding:32px 0 42px}.cw-feature{border-radius:20px}.cw-media{padding:14px 14px 0}.cw-copy{padding:23px}.cw-copy h2{font-size:clamp(1.85rem,8vw,2.7rem)}.cw-actions{display:grid;grid-template-columns:1fr}.cw-kicker{font-size:.68rem;gap:8px}.cw-intro{font-size:1.08rem}}
@media(prefers-reduced-motion:reduce){.cw-feature *{transition:none!important;animation:none!important}}
/* KCMC_CONTEMPORARY_FEATURE_20261002 END */

/* KCMC_VISITOR_WELCOME_20261008: public surfaces only; no photo-within-photo. */
.hero.hero-imagery{background:#0d2235;color:#eef5f8;padding:44px 0 32px;border-bottom:1px solid #49677c;color-scheme:dark}
.hero-imagery .hero-photo{left:auto;right:0;width:58%;filter:none;opacity:1;object-position:center}
.hero-imagery .hero-grid{grid-template-columns:1.2fr 1fr;align-items:end;gap:28px}
.hero-grid>div:first-child{background:#0d2235;border-radius:22px;padding:20px}
.hero h1{color:#eef5f8;font-size:clamp(2.7rem,5.8vw,5.2rem)}
.hero p.lead,.hero .hero-card p{color:#c7d5dd}
.hero .eyebrow{color:#b9dce9}
.hero .hero-card{background:#14334b;color:#eef5f8;border:1px solid #49677c;margin-top:210px;box-shadow:0 10px 30px rgba(36,61,80,.12)}
.hero .hero-card .pill{background:#214057;color:#eef5f8}
.hero .action{background:#14334b;border:1px solid #49677c;color:#eef5f8}
.hero .action span{color:#c7d5dd}
.hero .btn.secondary{background:#14334b;color:#eef5f8;border:1px solid #526d7f}
.hero .install-callout{background:#214057;color:#eef5f8;border-color:#628397}
.hero .install-callout-copy span{color:#c7d5dd}
.hero :is(a,button):focus-visible,.invite-neighbor :is(a,button):focus-visible{outline:3px solid #a3d6ea;outline-offset:4px}
.invite-neighbor{background:#0d2235;color:#eef5f8;color-scheme:dark}
.invite-neighbor-card{background:#14334b;border:1px solid #49677c;border-radius:24px;padding:clamp(22px,4vw,38px)}
.invite-neighbor h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.15;margin:.3em 0}
.invite-neighbor p{color:#c7d5dd;max-width:70ch}
.invite-neighbor .eyebrow{color:#b9dce9}
.invite-neighbor .btn.secondary{color:#eef5f8;background:#14334b;border:1px solid #526d7f}
.invite-neighbor .btns,.visit-next-steps .btns{flex-wrap:wrap}
.invite-neighbor button,.visit-next-steps button{white-space:normal;min-height:48px}
.visit-next-steps{border-top:1px solid #647988;margin-top:22px;padding-top:18px}
.visit-next-steps[hidden]{display:none!important}
@media(max-width:900px){.hero.hero-imagery{padding-top:0}.hero-imagery .hero-photo{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/10;object-position:center}.hero-imagery:after{display:none}.hero-imagery .hero-grid{grid-template-columns:1fr;gap:20px;margin-top:18px}.hero-grid>div:first-child{padding:12px 0}.hero .hero-card{margin-top:0;max-width:none}.hero h1{font-size:clamp(2.5rem,7.4vw,4.5rem)}}
/* KCMC_VISITOR_WELCOME_20261008 END */

/* KCMC_BLUE_FISH_MENU_20261009: owner-requested public presentation. */
body[data-office-email]{background:#0d2235}
.topbar{background:rgba(13,34,53,.96)}
.topbar .inner{justify-content:flex-start}
.topbar .fish-menu summary{width:76px;min-height:56px;padding:0 7px 0 0;gap:0;background:#0d2235;border-color:#49677c;border-radius:14px}
.fish-menu summary img{display:block;width:56px;height:56px;border-radius:12px}
.fish-menu summary:after{margin-left:0;font-size:.75rem;color:#b9dce9}
.fish-menu nav{top:100%;left:0;right:auto;width:300px;max-width:calc(100vw - 30px);max-height:calc(100dvh - 92px);border-color:#49677c}
.fish-menu .menu-home{padding:14px 12px;margin-bottom:6px;border-bottom:1px solid #49677c;border-radius:9px 9px 0 0}
.menu-home strong,.menu-home small{display:block}
.menu-home strong{font-size:.95rem;letter-spacing:.04em}
.menu-home small{font-size:.72rem;color:#b8ccd8;white-space:normal}
.fish-menu nav [data-install-app]{display:block;white-space:normal}
.family-welcome{background:#0d2235}
.news-feature{background:#14334b;color:#eef5f8;border:1px solid #49677c}
.news-feature .eyebrow{color:#b9dce9}
.news-feature p{color:#c7d5dd}
/* KCMC_BLUE_FISH_MENU_20261009 END */


/* KCMC_HOME_OPTION_B_20261013: one-card cover using the real KCMC building photo. */
.home-cover.hero.hero-imagery{
  position:relative;
  min-height:clamp(560px,68vw,760px);
  padding:0;
  display:flex;
  align-items:stretch;
  overflow:hidden;
  background:#0d2235;
  color:#0d2235;
  border-bottom:0;
  color-scheme:light;
}
.home-cover.hero-imagery:after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(13,34,53,.18) 0%,rgba(13,34,53,.04) 43%,rgba(13,34,53,0) 68%);
  pointer-events:none;
}
.home-cover .home-cover-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 48%;
  opacity:1;
  filter:none;
}
.home-cover-layout{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  align-items:center;
  padding-top:clamp(36px,6vw,72px);
  padding-bottom:clamp(36px,6vw,72px);
}
.home-cover-card{
  width:min(640px,54vw);
  padding:clamp(28px,4vw,48px);
  border-radius:26px;
  background:rgba(250,247,239,.96);
  box-shadow:0 24px 60px rgba(7,18,28,.24);
  backdrop-filter:blur(2px);
}
.home-cover .eyebrow{
  color:#9a6a20;
}
.home-cover h1{
  color:#17324c;
  font-size:clamp(3rem,5.8vw,5.6rem);
  line-height:.98;
  margin:.25em 0 .28em;
}
.home-cover p.lead{
  color:#486172;
  max-width:36rem;
}
.home-cover-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.home-cover .home-cover-actions .action{
  min-height:96px;
  padding:16px;
  border:1px solid #cad4da;
  border-radius:18px;
  background:rgba(255,255,255,.92);
  color:#17324c;
  box-shadow:none;
}
.home-cover .home-cover-actions .action:first-child{
  background:#17324c;
  color:#fff;
  border-color:#17324c;
}
.home-cover .home-cover-actions .action span{
  color:#5c7180;
}
.home-cover .home-cover-actions .action:first-child span{
  color:#d7e2e8;
}
.home-worship-strip{
  background:#f7f3eb;
  color:#17324c;
  border-top:1px solid #e0d8c9;
  border-bottom:1px solid #e0d8c9;
}
.home-worship-strip-inner{
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(320px,1.3fr) auto;
  gap:28px;
  align-items:center;
  padding-top:26px;
  padding-bottom:26px;
}
.home-worship-times{
  display:grid;
  gap:5px;
}
.home-worship-times .eyebrow{
  color:#526b7c;
}
.home-worship-times strong{
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1;
  white-space:nowrap;
}
.home-worship-copy{
  display:grid;
  gap:5px;
  padding-left:28px;
  border-left:1px solid #cfc6b7;
}
.home-worship-copy b{
  font-size:1.05rem;
}
.home-worship-copy span{
  color:#5c7180;
  line-height:1.55;
}
.home-bulletin-link{
  white-space:nowrap;
  background:#fff;
  color:#17324c;
  border-color:#b9c5cc;
}
@media(max-width:900px){
  .home-cover.hero.hero-imagery{
    min-height:auto;
    display:block;
    padding:0;
  }
  .home-cover .home-cover-photo{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center;
  }
  .home-cover.hero-imagery:after{
    display:none;
  }
  .home-cover-layout{
    margin-top:-34px;
    padding:0 0 26px;
  }
  .home-cover-card{
    width:100%;
    border-radius:22px;
    padding:24px;
    background:#f9f6ef;
  }
  .home-cover h1{
    font-size:clamp(2.6rem,9vw,4.5rem);
  }
  .home-worship-strip-inner{
    grid-template-columns:1fr;
    gap:18px;
  }
  .home-worship-copy{
    padding-left:0;
    border-left:0;
  }
  .home-bulletin-link{
    width:max-content;
  }
}
@media(max-width:560px){
  .home-cover-actions{
    grid-template-columns:1fr;
  }
  .home-cover .home-cover-actions .action{
    min-height:72px;
  }
  .home-worship-times strong{
    white-space:normal;
  }
}
/* KCMC_HOME_OPTION_B_20261013 END */

/* KCMC_FISH_ONLY_HOME_20261014: navigation lives inside the fish dropdown. */
[data-view="home"] > .section:not([aria-label="KCMC kids and family photos"]):not([data-family-welcome]),
[data-view="home"] .family-welcome-copy,
body:has([data-view="home"].active) > .footer{display:none}
[data-view="home"] .family-welcome-grid{grid-template-columns:minmax(0,1fr);max-width:760px}
.home-worship-strip-inner{grid-template-columns:auto minmax(0,1fr)}
.footer{padding-bottom:44px}
@media(max-width:1100px){.home-worship-strip-inner{grid-template-columns:1fr}}
/* KCMC_FISH_ONLY_HOME_20261014 END */

/* Keep gallery controls readable within the single welcome card. */
.home-cover .hero-photo-controls{position:relative;z-index:3}
.home-cover .home-cover-card{min-width:0}
