:root{--navy:#071c3b;--ink:#14273d;--muted:#5d6876;--cream:#f5f3ed;--gold:#b48a46;--line:#dce0e3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-2px}h1{font-size:clamp(60px,6.5vw,100px);margin-bottom:28px}h2{font-size:clamp(37px,4vw,60px);margin-bottom:26px}h3{font-size:22px;line-height:1.3}em{font-weight:400;color:var(--gold)}p{color:var(--muted)}.preview{background:var(--navy);color:white;padding:8px 5%;font-size:10px;letter-spacing:1.6px;display:flex;justify-content:space-between}.preview span{letter-spacing:.4px;opacity:.75}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line);background:white}.brand{display:flex;gap:14px;align-items:center;text-decoration:none;font-size:10px;letter-spacing:1.3px;font-weight:bold}.brand img{width:68px;height:68px;object-fit:contain}.brand small{display:block;font-size:15px;letter-spacing:2px}header nav{display:flex;align-items:center;gap:30px;font-size:13px}header nav a{text-decoration:none}.button{display:inline-flex;gap:24px;align-items:center;justify-content:center;background:var(--navy);color:white;border:1px solid var(--navy);padding:15px 23px;text-decoration:none;font-size:13px;font-weight:600;transition:background .2s}.button:hover{background:#254467}.hero{position:relative;display:grid;grid-template-columns:1.05fr 1fr;min-height:690px}.hero-copy{padding:86px 8% 80px 10%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;color:var(--gold);margin-bottom:24px}.intro{font-size:18px;line-height:1.7;max-width:540px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:30px 0}.textlink{font-size:13px;text-decoration:none;font-weight:bold}.welcome{font-size:12px;line-height:1.8;margin-top:32px}.hero-photo{position:relative;background:#c2b5a1;min-height:500px;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;filter:brightness(.7)}.photo-note{position:absolute;bottom:70px;left:45px;color:white;font:43px/1.15 Georgia,serif}.photo-note em{color:#f0d4a4}.caption{position:absolute;bottom:20px;left:45px;color:white;font-size:10px}.scroll{position:absolute;bottom:23px;left:5%;font-size:9px;text-decoration:none;letter-spacing:2px}.wrap{max-width:1320px;margin:auto;padding:95px 5%}.about{display:grid;grid-template-columns:1fr 1fr;gap:35px}.pillars{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:26px}.pillars article{border-top:1px solid var(--line);padding-top:25px}.pillars span{font-size:10px;letter-spacing:2px;color:var(--gold)}.pillars h3{margin:20px 0 12px}.groups{background:var(--cream)}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:35px}.sectionhead p{font-size:14px}.groupgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.groupcard{background:white;position:relative;display:flex;flex-direction:column}.groupart{height:180px;padding:25px;display:flex;align-items:center;justify-content:center;font:80px Georgia;color:#fff;background:var(--navy);overflow:hidden}.groupart span{border:1px solid #ffffff70;border-radius:50%;width:120px;height:120px;text-align:center;line-height:120px}.groupcard:nth-child(2) .groupart{background:#a58659}.groupcard:nth-child(3) .groupart{background:#526853}.groupcard:nth-child(4) .groupart{background:#80738a}.groupbody{padding:25px;display:flex;flex:1;flex-direction:column}.groupbody h3{font-family:Georgia;font-weight:400;font-size:25px}.groupbody p{font-size:13px}.groupbody button{margin-top:auto;text-align:left;background:none;border:0;padding:15px 0 0;color:var(--navy);font-weight:bold;font-size:12px}.subtle{font-size:12px;margin-top:24px}.demo-note{font-size:12px;padding:16px 20px;background:var(--cream);border-left:3px solid var(--gold);color:var(--muted)}.filters{display:flex;align-items:center;gap:20px;margin:25px 0}.filters label{min-width:200px}.filters #count{margin-left:auto;color:var(--muted);font-size:12px}.gathering{display:grid;grid-template-columns:100px 1fr auto;gap:25px;align-items:center;border-top:1px solid var(--line);padding:28px 0}.datebox{padding:15px;background:var(--cream);text-align:center;font-size:12px;line-height:1.3}.datebox strong{display:block;font:24px Georgia}.gathering h3{margin:6px 0;font:26px Georgia}.gathering p{font-size:13px;margin:5px 0}.tag{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--gold)}.outline{background:white;color:var(--navy);border:1px solid var(--line);padding:10px 18px}.community{background:var(--navy);color:white}.community p{color:#c6ccd5}.storygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:45px}.storygrid article{border-top:1px solid #ffffff40;padding-top:25px}.storygrid span{font-size:10px;color:#c5a36a;letter-spacing:1.5px}.storygrid h3{font:28px/1.25 Georgia;margin:18px 0}.storygrid p{font-size:14px}.connect{display:grid;grid-template-columns:1fr 1fr;gap:90px}form{display:grid;gap:18px}label{display:grid;gap:7px;font-size:12px;font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd0d6;border-radius:0;padding:12px;background:white;color:var(--ink);min-width:0}fieldset{border:0;padding:0;margin:0}legend{font-size:12px;font-weight:bold;margin-bottom:10px}#checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}#checks label{display:flex;align-items:center;font-weight:400}input[type=checkbox]{width:17px;height:17px}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.help{background:var(--cream);text-align:center}.help p{max-width:620px;margin:0 auto 25px}.help .eyebrow{margin-bottom:25px}.faq{max-width:950px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-weight:600}details p{margin:18px 0 0}footer{background:#f8f9fa}.footergrid{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:30px;padding-top:50px;padding-bottom:50px}.footergrid p{font-size:12px}.footergrid a,.footerlink{display:block;font-size:12px;margin:0 0 14px;text-decoration:none}.footerlink{background:none;border:0;padding:0;color:var(--ink)}dialog{border:0;padding:48px;max-width:760px;width:92vw;max-height:90vh;color:var(--ink)}dialog::backdrop{background:#071c3bba}.close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.workflow{padding:15px;background:var(--cream);margin:25px 0}#queue article{padding:20px;background:var(--cream);margin:15px 0}#queue button{margin-right:10px}.skip{position:fixed;top:-100px}.skip:focus{top:0;background:white;z-index:10}#menu{display:none}#formstatus{font-size:13px}body:has(dialog[open]){overflow:hidden}@media(max-width:950px){header nav{gap:15px}.brand span{display:none}.hero-copy{padding-top:60px}.hero{min-height:620px}.groupgrid{grid-template-columns:repeat(2,1fr)}.connect{gap:35px}.actions{gap:15px}}@media(max-width:650px){.preview span{display:none}header{height:80px}#menu{display:block;border:0;background:white;font-size:24px}header nav{display:none;position:absolute;top:110px;left:0;right:0;z-index:5;background:white;padding:25px;box-shadow:0 12px 20px #0002}header nav.open{display:grid}.hero{display:flex;flex-direction:column}.hero-copy{padding:55px 6% 60px}.hero-photo{min-height:370px}.scroll{display:none}.wrap{padding:65px 6%}.about,.connect{grid-template-columns:1fr}.pillars,.storygrid{grid-template-columns:1fr;gap:25px}.sectionhead{display:block}.groupgrid{grid-template-columns:1fr 1fr;gap:12px}.groupbody{padding:17px}.groupbody h3{font-size:21px}.groupart{height:130px;font-size:55px}.groupart span{width:90px;height:90px;line-height:90px}.filters{flex-wrap:wrap}.filters label{min-width:0;flex:1}.filters #count{width:100%}.gathering{grid-template-columns:65px 1fr;gap:15px}.gathering>button{grid-column:2;justify-self:start}.gathering h3{font-size:23px}.footergrid{grid-template-columns:1fr}.two{gap:12px}dialog{padding:40px 23px}h2{letter-spacing:-1px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.hero-photo>img{object-position:50% 35%;filter:brightness(.78)}.photo-gallery{display:grid;grid-template-columns:1.25fr .8fr 1fr;gap:24px;margin-top:40px}.photo-gallery figure{margin:0;min-width:0}.photo-gallery img{width:100%;height:310px;object-fit:cover;display:block;transition:filter .2s}.photo-gallery a:hover img{filter:brightness(1.1)}.photo-gallery figure:nth-child(2) img{object-position:center 65%}.photo-gallery figcaption{padding:22px 0}.photo-gallery figcaption span{font-size:10px;letter-spacing:1.7px;color:#d2b581}.photo-gallery h3{font:26px/1.3 Georgia;margin:10px 0}.media-heading{margin-top:65px}.video-gallery{display:grid;grid-template-columns:1fr 1fr;gap:30px}.video-gallery article{background:#102847;overflow:hidden}.video-gallery video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#030a14}.video-gallery article>div{padding:26px}.video-gallery h3{font:29px/1.2 Georgia;margin:10px 0}.video-gallery p,.video-gallery a{font-size:13px}.video-gallery a{color:#e8d2ad}.video-gallery .featured-video{grid-column:1/-1;display:grid;grid-template-columns:1.65fr 1fr;align-items:center}.video-gallery .featured-video>div{padding:35px}.community .tag{color:#d2b581}@media(max-width:800px){.photo-gallery{grid-template-columns:1fr 1fr}.photo-gallery figure:first-child{grid-column:1/-1}.photo-gallery img{height:280px}.video-gallery .featured-video{display:block}}@media(max-width:550px){.photo-gallery{grid-template-columns:1fr}.photo-gallery img{height:auto;max-height:460px;object-fit:contain;background:#102847}.video-gallery{grid-template-columns:1fr}.video-gallery .featured-video{grid-column:auto}.photo-gallery figcaption{padding:18px 0}.video-gallery article>div,.video-gallery .featured-video>div{padding:23px}}
.groupart.group-photo{padding:0}.group-photo img{width:100%;height:100%;object-fit:cover}.groupcard:nth-child(3) .group-photo img{object-position:center 65%}
.album-heading{margin-top:65px}.album-heading>h3{font:35px Georgia}.album-heading>p{max-width:650px}.album-filters{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.album-filters button{background:transparent;color:white;border:1px solid #ffffff50;border-radius:25px;padding:10px 18px;font-size:12px}.album-filters button[aria-pressed=true]{background:#e5c68e;border-color:#e5c68e;color:#071c3b}.community-album{columns:4;column-gap:20px}.community-album figure{break-inside:avoid;margin:0 0 24px}.album-photo{display:block;padding:0;border:0;background:#102847;width:100%}.album-photo img{width:100%;height:auto;display:block;transition:filter .2s}.album-photo:hover img{filter:brightness(1.12)}.community-album figcaption{font-size:10px;color:#c6ccd5;padding-top:9px;letter-spacing:.4px}.photo-viewer{max-width:1100px;padding:42px 20px 20px;background:#071c3b;color:white}.photo-viewer .close{color:white}.photo-viewer>img{display:block;width:100%;height:65vh;object-fit:contain}.photo-viewer>p{text-align:center;color:#dce0e3;font-size:12px;margin:15px 0}.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.viewer-controls span{font-size:12px}@media(max-width:950px){.community-album{columns:3}}@media(max-width:650px){.community-album{columns:2;column-gap:12px}.photo-viewer>img{height:60vh}.viewer-controls .outline{padding:10px;font-size:12px}}

.video-player{position:relative;min-width:0;align-self:center;background:#030a14}.video-gallery .video-player{padding:0!important}.play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:12px;background:#fff;color:#071c3b;border:1px solid #fff;border-radius:50px;padding:14px 24px;font-weight:bold;box-shadow:0 3px 25px #0007;white-space:nowrap}.play-overlay:hover{background:#e5c68e}.play-overlay[hidden]{display:none}.play-overlay:disabled{opacity:.7}.video-status{position:relative;padding:10px 16px;margin:0!important;font-size:12px!important}.video-status:empty{display:none}

.scripture-foundation{background:#f5f3ed;border-top:1px solid #e4e0d6;border-bottom:1px solid #e4e0d6}.scripture-foundation .wrap{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:70px;padding-bottom:70px}.scripture-foundation h2{font-size:clamp(34px,3.3vw,49px)}.scripture-foundation figure{margin:0;border-left:2px solid #b48a46;padding:10px 0 10px 35px}.scripture-foundation blockquote{margin:0}.scripture-foundation blockquote p{font:25px/1.65 Georgia,serif;color:#14273d}.scripture-foundation figcaption{font-size:11px;letter-spacing:1.5px;font-weight:bold}.scripture-foundation figcaption span{display:block;font-weight:400;letter-spacing:.3px;margin-top:6px;color:#5d6876}@media(max-width:700px){.scripture-foundation .wrap{grid-template-columns:1fr;gap:25px}.scripture-foundation figure{padding-left:23px}.scripture-foundation blockquote p{font-size:22px}}

.campuses{background:#f5f3ed}.campuses .wrap{padding-top:65px;padding-bottom:65px}.campuses .sectionhead>p{max-width:420px}.campus-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.campus-grid article{background:white;border-top:3px solid #b48a46;padding:32px}.campus-grid h3{font:30px Georgia;margin:15px 0}.campus-grid a{font-size:13px;font-weight:bold;text-decoration:none}.filters{flex-wrap:wrap}.filters label{min-width:175px;flex:1}.filters #count{flex-basis:100%;margin-left:0}header nav{gap:22px}@media(max-width:650px){.campus-grid{grid-template-columns:1fr}.campus-grid article{padding:25px}.filters label{min-width:135px}}

.campus-logo{display:block;width:120px;height:120px;object-fit:contain;margin:0 0 24px;background:white}.campus-grid article{position:relative}@media(max-width:650px){.campus-logo{width:100px;height:100px;margin-bottom:20px}}

/* Balance the darker North Dallas seal within the same logo frame. */
.campus-logo[src="assets/grace-north-dallas-logo.jpg"]{padding:7px}@media(max-width:650px){.campus-logo[src="assets/grace-north-dallas-logo.jpg"]{padding:6px}}

.how-it-works{margin-bottom:65px}.how-it-works h2{font-size:clamp(30px,3vw,44px);margin:12px 0 28px}.connection-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:0}.connection-steps li{border-top:1px solid #c5b99f;padding-top:20px}.step-number{color:#80612f;font-size:13px;font-weight:700;letter-spacing:2px}.connection-steps h3{font:26px Georgia,serif;margin:12px 0}.connection-steps p{max-width:32ch;margin:0;line-height:1.65}.clarity-answer{padding:25px 28px;margin:28px 0 18px;border-left:3px solid #b48a46;background:#fff}.clarity-answer h3{font:25px Georgia,serif;margin:0 0 12px}.clarity-answer p{margin:0;max-width:85ch;line-height:1.65}.hero .intro strong{display:block;margin-top:14px;font-size:.85em}.hero-copy{padding-bottom:30px}@media(max-width:700px){.connection-steps{grid-template-columns:1fr;gap:23px}.connection-steps p{max-width:none}.how-it-works{margin-bottom:44px}.clarity-answer{padding:22px}.hero .intro{font-size:18px}}

.vision-section{background:#071c3b;color:#fff;padding:65px 0 0}.vision-section .wrap{padding-top:0;padding-bottom:0}.vision-section .tag{color:#d2b581}.vision-section h2{font:clamp(28px,3vw,42px)/1.15 Georgia,serif;margin:16px 0}.vision-section p{color:#c3cbd6;font-size:16px;line-height:1.65}.vision-section .featured-video .video-player{padding:0}.vision-section .video-gallery{grid-template-columns:1fr}@media(max-width:550px){.vision-section{padding-top:35px}}

/* Keep the standalone Vision heading readable on its navy card. */
.vision-section #vision-heading{color:#f7f6f2}

.groupme-connect{display:flex;align-items:center;gap:16px;max-width:390px;padding:14px;margin:24px 0;border:1px solid #d7dce3;border-radius:8px;text-decoration:none;color:#14273d;background:#f7f8fa}.groupme-connect img{display:block;width:80px;height:80px;object-fit:contain;border-radius:5px;flex-shrink:0}.groupme-connect strong{display:block;font-size:16px}.groupme-connect small{display:block;margin-top:7px;font-size:13px;line-height:1.5;color:#536274}.groupme-connect:hover{border-color:#b48a46;background:#f5f3ed}.groupme-connect:focus-visible{outline:3px solid #80612f;outline-offset:4px}@media(max-width:400px){.groupme-connect{gap:12px}.groupme-connect img{width:64px;height:64px}}

header #nav{gap:18px}header #nav>a{white-space:nowrap}@media(min-width:851px) and (max-width:1100px){header{padding-left:3%;padding-right:3%}header #nav{gap:12px;font-size:12px}header #nav .button{padding:12px}}
