/* ACK St Thomas Aquinas | Logo-inspired UI refresh. Loaded last to preserve functionality. */
:root{--primary-blue:#073b75;--primary-light:#086ba9;--gold:#c6a139;--gold-light:#087CB8;--warm-white:#f6f9fc;--off-white:#edf4f9;--text-primary:#142a40;--text-secondary:#526477;--muted-text:#64768a;--border-radius:18px;--shadow:0 12px 36px rgba(7,59,117,.09);--shadow-hover:0 24px 55px rgba(7,59,117,.16);--section-padding:clamp(64px,8vw,108px)}
body{background:#fff;color:var(--text-primary)}
::selection{background:#d8eaf7;color:#073b75}
:focus-visible{outline:3px solid #e0b854;outline-offset:3px}
.navbar,.navbar.navbar-transparent,.navbar.scrolled{background:rgba(255,255,255,.98)!important;color:#073b75!important;box-shadow:0 4px 26px rgba(7,42,82,.075)!important;border-bottom:1px solid rgba(8,94,153,.1);backdrop-filter:blur(18px)}
.navbar .nav-container{max-width:1500px;width:100%;padding-inline:clamp(16px,3vw,45px)}
.navbar .nav-logo{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}
.navbar .logo-image{height:48px!important;width:48px!important;object-fit:contain}
.navbar .logo-text{color:#073b75!important;font-size:clamp(.76rem,1vw,.96rem);font-weight:700;max-width:195px;line-height:1.25}
.navbar .nav-link,.navbar.navbar-transparent .nav-link,.navbar.scrolled .nav-link{color:#153e64!important;font-size:.77rem;font-weight:600;letter-spacing:.005em;border-radius:10px;transition:color .2s,background .2s}
.navbar .nav-link:hover,.navbar .nav-link:focus-visible{color:#008fd3!important;background:rgba(0,143,211,.07)}
.navbar .hamburger-line,.navbar.navbar-transparent .hamburger-line{background:#073b75!important}
.navbar .nav-menu{align-items:center}
.navbar .nav-item:has(> a[href*="giving"]) > .nav-link{background:#008fd3;color:#fff!important;padding:10px 15px;border-radius:999px}
.navbar .dropdown-menu{background:#fff;border:1px solid #e0ebf3;border-radius:16px;box-shadow:0 20px 45px rgba(7,42,82,.14)}
section.hero{min-height:clamp(670px,85vh,900px)!important;padding:72px 24px 76px!important;isolation:isolate}
.hero .hero-bg{overflow:hidden}
.hero .hero-bg-image{width:100%;height:100%!important;object-fit:cover;object-position:center 45%;filter:saturate(.88)}
.hero .hero-overlay{background:linear-gradient(100deg,rgba(4,24,52,.94),rgba(5,42,78,.82) 51%,rgba(3,32,63,.54))!important;opacity:1!important}
.hero .hero-pattern,.hero .hero-orbs{opacity:.14!important;pointer-events:none}
.hero .hero-content{max-width:1040px!important;padding:15px clamp(12px,3vw,48px)!important;position:relative;z-index:2}
.hero .centered-logo{margin-bottom:16px}
.hero .hero-logo{width:66px!important;height:66px!important;max-width:66px!important;object-fit:cover;border-radius:50%;border:3px solid rgba(255,255,255,.85);box-shadow:0 12px 30px rgba(0,0,0,.17)}
.hero .hero-welcome-text{display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.28);border-radius:100px;background:rgba(255,255,255,.1);color:#fff!important;padding:10px 18px;font-size:clamp(.69rem,1.2vw,.86rem);font-weight:600;letter-spacing:.05em;text-transform:uppercase;backdrop-filter:blur(8px)}
.hero .hero-title{font-family:var(--font-heading);font-size:clamp(2.85rem,6.5vw,5.8rem)!important;letter-spacing:-.045em;font-weight:600;line-height:1.12!important;max-width:1000px;margin:22px auto;color:#fff!important;text-wrap:balance}
.hero .hero-title .accent{color:#087CB8!important}
.hero .hero-tagline{color:rgba(255,255,255,.91)!important;font-size:clamp(.99rem,1.6vw,1.17rem)!important;max-width:690px!important;line-height:1.85;margin:0 auto 28px}
.hero .hero-cta{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin:10px 0 22px}
.hero .hero-cta .btn{min-height:52px;padding:13px 27px!important;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px!important;font-size:.92rem;font-weight:600;text-decoration:none;transition:transform .2s,background .2s}
.hero .hero-cta .btn:hover{transform:translateY(-3px)}
.hero .hero-cta .btn-primary{background:#008fd3!important;color:#fff!important;border:1px solid #008fd3!important;box-shadow:0 10px 25px rgba(0,143,211,.23)}
.hero .hero-cta .btn-outline{color:#fff!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.62)!important}
.hero .countdown-timer{border-radius:16px;background:rgba(255,255,255,.11)!important;border:1px solid rgba(255,255,255,.2)!important;backdrop-filter:blur(10px)}
.hero .hero-service-times{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.hero .service-time-badge{border-radius:999px!important;border:1px solid rgba(255,255,255,.25)!important;background:rgba(255,255,255,.11)!important;padding:7px 13px!important;color:#fff!important}
.hero .service-time{color:#fff!important;font-size:.76rem!important}
.hero .hero-quick-contact{margin-top:18px}
.section,.about-section,.services-section,.announcements-section{scroll-margin-top:105px}
.section-header{max-width:800px;margin-inline:auto}
.section-title{font-family:var(--font-heading);font-size:clamp(2rem,3.7vw,3.2rem);color:#073b75;letter-spacing:-.028em;line-height:1.22;text-wrap:balance}
.section-subtitle{color:#007fbc!important;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.section-description,.about-content p,.footer-text{line-height:1.85}
.about-section{background:#fff}
.about-section .about-grid{gap:clamp(28px,5vw,70px);align-items:center}
.about-section img,.about-grid img{border-radius:22px}
.services-section,.section-light{background:#f4f8fb}
.announcements-section{background:linear-gradient(180deg,#fff,#f4f8fb)}
:is(.service-card,.event-card,.department-card,.ministry-card,.announcement-card,.card,.feature-card){border-radius:20px;border:1px solid rgba(7,59,117,.1);box-shadow:0 8px 30px rgba(7,59,117,.06);transition:transform .25s,box-shadow .25s;overflow:hidden}
:is(.service-card,.event-card,.department-card,.ministry-card,.announcement-card,.card,.feature-card):hover{transform:translateY(-5px);box-shadow:0 20px 46px rgba(7,59,117,.13)}
.btn-view-all,.btn-give-footer{border-radius:999px}
.page-hero{background:linear-gradient(128deg,#063365,#096b9e)!important;color:#fff}
.page-hero h1,.page-hero .page-title{color:#fff!important}
.footer{background:rgba(255,255,255,.98)!important;color:#073b75}
.footer .footer-title,.footer h3{color:#073b75}
.footer a:hover{color:#087CB8!important}
@media(min-width:1024px) and (max-width:1400px){.navbar .nav-container{padding-inline:16px}.navbar .nav-link{font-size:.7rem;padding-inline:6px}.navbar .logo-image{width:40px!important;height:40px!important}.navbar .logo-text{max-width:130px;font-size:.72rem}}
@media(max-width:1023px){.navbar .nav-menu{background:#fff!important}.navbar .nav-link{font-size:.94rem}section.hero{min-height:680px!important;padding:70px 14px 50px!important}.hero .hero-title{font-size:clamp(2.7rem,7vw,4.7rem)!important}}
@media(max-width:600px){.navbar .logo-image{width:40px!important;height:40px!important}section.hero{min-height:620px!important;padding:58px 12px 46px!important}.hero .hero-welcome-text{font-size:.64rem;letter-spacing:0;padding:9px 11px}.hero .hero-title{font-size:clamp(2.35rem,10.5vw,3.5rem)!important;margin:16px 0}.hero .hero-tagline{line-height:1.65}.hero .hero-cta{flex-direction:column;width:100%}.hero .hero-cta .btn{width:min(100%,330px)}.hero .hero-service-times{gap:6px}.hero .service-time-badge{padding:5px 10px!important}.hero .service-time{font-size:.66rem!important}.section-title{font-size:clamp(1.9rem,8vw,2.6rem)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
