:root{--fl-ink:#202e2a;--fl-muted:#5d6861;--fl-olive:#536345;--fl-paper:#faf9f5;--fl-line:#dcded5;--fl-serif:Georgia,'Times New Roman',serif}
body{color:var(--fl-ink);background:var(--fl-paper)}
.fl-shell{width:min(1200px,100% - 80px);margin-inline:auto}
.fl-header,.fl-page,.fl-footer{font-family:Arial,Helvetica,sans-serif}
.fl-header *,.fl-page *,.fl-footer *{box-sizing:border-box}
.fl-header a,.fl-page a,.fl-footer a{color:inherit;text-decoration:none}
.fl-header a:hover,.fl-page a:hover,.fl-footer a:hover{text-decoration:underline;text-underline-offset:5px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a26a29;outline-offset:5px}
.fl-skip{position:absolute;left:20px;top:-100px;z-index:1000;background:white;color:#202e2a;padding:12px}.fl-skip:focus{top:10px}
.fl-header{background:var(--fl-paper);border-bottom:1px solid var(--fl-line)}
.fl-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px}
.fl-brand{display:flex;flex-direction:column;flex-shrink:0}.fl-brand>span{font-size:26px;font-weight:700;letter-spacing:-1px}.fl-brand-dot{color:var(--fl-olive)}.fl-brand small{font-size:10px;letter-spacing:1px;margin-top:5px;color:var(--fl-muted)}
.fl-nav{display:flex;align-items:center;gap:27px;font-size:14px}.fl-nav a{padding:12px 0}.fl-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.fl-nav .fl-contact-link{border:1px solid var(--fl-ink);padding:12px 17px}
.fl-menu-toggle{border:1px solid var(--fl-line);background:transparent;padding:10px 13px;font:inherit;color:var(--fl-ink)}
.fl-page{font-size:16px;line-height:1.7}.fl-page h1,.fl-page h2,.fl-page h3{color:var(--fl-ink);margin-top:0}.fl-page p{font-size:16px;line-height:1.7}.fl-page h2,.fl-footer h2{font-family:var(--fl-serif);font-weight:400;font-size:clamp(29px,3vw,42px);line-height:1.2;letter-spacing:-1px}.fl-page h3{font-size:22px;line-height:1.3;font-weight:400}
.fl-page .fl-eyebrow,.fl-footer .fl-eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;line-height:1.6;color:var(--fl-olive);margin:0 0 21px}
.fl-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;padding-block:85px 65px}
.fl-hero h1{font:400 clamp(42px,4.5vw,65px)/1.06 var(--fl-serif);letter-spacing:-2px;margin-bottom:27px}.fl-hero h1 em{color:var(--fl-olive);font-weight:400}.fl-hero .fl-lead{font-size:18px;max-width:510px;color:var(--fl-muted);line-height:1.6}.fl-hero .fl-hero-note{font-size:11px;color:var(--fl-muted);margin-top:35px;letter-spacing:.4px}
.fl-hero-art{margin:0;padding:25px 12px 20px;position:relative;border-bottom:1px solid var(--fl-line)}.fl-hero-art img{display:block;width:100%;height:auto}.fl-hero-art figcaption{font-size:9px;letter-spacing:1.7px;text-align:right;color:var(--fl-muted);margin-top:20px}
.fl-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.fl-button{display:inline-flex;gap:28px;align-items:center;background:var(--fl-ink);color:#fff!important;padding:14px 20px;font-size:13px;line-height:1.5}.fl-button:hover{background:var(--fl-olive)}.fl-text-link{display:inline-flex;gap:15px;align-items:center;font-size:13px;border-bottom:1px solid var(--fl-ink);padding-bottom:4px}
.fl-disciplinary{border-block:1px solid var(--fl-line)}.fl-disciplinary .fl-shell{display:flex;justify-content:space-between;gap:20px;padding-block:23px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}
.fl-section{padding-block:75px}.fl-section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:38px}.fl-section-heading h2{margin-bottom:0}.fl-section-heading .fl-text-link{flex-shrink:0}
.fl-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.fl-project-card{min-width:0}.fl-project-image{display:block;background:#e8ece4;overflow:hidden}.fl-project-image img{display:block;width:100%;height:auto;aspect-ratio:1.45;object-fit:cover;transition:transform .25s}.fl-project-image:hover img{transform:scale(1.025)}.fl-project-card .fl-eyebrow{margin:23px 0 12px;font-size:9px}.fl-project-card h3 a{display:block}.fl-project-card h3 span{font-size:17px}.fl-project-card p:last-child{font-size:14px;color:var(--fl-muted)}
.fl-service-band{background:#eff0e8}.fl-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.fl-service-grid article{border-top:1px solid #b6bca9;padding-top:20px}.fl-index{font-size:11px;color:var(--fl-olive);display:block;margin-bottom:20px}.fl-service-grid p{font-size:14px;color:var(--fl-muted)}
.fl-about-teaser{display:grid;grid-template-columns:1fr 2fr;gap:30px}.fl-about-teaser>div{max-width:680px}.fl-about-teaser p:not(.fl-eyebrow){color:var(--fl-muted)}
.fl-footer{background:var(--fl-ink);color:#f5f5ee;padding-block:55px 25px;margin-top:30px}.fl-footer-top{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-bottom:40px}.fl-footer .fl-eyebrow{color:#c0caaa}.fl-footer h2{font-size:35px;max-width:500px;margin:0}.fl-button-light{background:#f2f2e9;color:var(--fl-ink)!important}.fl-button-light:hover{background:#dce3ce}.fl-footer-bottom{border-top:1px solid #53615b;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:24px;font-size:11px}.fl-footer-bottom>span{margin-right:auto}
.fl-page-intro{padding-block:65px 40px;max-width:850px}.fl-page-intro h1{font:400 clamp(38px,4vw,59px)/1.1 var(--fl-serif);letter-spacing:-1.5px}.fl-page-intro p:not(.fl-eyebrow){max-width:690px;color:var(--fl-muted);font-size:18px}.fl-directory-section{padding-bottom:50px}.fl-directory-section h2{font-size:30px;border-top:1px solid var(--fl-line);padding-top:28px}.fl-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px}.fl-directory-card{border-bottom:1px solid var(--fl-line);padding:24px 0}.fl-directory-card h3{font-size:20px;margin-bottom:8px}.fl-directory-card p{color:var(--fl-muted);font-size:14px;margin:0}.fl-directory-card a{display:block}
.fl-contact-grid,.fl-bio-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;padding-bottom:70px}.fl-contact-panel{background:#eff0e8;padding:32px;overflow-wrap:anywhere}.fl-contact-panel h2{font-size:27px}.fl-contact-panel dt{font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:22px;color:var(--fl-muted)}.fl-contact-panel dd{margin-top:6px}.fl-contact-panel a{text-decoration:underline}.fl-bio-grid p{color:var(--fl-muted)}
.fl-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:center}.fl-logo-grid img{width:100%;height:80px;object-fit:contain;padding:10px;background:#fff}.fl-map{height:380px;width:100%;margin-bottom:40px}.fl-page .fl-client-note{font-size:13px;color:var(--fl-muted)}
/* Constrain legacy content images without clipping interactive maps or charts. */
#main-content>.container img{max-width:100%;height:auto}#main-content>.container .card{max-width:100%}.fl-legacy-table{max-width:100%;overflow-x:auto}.fl-legacy-table table{margin-bottom:0}
.fl-dbsm .text-justify{text-align:left}
@media(max-width:1050px){.fl-nav{gap:17px}.fl-brand small{letter-spacing:0}.fl-shell{width:calc(100% - 48px)}.fl-hero{gap:25px}.fl-hero h1{font-size:49px}}
@media(max-width:800px){.fl-header-inner{flex-wrap:wrap;gap:0;min-height:85px;padding-block:18px}.fl-menu-toggle:not([hidden]){display:block}.fl-nav{width:100%;flex-direction:column;align-items:stretch;gap:0;margin-top:15px}.fl-nav a{padding:13px 5px;border-top:1px solid var(--fl-line)}.fl-nav .fl-contact-link{margin-top:10px;text-align:center}.fl-nav[hidden]{display:none}.fl-hero{grid-template-columns:1fr;padding-block:50px 35px}.fl-hero h1{font-size:clamp(40px,7vw,58px)}.fl-hero-art{max-width:480px;justify-self:center;width:100%;padding:10px 20px}.fl-project-grid{grid-template-columns:1fr;gap:35px}.fl-project-image img{max-height:330px}.fl-service-grid{grid-template-columns:1fr;gap:22px}.fl-service-grid .fl-index{margin-bottom:10px}.fl-section{padding-block:45px}.fl-section-heading{align-items:start;flex-direction:column}.fl-disciplinary .fl-shell{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fl-about-teaser,.fl-contact-grid,.fl-bio-grid{grid-template-columns:1fr;gap:25px}.fl-footer-top{align-items:start;flex-direction:column}.fl-footer-bottom{align-items:start;gap:16px}.fl-footer-bottom>span{width:100%}.fl-directory-grid{grid-template-columns:1fr}.fl-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fl-page-intro{padding-top:45px}.fl-map{height:300px}.main-title{font-size:34px}.fl-hero .fl-eyebrow{max-width:280px}}
@media(prefers-reduced-motion:reduce){.fl-project-image img{transition:none}}

/* Featured case studies */
.fl-case .fl-page-intro{max-width:960px}.fl-case .fl-page-intro>.fl-text-link{margin-bottom:30px}.fl-case-meta{display:grid;grid-template-columns:1fr 2fr;gap:30px;border-block:1px solid var(--fl-line);padding:24px 0;margin-bottom:35px}.fl-case-meta dt{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--fl-muted);margin-bottom:8px}.fl-case-meta dd{font-size:15px}.fl-case-figure{margin:0 0 55px}.fl-case-figure img{display:block;width:100%;height:auto;max-height:600px;object-fit:contain;background:#edf0e8}.fl-case-figure figcaption{font-size:12px;color:var(--fl-muted);padding-top:12px}.fl-case-story{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid var(--fl-line);padding:38px 0}.fl-case-story p:not(.fl-eyebrow){color:var(--fl-muted);max-width:740px}.fl-case-outputs{padding:35px;background:#eff0e8;margin:15px 0 40px}.fl-project-details{margin-block:20px 55px}.fl-project-details summary{font-size:18px;padding:22px;border:1px solid var(--fl-line);cursor:pointer;color:var(--fl-ink)}.fl-archive-note{font-size:13px;padding:20px 0;color:var(--fl-muted)}.fl-archive{max-width:100%;overflow-x:auto;background:white;padding:20px}.fl-archive>.container{width:100%;padding-inline:15px}.fl-archive img{max-width:100%;height:auto}.fl-archive p{text-align:left}.fl-archive #barchart{overflow-x:auto;max-width:100%}.fl-archive .container{max-width:100%}.fl-archive h1{font-size:32px}.fl-archive .jumbotron h1{font-size:36px}.fl-archive details{margin-top:20px}
@media(max-width:800px){.fl-case-meta,.fl-case-story{grid-template-columns:1fr;gap:15px}.fl-case-outputs{padding:25px 20px}.fl-archive{padding:10px}.fl-case-figure{margin-bottom:35px}}

.fl-grrasp-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px;padding:35px;background:#eff0e8}
.fl-grrasp-comparison figure{margin:0;min-width:0;text-align:center}
.fl-grrasp-comparison img{width:100%;max-width:330px;max-height:none;margin-inline:auto;object-fit:contain}
.fl-grrasp-comparison figcaption{font-size:12px;line-height:1.6;margin-top:8px}
@media(max-width:650px){.fl-grrasp-comparison{grid-template-columns:1fr;padding:20px;gap:28px}}
/* Visual project directory */
.fl-selected-projects{padding:8px 0 65px}.fl-selected-projects h2{font-size:32px}.fl-featured-project .fl-project-image{height:230px;padding:14px;background:#eef0e8;display:flex;align-items:center;justify-content:center}.fl-featured-project .fl-project-image img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}.fl-featured-project .fl-scenario-pair{gap:10px}.fl-featured-project .fl-scenario-pair img{width:calc(50% - 5px);height:auto;max-height:100%}.fl-project-role{border-top:1px solid var(--fl-line);padding-top:15px;margin:18px 0;font-size:12px;line-height:1.6;min-height:70px}.fl-project-role span{display:block;font-size:9px;letter-spacing:1.4px;color:var(--fl-olive);margin-bottom:6px}.fl-featured-project>p:not(.fl-eyebrow){font-size:14px;color:var(--fl-muted);min-height:72px}.fl-archive-heading{padding:35px 0 25px;border-top:1px solid var(--fl-line);scroll-margin-top:25px}.fl-archive-heading p:last-child{color:var(--fl-muted)}.fl-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.fl-directory-card{padding:0 0 24px}.fl-directory-image,.fl-directory-placeholder{height:185px;background:#eef0e8;display:flex!important;align-items:center;justify-content:center;margin-bottom:20px;overflow:hidden;padding:12px}.fl-directory-image img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.fl-directory-image:hover img{transform:scale(1.025)}.fl-directory-placeholder{flex-direction:column;align-items:flex-start;padding:25px;border-left:3px solid var(--fl-olive);color:var(--fl-olive)}.fl-directory-placeholder span{font-size:10px;letter-spacing:1.5px}.fl-directory-placeholder strong{font:400 30px var(--fl-serif);margin-top:16px}.fl-directory-card h3{font-size:19px}.fl-directory-section h2{font-size:26px}
@media(max-width:1000px) and (min-width:801px){.fl-selected-projects .fl-project-grid{gap:20px}.fl-featured-project .fl-project-image{height:190px}.fl-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.fl-selected-projects{padding-bottom:40px}.fl-featured-project .fl-project-image{height:260px}.fl-featured-project>p:not(.fl-eyebrow),.fl-project-role{min-height:0}.fl-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.fl-directory-image,.fl-directory-placeholder{height:170px}}
@media(max-width:550px){.fl-directory-grid{grid-template-columns:1fr}.fl-directory-image,.fl-directory-placeholder{height:220px}.fl-selected-projects h2{font-size:29px}}
@media(prefers-reduced-motion:reduce){.fl-directory-image img{transition:none}}

.fl-services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 50px}.fl-services-grid .fl-directory-card{padding:26px 0 30px;border-top:1px solid var(--fl-line)}.fl-service-icon{display:block;color:var(--fl-olive);margin-bottom:24px}.fl-services-grid h2{font-size:28px;max-width:450px}.fl-services-grid p{max-width:460px}@media(max-width:650px){.fl-services-grid{grid-template-columns:1fr;gap:20px}.fl-services-grid h2{font-size:26px}}

.fl-case-gallery{padding:35px 0}.fl-infrastructure-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.fl-infrastructure-gallery .fl-case-figure{margin:0}.fl-infrastructure-gallery img{height:300px;object-fit:contain;padding:12px}.fl-infrastructure-gallery>figure:only-child{grid-column:1 / -1}@media(max-width:650px){.fl-infrastructure-gallery{grid-template-columns:1fr}.fl-infrastructure-gallery img{height:auto;max-height:400px}}

.fl-river-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-block:25px 40px}.fl-river-gallery .fl-case-figure{margin:0}.fl-river-gallery img{height:300px;object-fit:contain;padding:12px}.fl-case-story ul{padding-left:22px;color:var(--fl-muted);line-height:1.7}.fl-case-story li{margin-bottom:12px}@media(max-width:650px){.fl-river-gallery{grid-template-columns:1fr}.fl-river-gallery img{height:auto;max-height:400px}}

/* Compact editorial reading list */
.fl-insights .fl-page-intro{padding-block:48px 28px}.fl-insights .fl-page-intro h1{font-size:clamp(34px,3.5vw,46px)}.fl-insights .fl-page-intro p:not(.fl-eyebrow){font-size:16px}.fl-reading-list{max-width:960px;padding-bottom:45px}.fl-reading-row{display:grid;grid-template-columns:160px minmax(0,1fr);gap:28px;padding:24px 0;border-top:1px solid var(--fl-line);align-items:start}.fl-reading-row:last-child{border-bottom:1px solid var(--fl-line)}.fl-reading-image{display:flex;align-items:center;justify-content:center;height:110px;background:#eff0e8;padding:6px}.fl-reading-image img{display:block;width:100%;height:100%;object-fit:contain}.fl-reading-row .fl-eyebrow{font-size:9px;margin:0 0 6px}.fl-reading-row h2{font-family:Arial,Helvetica,sans-serif;font-size:21px;font-weight:400;letter-spacing:-.3px;line-height:1.3;margin:0 0 8px}.fl-reading-row h2 span{font-size:15px;color:var(--fl-olive)}.fl-reading-row .fl-reading-summary{font-size:14px;line-height:1.6;color:var(--fl-muted);margin:0 0 6px;max-width:660px}.fl-reading-row .fl-reading-tool{font-size:11px;color:var(--fl-olive);margin:0}@media(max-width:600px){.fl-reading-row{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:22px 0}.fl-reading-image{height:78px;padding:4px}.fl-reading-row h2{font-size:18px}.fl-reading-row .fl-reading-summary{font-size:13px}.fl-insights .fl-page-intro{padding-top:35px}}

/* Insights articles: consistent reading layout, preserving technical content */
.fl-insight-article{max-width:1000px}.fl-article-header{max-width:850px;padding:48px 0 30px}.fl-article-header>.fl-text-link{margin-bottom:28px}.fl-article-header h1{font:400 clamp(33px,3.8vw,48px)/1.15 var(--fl-serif);letter-spacing:-1px;margin-bottom:18px}.fl-article-header .fl-article-deck{font-size:17px;color:var(--fl-muted);max-width:730px}.fl-article-toc{max-width:760px;border-block:1px solid var(--fl-line);padding:20px 0;margin-bottom:35px}.fl-article-toc .fl-eyebrow{margin-bottom:10px}.fl-article-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 25px}.fl-article-toc a{font-size:13px;text-decoration:underline;text-underline-offset:3px}.fl-article-body>.container,.fl-article-body .container{width:100%;max-width:100%;padding:0}.fl-article-body .row{margin:0}.fl-article-body [class*="col-"]{float:none;width:100%;padding:0}.fl-article-body p,.fl-article-body ul,.fl-article-body ol{max-width:760px;font:400 16px/1.8 Arial,Helvetica,sans-serif;color:var(--fl-ink);text-align:left!important}.fl-article-body p{margin-bottom:22px}.fl-article-body h2{font:400 29px/1.25 var(--fl-serif);letter-spacing:-.6px;margin:40px 0 20px;color:var(--fl-ink)!important;text-align:left;scroll-margin-top:25px}.fl-article-body h3{font:400 22px/1.35 var(--fl-serif);margin:28px 0 15px;color:var(--fl-ink)!important}.fl-article-body img{display:block;max-width:100%;height:auto;margin:22px auto;max-height:650px;object-fit:contain}.fl-article-body pre{max-width:100%;overflow-x:auto;background:#eef0e8;border:1px solid var(--fl-line);border-radius:0;padding:20px;margin-block:24px;font:13px/1.65 Consolas,monospace;white-space:pre}.fl-article-body code{color:var(--fl-ink);background:#eef0e8}.fl-article-body table{display:block;max-width:100%;overflow-x:auto}.fl-article-body blockquote{border-left:3px solid var(--fl-olive);padding:12px 24px;margin:25px 0;max-width:760px;text-align:left}.fl-article-body blockquote footer{font-size:12px;overflow-wrap:anywhere}.fl-article-body #map{margin-bottom:25px;max-width:760px}.fl-article-body .carousel{background:#edf0e8;margin-block:25px}.fl-article-body .carousel img{margin:0 auto}.fl-article-body .carousel-caption h3{color:white!important;text-shadow:0 1px 3px #000}.fl-article-body .leaflet-container img{max-height:none;margin:0}.fl-article-body .fl-article-status{display:inline-block;border:1px solid var(--fl-line);padding:6px 12px;font-size:12px;color:var(--fl-olive)}.fl-article-end{border-top:1px solid var(--fl-line);padding:25px 0 40px;margin-top:35px}.fl-article-body .jumbotron{background:#eff0e8;border-radius:0;padding:25px}.fl-article-body .jumbotron h1{font:400 30px var(--fl-serif)}
@media(max-width:650px){.fl-article-header{padding-top:35px}.fl-article-body h2{font-size:26px}.fl-article-body p,.fl-article-body ul,.fl-article-body ol{font-size:15px}.fl-article-body pre{padding:14px;font-size:12px}.fl-article-toc ul{display:block}.fl-article-toc li{margin-bottom:8px}}

/* Agriculture case studies, preserving dashboard layout and interactions */
.fl-agriculture .fl-page-intro>.fl-text-link{margin-bottom:28px}.fl-agriculture-body>.container{width:100%;padding:0}.fl-agriculture-body h2{font:400 29px/1.25 var(--fl-serif);letter-spacing:-.6px;color:var(--fl-ink)!important;margin:30px 0 20px}.fl-agriculture-body h3{font:400 23px/1.3 var(--fl-serif);color:var(--fl-ink)!important;margin:25px 0 15px}.fl-agriculture-body h4{font:400 17px/1.4 Arial,Helvetica,sans-serif;color:var(--fl-ink)!important}.fl-agriculture-body p,.fl-agriculture-body li{font:400 16px/1.8 Arial,Helvetica,sans-serif;text-align:left!important;color:var(--fl-ink)}.fl-agriculture-body p{margin-bottom:22px}.fl-agriculture-body img{max-width:100%;height:auto;display:block;object-fit:contain;margin:20px auto}.fl-agriculture-body pre{max-width:100%;overflow-x:auto;background:#eef0e8;border:1px solid var(--fl-line);border-radius:0;padding:20px;font:13px/1.65 Consolas,monospace}.fl-agriculture-body code{background:#eef0e8;color:var(--fl-ink)}.fl-agriculture-body table{display:block;max-width:100%;overflow-x:auto}.fl-agriculture-body .form-control{border-radius:0;border-color:var(--fl-line);color:var(--fl-ink)}.fl-agriculture-body .btn-danger{background:var(--fl-ink);border-color:var(--fl-ink);border-radius:0}.fl-agriculture-body .btn-danger:hover{background:var(--fl-olive)}.fl-agriculture-body .fl-agriculture-status{display:inline-block;border:1px solid var(--fl-line);padding:6px 12px;font-size:12px;color:var(--fl-olive)}.fl-agriculture-body .jumbotron{background:#eff0e8;border-radius:0;padding:25px}.fl-agriculture-body .leaflet-container img{margin:0;max-width:none}.fl-agriculture:not(.fl-agriculture-famews) .fl-agriculture-body p{max-width:760px}.fl-agriculture:not(.fl-agriculture-famews) .fl-agriculture-body [class*="col-"]{float:none;width:100%}.fl-agriculture:not(.fl-agriculture-famews) .fl-agriculture-body img{max-height:650px}.fl-agriculture-body .row{margin-inline:0}@media(max-width:650px){.fl-agriculture-body h2{font-size:26px}.fl-agriculture-body p,.fl-agriculture-body li{font-size:15px}.fl-agriculture-body pre{padding:14px;font-size:12px}}
.fl-agriculture-body .sub-title{text-align:left!important;font-size:23px;margin:10px 0 25px;padding:0}.fl-agriculture-body .text-center:not(.dc-chart){text-align:left}
.fl-agriculture-body p,.fl-agriculture-body li,.fl-article-body p,.fl-article-body li{font-family:Arial,Helvetica,sans-serif;font-size:16px;font-weight:400;line-height:1.7;color:var(--fl-muted)}.fl-agriculture-body .fl-agriculture-status,.fl-article-body .fl-article-status{font-size:12px;color:var(--fl-olive)}

/* Expanded SPARC case study */
.fl-sparc-toc{padding:25px 0;border-block:1px solid var(--fl-line);margin:25px 0 35px}.fl-sparc-toc ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;padding:0;margin:0}.fl-sparc-toc a{font-size:13px;text-decoration:underline;text-underline-offset:4px}.fl-sparc-analysis .container{width:100%;max-width:100%;padding:0}.fl-sparc-analysis .row{margin-inline:0;clear:both}.fl-sparc-analysis h2{font:400 32px/1.25 var(--fl-serif);color:var(--fl-ink)!important;text-align:left;border-top:1px solid var(--fl-line);padding-top:30px;margin:40px 0 25px;clear:both;scroll-margin-top:25px}.fl-sparc-analysis h3,.fl-sparc-analysis h4{font-family:var(--fl-serif);font-weight:400;color:var(--fl-ink)!important}.fl-sparc-analysis p,.fl-sparc-analysis li{font:400 16px/1.7 Arial,Helvetica,sans-serif;color:var(--fl-muted);text-align:left}.fl-sparc-analysis p{margin-bottom:22px}.fl-sparc-analysis img{display:block;max-width:100%;height:auto;margin:20px auto;object-fit:contain;max-height:600px;border-radius:0}.fl-sparc-analysis .leaflet-container img{margin:0;max-height:none;max-width:none}.fl-sparc-analysis .well{background:#eff0e8;border:1px solid var(--fl-line);border-radius:0;box-shadow:none;padding:22px;clear:both}.fl-sparc-analysis figcaption,.fl-sparc-analysis .caption{display:block;font:12px/1.6 Arial,Helvetica,sans-serif;color:var(--fl-muted);margin:10px 0}.fl-sparc-chart-scroll{clear:both;max-width:100%;overflow-x:auto;padding-bottom:15px}.fl-sparc-analysis #barchart rect.bar{fill:var(--fl-olive)}.fl-sparc-analysis #people-rp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;background:transparent;padding:0;margin:20px 0;clear:both}.fl-sparc-analysis .r-box{float:none;width:100%;height:auto;min-height:110px;border:0;background:var(--fl-ink);padding:15px;font-size:26px;text-align:left}.fl-sparc-analysis .r-box p{font-size:12px;color:#dce3d2;margin:0 0 10px}.fl-sparc-analysis #num-records{clear:both;font-size:13px;color:var(--fl-muted)}.fl-sparc-analysis table{display:block;max-width:100%;overflow-x:auto}@media(max-width:650px){.fl-sparc-analysis #people-rp{grid-template-columns:repeat(2,minmax(0,1fr))}.fl-sparc-analysis h2{font-size:27px}.fl-sparc-toc ul{display:block}.fl-sparc-toc li{margin-bottom:10px}}

/* Shared prose typography for every page using the site layout. */
:root{--fl-body-font:Arial,Helvetica,sans-serif;--fl-body-size:16px;--fl-body-leading:1.7}
#main-content{font-family:var(--fl-body-font);font-size:var(--fl-body-size);line-height:var(--fl-body-leading)}
#main-content :is(p,li,dd,dt,td,th,blockquote,label,input,select,textarea,button){font-family:var(--fl-body-font)!important}
#main-content p:not(.fl-eyebrow):not(.rp){font-weight:400;line-height:var(--fl-body-leading);text-align:left;color:var(--fl-muted)}
#main-content>.container p,#main-content>.container li{font-size:var(--fl-body-size);line-height:var(--fl-body-leading);color:var(--fl-muted);text-align:left}
#main-content>.container :is(h1,h2,h3){font-family:var(--fl-serif);font-weight:400;color:var(--fl-ink);line-height:1.2}
#main-content>.container h1{font-size:clamp(36px,4vw,59px);letter-spacing:-1.5px}
#main-content>.container h2{font-size:30px;letter-spacing:-.6px}
#main-content>.container h3{font-size:23px}
#main-content :is(pre,code,kbd,samp){font-family:Consolas,'Courier New',monospace}
#main-content .fl-eyebrow{color:var(--fl-olive)}
#main-content :is(.fl-article-status,.fl-agriculture-status,.fl-reading-tool){color:var(--fl-olive)}
#main-content .r-box p{color:#dce3d2}
#main-content .carousel-caption p{color:#fff;text-align:center}

.fl-design-credit{display:grid;grid-template-columns:1fr 2fr;gap:35px;border-top:1px solid #53615b;padding:28px 0 32px}.fl-design-credit h3{font:400 26px/1.3 var(--fl-serif);color:#f5f5ee;margin:0}.fl-design-credit p{font:400 15px/1.7 Arial,Helvetica,sans-serif;color:#dce3d2;margin:0;max-width:730px}@media(max-width:650px){.fl-design-credit{grid-template-columns:1fr;gap:12px}.fl-design-credit h3{font-size:24px}}

.fl-language-switch{display:flex;align-items:center;gap:8px;font:12px Arial,Helvetica,sans-serif;flex-shrink:0}.fl-language-switch a{padding:7px 4px;color:var(--fl-muted)}.fl-language-switch a[aria-current=true]{color:var(--fl-ink);font-weight:700;border-bottom:2px solid var(--fl-olive)}.fl-language-notice{padding:16px 20px;margin-top:25px;background:#eff0e8;border-left:3px solid var(--fl-olive);font:14px/1.6 Arial,Helvetica,sans-serif;color:var(--fl-muted)}@media(min-width:801px) and (max-width:1150px){.fl-header-inner{flex-wrap:wrap;padding-block:18px}.fl-nav{gap:15px}}@media(max-width:800px){.fl-language-switch{margin-left:auto;margin-right:15px;order:0}.fl-nav{order:2}.fl-menu-toggle{order:1}.fl-brand{margin-right:auto}}

.fl-geoai-example{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;margin:44px 0;padding-bottom:40px;border-bottom:1px solid var(--fl-line,#deded5)}.fl-geoai-example figure{margin:0}.fl-geoai-example img{width:100%;height:auto;display:block;background:#f8f7f3}.fl-geoai-example figcaption{font:12px/1.6 Arial,sans-serif;color:var(--fl-muted);margin-top:10px}.fl-geoai-example h3{margin-top:0}.fl-geoai-method{font-size:14px;color:var(--fl-muted)}.fl-geoai-context{background:#eff0e8;padding:30px}.fl-geoai-context details{margin-top:22px}.fl-geoai-context summary{cursor:pointer}.fl-geoai-context details p{margin-top:16px}@media(max-width:800px){.fl-geoai-example{grid-template-columns:1fr;gap:20px}.fl-geoai-context{padding:22px}}

.fl-geoai-system{margin:38px 0 48px}.fl-geoai-system figcaption h3{margin-bottom:10px}.fl-geoai-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:28px 0}.fl-geoai-flow>li{position:relative;background:#f0f1e9;border-top:3px solid var(--fl-olive);padding:22px 18px;list-style:none}.fl-geoai-flow>li:not(:last-child):after{content:'→';position:absolute;right:-21px;top:48%;color:var(--fl-olive);font-size:22px}.fl-geoai-step{font:12px Arial,sans-serif;letter-spacing:2px;color:var(--fl-olive)}.fl-geoai-flow h4{font:600 17px/1.4 Arial,sans-serif;margin:14px 0}.fl-geoai-flow ul{padding-left:17px}.fl-geoai-flow ul li{font:14px/1.7 Arial,sans-serif;color:var(--fl-muted);margin:6px 0}.fl-geoai-system-note{border-left:3px solid var(--fl-olive);padding:12px 18px;font-size:14px;background:#f6f5ef}@media(max-width:900px){.fl-geoai-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.fl-geoai-flow>li:after{display:none}}@media(max-width:520px){.fl-geoai-flow{grid-template-columns:1fr}.fl-geoai-flow>li:not(:last-child):after{display:block;content:'↓';right:50%;top:auto;bottom:-25px}}

.fl-geoai-screen-hero{margin:36px 0 48px}.fl-geoai-screen-hero img,.fl-geoai-screen-grid img{display:block;width:100%;height:auto;border:1px solid var(--fl-line,#deded5)}.fl-geoai-screen-hero figcaption{margin-top:12px;font:14px/1.6 Arial,sans-serif;color:var(--fl-muted)}.fl-geoai-screen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:28px}.fl-geoai-screen-grid figure{margin:0}.fl-geoai-screen-grid h4{font:600 18px/1.4 Arial,sans-serif;margin:18px 0 8px}.fl-geoai-screen-grid figcaption p{font-size:14px;line-height:1.7}.fl-geoai-screens a{display:block}.fl-geoai-screens a:hover img,.fl-geoai-screen-hero a:hover img{outline:2px solid var(--fl-olive);outline-offset:3px}@media(max-width:800px){.fl-geoai-screen-grid{grid-template-columns:1fr}}

.fl-image-modal{width:min(96vw,1800px);max-width:96vw;max-height:94vh;padding:18px;border:0;background:#f8f7f3;color:var(--fl-ink);box-shadow:0 20px 80px #0005}.fl-image-modal::backdrop{background:rgba(15,24,20,.82)}.fl-image-modal img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:12px auto;object-fit:contain}.fl-image-modal p{font:14px/1.6 Arial,sans-serif;margin:12px 0 0}.fl-image-modal-close{display:block;margin-left:auto;padding:8px 16px;border:1px solid currentColor;background:transparent;font:14px Arial,sans-serif;cursor:pointer}.fl-geoai-screen-hero a,.fl-geoai-screens a{cursor:zoom-in}

.fl-project-marker{display:flex;align-items:center;justify-content:center;background:transparent;border:0}.fl-project-marker-dot{display:block;width:11px;height:11px;border-radius:50%;background:var(--fl-olive);border:2px solid var(--fl-paper);box-shadow:0 0 0 1px rgba(32,46,42,.35);transition:transform .15s ease,background .15s ease}.fl-project-marker:hover .fl-project-marker-dot,.fl-project-marker:focus .fl-project-marker-dot{transform:scale(1.3);background:var(--fl-ink)}.fl-project-marker:focus-visible{outline:2px solid var(--fl-ink);outline-offset:1px;border-radius:50%}

.fl-map-popup .leaflet-popup-content-wrapper{background:var(--fl-paper);color:var(--fl-ink);border-radius:5px;box-shadow:0 6px 24px #202e2a25}.fl-map-popup .leaflet-popup-tip{background:var(--fl-paper)}.fl-project-popup{font:14px/1.6 Arial,sans-serif;padding:4px}.fl-project-popup h3{font:normal 21px/1.25 Georgia,serif;margin:0 0 12px;color:var(--fl-ink)}.fl-project-popup p{margin:8px 0}.fl-project-popup-meta{color:var(--fl-muted);font-size:12px}.fl-project-popup-note{border-top:1px solid var(--fl-line);padding-top:10px;font-size:12px;color:var(--fl-muted)}.fl-project-popup .fl-text-link{display:inline-block;margin-top:12px;font-size:13px}
