.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-card{padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0;transition:background .2s}.catalog-card:hover{background:var(--paper)}.catalog-card h3{font-size:22px;line-height:1.3;margin-bottom:16px}.catalog-card p{font-size:13px;line-height:1.85}.catalog-card .eyebrow{font-size:9px;margin-bottom:16px}.catalog-search{display:block;max-width:660px;font-size:13px;font-weight:600;margin-bottom:24px}.catalog-search input{width:100%;display:block;border:1px solid var(--line);background:var(--paper);padding:15px;margin-top:10px;border-radius:0}.service-prose section+section{margin-top:38px}.service-prose h2{font-size:29px;line-height:1.3;margin-bottom:18px}.service-prose p{font-size:15px;line-height:1.95}.service-prose p+p{margin-top:16px}.checklist h2{font-size:25px}.sample-badge{display:inline-block;background:#fff3d7;color:#684510;border:1px solid #e4d2a5;font-size:10px;font-weight:700;letter-spacing:.06em;padding:8px 11px;line-height:1.5;margin-bottom:24px}.cases-home{background:#edf3f1}.case-teaser,.case-card{display:grid;grid-template-columns:1.1fr 1fr;background:white;border:1px solid var(--line)}.case-teaser>img,.case-card>img{height:100%;min-height:350px;width:100%;object-fit:cover}.case-teaser>div,.case-card>div{padding:42px;align-self:center}.case-teaser h3,.case-card h2{font-size:31px;line-height:1.3;margin-bottom:18px}.case-teaser p,.case-card p{font-size:14px;margin-bottom:24px}.case-grid{margin-bottom:70px}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:11px;background:#136b42;color:white;border:2px solid white;border-radius:40px;padding:15px 20px;box-shadow:0 4px 24px #092e3938;line-height:1;transition:transform .2s}.whatsapp-float:hover{transform:translateY(-3px);background:#0c5734}.whatsapp-float svg{width:27px;height:27px}.whatsapp-float span{font-size:12px;font-weight:700}.whatsapp-link svg{width:21px;height:21px;flex-shrink:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form-wrap .consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.6}.contact-form-wrap .consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0 0;accent-color:var(--deep)}.consent a{text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.contact-form-wrap button:disabled{opacity:.65;cursor:wait;transform:none}#form-status{font-size:12px;line-height:1.7;margin-top:15px;color:#244e5a}#catalog-count{font-size:12px;margin:10px 0}.security-check{margin-top:18px}.guide-grid{row-gap:45px}.nav-wrap{gap:20px}.nav-wrap nav{gap:20px}.nav-cta{padding-left:18px;gap:10px}.nav-wrap nav a{font-size:11px}footer{padding-bottom:55px}.breadcrumb{flex-wrap:wrap}
@media(max-width:1150px){.nav-cta{display:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.catalog-grid{grid-template-columns:1fr}.case-teaser,.case-card{grid-template-columns:1fr}.case-teaser>img,.case-card>img{height:240px;min-height:0}.case-teaser>div,.case-card>div{padding:27px}.case-teaser h3,.case-card h2{font-size:27px}.whatsapp-float{right:16px;bottom:16px;padding:15px}.whatsapp-float span{display:none}.form-row{grid-template-columns:1fr;gap:0}.nav-wrap nav a{font-size:16px}.service-prose h2{font-size:26px}.service-prose p{font-size:14px}.sample-badge{font-size:9px}footer{padding-bottom:75px}}
.full-service .inner-hero h1{font-size:clamp(32px,3.3vw,49px);line-height:1.15;overflow-wrap:break-word}.full-service .inner-hero p{font-size:14px}.full-service-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:75px;padding-block:65px;align-items:start}.original-service-content{min-width:0;font-size:16px;line-height:1.95;color:var(--ink)}.original-service-content p{margin:0 0 22px;color:#405c64;line-height:1.95}.original-service-content h2{font-size:30px;line-height:1.35;margin:46px 0 21px;letter-spacing:-.03em;scroll-margin-top:125px}.original-service-content h3{font-size:22px;line-height:1.4;margin:32px 0 17px;scroll-margin-top:125px}.original-service-content h4{font-size:18px;margin:26px 0 13px}.original-service-content>h2:first-child{margin-top:0}.original-service-content ul,.original-service-content ol{padding-left:25px;margin:15px 0 28px;color:#405c64}.original-service-content li{padding-left:5px;margin:9px 0}.original-service-content li::marker{color:#15798b}.original-service-content li p{margin-bottom:12px}.original-service-content a:not(.button){color:#006b88;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.original-service-content blockquote{border-left:3px solid #278495;background:#f0f6f5;padding:23px 28px;margin:26px 0;font-size:15px}.original-service-content>img,.original-service-content figure img{margin:26px auto 35px;max-height:420px;width:auto;max-width:100%;object-fit:contain}.original-service-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px;margin:25px 0}.original-service-content td,.original-service-content th{border:1px solid var(--line);padding:12px;vertical-align:top}.original-service-content figure{margin:25px 0}.original-service-content figcaption{font-size:12px;color:var(--muted)}.service-sidebar{position:sticky;top:120px}.service-sidebar .checklist{position:static;padding:26px}.service-sidebar .checklist p{margin-top:18px}.article-toc{border:1px solid var(--line);padding:25px;margin-bottom:25px;background:white;max-height:45vh;overflow-y:auto}.article-toc .eyebrow{margin-bottom:14px}.article-toc ol{padding-left:20px;font-size:12px;line-height:1.7;margin:0}.article-toc li{margin:10px 0;padding-left:4px}.article-toc a:hover{text-decoration:underline;text-underline-offset:3px}.sidebar-phone{display:block;margin-top:20px;font-size:23px}.archive-note{background:#fff6de;border-left:3px solid #c69a3c;padding:22px;margin-bottom:30px;font-size:14px}.archive-note p{margin:10px 0 0}.service-questionnaire{background:var(--paper);border:1px solid var(--line);padding:28px;margin:32px 0}.service-questionnaire h2{margin-top:0;font-size:26px}.service-questionnaire>p{font-size:14px}.service-questionnaire label{display:block;font-size:13px;font-weight:600;margin:18px 0}.service-questionnaire input,.service-questionnaire select{display:block;width:100%;margin-top:8px;border:1px solid #b5c9ca;padding:11px;background:white;color:var(--ink);font-size:14px;border-radius:0}.service-questionnaire button{margin-top:12px}.questionnaire-status{font-size:12px;margin-top:12px!important}
@media(max-width:1000px){.full-service-grid{gap:35px;grid-template-columns:minmax(0,1fr) 250px}.service-sidebar{top:100px}}@media(max-width:720px){.full-service-grid{display:flex;flex-direction:column;padding-block:40px;gap:35px}.original-service-content{font-size:15px;width:100%}.original-service-content h2{font-size:26px;margin-top:34px}.original-service-content h3{font-size:21px}.full-service .inner-hero h1{font-size:34px}.service-sidebar{position:static;width:100%}.article-toc{max-height:none}.service-questionnaire{padding:22px}.original-service-content blockquote{padding:20px}.original-service-content img{max-height:340px}}

/* Images have a defined editorial role and consistent bounds. */
.review-more{font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;color:#075b70}.review-no-text{font-size:14px;color:#60767a;font-style:italic}.reviews-directory{padding-bottom:55px}.reviews-directory-note{max-width:800px;font-size:13px;line-height:1.8;color:#526d74;margin-bottom:30px}.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.reviews-grid .review-card{min-width:0}.service-faq{margin-top:45px}.service-faq details{border-bottom:1px solid var(--line);padding:20px 0}.service-faq summary{font-size:17px;line-height:1.5;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:600}.service-faq summary span{font-size:24px;font-weight:400}.service-faq details p{font-size:15px;margin:18px 0 0}.service-references{background:#f1f5f3;padding:22px 25px;margin-top:35px}.original-service-content .service-references h3{margin:0 0 15px;font-size:18px}.original-service-content .service-references ul{margin-bottom:0;font-size:13px}
@media(max-width:1000px){.reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.reviews-grid{grid-template-columns:1fr}.service-faq summary{font-size:16px}.service-faq details p{font-size:14px}.reviews-grid .review-card{padding:25px}.review-author h3{overflow-wrap:anywhere}}
.team-section{background:#eef3f1}.team-disciplines{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #bfcecb;border-bottom:1px solid #bfcecb}.team-disciplines li{padding:28px 22px 30px;border-right:1px solid #bfcecb}.team-disciplines li:first-child{padding-left:0}.team-disciplines li:last-child{border-right:0}.team-disciplines li>span{font-size:11px;color:#426e75;display:block;margin-bottom:25px}.team-disciplines h3{font-size:20px;line-height:1.4}.team-note{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:28px}.team-note p{font-size:13px}.reviews-section{background:#f7f8f5}.reviews-intro{font-size:14px;max-width:730px;line-height:1.8}.reviews-controls{display:flex;justify-content:flex-end;gap:10px;margin:20px 0}.reviews-controls button{width:44px;height:44px;border:1px solid #a5bdbd;color:var(--deep);background:white;cursor:pointer;font-size:20px}.reviews-controls button:disabled{opacity:.3;cursor:default}.reviews-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:thin;scrollbar-color:#84a3a3 #e3ebe7}.review-card{flex:0 0 calc((100% - 40px)/3);min-width:0;background:white;border:1px solid var(--line);padding:28px;scroll-snap-align:start;display:flex;flex-direction:column}.review-author{display:flex;gap:12px;align-items:center}.review-initial{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:#e5efed;border-radius:50%;font-size:18px;color:#265c68}.review-author h3{font-size:14px;font-weight:700;line-height:1.5}.review-author time{font-size:11px;color:#60767a}.review-stars{color:#b98316;font-size:19px;letter-spacing:3px;margin:20px 0 14px}.review-card blockquote{margin:0 0 25px;font-size:14px;line-height:1.85;color:#405c64}.review-source{font-size:11px;color:#526d74;margin-top:auto}.archive-badge{display:inline-block;align-self:flex-start;background:#fff3d7;color:#705119;padding:7px 9px;font-size:9px;font-weight:700;letter-spacing:.04em;margin-bottom:16px}.grant-archive-heading{margin-top:45px}.grant-archive-intro{font-size:14px;color:#526d74;line-height:1.8;margin-bottom:25px;max-width:750px}
@media(max-width:1000px){.team-disciplines{grid-template-columns:repeat(3,1fr)}.team-disciplines li:first-child{padding-left:22px}.team-disciplines li{border-bottom:1px solid #bfcecb}.review-card{flex-basis:calc((100% - 20px)/2)}}
@media(max-width:720px){.team-disciplines{grid-template-columns:1fr 1fr}.team-disciplines li{padding:20px 15px}.team-disciplines li:first-child{padding-left:15px}.team-disciplines h3{font-size:17px}.team-disciplines li>span{margin-bottom:15px}.team-note{align-items:flex-start;flex-direction:column}.review-card{flex-basis:90%;padding:22px}.reviews-controls{margin-top:15px}.grant-archive-heading{align-items:flex-start;flex-direction:column}}
.inner-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:55px}
.inner-hero-grid>img.service-hero-image{width:100%;height:280px;max-height:280px;object-fit:cover}
.inner-hero-grid>img.media-diagram,.inner-hero-grid>img.media-illustration{object-fit:contain;background:#f3f5f2;padding:14px}
.original-service-content .service-figure{width:100%;margin:30px auto 36px;padding:0}
.original-service-content .service-figure img{display:block;width:auto;max-width:100%;height:auto;max-height:300px;object-fit:contain;margin:0 auto}
.original-service-content .figure-diagram{padding:18px;border:1px solid var(--line);background:#fff}
.original-service-content .figure-diagram img{max-height:360px}
.original-service-content .service-figure figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:11px;line-height:1.7;color:#526d74;padding-top:12px}
.original-service-content .figure-enlarge{white-space:nowrap;font-size:11px}
.article-image{max-height:350px;object-fit:cover}
.article-image.media-diagram,.article-image.media-illustration{object-fit:contain;background:#f2f5f2}
.studio-image>img{object-fit:cover;object-position:center}
.case-teaser>img,.case-card>img{min-height:0;max-height:340px;align-self:center;object-fit:contain;background:#edf3f1}
.header{background:#fff}
.specialty-heading{padding-top:30px;padding-bottom:30px}
.specialty-heading .breadcrumb{margin-bottom:36px}
.specialty-heading h1{font-size:clamp(36px,4.3vw,58px);line-height:1.13;margin:14px 0 20px;font-weight:500;letter-spacing:-.04em}
.specialty-heading>p{max-width:740px;font-size:16px;line-height:1.8;color:#526d74}
.specialty-services{padding-bottom:65px}
.specialty-services-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:25px 0}
.specialty-services-heading h2{font-size:21px;letter-spacing:-.02em}
.specialty-services-heading>span{font-size:12px;color:var(--muted);white-space:nowrap}
.specialty-help{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);padding-top:45px;padding-bottom:55px}
.specialty-help h2{font-size:31px;line-height:1.3;margin:10px 0 18px}.specialty-help p{font-size:14px;margin-bottom:24px}.specialty-help h3{font-size:21px;margin-bottom:20px}.specialty-help ul{padding-left:20px;font-size:14px;color:#526d74;line-height:1.8}.specialty-help li+li{margin-top:15px}
.location-section{background:#f1f5f3;padding:70px 0}.location-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.location-copy h2{font-size:36px;line-height:1.2;margin:15px 0 22px}.location-copy p{font-size:14px;line-height:1.8;max-width:390px}.location-copy address{font-style:normal;font-size:14px;line-height:1.9;margin:24px 0}.location-map{min-width:0}.location-map iframe{display:block;width:100%;height:360px;border:1px solid #cbd9d8;background:#e2e9e6}.location-map>a{display:inline-block;font-size:12px;margin-top:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.inner-hero-grid{gap:30px}.location-grid{gap:35px}.location-copy h2{font-size:31px}}
@media(max-width:720px){.inner-hero-grid{grid-template-columns:1fr;gap:28px}.inner-hero-grid>img.service-hero-image{height:210px;max-height:210px}.original-service-content .service-figure img{max-height:240px}.original-service-content .figure-diagram img{max-height:300px}.original-service-content .figure-diagram{padding:12px}.article-image{max-height:230px}.specialty-heading{padding-bottom:24px}.specialty-heading .breadcrumb{margin-bottom:25px}.specialty-heading>p{font-size:14px}.specialty-services-heading h2{font-size:18px}.specialty-services{padding-bottom:40px}.specialty-help,.location-grid{grid-template-columns:1fr;gap:35px}.specialty-help{padding-block:35px}.location-section{padding:45px 0}.location-copy h2{font-size:30px}.location-map iframe{height:300px}.case-teaser>img,.case-card>img{height:auto;max-height:230px}.topbar .wrap>span{font-size:9px}.service-questionnaire .button{white-space:normal;text-align:left}}
/* Revision: complete service inquiries and distinct editorial images. */
.hero h1{font-size:clamp(44px,4.8vw,70px);max-width:850px;line-height:1.08}
.inner-hero-grid .hero-visual{margin:0;min-width:0}
.inner-hero-grid .hero-visual img{display:block;width:100%;height:330px;object-fit:cover}
.inner-hero-grid .hero-visual figcaption{color:#bcd0d5;font-size:10px;line-height:1.6;margin-top:10px}
.inner-hero-grid .hero-visual-seal-well img{object-position:center 75%}
.inner-hero-grid .hero-visual-hydraulic-study img{height:auto;max-height:360px;object-fit:contain;background:#f3f5f2}
.hero-plan-enlarge{display:inline-block;margin-left:5px;text-decoration:underline;text-underline-offset:3px}
.inner-hero-grid .hero-visual-borehole-head img{object-position:center 29%}
.service-questionnaire .service-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.service-questionnaire .service-form-fields>*{min-width:0}
.service-questionnaire textarea{width:100%;display:block;min-height:100px;margin-top:8px;border:1px solid #b5c9ca;padding:11px;background:white;color:var(--ink);font:inherit;resize:vertical}
.service-questionnaire .consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.65}
.service-questionnaire .consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--deep)}
.service-questionnaire .consent a{text-decoration:underline}
.service-questionnaire button:disabled,.contact-form-wrap button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.service-questionnaire [data-other-locality][hidden]{display:none!important}
.energy-estimate{background:#e3efeb;border-left:3px solid #276a66;padding:20px 22px;margin:22px 0 12px}
.energy-estimate strong{font-size:22px;line-height:1.4;display:block;color:#163f46}
.original-service-content .energy-estimate p{font-size:12px;line-height:1.8;margin:10px 0 0}
.price-reference{margin:14px 0 24px;border-bottom:1px solid #c2d1cf;padding-bottom:15px}
.price-reference summary{font-size:12px;font-weight:600;cursor:pointer;line-height:1.6}
.original-service-content .price-reference p{font-size:12px;line-height:1.7;margin:14px 0}
.price-table-scroll{overflow-x:auto;max-width:100%}
.price-reference table{width:100%;border-collapse:collapse;background:white;font-size:12px}
.price-reference caption{text-align:left;font-size:11px;padding:10px 0;color:#526d74}
.price-reference th,.price-reference td{text-align:left;padding:10px;border-bottom:1px solid #d6e1dc}
.price-reference td{white-space:nowrap}
.service-questionnaire .questionnaire-status{font-size:12px;line-height:1.75}
.service-questionnaire .security-check{max-width:100%;margin-top:18px}
@media(max-width:720px){.hero h1{font-size:clamp(35px,7.7vw,53px)}.hero-content{padding-bottom:95px}.inner-hero-grid .hero-visual img{height:245px}.service-questionnaire .service-form-fields{grid-template-columns:1fr}.energy-estimate{padding:18px}.energy-estimate strong{font-size:20px}}

.energy-estimate[hidden]{display:none!important}
.price-breakdown{margin:18px 0 0;font-size:14px}
.price-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid #bbd0c7}
.price-breakdown dt,.price-breakdown dd{margin:0}
.price-breakdown dd{white-space:nowrap;font-weight:600}
.price-breakdown .price-total{font-size:20px;font-weight:700;border:0;padding-top:18px}
/* Editorial case studies, team profile and explicit map loading. */
.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:35px}.evidence-card{display:flex;flex-direction:column;padding:32px;background:#f2f5f0;border:1px solid #d3dfd8;color:#163d43;text-decoration:none;min-width:0;transition:background .2s,transform .2s}.evidence-card:hover{background:#e7eee7;transform:translateY(-3px)}.evidence-card h3{font-size:clamp(21px,2vw,28px);line-height:1.22;margin:22px 0 16px;letter-spacing:-.7px}.evidence-card p{font-size:15px;line-height:1.75}.evidence-card .text-link{margin-top:auto;padding-top:22px}.evidence-top{display:flex;justify-content:space-between;gap:20px;margin-bottom:32px;font-size:12px}.evidence-top>span:first-child{font-size:34px;color:#7a9181;line-height:1}.evidence-result{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:#355d4b;border-left:3px solid #a88b53;padding-left:10px}.case-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:36px 0}.case-photo-grid figure{margin:0}.case-photo-grid img{width:100%;height:360px;object-fit:cover;border-radius:4px}.case-photo-grid figcaption,.case-source-note{font-size:13px;color:#526c69;line-height:1.6}.related-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:24px}.related-actions .button{font-size:13px;white-space:normal}.team-profile{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center;padding-top:20px;padding-bottom:70px}.profile-monogram{background:#123d45;color:#d9e4d9;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font:120px Georgia,serif}.profile-monogram span{font:11px Manrope,sans-serif;letter-spacing:4px;margin-top:24px}.team-profile h2{font-size:38px;letter-spacing:-1px;line-height:1.2}.team-profile p{line-height:1.8}.technical-credit{display:flex;gap:20px;justify-content:space-between;border-top:1px solid #d6e2dc;padding-top:24px;padding-bottom:40px;font-size:13px;color:#4b6869}.technical-credit a{color:inherit}.map-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px;text-align:center;min-height:420px;background:linear-gradient(140deg,#e7efe6,#d8e5df)}.map-choice h3{font-size:25px;line-height:1.3}.map-privacy{font-size:12px;max-width:280px}.team-note{flex-wrap:wrap}.original-service-content{overflow-wrap:anywhere}.original-service-content img{max-width:100%;height:auto}.original-service-content table{max-width:100%;display:block;overflow-x:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b58e4f;outline-offset:4px}.article-body{overflow-wrap:anywhere}
@media(max-width:1000px){.evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-profile{gap:35px}}@media(max-width:650px){.evidence-grid{grid-template-columns:1fr}.evidence-card{padding:26px}.team-profile{grid-template-columns:1fr;gap:25px}.profile-monogram{max-width:260px;width:100%;font-size:100px}.team-profile h2{font-size:30px}.case-photo-grid{grid-template-columns:1fr}.case-photo-grid img{height:360px}.technical-credit{flex-direction:column;gap:8px}.related-actions .button{width:100%}.map-choice{padding:25px;min-height:340px}.map-choice h3{font-size:22px}}

.practical-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.practical-grid h3{font-size:23px;line-height:1.35}.practical-grid p{line-height:1.85;font-size:16px;max-width:65ch}.button.outline{border:1px solid #a8bdb5;color:#153b42;background:transparent}@media(max-width:650px){.practical-grid{grid-template-columns:1fr;gap:18px}}

.case-toc{background:#f2f5f0;border-left:3px solid #a88b53;padding:26px 30px;margin:8px 0 45px}.case-toc ol{padding-left:22px;margin:15px 0 0}.case-toc li{margin:9px 0;font-size:15px;line-height:1.65}.case-toc a{color:#244b50;text-decoration-thickness:1px;text-underline-offset:4px}.case-faq{margin:40px 0}.case-faq details{border-top:1px solid #cbd9d2;padding:18px 0}.case-faq summary{cursor:pointer;display:flex;gap:20px;justify-content:space-between;font-weight:600;line-height:1.5;list-style:none}.case-faq p{padding-right:20px}.case-credit{font-size:13px}.case-credit a{color:#456765}.profile-portrait{width:100%;aspect-ratio:1;object-fit:cover;object-position:center}.article-body section[id]{scroll-margin-top:110px}@media(max-width:650px){.case-toc{padding:22px 20px}.case-faq summary{font-size:16px}}
/* Visual case studies: concise narrative and primary documentary evidence. */
.visual-card{padding:0;overflow:hidden;background:#fff}.visual-card .case-card-copy{padding:27px;display:flex;flex:1;flex-direction:column}.case-card-image{height:225px;position:relative;overflow:hidden;background:#e8ede7;border-bottom:1px solid #d3dfd8;padding:26px 18px 42px}.case-card-image img{display:block;width:100%;height:100%;object-fit:contain;background:white;box-shadow:0 4px 16px #18353b12}.case-card-image.proof-photo{padding:0}.case-card-image.proof-photo img{height:100%;object-fit:cover;object-position:center 55%}.case-card-image>span{position:absolute;left:15px;bottom:10px;font-size:10px;letter-spacing:.04em;color:#385456;background:#f6f8f4e8;padding:5px 9px}.visual-card .evidence-top{margin-bottom:20px}.visual-card h3{font-size:25px;margin:20px 0 14px}.visual-card p{font-size:14px}.visual-card .text-link{font-size:12px;white-space:normal}.work-evidence-grid{grid-template-columns:1fr}.work-evidence-grid .visual-card{display:grid;grid-template-columns:1fr 1fr;max-width:850px}.work-evidence-grid .case-card-image{height:100%;min-height:320px;border-bottom:0}.visual-case{padding-top:35px;padding-bottom:80px}.case-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center;margin:55px 0 70px}.case-hero h1{font-size:clamp(36px,3.9vw,56px);font-weight:500;letter-spacing:-.045em;line-height:1.12}.case-lead{font-size:17px;line-height:1.8;margin:24px 0 30px}.case-outcome{border-left:3px solid #a88b53;padding:4px 0 4px 20px;display:flex;flex-direction:column;gap:9px}.case-outcome .eyebrow{margin:0;font-size:9px}.case-outcome strong{font-size:21px;line-height:1.35;font-weight:600}.case-outcome>span:last-child{font-size:12px;color:#55706d}.case-proof{margin:0;background:#edf1eb;border:1px solid #d5dfd7;padding:24px;min-width:0}.case-proof>a{display:block;background:#fff;padding:15px;box-shadow:0 4px 18px #18353b0c;transition:box-shadow .2s}.case-proof>a:hover{box-shadow:0 5px 25px #18353b22}.case-proof img{display:block;width:100%;height:auto;object-fit:contain}.case-proof.proof-photo>a{padding:0}.case-proof.proof-photo img{max-height:440px;object-fit:contain;background:#e3e9e1}.case-proof figcaption{padding-top:22px;color:#3e5d5b;font-size:12px;line-height:1.7}.case-proof figcaption strong{font-size:15px;display:block;color:#173e44}.case-proof figcaption p{margin:8px 0 12px}.proof-enlarge{border-bottom:1px solid #7c9690;font-weight:600;padding-bottom:3px}.case-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;border-top:1px solid #d3dfd8;padding-top:35px;margin-bottom:65px}.case-step h2{font-size:24px;line-height:1.3;margin:12px 0 18px;letter-spacing:-.025em}.case-step p{font-size:15px;line-height:1.85}.case-step .eyebrow{color:#9e8553}.proof-gallery{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}.proof-gallery>.case-proof:only-child{max-width:600px}.case-more-proof{margin-bottom:45px}.case-more-proof h2{font-size:36px}.case-provenance{border-top:1px solid #d3dfd8;margin-top:45px;padding:25px 0;font-size:12px;line-height:1.8;color:#54706c}.case-provenance p{max-width:850px;margin-bottom:12px}.case-provenance a{font-weight:600}.case-consult{margin-top:30px;background:#f2f5f0;padding:45px;display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.case-consult h2{font-size:32px;line-height:1.2;margin-bottom:22px}.case-consult p{font-size:14px;line-height:1.8;margin-bottom:25px}.case-service-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:20px}.case-service-links .text-link{white-space:normal;font-size:14px;line-height:1.6}.case-service-links .eyebrow{margin:0}
@media(max-width:900px){.case-hero{gap:30px}.case-steps{gap:24px}.case-consult{gap:30px;padding:30px}.visual-card h3{font-size:22px}.visual-card .case-card-copy{padding:22px}}
@media(max-width:720px){.case-hero{grid-template-columns:1fr;margin:30px 0 40px;gap:32px}.case-hero h1{font-size:38px}.case-lead{font-size:16px}.case-proof{padding:16px}.case-proof>a{padding:8px}.case-steps{grid-template-columns:1fr;gap:26px;margin-bottom:40px}.case-step:not(:last-child){padding-bottom:23px;border-bottom:1px solid #d3dfd8}.case-step h2{font-size:24px;margin:8px 0 14px}.case-step .eyebrow{margin-bottom:0}.proof-gallery{grid-template-columns:1fr}.case-more-proof h2{font-size:29px}.case-consult{grid-template-columns:1fr;padding:25px;gap:35px}.case-consult h2{font-size:28px}.work-evidence-grid .visual-card{grid-template-columns:1fr}.work-evidence-grid .case-card-image{height:270px;min-height:0}.case-card-image{height:210px}.case-provenance{margin-top:30px}.case-hero .main-proof.proof-photo img{max-height:390px}}
.search-answers .search-related{list-style:none;padding:0;margin:1rem 0 1.5rem;display:grid;gap:.85rem}
.search-answers .search-source{font-size:.85rem;line-height:1.6;margin-top:1.5rem}
.search-answers .search-source a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.basin-guide{padding-bottom:60px}.basin-guide .article-header{max-width:940px;margin-left:0}.basin-jump{display:flex;flex-wrap:wrap;gap:12px}.basin-jump a{border:1px solid #b8c8c3;padding:12px 18px;border-radius:30px;color:inherit;text-decoration:none;font-size:14px}.basin-jump a:hover{background:#e8efeb}.basin-map-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:30px;align-items:start}.basin-map{margin:0;background:#fff;border:1px solid #dce4e0;border-radius:12px;overflow:hidden}.basin-map img{display:block;width:100%;height:auto;object-fit:contain}.basin-map figcaption{padding:12px 16px;font-size:13px;line-height:1.5;color:#445d54}.basin-map-side h3{margin-top:25px}.basin-map-side p{line-height:1.7}.basin-attribution{font-size:12px;line-height:1.7;color:#566b62;margin-top:18px;max-width:1000px}.basin-attribution a{color:inherit}.basin-how{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid #dce4e0;border-bottom:1px solid #dce4e0}.basin-how ol{margin:0;padding-left:24px}.basin-how li{padding-left:10px;margin-bottom:24px}.basin-how li:last-child{margin-bottom:0}.basin-how li p{margin:8px 0 0;line-height:1.7}.basin-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.basin-authority{padding:24px;border:1px solid #cbd8d1;border-radius:10px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit;transition:background .2s}.basin-authority:hover{background:#e8efeb}.basin-authority span{font-size:13px}.basin-authority strong{font-size:25px}.basin-authority span:last-child{color:#3f6252}.basin-autonomic{margin-top:30px}.basin-consult{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;padding:38px;background:#e9efeb;border-radius:14px}.basin-consult p,.basin-consult li{line-height:1.7}.basin-consult li{margin-bottom:10px}.basin-guide-card .guide-photo img{object-fit:contain;background:#fff}.basin-guide [id]{scroll-margin-top:110px}
@media(max-width:760px){.basin-map-layout,.basin-how,.basin-consult{grid-template-columns:1fr}.basin-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.basin-authority{padding:17px}.basin-authority strong{font-size:22px}.basin-consult{padding:24px}.basin-how{gap:24px}}
@media(max-width:380px){.basin-directory{grid-template-columns:1fr}}
.basin-tool{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px;padding:36px;background:#edf2ed;border:1px solid #d0ddd4;border-radius:12px}.basin-tool form{min-width:0}.basin-tool label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}.basin-tool input,.basin-tool select{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:8px;padding:13px 12px;border:1px solid #a9bcb1;background:white;color:#173b33;border-radius:4px;font:inherit}.basin-tool fieldset{border:0;padding:0;margin:0;min-width:0}.basin-locator [hidden]{display:none!important}.basin-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.basin-help{font-size:12px;line-height:1.7;color:#496457}.basin-tool-note{border-left:1px solid #c4d3c9;padding-left:34px}.basin-tool-note h3{font-size:29px;line-height:1.25;margin:14px 0 20px}.basin-tool-note p{line-height:1.8}.basin-tool .button{margin-top:16px;cursor:pointer}.basin-tool .button:disabled{opacity:.65;cursor:wait}.basin-status{font-size:14px;line-height:1.7;margin:16px 0 0}.basin-result{margin-top:24px;padding:30px;border:1px solid #9fb9aa;border-radius:12px;background:#f8faf7;overflow-wrap:anywhere}.basin-result h3{font-size:28px;margin:12px 0 18px}.basin-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;border-block:1px solid #d1ded5;margin:22px 0;padding:22px 0}.basin-result h4{font-size:13px;color:#4b6357;margin:0 0 14px}.basin-name{font-size:23px;font-weight:600;line-height:1.4}.basin-warning{background:#fff3d8;border-left:3px solid #a6772d;padding:14px 18px;font-size:14px;line-height:1.7}.basin-result p{line-height:1.7}.basin-tool :is(input,select):focus-visible{outline:3px solid #a77d3b;outline-offset:2px}@media(max-width:760px){.basin-tool{grid-template-columns:1fr;padding:22px;gap:24px}.basin-tool-note{border-left:0;border-top:1px solid #c4d3c9;padding:24px 0 0}.basin-result{padding:22px}.basin-result-grid{grid-template-columns:1fr;gap:18px}}@media(max-width:420px){.basin-fields{grid-template-columns:1fr}}
.basin-locator .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Clientes de la portada */
.clients-home .section-heading { margin-bottom: clamp(1.5rem, 4vw, 3rem); }
.client-list {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
  margin: 0; padding: 1px; list-style: none; background: #d6dfdb;
}
.client-list > li {
  display: grid; grid-template-rows: 5rem 2.6rem; align-content: center;
  align-items: center; justify-items: center; gap: .8rem;
  min-width: 0; min-height: 10rem; padding: 1.2rem .7rem;
  background: #fff; text-align: center;
}
.client-list > li:nth-child(n+5) { display: none; }
.client-list img { display: block; width: min(100%, 10.5rem); height: 5rem; object-fit: contain; }
.client-list span { color: #364c47; font-size: .87rem; line-height: 1.3; overflow-wrap: anywhere; }
.client-list > .client-name-only { grid-template-rows: 1fr; }
.client-list .client-wordmark {
  display: grid; justify-items: center; align-content: center; gap: .55rem;
  width: 100%; text-align: center;
}
.client-wordmark strong {
  color: #193e43; font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 2.25vw, 2rem); line-height: 1.04;
  letter-spacing: -.035em; font-weight: 500;
}
.client-list .client-wordmark small {
  font-size: clamp(.57rem, .78vw, .73rem); line-height: 1.25;
  letter-spacing: .075em; color: #45655d; text-transform: uppercase;
}
.client-wordmark::before { content: ''; width: 2rem; border-top: 2px solid #88a399; }
@media (max-width: 700px) {
  .client-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .client-list > li { grid-template-rows: 3.7rem 3.6rem; gap: .55rem; min-height: 8.5rem; padding: .65rem .35rem; }
  .client-list > li:nth-child(n+4) { display: none; }
  .client-list > .client-name-only { grid-template-rows: 1fr; }
  .client-list img { height: 3.7rem; }
  .client-list span { font-size: .74rem; }
}

.map-choice{display:grid;align-content:center;justify-items:start;gap:1rem;min-height:260px;padding:clamp(20px,4vw,48px);background:#e2e9e6;border:1px solid #cbd9d8}.map-choice p{max-width:42ch;margin:0}

#service-catalog .catalog-card[hidden],#specialty-overview[hidden]{display:none}

.hero .home-search{margin-top:24px;max-width:32rem;color:white}
.home-search form{max-width:760px}
.home-search label{display:block;font-weight:700;margin-bottom:10px}
.home-search form>div{display:flex;align-items:stretch;background:white;border:1px solid white}
.home-search input{flex:1;min-width:0;padding:14px 16px;color:var(--ink);background:var(--paper);border:1px solid var(--line);font:inherit}
.home-search button{flex:none}
.featured-page[hidden],.featured-controls[hidden]{display:none}
.featured-controls{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1rem}
.featured-controls button{border:1px solid var(--line);background:white;color:var(--ink);width:44px;height:44px;font:inherit;font-size:1.25rem;cursor:pointer}
.featured-controls button:hover,.featured-controls button:focus-visible{background:var(--ink);color:white}

.email-actions{display:inline-flex;position:relative;align-items:center;gap:.25rem;max-width:100%;vertical-align:middle}
.contact .whatsapp-link{display:flex;width:fit-content;margin-top:18px}
.email-actions:has(.contact-mail){display:flex;width:fit-content;margin-top:12px}
.email-actions .contact-mail{margin:0}
.copy-email{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;padding:5px;color:inherit;background:transparent;border:0;border-radius:4px;cursor:pointer}
.copy-email svg{width:16px;height:16px}
.copy-email:hover,.copy-email:focus-visible{outline:1px solid currentColor}
.email-feedback{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:720px){.topbar .email-actions{display:none}}
