@font-face{font-family:Metropolis;src:url('/fonts/metropolis/metropolis-regular-webfont.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Metropolis;src:url('/fonts/metropolis/metropolis-bold-webfont.woff2') format('woff2');font-weight:700 900;font-display:swap}

:root{--ink:#14232c;--muted:#52616a;--paper:#f8f8f3;--white:#fff;--line:#dbe1df;--teal:#116c65;--teal-dark:#074d49;--mint:#d8eee7;--orange:#e88a55;--sand:#f2e9dc;--shadow:0 18px 50px rgba(20,35,44,.08)}
*{box-sizing:border-box}
html{scroll-behaviour:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 Metropolis,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
a{color:var(--teal-dark);text-underline-offset:.2em}
a:hover{color:var(--teal)}
button{font:inherit}
::selection{background:var(--mint)}
:focus-visible{outline:3px solid var(--orange);outline-offset:4px}
.skip-link{position:absolute;z-index:100;top:-100px;left:1rem;background:var(--ink);color:#fff;padding:.7rem 1rem}.skip-link:focus{top:1rem}
.container{width:min(100% - 2.5rem,1180px);margin-inline:auto}
.narrow{width:min(100%,760px)}
.site-header{position:relative;z-index:20;background:rgba(248,248,243,.96);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:76px}
.brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--ink);text-decoration:none;font-family:Metropolis,Arial,sans-serif;font-weight:800;font-size:1.15rem;letter-spacing:-.055em}
.brand-logo{display:block;width:178px;height:35px;flex-shrink:0}
.nav-toggle{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:.55rem .8rem;font-weight:700;cursor:pointer}
.nav-toggle svg{width:19px;height:19px}
.site-nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:1rem 1.25rem 1.4rem}
.site-nav.open{display:block}
.nav-list{list-style:none;display:grid;gap:.15rem;margin:0;padding:0}
.nav-list a{display:block;padding:.65rem .5rem;border-radius:7px;text-decoration:none;font-weight:700;color:var(--ink)}
.nav-list a:hover,.nav-list a[aria-current=page]{background:var(--mint);color:var(--teal-dark)}
.nav-list .nav-contact{background:var(--teal);color:#fff;text-align:center;margin-top:.5rem}.nav-list .nav-contact:hover,.nav-list .nav-contact[aria-current=page]{background:var(--teal-dark);color:#fff}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;margin:0 0 1.1rem;color:var(--teal-dark);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.eyebrow:before{content:'';width:24px;height:2px;background:var(--orange)}
h1,h2,h3,h4{font-family:Metropolis,Arial,sans-serif;line-height:1.14;letter-spacing:-.045em;margin:0}
h1{font-size:clamp(2.7rem,9vw,5rem);font-weight:800}
h2{font-size:clamp(2rem,5.2vw,3.35rem);font-weight:800}
h3{font-size:1.32rem;font-weight:800}
p{margin:0 0 1.2rem}
.lead{font-size:clamp(1.12rem,2vw,1.35rem);line-height:1.6;color:var(--muted)}
.muted{color:var(--muted)}
.hero{padding:clamp(3.8rem,7vw,6rem) 0 4.5rem;overflow:hidden}
.hero-grid{display:grid;gap:3.5rem;align-items:center}
.hero h1{max-width:850px}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .lead{max-width:660px;margin:1.7rem 0 2rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:50px;padding:.75rem 1.25rem;border:1px solid var(--teal);border-radius:9px;background:var(--teal);color:#fff;text-decoration:none;font-size:.95rem;font-weight:800;transition:transform .2s,background .2s}
.button:hover{transform:translateY(-2px);background:var(--teal-dark);color:#fff}
.button.secondary{background:transparent;color:var(--teal-dark)}.button.secondary:hover{background:var(--mint);color:var(--teal-dark)}
.micro{margin:1rem 0 0;color:var(--muted);font-size:.88rem}
.hero-art{position:relative;min-height:300px;border:1px solid #c6dad3;border-radius:24px;background:linear-gradient(145deg,#d5ede4,#f4f5ec);box-shadow:var(--shadow);overflow:hidden}
.hero-art:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#9abbb0 1px,transparent 1px);background-size:22px 22px;opacity:.45}
.diagram{position:absolute;inset:10% 8%;display:grid;place-items:center}
.diagram-line{position:absolute;left:18%;right:18%;top:50%;height:2px;background:#94bcb0}
.diagram-line:before,.diagram-line:after{content:'';position:absolute;width:2px;height:60px;background:#94bcb0;top:-60px}.diagram-line:before{left:23%}.diagram-line:after{right:23%}
.diagram-card{position:absolute;display:grid;place-items:center;padding:.7rem;border:1px solid #bfd4cb;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 12px 30px rgba(20,35,44,.09);font-family:Metropolis,Arial,sans-serif;font-size:.78rem;font-weight:800;text-align:center}
.diagram-card svg{width:25px;height:25px;color:var(--teal);margin-bottom:.25rem}
.diagram-card.one{width:104px;top:3%;left:6%}.diagram-card.two{width:122px;top:2%;right:0}.diagram-card.three{width:122px;bottom:0;left:0}.diagram-card.four{width:106px;bottom:1%;right:5%}
.diagram-hub{position:relative;z-index:1;display:grid;place-items:center;width:102px;height:102px;border:8px solid #fff;border-radius:50%;background:var(--teal);color:#fff;box-shadow:0 15px 30px rgba(8,86,80,.25);font-family:Metropolis,Arial,sans-serif;font-size:.8rem;font-weight:800;text-align:center;line-height:1.3}
.trust-strip{border-block:1px solid var(--line);background:#fff;padding:1.25rem 0}.trust-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.8rem}.trust-inner strong{font-size:.88rem}.trust-inner span{color:var(--muted);font-size:.88rem}
.section{padding:clamp(4rem,8vw,7.5rem) 0}.section.alt{background:#fff}.section.tint{background:#eaf3ee}.section-heading{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.3rem}.section-heading p{max-width:600px;margin:0;color:var(--muted)}
.cards{display:grid;gap:1rem}.card{display:flex;flex-direction:column;padding:1.5rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 5px 25px rgba(20,35,44,.025)}.card p{color:var(--muted);margin:1rem 0 1.4rem}.card a.card-link{margin-top:auto;display:inline-flex;align-items:center;gap:.5rem;font-weight:800;text-decoration:none}.card a.card-link:after{content:'↗';font-size:1.2rem}.card-icon{display:grid;place-items:center;width:45px;height:45px;margin-bottom:1.3rem;border-radius:10px;background:var(--mint);color:var(--teal-dark);font-size:1.35rem;font-weight:800}
.project-card{position:relative;overflow:hidden;min-height:290px}.project-card:before{content:'';position:absolute;top:-65px;right:-65px;width:200px;height:200px;border:30px solid var(--mint);border-radius:50%;opacity:.6}.project-card>*{position:relative}.tag{display:inline-block;width:max-content;padding:.35rem .65rem;border-radius:99px;background:var(--mint);color:var(--teal-dark);font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.project-card h3{margin-top:2.5rem;max-width:270px}.project-card p{max-width:390px}
.split{display:grid;gap:2.5rem;align-items:center}.feature-panel{padding:2rem;border-radius:18px;background:var(--ink);color:#fff}.feature-panel p{color:#cbdad8}.feature-panel ul{margin:1.5rem 0 0;padding-left:1.3rem}.feature-panel li{margin:.75rem 0}.feature-panel strong{color:#fff}
.number-list{display:grid;gap:1rem;counter-reset:step}.number-item{position:relative;padding:1.3rem 1.3rem 1.3rem 4.2rem;border-top:1px solid var(--line)}.number-item:before{counter-increment:step;content:'0' counter(step);position:absolute;left:0;top:1.35rem;color:var(--teal);font-family:Metropolis,Arial,sans-serif;font-weight:800}.number-item p{color:var(--muted);margin:.55rem 0 0}
.cta-band{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--teal-dark);color:#fff}.cta-band .eyebrow{color:#c6ede2}.cta-band h2{max-width:750px}.cta-band p{max-width:650px;margin:1.3rem 0 1.8rem;color:#d3e6e0}.cta-band .button{background:#fff;border-color:#fff;color:var(--teal-dark)}.cta-band .button:hover{background:var(--mint)}
.page-intro{padding:clamp(4rem,8vw,7rem) 0 3rem}.page-intro h1{max-width:850px}.page-intro .lead{max-width:760px;margin:1.4rem 0 0}.breadcrumb{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 2rem;color:var(--muted);font-size:.84rem}.breadcrumb li+li:before{content:'/';margin-right:.5rem;color:#9ba8aa}
.detail-grid{display:grid;gap:3rem}.detail-grid h2{font-size:clamp(1.7rem,4vw,2.4rem);margin:2.6rem 0 1rem}.detail-grid h2:first-child{margin-top:0}.detail-grid p,.detail-grid li{color:var(--muted)}.detail-grid ul{padding-left:1.2rem}.detail-grid li{margin:.6rem 0}.aside{padding:1.5rem;border:1px solid var(--line);border-radius:14px;background:#fff;align-self:start}.aside dl{margin:0}.aside dt{font-size:.73rem;color:var(--teal-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.aside dd{margin:.35rem 0 1.25rem}.aside dd:last-child{margin-bottom:0}.callout{padding:1.5rem;border-left:4px solid var(--orange);background:#fff;border-radius:0 12px 12px 0;font-size:1.1rem;font-weight:700}
.service-row{display:grid;gap:1.5rem;padding:2rem 0;border-top:1px solid var(--line)}.service-row h2{font-size:clamp(1.55rem,4vw,2.2rem)}.service-row p{color:var(--muted)}.service-row ul{padding-left:1.2rem;margin:0;color:var(--muted)}.service-row li{margin:.45rem 0}
.contact-grid{display:grid;gap:2rem}.contact-box{padding:2rem;border-radius:18px;background:#fff;border:1px solid var(--line)}.contact-email{display:inline-block;overflow-wrap:anywhere;font-family:Metropolis,Arial,sans-serif;font-size:clamp(1.4rem,4.5vw,2.7rem);font-weight:800;letter-spacing:-.04em}.contact-box ul{padding-left:1.2rem;color:var(--muted)}.contact-box li{margin:.55rem 0}
.site-footer{padding:3.5rem 0 1.5rem;background:#15252d;color:#c7d2d3}.footer-grid{display:grid;gap:2rem}.site-footer .brand{color:#fff}.site-footer p{max-width:350px;font-size:.9rem}.footer-links{display:grid;gap:.5rem;align-content:start}.footer-links a{color:#dce8e7;text-decoration:none;font-size:.9rem}.footer-links a:hover{text-decoration:underline}.footer-bottom{margin-top:3rem;padding-top:1rem;border-top:1px solid #3a4b50;font-size:.78rem;color:#aebdbd}
@media(min-width:700px){.container{width:min(100% - 4rem,1180px)}.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art{min-height:400px}.split{grid-template-columns:1fr 1fr}.service-row{grid-template-columns:1fr 1.4fr}.contact-grid{grid-template-columns:1.15fr .85fr}.footer-grid{grid-template-columns:2fr 1fr 1fr}.detail-grid{grid-template-columns:minmax(0,1fr) 270px}.section-heading{flex-direction:row;align-items:end;justify-content:space-between;gap:2rem}.section-heading h2{max-width:650px}}
@media(min-width:980px){.nav-toggle{display:none}.site-nav{display:block;position:static;padding:0;background:none;border:0;box-shadow:none}.nav-list{display:flex;align-items:center;gap:.3rem}.nav-list a{padding:.55rem .8rem;font-size:.91rem}.nav-list .nav-contact{margin:0 0 0 .4rem;padding:.68rem 1rem}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-grid{grid-template-columns:1.2fr .8fr;gap:4rem}.hero-art{min-height:470px}.diagram-card.one{left:7%}.diagram-card.two{right:4%}.diagram-card.three{left:3%}}
@media(max-width:400px){.container{width:min(100% - 2rem,1180px)}.hero-art{min-height:270px}.diagram-card{font-size:.68rem}.diagram-card.one,.diagram-card.two,.diagram-card.three,.diagram-card.four{width:88px}.diagram-hub{width:88px;height:88px}}
@media(prefers-reduced-motion:reduce){html{scroll-behaviour:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
