:root { --site-radius:12px; }
.welcome-hero { background:#0c1f3f; color:white; }
.welcome-hero-inner { max-width:1200px; margin:auto; padding:64px 32px 56px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.welcome-eyebrow { color:#91c5f3; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; margin-bottom:20px; }
.welcome-copy h1 { font:900 clamp(38px,4.5vw,62px)/1.08 var(--font-display); letter-spacing:-.035em; margin:0 0 24px; }
.welcome-copy h1 span { color:#a7d4fa; }
.welcome-intro { font-size:18px; line-height:1.7; max-width:510px; color:#d3deed; margin-bottom:28px; }
.welcome-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.welcome-actions .btn-primary { padding:14px 22px; }
.welcome-secondary { color:white; border:1px solid #8293ab; padding:13px 20px; border-radius:6px; text-decoration:none; font-weight:700; font-size:15px; }
.welcome-secondary:hover { background:#ffffff12; border-color:white; }
.welcome-watch { display:inline-flex; gap:10px; align-items:center; margin-top:24px; color:#d3e9fc; text-underline-offset:5px; font-size:14px; font-weight:700; }
.welcome-photo { margin:0; position:relative; overflow:hidden; border-radius:20px; background:#152f51; box-shadow:0 20px 60px #0003; }
.welcome-photo img { width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; object-position:50% 45%; display:block; }
.welcome-photo figcaption { position:absolute; bottom:0; left:0; right:0; padding:36px 24px 20px; font-size:14px; font-weight:700; background:linear-gradient(transparent,#07162ce6); }
.welcome-campus-bar { max-width:1136px; margin:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #ffffff26; }
.welcome-campus-bar > a { padding:24px 28px; color:#d3deed; text-decoration:none; display:flex; flex-direction:column; gap:7px; border-right:1px solid #ffffff26; transition:background .15s; }
.welcome-campus-bar > a:last-child { border-right:0; }
.welcome-campus-bar > a:hover { background:#ffffff0a; }
.welcome-campus-bar strong { color:white; font-size:15px; }
.welcome-campus-bar > a > span:last-child { font-size:13px; color:#a7d4fa; }
.campus-kicker { text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; }
.section { scroll-margin-top:90px; }
.btn-primary, .btn-secondary, .btn-nav-give, .btn-nav-watch { min-height:44px; }
.breadcrumb a[href="#"] { text-decoration:none; }
.mobile-nav-drawer { width:min(360px,92vw); max-width:100%; }
.mobile-nav-links a[aria-current="page"] { background:#ffffff12; border-left-color:#1b6fbf; }
.contact-form input,.contact-form textarea,.newsletter-form input,.nl-form input { max-width:100%; min-width:0; }
.newsletter-form .field-label,.nl-form .field-label { margin-bottom:-6px; }
.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"] { border-color:#b42318; }
.inline-error { color:#b42318; font-size:13px; font-weight:700; margin-top:6px; }
.giving-review { background:#f0f5fa; border:1px solid #d3dfeb; border-radius:8px; padding:16px; color:#344054; font-size:14px; line-height:1.7; margin:20px 0 12px; }
.primary-giving-badge { display:block; color:#003087; font-size:10px; font-weight:800; line-height:1.3; }
.live-sermon-filters { align-items:flex-end; }
.live-sermon-filters .search-wrap { flex:1; min-width:200px; }
.live-sermon-filters .reset-sermons { margin:0; }
.sermon-feed-status { max-width:1200px; margin:24px auto 0; padding:0 32px; color:#475467; font-size:14px; }
.live-sermon-thumb { position:relative; width:100%; aspect-ratio:16/9; display:block; border:0; background:#0c1f3f; cursor:pointer; }
.live-sermon-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.live-sermon-play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:white; background:#0c1f3fcc; border:1px solid white; border-radius:50%; width:48px; height:48px; display:grid; place-items:center; }
.live-sermon-description { color:#475467; font-size:14px; margin:12px 0 18px; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.live-sermon-link { color:#1b6fbf; font-weight:700; display:inline-block; margin:12px 12px 0 0; text-underline-offset:4px; }
.video-fallback-note { font-size:13px; color:#475467; }
.video-footer .video-fallback-note { color:inherit; opacity:.85; }
.local-video-preview { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:#081530; overflow:hidden; color:white; text-align:center; }
.local-video-preview > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.22; }
.local-video-content { position:relative; padding:24px; max-width:560px; }
.local-video-content h2 { font:800 clamp(20px,3vw,30px)/1.2 var(--font-display); margin-bottom:12px; }
.local-video-content p { color:#e2e9f4; font-size:15px; margin-bottom:20px; }
.video-loading { position:absolute; inset:0; display:grid; place-items:center; color:white; background:#081530; font-size:16px; }
.zelle-instructions { background:#f4eeff; border:1px solid #d4b8f0; border-radius:8px; padding:18px; line-height:1.7; margin:16px 0; }
.zelle-instructions[hidden],.inline-error[hidden] { display:none; }
.campus-quick-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.campus-format { display:inline-block; color:#185b87; background:#eaf4fc; border-radius:20px; padding:4px 10px; font-size:11px; font-weight:800; letter-spacing:.04em; margin-bottom:10px; }
.campus-card-schedule { color:#344054; font-size:14px; font-weight:700; margin:8px 0 16px; }
.campus-visit-summary { background:#f4f7fb; border-bottom:1px solid #dce5ef; }
.visit-summary-inner { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; padding-top:32px; padding-bottom:32px; }
.visit-summary-inner h2 { color:#0c1f3f; font:900 26px/1.25 var(--font-display); margin-bottom:12px; }
.visit-address { color:#344054; margin-bottom:10px; }
.visit-schedule { color:#0c1f3f; font-weight:800; }
.visit-time-note { color:#475467; font-size:13px; margin-top:6px; }
.visit-summary-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.visit-directions,.visit-phone { color:#1b6fbf; font-weight:800; font-size:14px; text-underline-offset:4px; }
.visit-help { font-size:13px; line-height:1.6; color:#475467; flex-basis:100%; }
.home-messages-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0; }
.home-message { background:white; border:1px solid #e4e7ec; border-radius:12px; text-decoration:none; overflow:hidden; transition:box-shadow .2s,transform .2s; }
.home-message:hover { box-shadow:0 10px 30px #0c1f3f12; transform:translateY(-3px); }
.home-message > img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; background:#0c1f3f; }
.home-message-body { padding:22px; }
.home-message h3 { color:#0c1f3f; font:800 21px/1.3 var(--font-display); margin:10px 0 18px; }
.home-message-action { color:#1b6fbf; font-size:14px; font-weight:800; }
.home-message-links { display:flex; gap:20px; flex-wrap:wrap; align-items:center; }
@media(max-width:700px) { .home-messages-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .visit-summary-inner { grid-template-columns:1fr; gap:22px; padding-top:28px; padding-bottom:28px; } .visit-summary-actions .btn-primary { width:100%; text-align:center; } }
.reset-sermons { font:700 15px var(--font); background:#1b6fbf; color:white; border:0; border-radius:6px; padding:12px 20px; margin-top:20px; cursor:pointer; }
@media(max-width:1100px) { .nav-links,.nav-right { display:none !important; } .nav-hamburger { display:flex !important; } .mobile-nav { display:block; } }
@media(max-width:800px) { .welcome-hero-inner { grid-template-columns:1fr; gap:32px; padding:44px 24px 36px; } .welcome-copy { max-width:620px; } .welcome-photo { width:100%; max-width:480px; margin-inline:auto; } .welcome-photo img { aspect-ratio:4/5; } .welcome-campus-bar { margin:0 24px; } .welcome-campus-bar > a { padding:20px 14px; } .welcome-intro { font-size:17px; } }
@media(max-width:600px) { .welcome-hero-inner { padding:36px 20px 28px; } .welcome-copy h1 { font-size:40px; } .welcome-actions { align-items:stretch; flex-direction:column; } .welcome-actions > a { text-align:center; } .welcome-campus-bar { grid-template-columns:1fr; margin:0 20px; } .welcome-campus-bar > a { border-right:0; border-bottom:1px solid #ffffff26; padding:18px 0; } .welcome-campus-bar > a:last-child { border-bottom:0; } .welcome-photo { border-radius:12px; } .welcome-photo figcaption { font-size:12px; padding:28px 16px 14px; } .form-row { grid-template-columns:1fr !important; } .page-hero-inner { padding-left:20px; padding-right:20px; } .footer-bottom { flex-wrap:wrap; gap:16px; } }
.skip-link { position:fixed; top:8px; left:16px; transform:translateY(-160%); z-index:9999; background:white; color:#0c1f3f; padding:12px 20px; border-radius:6px; }
.skip-link:focus { transform:none; }
:is(a,button,input,select,textarea):focus-visible { outline:3px solid #1b6fbf; outline-offset:4px; }
button,input,select,textarea { font-family:inherit; }
.nav-links a[aria-current="page"] { background:#ffffff1a; color:white; }
.nav-links li.has-dropdown:focus-within .nav-dropdown { display:block; }
.nav-links li.has-dropdown.menu-expanded .nav-dropdown { display:block; }
.field-label { display:block; font-size:13px; font-weight:700; color:#344054; margin:8px 0 4px; }
.handoff-note { font-size:14px; line-height:1.6; color:#475467; margin:12px 0; }
.hero-pause { position:absolute; right:24px; bottom:16px; z-index:30; color:white; background:#0c1f3f; border:1px solid #a6b2c3; border-radius:6px; padding:8px 14px; min-height:44px; cursor:pointer; }
.hc-illustration img { max-width:100%; }
.loc-card > img { width:100%; object-fit:cover; }
.pastor-img-wrap > img { width:100%; height:100%; object-fit:cover; }
.pastor-img-wrap .pastor-img-caption { position:absolute; bottom:0; }
.season-directions { display:block; color:#1b6fbf; font-weight:800; text-underline-offset:4px; }
.campus-events-link { background:#eef5fc; }
@media(max-width:1100px) and (min-width:769px) { nav { padding:0 20px; } .nav-links a { padding:8px; } .nav-right { gap:6px; } .btn-nav-watch { padding:8px 10px; } }
@media(max-width:768px) { .hc-content { padding:40px 24px 24px; } .hero-sub { font-size:17px; } .hero-pause { right:12px; bottom:12px; } .hc-arrow { width:44px; height:44px; } .hc-prev { left:8px; } .hc-next { right:8px; } .section-inner { padding-left:20px; padding-right:20px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } .fade-up { opacity:1 !important; transform:none !important; } }
