/* Header visual refresh */
.site-header{
  height:76px;
  grid-template-columns:minmax(190px,1fr) auto minmax(150px,1fr);
  gap:20px;
  padding:0 24px;
  background:rgba(248,243,233,.94);
  border-bottom:1px solid rgba(23,22,18,.12);
  box-shadow:0 8px 28px rgba(23,22,18,.035);
}
.brand{gap:11px}
.seal{width:41px;height:41px;background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 3px rgba(183,139,69,.08)}
.brand strong{font-size:11px;letter-spacing:.11em}
.brand small{font-size:6.5px;letter-spacing:.17em;margin-top:4px}
.site-header nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2px;
  padding:5px;
  border:1px solid rgba(23,22,18,.11);
  border-radius:999px;
  background:rgba(255,250,240,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 4px 15px rgba(23,22,18,.035);
}
.site-header nav a{
  position:relative;
  padding:10px 12px;
  border:0;
  border-radius:999px;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
  line-height:1;
  white-space:nowrap;
  color:#4d4841;
  transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.site-header nav a:hover{border:0;color:var(--ink);background:rgba(183,139,69,.13);transform:translateY(-1px)}
.site-header nav a.active{border:0;color:var(--white);background:var(--ink);box-shadow:0 4px 12px rgba(23,22,18,.14)}
.site-header nav a.active:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--gold2);left:50%;bottom:3px;transform:translateX(-50%)}
.actions{gap:7px}
.actions button{min-height:34px;padding:0 11px;border:1px solid transparent;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:.18s ease}
.actions button:hover{background:rgba(183,139,69,.11);border-color:rgba(23,22,18,.09)}
.bag{display:flex;align-items:center;gap:6px}
.bag span{width:20px;height:20px}

@media(max-width:1240px){
  .site-header{grid-template-columns:1fr auto;padding:0 22px}
  .site-header nav{display:none}
  .menu{display:block!important;border-color:rgba(23,22,18,.14)!important;background:rgba(255,250,240,.72)!important}
}

