
:root{--green:#073f32;--deep:#04362b;--gold:#c98a2f;--gold2:#d59a42;--cream:#f7f3ea;--line:#d7ddd8;--muted:#64716d}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#0b3029;font-family:"DM Sans",Arial,sans-serif}a{text-decoration:none;color:inherit}.wrap{width:100%;max-width:1024px;margin:auto}
.topbar{height:39px;background:#f0ede5;display:flex;align-items:center;justify-content:space-between;padding:0 57px;font-size:9px}
.top-logo{width:253px;height:36px;object-fit:contain;object-position:left center}.top-info{display:flex;gap:24px;align-items:center;color:#30463f}.top-info span{white-space:nowrap}
.navbar{height:72px;background:#fff;display:flex;align-items:center;padding:0 37px 0 318px;gap:30px;position:relative;z-index:3}.nav-logo{position:absolute;left:53px;top:7px;width:245px;height:58px;object-fit:contain;object-position:left center}.nav-link{height:72px;display:flex;align-items:center;font-size:9px;font-weight:700;white-space:nowrap;position:relative}.nav-link.active:after{content:"";position:absolute;bottom:15px;left:0;width:29px;height:3px;background:var(--gold)}.donate{margin-left:auto;background:var(--gold2);color:#fff;border-radius:7px;padding:13px 19px;font-size:10px;box-shadow:0 4px 12px #0001}
.hero{height:484px;position:relative;overflow:hidden;background:#faf8f2}.hero-photo{position:absolute;right:0;top:0;width:60%;height:100%;background:url("hero.jpg") center/cover no-repeat}.hero-photo:before{content:"";position:absolute;left:-1px;top:0;width:28%;height:100%;background:linear-gradient(90deg,#faf8f2 0%,rgba(250,248,242,.92) 52%,rgba(250,248,242,0) 100%)}.hero-copy{position:absolute;left:83px;top:78px;width:380px;z-index:2}.hero-copy:before{content:"";position:absolute;left:-82px;top:-43px;width:60px;height:85px;background:radial-gradient(circle,#6c847b 1.5px,transparent 2px);background-size:14px 14px;opacity:.6}.eyebrow{font-size:14px;font-weight:600;color:#c67d14;display:flex;align-items:center;gap:14px}.eyebrow:after{content:"";width:54px;height:1px;background:#bfc4be}.hero h1{font-family:"Playfair Display",Georgia,serif;font-size:48px;line-height:1.03;letter-spacing:-2px;margin:24px 0 23px;color:#082f28}.hero h1 em{font-style:normal;color:#ca8930}.hero p{font-size:13px;line-height:1.65;color:#344a44;width:340px;margin:0 0 25px}.hero-buttons{display:flex;gap:19px}.btn{height:39px;border-radius:5px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;border:1px solid var(--green)}.btn-primary{background:var(--green);color:#fff}.btn-outline{background:#fff}.hero-dot{position:absolute;left:42%;top:55px;width:35px;height:35px;background:#cb8c31;border-radius:50%;z-index:2}
.quick{width:86%;margin:-62px auto 19px;position:relative;z-index:5;background:#fff;border-radius:8px;box-shadow:0 7px 22px #183e351c;display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden}.quick a{min-height:105px;text-align:center;padding:24px 16px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center}.quick a:last-child{border-right:0}.quick h3{font-size:13px;font-weight:800;letter-spacing:.2px;margin:0 0 7px}.quick p{font-size:9px;line-height:1.5;color:#66736f;max-width:150px;margin:0 auto}
.welcome{display:grid;grid-template-columns:34% 33% 33%;padding:0 39px 17px;align-items:center}.church{height:326px;overflow:hidden;border-radius:0 0 112px 112px;position:relative}.church:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:24px;border-bottom:4px solid white;border-left:4px solid white;border-radius:0 0 112px 112px}.church img{width:100%;height:100%;object-fit:cover}.welcome-copy{padding:0 34px}.kicker{font-size:9px;color:#c77f19;display:flex;gap:9px;align-items:center}.kicker:before{content:"";width:23px;height:2px;background:#ce8c27}.welcome h2{font-family:"Playfair Display",Georgia,serif;font-size:30px;line-height:1;letter-spacing:-1px;margin:12px 0 18px}.welcome-copy>p{font-size:10px;line-height:1.65;color:#65726e;margin:0}.checks{list-style:none;padding:0;margin:14px 0 10px}.checks li{font-size:9px;margin:6px 0;display:flex;align-items:center;gap:8px}.checks li:before{content:"✓";width:13px;height:13px;border:1px solid #df921f;border-radius:50%;color:#db8d1d;display:flex;align-items:center;justify-content:center;font-size:8px}.script{font-family:Caveat,cursive;font-size:29px;margin-bottom:8px}.learn{display:inline-flex;background:var(--green);color:#fff;padding:11px 17px;border-radius:4px;font-size:9px;font-weight:700}.schedule{background:#eff2eb;border-radius:8px;padding:20px 17px;min-height:340px;font-size:9px}.schedule-title{font-size:11px;font-weight:700;display:flex;align-items:center;gap:9px;margin-bottom:20px}.schedule-title:before{content:"▣";font-size:18px}.schedule h4{font-size:9px;color:#c77e16;margin:13px 0 8px}.srow{display:flex;justify-content:space-between;line-height:1.4;margin:4px 0}.schedule hr{border:0;border-top:1px solid #d4dad4;margin:12px 0}.full{display:block;margin-top:14px;font-size:8px;font-weight:700}
.events{background:#faf8f2;padding:12px 55px 14px}.events-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.events-title{font-size:10px;font-weight:700}.events-title:before{content:"▣";color:#d1841d;font-size:16px;margin-right:9px}.events-head a{font-size:8px;font-weight:700}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.event{background:#fff;border:1px solid #e3e7e2;border-radius:6px;min-height:73px;padding:12px;display:flex;gap:10px;box-shadow:0 2px 7px #00000009}.date{width:39px;height:49px;background:var(--green);color:#fff;border-radius:4px;text-align:center;flex:0 0 auto;padding-top:6px}.date b{font-size:8px;color:#d89a40}.date strong{font-size:16px;display:block;line-height:1.05}.event h4{font-size:9px;line-height:1.25;margin:2px 0 5px}.event p{font-size:8px;line-height:1.5;color:#68746f;margin:0}
.values{display:grid;grid-template-columns:30% 23.333% 23.333% 23.334%;min-height:111px;background:#f5f0e7}.rosary{background:url("rosary.jpg") center/cover no-repeat}.value{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:12px 17px;border-right:1px dotted #bbc4bd;align-items:start}.value:last-child{border:0}.vicon{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px}.value:nth-child(3) .vicon{background:#cb8b30}.value h3{font-size:10px;margin:3px 0 7px}.value p{font-size:8px;line-height:1.5;color:#65716c;margin:0 0 4px}.value a{font-size:8px;font-weight:700}
footer{background:var(--deep);color:#fff;padding:25px 55px 13px}.footer-grid{display:grid;grid-template-columns:24% 17% 32% 27%}.fcol{min-height:105px;padding-right:30px;border-right:1px solid #527167}.fcol+.fcol{padding-left:25px}.fcol:last-child{border:0}.fcol h3{font-size:10px;margin:0 0 7px}.fcol a,.fcol p{font-size:8px;line-height:1.7;display:block;color:#edf3ef;margin:0}.contact{font-size:8px;line-height:1.6;margin:4px 0;display:flex;gap:8px}.footer-logo{width:100%;max-width:310px;height:128px;object-fit:contain;object-position:left center}.copyright{border-top:1px solid #42675c;margin-top:14px;padding-top:8px;display:flex;justify-content:space-between;font-size:7px;color:#dbe5df}.copyright span{margin-left:15px}
@media(max-width:850px){.topbar{padding:0 22px}.top-info{display:none}.navbar{padding:0 20px 0 235px;gap:16px}.nav-logo{left:22px;width:195px}.nav-link:not(.active):not(.donate){display:none}.hero{height:560px}.hero-photo{width:100%;opacity:.6}.hero-copy{left:7%;top:75px}.quick{grid-template-columns:repeat(3,1fr);margin-top:-50px}.quick a{border-bottom:1px solid var(--line)}.welcome{grid-template-columns:1fr;padding:25px}.church{height:330px}.welcome-copy{padding:30px 0}.schedule{margin-top:10px}.event-grid{grid-template-columns:repeat(2,1fr)}.events{padding-left:25px;padding-right:25px}.values{grid-template-columns:1fr}.rosary{display:none}.value{border-right:0;border-bottom:1px dotted #bbc4bd}footer{padding:25px}.footer-grid{grid-template-columns:1fr 1fr}.fcol{margin-bottom:18px}.fcol+.fcol{padding-left:0}.footer-logo{max-width:320px}}
@media(max-width:520px){.navbar{height:58px}.nav-link{height:58px}.nav-logo{height:52px}.hero{height:555px}.hero-copy{left:25px;width:82%}.hero h1{font-size:38px}.hero p{width:100%}.hero-buttons{flex-wrap:wrap;gap:8px}.quick{grid-template-columns:repeat(2,1fr)}.event-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.fcol{border-right:0;border-bottom:1px solid #42675c;padding-bottom:15px}.copyright{display:block;line-height:1.8}}

.news-feature{background:#fff;border:1px solid #e3e7e2;border-radius:8px;min-height:116px;padding:16px;display:grid;grid-template-columns:34% 1fr;gap:18px;align-items:center;box-shadow:0 2px 7px #00000009}.news-feature img{width:100%;height:100px;object-fit:cover;border-radius:6px}.news-feature h3{font-family:"Playfair Display",Georgia,serif;font-size:18px;margin:0 0 7px;color:#082f28}.news-feature p{font-size:9px;line-height:1.6;color:#68746f;margin:0 0 10px}.values{grid-template-columns:30% 70%}.values-list{display:grid;grid-template-columns:repeat(3,1fr);min-width:0}.values .rosary{background-image:url("cross.jpg")}@media(max-width:850px){.news-feature{grid-template-columns:1fr}.news-feature img{height:150px}.values{grid-template-columns:1fr}.values .rosary{display:none}.values-list{grid-template-columns:1fr}}@media(max-width:520px){.news-feature img{height:130px}}

.footer-a{background:var(--green);color:#fff;padding:40px 55px 12px}
.footer-a .footer-grid-a{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px}
.footer-a h3{font-family:"DM Sans";font-size:13px;margin:0 0 15px}
.footer-a p,.footer-a li{font-size:11px;line-height:1.8;color:#dce5df}
.footer-a ul{padding:0;margin:0;list-style:none}
.footer-a li{margin:5px 0}
.footer-a a{color:inherit;text-decoration:none}
.footer-a .copyright-a{max-width:1100px;margin:25px auto 0;border-top:1px solid rgba(255,255,255,.2);padding-top:12px;text-align:center;font-size:10px;color:#c7d3cc}
@media(max-width:950px){.footer-a .footer-grid-a{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.footer-a{padding-left:25px;padding-right:25px}.footer-a .footer-grid-a{grid-template-columns:1fr}}



.quick-item{position:relative;}
.quick-item .side-icon{position:absolute;top:50%;transform:translateY(-50%);font-size:25px;color:var(--green);line-height:1;z-index:1;}
.quick-item .side-icon.left{left:12px;}
.quick-item .side-icon.right{right:12px;}
.quick-item h3{font-weight:800;}
.quick-item{padding-left:42px!important;padding-right:42px!important;}



/* Keep one original icon per compact service card. */
.original-side-icon {
  position: relative;
}
.original-side-icon > i:first-child,
.original-side-icon > svg:first-child,
.original-side-icon .icon:first-child {
  position: absolute;
  left: 14px;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
}

/* =========================================================
   Homepage responsive refinement
   ========================================================= */
.site-header { position: relative; z-index: 50; }
.desktop-nav-links { display:flex; align-items:center; gap:clamp(12px, 1.7vw, 30px); min-width:0; width:100%; }
.nav-logo-link { flex:0 0 auto; }
.mobile-menu { display:none; }
.mobile-nav { display:none; }

@media (max-width: 1100px) {
  .navbar { padding:0 24px 0 245px; gap:18px; }
  .nav-logo { left:22px; width:205px; }
  .desktop-nav-links { gap:12px; }
  .nav-link { font-size:8px; }
  .donate { padding:11px 13px; font-size:9px; }
}

@media (max-width: 900px) {
  .topbar { height:auto; min-height:36px; padding:7px 20px; }
  .top-info { justify-content:center; gap:8px 16px; flex-wrap:wrap; }
  .top-info span:nth-child(2) { display:none; }
  .navbar { height:64px; padding:0 18px 0 205px; }
  .nav-logo { left:18px; width:175px; height:52px; }
  .desktop-nav-links { display:none; }
  .mobile-menu { margin-left:auto; display:flex; width:44px; height:44px; border:1px solid #d7ddd8; border-radius:7px; background:#fff; color:var(--green); align-items:center; justify-content:center; font-size:24px; cursor:pointer; }
  .mobile-nav { display:flex; flex-direction:column; gap:0; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line); box-shadow:0 10px 25px rgba(0,0,0,.08); }
  .mobile-nav[hidden] { display:none !important; }
  .mobile-nav a { display:block; padding:14px 20px; border-bottom:1px solid #eee; font-size:11px; font-weight:700; letter-spacing:.2px; }
  .mobile-nav a:hover, .mobile-nav a:focus { color:var(--gold); background:#faf8f2; }
  .mobile-nav .mobile-give { margin:12px 16px 16px; border:0; border-radius:6px; background:var(--gold2); color:#fff; text-align:center; }

  .hero { height:auto; min-height:570px; }
  .hero-photo { width:100%; opacity:.30; }
  .hero-photo:before { width:70%; }
  .hero-copy { position:relative; left:auto; top:auto; width:min(650px, 88%); padding:85px 0 75px; margin-left:7%; }
  .hero h1 { font-size:clamp(40px, 7vw, 54px); }
  .hero p { width:auto; max-width:560px; font-size:14px; }
  .hero-dot { display:none; }
  .quick { width:92%; margin:-38px auto 22px; grid-template-columns:repeat(2,1fr); }
  .quick a { min-height:120px; }
  .welcome { grid-template-columns:1fr; padding:30px 7% 25px; gap:24px; }
  .church { height:340px; }
  .welcome-copy { padding:10px 0; }
  .welcome h2 { font-size:clamp(29px, 5vw, 36px); line-height:1.1; }
  .welcome-copy>p, .checks li { font-size:12px; }
  .schedule { min-height:0; }
  .events { padding:30px 7%; }
  .news-feature { grid-template-columns:1fr; }
  .news-feature img { height:200px; }
  .values { grid-template-columns:1fr; }
  .values .rosary { display:none; }
  .values-list { grid-template-columns:1fr; }
  .value { border-right:0; border-bottom:1px dotted #bbc4bd; padding:20px 7%; }
  .footer-a { padding:35px 7% 14px; }
}

@media (max-width: 600px) {
  .topbar { min-height:34px; padding:6px 12px; }
  .top-info { font-size:8px; }
  .navbar { height:60px; padding:0 12px 0 150px; }
  .nav-logo { left:12px; width:130px; height:48px; }
  .mobile-menu { width:40px; height:40px; font-size:22px; }
  .hero { min-height:500px; }
  .hero-copy { width:88%; margin-left:6%; padding:65px 0 58px; }
  .eyebrow { font-size:11px; gap:8px; }
  .eyebrow:after { width:35px; }
  .hero h1 { font-size:clamp(35px, 11vw, 46px); letter-spacing:-1.2px; margin:17px 0 18px; }
  .hero p { font-size:12px; line-height:1.7; }
  .hero-buttons { flex-direction:column; align-items:stretch; gap:10px; }
  .hero-buttons .btn { width:100%; height:44px; font-size:10px; }
  .quick { width:94%; margin:0 auto 18px; grid-template-columns:1fr 1fr; border-radius:8px; }
  .quick a { min-height:118px; padding:22px 38px 16px; }
  .quick h3 { font-size:10px; }
  .quick p { font-size:8px; }
  .quick-item .side-icon { font-size:19px; }
  .quick-item .side-icon.left { left:9px; }
  .quick-item .side-icon.right { right:9px; }
  .welcome { padding:22px 6% 20px; }
  .church { height:270px; border-radius:0 0 80px 80px; }
  .welcome-copy { padding:0; }
  .welcome h2 { font-size:29px; }
  .schedule { padding:18px 15px; font-size:9px; }
  .srow { flex-direction:column; gap:3px; }
  .events { padding:24px 6%; }
  .news-feature { padding:12px; }
  .news-feature img { height:160px; }
  .news-feature h3 { font-size:20px; }
  .news-feature p { font-size:10px; }
  .footer-a { padding:30px 6% 12px; }
  .footer-a .footer-grid-a { gap:22px; }
}

@media (max-width: 380px) {
  .navbar { padding-left:135px; }
  .nav-logo { width:118px; }
  .quick a { padding-left:30px; padding-right:30px; }
  .quick-item .side-icon { display:none; }
}
