/* St. Johns County photography and geographic context. */
:root{--ink:#173e47;--text:#2e4345;--green:#24685f;--paper:#fbfaf6;--gold:#c99b62;--pale:#edf3ef;--line:#d7e0dc}header{padding:18px max(3.2vw,24px);background:rgba(251,250,246,.98)}.brand>b{color:#946536}.brand span{font-size:11px}.brand small{font-size:10px}nav{gap:15px}nav a{font-size:14px}h2{line-height:1.12}.eyebrow{font-size:12px;letter-spacing:1.8px}.small,.photo-context{font-size:13px;line-height:1.6}.button,.textlink{font-size:15px}.section-head>p{font-size:16px}.county-hero{position:relative;isolation:isolate;max-width:none;min-height:635px;padding:78px max(calc((100vw - 1220px)/2),54px) 88px;display:block;overflow:hidden;background:#173e47;color:#fff}.hero-photograph{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 65%}.hero-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,29,33,.88) 0%,rgba(12,31,35,.73) 36%,rgba(14,32,36,.13) 78%),linear-gradient(0deg,rgba(8,25,29,.4),transparent 55%)}.county-hero .hero-main{max-width:740px}.county-hero h1{font-size:clamp(48px,5.7vw,82px);letter-spacing:-.04em;text-shadow:0 2px 18px #061c2740;line-height:1.07;margin-bottom:24px}.county-hero h1 em{color:#f0d7aa}.county-hero .eyebrow{color:#fff;font-size:13px}.county-hero .eyebrow span{color:#d5dfdc;font-size:11px;letter-spacing:1.4px}.county-hero .lede{font-size:20px;color:#eff3ee;max-width:560px}.county-hero .actions{gap:25px}.county-hero .button{background:#f3ddb7;color:#183c42;border-color:#f3ddb7;border-radius:4px;padding:14px 22px}.county-hero .textlink{color:#fff}.county-hero .dateline{color:#e3eae7;font-size:12px;margin-top:33px}.county-hero .dot{background:#efce93}.hero-caption{position:absolute;bottom:24px;right:max(calc((100vw - 1220px)/2),40px);font-size:12px;text-align:right;line-height:1.7;color:#fff}.hero-caption a{color:#fff}.record-at-a-glance{max-width:1330px;margin:auto;display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding:42px 54px;align-items:center}.record-at-a-glance .eyebrow{margin-bottom:12px}.record-at-a-glance h2{font-size:31px;margin:0}.record-at-a-glance .hero-aside{display:grid;grid-template-columns:140px 1fr;gap:6px 22px;border:0;border-left:1px solid #c8d3cd;padding:0 0 0 30px;background:none}.record-at-a-glance .hero-aside:before,.record-at-a-glance .hero-aside>.eyebrow,.record-at-a-glance .aside-rule{display:none}.record-at-a-glance .big-number{grid-column:1;grid-row:1/4;margin:0;font-size:62px}.record-at-a-glance .big-number span{font-size:14px;max-width:110px}.record-at-a-glance .hero-aside p{grid-column:2;margin:0;font-size:14px}.record-at-a-glance .pair{grid-column:2;margin:6px 0;font-size:14px}.record-at-a-glance .hero-aside>a,.record-at-a-glance .hero-aside>.refs{grid-column:2;font-size:12px;margin:0}.band{background:#e8f0ed;color:var(--ink);padding-top:38px;padding-bottom:38px;gap:70px}.band .eyebrow{color:var(--green)}.band h2{font-size:34px}.band p{font-size:16px;color:#395853}.band .small{font-size:14px}.band a{color:var(--ink)}.pill{font-size:10px}.county-places{max-width:1330px;padding:70px 54px 30px;margin:auto}.county-places .section-head{margin-bottom:35px;align-items:end}.county-places h2{font-size:48px;margin:0}.county-places .section-head>p{width:440px;max-width:100%;padding:0;margin:0}.place-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.place-grid figure{margin:0;background:transparent}.place-grid img{width:100%;aspect-ratio:1.35;height:auto;object-fit:cover;display:block;border-radius:5px}.place-grid figure:nth-child(2) img{object-position:50% 40%}.place-grid figure:nth-child(3) img{object-position:50% 25%}.place-grid figcaption{padding:19px 0 10px}.place-grid figcaption>span{font-size:11px;letter-spacing:1.6px;font-weight:700;color:#557367}.place-grid h3{font:28px/1.15 var(--serif);letter-spacing:-.4px;margin:8px 0}.place-grid p{font-size:14px;margin-bottom:5px;color:#536b64}.place-grid a{font-size:12px}.photo-context{color:#58716b;margin-top:18px}.county-geography{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center;background:#eaf2f4;margin-top:30px;margin-bottom:30px;border:0}.geography-copy h2{font-size:45px}.geography-copy>p{font-size:16px}.geography-copy>label{display:block;font-size:14px;font-weight:600;margin:28px 0 8px}.geography-copy select{font-size:16px;max-width:360px}.geography-copy #district-note{font-size:14px;margin:10px 0 22px}.geography-links{display:flex;flex-direction:column;gap:12px;font-size:15px}.geography-copy .geography-limit{font-size:13px;color:#526a6e;margin:26px 0 0}.district-map{margin:0;min-width:0}.district-map svg{width:100%;height:auto;display:block;max-height:530px}.district-map figcaption{font-size:12px;color:#49656b;margin-top:18px}.district-shape{transition:opacity .18s;stroke:#fff;stroke-width:1.7;stroke-linejoin:round}.district-shape.is-muted{opacity:.23}.district-shape.is-active{stroke:#143f4c;stroke-width:3}.district-label{font:bold 19px system-ui;fill:#fff;paint-order:stroke;stroke:#173e4760;stroke-width:2px;text-anchor:middle;dominant-baseline:middle}.district-label.is-muted{opacity:.25}.county-service-feature{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:center;margin:16px 0 45px}.county-service-feature figure{margin:0}.county-service-feature img{display:block;width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;object-position:50% 53%;border-radius:5px}.county-service-feature figcaption{font-size:12px;margin-top:10px;color:#546d66}.county-service-feature h3{font:36px/1.16 var(--serif);letter-spacing:-.7px}.county-service-feature .eyebrow{margin-bottom:16px}.county-service-feature p{font-size:16px}.county-service-feature .photo-context{font-size:13px}.community-main{padding-top:0}.community-county-banner{position:relative;margin:0 -54px 42px;height:285px;background:#386e83;overflow:hidden}.community-county-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 65%}.community-county-banner figcaption{position:absolute;bottom:0;right:0;left:0;background:linear-gradient(transparent,#143b4bbd);text-align:right;padding:35px 25px 13px;color:#fff;font-size:12px}.community-county-banner a{color:#fff}.community-intro .eyebrow{font-size:12px}.community-intro h1{font-size:51px}.community-composer{border-radius:6px;border-color:#c8d7cf;box-shadow:0 7px 25px #143d3d06}.community-empty{background:#eaf2ef;border:0;border-radius:5px}.community-guidelines{background:#f1f4ee;padding:36px;margin-left:-20px;margin-right:-20px}.community-main .community-context{font-size:14px}.community-main .optional{font-size:13px}.footer-credit{font-size:13px}.photo-sources{max-width:1160px}.photo-sources>p{max-width:850px}.photo-source{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;padding:40px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.photo-source img{width:100%;height:auto;object-fit:cover;align-self:start;border-radius:4px}.photo-source h2{font-size:31px}.photo-source p{font-size:15px}.photo-source .photo-context{font-size:13px}#map-source{padding:40px 0}.source-row p{font-size:13px}.source-row h3{font-size:15px}.case-card{border-radius:6px}.case-card p{font-size:14px}.case-id,.status{font-size:11px}.case-card .card-foot{font-size:12px}.stats span{font-size:12px}.toolbar span{font-size:13px}.toolbar input,.toolbar select{font-size:16px}.budget-options li,.forecast>p,.fairness p,.wide-detail p{font-size:16px}.bar-row,.bar-row b{font-size:13px}.route-tabs button,.chips button{font-size:14px}.section-head .eyebrow{font-size:12px}
@media(max-width:1250px){nav{gap:12px}nav a{font-size:13px}.brand span{font-size:10px}.county-hero h1{font-size:70px}.hero-caption{right:30px}.record-at-a-glance{gap:35px}.community-intro h1{font-size:46px}}
@media(max-width:1050px){.county-hero{padding:65px 35px 92px;min-height:610px}.county-hero h1{font-size:63px}.county-hero .hero-main{max-width:620px}.record-at-a-glance{padding:35px;grid-template-columns:1fr;gap:25px}.record-at-a-glance .hero-aside{grid-template-columns:160px 1fr;border-left:0;padding:20px 0 0;border-top:1px solid var(--line)}.record-at-a-glance h2 br{display:none}.county-places{padding:55px 35px 25px}.place-grid{gap:18px}.place-grid h3{font-size:25px}.county-geography{gap:30px}.community-county-banner{margin-left:-30px;margin-right:-30px}.community-intro{gap:30px}}
@media(max-width:800px){header{padding:15px 24px}.brand span{font-size:10px}.brand>b{font-size:33px}.county-hero{min-height:675px;padding:51px 24px 85px}.county-hero .hero-main{max-width:550px}.county-hero h1,.hero.county-hero h1{font-size:clamp(45px,9.5vw,65px);line-height:1.1}.county-hero .lede{font-size:18px;max-width:470px}.county-hero .eyebrow{font-size:11px;letter-spacing:1.7px}.county-hero .eyebrow span{font-size:10px}.hero-shade{background:linear-gradient(90deg,#0a2328d9,#0c232786),linear-gradient(0deg,#102b3690,transparent)}.hero-photograph{object-position:62% 60%}.county-hero .dateline{font-size:11px;margin-top:30px}.hero-caption{bottom:17px;right:24px;font-size:11px;max-width:280px}.record-at-a-glance{padding:30px 24px;gap:22px}.record-at-a-glance h2{font-size:28px}.record-at-a-glance .hero-aside{grid-template-columns:100px 1fr;gap:8px 15px}.record-at-a-glance .big-number{font-size:55px}.record-at-a-glance .hero-aside p,.record-at-a-glance .pair{font-size:14px}.record-at-a-glance .pair{display:block}.record-at-a-glance .pair b{display:block;margin-bottom:7px}.record-at-a-glance .hero-aside>.refs{grid-column:1/-1;margin-top:10px}.band{gap:20px;padding:35px 24px}.band h2{font-size:31px}.county-places{padding:45px 24px 25px}.county-places .section-head{display:block}.county-places h2{font-size:39px;margin-bottom:22px}.place-grid{grid-template-columns:1fr;gap:20px}.place-grid img{aspect-ratio:1.65}.place-grid h3{font-size:28px}.place-grid figcaption{padding-top:15px}.photo-context{font-size:13px}.county-geography{grid-template-columns:1fr;padding:40px 24px;gap:25px;margin:0}.geography-copy h2{font-size:39px}.geography-copy select{max-width:none}.district-map svg{max-height:490px}.county-service-feature{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.county-service-feature h3{font-size:32px}.county-service-feature .eyebrow{margin-bottom:12px}.community-main{padding-top:0}.community-county-banner{margin:0 -24px 30px;height:205px}.community-intro h1{font-size:39px}.community-county-banner figcaption{font-size:11px}.community-guidelines{margin-left:-24px;margin-right:-24px;padding:30px 24px}.photo-source{grid-template-columns:1fr;gap:25px}.photo-source h2{font-size:29px}.photo-sources h1{font-size:44px}.footer-credit{display:block;margin-top:20px}.stats span{font-size:11px}.case-grid{grid-template-columns:1fr 1fr}.section-head>p{font-size:16px}.county-service-feature img{aspect-ratio:1.55}.photo-source{scroll-margin-top:100px}}
@media(max-width:450px){.case-grid{grid-template-columns:1fr}.county-hero .actions{align-items:flex-start;flex-direction:column;gap:18px}.county-hero .dateline>span:last-child{margin-left:0;border:0;padding-left:0;flex-basis:100%}.county-hero .dateline{margin-top:22px}.county-hero{min-height:680px}.county-hero .hero-main{max-width:100%}.county-hero h1,.hero.county-hero h1{font-size:45px}.county-hero .eyebrow span{letter-spacing:1px}.record-at-a-glance .big-number span{font-size:13px}.record-at-a-glance .big-number{font-size:48px}.community-intro h1{font-size:35px}.county-geography .district-map figcaption{font-size:12px}.community-two{grid-template-columns:1fr}.stats b{font-size:31px}.stats span{font-size:10px}.stats button{padding-right:5px;padding-left:5px}.community-tabs button{font-size:13px!important;padding:9px!important}}
@media(prefers-reduced-motion:reduce){.district-shape{transition:none}}
@media print{.county-hero{color:#000;min-height:0;padding:20px}.hero-photograph,.hero-shade,.hero-caption{display:none}.county-hero h1,.county-hero h1 em,.county-hero .lede{color:#000}.county-places,.county-geography{break-inside:avoid}.community-county-banner{height:180px}}

.county-service-feature .workers-photo img{aspect-ratio:auto;object-fit:contain}.county-service-feature .photo-disclaimer{font-size:12px;color:#536b64;line-height:1.6;margin:12px 0 0}.county-service-feature .station-inset{max-width:340px;margin-top:25px}.county-service-feature .station-inset img{aspect-ratio:1.85}.county-service-feature .station-inset figcaption{font-size:12px}

@media(min-width:1251px){.county-hero h1{font-size:72px;max-width:780px}.county-hero .hero-main{max-width:810px}}
