:root{--green:#2f7d24;--lime:#50ae2f;--forest:#12321e;--deep:#091a10;--ink:#17211b;--muted:#5f6b63;--paper:#f3f6f1;--line:#dce3da;--white:#fff;--max:1240px;--shadow:0 24px 70px rgba(19,47,28,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:"Segoe UI",Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.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}.skip-link{position:fixed;z-index:100;left:8px;top:8px;background:var(--white);padding:10px 15px;transform:translateY(-140%)}.skip-link:focus{transform:none}.notice{padding:14px 18px;background:#f8efe0;border-left:4px solid #d48918;font-size:14px}
.site-header{height:88px;position:absolute;z-index:30;inset:0 0 auto;color:var(--white);border-bottom:1px solid rgba(255,255,255,.19)}.site-header.is-solid,.site-header.is-sticky{position:relative;background:var(--white);color:var(--ink);border-color:var(--line)}.site-header.is-sticky{position:fixed;box-shadow:0 8px 30px rgba(10,34,18,.08);animation:drop .25s ease}.site-header.is-solid .brand img,.site-header.is-sticky .brand img{filter:none}.header-inner{width:min(calc(100% - 48px),var(--max));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}.brand{width:126px;height:68px;overflow:hidden;display:flex;align-items:center}.brand img{width:116px;filter:brightness(0) invert(1)}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:650}.main-nav>a{position:relative}.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--lime);transition:right .25s}.main-nav>a:hover::after,.main-nav>a:focus-visible::after,.main-nav>a[aria-current="page"]::after{right:0}.nav-cta{padding:11px 16px;border:1px solid currentColor}.menu-toggle{display:none;background:none;border:0;color:inherit;padding:8px}.menu-toggle i{display:block;width:24px;height:2px;background:currentColor;margin:5px}@keyframes drop{from{transform:translateY(-100%)}to{transform:none}}
.hero{position:relative;min-height:760px;height:100vh;max-height:940px;overflow:hidden;background:linear-gradient(120deg,#0b2114,#173a23 54%,#1e4d2b);color:var(--white);display:flex;align-items:center}.hero::after,.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 46%,rgba(80,174,47,.26),transparent 29%)}.technical-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(to right,transparent,black 28%,black 88%,transparent)}.hero-content{position:relative;z-index:3;padding-top:60px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:750}.eyebrow{display:flex;align-items:center;gap:12px;color:#cce0cf}.eyebrow::before{content:"";width:34px;height:2px;background:var(--lime)}.hero h1,.page-hero h1,.display-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}.hero h1{font-size:clamp(52px,6.3vw,96px);line-height:.99;max-width:900px;margin:30px 0}.hero h1 em{font-weight:400;color:#9bd083}.hero-lead{font-size:18px;line-height:1.75;color:#d7e2d9;max-width:660px}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:40px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:54px;padding:0 22px;font-size:13px;font-weight:750;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:#102316}.button-dark{background:var(--forest);color:var(--white)}.button-light{background:var(--white);color:var(--forest)}.button-outline{border:1px solid currentColor;background:transparent}.button-text{min-height:auto;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.45)}.hero-facts{display:flex;margin:64px 0 0}.hero-facts div{padding:0 42px;border-left:1px solid rgba(255,255,255,.22)}.hero-facts div:first-child{padding-left:0;border:0}.hero-facts dt{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#9fb2a3}.hero-facts dd{font:25px Georgia,serif;margin:4px 0 0}.hero-diagram{position:absolute;z-index:2;right:6vw;top:50%;width:450px;height:540px;transform:translateY(-44%);border:1px solid rgba(255,255,255,.16)}.hero-diagram::before,.hero-diagram::after{content:"";position:absolute;background:rgba(255,255,255,.14)}.hero-diagram::before{width:1px;inset:0 auto 0 50%}.hero-diagram::after{height:1px;inset:50% 0 auto}.diagram-core{position:absolute;inset:80px 48px;border:1px solid rgba(255,255,255,.23);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.diagram-core i{border:1px solid rgba(255,255,255,.12);position:relative}.diagram-core i::after{content:"";position:absolute;inset:23%;border:1px solid rgba(124,198,92,.32)}.orbit{position:absolute;border:1px solid rgba(128,202,97,.25);border-radius:50%}.orbit.one{width:640px;height:640px;right:-140px;top:100px}.orbit.two{width:350px;height:350px;right:110px;top:265px}
.section{padding:118px 0}.section-soft{background:var(--paper)}.section-dark{background:var(--deep);color:var(--white)}.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:end;margin-bottom:58px}.section-head h2,.split-copy h2,.cta-band h2{font:400 clamp(40px,4.8vw,66px)/1.05 Georgia,serif;letter-spacing:-.035em;margin:12px 0 0}.section-head>p,.large-copy{font-size:17px;color:var(--muted);margin:0}.kicker{color:var(--green);margin:0}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:380px;padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,255,255,.6);transition:background .25s,transform .25s}.service-card:hover{background:var(--white);transform:translateY(-4px)}.service-card.featured{background:var(--forest);color:var(--white)}.card-no{font:11px Consolas,monospace;color:#667269}.service-mark{font:52px Georgia,serif;color:var(--green);margin:42px 0 34px}.service-card.featured .service-mark{color:#8bcb70}.service-card h3{font:400 24px/1.17 Georgia,serif;margin:0 0 16px}.service-card p{font-size:14px;color:var(--muted)}.service-card.featured p{color:#c4d1c7}.service-card>a{position:absolute;left:28px;right:28px;bottom:28px;display:flex;justify-content:space-between;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:750}.service-card.featured>a{color:#9ad47f}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.architectural-visual{aspect-ratio:1/1;background:var(--forest);position:relative;overflow:hidden;display:grid;place-items:center;color:rgba(255,255,255,.07);font:170px Georgia,serif}.architectural-visual::before{content:"";position:absolute;inset:9%;border:1px solid rgba(255,255,255,.15);transform:rotate(7deg)}.architectural-visual i{position:absolute;border:1px solid rgba(125,199,94,.28);border-radius:50%}.architectural-visual i:nth-of-type(1){width:72%;height:72%}.architectural-visual i:nth-of-type(2){width:48%;height:48%}.architectural-visual i:nth-of-type(3){width:22%;height:22%;background:rgba(80,174,47,.13)}.split-copy .large-copy{margin:25px 0}.check-list{list-style:none;padding:0;margin:32px 0 0;border-top:1px solid var(--line)}.check-list li{padding:15px 0 15px 30px;border-bottom:1px solid var(--line);position:relative;font-size:14px;font-weight:650}.check-list li::before{content:"↗";position:absolute;left:0;color:var(--green)}
.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.reference-card{min-height:410px;padding:28px;color:var(--white);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:linear-gradient(135deg,#456a4c,#132d1c)}.reference-card::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px}.reference-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,24,13,.94),transparent 72%)}.reference-card>*{position:relative;z-index:2}.reference-tags{display:flex;gap:8px;margin-bottom:14px}.reference-tags span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;border:1px solid rgba(255,255,255,.34);padding:4px 7px}.reference-card h3{font:400 31px/1.1 Georgia,serif;margin:0 0 9px}.reference-card p{font-size:13px;color:#cbd6cd;margin:0}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.project-item{border:1px solid var(--line);padding:24px;background:var(--white);min-height:165px;display:flex;flex-direction:column}.project-item[hidden]{display:none}.project-item .project-type{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--green);font-weight:800}.project-item h3{font:400 20px/1.25 Georgia,serif;margin:16px 0 8px}.project-item p{font-size:13px;color:var(--muted);margin:auto 0 0}.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:34px}.filter-button{border:1px solid var(--line);background:var(--white);padding:10px 14px;font-size:12px;cursor:pointer}.filter-button.is-active{background:var(--forest);border-color:var(--forest);color:var(--white)}
.cta-band{padding:92px 0;background:var(--green);color:var(--white)}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:60px}.cta-band .kicker{color:#d5e9cc}.cta-band h2{margin-bottom:12px}.cta-band p{margin:0;color:#dbead6}.cta-actions{display:flex;align-items:center;gap:22px;flex-shrink:0}.phone-link{font-weight:750;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}.site-footer{background:var(--deep);color:#c1cec4;padding:72px 0 20px}.footer-grid{display:grid;grid-template-columns:1.45fr 1.05fr .8fr .8fr;gap:55px}.footer-brand img{width:150px}.footer-brand p,.site-footer p{font-size:13px;line-height:1.75}.site-footer h2{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#7c9181;margin:0 0 20px}.site-footer a:hover{color:var(--white)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:48px;padding-top:18px;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#708474}
.page-hero{position:relative;overflow:hidden;padding:165px 0 92px;background:linear-gradient(120deg,#0b2114,#193b24);color:var(--white)}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(52px,6vw,88px);line-height:1;margin:25px 0}.page-hero p{max-width:690px;color:#d5e1d7;font-size:18px}.breadcrumbs{font-size:11px;color:#9eb2a2}.breadcrumbs span{margin:0 8px;color:#5f8068}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:85px}.prose h2{font:400 40px/1.12 Georgia,serif;margin:0 0 22px}.prose h3{font:400 26px/1.2 Georgia,serif;margin:46px 0 15px}.prose p,.prose li{color:var(--muted)}.prose ul{padding-left:20px}.sidebar{position:relative}.sidebar-card{position:sticky;top:110px;background:var(--paper);padding:26px;border-left:3px solid var(--green)}.sidebar-card h2{font:400 23px Georgia,serif;margin:0 0 14px}.sidebar-card p{font-size:13px;color:var(--muted)}.sidebar-card a:not(.button){display:block;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:650}.phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}.phase-card{background:var(--paper);padding:22px;min-height:145px}.phase-card span{font:11px Consolas,monospace;color:var(--green)}.phase-card h3{font:400 18px Georgia,serif;margin:20px 0 6px}.phase-card p{font-size:12px;margin:0}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.team-card{border:1px solid var(--line);background:var(--white)}.team-portrait{aspect-ratio:4/3;background:linear-gradient(145deg,var(--forest),#345e40);display:grid;place-items:center;color:rgba(255,255,255,.75);font:58px Georgia,serif;position:relative;overflow:hidden}.team-portrait::before{content:"";position:absolute;width:75%;height:75%;border:1px solid rgba(255,255,255,.18);border-radius:50%}.team-info{padding:24px}.team-info h3{font:400 24px Georgia,serif;margin:0 0 5px}.team-role{color:var(--green);font-size:12px;font-weight:750}.team-info p{font-size:13px;color:var(--muted)}.timeline{position:relative;margin-top:45px}.timeline::before{content:"";position:absolute;left:89px;top:0;bottom:0;width:1px;background:var(--line)}.timeline-item{display:grid;grid-template-columns:70px 1fr;gap:40px;padding:0 0 35px}.timeline-year{font:22px Georgia,serif;color:var(--green)}.timeline-item h3{font:400 21px Georgia,serif;margin:0 0 7px}.timeline-item p{font-size:14px;color:var(--muted);margin:0}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-facts{display:grid;gap:18px;margin-top:34px}.contact-fact{padding:20px 0;border-top:1px solid var(--line)}.contact-fact span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-weight:800}.contact-fact strong{display:block;font:400 23px Georgia,serif;margin-top:6px}.contact-form{background:var(--paper);padding:38px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8cc;background:var(--white);padding:13px 14px;color:var(--ink);border-radius:0}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid rgba(80,174,47,.3);border-color:var(--green)}.checkbox{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:12px;color:var(--muted)}.honeypot{position:absolute;left:-9999px}.map-box{min-height:350px;background:var(--forest);color:var(--white);display:grid;place-items:center;text-align:center;padding:35px}.map-box p{max-width:520px;color:#c9d6cc}.map-box iframe{border:0;width:100%;height:400px}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.office-card{border:1px solid var(--line);padding:26px}.office-card .office-label{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--green);font-weight:800}.office-card h3{font:400 23px Georgia,serif;margin:15px 0 8px}.office-card p{font-size:14px;color:var(--muted)}
.legal{max-width:850px}.legal h2{font:400 31px Georgia,serif;margin:46px 0 14px}.legal h3{font-size:17px;margin:30px 0 8px}.legal p,.legal li{color:var(--muted)}.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.download-card{border:1px solid var(--line);padding:28px;min-height:230px;display:flex;flex-direction:column}.download-icon{font:45px Georgia,serif;color:var(--green)}.download-card h2{font:400 22px Georgia,serif;margin:22px 0 8px}.download-card p{font-size:13px;color:var(--muted)}.download-card span{margin-top:auto;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#89958d}.error-page{min-height:100vh;background:var(--forest);color:var(--white);display:grid;place-items:center;text-align:center;padding:30px}.error-page strong{font:160px/1 Georgia,serif;color:#6fb753}.error-page h1{font:400 42px Georgia,serif}.error-page p{color:#cbd9ce}
@media(max-width:1050px){.hero-diagram{opacity:.28;right:-180px}.service-grid{grid-template-columns:repeat(2,1fr)}.split-grid{gap:55px}.reference-card{min-height:360px}.project-list{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:1fr 1fr}.office-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}}
@media(max-width:760px){.container,.header-inner{width:min(calc(100% - 32px),var(--max))}.site-header{height:74px}.brand{width:86px;height:53px}.brand img{width:83px}.menu-toggle{display:block;z-index:3}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#102b1a;color:var(--white);padding:27px 22px;flex-direction:column;align-items:flex-start;gap:21px}.main-nav.is-open{display:flex}.hero{height:auto;min-height:760px;padding:130px 0 86px}.hero-content{padding:0}.hero h1{font-size:clamp(44px,14vw,64px)}.hero-lead{font-size:16px}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-facts{margin-top:50px}.hero-facts div{padding:0 13px}.hero-facts dd{font-size:19px}.hero-diagram{right:-260px;width:390px}.section{padding:80px 0}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:38px}.section-head h2,.split-copy h2,.cta-band h2{font-size:41px}.service-grid,.split-grid,.reference-grid,.project-list,.team-grid,.office-grid,.phase-grid,.download-grid{grid-template-columns:1fr}.service-card{min-height:320px}.architectural-visual{font-size:105px}.cta-inner,.cta-actions{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column;gap:10px;align-items:flex-start}.page-hero{padding:130px 0 75px}.page-hero h1{font-size:50px}.content-grid,.contact-layout{grid-template-columns:1fr;gap:45px}.sidebar-card{position:static}.contact-form{padding:24px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.timeline::before{left:64px}.timeline-item{grid-template-columns:52px 1fr;gap:25px}.cta-actions{gap:15px}}
.main-nav{position:relative;z-index:2}.hero::after,.page-hero::after,.technical-grid,.orbit,.hero-diagram{pointer-events:none}
.reference-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}.reference-card:hover>img{transform:scale(1.035)}.reference-card::before{z-index:1;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px)}.reference-card::after{z-index:1;background:linear-gradient(0deg,rgba(6,24,13,.96) 0,rgba(6,24,13,.55) 42%,rgba(6,24,13,.08) 78%)}.reference-card>*:not(img){position:relative;z-index:2}.reference-note{margin-top:12px;font-size:11px;color:#68766d}.verified-project{display:grid;grid-template-columns:180px 1fr;gap:32px;background:var(--forest);color:var(--white);padding:34px;margin:0 0 44px}.verified-project .project-year{font:58px Georgia,serif;color:#8fd073}.verified-project h3{font:400 30px/1.1 Georgia,serif;margin:0 0 12px}.verified-project p{color:#cad8cd;margin:0}.verified-project a{color:#a9dc91;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.verified-project{grid-template-columns:1fr;gap:10px;padding:26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* Design-Revision 2026-08: ruhige, bildstarke Architektursprache */
:root{--green:#2f7d24;--lime:#65bd42;--forest:#153723;--deep:#09170f;--ink:#162019;--muted:#626d65;--paper:#f2f5f0;--line:#d8dfd6;--warm:#e8eee5;--max:1280px;--shadow:0 28px 90px rgba(8,31,16,.16)}
body{font-family:"Aptos","Segoe UI",Arial,sans-serif;background:#fbfcfa}
.hero h1,.page-hero h1,.display-title,.section-head h2,.split-copy h2,.cta-band h2,.service-card h3,.reference-card h3,.team-info h3,.prose h2,.prose h3{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
.site-header{height:104px;background:linear-gradient(to bottom,rgba(5,18,10,.5),transparent)}
.header-inner{width:min(calc(100% - 64px),var(--max))}
.brand{width:160px;height:84px}.brand img{width:150px}
.main-nav{gap:32px;font-size:16px;line-height:1.25;letter-spacing:.015em}
.nav-cta{padding:15px 22px;background:rgba(255,255,255,.07);backdrop-filter:blur(8px)}
.site-header.is-solid,.site-header.is-sticky{background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
.site-header.is-solid .nav-cta,.site-header.is-sticky .nav-cta{background:var(--forest);border-color:var(--forest);color:#fff}

.hero-v2{min-height:820px;height:min(940px,100svh);max-height:none;background:linear-gradient(125deg,#081a0f 0,#102f1c 58%,#153a22 100%)}
.hero-v2::after{background:radial-gradient(circle at 86% 28%,rgba(101,189,66,.18),transparent 33%),linear-gradient(90deg,rgba(5,20,11,.25),transparent 58%)}
.hero-grid{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(370px,.72fr);gap:70px;align-items:center;padding-top:92px}
.hero-v2 .hero-content{padding:0}
.hero-v2 h1{max-width:760px;font-size:clamp(58px,6.4vw,101px);line-height:.94;margin:30px 0 32px}
.hero-v2 .hero-lead{max-width:650px;font-size:18px;line-height:1.7}
.hero-v2 .hero-facts{margin-top:58px}
.hero-v2 .hero-facts div{padding:0 32px}.hero-v2 .hero-facts dd{font-size:27px}.hero-v2 .hero-facts dt{letter-spacing:.17em}
.hero-media{position:relative;margin:0;align-self:stretch;min-height:600px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.28)}
.hero-media picture,.hero-media img{display:block;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:center 42%;filter:saturate(.78) contrast(1.05)}
.hero-media::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(5,18,10,.83) 100%)}
.hero-media::after{content:"";position:absolute;z-index:1;inset:22px;border:1px solid rgba(255,255,255,.26);pointer-events:none}
.hero-media figcaption{position:absolute;z-index:2;left:46px;right:46px;bottom:43px;display:grid;gap:4px}
.hero-media figcaption span{font-size:10px;text-transform:uppercase;letter-spacing:.19em;color:#bbdcb0;font-weight:800}.hero-media figcaption strong{font:400 28px/1.15 "Iowan Old Style",Georgia,serif}.hero-media figcaption small{margin-top:7px;color:#a9b8ac;font-size:9px;letter-spacing:.05em}
.hero-index{position:absolute;z-index:3;right:22px;bottom:24px;color:rgba(255,255,255,.34);font:9px/1.6 Consolas,monospace;letter-spacing:.12em;text-align:right}

.section{padding:125px 0}.section-head{grid-template-columns:1.08fr .72fr;gap:100px}.section-head h2,.split-copy h2{font-size:clamp(46px,4.8vw,68px);line-height:1.01}.section-head>p,.large-copy{line-height:1.8}.kicker{letter-spacing:.19em}
.services-section{position:relative;overflow:hidden}.services-section::before{content:"04";position:absolute;right:-18px;top:-98px;font:260px/1 Georgia,serif;color:rgba(18,50,30,.035)}
.service-grid{border:0;gap:1px;background:var(--line)}
.service-card{border:0;min-height:400px;background:#f9faf8;padding:32px}.service-card.featured{background:var(--forest)}
.service-card:hover,.service-card:focus-visible{background:var(--forest);color:var(--white);transform:translateY(-7px);box-shadow:0 22px 50px rgba(18,50,30,.14);z-index:2;outline:none}.service-grid:hover .service-card.featured:not(:hover),.service-grid:focus-within .service-card.featured:not(:focus-visible){background:#f9faf8;color:var(--ink)}.service-grid:hover .service-card.featured:not(:hover) p,.service-grid:focus-within .service-card.featured:not(:focus-visible) p{color:var(--muted)}.service-grid:hover .service-card.featured:not(:hover) .service-mark,.service-grid:focus-within .service-card.featured:not(:focus-visible) .service-mark{color:var(--green)}.service-card:hover p,.service-card:focus-visible p{color:#c4d1c7}.service-card:hover .service-mark,.service-card:focus-visible .service-mark{color:#8bcb70}.service-card:hover .card-link,.service-card:focus-visible .card-link{color:#9ad47f}
.service-card h3{font-size:26px}.service-mark{margin:46px 0 38px}.service-card{display:block}.card-link{position:absolute;left:32px;right:32px;bottom:30px;display:flex;justify-content:space-between;color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:750}.service-card.featured .card-link{color:#9ad47f}.service-grid:hover .service-card.featured:not(:hover) .card-link,.service-grid:focus-within .service-card.featured:not(:focus-visible) .card-link{color:var(--green)}
.section-link{display:flex;justify-content:flex-end;margin:30px 0 0}.section-link a{display:inline-flex;gap:36px;border-bottom:1px solid var(--ink);padding:0 0 7px;font-size:12px;font-weight:750}

.image-split{grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:110px}
.editorial-image{margin:0;position:relative;min-height:640px;overflow:hidden;background:var(--forest)}.editorial-image picture,.editorial-image img{width:100%;height:100%;display:block}.editorial-image img{object-fit:cover;filter:saturate(.76)}
.editorial-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 57%,rgba(5,20,11,.66))}
.editorial-image figcaption{position:absolute;z-index:2;bottom:30px;left:32px;color:#fff;font:26px "Iowan Old Style",Georgia,serif}
.inline-action{margin-top:34px}

.section-dark{background:#0a1c11}.section-dark .section-head>p{color:#b9c8bd}.section-dark .kicker{color:#84ce66}
.image-story-section{overflow:hidden;position:relative}.image-story-section::before{content:"";position:absolute;width:640px;height:640px;border:1px solid rgba(101,189,66,.12);border-radius:50%;right:-260px;top:-180px}
.image-story-grid{position:relative;display:grid;grid-template-columns:1.35fr .65fr;gap:18px;min-height:600px}.image-story{position:relative;overflow:hidden;min-height:600px;background:#162c1d}.image-story picture,.image-story img{display:block;width:100%;height:100%}.image-story img{object-fit:cover;filter:saturate(.65) contrast(1.08)}
.image-story::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,17,10,.9))}
.image-story>div{position:absolute;z-index:2;left:34px;right:34px;bottom:33px}.image-story span{font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:#9bd383;font-weight:800}.image-story h3{font:400 30px/1.16 "Iowan Old Style",Georgia,serif;margin:10px 0 0;max-width:520px}.image-story-wide h3{font-size:38px}
.media-disclaimer{color:#819184;font-size:10px;margin:15px 0 0}.media-disclaimer a{text-decoration:underline;text-underline-offset:3px}

.reference-mosaic{grid-template-columns:1.35fr .65fr;grid-template-rows:1fr 1fr;gap:18px}.reference-mosaic .reference-card{min-height:260px}.reference-mosaic .reference-card:first-child{grid-row:1/3;min-height:610px}.reference-mosaic .reference-card:not(:first-child){min-height:296px}.reference-mosaic .reference-card:not(:first-child) h3{font-size:26px}
.reference-footer{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:24px}.reference-footer p{font-size:11px;color:var(--muted);max-width:580px;margin:0}

.team-grid-compact{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.team-grid-compact .team-card{display:grid;grid-template-columns:76px 1fr;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 28px;min-height:285px;background:#fff}
.team-monogram{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--forest);color:#b9dfa9;font:18px Georgia,serif}
.team-grid-compact .team-info{padding:0}.team-grid-compact .team-info h3{font-size:26px}.team-count{font:9px Consolas,monospace!important;letter-spacing:.1em;color:#68736b!important;margin:0 0 20px!important}.team-grid-compact .team-role{min-height:38px}.team-grid-compact .team-info p{line-height:1.65}

.page-hero{padding:176px 0 104px;background:linear-gradient(120deg,#091b10,#183d24)}.page-hero::before{content:"IGV";position:absolute;right:4vw;bottom:-45px;color:rgba(255,255,255,.035);font:240px/1 Georgia,serif}.page-hero h1{max-width:950px}.page-hero p{line-height:1.75}
.phase-card{border-top:3px solid var(--green);background:#f3f6f1}.verified-project{border-left:6px solid var(--green)}
.site-footer{padding-top:84px}.footer-brand img{width:170px}.footer-bottom{padding-bottom:8px}

@media(max-width:1050px){.header-inner{width:min(calc(100% - 42px),var(--max))}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:42px}.hero-v2 h1{font-size:clamp(52px,7.2vw,78px)}.hero-media{min-height:560px}.image-split{gap:60px}.reference-mosaic{grid-template-columns:1.1fr .9fr}.team-grid-compact{grid-template-columns:1fr 1fr}.team-grid-compact .team-card:last-child{grid-column:1/-1}.image-story-grid{grid-template-columns:1fr 1fr}}
@media(min-width:761px) and (max-width:900px){.main-nav{gap:16px;font-size:13px}.nav-cta{padding:12px 14px}}
@media(max-width:760px){.site-header{height:76px}.header-inner{width:min(calc(100% - 28px),var(--max))}.brand{width:96px;height:56px}.brand img{width:92px}.main-nav{top:76px}.hero-v2{height:auto;min-height:0;padding:112px 0 30px}.hero-grid{display:flex;flex-direction:column;gap:46px;padding-top:0}.hero-v2 .hero-content{width:100%}.hero-v2 h1{font-size:clamp(48px,14vw,66px);line-height:.96}.hero-v2 .hero-lead{font-size:16px}.hero-v2 .hero-facts{width:100%;margin-top:46px}.hero-v2 .hero-facts div{padding:0 12px}.hero-v2 .hero-facts dt{font-size:8px}.hero-v2 .hero-facts dd{font-size:20px}.hero-media{width:calc(100% + 32px);min-height:520px;align-self:center}.hero-media figcaption{left:30px;right:30px;bottom:28px}.hero-index{display:none}.section{padding:82px 0}.section-head{gap:22px}.section-head h2,.split-copy h2{font-size:42px}.service-grid{gap:1px}.service-card{min-height:330px}.section-link{justify-content:flex-start}.image-split{display:flex;flex-direction:column;gap:50px}.editorial-image{width:calc(100% + 32px);align-self:center;min-height:500px}.image-story-grid{grid-template-columns:1fr}.image-story,.image-story-wide{min-height:480px}.image-story-wide h3,.image-story h3{font-size:29px}.reference-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.reference-mosaic .reference-card:first-child,.reference-mosaic .reference-card:not(:first-child){grid-row:auto;min-height:430px}.reference-footer{align-items:flex-start;flex-direction:column}.team-grid-compact{grid-template-columns:1fr}.team-grid-compact .team-card:last-child{grid-column:auto}.page-hero{padding:135px 0 80px}.page-hero::before{font-size:120px;bottom:-18px}.footer-grid{grid-template-columns:1fr}.footer-brand,.footer-grid>div:last-child{grid-column:auto}}
.team-grid-detailed .team-card{display:block;min-height:470px;padding:34px}.team-grid-detailed .team-monogram{margin-bottom:30px}.team-grid-detailed .team-role{min-height:48px}.team-grid-detailed .team-info p{font-size:12.5px}.team-grid-detailed .team-count{min-height:28px}
.digital-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,.72fr);gap:100px;align-items:center}.digital-grid h2{font:400 clamp(46px,4.8vw,68px)/1.01 "Iowan Old Style",Georgia,serif;letter-spacing:-.035em;margin:14px 0 28px}.digital-grid .large-copy{color:#b9c8bd}.digital-points{display:flex;flex-wrap:wrap;gap:9px;margin-top:32px}.digital-points span{border:1px solid rgba(255,255,255,.2);padding:9px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#d4dfd7}.digital-visual{position:relative;margin:0;min-height:540px;overflow:hidden}.digital-visual picture,.digital-visual img{display:block;width:100%;height:100%}.digital-visual img{object-fit:cover;filter:saturate(.55)}.digital-visual::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);margin:22px}.digital-visual figcaption{position:absolute;z-index:2;right:30px;bottom:27px;font-size:9px;color:#b5c4b8;background:rgba(5,18,10,.72);padding:7px 9px}
@media(max-width:1050px){.team-grid-detailed{grid-template-columns:1fr}.team-grid-detailed .team-card:last-child{grid-column:auto}.digital-grid{gap:55px}}
@media(max-width:760px){.team-grid-detailed .team-card{min-height:0}.digital-grid{grid-template-columns:1fr;gap:45px}.digital-grid h2{font-size:42px}.digital-visual{width:calc(100% + 32px);min-height:480px;justify-self:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.form-status{margin:0 0 20px;padding:14px 16px;border-left:4px solid #2f7d32;background:#edf7ee;color:#17351a}.form-status.is-error{border-left-color:#a33;background:#fff0f0;color:#5c2020}
.service-card.featured .card-no,.service-card:hover .card-no,.service-card:focus-visible .card-no{color:#b8c4ba}.cta-band .kicker,.cta-band p{color:#fff}.phone-link{display:inline-flex;align-items:center;min-height:44px;padding:10px 0}.site-footer a{display:inline-flex;align-items:center;min-height:44px}
