/* Go Franklin Iowa — V16: editorial-quality identity and compact city guide. */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
:root{--gf16-navy:#0a3048;--gf16-green:#155c4b;--gf16-gold:#d8a849;--gf16-line:#d9e5e8;--gf16-muted:#536978;--gf16-bg:#f7faf9}
/* A single consistent wordmark, aligned to the existing landscape/sunrise emblem. */
.gf6-header .gf6-wordmark{align-items:flex-start!important; margin-top:0!important; gap:0!important; font-family:'Plus Jakarta Sans',system-ui,sans-serif!important}
.gf6-header .gf6-wordmark strong{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-weight:800!important;display:flex!important;gap:.22em!important;letter-spacing:-.055em!important;font-size:clamp(24px,2.45vw,38px)!important;line-height:1.12!important;white-space:nowrap!important;text-transform:none!important}
.gf6-header .gf6-wordmark strong .gf15-brand-go{color:#17664f!important;font-family:inherit!important;font-weight:800!important;font-style:normal!important;letter-spacing:-.06em!important;text-shadow:none!important}
.gf6-header .gf6-wordmark strong .gf15-brand-franklin{color:var(--gf16-navy)!important;font-family:inherit!important;font-weight:800!important;letter-spacing:-.055em!important}
.gf6-header .gf6-wordmark .gf6-iowa{color:var(--gf16-green)!important;font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:.46em!important;font-size:13px!important;margin:3px 0 2px!important;gap:10px!important;width:100%;justify-content:center}
.gf6-header .gf6-wordmark .gf6-iowa span{background:var(--gf16-gold)!important;height:2px!important;width:clamp(24px,4vw,76px)!important}
.gf6-header .gf6-wordmark small{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-size:clamp(7px,.57vw,9px)!important;letter-spacing:.08em!important;color:#526b77!important;line-height:1.3!important;text-align:left}
.gf6-brand img{filter:none!important}
/* The homepage retains rich navy, spruce and gold, without gold script or discordant body text. */
.gf7-hero .gf7-hero-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:-.07em!important;line-height:1.08!important;font-size:clamp(46px,4.9vw,78px)!important;gap:.18em!important}
.gf7-hero .gf7-hero-title .gf11-go-accent{font-family:inherit!important;font-style:normal!important;letter-spacing:-.065em!important;font-weight:800!important;color:#f3c96f!important;text-shadow:none!important}
.gf7-hero .gf7-hero-title em{font-family:inherit!important;font-style:normal!important;font-weight:800!important;letter-spacing:-.07em!important;color:#fff!important;text-shadow:none!important}
.gf7-hero .gf7-hero-state{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-weight:800!important;color:#d4e8dd!important;letter-spacing:.45em!important;border-color:#e2b45e!important}
.gf7-hero .gf6-hero-copy{min-width:0!important}
/* Actual documentary photograph: center it; don't recolor the architecture or add synthetic skies. */
.gf7-hero-media{background:#d5e3e4!important;position:relative;overflow:hidden!important}
.gf7-hero-media img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 44%!important;filter:none!important;transform:none!important}
.gf7-hero-media::before,.gf7-hero-media::after{content:none!important}
.gf7-hero-media .gf7-photo-fallback{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important}
/* City guide — one searchable index replaces enormous stacks of business cards. */
.gf16-finder{background:white;border:1px solid var(--gf16-line);border-radius:17px;box-shadow:0 9px 32px #092b430c;margin:25px 0 22px;padding:clamp(17px,2vw,29px);scroll-margin-top:110px;color:var(--gf16-navy)}
.gf16-finder-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:16px}
.gf16-eyebrow{font:800 10px/1.4 'Plus Jakarta Sans',system-ui,sans-serif!important;letter-spacing:.15em!important;color:var(--gf16-green)!important;margin:0 0 4px!important}
.gf16-finder h2{font:800 clamp(22px,2vw,31px)/1.2 'Plus Jakarta Sans',system-ui,sans-serif!important;color:var(--gf16-navy)!important;letter-spacing:-.045em!important;margin:0 0 8px!important}
.gf16-finder-head p:not(.gf16-eyebrow){color:var(--gf16-muted)!important;font:500 13px/1.6 'Plus Jakarta Sans',system-ui,sans-serif!important;max-width:600px;margin:0!important}
.gf16-view-all{display:inline-flex;align-items:center;white-space:nowrap;font:700 12px/1.4 'Plus Jakarta Sans',system-ui,sans-serif!important;color:var(--gf16-green)!important;padding-top:20px}
.gf16-searchbar{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:6px 12px;margin:4px 0 16px;align-items:center}
.gf16-searchbar>label{font:700 11px 'Plus Jakarta Sans',system-ui,sans-serif!important;color:#385369!important}
.gf16-searchbar>label:first-child{grid-column:1}.gf16-searchbar .gf16-select-label{grid-column:2;grid-row:1}
.gf16-search-wrap{display:flex;align-items:center;gap:10px;background:#f7fafb;border:1px solid #cbdce0;border-radius:9px;padding:0 13px;min-height:44px}
.gf16-search-wrap:focus-within{border-color:#228067;box-shadow:0 0 0 3px #24806725}
.gf16-search-wrap span{font-size:23px;color:var(--gf16-green);line-height:1}
.gf16-search-wrap input{flex:1;width:100%;border:0;outline:0;background:transparent;color:var(--gf16-navy);font:600 13px 'Plus Jakarta Sans',system-ui,sans-serif;padding:11px 0;min-width:0}
.gf16-searchbar select{width:100%;height:44px;background:#f7fafb;border:1px solid #cbdce0;border-radius:9px;color:#173e51;padding:0 12px;font:600 12px 'Plus Jakarta Sans',system-ui,sans-serif}
.gf16-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.gf16-chip{background:#eff5f4;border:1px solid #dde9e7;color:#205044;padding:8px 12px;border-radius:99px;cursor:pointer;display:flex;align-items:center;gap:8px;font:700 12px 'Plus Jakarta Sans',system-ui,sans-serif;transition:background .16s,border-color .16s}
.gf16-chip span{font:800 10px 'Plus Jakarta Sans',system-ui,sans-serif;color:inherit;opacity:.76;background:#ffffffb7;padding:2px 6px;border-radius:10px}
.gf16-chip.is-active,.gf16-chip[aria-pressed='true']{background:#0f5545;color:#fff;border-color:#0f5545}
.gf16-chip:hover{border-color:#279173}
.gf16-chip:focus-visible,.gf16-show-more:focus-visible,.gf16-result-link:focus-visible,.gf16-view-all:focus-visible{outline:3px solid #e6ab42;outline-offset:3px}
.gf16-results-summary{font:600 11px/1.5 'Plus Jakarta Sans',system-ui,sans-serif;color:#5c7180!important;margin:0 0 6px!important}
.gf16-rows{border-top:1px solid #e6edef}
.gf16-row{display:grid;grid-template-columns:52px minmax(0,1fr) 72px;gap:12px;align-items:center;min-height:77px;padding:9px 2px;border-bottom:1px solid #e7eef0}
.gf16-row[hidden],.gf16-show-more[hidden],.gf16-no-results[hidden]{display:none!important}
.gf16-thumb{width:52px;height:52px;background:#eff5f5;border:1px solid #e5eded;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.gf16-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gf16-initial{font:800 21px 'Plus Jakarta Sans',system-ui,sans-serif;color:#27644f}
.gf16-result-meta{color:#27765f;font:800 10px/1.3 'Plus Jakarta Sans',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.04em;margin-bottom:3px}
.gf16-result-content{min-width:0}.gf16-result-content h3{font:800 14px/1.3 'Plus Jakarta Sans',system-ui,sans-serif!important;margin:0 0 2px!important;color:var(--gf16-navy)!important;letter-spacing:-.02em!important}
.gf16-result-content p{font:500 11px/1.4 'Plus Jakarta Sans',system-ui,sans-serif!important;color:#617788!important;margin:0!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gf16-result-link{font:800 12px 'Plus Jakarta Sans',system-ui,sans-serif!important;white-space:nowrap;color:var(--gf16-green)!important;text-align:right}
.gf16-controls{display:flex;justify-content:center;align-items:center;flex-direction:column;gap:8px;padding:15px 0 0}
.gf16-show-more{border:1px solid #b7d3c8;color:#155e48;background:#eff7f3;padding:10px 20px;border-radius:8px;font:800 12px 'Plus Jakarta Sans',system-ui,sans-serif;cursor:pointer}
.gf16-show-more:hover{background:#deede7}
.gf16-no-results{font:600 13px 'Plus Jakarta Sans',system-ui,sans-serif;color:#5b7180!important;margin:8px!important}
.gf16-hero-jump{display:inline-flex!important;align-items:center;margin-top:8px;color:#0b5747!important;font:800 12px 'Plus Jakarta Sans',system-ui,sans-serif;text-decoration:underline;text-underline-offset:4px}
/* Tighten remaining summary tiles, retain substantive city history, demographics and links. */
body:has(.gf16-finder) .info-tiles{gap:10px!important;margin:17px 0!important}
body:has(.gf16-finder) .info-tile{padding:15px!important}
body:has(.gf16-finder) .info-tile p{font-size:12px!important;line-height:1.5!important}
body:has(.gf16-finder) .gf13-city-visit,body:has(.gf16-finder) .city-history{margin-block:14px!important}
body:has(.gf16-finder) .gf13-city-visit p,body:has(.gf16-finder) .city-history p{line-height:1.55!important}
@media(max-width:1100px){.gf6-header .gf6-wordmark strong{font-size:clamp(21px,3vw,32px)!important}}
@media(max-width:760px){
 .gf6-header .gf6-wordmark strong{font-size:clamp(20px,5.3vw,26px)!important;gap:.14em!important}
 .gf6-header .gf6-wordmark .gf6-iowa{font-size:10px!important;letter-spacing:.27em!important}
 .gf6-header .gf6-wordmark small{font-size:6px!important;letter-spacing:0!important}
 .gf7-hero .gf7-hero-title{font-size:clamp(41px,9.4vw,60px)!important}
 .gf7-hero-media{height:275px!important;min-height:0!important;aspect-ratio:auto!important}
 .gf7-hero-media img{object-position:50% 34%!important}
 .gf16-finder{margin:18px 0!important;padding:16px!important;border-radius:12px!important;scroll-margin-top:88px}
 .gf16-finder-head{display:block}
 .gf16-view-all{padding:8px 0 3px}
 .gf16-searchbar{grid-template-columns:1fr;gap:6px}
 .gf16-searchbar>label:first-child,.gf16-searchbar .gf16-select-label{grid-column:1;grid-row:auto}
 .gf16-searchbar .gf16-select-label{margin-top:7px}
 .gf16-chips{gap:6px}
 .gf16-chip{padding:7px 9px;font-size:11px}
 .gf16-row{grid-template-columns:44px minmax(0,1fr) 50px;gap:9px;min-height:70px}
 .gf16-thumb{width:44px;height:44px}
 .gf16-result-content h3{font-size:12px!important}
 .gf16-result-meta{font-size:9px}
 .gf16-result-content p{font-size:10px!important}
 .gf16-result-link{font-size:11px!important}
}
@media (prefers-reduced-motion:reduce){.gf16-chip{transition:none}}

/* A short, usable fallback when JavaScript is unavailable. */
.gf16-finder:not(.gf16-ready) .gf16-row:nth-child(n+10){display:none!important}
/* Consistent identity in the footer and on public PHP forms. */
.gf6-footer-brand span,.gf6-footer-brand span small{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important;font-weight:800!important;letter-spacing:-.035em!important}
.gf6-footer-brand span small{letter-spacing:.36em!important}
