:root{
    --paper:#f1f0eb;
    --ink:#102b36;
    --navy:#102b36;
    --lime:#d8f34b;
    --blue:#2d5d70;
    --muted:#67777b;
    --line:#cbd1ca;
    --white:#fafbf8;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    background:var(--paper);
}

body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:Inter,Arial,sans-serif;
    font-size:16px;
    line-height:1.55;
}

a{
    color:inherit;
    text-decoration:none;
}

.announcement{
    background:var(--lime);
    color:var(--navy);
    text-align:center;
    padding:9px 20px;
    font:700 11px/1.2 'DM Mono',monospace;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.announcement span{
    margin-left:14px;
    font-size:15px;
}

/* ===== NAVBAR (ALL SIZES) ===== */
.site-nav{
    min-height:82px;
    border-bottom:1px solid var(--line);
    background:var(--paper);
}

.site-nav .navbar-collapse{
    padding-top:1rem;
    padding-bottom:1rem;
}

.brand{
    display:flex;
    align-items:center;
    gap:11px;
    font:800 14px/1 'DM Mono',monospace;
    letter-spacing:.08em;
}

.brand-mark{
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    background:var(--navy);
    color:var(--lime);
    font:800 16px/1 Georgia,serif;
    border-radius:50%;
}

.nav-link{
    font:600 12px 'DM Mono',monospace;
}

.nav-link:hover,
.text-link:hover{
    color:var(--blue);
}

/* CTA button in navbar */
.nav-cta{
    background: var(--blue);      /* light lime background */
    color: var(--white);           /* dark text */
    padding: 14px 18px;
    font: 600 12px 'DM Mono', monospace;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
/*
.nav-cta:hover{
    background: var(--blue);      
    color: #ffffff;               
}*/



.menu-toggle{
    border:0;
    font:700 12px 'DM Mono',monospace;
}

/* ===== DESKTOP NAVBAR (≥992px) ===== */
@media (min-width: 992px) {
    .site-nav .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .site-nav .navbar-nav {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        width: auto !important;
    }

    .site-nav .nav-link,
    .site-nav .nav-cta {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        /* links dark, CTA overridden above to white text */
        color: var(--ink);
    }

    .site-nav .menu-toggle {
        display: none !important;
    }
}

/* ===== MOBILE NAVBAR (≤800px) ===== */
@media(max-width:800px){
    .site-nav{
        height:auto;
        min-height:82px;
    }
    .navbar-collapse{
        padding:20px 0;
    }
    .navbar-nav{
        align-items:flex-start!important;
    }
    .nav-cta{
        display:inline-block;
        margin-top:10px;
        width:auto;
    }
    .hero{
        padding-top:75px;
    }
    .hero-art{
        min-height:330px;
    }
    .industry-section,
    .case-study,
    .contact-section,
    .faq-section{
        grid-template-columns:1fr;
    }
    .problem-grid,
    .solution-grid{
        margin-top:55px;
    }
    .problem-grid article{
        min-height:auto;
    }
    .solution-card{
        min-height:230px;
    }
    .solution-card h3{
        margin-top:45px;
    }
    .case-visual{
        padding:40px 24px;
        min-height:390px;
    }
    .dashboard{
        min-height:220px;
    }
    .contact-section form{
        margin-top:20px;
    }
    .faq-section{
        gap:40px;
    }
    footer{
        flex-wrap:wrap;
        gap:20px;
    }
    footer p{
        width:100%;
        order:3;
    }
    .proof-strip{
        line-height:1.7;
    }
}

/* ===== REST OF YOUR STYLES (unchanged) ===== */
.hero{
    min-height:600px;
    padding:clamp(60px,9vw,130px) clamp(24px,8vw,130px);
    background:var(--navy);
    color:var(--white);
    overflow:hidden;
}

.eyebrow{
    color:var(--blue);
    font:700 11px/1.3 'DM Mono',monospace;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.eyebrow.lime,
.hero .eyebrow{
    color:var(--lime);
}

.eyebrow i{
    display:inline-block;
    width:7px;
    height:7px;
    background:currentColor;
    margin-right:10px;
    border-radius:50%;
}

h1,
h2,
h3{
    font-family:'DM Serif Display',Georgia,serif;
    font-weight:400;
    letter-spacing:-.05em;
}

.hero h1{
    font-size:clamp(48px,6vw,88px);
    line-height:.97;
    margin:25px 0;
}

.hero h1 em,
h2 em{
    color:var(--lime);
    font-style:italic;
}

.hero-intro{
    max-width:470px;
    color:#d7e0dc;
    font-size:18px;
    line-height:1.6;
    margin-bottom:32px;
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    padding:16px 22px;
    font:800 12px 'DM Mono',monospace;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.button-lime{
    background:var(--lime);
    color:var(--navy);
}

.button-dark{
    background:var(--navy);
    color:var(--white);
}

.microcopy{
    color:#91a4a4;
    font:11px 'DM Mono',monospace;
    margin-top:14px;
}

.hero-art{
    min-height:390px;
    position:relative;
    border:1px solid #41616b;
    background:radial-gradient(circle at center,#294c58 0,#142f3a 54%,#102b36 55%);
    overflow:hidden;
}

.hero-art:before,
.hero-art:after{
    content:'';
    position:absolute;
    background:#41616b;
    opacity:.45;
}

.hero-art:before{
    width:100%;
    height:1px;
    top:50%;
}

.hero-art:after{
    height:100%;
    width:1px;
    left:50%;
}

.art-label{
    position:absolute;
    top:25px;
    left:27px;
    color:#91a4a4;
    font:11px/1.6 'DM Mono',monospace;
    letter-spacing:.1em;
}

.art-label strong{
    color:var(--white);
}

.orbit{
    position:absolute;
    border:1px solid #668691;
    border-radius:50%;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(-20deg);
}

.orbit-one{
    width:290px;
    height:170px;
}

.orbit-two{
    width:170px;
    height:290px;
    transform:translate(-50%,-50%) rotate(35deg);
}

.node{
    position:absolute;
    padding:7px 10px;
    border:1px solid #668691;
    color:#d7e0dc;
    background:#193946;
    font:10px 'DM Mono',monospace;
}

.node-a{
    left:16%;
    top:43%;
}

.node-b{
    right:16%;
    top:27%;
}

.node-c{
    left:27%;
    bottom:18%;
}

.node-d{
    right:23%;
    bottom:24%;
}

.art-core{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:55px;
    height:55px;
    display:grid;
    place-items:center;
    background:var(--lime);
    color:var(--navy);
    font:800 24px Georgia,serif;
    border-radius:50%;
}

.art-core span{
    font:12px Arial;
    margin-left:3px;
}

.art-caption{
    position:absolute;
    right:25px;
    bottom:25px;
    color:#91a4a4;
    font:11px/1.5 'DM Mono',monospace;
}

.proof-strip{
    padding:22px clamp(24px,8vw,130px);
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:15px;
    border-bottom:1px solid var(--line);
    font:12px 'DM Mono',monospace;
}

.proof-strip span:first-child{
    color:var(--blue);
    font-size:10px;
    letter-spacing:.1em;
}

.proof-strip strong{
    font-weight:800;
}

.section{
    padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);
}

.section-heading{
    max-width:580px;
}

.section-heading h2,
.faq-intro h2{
    font-size:clamp(46px,5.5vw,76px);
    line-height:.98;
    margin-top:20px;
}

.section-heading h2 em,
.faq-intro h2 em{
    color:var(--blue);
}

.problem-grid,
.solution-grid{
    margin-top:85px;
    background:var(--line);
    border:1px solid var(--line);
}

.problem-grid article{
    background:var(--paper);
    min-height:230px;
    padding:28px;
}

.problem-grid b,
.steps b{
    color:var(--blue);
    font:11px 'DM Mono',monospace;
}

.problem-grid h3,
.solution-card h3,
.steps h3{
    font-size:30px;
    margin:45px 0 12px;
}

.problem-grid p,
.solution-card p,
.steps p{
    max-width:280px;
    color:var(--muted);
    margin:0;
}

.dark-section{
    background:var(--navy);
    color:var(--white);
}

.section-heading.light .eyebrow{
    color:var(--lime);
}

.section-heading.light h2 em{
    color:var(--lime);
}

.solution-grid{
    background:#38535c;
    border-color:#38535c;
}

.solution-card{
    background:var(--navy);
    padding:25px;
    min-height:280px;
    display:flex;
    flex-direction:column;
}

.solution-card>span{
    color:var(--lime);
    font:11px 'DM Mono',monospace;
}

.solution-card h3{
    margin-top:75px;
}

.solution-card p{
    color:#aababc;
}

.solution-card a{
    margin-top:auto;
    color:var(--lime);
    font:11px 'DM Mono',monospace;
    text-transform:uppercase;
}

.industry-section{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:10vw;
}

.industry-list{
    border-top:1px solid var(--line);
}

.industry-list a{
    display:grid;
    grid-template-columns:60px 1fr 20px;
    align-items:center;
    gap:20px;
    padding:25px 0;
    border-bottom:1px solid var(--line);
}

.industry-list span{
    color:var(--blue);
    font:11px 'DM Mono',monospace;
}

.industry-list strong{
    font:400 25px 'DM Serif Display',Georgia,serif;
}

.industry-list a:hover strong{
    color:var(--blue);
}

.process-section{
    background:#dfe3dc;
}

.process-grid{
    margin-top:80px;
}

.process-statement{
    font:400 clamp(28px,3.5vw,52px)/1.05 'DM Serif Display',Georgia,serif;
    letter-spacing:-.04em;
}

.process-statement strong{
    color:var(--blue);
    font-style:italic;
}

.steps>div{
    display:grid;
    grid-template-columns:50px 1fr;
    column-gap:20px;
    border-top:1px solid #aab8b1;
    padding:24px 0;
}

.steps h3{
    margin:0;
    font-size:27px;
}

.steps p{
    grid-column:2;
    margin-top:5px;
}

.case-study{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    background:var(--blue);
    color:var(--white);
}

.case-visual{
    min-height:480px;
    padding:70px;
    display:grid;
    place-items:center;
    background:#254f60;
}

.window-bar{
    width:min(480px,100%);
    padding:12px 16px;
    background:#173c4b;
}

.window-bar i{
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:5px;
    background:#77959b;
    border-radius:50%;
}

.dashboard{
    width:min(480px,100%);
    min-height:260px;
    background:var(--white);
    color:var(--navy);
    padding:27px;
    box-shadow:20px 20px 0 #163c49;
}

.dashboard span,
.dashboard small{
    font:10px 'DM Mono',monospace;
    color:var(--muted);
}

.dashboard strong{
    display:block;
    margin-top:16px;
    font:400 30px 'DM Serif Display',Georgia,serif;
}

.chart{
    display:flex;
    align-items:end;
    gap:13px;
    height:80px;
    margin:25px 0 10px;
    border-bottom:1px solid var(--line);
}

.chart i{
    width:25px;
    background:var(--lime);
}

.chart i:nth-child(1){height:25%;}
.chart i:nth-child(2){height:50%;}
.chart i:nth-child(3){height:35%;}
.chart i:nth-child(4){height:70%;}
.chart i:nth-child(5){height:53%;}
.chart i:nth-child(6){height:83%;}
.chart i:nth-child(7){height:100%;}

.dashboard small{
    color:var(--blue);
}

.dashboard small em{
    color:var(--muted);
    font-style:normal;
}

.case-copy{
    padding:clamp(60px,9vw,120px) clamp(30px,7vw,100px);
}

.case-copy .eyebrow{
    color:var(--lime);
}

.case-copy h2{
    font-size:clamp(44px,5vw,70px);
    line-height:.98;
}

.case-copy h2 em{
    color:var(--lime);
}

.case-copy>p:not(.eyebrow){
    color:#c6d4d1;
    max-width:380px;
}

.text-link{
    display:inline-block;
    margin-top:25px;
    color:var(--lime);
    font:11px 'DM Mono',monospace;
    text-transform:uppercase;
}

.contact-section{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10vw;
    padding:clamp(80px,10vw,150px) clamp(24px,8vw,130px);
    background:var(--lime);
}

.contact-section h2{
    font-size:clamp(48px,6vw,80px);
    line-height:.97;
    margin-top:20px;
}

.contact-section h2 em{
    color:var(--navy);
}

.contact-note{
    max-width:320px;
}

.contact-section form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-section label{
    display:flex;
    flex-direction:column;
    gap:7px;
    font:10px 'DM Mono',monospace;
    text-transform:uppercase;
}

.contact-section input,
.contact-section textarea{
    width:100%;
    border:0;
    border-bottom:1px solid #91a228;
    background:transparent;
    outline:0;
    padding:8px 0;
    color:var(--navy);
}

.contact-section input:focus,
.contact-section textarea:focus{
    border-color:var(--navy);
}

.contact-section textarea{
    resize:vertical;
}

.form-error{
    background:#fff0ed;
    color:#8b2b21;
    padding:12px 16px;
    margin-bottom:16px;
    font:12px 'DM Mono',monospace;
}

.success{
    background:var(--navy);
    color:var(--white);
    padding:36px;
}

.success span{
    color:var(--lime);
    font-size:30px;
}

.success h3{
    font-size:30px;
}

.success p{
    color:#c6d4d1;
}

.faq-section{
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:10vw;
    padding:clamp(80px,10vw,130px) clamp(24px,8vw,130px);
}

.faq-intro h2{
    font-size:clamp(48px,5vw,70px);
}

.faq{
    border-top:1px solid var(--line);
}

.faq:last-child{
    border-bottom:1px solid var(--line);
}

.faq button{
    width:100%;
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    background:transparent;
    border:0;
    color:var(--ink);
    text-align:left;
    font:400 19px 'DM Serif Display',Georgia,serif;
}

.faq button b{
    color:var(--blue);
    font:24px Arial;
}

.faq p{
    display:none;
    max-width:550px;
    color:var(--muted);
    padding:0 40px 20px 0;
    margin:0;
}

.faq.open p{
    display:block;
}

footer{
    display:flex;
    align-items:center;
    gap:40px;
    padding:35px clamp(24px,8vw,130px);
    background:var(--navy);
    color:var(--white);
    font:11px 'DM Mono',monospace;
}

footer p{
    margin-right:auto;
    color:#9eb0b0;
}