/* Centered expandable navigation and generous title / image wireframe. */
html{scrollbar-gutter:stable}body,.page-home{background:#fff}.page-home{padding-top:0}
body .header,body.page-home .header,body.page-home .header.pinned{position:fixed;left:50%;right:auto;top:24px;transform:translateX(-50%);width:352px;max-width:calc(100% - 32px);height:auto;min-height:64px;margin:0;padding:0;border:1px solid #e3e4e6;border-radius:14px;background:#fffffffa;color:#172b41;backdrop-filter:blur(16px);z-index:100;box-shadow:none;animation:none;transition:width .5s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.nav-top{height:64px;padding:0 16px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:16px}.nav-symbol{display:flex;align-items:center;justify-content:center;width:40px;height:44px}.nav-symbol img{width:30px;height:38px;object-fit:contain}.nav-wordmark{justify-self:center;letter-spacing:.03em;font-size:19px;font-weight:600;color:#172b41}.nav-wordmark:hover{color:#172b41}
body .header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;width:40px;min-width:40px;height:44px;min-height:44px;padding:0;border:0;background:none;border-radius:6px;color:#172b41;cursor:pointer}.menu-toggle>span{width:21px;height:1.5px;background:currentColor;display:block;transition:transform .25s cubic-bezier(.22,1,.36,1)}.menu-expanded .menu-toggle>span:first-child{transform:translateY(4.25px) rotate(45deg)}.menu-expanded .menu-toggle>span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
body .header.menu-expanded,body.page-home .header.menu-expanded{width:760px;box-shadow:0 20px 70px #00000010}.nav-panel[hidden]{display:none}.nav-panel{padding:24px 24px 20px;animation:nav-content .3s .06s both}.nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}body .header nav,body .header nav.open,body.page-home .header nav.open{display:flex;flex-direction:column;align-items:stretch;position:static;gap:0;inset:auto;padding:0;background:none;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;animation:none}
body .header nav>a,body.page-home .header nav>a,body.page-home .header nav.open>a,body.page-home .header.pinned nav>a{font-size:23px;letter-spacing:-.035em;font-weight:450;line-height:1.2;min-height:42px;padding:7px 0;color:#1b2025!important;background:none!important;border:0;border-radius:0;opacity:1;transition:color .15s,transform .2s}
body .header nav>a:hover,body.page-home .header nav>a:hover{color:#6a7780!important;transform:translateX(3px)}body .header nav>a[aria-current=page]{color:#76818b!important}.nav-preview{position:relative;display:block;align-self:start;border-radius:6px;overflow:hidden;aspect-ratio:1.7;background:#d4dfe9}.nav-preview img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nav-preview>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:12px 16px;background:#172b4180;backdrop-filter:blur(12px);color:#fff;border-radius:30px;white-space:nowrap;font-size:12px}.nav-preview .ui-arrow{width:14px;height:14px}.nav-bottom{margin-top:32px;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#77818a;font-size:11px}.nav-bottom a{display:flex;align-items:center;gap:8px;min-height:32px}.nav-bottom i{width:7px;height:7px;border-radius:50%;background:#ffd200}
.menu-backdrop{position:fixed;inset:0;z-index:90;background:#0008;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.menu-open .menu-backdrop{opacity:1;visibility:visible}.menu-open{overflow:hidden}.menu-open .back-top{visibility:hidden}.header~main{padding-top:120px}.page-home .header~main{padding-top:0}
.sunday-intro{text-align:center;padding:154px 24px 64px}.sunday-intro p{font-size:15px;line-height:1.45;color:#26333e;margin:0 0 36px}.sunday-intro p>span{color:#858b90}.sunday-intro h1{font-size:clamp(48px,7vw,138px);letter-spacing:-.06em;line-height:1.08;color:#181b1e;font-weight:500;margin:0 auto;max-width:95%;text-wrap:balance}.sunday-visual{position:relative;margin:0 24px;border-radius:12px;overflow:hidden;height:75vw;max-height:950px;min-height:580px}.sunday-visual>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.sunday-visual>span{position:absolute;bottom:16px;right:24px;font-size:10px;color:#fff}.page-home .opening{padding-top:112px}
@keyframes nav-content{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
@media(max-width:600px){body .header,body.page-home .header,body.page-home .header.pinned{top:16px;width:320px;border-radius:12px;max-width:calc(100% - 24px)}.nav-top{height:60px;padding:0 12px;gap:8px}.nav-wordmark{font-size:18px}body .header.menu-expanded,body.page-home .header.menu-expanded{width:calc(100% - 24px);max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain}.nav-panel{padding:16px 20px 20px}.nav-grid{gap:24px;grid-template-columns:1fr}.nav-preview{display:none}body .header nav>a,body.page-home .header nav>a,body.page-home .header nav.open>a{font-size:28px;min-height:48px;padding:9px 0}.nav-bottom{margin-top:24px;display:grid;grid-template-columns:1fr;gap:6px;font-size:12px}.nav-bottom>span:nth-child(2){display:none}.sunday-intro{padding:144px 20px 48px}.sunday-intro p{font-size:13px;margin-bottom:28px}.sunday-intro h1{font-size:clamp(44px,12vw,70px);line-height:1.06;max-width:100%;letter-spacing:-.055em}.sunday-visual{margin:0 12px;border-radius:8px;min-height:490px;height:68svh;max-height:720px}.sunday-visual>img{object-position:63% center}.sunday-visual>span{font-size:8px;right:12px}.page-home .opening{padding-top:80px}.header~main{padding-top:104px}}
@media(prefers-reduced-motion:reduce){.header,.menu-backdrop,.menu-toggle>span{transition:none!important}.nav-panel{animation:none}}
body .header,body.page-home .header,body.page-home .header.pinned{display:block}.nav-top{width:100%}
/* The architectural image rises behind the stationary headline as the page scrolls. */
.scroll-hero{position:relative}.hero-sticky{position:relative}
@media(prefers-reduced-motion:no-preference){
 .scroll-hero.scroll-active{height:calc(100svh + 640px)}
 .scroll-active .hero-sticky{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}
 .scroll-active .sunday-intro{position:absolute;inset:0 0 auto;z-index:2;pointer-events:none}
 .scroll-active .sunday-intro h1{color:var(--hero-heading,#181b1e)}
 .scroll-active .sunday-intro p{color:var(--hero-kicker,#26333e)}
 .scroll-active .sunday-intro p>span{color:inherit;opacity:.65}
 .scroll-active .sunday-visual{position:absolute;left:24px;right:24px;top:0;bottom:0;width:auto;height:auto;min-height:0;max-height:none;margin:0;z-index:0;transform:translateY(var(--hero-image-y,420px)) scaleX(var(--hero-image-scale,1));transform-origin:center top;will-change:transform;overflow:hidden}
 .scroll-active .sunday-visual:after{content:'';position:absolute;inset:0;background:#102438;opacity:var(--hero-shade,0);pointer-events:none}
 .scroll-active .sunday-visual>span{z-index:1}
 @media(max-width:600px){.scroll-hero.scroll-active{height:calc(100svh + 460px)}.scroll-active .sunday-visual{left:12px;right:12px}}
}
/* Shared interaction language: navy action, yellow arrow disc, one SVG stroke. */
body .header,body.page-home .header,body.page-home .header.pinned{top:12px;transition:width .5s cubic-bezier(.22,1,.36,1),box-shadow .3s;will-change:width}
body .button,body .hero-button{display:inline-flex;align-items:center;justify-content:space-between;min-height:52px;padding:6px 6px 6px 22px;gap:24px;border:1px solid #172b41;border-radius:28px;background:#172b41;color:#fff;font-size:13px;font-weight:500;line-height:1.4;box-shadow:none}
body .button>span,body .hero-button>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;margin:0;border-radius:50%;background:#ffd200;color:#172b41}
body .button:hover,body .hero-button:hover{background:#2b4258;color:#fff}body .button:hover>span,body .hero-button:hover>span{background:#ffdf4d;color:#172b41;transform:none}
body .button>.ui-arrow{box-sizing:content-box;width:18px;height:18px;padding:11px;border-radius:50%;background:#ffd200;color:#172b41;flex-shrink:0}
.ui-arrow{width:18px;height:18px;stroke-linecap:round;stroke-linejoin:round}.button .ui-arrow,.hero-button .ui-arrow,.text-link .ui-arrow,.service-list .arr .ui-arrow,.nav-preview .ui-arrow{width:18px;height:18px}
.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;line-height:1.4}.text-link .ui-arrow{margin:0}.service-list .arr{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid #172b4126;color:#172b41;flex-shrink:0}.service-list>a:hover .arr{background:#ffd200;border-color:#ffd200;transform:none}
body .back-top{position:fixed;z-index:50;display:flex;align-items:center;justify-content:center;gap:12px;width:auto;min-width:152px;height:52px;padding:0 10px 0 20px;right:24px;bottom:max(24px,env(safe-area-inset-bottom));border:1px solid #172b41;border-radius:28px;background:#172b41;color:#fff;box-shadow:0 4px 18px #172b4129;font-size:12px;font-weight:500}
.back-top>.ui-arrow{box-sizing:content-box;width:18px;height:18px;padding:8px;border-radius:50%;background:#ffd200;color:#172b41}.back-top:hover{background:#2b4258!important;color:#fff!important}.menu-open .back-top{visibility:hidden}
@media(max-width:600px){body .header,body.page-home .header,body.page-home .header.pinned{top:max(8px,env(safe-area-inset-top));max-width:calc(100% - 24px)}body .back-top{right:12px;bottom:max(16px,env(safe-area-inset-bottom));min-width:132px;height:48px;padding-left:16px;gap:10px;font-size:11px}body .button{max-width:100%}.scroll-active .hero-sticky{height:100svh}.scroll-active .sunday-visual{backface-visibility:hidden}}
.nav-preview>span{display:flex;align-items:center;gap:16px;padding:6px 6px 6px 16px;background:#172b41;color:#fff;border-radius:28px;font-size:12px}.nav-preview>span>span{display:grid;place-items:center;background:#ffd200;color:#172b41;width:34px;height:34px;border-radius:50%;flex-shrink:0}.nav-bottom a .ui-arrow{width:18px;height:18px}.nav-bottom a{gap:10px}.footer-grid a .ui-arrow{width:18px;height:18px}
/* Restrained calls to action: a quiet surface and an unboxed directional icon. */
body .button,body .hero-button{min-height:52px;gap:28px;padding:15px 20px;border:1px solid #172b412e;border-radius:10px;background:#fff;color:#172b41;font-weight:450;font-size:13px;box-shadow:none;transition:background-color .18s,border-color .18s,color .18s}
body .button>span,body .hero-button>span{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px;background:transparent;color:currentColor;border-radius:0}
body .button>.ui-arrow{box-sizing:border-box;width:18px;height:18px;padding:0;background:transparent;color:currentColor;border-radius:0}
body .button:hover,body .hero-button:hover{background:#eef1f3;color:#172b41;border-color:#172b4160}
body .button:hover>span,body .hero-button:hover>span{background:transparent;color:currentColor;transform:translate(2px,-2px)}
body .button .ui-arrow,body .hero-button .ui-arrow{width:18px;height:18px}
.service-list .arr{border:0;border-radius:0;background:transparent;width:24px;height:24px}.service-list>a:hover .arr{background:transparent;border-color:transparent;transform:translate(2px,-2px)}
.nav-preview>span{padding:14px 18px;border:1px solid #ffffff80;border-radius:10px;background:#fffffff2;color:#172b41;gap:20px}.nav-preview>span>span{background:none;color:currentColor;width:18px;height:18px;border-radius:0}.nav-preview:hover>span{background:#fff}
body .cta .button,body .contact-grid .button,body .roof-story .button,body .territory-feature .button{background:#fff;color:#172b41;border:1px solid #172b412e;border-radius:10px}
body .cta .button:hover,body .contact-grid .button:hover,body .roof-story .button:hover,body .territory-feature .button:hover{background:#eef1f3;color:#172b41}
body .back-top{width:52px;min-width:52px;height:52px;padding:0;gap:0;border:1px solid #041e4f12;border-radius:50%;background:#fff;color:#041e4f;box-shadow:0 4px 18px #041e4f14}
.back-top>span{display:none}.back-top>.ui-arrow{box-sizing:border-box;width:22px;height:22px;padding:0;background:none;color:#041e4f;border-radius:0;filter:none;transition:transform .25s ease}
body .back-top:hover{background:#fff!important;color:#041e4f!important;box-shadow:0 6px 22px #041e4f20}
body .back-top:focus-visible{outline:2px solid #041e4f;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body .back-top:hover>.ui-arrow{transform:translateY(-2px)}}
@media(max-width:600px){body .back-top{width:48px;min-width:48px;height:48px;padding:0;right:16px;bottom:max(16px,env(safe-area-inset-bottom))}}
/* Soft capsule with a diffused COVERLYS blue/yellow halo, based on the supplied reference. */
body .button,body .hero-button,body .cta .button,body .contact-grid .button,body .roof-story .button,body .territory-feature .button{isolation:isolate;overflow:hidden;min-height:54px;padding:16px 24px;gap:22px;background:rgba(255,255,255,.64);color:#24364b;border:1px solid #ffffffc9;border-radius:32px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 22px #122b4517,inset 0 1px 0 #fff;font-weight:500;transition:box-shadow .22s,color .18s}
body .button{position:relative}
body .button:before,body .hero-button:before,.nav-preview>span:before{content:'';position:absolute;inset:-5px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 25% 110% at 68% 13%,#0755a86b,transparent 80%),radial-gradient(ellipse 24% 100% at 78% 92%,#ffd20094,transparent 78%),radial-gradient(ellipse 19% 80% at 57% 90%,#041e4f36,transparent 85%);filter:blur(10px);opacity:.8;transform:translateX(0) scale(1) rotate(0deg);transform-origin:70% 50%;transition:transform .75s cubic-bezier(.22,1,.36,1),opacity .35s}
body .button>span,body .hero-button>span,body .button>.ui-arrow{background:transparent;color:currentColor;border:0;border-radius:0}
body .button:hover,body .hero-button:hover,body .cta .button:hover,body .contact-grid .button:hover,body .roof-story .button:hover,body .territory-feature .button:hover{background:rgba(255,255,255,.64);color:#132b49;border-color:#fff;box-shadow:0 10px 28px #122b4521,inset 0 1px 0 #fff}
body .button:hover:before,body .hero-button:hover:before,.nav-preview:hover>span:before{opacity:1;transform:translateX(-18%) scale(1.2) rotate(-12deg)}
body .button:hover>span,body .hero-button:hover>span{background:transparent;color:currentColor;transform:translate(2px,-2px)}
.nav-preview>span{isolation:isolate;overflow:hidden;padding:14px 20px;border:1px solid #ffffffc9;border-radius:30px;background:rgba(255,255,255,.64);color:#24364b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 6px 18px #122b4517,inset 0 1px 0 #fff;gap:18px;font-weight:500}.nav-preview>span>span{background:none;color:currentColor}.nav-preview:hover>span{background:rgba(255,255,255,.64);color:#132b49}
@media(prefers-reduced-motion:reduce){body .button:before,body .hero-button:before,.nav-preview>span:before{transition:none;transform:none!important}}

@media(hover:hover){body .button:focus-visible:before,body .hero-button:focus-visible:before,.nav-preview:focus-visible>span:before{opacity:1;transform:translateX(-18%) scale(1.2) rotate(-12deg)}}
@media(prefers-reduced-motion:reduce){body .button:before,body .hero-button:before,.nav-preview>span:before{transform:none!important;transition:none!important}}

/* Shared COVERLYS information panels. */
body .aside-box,body .contact-grid aside,body .territory-grid article,body .territory-feature{
 --panel-ink:#fff;--panel-muted:#e1eeff;
 background:linear-gradient(125deg,#041e4f 0%,#064591 65%,#0876d8 100%);
 color:var(--panel-ink);border:0;border-top:0;
}
body .aside-box h2,body .contact-grid aside h2,body .territory-grid article h2,body .territory-feature h2,body .territory-feature em{color:var(--panel-ink)}
body .aside-box :is(p,li,.muted),body .contact-grid aside :is(p,li),body .territory-grid article :is(p,.muted),body .territory-feature p{color:var(--panel-muted)}
body .aside-box .eyebrow,body .contact-grid aside .eyebrow,body .territory-grid article .eyebrow,body .territory-feature .section-label{color:#fff}
body .aside-box li,body .contact-grid aside li{border-color:#ffffff30}
body .aside-box li:before,body .contact-grid aside li:before{color:#fff}
body .contact-grid aside .text-link,body .territory-feature .text-link{color:#fff}
body .contact-grid aside .text-link:hover,body .territory-feature .text-link:hover{color:#fff}
body .aside-box .button{background:#ffffffe6;color:#041e4f;border-color:#fff9}
body .aside-box .button:hover{background:#fff;color:#041e4f}
body :is(.aside-box,.contact-grid aside,.territory-grid article,.territory-feature) :is(a,button):focus-visible{outline-color:#fff}

/* Native footer reveal: a white sheet over electric COVERLYS blue. */
.footer-reveal-stage{position:relative;isolation:isolate;overflow:clip;background:#0755ff}
body .footer-reveal-stage>footer{position:relative;z-index:2;width:100%;max-width:none;margin:0;background:#fff;color:#041e4f;border-radius:0;padding-bottom:12px;clip-path:inset(0 var(--footer-inset,0px) 0 round 0 0 var(--footer-radius,0px) var(--footer-radius,0px))}
body .footer-reveal-stage .foot-top,body .footer-reveal-stage .foot-bottom{border-color:#041e4f24}
body .footer-reveal-stage .foot-top p,body .footer-reveal-stage .footer-grid p{color:#607088!important}
body .footer-reveal-stage .footer-grid a,body .footer-reveal-stage .foot-bottom,body .footer-reveal-stage .foot-bottom a{color:#53657e}
body .footer-reveal-stage .footer-grid .eyebrow{color:#041e4f}
body .footer-reveal-stage footer a:hover{color:#0755ff}
body .footer-reveal-stage .logo-color{display:block}body .footer-reveal-stage .logo-white{display:none}
.footer-signature{position:sticky;bottom:0;z-index:1;height:clamp(340px,55svh,620px);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:56px;padding:64px 24px max(32px,env(safe-area-inset-bottom));text-align:center;color:#fff;background:#0755ff}
.footer-signature-copy>p{font-size:clamp(24px,3vw,38px);font-weight:450;line-height:1.25;letter-spacing:-.035em;margin-bottom:18px;color:#fff}
.footer-signature-copy>span{display:block;font-size:13px;line-height:1.8;color:#ffffffd9}
.footer-signature>a{display:block;border-radius:4px}.footer-signature>a:focus-visible{outline:2px solid white;outline-offset:8px}
.footer-signature img{display:block;width:104px;height:auto}
@media(max-width:600px){body .footer-reveal-stage>footer{width:100%;margin:0;border-radius:0;padding-left:24px;padding-right:24px}.footer-signature{height:420px;min-height:420px;gap:44px;padding-top:48px}.footer-signature-copy>span{font-size:12px}.footer-signature img{width:88px}}
@media(prefers-reduced-motion:reduce){.footer-signature{position:relative;bottom:auto}}
body .footer-reveal-stage .footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
body .footer-reveal-stage .footer-grid .eyebrow{margin-bottom:14px}
body .footer-reveal-stage .footer-grid a{display:flex;gap:10px;margin:0;line-height:1.5}
body .footer-reveal-stage .footer-grid p{margin:0 0 10px}

/* Audit: reachable menus on short screens and a visible form progress indicator. */
body .header.menu-expanded,body.page-home .header.menu-expanded{max-height:calc(100svh - max(12px,env(safe-area-inset-top)) - 16px);overflow-y:auto;overscroll-behavior:contain}
.form-progress>span{width:100%;transform-origin:left center}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;gap:40px}.contact-grid aside{width:100%}}
