:root{--fm-green:#2f6f3e;--fm-orange:#e57a2f;--fm-ink:#4a3f36;--fm-cream:#f7f2eb;--fm-mint:#eaf2ec;--fm-line:#e7e1da;--fm-white:#fff;--fm-shadow:0 18px 48px rgba(74,63,54,.10)}*{box-sizing:border-box}.fm-finder{color:var(--fm-ink);font-family:"Open Sans",sans-serif;background:#fff}#site-footer{display:none!important}.fm-finder h1,.fm-finder h2,.fm-finder h3,.fm-finder button,.fm-finder .fm-tab{font-family:"Comfortaa",sans-serif}.fm-wrap{width:min(1180px,calc(100% - 32px));margin-inline:auto}.fm-hero{padding:72px 0 36px;background:linear-gradient(135deg,#fff 0%,var(--fm-cream) 100%);border-bottom:1px solid var(--fm-line)}.fm-kicker{display:inline-flex;gap:8px;align-items:center;color:var(--fm-green);font-weight:700;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase}.fm-hero h1{font-size:clamp(2.1rem,5vw,4.6rem);line-height:1.03;margin:14px 0 18px;max-width:850px}.fm-hero p{font-size:clamp(1rem,2vw,1.2rem);max-width:720px;margin:0 0 28px;color:#6c625b}.fm-searchbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:stretch;background:#fff;border:1px solid var(--fm-line);padding:10px;border-radius:20px;box-shadow:var(--fm-shadow)}.fm-searchbar input,.fm-searchbar select,.fm-filter select{border:1px solid var(--fm-line);border-radius:12px;padding:13px 14px;background:#fff;color:var(--fm-ink);font:inherit}.fm-btn{border:0;border-radius:12px;padding:12px 18px;cursor:pointer;font-weight:700;min-height:48px}.fm-btn-primary{background:var(--fm-green);color:#fff}.fm-btn-secondary{background:var(--fm-cream);color:var(--fm-green);border:1px solid #d9e6db}.fm-geo-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.fm-tabs{display:flex;gap:10px;padding:24px 0 14px}.fm-tab{border:1px solid var(--fm-line);background:#fff;color:var(--fm-ink);padding:12px 18px;border-radius:999px;font-weight:700;cursor:pointer}.fm-tab[aria-selected="true"]{background:var(--fm-green);color:#fff;border-color:var(--fm-green)}.fm-filters{display:flex;gap:10px;flex-wrap:wrap;padding:0 0 18px}.fm-filter label{font-size:.75rem;font-weight:700;display:block;margin-bottom:5px;color:#776d66}.fm-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:22px;align-items:start}.fm-map-shell{position:sticky;top:18px}.fm-map{height:620px;border-radius:24px;overflow:hidden;border:1px solid var(--fm-line);background:var(--fm-mint)}.fm-map-note{font-size:.8rem;color:#786f69;margin-top:8px}.fm-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.fm-count{font-weight:700;color:var(--fm-green)}.fm-list{display:grid;gap:14px;max-height:680px;overflow:auto;padding-right:4px}.fm-card{border:1px solid var(--fm-line);border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 28px rgba(74,63,54,.06)}.fm-card h3{font-size:1.05rem;margin:0 0 8px}.fm-meta{display:flex;gap:8px;flex-wrap:wrap;color:#6f655e;font-size:.9rem}.fm-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 9px;font-size:.75rem;font-weight:700;background:var(--fm-mint);color:var(--fm-green);margin-top:10px}.fm-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fm-linkbtn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:10px 12px;font-weight:700;font-size:.86rem;border:1px solid var(--fm-line);color:var(--fm-green);background:#fff}.fm-linkbtn.fm-primary{background:var(--fm-green);color:#fff;border-color:var(--fm-green)}.fm-marker{width:36px;height:36px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 4px 12px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;color:#fff;font:700 12px/1 Comfortaa,sans-serif}.fm-marker>span{transform:rotate(45deg);display:block}.fm-marker.direct{background:var(--fm-orange)}.fm-marker.franchising,.fm-marker.licensing{background:var(--fm-green)}.fm-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.8rem;margin:10px 0}.fm-key{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-right:6px;color:#fff;font:700 10px/1 Comfortaa,sans-serif}.fm-key.direct{background:var(--fm-orange)}.fm-key.franchising,.fm-key.licensing{background:var(--fm-green)}.fm-noresults,.fm-trust,.fm-cta,.fm-faq,.fm-request{margin-top:54px}.fm-trust{background:var(--fm-mint);padding:34px;border-radius:24px}.fm-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.fm-trust h3{margin:0 0 6px;font-size:1rem}.fm-cta{background:var(--fm-green);color:#fff;border-radius:26px;padding:38px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center}.fm-cta h2{margin:0 0 8px}.fm-cta p{margin:0;color:#e9f3eb}.fm-cta .fm-btn{background:#fff;color:var(--fm-green)}.fm-faq details{border-top:1px solid var(--fm-line);padding:16px 0}.fm-faq summary{cursor:pointer;font-weight:700}.fm-request{padding:34px;background:var(--fm-cream);border-radius:24px;margin-bottom:70px}.fm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fm-form-grid label{display:grid;gap:6px;font-weight:700;font-size:.86rem}.fm-form-grid input,.fm-form-grid textarea{border:1px solid var(--fm-line);border-radius:12px;padding:12px;font:inherit;background:#fff}.fm-form-grid textarea{min-height:120px;resize:vertical}.fm-full{grid-column:1/-1}.fm-mobile-toggle{display:none}.fm-staging{background:#fff8e8;border:1px solid #efca83;color:#755516;border-radius:12px;padding:10px 12px;font-size:.83rem;margin:18px 0}.leaflet-popup-content{font-family:"Open Sans",sans-serif}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(47,111,62,.18)}.marker-cluster div{background:var(--fm-green);color:#fff}@media(max-width:900px){.fm-searchbar{grid-template-columns:1fr 1fr}.fm-searchbar input{grid-column:1/-1}.fm-layout{grid-template-columns:1fr}.fm-map-shell{position:static}.fm-map{height:460px}.fm-list{max-height:none}.fm-trust-grid{grid-template-columns:1fr}.fm-cta{grid-template-columns:1fr}.fm-mobile-toggle{display:flex;gap:8px;margin-bottom:12px}.fm-mobile-toggle button{flex:1}.fm-layout[data-mobile-view="list"] .fm-map-shell{display:none}.fm-layout[data-mobile-view="map"] .fm-results{display:none}}@media(max-width:620px){.fm-wrap{width:min(100% - 20px,1180px)}.fm-hero{padding:42px 0 26px}.fm-searchbar{grid-template-columns:1fr}.fm-searchbar input{grid-column:auto}.fm-tabs{overflow:auto;padding-bottom:8px}.fm-tab{white-space:nowrap}.fm-filters{display:grid;grid-template-columns:1fr 1fr}.fm-filter select{width:100%}.fm-map{height:380px;border-radius:18px}.fm-form-grid{grid-template-columns:1fr}.fm-full{grid-column:auto}.fm-cta,.fm-trust,.fm-request{padding:24px;border-radius:18px}}

/* Mobile hardening */
.fm-finder{font-size:16px!important;line-height:1.5!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.fm-finder *{box-sizing:border-box}
.fm-finder h1,.fm-finder h2,.fm-finder h3,.fm-finder p,.fm-finder summary,.fm-finder label,.fm-finder input,.fm-finder select,.fm-finder textarea,.fm-finder button,.fm-finder a,.fm-finder span{position:static;letter-spacing:normal}
.fm-finder h1{line-height:1.08!important}.fm-finder h2{line-height:1.2!important}.fm-finder h3{line-height:1.28!important}
.fm-finder p,.fm-finder summary,.fm-finder label,.fm-finder input,.fm-finder select,.fm-finder textarea,.fm-finder button,.fm-finder a,.fm-finder span{line-height:1.45!important}
.fm-card{height:auto!important;min-height:0!important;overflow:visible!important}.fm-card h3{display:block!important;margin:0 0 10px!important}
.fm-meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}.fm-meta span{display:block!important;margin:0!important}
.fm-badge{margin-top:12px!important}.fm-card-actions{margin-top:16px!important}
.fm-cta{height:auto!important;min-height:0!important}.fm-cta h2{display:block!important;margin:0 0 8px!important}.fm-cta p{display:block!important;margin:0!important}
.fm-faq h2,.fm-request h2{margin:0 0 18px!important}.fm-faq details{height:auto!important;min-height:0!important}.fm-faq summary{display:block!important;min-height:0!important}
.fm-form-grid label{height:auto!important;min-height:0!important}.fm-form-grid input,.fm-form-grid textarea{width:100%!important;min-width:0!important}.fm-privacy span{display:inline!important}
@media(max-width:620px){.fm-wrap{width:calc(100% - 24px)!important}.fm-hero{padding:34px 0 24px!important}.fm-hero h1{font-size:34px!important;line-height:1.12!important;margin:12px 0 16px!important}.fm-hero p{font-size:16px!important;line-height:1.55!important;margin:0 0 22px!important}.fm-kicker{font-size:13px!important;line-height:1.4!important}.fm-searchbar{grid-template-columns:1fr!important;padding:10px!important;border-radius:18px!important}.fm-searchbar input{grid-column:auto!important}.fm-searchbar input,.fm-searchbar select,.fm-filter select{font-size:16px!important;line-height:1.35!important}.fm-btn{font-size:16px!important;line-height:1.25!important;white-space:normal!important}.fm-tabs{gap:8px!important}.fm-tab{font-size:14px!important;line-height:1.2!important}.fm-filters{grid-template-columns:1fr!important}.fm-results-head h2{font-size:26px!important;line-height:1.2!important;margin:0!important}.fm-card{padding:18px!important;border-radius:16px!important}.fm-card h3{font-size:22px!important;line-height:1.25!important}.fm-meta{font-size:15px!important;line-height:1.45!important}.fm-badge{font-size:13px!important;line-height:1.25!important;padding:6px 10px!important}.fm-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.fm-linkbtn{font-size:15px!important;line-height:1.2!important;min-height:48px!important;padding:10px 12px!important;text-align:center!important}.fm-cta{padding:24px!important;gap:16px!important}.fm-cta h2{font-size:28px!important;line-height:1.2!important}.fm-cta p{font-size:16px!important;line-height:1.5!important}.fm-faq h2{font-size:34px!important;line-height:1.15!important}.fm-faq summary{font-size:18px!important;line-height:1.35!important;padding-right:8px!important}.fm-faq details p{font-size:15px!important;line-height:1.55!important}.fm-request{padding:22px!important}.fm-request h2{font-size:30px!important;line-height:1.15!important}.fm-form-grid{grid-template-columns:1fr!important}.fm-full{grid-column:auto!important}.fm-form-grid label{font-size:15px!important;line-height:1.35!important}.fm-form-grid input,.fm-form-grid textarea{font-size:16px!important;line-height:1.4!important;padding:12px!important}}

/* Mobile hardening: isolate Finder typography from legacy/global theme rules */
.fm-finder{
  font-size:16px!important;
  line-height:1.5!important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.fm-finder *{line-height:normal}
.fm-finder h1,.fm-finder h2,.fm-finder h3,
.fm-finder p,.fm-finder summary,.fm-finder label,
.fm-finder input,.fm-finder select,.fm-finder textarea,
.fm-finder button,.fm-finder a,.fm-finder span{
  position:static;
  letter-spacing:normal;
}
.fm-finder h1{line-height:1.08!important}
.fm-finder h2{line-height:1.2!important}
.fm-finder h3{line-height:1.28!important}
.fm-finder p,.fm-finder summary,.fm-finder label,
.fm-finder input,.fm-finder select,.fm-finder textarea,
.fm-finder button,.fm-finder a,.fm-finder span{line-height:1.45!important}
.fm-card{height:auto!important;min-height:0!important;overflow:visible!important}
.fm-card h3{display:block!important;margin:0 0 10px!important}
.fm-meta{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
.fm-meta span{display:block!important;margin:0!important}
.fm-badge{margin-top:12px!important}
.fm-card-actions{margin-top:16px!important}
.fm-cta{height:auto!important;min-height:0!important}
.fm-cta h2{display:block!important;margin:0 0 8px!important}
.fm-cta p{display:block!important;margin:0!important}
.fm-faq h2,.fm-request h2{margin:0 0 18px!important}
.fm-faq details{height:auto!important;min-height:0!important}
.fm-faq summary{display:block!important;min-height:0!important}
.fm-form-grid label{height:auto!important;min-height:0!important}
.fm-form-grid input,.fm-form-grid textarea{width:100%!important;min-width:0!important}
.fm-privacy span{display:inline!important}

@media(max-width:620px){
  .fm-hero h1{font-size:36px!important;line-height:1.12!important;margin:12px 0 16px!important}
  .fm-hero p{font-size:16px!important;line-height:1.55!important;margin:0 0 22px!important}
  .fm-kicker{font-size:13px!important;line-height:1.4!important}
  .fm-searchbar{padding:10px!important;border-radius:18px!important}
  .fm-searchbar input,.fm-searchbar select,.fm-filter select{font-size:16px!important;line-height:1.35!important}
  .fm-btn{font-size:16px!important;line-height:1.25!important;white-space:normal!important}
  .fm-tabs{gap:8px!important}
  .fm-tab{font-size:14px!important;line-height:1.2!important}
  .fm-filters{grid-template-columns:1fr!important}
  .fm-results-head h2{font-size:26px!important;line-height:1.2!important;margin:0!important}
  .fm-card{padding:18px!important;border-radius:16px!important}
  .fm-card h3{font-size:22px!important;line-height:1.25!important}
  .fm-meta{font-size:15px!important;line-height:1.45!important}
  .fm-badge{font-size:13px!important;line-height:1.25!important;padding:6px 10px!important}
  .fm-card-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
  .fm-linkbtn{font-size:15px!important;line-height:1.2!important;min-height:48px!important;padding:10px 12px!important;text-align:center!important}
  .fm-cta{padding:24px!important;gap:16px!important}
  .fm-cta h2{font-size:28px!important;line-height:1.2!important}
  .fm-cta p{font-size:16px!important;line-height:1.5!important}
  .fm-faq h2{font-size:34px!important;line-height:1.15!important}
  .fm-faq summary{font-size:18px!important;line-height:1.35!important;padding-right:8px!important}
  .fm-faq details p{font-size:15px!important;line-height:1.55!important}
  .fm-request{padding:22px!important}
  .fm-request h2{font-size:30px!important;line-height:1.15!important}
  .fm-form-grid label{font-size:15px!important;line-height:1.35!important}
  .fm-form-grid input,.fm-form-grid textarea{font-size:16px!important;line-height:1.4!important;padding:12px!important}
}
