/* CLMI inner pages — the same church, one responsive reading system. */
.clmi-inner {
  --clmi-green: #174d37;
  --clmi-deep: #0d3326;
  --clmi-paper: #f7f5ef;
  --clmi-ink: #17201c;
  --clmi-muted: #52615a;
  --clmi-line: rgba(23,77,55,.16);
  background: var(--clmi-paper); color: var(--clmi-ink);
  font: 17px/1.7 "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.clmi-inner .canvas-wrap { width: 100%; overflow: clip; }
.clmi-inner .site-header {
  position: sticky; top: 0; width: 100%; max-width: 1512px; height: 132px;
  display: grid; grid-template-columns: 1fr auto auto; grid-template-rows: 78px 54px;
  align-items: center; column-gap: 22px; padding: 0 36px; background: #fff;
  box-shadow: 0 1px 0 var(--clmi-line); transition: transform .25s ease, box-shadow .25s ease;
}
.clmi-inner.is-scrolled .site-header { transform: translateY(-78px); box-shadow: 0 8px 28px rgba(13,51,38,.1); }
.clmi-inner.is-scrolled .site-header:focus-within { transform: none; }
.clmi-inner .site-header .brand { position: static; gap: 12px; grid-column: 1; grid-row: 1; }
.clmi-inner .site-header .brand img { width: 62px; height: 58px; object-fit: contain; }
.clmi-inner .site-header .brand span { width: 232px; font-size: 15px; line-height: 1.35; color: var(--clmi-green); }
.clmi-inner .socials { position: static; grid-column: 2; grid-row: 1; gap: 9px; }
.clmi-inner .socials img { width: 30px; height: 30px; }
.clmi-inner .go-live { position: static; grid-column: 3; grid-row: 1; width: 142px; height: 40px; font-size: 12px; letter-spacing: .12em; box-shadow: 0 5px 12px rgba(13,51,38,.12); }
.clmi-inner .go-live img { width: 19px; height: 19px; }
.clmi-inner .main-nav { position: static; grid-column: 1/-1; grid-row: 2; align-self: stretch; justify-content: space-between; border: 0; border-top: 1px solid var(--clmi-line); box-shadow: none; background: transparent; }
.clmi-inner .main-nav > .nav-item > a { height: 53px; padding: 0 13px; font-size: 12px; letter-spacing: .055em; }
.clmi-inner .main-nav a[aria-current="page"], .clmi-inner .main-nav .active > a { background: var(--clmi-green); color: #fff; border-radius: 6px; }
.clmi-inner main { width: 100%; max-width: 1512px; margin-inline: auto; min-height: 55vh; }
.clmi-inner .visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
.clmi-inner h1, .clmi-inner h2, .clmi-inner h3 { color: var(--clmi-deep); font-family: Georgia, "Times New Roman", serif; line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.clmi-inner h1 { font-size: clamp(42px,5vw,72px); margin: 14px 0 22px; }
.clmi-inner h2 { font-size: clamp(30px,3vw,44px); margin: 0 0 24px; }
.clmi-inner h3 { font-size: clamp(24px,2vw,30px); margin: 0 0 16px; }
.clmi-inner p { margin: 0 0 20px; }
.clmi-inner img { max-width: 100%; height: auto; }
.clmi-inner :where(a,button,input,textarea,summary):focus-visible { outline: 3px solid #986217; outline-offset: 5px; }
.clmi-inner :where(p,li,dd,td,a) { overflow-wrap: anywhere; }
.clmi-inner .page-hero {
  position: relative; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.08fr);
  gap: clamp(32px,5vw,72px); align-items: center; padding: 60px max(32px,calc((100% - 1120px)/2)) 72px;
  background: linear-gradient(135deg,#e9eee9 0%,#f7f5ef 75%); border-bottom: 1px solid var(--clmi-line); isolation: isolate;
}
.clmi-inner .page-hero::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(rgba(23,77,55,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(23,77,55,.04) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(120deg,#000,transparent 70%); }
.clmi-inner .page-hero:not(:has(.hero-media)) { grid-template-columns: 1fr; padding-bottom: 56px; }
.clmi-inner .hero-copy { min-width: 0; }
.clmi-inner .breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; color: var(--clmi-muted); font-size: 13px; letter-spacing: .01em; }
.clmi-inner .breadcrumbs a { text-decoration: underline; text-underline-offset: 4px; }
.clmi-inner .eyebrow { display: block; margin: 0 0 12px; font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #8b0000; }
.clmi-inner .page-intro { color: var(--clmi-muted); max-width: 660px; font-size: 19px; line-height: 1.65; }
.clmi-inner .hero-media { margin: 0; min-width: 0; position: relative; border-radius: 14px; background: #fff; box-shadow: 0 18px 36px rgba(13,51,38,.12); }
.clmi-inner .hero-media img { display: block; width: 100%; height: auto; object-fit: contain; border-radius: inherit; }
.clmi-inner .page-content { max-width: 1120px; padding: 64px 0 72px; margin-inline: auto; }
.clmi-inner .page-content > * + * { margin-top: 40px; }
.clmi-inner .page-content > .section-heading { margin-top: 56px; }
.clmi-inner .section-heading { border-top: 1px solid var(--clmi-line); padding-top: 28px; }
.clmi-inner .prose { max-width: 780px; color: var(--clmi-muted); }
.clmi-inner .prose p { line-height: 1.8; }
.clmi-inner .prose p > strong:first-child { display:block; margin-bottom:6px; color:var(--clmi-green); font-size:18px; }
.clmi-inner .prose a { color: var(--clmi-green); text-decoration: underline; text-underline-offset: 4px; }
.clmi-inner .prose h2, .clmi-inner .prose h3 { margin-top: 40px; }
.clmi-inner .prose > :first-child { margin-top: 0; }
.clmi-inner .program-grid, .clmi-inner .event-grid, .clmi-inner .team-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.clmi-inner .story-card, .clmi-inner .event-card, .clmi-inner .team-card { min-width:0; margin:0; padding:32px; background:#fff; border:1px solid var(--clmi-line); border-radius:14px; box-shadow:0 8px 24px rgba(13,51,38,.055); }
.clmi-inner .story-card p, .clmi-inner .event-card p { color:var(--clmi-muted); }
.clmi-inner .story-card img, .clmi-inner .event-card img, .clmi-inner .team-card img { display:block; width:100%; height:auto; object-fit:contain; border-radius:8px; margin-bottom:24px; }
.clmi-inner .team-card figure { margin:0 0 24px; }
.clmi-inner .team-card > a { display:inline-block; margin-right:10px; }
.clmi-inner .team-card > a img { width:24px; height:24px; margin:8px 0 0; }
.clmi-inner .team-card .section-heading { border:0; padding:0; margin:0 0 8px; font-size:28px; }
.clmi-inner a.story-card { display:flex; flex-direction:column; align-items:flex-start; transition:translate .22s ease,box-shadow .22s ease; }
.clmi-inner a.story-card:hover, .clmi-inner a.story-card:focus-visible { translate:0 -4px; box-shadow:0 14px 30px rgba(13,51,38,.11); }
.clmi-inner .button-link { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 22px; min-height:46px; border:1px solid var(--clmi-green); border-radius:999px; background:var(--clmi-green); color:#fff; font:700 14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif; text-decoration:none; }
.clmi-inner .button-link:hover { background:var(--clmi-deep); }
.clmi-inner .prose a.button-link { color:#fff; text-decoration:none; }
.clmi-inner .contact-address { color:var(--clmi-green); text-decoration:underline; text-underline-offset:4px; }
.clmi-inner .related-links { display:flex; align-items:center; flex-wrap:wrap; gap:16px; border-top:1px solid var(--clmi-line); padding-top:28px; }
.clmi-inner .related-links h2 { width:100%; font-size:28px; margin-bottom:8px; }
.clmi-inner .related-links a:not(.button-link) { font-weight:700; color:var(--clmi-green); text-decoration:underline; text-underline-offset:5px; }
.clmi-inner .photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:20px; }
.clmi-inner .photo-grid figure { margin:0; min-width:0; }
.clmi-inner .photo-grid img { display:block; width:100%; height:auto; border-radius:10px; background:#e7ebe6; box-shadow:0 6px 18px rgba(13,51,38,.07); }
.clmi-inner .photo-grid figcaption { color:var(--clmi-muted); font-size:13px; margin-top:10px; }
.clmi-inner .media-frame { display:block; width:100%; border:0; border-radius:12px; overflow:hidden; background:#e9ece9; }
.clmi-inner iframe.media-frame, .clmi-inner video.media-frame { aspect-ratio:16/9; height:auto; }
.clmi-inner .media-frame iframe, .clmi-inner .media-frame video { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; }
.clmi-inner .contact-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:start; }
.clmi-inner .contact-card { padding:32px; background:#fff; border:1px solid var(--clmi-line); border-radius:14px; }
.clmi-inner .branch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.clmi-inner .branch-card { min-width:0; padding:26px; background:#fff; border:1px solid var(--clmi-line); border-radius:12px; }
.clmi-inner .branch-card h3 { font-size:24px; }
.clmi-inner .branch-card dl, .clmi-inner .branch-card dd { margin:0; }
.clmi-inner .branch-card dt { margin:12px 0 3px; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--clmi-muted); }
.clmi-inner .branch-card dd { font-size:15px; }
.clmi-inner form { min-width:0; width:100%; padding:32px; background:#fff; border:1px solid var(--clmi-line); border-radius:14px; }
.clmi-inner form label { display:block; margin:18px 0 6px; color:var(--clmi-green); font-size:14px; font-weight:700; }
.clmi-inner form :is(input:not([type="hidden"]),textarea,select) { display:block; width:100%; max-width:100%; padding:12px 14px; border:1px solid #a8b6ac; border-radius:6px; background:#fafbf9; color:var(--clmi-ink); font:inherit; }
.clmi-inner form textarea { min-height:150px; resize:vertical; }
.clmi-inner form button { margin-top:22px; padding:13px 28px; border:0; border-radius:999px; background:var(--clmi-green); color:white; font:700 15px var(--helv); cursor:pointer; }
.clmi-inner .site-footer { width:100%; max-width:1512px; height:auto; padding:28px 24px; background:var(--clmi-paper); border-top:1px solid var(--clmi-line); }
.clmi-inner .site-footer .inner { position:static; width:100%; height:auto; flex-wrap:wrap; gap:3px; font-size:13px; background:transparent; }
.clmi-inner .m-footer { border-top:1px solid var(--clmi-line); background:var(--clmi-paper); }
/* Existing approved Children's Ministry controls and photo assignments stay intact. */
.clmi-inner .children-main, .clmi-inner .children-page { width:100%; max-width:1512px; }
.clmi-inner .children-hero { padding:64px max(32px,calc((100% - 1120px)/2)); gap:48px; min-height:0; }
.clmi-inner .children-hero h1 { color:#fff; font-size:clamp(42px,4.3vw,66px); }
.clmi-inner .children-programs { padding:64px max(32px,calc((100% - 1120px)/2)); }
.clmi-inner .program-visual { min-height:0; }
.clmi-inner .program-copy { padding:40px; }
.clmi-inner .program-copy h3 { font-size:40px; }
.clmi-inner .children-hero-badge { font-size:13px; line-height:1.4; }
.clmi-inner .gallery-showcase { max-width:1512px; }
@media (min-width:769px) and (prefers-reduced-motion:no-preference) {
  .clmi-inner.motion-ready .hero-media { transform:translateY(clamp(-8px,calc(8px - var(--sc-p,0) * 16px),8px)); }
}
@media (max-width:1190px) {
  .clmi-inner .page-content { margin-inline:32px; }
}
@media (max-width:1000px) and (min-width:769px) {
  .clmi-inner .site-header { padding-inline:20px; }
  .clmi-inner .main-nav > .nav-item > a { padding-inline:6px; font-size:10px; }
  .clmi-inner .branch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px) {
  .clmi-inner:not(.has-js) .m-nav { display:block; position:static; }
  .clmi-inner:not(.has-js) .m-burger { display:none; }
  .clmi-inner { font-size:16px; }
  .clmi-inner .page-hero { grid-template-columns:1fr; gap:28px; padding:30px 24px 40px; }
  .clmi-inner h1 { font-size:clamp(38px,11vw,54px); }
  .clmi-inner h2 { font-size:32px; }
  .clmi-inner .breadcrumbs { margin-bottom:20px; font-size:12px; }
  .clmi-inner .page-intro { font-size:17px; }
  .clmi-inner .page-content { margin-inline:24px; padding:40px 0 48px; }
  .clmi-inner .program-grid, .clmi-inner .event-grid, .clmi-inner .team-grid, .clmi-inner .contact-grid, .clmi-inner .branch-grid { grid-template-columns:1fr; gap:20px; }
  .clmi-inner .story-card, .clmi-inner .event-card, .clmi-inner .team-card, .clmi-inner .contact-card, .clmi-inner form { padding:24px; }
  .clmi-inner .photo-grid { grid-template-columns:1fr; gap:20px; }
  .clmi-inner .page-content > * + * { margin-top:28px; }
  .clmi-inner .children-hero { padding:40px 24px; gap:32px; }
  .clmi-inner .children-hero h1 { font-size:44px; }
  .clmi-inner .children-programs { padding:40px 24px; }
  .clmi-inner .program-copy { padding:28px 24px; }
  .clmi-inner .program-copy h3 { font-size:34px; }
  .clmi-inner .children-tab { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .clmi-inner *, .clmi-inner *::before, .clmi-inner *::after { animation:none!important; transition:none!important; }
  .clmi-inner .hero-media { transform:none!important; }
}
.clmi-inner.motion-off *, .clmi-inner.motion-off *::before, .clmi-inner.motion-off *::after { animation:none!important; transition:none!important; }
.clmi-inner.motion-off .hero-media { transform:none!important; }
