/* Northline Church (Patmos) · site CSS. Source: tools/css/patmos.css, deployed as css/screen.css.
   Architect's monograph: Archivo set wide and huge, black on bone, one 2px electric-blue laser line.
--------------------------------------------------------------------------------------- */
:root{--nl-ink:#0A0A0A;--nl-bone:#F3F2EE;--nl-laser:#2B3CFF;--nl-gray:#8C8C8C;--nl-ease:cubic-bezier(.2,.7,.2,1);--nl-title:var(--font-titles,'Archivo'),sans-serif}

/* Type: wide Archivo for display, sentence-case labels, never caps */
.nl .titles:not(.small),.ct2-hero-title,.cc-fcta-title,.ct3-lu-text,.ct3-rv-lead-text,.ct3-cd-n{font-family:var(--nl-title);font-stretch:118%;letter-spacing:-.035em}
.nl .titles:not(.small){line-height:.95}
.nl .small-titles,.ct2-hero-eyebrow,.ct3-cd-when,.ct3-cd-where,.ct3-lu-date,.cc-fcta-text{text-transform:none!important;letter-spacing:0!important;font-weight:500;font-size:16px}
.nl-dot{color:var(--nl-laser)}
.bg-sec .nl-dot{color:var(--nl-ink)}
a:focus-visible,button:focus-visible,.button:focus-visible{outline:2px solid var(--nl-laser)!important;outline-offset:3px}

/* Sheet numbers + datum line above every band's eyebrow */
body{counter-reset:nl-band 1}
.nl{counter-increment:nl-band}
.nl h3.small-titles[role="presentation"]{display:flex;align-items:center;gap:14px}
.nl h3.small-titles[role="presentation"]::before{content:"0" counter(nl-band);font-variant-numeric:tabular-nums;opacity:.55}
.nl h3.small-titles[role="presentation"]::after{content:"";flex:0 0 48px;height:2px;background:var(--nl-laser);order:-1}
.bg-sec h3.small-titles[role="presentation"]::after{background:currentColor}

/* Buttons: square, label + sliding arrow, blue on hover/focus */
.nl .button,.ct2-hero .button,.cc-fcta .button{display:inline-flex;align-items:center;justify-content:center;gap:.6em;transition:background-color .25s var(--nl-ease),color .25s var(--nl-ease),border-color .25s var(--nl-ease)}
.nl .button::after,.ct2-hero .button::after,.cc-fcta .button::after{content:"\2192";transition:transform .3s var(--nl-ease)}
.nl .button:hover::after,.ct2-hero .button:hover::after,.cc-fcta .button:hover::after,.nl .button:focus-visible::after{transform:translateX(6px)}
.bg-third .button.button-white,.ct2-hero .button.button-white{background:transparent!important;color:var(--nl-ink)!important;border:1px solid var(--nl-ink)!important}
.bg-main .button.button-white,.bg-sec .button.button-white,.footer .cc-fcta a.button{background:var(--nl-bone)!important;color:var(--nl-ink)!important;border:1px solid var(--nl-bone)!important}
.nl .button:hover,.ct2-hero .button:hover,.cc-fcta .button:hover,.bg-third .button.button-white:hover,.ct2-hero .button.button-white:hover,.bg-main .button.button-white:hover{background:var(--nl-laser)!important;border-color:var(--nl-laser)!important;color:#fff!important}
.bg-sec .button.button-white:hover{background:var(--nl-ink)!important;border-color:var(--nl-ink)!important;color:var(--nl-bone)!important}

/* Header */
.cc-header-minimal{--cc-min-ink:var(--nl-ink);--cc-min-bg:var(--nl-bone)}
.cc-header-minimal .cc-min-brand img{height:26px;max-height:none;max-width:none;width:auto}
.cc-min-links a::after{background:var(--nl-laser);height:2px}
.cc-min-open:hover{background:var(--nl-laser);border-color:var(--nl-laser);color:#fff}
.cc-min-big-link{font-stretch:118%;letter-spacing:-.035em}
.cc-min-big-link:hover .cc-min-text{text-decoration-color:var(--nl-laser)}
.cc-min-big>li{border-top-color:rgba(10,10,10,.14)}

/* 01 Hero: wide type across the page, the laser line draws under it */
.ct2-hero-type.is-under-header .ct2-ht{padding-top:clamp(112px,12vw,180px)}
.ct2-hero-type .ct2-hero-title{font-size:clamp(3.25rem,7.1vw,10.5rem);line-height:.86;font-weight:800;margin:.25em 0 0}
.ct2-hero-type .nl-line{display:block}
.ct2-hero-type .ct2-hero-title::after{content:"";display:block;height:2px;margin-top:.22em;background:var(--nl-laser);transform-origin:left;animation:nl-draw 1.4s .5s var(--nl-ease) both}
.ct2-hero-type .ct2-hero-sentence{max-width:30ch;font-size:clamp(1.125rem,1.5vw,1.375rem);margin-top:32px}
@media (min-width:1100px){
	.ct2-hero-type .ct2-ht{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:40px}
	.ct2-hero-type .ct2-hero-eyebrow{grid-column:1/-1}
	.ct2-hero-type .ct2-hero-title{grid-column:1/-1;grid-row:2/5}
	.ct2-hero-type .ct2-hero-sentence{grid-column:2;grid-row:3;align-self:end;margin:0 0 20px}
	.ct2-hero-type .ct2-hero-buttons{grid-column:2;grid-row:4;align-self:end;margin:0 0 calc(.32 * clamp(3.25rem,7.1vw,10.5rem) + 24px)}
}
@keyframes nl-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* 02 Cinema: 21:9 full bleed */
.nl-cinema img{display:block;width:100%;height:auto;aspect-ratio:21/9;object-fit:cover;object-position:50% 40%}

/* 03 Next gathering: wide numerals on black, a laser datum above the clock */
.nl-next .ct3-cd-clock{border-top:2px solid var(--nl-laser);padding-top:36px;margin-top:48px;gap:clamp(24px,4vw,72px)}
.nl-next .ct3-cd-n{font-size:clamp(4.5rem,11vw,12rem);font-weight:800;line-height:.85}
.nl-next .ct3-cd-l{text-transform:none;letter-spacing:0;font-size:16px;color:var(--nl-gray)}
.nl-next .ct3-cd-when{font-size:clamp(1.25rem,2vw,1.75rem)!important;font-family:var(--nl-title);font-weight:700;margin-top:28px}
.nl-next .ct3-cd-where{color:var(--nl-gray)}
.nl-next .ct3-cd-img img{aspect-ratio:21/9;object-fit:cover;width:100%;height:auto}

/* 04 Latest message */
.nl-message .titles:not(.small){font-size:clamp(2.25rem,3.4vw,4rem);text-wrap:balance}
.nl-message .image-split{overflow:hidden}
.nl-message .btn-play svg{width:88px;height:88px}
.nl-message .btn-play path{fill:var(--nl-bone)}
.nl-message .video-wrap:hover .btn-play path{fill:var(--nl-laser)}

/* 05 Ministry rail: 3:2 unboxed, image scales a touch on hover */
.nl-rail .ct2-sc-item a{display:block;overflow:hidden}
.nl-rail .ct2-sc-item img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;transition:transform .8s var(--nl-ease)}
.nl-rail .ct2-sc-item a:hover img,.nl-rail .ct2-sc-item a:focus-visible img{transform:scale(1.04)}
.nl-rail figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-top:2px solid var(--nl-ink);margin-top:14px;padding-top:12px}
.nl-rail .ct2-sc-title{font-stretch:118%;font-size:clamp(1.25rem,1.8vw,1.75rem)}
.nl-rail .ct2-sc-meta{font-size:16px;color:var(--nl-ink)}
.nl-rail .ct2-sc-item:hover figcaption{border-top-color:var(--nl-laser)}

/* 06 Events: a left-set bill on blue */
.nl-lineup .ct3-lineup,.nl-lineup .ct3-lineup.ta-center{text-align:left!important}
.nl-lineup .ct3-lu-names{justify-content:flex-start!important;text-align:left}
.nl-lineup .ct3-lu-tier{border-top:2px solid rgba(255,255,255,.35);padding-top:20px;margin-top:20px}
.nl-lineup .ct3-lu-date{color:#fff;font-weight:500;font-size:18px!important;margin-right:.6em;vertical-align:middle;font-variant-numeric:tabular-nums}
.nl-lineup .ct3-lu-sep{opacity:.5}
.nl-lineup .ct3-lu-name a{color:#fff;text-decoration:none}
.nl-lineup .ct3-lu-name a:hover .ct3-lu-text{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.12em}

/* 07 Stories: one big quote, two small, no stars */
.nl-stories .ct3-rv-lead-text{text-wrap:balance;font-size:clamp(2rem,3.8vw,4rem);line-height:1.02;font-weight:800}
.nl-stories .ct3-rv-lead{border-top:2px solid var(--nl-laser);padding-top:28px}
.nl-stories .ct3-rv-more{border-top:0!important;padding-top:0!important}
.nl-stories .ct3-rv-small{border-top:1px solid rgba(10,10,10,.2);padding-top:20px}
.nl-stories .ct3-rv-small p{font-size:clamp(1.25rem,1.6vw,1.5rem);line-height:1.35}

/* 08 First Sunday: unboxed columns on black */
.nl-path .ct3-chip{border-radius:0;border:1px solid rgba(243,242,238,.5);background:transparent;color:var(--nl-bone);min-height:44px;padding:10px 18px;font-size:16px}
.nl-path .ct3-chip.is-on,.nl-path .ct3-chip[aria-pressed="true"]{background:var(--nl-bone);color:var(--nl-ink);border-color:var(--nl-bone)}
.nl-path .ct3-chip:hover{border-color:var(--nl-laser)}
.nl-path .ct3-pw-card{background:none!important;border:0!important;border-top:2px solid rgba(243,242,238,.25)!important;border-radius:0!important;box-shadow:none!important;padding:24px 0 0!important;transition:border-color .3s var(--nl-ease)}
.nl-path .ct3-pw-card:hover{border-top-color:var(--nl-laser)!important}
.nl-path .ct3-pw-copy{padding:0!important}
.nl-path .ct3-pw-card h3{font-stretch:118%;letter-spacing:-.02em}
.nl-path .ct3-pw-link{color:var(--nl-bone)}

/* Footer CTA: "Come as you are." huge on black */
.cc-footer-cta{border-top:2px solid var(--nl-laser)}
.cc-fcta-title{font-size:clamp(3rem,8.4vw,10rem)!important;line-height:.88!important;font-weight:800!important}
.cc-fcta{align-items:flex-end}
.footer .cc-fcta a.button.cc-fcta-quiet{background:transparent!important;color:var(--nl-bone)!important}
.footer .cc-fcta a.button.cc-fcta-quiet:hover,.footer .cc-fcta a.button:hover{background:var(--nl-laser)!important;color:#fff!important}
.cc-footer img[src*="northline-wordmark"]{height:28px;width:auto}

/* Phones */
@media (max-width:767px){
	.ct2-hero-type .ct2-hero-title{font-size:clamp(2.6rem,12.4vw,4.5rem);font-stretch:108%}
	.nl .titles:not(.small){font-stretch:108%}
	.nl-cinema img{aspect-ratio:4/3}
	.nl-next .ct3-cd-clock{gap:20px}
	.nl-rail .ct2-sc-items{scroll-snap-type:x mandatory}
	.nl-lineup .ct3-lu-huge .ct3-lu-text{font-size:2.75rem}
	.nl-lineup .ct3-lu-large .ct3-lu-text{font-size:2rem}
	.nl-lineup .ct3-lu-medium .ct3-lu-text{font-size:1.5rem}
	.nl-lineup .ct3-lu-name{display:block;margin-bottom:.35em}
	.nl-lineup .ct3-lu-date{display:block;margin:0 0 2px}
	.ct2-hero-type.is-full{min-height:0}
}
@media (prefers-reduced-motion:reduce){
	.ct2-hero-type .ct2-hero-title::after{animation:none}
	.nl .button::after,.nl-rail .ct2-sc-item img{transition:none}
}

/* Lineup always reads from the left edge; countdown photo card only where there is room beside the title */
.nl-lineup .ct3-lu-tier,.nl-lineup .ct3-lu-names,.nl-lineup .ct3-lu-name{text-align:left!important;margin-left:0!important;padding-left:0!important}
@media (min-width:768px) and (max-width:1023px){.nl-next .ct3-cd-img{display:none}}
@media (max-width:767px){.nl-lineup .ct3-lu-names{align-items:flex-start!important}}
.cc-min-aside,.cc-min-note p{font-size:18px!important;line-height:1.55!important}
.cc-min-note strong{font-family:var(--nl-title);font-stretch:118%}
.cc-min-aside{border-top:2px solid var(--nl-laser);padding-top:24px}
.cc-min-big-link{font-size:clamp(1.75rem,min(8.5vw,7vh),5.5rem)!important}
/* Northline Stage B: the entry, beliefs, connection index and contact ledger. */
:is(.page-id-2559,.page-id-9,.page-id-2560,.page-id-11) .ct2-hero-title{font-size:clamp(3.75rem,7.8vw,9rem);line-height:.88;font-weight:800;max-width:14ch}
.page-id-2559 .hero h1,.page-id-2559 .hero-content h1{font-family:var(--nl-title);font-stretch:118%;font-size:clamp(3.5rem,8vw,9rem);font-weight:800;letter-spacing:-.04em;line-height:.9;max-width:10ch}
.page-id-2559 .hero-content .hero-sentence{max-width:46ch}
.page-id-9 .ct2-hk-img{aspect-ratio:21/9;object-fit:cover}
.page-id-9 .ct2-hk-copy{align-items:end}
.page-id-2560 .ct4-hc,.page-id-2560 .ct4-hc-media,.page-id-2560 .ct4-hc-photo{border-radius:0!important}
.page-id-2560 .ct4-hc{margin:0!important}
.page-id-2560 .ct4-hc .ct2-hero-title{font-size:clamp(5rem,12vw,14rem);max-width:8ch}
.page-id-11 .ct2-hs-copy{border-bottom:2px solid var(--nl-laser)}
.page-id-11 .ct2-hero-title{font-size:clamp(4rem,8vw,10rem)}
.nl-visit-times .ct2-sch-days{border-top:2px solid var(--nl-laser)}
.nl-visit-times .ct2-sch-day{border-radius:0;background:none;box-shadow:none;border:0;border-bottom:1px solid rgba(10,10,10,.22)}
.nl-visit-times .ct2-sch-time{font-family:var(--nl-title);font-weight:800;font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.04em}
.nl-visit-times .ct2-sch-picker{display:none!important}
.nl-visit-times .ct2-sch-day{display:block!important}
.nl-visit-steps .ct2-tr{background:none;border-radius:0;border-top:1px solid rgba(10,10,10,.25)}
.nl-visit-steps .ct2-tr-n{color:var(--nl-laser)}
.nl-visit-letter .ct2-lt-portrait img{border-radius:0!important;aspect-ratio:1;object-fit:cover}
.nl-visit-letter .ct2-lt-greeting{font-family:var(--nl-title);font-weight:800;font-size:clamp(2rem,4vw,4rem);letter-spacing:-.03em;line-height:1}
.nl-visit-letter .ct2-lt-body{font-size:clamp(1.2rem,1.65vw,1.5rem);line-height:1.6}
.nl-visit-letter .ct2-lt-script{display:none}
.nl-visit-faq .questions-two-column .panel{border-top:2px solid var(--nl-laser);padding-top:24px;background:none;box-shadow:none;border-radius:0}
.nl-about-mission .ct2-stm-text{font-size:clamp(2.5rem,4.7vw,5.8rem);line-height:1.05;font-weight:800}
.nl-about-values .ct2-columns{column-gap:70px}
.nl-about-values .ct2-cols-body h3{font-size:24px;font-weight:800;margin-top:1.5em}
.nl-about-values .ct2-cols-body p{margin-bottom:1.5em}
.nl-about-timeline .ct2-tl-dot{width:10px;height:10px;border-radius:0;background:var(--nl-laser)}
.nl-about-timeline .ct2-tl-marker{color:var(--nl-ink);font-size:18px}
.nl-about-timeline .ct2-tl-body{max-width:65ch}
.nl-about-pastor .ct-person-photo{border-radius:0!important;width:100%;aspect-ratio:4/5;object-fit:cover}
.nl-about-pastor .ct-person-card{max-width:360px}
.nl-about-pastor .ct-person-name,.nl-about-pastor .ct-person-role{color:#fff}
.nl-about-pastor .ct-person-text .wysiwyg{max-width:54ch}
.nl-connect-index .ct2-ix-title{font-size:clamp(2rem,4.9vw,5rem);font-weight:800;letter-spacing:-.04em}
.nl-connect-index .ct2-ix-row{border-top:1px solid rgba(10,10,10,.25)}
.nl-connect-index .ct2-ix-n{color:var(--nl-ink);font-size:16px}
.nl-connect-index .ct2-ix-img,.nl-connect-index .ct2-ix-img img{border-radius:0!important}
.nl-connect-index .ct2-ix-link:hover{color:var(--nl-ink)}
.nl-connect-path .ct3-chip{border-radius:0;background:transparent;color:var(--nl-bone);border:1px solid #8c8c8c;min-height:44px;padding:10px 18px;font-size:16px}
.nl-connect-path .ct3-chip.is-on{color:var(--nl-ink);background:var(--nl-bone)}
.nl-connect-path .ct3-pw-card{border:0!important;border-top:2px solid var(--nl-laser)!important;background:none!important;padding:24px 0 0!important;border-radius:0!important;box-shadow:none!important}
.nl-connect-path .ct3-pw-copy{padding:0!important}
.nl-connect-path .ct3-pw-link{color:var(--nl-bone)}
.nl-connect-cta .ct2-cta .titles{font-size:clamp(3.25rem,7vw,8rem);max-width:12ch}
.nl-contact-form input,.nl-contact-form textarea,.nl-contact-form select{border-radius:0!important;background:transparent!important;border-color:var(--nl-ink)!important;box-shadow:none!important;color:var(--nl-ink)!important}
.nl-contact-form .gform_button{background:var(--nl-ink)!important;color:var(--nl-bone)!important}
.nl-contact-form .gform_wrapper .gfield_label{font-size:18px!important;font-weight:500!important}
.nl-contact-map .ct2-loc{background:none!important;border-radius:0!important;box-shadow:none!important;padding-left:0!important}
.nl-contact-map .ct2-loc-map{border-radius:0!important}
.nl-contact-map .ct2-loc-hours,.nl-contact-map .ct2-loc-contact,.nl-contact-map .ct2-loc-addr{color:var(--nl-bone)}
@media(max-width:767px){
 :is(.page-id-2559,.page-id-9,.page-id-2560,.page-id-11) .ct2-hero-title{font-size:clamp(3rem,13vw,5rem);font-stretch:108%}
 .page-id-2559 .hero-content h1{font-size:clamp(3rem,13vw,5rem)}
 .page-id-9 .ct2-hk-img{aspect-ratio:4/3}
 .page-id-2560 .ct4-hc .ct2-hero-title{font-size:clamp(4rem,18vw,6rem)}
 .nl-visit-times .ct2-sch-session{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
 .nl-visit-times .ct2-sch-time{font-size:2.5rem}
 .nl-visit-faq .questions-two-column{display:block}
 .nl-visit-faq .questions-two-column .panel{width:100%;float:none}
 .nl-connect-index .ct2-ix-img{display:none!important}
 .nl-connect-index .ct2-ix-meta{font-size:16px}
 .nl-connect-path .ct3-pw-results{grid-template-columns:1fr}
 .nl-about-pastor .ct-person-card{max-width:none}
}
/* The letter's framework default uses display-size paragraphs; keep the personal note readable. */
.nl-visit-letter .ct2-lt-portrait{border-radius:0!important}
.nl-visit-letter .ct2-lt-body,.nl-visit-letter .ct2-lt-body p{font-size:clamp(20px,1.65vw,26px);line-height:1.6}
.nl-about-pastor .ct-person-role{text-transform:none;letter-spacing:0;font-size:16px}
.page-id-2560 .ct4-hc-card{border-radius:0!important}
.page-id-2560 .ct4-hc-shade{background:#000!important}
.page-id-2560 .ct4-hc-title .nl-dot{color:var(--nl-laser)!important;opacity:1}
body.page-id-11 .nl-contact-form .gform_wrapper input:not([type=submit]),body.page-id-11 .nl-contact-form .gform_wrapper textarea{border-radius:0!important;box-shadow:none!important;background:transparent!important;border:1px solid var(--nl-ink)!important;color:var(--nl-ink)!important}
:is(.page-id-2559,.page-id-2560) .cc-min-header{color:var(--nl-bone)}
:is(.page-id-2559,.page-id-2560) .cc-min-header .cc-min-brand img{filter:brightness(0) invert(1)}
.page-id-11 .cc-min-header .cc-min-right{color:var(--nl-bone)}
.nl-about-pastor .ct-person-text .wysiwyg{max-width:580px}
body.page-id-11 .nl-contact-form .gform_wrapper .gfield_validation_message{display:block!important;color:#b42318!important;font-size:16px!important;line-height:1.4}
.nl-contact-map .ct2-locations,.nl-contact-map .ct2-locations>*{min-width:0;max-width:100%}
.nl-contact-map .ct2-loc-map{width:100%;min-width:0}
.nl-contact-map .ct2-loc-map iframe{max-width:100%}
@media(max-width:390px){.nl-contact-map .ct2-loc-hours>div{gap:12px}.nl-contact-map .ct2-loc-hours dd{white-space:normal}}
:is(.page-id-2559,.page-id-2560,.page-id-11) .cc-min-header .cc-min-links a{color:var(--nl-bone)!important}
@media(max-width:1000px){
 .page-id-11 .cc-min-header .cc-min-brand img{filter:brightness(0) invert(1)}
 .nl-contact-form .relative>.left,.nl-contact-form .relative>.right{width:100%;float:none}
 .nl-contact-form .relative>.right{margin-top:40px}
}
.nl-visit-times .ct2-schedule.is-js .ct2-sch-day{display:block!important}
/* Form baseline has seven :not() clauses; an ID keeps this demo's fields on its own typography and square system. */
.nl-contact-form #gform_wrapper_1 input:not([type=submit]),.nl-contact-form #gform_wrapper_1 textarea,.nl-contact-form #gform_wrapper_1 select{border-radius:0!important;box-shadow:none!important;background:transparent!important;border:1px solid var(--nl-ink)!important;font-family:'DM Sans',sans-serif!important;color:var(--nl-ink)!important}
/* Northline ministry pages: square photography, restrained architectural wayfinding. */
body:is(.page-id-2756,.page-id-2757,.page-id-2758,.page-id-2760,.page-id-2761,.page-id-2762) .ct2-hero-title{font-size:clamp(3.6rem,6.6vw,8rem);line-height:.92;letter-spacing:-.045em;font-weight:800;text-wrap:balance}
body:is(.page-id-2756,.page-id-2757,.page-id-2758,.page-id-2760,.page-id-2761,.page-id-2762) .ct2-hero :is(img,figure){border-radius:0!important}
.nl-kids-tour :is(.ct3-an-pin,.ct3-an-item){border-radius:0}
.nl-students-weekly .ct3-cd-n{font-family:var(--nl-title);font-size:clamp(4rem,9vw,9rem);line-height:1;letter-spacing:-.04em;color:#fff}
.nl-students-weekly :is(.ct3-cd-l,.ct3-cd-where){color:#fff}
.nl-college-story .ct3-stm-item{border-top:2px solid var(--nl-laser)}
.nl-adults-recent .panel{box-shadow:none!important;transform:none!important;border-radius:0!important}
.nl-adults-recent .panel :is(h2,h3){font-size:clamp(2.3rem,2.2vw,3.2rem);line-height:1.05}
.nl-serve-teams :is(button,a,h2,h3,p){border-radius:0}
.nl-baptism-interest .gform_wrapper{--gf-ctrl-radius:0px;--gf-ctrl-btn-radius:0px}
@media(max-width:767px){
body:is(.page-id-2756,.page-id-2757,.page-id-2758,.page-id-2760,.page-id-2761,.page-id-2762) .ct2-hero-title{font-size:clamp(3.6rem,12vw,5.2rem)}
.nl-students-weekly .ct3-cd-clock{gap:20px}
}
@media(min-width:768px) and (max-width:1050px){
:is(.nl-kids-together,.nl-college-friendships,.nl-baptism-new-life,.nl-baptism-interest) .titles:not(.small){font-size:2.5rem;overflow-wrap:break-word}
}
.nl-students-statement .ct2-statement{font-weight:800;letter-spacing:-.04em}
.nl-students-weekly .ct3-cd-clock{display:flex;gap:clamp(24px,4vw,64px)}
/* Text stays readable while the pinned photograph changes. */
.nl-college-story .ct3-stmedia.is-js .ct3-stm-item:not(.is-on){opacity:1}
.nl-students-weekly .big-numbers{color:#fff!important}

body.page-id-2757 .ct2-hero-strip{overflow:clip}
.nl-students-statement .ct2-w{opacity:1!important}
.nl-serve-teams .ct2-tab-list button{opacity:1}
@media(min-width:1001px){body.page-id-2762 .cc-header-minimal .cc-min-brand img{filter:brightness(0) invert(1)}}
@media(min-width:768px) and (max-width:1050px){
:is(.nl-students-community,.nl-serve-together) .right{padding-left:32px!important;padding-right:32px!important}
:is(.nl-students-community,.nl-serve-together) .titles:not(.small){font-size:2.5rem;overflow-wrap:break-word}
}
body.page-id-2762 .cc-header-minimal .cc-min-brand img{filter:brightness(0) invert(1)}
@media(max-width:360px){body.page-id-2761 .ct2-hero-title{font-size:3rem}body.page-id-2761 .ct2-hero :is(.ct2-ho-copy,.ct2-ho-img){min-width:0}}
body:is(.page-id-2756,.page-id-2757,.page-id-2758,.page-id-2760,.page-id-2761,.page-id-2762) .ct2-hero-title .nl-dot{color:var(--nl-laser)}
/* Scroll emphasis keeps enough contrast for reading before the word is highlighted. */
.nl .ct2-stm-fill.is-js .ct2-w{opacity:.76}
.nl .ct2-stm-fill.is-js .ct2-w.is-lit{opacity:1}
@media(prefers-reduced-motion:reduce){.nl .ct2-stm-fill.is-js .ct2-w{opacity:1}}
/* Headlines remain readable when a long group name or a browser text size wraps. */
.nl .panel .titles{overflow-wrap:break-word}
/* The wordmark and Menu fit even the narrowest supported phone. */
@media(max-width:360px){
 .cc-header-minimal .cc-min-brand img{max-width:48vw;height:auto;max-height:26px}
 .cc-min-open{padding-inline:12px}
}
/* Google's standard checkbox is 304px wide; scale its complete control into narrow form columns. */
@media(max-width:360px){
 .nl .ginput_recaptcha{max-width:100%;overflow:hidden}
 .nl .ginput_recaptcha>div{transform:scale(.8);transform-origin:top left}
}
/* Small service labels and event dates keep their approved contrast rather than inheriting opacity. */
.nl-next .ct3-cd-l,.nl-lineup .ct3-lu-date{opacity:1}

/* Keep complete display words on phones and carry the same square form treatment to Baptism. */
body.page-id-2762 .cc-min-brand img{filter:brightness(0) invert(1)}
.nl-baptism-interest #gform_wrapper_1 input:not([type=submit]),.nl-baptism-interest #gform_wrapper_1 textarea,.nl-baptism-interest #gform_wrapper_1 select{border-radius:0!important;box-shadow:none!important;background:transparent!important;border:1px solid var(--nl-ink)!important;font-family:'DM Sans',sans-serif!important;color:var(--nl-ink)!important}
.nl-baptism-interest .gfield_validation_message{display:block!important;color:#b42318!important}
@media(max-width:767px){
 body.page-id-2562 .ct2-hero-type .ct2-hero-title{font-size:clamp(2.5rem,10.5vw,3.25rem)}
 .nl-give-online .titles:not(.small){font-size:clamp(2.5rem,8vw,3.5rem)}
 body.page-id-2761 .ct2-hero .ct2-hero-title{font-size:clamp(2.5rem,10vw,3rem)}
}
@media(max-width:1000px){body.page-id-2762 .cc-min-header .cc-min-open{color:var(--nl-bone);border-color:var(--nl-bone)}}
/* Northline watch, events and giving: square editorial panels, real-record archives. */
body:is(.page-id-1579,.page-id-2561,.page-id-2562,.page-id-2823).cc-header-minimal{--cc-min-ink:#F3F2EE;--cc-min-bg:#0A0A0A}
body:is(.page-id-1579,.page-id-2561,.page-id-2562,.page-id-2823) .cc-min-brand img{filter:brightness(0) invert(1)}
body:is(.page-id-1579,.page-id-2562) .ct2-hero-type .ct2-ht{display:block}
body:is(.page-id-1579,.page-id-2562) .ct2-hero-type .ct2-hero-title{font-size:clamp(3.5rem,8.4vw,10rem);line-height:.9;max-width:13ch}
body.page-id-2562 .ct2-hero-title::after{background:#F3F2EE}
body.page-id-2562 .ct2-hero-title .nl-dot{color:#F3F2EE}
body.page-id-2561 .ct2-hero-stacked img{aspect-ratio:21/9;object-fit:cover}
body.page-id-2823 .hero-image{background-position:65% 40%}
.nl-messages-cover .ct3-cv-mast{font-family:var(--nl-title);font-weight:800;letter-spacing:-.05em}
.nl-messages-cover .ct3-cv-frame{border-radius:0}
.nl-messages-cover .ct3-cv-kicker{font-size:16px;letter-spacing:0;text-transform:none;color:#F3F2EE}
.nl-messages-cover .ct3-cv-line a{color:#F3F2EE}
.nl-messages-grid .panel{transform:none!important;box-shadow:none!important;border-radius:0}
.nl-messages-grid .panel img{border-radius:0;aspect-ratio:16/10;object-fit:cover}
.nl-messages-grid .panel .titles{font-size:clamp(1.5rem,2vw,2rem);line-height:1.12}
.nl-messages-series .ct4-sr-img{border-radius:0}
.nl-messages-series .ct4-sr-index,.nl-messages-series .ct4-sr-label{font-size:16px;letter-spacing:0;text-transform:none;color:#0A0A0A}
.nl-messages-series .ct4-sr-title{font-size:clamp(2.5rem,4vw,4.5rem)}
.nl-events-calendar .ct-cal__toggle-btn,.nl-events-calendar .ct-cal__prev,.nl-events-calendar .ct-cal__next{border-radius:0;min-height:44px}
.nl-events-calendar .ct-cal__toggle-btn[aria-pressed=true]{background:#0A0A0A;color:#F3F2EE}
.nl-events-schedule .panel{background:transparent!important;color:#F3F2EE;border-radius:0;border-top:2px solid #2B3CFF}
.nl-events-schedule .ct2-sch-time,.nl-events-schedule .ct2-sch-title,.nl-events-schedule .ct2-sch-meta,.nl-events-schedule .ct2-sch-dayname{color:#F3F2EE}
.nl-live-schedule .panel{background:transparent!important;border-top:2px solid #2B3CFF;border-radius:0}
.nl-live-player .ct-ls-off{border-radius:0;background:#0A0A0A;border:1px solid #666}
.nl-live-player .ct-ls-off-title{font-size:clamp(2.5rem,5vw,5.5rem);line-height:.95}
.nl-live-player .ct-ls-off-text,.nl-live-player .ct-ls-next,.nl-live-player .ct-ls-week{color:#F3F2EE;opacity:1}
.nl-live-player .ct-ls-frame{border-radius:0}
.nl-live-player .ct-live-mark{display:none}
.nl-give-online .ct2-head .content{max-width:46ch}
.nl-give-statement .ct2-stm-text{max-width:22ch}
@media(max-width:767px){
 .nl-messages-grid .grid-flex>.panel{flex-basis:100%!important}
 .nl-messages-cover .ct3-cv-text{font-size:1.5rem}
 .nl-messages-cover .ct3-cv-frame{min-height:0}
 .nl-messages-series .ct4-sr-title{font-size:2.5rem}
 .nl-events-calendar .ct-cal__month{font-size:1.5rem}
 .nl-live-player .ct-ls-off-body{padding:28px 20px}
 .nl-give-online .button{white-space:normal;text-align:left}
}

body:is(.page-id-1579,.page-id-2561,.page-id-2823) .ct2-hero .ct2-hero-title .nl-dot{color:#2B3CFF!important;opacity:1}
body.page-id-2562 .ct2-hero .ct2-hero-title .nl-dot{color:#FFFFFF!important;opacity:1}
body.page-id-2823 .hero-image-wrap img{object-position:68% 40%}
body:is(.page-id-1579,.page-id-2561,.page-id-2562,.page-id-2823) .cc-min-menu{--cc-min-ink:#0A0A0A;--cc-min-bg:#F3F2EE}

.nl-live-player .ct-ls-line{text-transform:none;letter-spacing:0;font-size:16px}
body:is(.page-id-1579,.page-id-2561,.page-id-2562,.page-id-2823) .cc-min-header .cc-min-links a{color:#F3F2EE!important}
