:root{--green:#1F7D53;--hover:#176240;--deep:#163A2B;--ink:#18230F;--cream:#FFF5E4;--paper:#FFFCF5;--sage:#E8EDDF;--muted:#616958;--border:#D8DDCE;--white:#fff;--wrap:1320px;--shadow:0 20px 55px rgba(17,54,32,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);font:400 16px/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);overflow-wrap:break-word}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,h4{font-family:Manrope,Arial,sans-serif;font-weight:600;line-height:1.2;letter-spacing:-.035em;margin:0}p{margin:0 0 1em}p:last-child{margin-bottom:0}ul{padding-left:1.2rem}li+li{margin-top:.4em}h2{font-size:clamp(32px,3.1vw,46px);line-height:1.17;letter-spacing:-.045em}h2 span{color:var(--green)}h3{font-size:clamp(19px,1.7vw,23px)}.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:48px}.section{padding:88px 0}.section-compact{padding:60px 0}.bg-paper{background:var(--paper)}.bg-sage{background:var(--sage)}.bg-dark{background:var(--deep);color:#fff}.section-heading{max-width:810px;margin-bottom:35px}.section-heading p{margin-top:17px;color:var(--muted);max-width:780px}.bg-dark .section-heading h2 span{color:#AED9BB}.bg-dark .section-heading p{color:#C3D1C5}.eyebrow{display:block;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:17px;line-height:1.45}.bg-dark .eyebrow,.footer .eyebrow{color:#ACD4B6}.mini-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;vertical-align:middle;margin-right:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--green);color:white;font-size:14px;font-weight:700;line-height:1.2;border:1px solid var(--green);border-radius:7px;padding:16px 23px;min-height:49px;transition:background .2s,transform .2s;white-space:normal;text-align:center}.btn:hover{background:var(--hover);transform:translateY(-2px)}.btn-secondary,.btn-outline{background:transparent;border:1px solid #AEBBA8;color:var(--deep)}.btn-secondary:hover,.btn-outline:hover{background:var(--sage);color:var(--deep)}.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--deep);font-size:14px;font-weight:700;border-bottom:1px solid var(--green);padding-bottom:5px}.text-link:hover{color:var(--green)}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.two-col{display:grid;grid-template-columns:1.04fr .96fr;gap:6%}.skip{position:absolute;z-index:120;top:-70px;left:20px;background:#fff;color:#000;padding:10px 18px}.skip:focus{top:8px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #74B996;outline-offset:3px}
.site-header{position:sticky;top:0;z-index:99;background:rgba(255,252,245,.96);border-bottom:1px solid rgba(22,58,43,.12);backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;min-height:91px;gap:18px}.brand-logo-link{display:inline-flex;align-items:center;flex:0 0 auto;max-width:225px;position:relative}.brand-logo{width:192px;height:auto;max-height:58px;object-fit:contain}.brand-fallback{display:none;font-weight:800;color:var(--deep);letter-spacing:.07em;font-size:15px}.brand-logo-link.image-unavailable .brand-logo{display:none}.brand-logo-link.image-unavailable .brand-fallback{display:inline}.header-brand-line{height:38px;width:1px;background:var(--border);margin-left:2px}.header-context{font-size:11px;line-height:1.45;color:var(--muted);min-width:105px}.header-context strong{font-size:12px;color:var(--deep)}.site-nav{margin-left:auto;display:flex;align-items:center;gap:18px}.site-nav>a:not(.btn){font-size:12.5px;font-weight:600;white-space:nowrap;padding:7px 0;border-bottom:2px solid transparent}.site-nav>a:not(.btn):hover,.site-nav>a[aria-current=location]{color:var(--green);border-color:var(--green)}.nav-action{padding:12px 16px;min-height:42px;white-space:nowrap;font-size:12px}.menu-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--border);padding:10px 15px;border-radius:7px;color:var(--deep);background:white;font-size:14px;font-weight:700}
.hero{padding:38px 0 80px}.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;color:var(--muted);padding:0 0 40px}.crumb a:hover{color:var(--green)}.hero-grid{display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:58px}.hero-copy{padding-bottom:12px}.hero-copy h1{font-size:clamp(42px,4.5vw,69px);line-height:1.08;letter-spacing:-.047em;margin:0 0 20px}.hero-copy h1 em{font-style:normal;color:var(--green)}.hero-kicker{font-family:Manrope,Arial,sans-serif;font-weight:600;font-size:clamp(20px,2.15vw,27px);line-height:1.42;letter-spacing:-.025em;margin-bottom:20px;max-width:620px}.hero-copy>p:not(.hero-kicker){color:#555F50;max-width:620px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:30px 0 27px}.hero-foot{border-top:1px solid var(--border);padding-top:19px;display:flex;gap:13px 20px;flex-wrap:wrap;color:#506354;font-size:11.5px;font-weight:600}.hero-foot span:before{content:'✓';color:var(--green);margin-right:5px}.hero-visual{position:relative;padding-bottom:30px}.hero-photo{overflow:hidden;position:relative;aspect-ratio:1/.88;background:#CFDFD4;border-radius:20px 20px 80px 20px}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}.photo-credit{position:absolute;left:18px;bottom:17px;font-size:11px;background:rgba(20,52,34,.87);color:#fff;padding:8px 12px;border-radius:5px}.hero-overlay{position:absolute;right:-12px;bottom:0;min-width:73%;background:var(--deep);color:white;border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:23px 26px;box-shadow:var(--shadow);display:grid;gap:8px}.hero-overlay>span,.hero-overlay small{font-size:10px;letter-spacing:1px;color:#C1D9C6}.hero-overlay strong{font:600 17px Manrope,Arial,sans-serif;letter-spacing:-.02em}.hero-overlay i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#87CCA0;margin:0 8px;vertical-align:middle}
.clients{border-block:1px solid var(--border);background:#FFFBF3}.clients-top{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}.clients-top h2{font-size:clamp(24px,2.5vw,32px)}.clients-top>p{color:var(--muted);max-width:420px;font-size:13px}.client-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.client-logo{border:1px solid var(--border);background:#fff;min-width:0;border-radius:12px;padding:12px;min-height:116px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px}.client-logo img{width:100%;height:57px;object-fit:contain}.client-logo span{font-size:10.5px;line-height:1.25;text-align:center;color:#536253}
.answer-grid{align-items:start}.answer-grid .lead{font-size:17px;color:#4E5C4E}.answer-panel{border:1px solid var(--border);border-radius:18px;background:var(--sage);padding:28px;box-shadow:var(--shadow)}.answer-panel>strong{font:600 22px Manrope,Arial,sans-serif;display:block;margin-bottom:18px}.answer-row{display:grid;grid-template-columns:40% 60%;border-bottom:1px solid #C7D0BE;gap:8px;padding:14px 0;font-size:13px}.answer-row span{color:var(--muted)}.answer-row b{font-weight:700;color:var(--deep)}.answer-panel>p{margin-top:19px;color:#687466;font-size:12px}
.challenge-card{background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:30px;display:flex;flex-direction:column;gap:13px;min-height:270px;transition:transform .2s}.challenge-card:hover,.solution-card:hover,.sector-card:hover{transform:translateY(-4px)}.tiny-index{font-size:12px;font-weight:700;color:var(--green);letter-spacing:2px}.challenge-card p{font-size:14px;color:var(--muted)}.section-action{display:flex;justify-content:flex-end;margin-top:28px}.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.practice-panel{background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:36px}.practice-panel h3{font-size:27px;margin-bottom:17px}.practice-panel p{font-size:15px;color:#526250}.practice-panel .text-link{margin-top:15px}
.outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.outcome-grid>div{padding:23px 21px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:15px}.outcome-grid b{color:#A9DABB;font-size:13px;letter-spacing:1px}.outcome-grid h3{margin:14px 0}.outcome-grid p{color:#CBD8CF;font-size:14px}
.solution-card{background:var(--paper);border:1px solid var(--border);border-radius:17px;padding:27px;min-height:265px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,border-color .2s}.solution-card:hover{border-color:var(--green)}.solution-mark{display:inline-flex;background:var(--sage);align-items:center;justify-content:center;border-radius:8px;width:43px;height:43px;color:var(--green);font-size:13px;font-weight:700}.solution-card h3{font-size:21px}.solution-card p{font-size:14px;color:var(--muted)}.inline-link{color:var(--green);font-weight:700;font-size:13px;margin-top:auto}.solution-bottom{border-top:1px solid var(--border);margin-top:32px;padding-top:26px;display:flex;gap:30px;justify-content:space-between;align-items:start}.solution-bottom p{font-size:13px;color:var(--muted);max-width:550px;margin-top:7px}.all-solutions{width:min(100%,500px)}.all-solutions>summary{color:var(--deep);cursor:pointer;font-weight:700;font-size:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:#fff;list-style:none}.all-solutions summary::-webkit-details-marker{display:none}.solution-directory{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--paper);padding:13px;border:1px solid var(--border);margin-top:8px;border-radius:10px}.solution-directory a{display:flex;justify-content:space-between;gap:5px;border-bottom:1px solid var(--border);font-size:12px;padding:8px}.solution-directory a:hover{color:var(--green)}
.sector-lead{display:grid;grid-template-columns:1.15fr .85fr;gap:35px;background:var(--deep);color:white;border-radius:18px;padding:33px 36px;margin-bottom:17px}.sector-lead h3{font-size:27px;max-width:620px;margin-bottom:14px}.sector-lead p{color:#D2DFD4;font-size:14px}.sector-lead .eyebrow{color:#ADDDBF}.sector-grid{gap:17px}.sector-card{background:white;border:1px solid var(--border);padding:29px;border-radius:17px;display:flex;flex-direction:column;min-height:350px;transition:transform .2s}.sector-card h3{margin-bottom:14px}.sector-card p{font-size:14px;color:var(--muted)}.sector-bottom{border-top:1px solid var(--border);margin-top:auto;padding-top:16px;display:grid;gap:6px}.sector-bottom span{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--green)}.sector-bottom strong{font-size:13px;line-height:1.55}
.ecosystem-grid{align-items:center}.ecosystem-grid p{color:var(--muted)}.architecture{background:var(--deep);border-radius:20px;padding:35px;box-shadow:var(--shadow)}.arch-row{border:1px solid #71997C;background:rgba(255,255,255,.06);border-radius:10px;color:white;padding:18px 22px;display:grid;gap:4px}.arch-row strong{font:600 18px Manrope,Arial,sans-serif}.arch-row span{font-size:12px;color:#D0E0D2}.arch-connector{text-align:center;font-size:11px;color:#BBD3BD;letter-spacing:.6px;padding:14px}.architecture small{display:block;color:#B9CBBC;margin-top:14px;font-size:11px}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-item{background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:29px;min-height:288px;display:flex;flex-direction:column;gap:12px}.service-item p{font-size:14px;color:var(--muted)}.service-output{margin-top:auto;padding-top:15px;border-top:1px solid var(--border);color:var(--green);font-size:12px;font-weight:700}
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.timeline article{border-top:1px solid rgba(255,255,255,.3);padding:23px 6px 10px}.timeline article span{display:block;color:#A4DAB8;font-size:14px;margin-bottom:15px}.timeline h3{color:white}.timeline p{font-size:14px;color:#C6D9CB;margin-top:12px}
.invest-grid{display:grid;grid-template-columns:1fr .88fr;gap:65px;align-items:start}.invest-grid h3{margin-bottom:20px}.clean-list li{border-bottom:1px solid var(--border);padding:10px 0;font-size:15px}.invest-aside{background:var(--paper);border:1px solid var(--border);padding:30px;border-radius:18px}.invest-aside p{color:var(--muted);font-size:14px;margin:15px 0}.invest-aside .btn{margin-top:10px}.evidence-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.evidence-grid>div>p{color:var(--muted)}.evidence-panel{background:var(--sage);border:1px solid var(--border);border-radius:18px;padding:31px}.evidence-panel>strong{font:600 20px Manrope,Arial,sans-serif}.evidence-panel li{font-size:14px;color:#4E594F}
.engagement-grid article{background:var(--paper);border:1px solid var(--border);padding:30px;border-radius:17px}.engagement-grid p{font-size:14px;color:var(--muted);margin-top:15px}.readiness-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}.check-panel{background:var(--paper);border:1px solid var(--border);border-radius:18px;padding:30px}.check-progress{display:flex;justify-content:space-between;font-size:14px;gap:10px}.check-progress span{color:var(--green);font-weight:700}.progress-track{height:7px;border-radius:20px;background:var(--sage);overflow:hidden;margin:15px 0 20px}.progress-track>div{height:100%;width:0;background:var(--green);transition:width .2s}.check-line{display:flex;gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.check-line input{width:17px;height:17px;accent-color:var(--green);flex:0 0 auto;margin-top:4px}.check-panel>p{font-size:13px;color:var(--muted);padding:18px 0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.faq-layout>div:first-child>p{color:var(--muted)}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{cursor:pointer;padding:18px 0;font-size:16px;font-weight:700;line-height:1.5;display:flex;justify-content:space-between;align-items:center;gap:15px;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:24px;color:var(--green);font-weight:400;transition:transform .2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{padding:0 30px 19px 0;font-size:14px;color:var(--muted)}
.contact-section{background:var(--deep);color:white}.contact-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:6%;align-items:start}.contact-section .section-heading h2 span{color:#AED8BB}.contact-section .section-heading p{color:#C4D4C8}.contact-steps{padding:15px 0 24px;border-top:1px solid rgba(255,255,255,.17);border-bottom:1px solid rgba(255,255,255,.17);margin:28px 0}.contact-steps p{display:flex;gap:15px;margin-bottom:12px;font-size:14px}.contact-steps b{color:#ADDDBF}.contact-copy>p a{text-decoration:underline}.form-panel{background:var(--paper);border-radius:18px;color:var(--ink);padding:34px}.form-panel>h3{font-size:23px;margin-bottom:8px}.form-panel>p{font-size:13px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:14px}.field>label{display:block;font-size:12.5px;line-height:1.4;font-weight:700;margin-bottom:8px}.field>label span{color:#AB3E38;display:inline}.field input,.field select,.field textarea{width:100%;border:1px solid #C7D0BD;background:#FFFDF9;border-radius:5px;padding:12px 13px;min-height:46px;color:var(--ink);outline:none;transition:border-color .2s}.field textarea{resize:vertical;min-height:98px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green)}[aria-invalid=true]{border-color:#B13F35!important;background:#FFF8F7!important}.field-error{display:block;color:#A02C25;font-size:11px;line-height:1.4;min-height:0}.field-error:not(:empty){margin-top:6px}.consent-line{display:flex;gap:10px;font-size:12px;line-height:1.5;align-items:start}.consent-line input{accent-color:var(--green);margin:3px 0 0;flex:0 0 auto}.consent-line a{color:var(--green);text-decoration:underline}.form-actions{margin-top:22px}.form-status{font-size:12px;margin-top:12px}.form-status.is-error{color:#B03C35}.form-status.is-success{color:var(--green)}.form-note{font-size:11px!important;color:var(--muted);margin-top:15px}.honey{position:absolute;left:-99999px;width:1px;height:1px;overflow:hidden}
.footer{background:#0D2B1E;color:white;padding:68px 0 28px}.footer-intro{display:flex;justify-content:space-between;align-items:end;gap:35px;padding-bottom:47px;border-bottom:1px solid rgba(255,255,255,.16)}.footer-intro h2{font-size:clamp(27px,3.5vw,45px)}.footer-intro h2 span{color:#A8CFB4}.footer-cta{display:flex;align-items:center;gap:22px;background:var(--green);padding:21px 24px;border-radius:9px;font-size:14px;font-weight:700}.footer-cta:hover{background:var(--hover)}.footer-brand{padding:35px 0;display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-brand .brand-logo{max-width:190px;filter:brightness(0) invert(1)}.footer-brand .brand-fallback{color:white}.footer-brand p{max-width:440px;color:#BDCCC2;font-size:14px}.footer-columns{display:grid;grid-template-columns:1.1fr 1fr 1fr 1.2fr;gap:37px;padding:30px 0}.footer-columns>div{min-width:0}.footer-columns h3{font-size:15px;letter-spacing:0;margin-bottom:19px;color:white}.footer-columns a{display:block;font-size:12.5px;color:#C7D5C9;margin-bottom:10px}.footer-columns a:hover{color:white;text-decoration:underline}.footer-columns address{font-size:13px;line-height:1.7;color:#BBCAC0;font-style:normal;margin-top:16px}.social-links{display:flex;gap:8px;margin-top:19px}.footer-columns .social-links a{width:39px;height:39px;border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0}.social-links svg{width:17px;height:17px;fill:currentColor}.social-links a:nth-child(n+2) svg{fill:none;stroke:currentColor;stroke-width:1.8}.footer-attributes{display:flex;gap:15px;flex-wrap:wrap;padding:22px 0;border-block:1px solid rgba(255,255,255,.16)}.footer-attributes span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#B5C8BB}.footer-attributes span+span:before{content:'·';margin-right:14px}.footer-bottom{display:flex;gap:20px;justify-content:space-between;align-items:center;padding-top:25px;font-size:12px;color:#B7C6BB}.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a:hover{text-decoration:underline}
/* Location index */.hub-hero{padding:88px 0 65px}.hub-hero h1{font-size:clamp(40px,5vw,67px);max-width:870px}.hub-hero h1 span{color:var(--green)}.hub-hero p{max-width:790px;color:var(--muted);font-size:17px;margin-top:26px}.directory-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:25px 0}.directory-toolbar input{width:min(100%,390px);border:1px solid var(--border);background:white;border-radius:8px;padding:12px 14px}.directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.directory-card{display:block;padding:25px;border-radius:14px;border:1px solid var(--border);background:var(--paper)}.directory-card h3{font-size:20px;margin:10px 0}.directory-card p{font-size:13px;color:var(--muted)}.directory-card span:last-child{color:var(--green);font-size:12px;font-weight:700}
@media(max-width:1250px){.site-nav{gap:11px}.site-nav>a:not(.btn){font-size:11.5px}.header-context{display:none}.header-brand-line{display:none}}
@media(max-width:1150px){.wrap{padding-inline:30px}.menu-toggle{display:inline-flex;margin-left:auto}.header-inner{min-height:82px}.site-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--border);padding:20px 30px;display:none;flex-direction:column;align-items:stretch;gap:1px;max-height:calc(100vh - 82px);overflow-y:auto}.site-nav.is-open{display:flex}.site-nav>a:not(.btn){font-size:14px;padding:9px 0}.site-nav .nav-action{margin-top:12px}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{gap:30px}.footer-columns{gap:18px}.hero-copy h1{font-size:clamp(40px,5vw,58px)}}
@media(max-width:900px){.section{padding:65px 0}.hero-grid{grid-template-columns:1fr}.hero{padding-bottom:60px}.hero-visual{width:min(100%,720px);margin-inline:auto}.hero-photo{aspect-ratio:1.4}.clients-top{align-items:start;flex-direction:column}.client-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3,.service-grid,.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.practice-grid,.ecosystem-grid,.sector-lead,.invest-grid,.evidence-grid,.readiness-grid,.faq-layout,.contact-grid{grid-template-columns:1fr;gap:28px}.outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.footer-intro{align-items:start;flex-direction:column}.footer-brand{align-items:start;flex-direction:column}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html{scroll-padding-top:85px}.wrap{padding-inline:22px}.section{padding:55px 0}.section-compact{padding:43px 0}.section-heading{margin-bottom:26px}.site-nav{padding:18px 22px}.brand-logo{max-width:155px}.header-inner{min-height:74px;gap:6px}.menu-toggle{font-size:12px;padding:9px 12px}.hero{padding:21px 0 56px}.crumb{padding-bottom:27px}.hero-copy h1{font-size:clamp(40px,10vw,51px)}.hero-kicker{font-size:21px}.hero-visual{padding-bottom:25px}.hero-photo{aspect-ratio:1.06;border-radius:16px 16px 48px 16px}.hero-overlay{min-width:80%;right:0;padding:17px}.hero-overlay strong{font-size:13px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.clients-top h2{font-size:25px}.client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.client-logo{min-height:105px}.client-logo img{height:47px}.grid-3,.grid-4,.service-grid,.timeline,.outcome-grid,.directory-grid{grid-template-columns:1fr}.solution-bottom{flex-direction:column}.all-solutions{width:100%}.solution-directory{grid-template-columns:1fr}.challenge-card,.service-item,.sector-card{min-height:0}.practice-panel{padding:27px}.practice-panel h3{font-size:23px}.sector-lead{padding:28px}.sector-lead h3{font-size:23px}.form-panel{padding:24px 20px}.form-grid{grid-template-columns:1fr;gap:0}.footer{padding-top:51px}.footer-columns{grid-template-columns:1fr 1fr;gap:35px 18px}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-intro h2{font-size:29px}.directory-toolbar{flex-direction:column;align-items:stretch}.directory-toolbar input{width:100%}}
@media(max-width:390px){.footer-columns{grid-template-columns:1fr}.hero-overlay{position:relative;min-width:0;margin:-20px 12px 0}.hero-visual{padding-bottom:0}.brand-logo{max-width:145px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}}


/* v1.1 release fixes: hero imagery and copy never overlap. The visual is a
   normal-flow stack at every viewport, including narrow mobile widths. */
.hero-grid{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr)}
.hero-copy,.hero-visual{min-width:0}
.hero-visual{position:relative;display:flex;flex-direction:column;gap:12px;padding:0;align-self:center}
.hero-photo{position:relative;display:flex;flex-direction:column;overflow:hidden;aspect-ratio:auto;min-width:0;border-radius:18px;background:var(--sage)}
.hero-photo img{display:block;width:100%;height:auto;aspect-ratio:1.28;min-height:260px;max-height:420px;object-fit:cover;object-position:center}
.photo-credit{position:static;display:block;width:100%;left:auto;bottom:auto;padding:10px 15px;border-radius:0;background:var(--deep);font-size:11px;line-height:1.4;letter-spacing:.01em}
.hero-overlay{position:static;right:auto;bottom:auto;min-width:0;max-width:100%;width:100%;border-radius:12px;padding:21px 24px;box-shadow:none;gap:7px}
.hero-overlay strong{overflow-wrap:anywhere;line-height:1.5}
.hero-photo.asset-unavailable{display:none}
/* A CSS display declaration must not defeat search-filter visibility. */
[hidden]{display:none!important}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-visual{width:min(100%,720px)}.hero-photo{aspect-ratio:auto}.hero-photo img{aspect-ratio:1.55;min-height:200px;max-height:420px}}
@media(max-width:600px){.hero-visual{gap:10px}.hero-photo{aspect-ratio:auto;border-radius:14px}.hero-photo img{aspect-ratio:1.4;min-height:180px;max-height:330px}.hero-overlay{position:static;min-width:0;margin:0;padding:18px}.hero-overlay strong{font-size:15px}.photo-credit{font-size:10px}}
@media(max-width:390px){.hero-overlay{position:static;min-width:0;margin:0}.hero-visual{padding:0}}
