/* Hosanna: The shout at sunrise. Per-site decoration; structure stays editable. */
:root{--nd-cobalt:#1736d9;--nd-lime:#c6ff3d;--nd-pink:#ff8fc8;--nd-black:#0b0b0b}
body{font-family:'Space Grotesk',sans-serif;font-size:18px;line-height:1.55}h1,h2,h3,.titles,.big-numbers{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.05em;text-transform:none;font-optical-sizing:auto}h2.titles{font-size:clamp(3rem,6.3vw,6.7rem);line-height:.98}.small-titles{text-transform:none;letter-spacing:0;font-weight:500;font-size:16px}.nd .wysiwyg{max-width:60ch}.button,.cc-stage .button,.cc-k-actions .button{border:2px solid var(--nd-black);border-radius:0;background:var(--nd-lime);color:var(--nd-black);box-shadow:4px 4px 0 var(--nd-black);font:500 18px/1.2 'Space Grotesk',sans-serif;padding:20px 25px;letter-spacing:0;text-transform:none}.button:hover{background:#fff;color:#0b0b0b}.button:active{transform:translate(4px,4px);box-shadow:none}.cc-k-actions .button:last-child{background:transparent;border-color:var(--nd-lime);color:var(--nd-lime);box-shadow:none}.cc-k-period{color:var(--nd-pink)}.cc-k-photo:before{content:'';position:absolute;width:160px;height:160px;background:var(--nd-lime);border-radius:50%;top:-32px;right:-38px;z-index:-1}.cc-k-photo img{filter:grayscale(1);mix-blend-mode:multiply}.cc-k-photo:hover img{filter:none;mix-blend-mode:normal}.nd-welcome .ct3-ba-before img{filter:grayscale(1);mix-blend-mode:multiply}.nd-welcome .ct3-ba-before{background:var(--nd-cobalt)}.nd-welcome .ct3-ba-tag{background:#0b0b0b;color:#fff}.nd-welcome .ct3-ba-handle{background:var(--nd-lime)}.nd-welcome .ct3-ba-stage{max-height:620px}.nd-welcome .ct3-ba img{object-position:center 40%}.nd-number .ct2-num-value{font-size:clamp(12rem,31vw,30rem);line-height:.9;color:var(--nd-cobalt)}.nd-number .ct2-num-label{font-size:18px;color:var(--nd-cobalt)}.nd-number h2{color:var(--nd-cobalt)}.nd-gallery{color:white}.nd-gallery h2,.nd-gallery figcaption{color:white}.nd-gallery .small-titles{color:var(--nd-pink)}.nd-gallery .cc-mosaic figure:last-child{margin-bottom:0}.nd-tabs .ct2-tab-list{border-color:var(--nd-black)}.nd-tabs .ct2-tab-list button{font:800 clamp(1.5rem,3.5vw,3.8rem)/1.1 'Bricolage Grotesque',sans-serif;color:#0b0b0b;padding:20px 10px;border:0;border-bottom:3px solid transparent}.nd-tabs .ct2-tab-list button[aria-selected=true]{background:var(--nd-cobalt);color:var(--nd-lime);border-color:var(--nd-black)}.nd-tabs .ct2-tab-media img{aspect-ratio:4/3;object-fit:cover}.nd-tabs .button{background:var(--nd-black);color:var(--nd-lime)}.nd-sermons .ct4-sr{border:2px solid var(--nd-black);margin-top:35px;align-items:stretch}.nd-sermons .ct4-sr-text{padding:40px;background:var(--nd-pink);justify-content:center}.nd-sermons .ct4-sr:nth-child(2) .ct4-sr-text{background:var(--nd-lime)}.nd-sermons .ct4-sr-title{font-size:clamp(2rem,3.2vw,3.5rem);line-height:1.03}.nd-sermons .ct4-sr-img{transform:none}.nd-sermons .ct4-sr-img img{object-fit:contain;background:#0b0b0b}.nd-sermons .ct4-sr-copy{font-size:16px}.nd-events{color:white}.nd-events h2{color:var(--nd-lime)}.nd-events .ct-cal{--ct-cal-accent:var(--nd-lime)}.nd-events .ct-cal a{color:inherit}.nd-events .ct-cal button{color:var(--nd-cobalt);background:white}.nd-story .video-wrap{display:block;position:relative}.nd-story .image-wrapper-video img{width:100%;max-height:700px;object-fit:cover;filter:grayscale(1)}.nd-story .btn-play{z-index:2}.nd-story .btn-play svg{background:var(--nd-cobalt);border-radius:50%}.nd-story .btn-play path{fill:var(--nd-lime)}.nd-story .video-wrap:hover img{filter:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid currentColor;outline-offset:5px}.cc-stage .button{color:#0b0b0b}.cc-stage h2{font-family:'Bricolage Grotesque',sans-serif}
@media(max-width:767px){.nd-tabs .ct2-tab-list{display:grid;grid-template-columns:1fr 1fr}.nd-tabs .ct2-tab-list button{font-size:26px;text-align:left}.nd-sermons .ct4-sr-text{padding:25px}.nd-welcome .ct3-ba-stage{max-height:none}.nd-sermons .ct4-sr-img img{min-height:0}.cc-k-copy h1{letter-spacing:-.06em}.cc-k-photo:before{width:110px;height:110px;right:-20px;top:-20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.nd.nd-number .ct2-num-value.big-numbers{font-size:clamp(16rem,31vw,30rem)!important}.cc-header-kinetic .cc-k-photo img{aspect-ratio:4/5}.cc-header-kinetic .cc-k-photo figcaption{padding:20px 40px 35px}

.cc-header-kinetic .cc-k-photo{clip-path:none;background:transparent}.cc-header-kinetic .cc-k-photo img{clip-path:polygon(0 8%,88% 0,100% 90%,8% 100%);background:var(--nd-pink)}.cc-header-kinetic .cc-k-photo figcaption{background:transparent;color:var(--nd-lime);padding:18px 0}.cc-k-photo:before{z-index:2;mix-blend-mode:screen}.nd-events .ct-cal{--ct-cal-ink:var(--nd-lime);--ct-cal-text:#fff;--ct-cal-line:#ffffff55}.nd-events .ct-cal__date-num{color:var(--nd-lime)!important}.nd-events .ct-cal__bar-title,.nd-events .ct-cal__meta{color:#fff!important}.nd-events .ct-cal__view a{color:var(--nd-cobalt)}.nd.nd-sermons .ct4-sr{display:grid;grid-template-columns:5fr 7fr;grid-template-rows:auto;min-height:400px}.nd.nd-sermons .ct4-sr-text,.nd.nd-sermons .ct4-sr-img{grid-area:auto!important}.nd.nd-sermons .ct4-sr-text{display:flex;flex-direction:column;justify-content:center}.nd.nd-sermons .ct4-sr-img{margin:0;min-height:400px}.nd.nd-sermons .ct4-sr-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.nd-tabs .ct2-tab-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.nd-tabs .ct2-tab-list button{width:100%;min-width:0;font-size:clamp(1.5rem,3vw,3rem)}
@media(min-width:1025px){.nd-welcome .div-within-section{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:center}.nd-welcome .ct3-ba{margin-top:0}.nd-welcome .ct3-ba-stage{aspect-ratio:5/4}.nd-welcome .ct3-ba img{height:100%;object-fit:cover}}
@media(max-width:767px){.cc-header-kinetic .cc-k-photo img{aspect-ratio:5/4}.nd.nd-sermons .ct4-sr{grid-template-columns:1fr;min-height:0}.nd.nd-sermons .ct4-sr-img{min-height:0;aspect-ratio:16/10}.nd-tabs .ct2-tab-list{grid-template-columns:repeat(2,minmax(0,1fr))}.nd-tabs .ct2-tab-list button{font-size:28px;padding:18px 12px}.cc-k-photo:before{display:none}}
.nd.nd-sermons .ct4-sr{grid-template-areas:none!important;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.nd.nd-sermons .ct4-sr-text,.nd.nd-sermons .ct4-sr-img{min-width:0;max-width:100%}
@media(max-width:767px){.nd.nd-sermons .ct4-sr{grid-template-columns:minmax(0,1fr)}}

.nd-story .video-wrap:after,.nd-story .video-content h2{color:#0b0b0b}
.nd.nd-sermons .ct4-sr-img{width:100%!important;aspect-ratio:auto!important;overflow:hidden}.nd.nd-sermons .ct4-sr{gap:0}
@media(min-width:768px) and (max-width:1024px){.nd.nd-sermons .ct4-sr,.nd.nd-sermons .ct4-sr-img{min-height:300px}}
@media(max-width:767px){.nd.nd-sermons .ct4-sr-img{aspect-ratio:16/10!important;width:100%!important}}

.nd p{font-size:18px!important;line-height:1.6!important}.cc-header-kinetic .cc-k-photo img{clip-path:none;background:transparent}.cc-header-kinetic .cc-k-photo-frame{clip-path:polygon(0 8%,88% 0,100% 90%,8% 100%);background:var(--nd-pink)}.cc-header-kinetic .cc-k-photo-frame img{mix-blend-mode:luminosity;filter:grayscale(1)}.cc-header-kinetic .cc-k-photo:hover .cc-k-photo-frame img{mix-blend-mode:normal;filter:none}
@media(prefers-reduced-motion:reduce){.cc-header-kinetic .cc-k-photo-frame img{mix-blend-mode:normal;filter:none}}
/* Hosanna core pages: Plan A Visit (2559), About (9), Connect (2560), Give (2562), Contact (11). Scoped by page id / nd-* classes. */
/* statements: site-wide .nd p 18px rule must not shrink the big statement */
.nd-about-mission .ct2-stm-text p,.nd-give-close .ct2-stm-text p{font-size:inherit!important;line-height:1.02!important;max-width:none}
.nd-about-mission .ct2-stm-text,.nd-give-close .ct2-stm-text{max-width:none}
.nd-give-close .small-titles{color:var(--nd-pink)}
.nd-give-close .ct2-stm-text strong{color:var(--nd-pink)}
.nd-about-mission .ct2-stm-text strong{color:var(--nd-cobalt)}
/* About hero: huge cobalt statement on white */
.page-id-9 .ct2-hero-title{color:var(--nd-cobalt)}
/* Plan a visit: open belief must stay visible on cobalt */
.nd-pav-beliefs .ct-faq-item.is-open .ct-faq-q,.nd-pav-beliefs .ct-faq-q:hover{color:var(--nd-lime)}
.nd-pav-beliefs .ct-faq-icon{color:var(--nd-lime)}
/* Schedule ledger: day label never collides with first session */
.nd-pav-times .ct2-sch-dayname,.nd-contact-times .ct2-sch-dayname{padding-right:32px;min-width:9.5ch}
/* Connect: pathway cards sit on white panels */
.nd-conn-path .ct3-pw-card,.nd-conn-path .ct3-pw-card *{color:var(--nd-black)}
.nd-conn-path .ct3-pw-card a.ct3-pw-link{color:var(--nd-cobalt);text-decoration:underline;font-weight:500}
.nd-conn-path .ct3-chip{color:#fff}
.nd-conn-path .ct3-chip[aria-pressed=true]{color:var(--nd-black)}
/* Connect index: names stay visible without hover */
.nd-conn-index .ct-idx-row,.nd-conn-index [class*=idx-title]{color:var(--nd-cobalt)}
/* Offset heroes: keep the sentence clear of the circle */
.page-id-2560 .ct2-ho-copy .ct2-hero-sentence,.page-id-11 .ct2-ho-copy .ct2-hero-sentence{max-width:24ch}
/* Contact: info dl from Site Options */
.nd-contact-form .atx-info{margin:20px 0 0}.nd-contact-form .atx-info dt{font-weight:500;margin-top:10px}.nd-contact-form .atx-info dd{margin:0}.nd-contact-form .atx-info a{color:var(--nd-black);text-decoration:underline}
.nd-contact-form h2{font-size:clamp(2.6rem,4.4vw,4.6rem)}
/* Buttons on lime/pink grounds are black; lime button would vanish */
.nd-conn-cta .button-black,.nd-give-cta .button-black,.page-id-2562 .ct2-hero .button-black,.page-id-2559 .ct2-hero .button-black{background:var(--nd-black);color:var(--nd-lime)}
.nd-pav-welcome .button-black{background:var(--nd-black);color:var(--nd-pink)}
.nd-pav-welcome img{width:100%;object-fit:cover}
.nd-about-pastor .button{box-shadow:4px 4px 0 var(--nd-black)}
@media(max-width:767px){.nd-about-mission .ct2-stm-text p,.nd-give-close .ct2-stm-text p{line-height:1.05!important}}
.nd-about-story .ct2-tl-marker{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.03em;overflow-wrap:anywhere}
@media(max-width:767px){.nd-about-story .ct2-tl-marker{font-size:clamp(2rem,10vw,3rem)}.nd-about-story .ct2-tl-item{min-width:0}}
.nd-about-mission .ct2-stm-text,.nd-give-close .ct2-stm-text{overflow-wrap:anywhere;hyphens:manual}
@media(min-width:768px) and (max-width:1100px){.nd-about-mission .ct2-stm-text,.nd-give-close .ct2-stm-text{font-size:clamp(2.4rem,6vw,4.5rem)}}
@media(min-width:768px) and (max-width:1100px){.nd-about-mission .ct2-stm-text p,.nd-give-close .ct2-stm-text p{font-size:clamp(2.4rem,6vw,4.5rem)!important}}
@media(min-width:768px) and (max-width:1100px){.nd.nd-about-mission .ct2-statement .ct2-stm-text,.nd.nd-give-close .ct2-statement .ct2-stm-text,.nd.nd-about-mission .ct2-statement .ct2-stm-text p,.nd.nd-give-close .ct2-statement .ct2-stm-text p{font-size:clamp(2.4rem,6vw,4.5rem)!important}}
.nd-conn-path .ct3-pw-card h3,.nd-conn-path .ct3-pw-card p{color:var(--nd-black)!important}
.nd-conn-path .ct3-pw-card a.ct3-pw-link{color:var(--nd-cobalt)!important;display:inline-block;margin-top:12px}
@media(min-width:1025px){.nd-pav-times .ct2-sch-day,.nd-contact-times .ct2-sch-day{grid-template-columns:260px 1fr}}
.nd-conn-index p{font-size:17px!important;line-height:1.5!important;color:var(--nd-black)}

/* Stage B round 1 (core) */
.nd-about-pastor .ct-person-name{color:var(--nd-lime)}
.nd-about-pastor .ct-person-role,.nd-about-pastor .ct-person-role *{color:#fff;opacity:1;text-transform:none;letter-spacing:0;white-space:normal}
.nd-pav-letter .ct2-lt-portrait img{border-radius:0;aspect-ratio:1/1;object-fit:cover}
.nd-pav-letter .ct2-lt-role{text-transform:none;letter-spacing:0}
.nd-pav-beliefs .small-titles{color:var(--nd-pink)}
.nd-pav-beliefs .ct-faq-q{color:#fff}
.nd-about-story .ct2-tl-item img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.nd-conn-cta .ct2-cta-title{overflow-wrap:anywhere}
@media(max-width:767px){.nd-conn-index .ct-idx-desc,.nd-conn-index [class*=idx-desc]{font-size:18px!important;color:var(--nd-black);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}
.page-id-2560 .ct2-hero{overflow:hidden}
.nd-phone{display:block;margin-top:.2em;font:800 clamp(3rem,9vw,9rem)/.95 'Bricolage Grotesque',sans-serif;letter-spacing:-.05em;color:var(--nd-cobalt);text-decoration:none}
.nd-phone:hover{background:var(--nd-black);color:var(--nd-pink)}
.page-id-11 .ct2-hero-sentence{max-width:none}
.nd-contact-map .ct2-loc-hours,.nd-contact-map .ct2-loc-hours *{font-size:18px}
.nd-contact-map .ct2-loc-hours dt,.nd-contact-map [class*=hours] dt,.nd-contact-map [class*=hours] span{white-space:nowrap}
.nd-pav-beliefs .ct-faq-num,.nd-pav-beliefs [class*=faq] [class*=num]{color:var(--nd-pink)}
.nd-pav-letter .ct2-lt-portrait{max-width:220px}
/* Hosanna media group: Messages (1579), Events (2561), Live (2823). Scoped to page ids and nd-m / nd-e / nd-l classes. */
.page-id-1579 .ct2-hero-type .ct2-ht,.page-id-2823 .ct2-hero-type .ct2-ht{padding-top:clamp(70px,8vw,130px)!important;padding-bottom:clamp(60px,7vw,110px)!important}
.page-id-1579 .ct2-hero-title,.page-id-2823 .ct2-hero-title{font-size:clamp(3.6rem,9vw,10rem)!important;line-height:.92}
.nd-hl{color:#1736d9}
.nd-lime{color:#c6ff3d}
.page-id-2823 .ct2-hero-title,.page-id-2823 .ct2-hero-eyebrow,.page-id-2823 .ct2-hero p{color:#fff}
.page-id-2823 .ct2-hero-title .nd-lime,.page-id-2823 .ct2-hero-title .nd-lime .ccm-wi{color:#c6ff3d}
.page-id-2561 .ct2-ha-shade{background:#1736d9}
.page-id-2561 .ct2-hero-title .nd-hl{color:#c6ff3d}
/* Messages: latest slide title was display size */
.nd-m-latest .ct-slide-title{font-size:clamp(2.4rem,4.4vw,4.6rem);line-height:1}
.nd-m-latest .ct-slide-image{aspect-ratio:16/10}
.nd-m-recent .grid-title,.nd-m-recent h3{overflow-wrap:anywhere}
/* Live */
.nd-l-player .nd-sample{font-size:16px!important;opacity:.9;border-left:4px solid #c6ff3d;padding-left:14px;margin-top:20px}
@media(max-width:767px){.page-id-1579 .ct2-hero-title,.page-id-2823 .ct2-hero-title{font-size:clamp(3rem,15vw,5rem)!important}.nd-m-latest .ct-slide-title{font-size:2.4rem}}
.nd-m-recent .button:not(.button-main-color),.nd-m-recent a.button:not(.button-main-color){color:#0b0b0b!important}
.nd-m-recent h2.titles.medium{font-size:clamp(1.8rem,2.6vw,2.8rem)!important;line-height:1.05}
.ct-wrapper.nd.nd-m-recent .section a.button[data-ccm]:not(.button-main-color){color:#0b0b0b!important;-webkit-text-fill-color:#0b0b0b}
.nd-m-recent,.nd-m-recent .button,.nd-m-recent a.button{--btn-color:#0b0b0b!important}
.nd-hl .ccm-wi,.page-id-2561 .ct2-hero-title .nd-hl .ccm-wi{color:inherit;opacity:1}
.page-id-1579 .ct2-hero-title .nd-hl{color:#1736d9}
.page-id-2561 .ct2-hero-title .nd-hl,.page-id-2561 .ct2-hero-title .nd-hl *{color:#c6ff3d!important;opacity:1!important}
.page-id-2823 .ct2-hero-title .nd-lime,.page-id-2823 .ct2-hero-title .nd-lime *{color:#c6ff3d!important;opacity:1!important}
body.page-id-2823 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-lime,body.page-id-2823 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-lime *{color:#c6ff3d!important;-webkit-text-fill-color:#c6ff3d}
body.page-id-2561 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-hl,body.page-id-2561 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-hl *{color:#c6ff3d!important;-webkit-text-fill-color:#c6ff3d}
body.page-id-1579 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-hl,body.page-id-1579 header.ct2-hero.ct2-hero .ct2-hero-title span.nd-hl *{color:#1736d9!important;-webkit-text-fill-color:#1736d9}
.nd-e-calendar .ct-cal__row-title{overflow-wrap:normal;word-break:normal;hyphens:none}
@media(max-width:767px){.nd-e-calendar .ct-cal__row-title{font-size:clamp(1.7rem,8vw,2.4rem)!important}}
/* Kinetic header has no Watch Live button slot: mark the overlay's Watch live link while live (html[data-ct-live="1"]) */
html[data-ct-live="1"] dialog a[href$="/live/"]::before{content:"";display:inline-block;width:.32em;height:.32em;margin-right:.22em;background:#ff8fc8;vertical-align:.12em}
html[data-ct-live="1"] dialog a[href$="/live/"]::after{content:"live now";display:inline-block;margin-left:.4em;padding:.15em .35em;font:500 16px/1 'Space Grotesk',sans-serif;background:#c6ff3d;color:#0b0b0b;vertical-align:.9em}
/* Inherited detail + archive pages: clear the fixed Kinetic header, keep text pairs legal (no white on lime) */
.featured-video{margin-top:0!important;padding-top:140px!important}
.featured-video .white,.featured-video .white *,.featured-video h2,.featured-video p{color:#0b0b0b!important}
body.page-id-1580 main.content,body.page-id-1581 main.content,body.page-id-1582 main.content{padding-top:200px}
body.single-event main.content{padding-top:0}
body[class*="page-template-page-messages-"] main.content,body[class*="page-template-page-events-"] main.content{padding-top:200px}
/* R1: Messages cover (nd-m-cover) */
.nd-m-cover .ct3-cv-frame,.nd-m-cover .ct3-cv-frame *{color:#fff}
.nd-m-cover .ct3-cv-mast{color:#c6ff3d}
.nd-m-cover .ct3-cv-kicker{color:#c6ff3d;opacity:1}
.nd-m-cover .ct3-cv-text a,.nd-m-cover .ct3-cv-text{color:#fff;font-size:clamp(1.3rem,3cqi,3rem)!important;line-height:1.05;font-weight:800}
.nd-m-cover .ct3-cv-text a:hover{color:#c6ff3d}
.nd-m-cover .ct3-cv-photo img{filter:none;mix-blend-mode:normal}
.nd-m-cover .ct3-cv-head h2{color:#0b0b0b}
.nd-m-cta h2{color:#1736d9}
/* R1: Series cards (Home nd-sermons + any layout_series): no white strip inside, no letterbox */
.nd.nd-sermons .ct4-sr + .ct4-sr{padding-top:0;border-top:2px solid #0b0b0b;margin-top:35px}
.nd.nd-sermons .ct4-series{display:flex;flex-direction:column}
.nd.nd-sermons .ct4-sr-img img{object-fit:cover!important;background:transparent}
.nd.nd-sermons .ct4-sr-img{background:#0b0b0b}
/* R1: singles + archives (templates are framework; style only) */
.bg-grey.rc{background:#ff8fc8!important;border-radius:0!important}
.bg-grey.rc,.bg-grey.rc *{color:#0b0b0b}
.secondary-hero{background:#1736d9!important;text-align:left!important}
.secondary-hero:before,.secondary-hero:after{background:#1736d9!important;opacity:1!important}
.secondary-hero .titles,.secondary-hero h1,.secondary-hero h2{color:#c6ff3d!important;text-align:left!important;font-size:clamp(3.2rem,8vw,9rem)!important;line-height:.92}
.secondary-hero .small-titles,.secondary-hero p{color:#fff!important;text-align:left!important}
.search-wrap,.search-wrap form,.search-wrap input,.input-page-search,.cc-search input[type=text],.widget_search input{border-radius:0!important}
.search-wrap{box-shadow:4px 4px 0 #0b0b0b!important;border:2px solid #0b0b0b}
.search-wrap input{border:0}
.bg-sec .titles,.bg-sec h2.titles{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.05em;font-size:clamp(2.6rem,6vw,6rem)!important;line-height:.95}
/* Find a Group: pink poster heading above the search (template has no Hero fields; the sr-only h1 stays) */
body.page-id-1583 main.content{padding-top:0!important}
body.page-id-1583 main.content:before{content:"Find a group.";display:block;background:#ff8fc8;color:#0b0b0b;padding:clamp(150px,16vw,240px) max(20px,calc((100% - 1300px)/2)) clamp(50px,6vw,90px);font:800 clamp(4rem,10vw,12rem)/.9 'Bricolage Grotesque',sans-serif;letter-spacing:-.05em}
body.page-id-1583 .search-wrap{margin:-30px auto 0!important;width:min(760px,calc(100% - 40px));position:relative;z-index:2;background:#fff}
body.page-id-1583 .search-wrap input{width:100%}
/* Single message: video must not widen the page */
.featured-video iframe,.featured-video video{max-width:100%!important;width:100%!important;height:auto!important;aspect-ratio:16/9}
.featured-video,.featured-video .video-wrap,.featured-video .container{max-width:100%;overflow-x:clip}
body.page-id-1583 .search-wrap input{padding-right:64px!important;font-size:clamp(1.1rem,1.6vw,1.5rem)}
body.single-message,body.single-event{overflow-x:clip}
/* Hosanna ministry pages: Kids 2756, Students 2757, College 2758, Adults 2760, Baptism 2761, Serve 2762. */
/* Clear the fixed header on heroes placed above the page */
.page-id-2756 .ct2-hero,.page-id-2762 .ct2-hero{padding-top:170px!important}
@media(max-width:767px){.page-id-2756 .ct2-hero,.page-id-2762 .ct2-hero{padding-top:130px!important}}
/* Eyebrow link and title color per ground */
.page-id-2760 .ct2-hero-small-title a,.page-id-2760 .ct2-hero .small-titles a{color:var(--nd-pink)!important}
.page-id-2760 .ct2-hero h1{color:var(--nd-pink)}
.page-id-2756 .ct2-hero .small-titles a{color:var(--nd-cobalt)}
/* Serve: type-only hero on cobalt, lime title */
.page-id-2762 .ct2-hero h1,.page-id-2762 .ct2-hero .ct2-hero-title{color:var(--nd-lime)}
.page-id-2762 .ct2-hero .small-titles,.page-id-2762 .ct2-hero .small-titles a{color:#fff}
/* Button pairs (scope: children of Connect, parent-pageid-2560) */
html body.parent-pageid-2560 main .ct-wrapper .ct2-buttons a.button:is(:link,:visited),html body.parent-pageid-2560 .ct2-hero a.button:is(:link,:visited){background:var(--nd-lime)!important;color:var(--nd-black)!important;border:2px solid var(--nd-black)!important}
html body.parent-pageid-2560 main .ct-wrapper .ct2-buttons a.button:is(:link,:visited).button-main-color,html body.parent-pageid-2560 .ct2-hero a.button:is(:link,:visited).button-main-color{background:var(--nd-cobalt)!important;color:var(--nd-lime)!important}
html body.parent-pageid-2560 main .ct-wrapper .ct2-buttons a.button:is(:link,:visited).button-black,html body.parent-pageid-2560 .ct2-hero a.button:is(:link,:visited).button-black{background:var(--nd-black)!important;color:#fff!important}
html body.parent-pageid-2560 main .ct-wrapper .ct2-buttons a.button:is(:link,:visited).button-third-color,html body.parent-pageid-2560 .ct2-hero a.button:is(:link,:visited).button-third-color{background:var(--nd-pink)!important;color:var(--nd-black)!important}
html body.parent-pageid-2560 main .ct-wrapper .ct2-buttons a.button:is(:link,:visited):hover,html body.parent-pageid-2560 .ct2-hero a.button:is(:link,:visited):hover{background:#fff!important;color:var(--nd-black)!important}
/* Dawn photos: duotone on colored grounds, bloom to full color on hover or focus */
.nd-kids-play img,.nd-stu-care img,.nd-stu-faith img,.nd-bap-declare img,.nd-bap-grace img,.nd-srv-join img,.nd-adu-cta img{filter:grayscale(1) contrast(1.05);mix-blend-mode:multiply;transition:filter .5s,mix-blend-mode .5s}
.nd-kids-play:hover img,.nd-stu-care:hover img,.nd-stu-faith:hover img,.nd-bap-declare:hover img,.nd-bap-grace:hover img,.nd-srv-join:hover img,.nd-kids-play:focus-within img,.nd-stu-faith:focus-within img,.nd-bap-declare:focus-within img,.nd-srv-join:focus-within img{filter:none;mix-blend-mode:normal}
@media(prefers-reduced-motion:reduce){.nd-kids-play img,.nd-stu-care img,.nd-stu-faith img,.nd-bap-declare img,.nd-bap-grace img,.nd-srv-join img{filter:none;mix-blend-mode:normal;transition:none}}
/* Students: statement reads like a shout, text on white */
.nd-stu-statement .wysiwyg{max-width:none}
/* Serve tabs: visible keyboard focus */
.nd-srv-tabs [role=tab]:focus-visible,.nd-srv-tabs a:focus-visible{outline:3px solid var(--nd-lime);outline-offset:3px}
/* Phones: medium-width text uses the full column; tab names wrap in two columns */
@media(max-width:767px){.nd-min .wysiwyg.content-medium{margin-left:0!important;margin-right:0!important;max-width:none!important}
.nd-srv-tabs .ct2-tab-list,.nd-srv-tabs [role=tablist]{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}
.nd-srv-tabs [role=tab]{text-align:left;font-size:26px;padding:14px 8px;white-space:normal}}
@media(max-width:767px){.nd-stu-statement .statement-text,.nd-stu-statement p{font-size:22px!important;line-height:1.35!important}}
@media(max-width:400px){.parent-pageid-2560 main.content{overflow-x:clip}}
/* Baptism: three steps fill the width, 18px body */
.nd-bap-steps .ct3-pw-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.nd-bap-steps .ct3-pw-copy p{font-size:18px;line-height:1.5}
@media(max-width:900px){.nd-bap-steps .ct3-pw-results{grid-template-columns:1fr}}
/* Serve tabs: space between labels */
.nd-srv-tabs .ct2-tab-list{gap:24px}
/* Kids: questions on black read in white and lime */
.nd-kids-faq .ct-faq-q{color:#fff}
.nd-kids-faq .ct-faq-item.is-open .ct-faq-q{color:var(--nd-lime)}
.nd-kids-faq .ct2-faq-rows .ct-faq-q::before,.nd-kids-faq .ct-faq-q::before{color:var(--nd-lime)}
/* Students: Wednesday bill fits on one line, lime dots */
.nd-stu-week .ct3-lu-huge .ct3-lu-name{font-size:clamp(3rem,5.4vw,9rem);white-space:nowrap}
.nd-stu-week .ct3-lu-sep{color:var(--nd-lime)}
@media(max-width:767px){.nd-stu-week .ct3-lu-huge .ct3-lu-name{white-space:normal;font-size:clamp(2.6rem,12vw,4rem)}}
/* College: clear the header above the portrait card; inactive story items stay readable */
.page-id-2758 .ct2-hero{padding-top:150px!important}
@media(max-width:767px){.page-id-2758 .ct2-hero{padding-top:110px!important}}
.nd-col-sticky .ct3-stmedia.is-js .ct3-stm-item:not(.is-on){opacity:.6}
/* Serve: lime title on cobalt, inactive tabs stay legible */
.page-id-2762 h1.ct2-hero-title,.page-id-2762 h1.ct2-hero-title .ccm-wi{color:var(--nd-lime)!important}
.nd-srv-tabs [role=tab]:not([aria-selected=true]){opacity:.85}
/* Phones: intro text uses the full column; no dangling dot after the last name */
@media(max-width:767px){.nd-col-intro .section_titles_width,.nd-col-intro .wysiwyg{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}.nd-stu-week .ct3-lu-name:last-child .ct3-lu-sep{display:none}}
/* Hosanna shared (Stage B round 1): menu, arrows, hero scale, buttons, duotone ground, fonts, footer. Loads last. */
/* 1 menu: full-screen dialog, Close pinned inside the viewport */
.cc-k-menu{inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;box-sizing:border-box}
.cc-k-menu .cc-k-menu-close{position:fixed;top:20px;right:20px;float:none;z-index:5}
/* 2 menu info column (no Kinetic header info field exists in the theme, so it is set here) */
.cc-k-menu::after{content:"Sundays 9:30 & 11 am\A Kids same times\A Youth Wed 7 pm\A 111 Address Here";white-space:pre;display:block;margin-top:30px;font:500 18px/1.7 'Space Grotesk',sans-serif;color:var(--nd-lime)}
@media(min-width:1025px){.cc-k-menu::after{position:fixed;top:110px;right:8vw;margin:0;text-align:right;font-size:20px}.cc-k-menu-preview{top:34vh;height:52vh}}
/* 3 no arrows (arrows are hard-coded in theme templates; hidden here) */
.cc-k-menu-open span,.cc-stage h2 span,.cc-k-baseline>span[aria-hidden]{display:none!important}
/* 4 hero titles at least as big as band titles; 5 room under the header */
.ct2-hero .ct2-hero-title,.ct2-hero h1{font-size:clamp(4rem,9vw,11rem);line-height:.9;font-weight:800}
.ct2-hero.ct2-hero.is-below-header{--ct2-hero-top:clamp(150px,10vw,185px)}
@media(max-width:767px){.ct2-hero.ct2-hero.is-below-header{--ct2-hero-top:130px;padding-bottom:110px}}
/* 6 buttons */
.button-sec-color,.button.button-sec-color{color:var(--nd-black)!important}
.button-third-color,.button.button-third-color,.button-pink{box-shadow:4px 4px 0 var(--nd-black)}
/* 7 duotone ground; bloom when the photo comes into view (class added by the framework), static color under reduced motion */
.nd-kids-play .image-wrapper-rectangle,.nd-stu-care .image-wrapper-rectangle,.nd-stu-faith .image-wrapper-rectangle,.nd-bap-declare .image-wrapper-rectangle,.nd-bap-grace .image-wrapper-rectangle,.nd-srv-join .image-wrapper-rectangle,.nd-adu-cta .image-wrapper-rectangle{background:var(--nd-cobalt)}
.nd-kids-play img.ccm-in,.nd-stu-care img.ccm-in,.nd-stu-faith img.ccm-in,.nd-bap-declare img.ccm-in,.nd-bap-grace img.ccm-in,.nd-srv-join img.ccm-in,.nd-adu-cta img.ccm-in{filter:none;mix-blend-mode:normal;transition-delay:.6s}
@media(prefers-reduced-motion:reduce){.nd img{filter:none!important;mix-blend-mode:normal!important}}
/* 9 one sans fallback; meta lines use Space Grotesk */
.proxima,.title-meta,.search-results-numbers{font-family:'Space Grotesk',system-ui,Arial,sans-serif!important}
body,h1,h2,h3,.titles{font-synthesis:none}
/* 10 Stage footer on phones */
@media(max-width:767px){.cc-stage h2{font-size:clamp(4.5rem,22vw,18.75rem);max-width:none}}
/* portraits are square everywhere (circle stays only on the Connect hero, Menu button and sun) */
.ct-person-photo,.ct-person-photo img,.ct2-lt-portrait img,[class*=person] img{border-radius:0!important}
/* 11 phone menu button never hides hero copy: hero bottom room is set above */
/* R2 buttons: DIRECTION pairs only (black on lime, lime on cobalt). Outranks .white a:link, .bg-* and single-template rules. */
html body a.button.button-sec-color:is(:link,:visited),html body a.button:not([class*="button-"]):is(:link,:visited),html body a.button.ct-cal__all:is(:link,:visited){color:var(--nd-black)!important;-webkit-text-fill-color:var(--nd-black)!important}
html body a.button.button-main-color:is(:link,:visited),html body .section a.button.button-main-color[data-ccm]:is(:link,:visited){color:var(--nd-lime)!important;-webkit-text-fill-color:var(--nd-lime)!important}
/* R2 footer Stage: the sun may extend past the viewport, never widen the page */
.cc-stage{overflow-x:clip}
/* R2 About text rows: number and title share one baseline */
.ct2-tr-label{display:flex;align-items:baseline;gap:16px;flex-wrap:nowrap}
.ct2-tr-n{flex:0 0 auto;line-height:1}
/* R2 Connect index: decorative numbers readable, descriptions calm on phones */
.ct2-ix-n{color:var(--nd-cobalt);opacity:1}
@media(max-width:767px){.ct4-ix-desc{font-size:18px!important;line-height:1.5!important;color:var(--nd-black);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}}
/* R2 photos shown in full color where the multiply ground is not cobalt */
.nd-bap-grace .ct3-cd-img img,.nd-bap-grace img{filter:none!important;mix-blend-mode:normal!important}
/* R2 narrow phones: nothing wider than the viewport */
.gform_wrapper,.gform_wrapper iframe,.page-id-11 iframe{max-width:100%}
.ct2-sch-day,.ct2-ha-img,.post-title,.post-title a,.title-meta{min-width:0;max-width:100%;overflow-wrap:anywhere}
/* R2 Serve tabs on phones: scroll, never overprint */
@media(max-width:767px){.nd-srv-tabs .ct2-tab-list button{white-space:nowrap;min-width:0}}