@media(max-width:690px){
  .site-header{height:68px;padding:0 14px;gap:10px}
  .brand{gap:9px}
  .seal{width:38px;height:38px}
  .brand strong{display:block;font-size:10px;letter-spacing:.09em}
  .brand small{display:none}
  .actions{gap:4px}
  .actions .search-btn{display:none}
  .actions button{padding:0 9px;min-height:32px}
  .mobile-nav{padding:20px 18px 24px;background:linear-gradient(145deg,#171612 0,#211f1b 58%,#2b241c 100%)}
  .mobile-nav>button{font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:9px 12px}
  .mobile-nav a{font:28px/1.05 Georgia,serif;padding:13px 2px;border-bottom-color:rgba(255,255,255,.12)}
  .mobile-nav a small{margin-top:0;color:var(--gold2);font:14px Arial,sans-serif}
  .mobile-nav>small{font-size:7px;line-height:1.6;margin-top:auto;padding-top:22px}
}

/* Refined Church Finder experience */
body:has(#finder) .page{background:#f6f1e7}
body:has(#finder) .crumbs{max-width:1320px;margin:0 auto;padding:22px 4vw 16px;color:#8a8175;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
body:has(#finder) .crumbs a{color:#5f574d}

body:has(#finder) .page-hero.dark{
  min-height:540px;
  grid-template-columns:1.12fr .68fr;
  gap:7vw;
  padding:88px max(6vw,32px) 84px;
  background:
    radial-gradient(circle at 78% 22%,rgba(183,139,69,.17),transparent 30%),
    linear-gradient(138deg,#171612 0%,#211e1a 58%,#2d271f 100%);
}
body:has(#finder) .page-hero.dark:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.45) 55%,transparent 95%);
}
body:has(#finder) .page-hero.dark>div{position:relative;z-index:1}
body:has(#finder) .page-hero.dark h1{font-size:clamp(62px,7vw,102px);max-width:760px;margin-bottom:24px}
body:has(#finder) .page-hero.dark p{max-width:590px;color:#d8d0c3;font-size:18px;line-height:1.62}
body:has(#finder) .page-hero.dark .hero-actions{margin-top:30px}
body:has(#finder) .page-hero.dark .btn{border-radius:999px;min-height:46px;padding:0 20px}
body:has(#finder) .page-hero.dark .hero-card{
  min-height:310px;
  padding:34px 36px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(150deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  box-shadow:0 28px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px);
}
body:has(#finder) .page-hero.dark .hero-card:before{font-size:102px;right:24px;top:14px;opacity:.045}
body:has(#finder) .page-hero.dark .hero-card h2{font-size:clamp(31px,3vw,44px);line-height:1.02;margin:24px 0 26px}
body:has(#finder) .page-hero.dark .hero-card .big{font-size:46px;color:var(--gold2)}

body:has(#finder) #finder{max-width:1400px;padding:92px 4vw 105px}
body:has(#finder) .finder-shell{
  grid-template-columns:.86fr 1.14fr;
  min-height:650px;
  border:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 34px 90px rgba(54,42,25,.13),0 4px 14px rgba(54,42,25,.06);
  background:#191814;
}
body:has(#finder) .finder-intro{
  position:relative;
  isolation:isolate;
  padding:58px 52px 50px;
  background:
    radial-gradient(circle at 16% 14%,rgba(213,179,111,.12),transparent 26%),
    linear-gradient(155deg,#191814 0%,#26231e 100%);
}
body:has(#finder) .finder-intro:after{
  content:"GI";
  position:absolute;
  right:-18px;
  bottom:-38px;
  z-index:-1;
  color:rgba(255,255,255,.025);
  font:190px/.8 Georgia,serif;
  letter-spacing:-.08em;
}
body:has(#finder) .finder-intro h2{max-width:520px;margin-top:16px;font-size:clamp(44px,4.5vw,67px)}
body:has(#finder) .finder-intro p{max-width:500px;color:#cfc6b8;font-size:15.5px;line-height:1.66}
body:has(#finder) .finder-intro .btn.light{
  min-height:46px;
  border:1px solid rgba(213,179,111,.55);
  border-radius:999px;
  color:#171612;
  background:var(--gold2);
  padding:0 20px;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
body:has(#finder) .finder-intro .btn.light:hover{background:#e1c58b;border-color:#e1c58b}
body:has(#finder) .finder-note{margin-top:18px;padding:16px 0 0;border-top:1px solid rgba(255,255,255,.10);max-width:440px;color:#aaa194;line-height:1.65}
body:has(#finder) .finder-trust{
  grid-template-columns:1fr;
  gap:10px;
  margin-top:30px;
  border:0;
  background:transparent;
}
body:has(#finder) .finder-trust div{
  position:relative;
  padding:14px 16px 14px 43px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:rgba(255,255,255,.045);
}
body:has(#finder) .finder-trust div:before{
  content:"✦";
  position:absolute;
  left:16px;
  top:15px;
  color:var(--gold2);
  font:12px Georgia,serif;
}
body:has(#finder) .finder-trust b{color:#fffaf0;font:17px Georgia,serif;margin-bottom:3px}
body:has(#finder) .finder-trust small{color:#aea69b;font-size:9.5px;line-height:1.45}

body:has(#finder) .finder-panel{
  padding:54px 54px 48px;
  background:linear-gradient(180deg,#fbf7ef 0%,#f3eadb 100%);
}
body:has(#finder) .filter-progress{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-bottom:32px;
}
body:has(#finder) .filter-progress span{
  padding:11px 8px;
  border:0;
  border-radius:10px;
  background:rgba(183,139,69,.09);
  color:#766b5d;
  text-align:center;
  font-size:8px;
  letter-spacing:.11em;
}
body:has(#finder) .filter-progress span:first-child{background:var(--ink);color:#fffaf0}
body:has(#finder) .finder-grid{gap:17px 16px}
body:has(#finder) .field{gap:9px}
body:has(#finder) .field label{color:#61594f;font-size:8.5px;letter-spacing:.145em}
body:has(#finder) .field input,
body:has(#finder) .field select{
  min-height:58px;
  border:1px solid rgba(23,22,18,.13);
  border-radius:12px;
  background:rgba(255,255,255,.78);
  padding:0 16px;
  box-shadow:0 2px 7px rgba(42,34,22,.025),inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
body:has(#finder) .field input:hover,
body:has(#finder) .field select:hover{background:#fffdfa;border-color:rgba(23,22,18,.22)}
body:has(#finder) .field input:focus,
body:has(#finder) .field select:focus{background:#fff;border-color:var(--gold);box-shadow:0 0 0 3px rgba(183,139,69,.12)}
body:has(#finder) .finder-actions{margin-top:26px;gap:12px}
body:has(#finder) .finder-actions .btn{min-height:50px;border-radius:12px}
body:has(#finder) .finder-actions .btn.dark{min-width:230px;padding:0 24px;box-shadow:0 10px 24px rgba(23,22,18,.11)}
body:has(#finder) .finder-actions #clearChurchFilters{border-color:transparent;color:#6d6459;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(109,100,89,.35)}
body:has(#finder) .search-summary{margin-top:30px;padding-top:24px;border-top-color:rgba(23,22,18,.10)}
body:has(#finder) .summary-card{
  border:1px solid rgba(183,139,69,.22);
  border-left:4px solid var(--gold);
  border-radius:0 12px 12px 0;
  background:rgba(255,255,255,.54);
  padding:18px 19px;
  color:#50483f;
  box-shadow:0 5px 16px rgba(42,34,22,.035);
}
body:has(#finder) .search-summary .status{margin:12px 3px 0;color:#857b6e;line-height:1.55}

body:has(#finder) .denom-guide{padding:10px 4vw 96px;max-width:1320px}
body:has(#finder) .denom-guide-head{grid-template-columns:.8fr 1.2fr;gap:72px;padding-top:74px;border-top-color:rgba(23,22,18,.11)}
body:has(#finder) .denom-guide-head h2{max-width:520px}
body:has(#finder) .denom-guide-head p{color:#5e574e}
body:has(#finder) .denom-chips{gap:8px;margin-top:24px}
body:has(#finder) .denom-chip{
  border:1px solid rgba(23,22,18,.14);
  border-radius:999px;
  background:rgba(255,255,255,.46);
  padding:10px 14px;
  color:#514a42;
  transition:.18s ease;
}
body:has(#finder) .denom-chip:hover{transform:translateY(-1px);background:var(--ink);border-color:var(--ink);box-shadow:0 8px 18px rgba(23,22,18,.10)}
body:has(#finder) .time-guide{gap:12px;margin-top:34px}
body:has(#finder) .time-card{
  min-height:164px;
  padding:22px 22px 24px;
  border:1px solid rgba(23,22,18,.10);
  border-radius:15px;
  background:rgba(255,255,255,.54);
  box-shadow:0 6px 22px rgba(42,34,22,.035);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body:has(#finder) .time-card:hover{transform:translateY(-3px);border-color:rgba(183,139,69,.35);box-shadow:0 14px 30px rgba(42,34,22,.07)}
body:has(#finder) .time-card b{font-size:24px;margin:12px 0 10px}
body:has(#finder) .time-card p{color:#71685e;line-height:1.55}

body:has(#finder) .section.tight{max-width:1320px;padding-top:78px;padding-bottom:82px}
body:has(#finder) .category-grid{gap:12px}
body:has(#finder) .category{
  min-height:325px;
  border:1px solid rgba(23,22,18,.09);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(42,34,22,.04);
}
body:has(#finder) .category:after{font-size:48px;right:24px;top:22px;opacity:.09}

body:has(#finder) #first-visit{max-width:1320px;margin:0 auto;padding:0 4vw 92px}
body:has(#finder) .first-visit{gap:12px;border:0}
body:has(#finder) .first-visit div{
  min-height:228px;
  padding:29px 26px;
  border:1px solid rgba(23,22,18,.09)!important;
  border-radius:16px;
  background:rgba(255,255,255,.53);
  box-shadow:0 8px 24px rgba(42,34,22,.035);
}
body:has(#finder) .first-visit b{font-size:27px;margin-bottom:21px}
body:has(#finder) .first-visit h3{font-size:19px;line-height:1.2;margin-bottom:10px}
body:has(#finder) .first-visit p{font-size:12.5px;line-height:1.56}

body:has(#finder) .content-band{max-width:1320px;margin-left:auto;margin-right:auto;padding-top:82px;padding-bottom:82px}
body:has(#finder) .content-band.alt{background:transparent;border-top:1px solid rgba(23,22,18,.10)}
body:has(#finder) .content-band.darkband{max-width:none;padding-left:max(calc((100vw - 1320px)/2 + 4vw),4vw);padding-right:max(calc((100vw - 1320px)/2 + 4vw),4vw)}
body:has(#finder) .faq-list details{border:1px solid rgba(23,22,18,.10);border-radius:12px;background:rgba(255,255,255,.45);padding-left:16px;padding-right:16px;margin-bottom:9px}
body:has(#finder) .faq-list summary{padding-top:17px;padding-bottom:17px}

@media(max-width:1050px){
  body:has(#finder) .page-hero.dark{grid-template-columns:1fr .72fr;gap:38px;padding-left:4vw;padding-right:4vw}
  body:has(#finder) .finder-shell{grid-template-columns:1fr}
  body:has(#finder) .finder-intro{min-height:auto}
  body:has(#finder) .finder-trust{grid-template-columns:repeat(3,1fr)}
  body:has(#finder) .denom-guide-head{grid-template-columns:1fr;gap:20px}
}

@media(max-width:760px){
  body:has(#finder) .page-hero.dark{grid-template-columns:1fr;min-height:auto;padding:68px 20px 58px}
  body:has(#finder) .page-hero.dark .hero-card{min-height:245px;margin-top:8px}
  body:has(#finder) #finder{padding:58px 16px 72px}
  body:has(#finder) .finder-shell{border-radius:20px}
  body:has(#finder) .finder-intro,body:has(#finder) .finder-panel{padding:38px 22px}
  body:has(#finder) .finder-trust{grid-template-columns:1fr}
  body:has(#finder) .filter-progress{grid-template-columns:1fr 1fr}
  body:has(#finder) .finder-grid{grid-template-columns:1fr}
  body:has(#finder) .field.full{grid-column:auto}
  body:has(#finder) .finder-actions{flex-direction:column;align-items:stretch}
  body:has(#finder) .finder-actions .btn{width:100%}
  body:has(#finder) .denom-guide{padding-left:20px;padding-right:20px;padding-bottom:72px}
  body:has(#finder) .time-guide{grid-template-columns:1fr 1fr}
  body:has(#finder) .first-visit{grid-template-columns:1fr 1fr}
  body:has(#finder) .content-band{padding-left:20px;padding-right:20px}
}

@media(max-width:520px){
  body:has(#finder) .crumbs{padding-left:18px;padding-right:18px}
  body:has(#finder) .page-hero.dark h1{font-size:58px}
  body:has(#finder) .page-hero.dark .hero-card{padding:26px}
  body:has(#finder) .finder-intro h2{font-size:43px}
  body:has(#finder) .filter-progress{grid-template-columns:1fr}
  body:has(#finder) .time-guide{grid-template-columns:1fr}
  body:has(#finder) .first-visit{grid-template-columns:1fr}
  body:has(#finder) #first-visit{padding-left:16px;padding-right:16px}
}

/* Premium commerce header override */
.site-header{
  height:74px;
  grid-template-columns:minmax(220px,1fr) auto minmax(150px,1fr);
  padding:0 28px;
  background:rgba(248,243,233,.96);
  border-bottom:1px solid rgba(22,21,18,.10);
  box-shadow:none;
}
.site-header nav{
  gap:24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
}
.site-header nav a{
  padding:28px 0 24px;border-radius:0;background:transparent!important;
  font-size:8px;letter-spacing:.13em;color:#5a544b;
}
.site-header nav a:hover{transform:none;color:#161512}
.site-header nav a.active{color:#161512;box-shadow:none}
.site-header nav a.active:after{
  width:100%;height:1px;border-radius:0;background:#b58a45;bottom:19px;
}
.actions button{border-radius:0;background:transparent!important}
@media(max-width:1240px){.site-header{grid-template-columns:1fr auto}}

.premium-header-cta{
  min-height:34px;padding:0 13px;border:1px solid #161512;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:#161512;background:transparent;transition:.18s ease
}
.premium-header-cta:hover{background:#161512;color:#fffaf0}
