@import url('https\://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Montserrat:wght@400;500;600;700;800;900&display=swap');
:root {
    --green:#0b241a;
    --green2:#12372a;
    --orange:#e95118;
    --cream:#f2f0e9;
    --ink:#13261c;
    --muted:#626b64;
    --max:1280px;
}
* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
    scroll-padding-top:76px;
}

body {
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:Montserrat,Arial,sans-serif;
    line-height:1.5;
}

a {
    color:inherit;
    text-decoration:none;
}

img {
    display:block;
    width:100%;
    object-fit:cover;
}

.header {
    height:66px;
    background:#071d14;
    color:#f7f4e9;
    position:sticky;
    top:0;
    z-index:20;
}

.nav-wrap {
    height:100%;
    max-width:1400px;
    padding:0 3.5%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.logo {
    display:flex;
    align-items:center;
    gap:7px;
    min-width:260px;
}

.logo-mark {
    width:75px;
    height:50px;
}

.mountain {
    fill:none;
    stroke:#f3f0e6;
    stroke-width:3.2;
}

.pine {
    fill:#f3f0e6;
}

.logo-orange {
    fill:var(--orange);
}

.logo-type {
    display:flex;
    flex-direction:column;
    line-height:.82;
}

.logo-type strong {
    font-size:2rem;
    font-weight:900;
    letter-spacing:-.04em;
}

.logo-type small {
    font-size:.65rem;
    letter-spacing:.05em;
    font-weight:800;
    margin-top:6px;
}

.nav {
    display:flex;
    align-items:center;
    gap:clamp(17px,3vw,43px);
    font-size:.69rem;
    font-weight:700;
}

.nav>a:not(.btn) {
    height:66px;
    display:flex;
    align-items:center;
    border-bottom:2px solid transparent;
}

.nav>a:not(.btn):hover,.nav>a.active {
    color:#ff6a2b;
    border-bottom-color:var(--orange);
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    padding:12px 20px;
    font-size:.66rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.075em;
    min-height:38px;
    transition:.2s;
}

.btn span {
    font-size:1rem;
}

.orange {
    background:var(--orange);
    color:white;
    border:1px solid var(--orange);
}

.orange:hover {
    background:#c94311;
    border-color:#c94311;
}

.nav-button {
    min-height:38px;
    padding:10px 19px;
    margin-left:4px;
}

.menu-toggle {
    display:none;
}
.hero {
    position:relative;
    min-height:438px;
    display:flex;
    align-items:center;
    color:white;
    overflow:hidden;
}

.hero-image {
    position:absolute;
    inset:0;
    background-image:linear-gradient(90deg,rgba(3,15,10,.82) 0%,rgba(3,15,10,.6) 43%,rgba(3,15,10,.05) 100%),url('https\://images.unsplash.com/photo-1764639567780-ac96b438171c?auto=format&fit=crop&w=2200&q=90');
    background-position:right center;
    background-size:cover;
}

.hero-inner {
    position:relative;
    width:calc(100% - 10.8%);
    max-width:1280px;
    margin:auto;
    padding:62px 0 68px;
}

.kicker {
    font-size:.63rem;
    font-weight:800;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin:0 0 12px;
}

.kicker span {
    color:#ff6a2b;
    margin:0 7px;
}

.hero h1 {
    font-family:'Barlow Condensed',Impact,sans-serif;
    font-size:clamp(3.5rem,6.2vw,5.1rem);
    font-weight:900;
    line-height:.91;
    letter-spacing:.005em;
    text-transform:uppercase;
    margin:0 0 17px;
    max-width:740px;
}

.hero h1 em {
    font-style:normal;
    color:var(--orange);
}

.hero-text {
    font-size:.9rem;
    line-height:1.5;
    margin:0 0 24px;
    max-width:530px;
}

.hero-buttons {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.transparent {
    color:white;
    border:1px solid #ffffffb8;
    background:#071d1445;
}

.transparent:hover {
    background:white;
    color:var(--green);
}

.section {
    padding:34px 3.3% 25px;
}

.services {
    background-color:var(--cream);
    background-image:radial-gradient(#d8d7ce 0.65px,transparent .65px);
    background-size:8px 8px;
}

.section-head {
    display:grid;
    grid-template-columns:1.45fr .65fr;
    align-items:end;
    gap:50px;
    margin:0 auto 20px;
    max-width:1280px;
}

.eyebrow {
    font-size:.62rem;
    letter-spacing:.22em;
    color:var(--orange);
    font-weight:900;
    text-transform:uppercase;
    margin:0 0 7px;
}

.section-head h2,.contact-content h2 {
    font-family:'Barlow Condensed',Impact,sans-serif;
    text-transform:uppercase;
    color:var(--green);
    font-size:clamp(2.1rem,3.3vw,3.15rem);
    line-height:.98;
    letter-spacing:-.01em;
    margin:0;
}

.section-summary {
    font-size:.65rem;
    line-height:1.55;
    color:#535e56;
    margin:0 0 2px;
}

.service-cards {
    max-width:1280px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
}

.service-card {
    background:#fff;
    min-width:0;
}

.service-card img {
    height:176px;
}

.card-copy {
    padding:13px 17px 15px;
}

.card-copy h3 {
    font-family:'Barlow Condensed',Impact,sans-serif;
    font-size:1.18rem;
    line-height:1.08;
    margin:0 0 7px;
    color:#17261d;
}

.card-copy p {
    font-size:.68rem;
    line-height:1.48;
    color:#4f5751;
    margin:0 0 10px;
    min-height:48px;
}

.text-link {
    font-size:.66rem;
    letter-spacing:.09em;
    font-weight:900;
    color:#d74914;
    text-transform:uppercase;
}

.text-link span {
    font-size:.95rem;
    margin-left:7px;
}

.capabilities {
    background:#082319;
    color:#f2f0e6;
    min-height:87px;
    padding:14px 5%;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    align-items:center;
    background-image:linear-gradient(90deg,#071e15ef,#071e15e8),url('https\://images.unsplash.com/photo-1448375240586-882707db888b?auto=format&fit=crop&w=1800&q=85');
    background-position:center;
    background-size:cover;
}

.capability {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    min-height:53px;
    border-right:1px solid #c5d0c35e;
}

.capability:last-child {
    border:0;
}

.capability svg {
    width:51px;
    height:43px;
    flex:none;
    color:#f4f1e7;
}

.capability strong {
    font-size:.67rem;
    line-height:1.35;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.projects {
    padding-top:24px;
    padding-bottom:26px;
    background:#f5f3ed;
}

.project-head {
    grid-template-columns:1fr 1.05fr;
    align-items:center;
    margin-bottom:17px;
}

.project-head h2 {
    font-size:2.65rem;
}

.project-intro {
    display:flex;
    align-items:center;
    gap:25px;
    justify-content:space-between;
}

.project-intro p {
    max-width:370px;
    font-size:.67rem;
    color:#59625b;
    line-height:1.5;
    margin:0;
}

.outline-orange {
    border:1px solid var(--orange);
    color:#d94a17;
    white-space:nowrap;
    padding:10px 14px;
}

.outline-orange:hover {
    background:var(--orange);
    color:white;
}

.project-grid {
    max-width:1280px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
}

.project-tile {
    height:144px;
    position:relative;
    overflow:hidden;
    background:var(--green);
}

.project-tile:after {
    content:"";
    position:absolute;
    inset:45% 0 0;
    background:linear-gradient(transparent,#071b13e8);
}

.project-tile img {
    height:100%;
    transition:transform .35s;
}

.project-tile:hover img {
    transform:scale(1.05);
}

.project-tile span {
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    z-index:1;
    color:white;
    font-size:.61rem;
    font-weight:800;
    padding:10px 12px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.project-tile b {
    font-size:.95rem;
    color:#ff6a2b;
}

.project-disclaimer {
    max-width:1280px;
    margin:8px auto 0;
    font-size:.57rem;
    color:#85877f;
}

.contact-banner {
    position:relative;
    min-height:190px;
    color:white;
    display:flex;
    align-items:center;
    overflow:hidden;
}

.contact-bg {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(5,20,14,.76),rgba(5,20,14,.37)),url('https\://images.unsplash.com/photo-1473448912268-2022ce9509d8?auto=format&fit=crop&w=2000&q=90') center 48%/cover;
}

.contact-content {
    position:relative;
    width:calc(100% - 10.8%);
    max-width:1280px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1.25fr;
    gap:45px;
    align-items:center;
    padding:30px 0;
}

.contact-content .kicker {
    margin-bottom:8px;
}

.contact-content h2 {
    color:#f6f3e9;
    font-size:2.65rem;
}

.contact-side {
    max-width:460px;
}

.contact-side p {
    font-size:.69rem;
    margin:0 0 13px;
    color:#f0f0e8;
}

.contact-side .btn {
    min-width:150px;
}

.contact-email {
    display:block;
    margin-top:8px;
    color:#ffe1d2;
    font-size:.65rem;
}

footer {
    background:#071b13;
    color:#b9c5bc;
}

.footer-inner {
    max-width:1280px;
    width:calc(100% - 10.8%);
    margin:auto;
    min-height:62px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
}

.footer-logo {
    font-size:1.15rem;
    color:#f3f0e6;
    font-weight:900;
    line-height:.85;
}

.footer-logo small {
    display:block;
    font-size:.52rem;
    letter-spacing:.12em;
    margin-top:5px;
}

.footer-inner p,.footer-inner>span {
    font-size:.6rem;
    margin:0;
}
@media(min-width:1500px) {
    .hero {
        min-height:520px;
    }

    .hero-inner {
        padding:82px 0;
    }

    .service-card img {
        height:220px;
    }

    .project-tile {
        height:175px;
    }

}
@media(max-width:900px) {
    .logo {
        min-width:210px;
    }

    .nav {
        gap:17px;
    }

    .nav-button {
        padding:9px 12px;
    }

    .hero h1 {
        font-size:4.3rem;
    }

    .section-head {
        gap:28px;
    }

    .card-copy h3 {
        font-size:1.1rem;
    }

    .project-intro {
        gap:14px;
    }

}
@media(max-width:680px) {
    .header {
        height:68px;
    }

    .nav-wrap {
        padding:0 16px;
    }

    .logo {
        min-width:0;
    }

    .logo-mark {
        width:55px;
        height:43px;
    }

    .logo-type strong {
        font-size:1.6rem;
    }

    .logo-type small {
        font-size:.53rem;
    }

    .menu-toggle {
        display:block;
        color:white;
        background:transparent;
        border:1px solid #ffffff55;
        font-size:1.2rem;
        padding:6px 10px;
    }

    .nav {
        display:none;
        position:absolute;
        top:68px;
        left:0;
        right:0;
        background:#071d14;
        padding:14px 22px 22px;
        align-items:stretch;
        flex-direction:column;
        gap:0;
    }

    .nav.open {
        display:flex;
    }

    .nav>a:not(.btn) {
        height:auto;
        padding:12px 0;
        border-bottom:1px solid #ffffff18;
    }

    .nav-button {
        margin-top:12px;
    }

    .hero {
        min-height:480px;
    }

    .hero-image {
        background-image:linear-gradient(90deg,rgba(3,15,10,.88),rgba(3,15,10,.56)),url('https\://images.unsplash.com/photo-1764639567780-ac96b438171c?auto=format&fit=crop&w=2200&q=90');
        background-position:right center;
    }

    .hero-inner {
        width:calc(100% - 36px);
        padding:56px 0;
    }

    .hero h1 {
        font-size:clamp(3rem,12vw,4.25rem);
    }

    .kicker {
        font-size:.55rem;
        letter-spacing:.14em;
    }

    .hero-text {
        font-size:.82rem;
    }

    .desktop {
        display:none;
    }

    .section {
        padding:42px 17px 22px;
    }

    .section-head,.project-head {
        grid-template-columns:1fr;
        gap:13px;
    }

    .section-head h2 {
        font-size:2.65rem;
    }

    .section-summary {
        font-size:.75rem;
    }

    .service-cards {
        grid-template-columns:1fr;
        gap:14px;
    }

    .service-card img {
        height:220px;
    }

    .card-copy {
        padding:17px;
    }

    .card-copy h3 {
        font-size:1.35rem;
    }

    .card-copy p {
        font-size:.77rem;
        min-height:0;
    }

    .capabilities {
        grid-template-columns:1fr;
        padding:10px 24px;
    }

    .capability {
        justify-content:flex-start;
        border-right:0;
        border-bottom:1px solid #c5d0c35e;
        padding:9px 10px;
    }

    .capability:last-child {
        border-bottom:0;
    }

    .capability svg {
        width:43px;
    }

    .projects {
        padding-top:38px;
    }

    .project-head h2 {
        font-size:2.7rem;
    }

    .project-intro {
        align-items:flex-start;
        flex-direction:column;
    }

    .project-intro p {
        font-size:.75rem;
    }

    .project-grid {
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .project-tile {
        height:140px;
    }

    .project-tile span {
        font-size:.55rem;
        padding:8px;
    }

    .contact-content {
        width:calc(100% - 36px);
        grid-template-columns:1fr;
        gap:20px;
        padding:38px 0;
    }

    .contact-content h2 {
        font-size:2.7rem;
    }

    .contact-side p {
        font-size:.77rem;
    }

    .footer-inner {
        width:calc(100% - 36px);
        padding:18px 0;
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }

    .footer-inner p,.footer-inner>span {
        font-size:.66rem;
    }

.logo-mark {
  display: block;
  width: 112px;
  height: 72px;
  object-fit: contain;
}


}
