  .gf-finder, .gf-finder * { box-sizing: border-box; }
  .gf-finder { font-family:Inter,Arial,sans-serif; color:#111; background:#fff; line-height:1.45; padding:clamp(32px,6vw,88px) 20px; }
  .gf-finder .gf-shell { max-width:1050px; margin:auto; }
  .gf-finder .gf-eyebrow, .gf-finder .gf-overline { font-size:12px; font-weight:800; letter-spacing:.16em; }
  .gf-finder h1 { font-size:clamp(48px,8vw,104px); line-height:1.02; letter-spacing:-.075em; margin:20px 0; font-weight:800; }
  .gf-finder h1 span, .gf-finder h2 span { color:#999; }
  .gf-finder .gf-intro { font-size:clamp(17px,2vw,21px); max-width:610px; color:#555; margin:0 0 68px; }
  .gf-finder .gf-fieldset { border:0; padding:0; margin:0 0 52px; min-width:0; }
  .gf-finder legend { font-size:clamp(22px,3vw,30px); font-weight:700; letter-spacing:-.045em; margin-bottom:20px; width:100%; }
  .gf-finder .gf-step { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:50%; color:#fff; background:#111; font-size:13px; letter-spacing:0; vertical-align:middle; margin-right:12px; }
  .gf-finder .gf-hint { margin:-12px 0 20px; color:#666; font-size:14px; }
  .gf-finder .gf-options { display:grid; gap:12px; }
  .gf-finder .gf-locations { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gf-finder .gf-ages { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gf-finder label { position:relative; cursor:pointer; display:block; }
  .gf-finder input { position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
  .gf-finder label span { display:flex; min-height:98px; padding:23px; border:1px solid #d9d9d9; border-radius:22px; align-items:center; justify-content:space-between; gap:10px; font-size:18px; font-weight:650; line-height:1.2; transition:background .18s,color .18s,border-color .18s,transform .18s; }
  .gf-finder label:hover span { border-color:#111; transform:translateY(-2px); }
  .gf-finder label:has(input:checked) span { color:#fff; background:#111; border-color:#111; }
  .gf-finder input:focus-visible + span { outline:3px solid #777; outline-offset:3px; }
  .gf-finder label b { font-size:23px; font-weight:400; }
  .gf-finder label small { font-size:12px; font-weight:500; color:#666; white-space:nowrap; }
  .gf-finder label:has(input:checked) small { color:#bbb; }
  .gf-finder .gf-results { background:#f4f4f4; padding:clamp(24px,4vw,48px); border-radius:30px; margin-top:68px; }
  .gf-finder .gf-results-head { display:flex; justify-content:space-between; align-items:end; gap:16px; margin-bottom:25px; }
  .gf-finder h2 { font-size:clamp(32px,5vw,54px); line-height:1; letter-spacing:-.065em; margin:10px 0 0; }
  .gf-finder .gf-count { font-size:11px; letter-spacing:.1em; font-weight:800; white-space:nowrap; }
  .gf-finder .gf-empty { color:#666; font-size:16px; max-width:500px; }
  .gf-finder .gf-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .gf-finder .gf-card { display:flex; flex-direction:column; min-height:220px; padding:26px; background:#fff; border-radius:22px; }
  .gf-finder .gf-card-type { font-size:11px; font-weight:800; letter-spacing:.13em; color:#666; text-transform:uppercase; }
  .gf-finder .gf-card h3 { font-size:25px; letter-spacing:-.045em; line-height:1.15; margin:15px 0 5px; }
  .gf-finder .gf-card p { margin:0 0 25px; color:#666; font-size:14px; }
  .gf-finder .gf-card a { display:inline-flex; width:max-content; margin-top:auto; border-radius:100px; padding:12px 17px; background:#111; color:#fff; text-decoration:none; font-size:14px; font-weight:700; }
  .gf-finder .gf-card a:hover, .gf-finder .gf-card a:focus-visible { background:#444; color:#fff; }
  .gf-finder .gf-note { margin:26px 0 0; color:#777; font-size:12px; }
  @media(max-width:760px) { .gf-finder .gf-ages { grid-template-columns:repeat(2,minmax(0,1fr)); } .gf-finder .gf-intro { margin-bottom:48px; } }
  @media(max-width:540px) { .gf-finder .gf-locations, .gf-finder .gf-result-grid { grid-template-columns:1fr; } .gf-finder .gf-ages { grid-template-columns:repeat(2,minmax(0,1fr)); } .gf-finder label span { min-height:76px; padding:16px; font-size:15px; border-radius:18px; flex-wrap:wrap; } .gf-finder .gf-ages label span { display:block; } .gf-finder label small { display:block; margin-top:6px; white-space:normal; } .gf-finder .gf-fieldset { margin-bottom:38px; } .gf-finder .gf-results { margin-top:42px; border-radius:24px; } .gf-finder .gf-card { min-height:190px; } }

/* Keep Elementor and theme styles from overriding the Finder. */
.gf-finder { width:100%; max-width:100%; font-family:Inter,Arial,sans-serif !important; isolation:isolate; }
.gf-finder :is(h1,h2,h3,p,legend,small,span,a) { font-family:inherit; }
.gf-finder fieldset { border:0 !important; padding:0 !important; min-width:0; }
.gf-finder legend { border:0 !important; padding:0 !important; float:none !important; }
.gf-finder .gf-options label { margin:0 !important; width:100%; font-family:inherit; }
.gf-finder .gf-options label > span { display:flex; border:1px solid #d9d9d9; background:#fff; color:#111; border-radius:22px; text-transform:none; letter-spacing:normal; }
.gf-finder .gf-options label:has(input:checked) > span { background:#111; color:#fff; border-color:#111; }
.gf-finder .gf-options input { appearance:none; opacity:0; }
.gf-finder .gf-result-grid:empty { display:none; }
.gf-finder .gf-empty[hidden] { display:none !important; }
.gf-finder .gf-card { animation:gf-rise .35s ease both; }
.gf-finder .gf-card:nth-child(2) { animation-delay:.06s; }
.gf-finder .gf-card:nth-child(3) { animation-delay:.12s; }
@keyframes gf-rise { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .gf-finder *, .gf-finder *::before, .gf-finder *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
.gf-finder .gf-churchtools-link { display:inline-flex; margin-top:22px; padding:13px 18px; border:1px solid #111; border-radius:99px; color:#111; background:transparent; font-weight:700; font-size:14px; text-decoration:none; transition:background .2s,color .2s; }
.gf-finder .gf-churchtools-link:hover { color:#fff; background:#111; }
