:root{--bg:#f3f0e9;--ink:#111514;--muted:#65706c;--orange:#f07d2c;--dark:#101a18;--line:rgba(17,21,20,.14);--white:#fff;--serif:'Source Serif 4',serif;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6}a{color:inherit;text-decoration:none}.topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;background:rgba(243,240,233,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--ink);display:grid;place-items:center;font-weight:800;letter-spacing:-2px}.brand b,.brand small{display:block}.brand b{font-size:14px;letter-spacing:.12em}.brand small{font-size:9px;color:var(--muted);letter-spacing:.06em}.nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.nav a:hover{color:var(--orange)}.nav-cta{border:1px solid var(--ink);padding:10px 16px}.menu-btn{display:none;background:none;border:0;font-size:24px}.hero{height:100vh;min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-media{position:absolute;inset:0;background:linear-gradient(120deg,#142a27 0%,#24413b 42%,#765738 100%)}.hero-media:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 80% 35%,rgba(240,125,44,.25),transparent 24%),linear-gradient(135deg,transparent 55%,rgba(255,255,255,.08) 55% 56%,transparent 56%);background-size:auto,80px 80px}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,12,.86) 0%,rgba(7,13,12,.4) 65%,rgba(7,13,12,.1))}.hero-content{position:relative;z-index:2;color:#fff;max-width:980px;padding:100px 6vw 0}.eyebrow,.section-kicker{font-size:11px;letter-spacing:.22em;font-weight:800;color:var(--orange);margin:0 0 18px}.hero h1,.section h2,.feature h2,.contact h2,#projectModal h2{font-family:var(--serif);font-weight:600;letter-spacing:-.035em;line-height:.99;margin:0}.hero h1{font-size:clamp(52px,7.8vw,110px);max-width:1100px}.hero h1 em{font-style:italic;color:#e6ddd0}.lead{max-width:680px;font-size:18px;color:#d7dfdc;margin:30px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 22px;border:1px solid transparent;font-weight:800;font-size:13px;cursor:pointer}.btn.primary{background:var(--orange);color:#17120e}.btn.secondary{border-color:rgba(255,255,255,.5);color:white}.scroll-cue{position:absolute;z-index:2;bottom:28px;right:5vw;color:#fff;font-size:11px;letter-spacing:.12em}.proof{display:grid;grid-template-columns:repeat(4,1fr);background:#ece7dc;border-bottom:1px solid var(--line)}.proof div{padding:28px 30px;border-right:1px solid var(--line);display:flex;align-items:baseline;gap:12px}.proof strong{font-family:var(--serif);font-size:34px}.proof span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase}.section{padding:110px 6vw}.intro .split,.split{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.section h2,.feature h2,.contact h2,#projectModal h2{font-size:clamp(44px,5vw,76px)}.section h2 span,.tech h2 span{color:#8f9995}.split p{font-size:18px;color:#4f5a56;max-width:650px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:70px}.values-grid article{background:var(--bg);padding:30px;min-height:210px}.values-grid span{font-size:11px;color:var(--orange);font-weight:800}.values-grid h3{font-family:var(--serif);font-size:28px;margin:28px 0 8px}.values-grid p{font-size:13px;color:var(--muted)}.dark{background:var(--dark);color:#eef3f1}.section-head{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw;align-items:end;margin-bottom:60px}.section-head>p{color:#a5afab;max-width:460px}.industry-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.industry-card{min-height:320px;position:relative;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,#1f302d,#27453d);border:1px solid rgba(255,255,255,.08)}.industry-card:nth-child(1),.industry-card:nth-child(4){grid-column:span 6}.industry-card:not(:nth-child(1)):not(:nth-child(4)){grid-column:span 3}.industry-card:before{content:"";position:absolute;width:220px;height:220px;border:1px solid rgba(240,125,44,.18);border-radius:50%;right:-80px;top:-70px}.industry-card small{color:var(--orange);font-weight:800;letter-spacing:.14em}.industry-card h3{font-family:var(--serif);font-size:32px;margin:6px 0}.industry-card p{color:#aeb8b4;font-size:13px;max-width:320px}.solution-list{border-top:1px solid var(--line)}.solution-list article{display:grid;grid-template-columns:80px 1fr 40px;gap:25px;padding:34px 0;border-bottom:1px solid var(--line);align-items:center}.solution-no{color:var(--orange);font-size:12px;font-weight:800}.solution-list h3{font-family:var(--serif);font-size:32px;margin:0 0 5px}.solution-list p{margin:0;color:var(--muted);max-width:760px}.solution-list article>span{font-size:22px}.feature{min-height:650px;display:grid;grid-template-columns:1.1fr .9fr}.feature-image{background:linear-gradient(135deg,#1d4f54,#5d8d8f 55%,#d0b08b)}.feature-copy{background:#ded5c4;padding:90px 7vw;display:flex;flex-direction:column;justify-content:center}.feature-copy p:not(.section-kicker){color:#555d58;max-width:520px}.text-link,.text-button{color:var(--orange);font-weight:800;font-size:13px}.text-button{background:none;border:0;padding:0;cursor:pointer}.project-grid{display:grid;grid-template-columns:1.3fr .85fr .85fr;gap:16px}.project-card{background:#e9e4d9;padding:18px}.project-image{height:250px;margin-bottom:20px}.project-card.large .project-image{height:360px}.p-water{background:linear-gradient(135deg,#345a5a,#afc5c0 58%,#8b6a48)}.p-solar{background:linear-gradient(145deg,#2d4657,#6d8ca5 45%,#d5a85c)}.p-scada{background:linear-gradient(145deg,#10191b,#23505a 60%,#5e7777)}.project-meta{display:flex;gap:8px;flex-wrap:wrap}.project-meta span{font-size:9px;font-weight:800;letter-spacing:.12em;border:1px solid var(--line);padding:5px 7px}.project-card h3{font-family:var(--serif);font-size:28px;line-height:1.1;margin:18px 0 10px}.project-card p{font-size:13px;color:var(--muted)}.tech-split{align-items:start}.tech p{color:#aab4b0}.process{border-top:1px solid rgba(255,255,255,.15)}.process div{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.15);display:grid;grid-template-columns:50px 1fr}.process span{color:var(--orange);font-size:11px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px}.why-grid article{border:1px solid var(--line);padding:35px;min-height:280px}.why-grid strong{font-family:var(--serif);font-size:58px;color:var(--orange)}.why-grid h3{font-size:18px}.why-grid p{color:var(--muted);font-size:13px}.contact{display:grid;grid-template-columns:.8fr 1.2fr;background:#d8d0c0}.contact-info{padding:95px 6vw;background:#17221f;color:#fff}.contact-info p:not(.section-kicker){color:#aeb8b4}.contact-details{margin-top:50px;display:grid;gap:10px;font-size:13px;color:#d2dad7}.contact-form{padding:75px 6vw;background:#ede8de}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:18px}.contact-form input,.contact-form select,.contact-form textarea{font:inherit;font-size:14px;border:0;border-bottom:1px solid #a9a79f;background:transparent;padding:12px 0;outline:none}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--orange)}.submit{margin-top:10px}.form-status{min-height:24px;font-size:13px}footer{padding:28px 4.5vw;display:flex;align-items:center;justify-content:space-between;font-size:11px;border-top:1px solid var(--line)}dialog{max-width:850px;width:90%;border:0;padding:55px;background:#f2ede3;color:var(--ink);box-shadow:0 30px 80px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(4,9,8,.7)}.modal-close{position:absolute;right:20px;top:15px;border:0;background:none;font-size:32px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.modal-grid div{border-top:1px solid var(--line);padding-top:16px}.modal-grid h4{margin:0}.modal-grid p{color:var(--muted)}@media(max-width:1000px){.nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--bg);padding:24px 5vw;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-btn{display:block}.proof{grid-template-columns:1fr 1fr}.intro .split,.split,.section-head,.contact{grid-template-columns:1fr}.industry-card,.industry-card:nth-child(1),.industry-card:nth-child(4),.industry-card:not(:nth-child(1)):not(:nth-child(4)){grid-column:span 6}.feature{grid-template-columns:1fr}.feature-image{min-height:360px}.project-grid{grid-template-columns:1fr 1fr}.project-card.large{grid-column:1/-1}.why-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.topbar{height:70px}.nav{top:70px}.hero{min-height:680px}.hero-content{padding-left:7vw;padding-right:7vw}.hero h1{font-size:50px}.proof{grid-template-columns:1fr}.proof div{padding:18px 7vw}.section{padding:80px 7vw}.section h2,.feature h2,.contact h2,#projectModal h2{font-size:42px}.values-grid,.project-grid,.form-row,.modal-grid{grid-template-columns:1fr}.industry-card,.industry-card:nth-child(1),.industry-card:nth-child(4),.industry-card:not(:nth-child(1)):not(:nth-child(4)){grid-column:1/-1}.feature-copy,.contact-info,.contact-form{padding:70px 7vw}.solution-list article{grid-template-columns:40px 1fr}.solution-list article>span{display:none}.solution-list h3{font-size:25px}footer{align-items:flex-start;gap:20px;flex-direction:column}.project-card.large{grid-column:auto}}
.reveal-section{opacity:.35;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal-section.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal-section{opacity:1;transform:none;transition:none}}

/* =========================================================
   RESPONSIVE CMS IMAGES
========================================================= */

.project-image,
.industry-image {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Project image ratio */
.project-image {
    aspect-ratio: 8 / 5;
    min-height: 0;
}

/* Industry image ratio */
.industry-image {
    aspect-ratio: 16 / 10;
}

/* If an actual img element is used */
.project-image img,
.industry-image img,
.cms-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Keep project cards consistent */
.project-card {
    overflow: hidden;
}

/* Mobile */
@media (max-width: 768px) {

    .project-image {
        aspect-ratio: 4 / 3;
    }

    .industry-image {
        aspect-ratio: 4 / 3;
    }
}

/* Very small screens */
@media (max-width: 480px) {

    .project-image,
    .industry-image {
        aspect-ratio: 1 / 1;
    }
}