@import url('https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600&display=swap');

:root{
  --green:#0f4a3e;
  --green-2:#145a4b;
  --green-dark:#0c3a31;
  --teal:#2f9a7c;
  --teal-text:#1b745c;
  --gold-text:#ecc05a;
  --gold:#d9a21b;
  --gold-dark:#b9870f;
  --bg:#f1f4f3;
  --line:#d9e1de;
  --text:#24302d;
  --muted:#5b6965;
  --white:#fff;
  --radius:2px;
  --max:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:#fff;line-height:1.6;font-size:16px;font-weight:400}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3{color:var(--green);font-weight:500;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.4rem)}
h3{font-size:1.1rem;font-weight:600}
p{color:var(--muted)}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-text);font-weight:500;margin-bottom:16px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold);flex:none}
.eyebrow.plain::before{display:none}
.section{padding:88px 0}
.section.tint{background:var(--bg)}
.section.dark{background:var(--green);color:#dfeae6}
.section.dark h2,.section.dark h3{color:#fff}
.section.dark p{color:#c9dad4}
.section.dark .eyebrow{color:var(--gold-text)}

/* Buttons */
.btn{display:inline-block;padding:13px 22px;font:600 .88rem 'Jost',sans-serif;text-decoration:none;border:1.5px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-green{background:var(--green);color:#fff}
.btn-green:hover{background:var(--green-dark)}
.btn-outline{border-color:var(--green);color:var(--green);background:transparent}
.btn-outline:hover{background:var(--green);color:#fff}
.btn-gold{background:var(--gold);color:var(--green-dark)}
.btn-gold:hover{background:var(--gold-dark)}
.btn-ghost{border-color:#fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--green)}
.btn-wa{background:#25d366;color:#08331b;width:100%;text-align:center}
.btn-wa:hover{background:#1fbd5a}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--gold),var(--teal),var(--green)) 1}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand img{height:52px;width:auto}
.menu{display:flex;align-items:center;gap:28px;list-style:none}
.menu a{text-decoration:none;font-size:.9rem;color:var(--green-dark)}
.menu a:hover,.menu a.active{color:var(--teal-text)}
.menu .btn{color:var(--green-dark);padding:10px 18px}
.menu-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--green);margin:5px 0}

/* Hero */
.hero{background:var(--bg);padding:72px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.hero p.lead{font-size:1.05rem;margin-top:22px;max-width:470px}
.hero-img{aspect-ratio:4/3;object-fit:cover;width:100%;height:100%}

/* Stats */
.stats{background:var(--green);color:#fff;padding:40px 0}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat b{display:block;font-size:2.2rem;font-weight:500;line-height:1}
.stat span{font-size:.82rem;color:#bcd2cb}

/* Brands strip */
.brands-strip{padding:56px 0}
.brands-strip .title{text-align:center;font-size:.72rem;letter-spacing:.24em;color:var(--muted);margin-bottom:22px}
.brand-tiles{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.brand-tile{border:1px solid var(--line);padding:22px 10px;text-align:center;text-decoration:none;transition:border-color .2s}
.brand-tile:hover{border-color:var(--teal)}
.brand-tile b{display:block;color:var(--green-dark);font-weight:600;font-size:.98rem}
.brand-tile small{font-size:.72rem;color:var(--muted)}
.brand-tile.sole small{color:var(--teal-text);font-weight:500}

/* Cards */
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.link-arrow{color:var(--green);font-weight:600;font-size:.9rem}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%;border-bottom:3px solid var(--gold)}
.card .body{padding:22px 24px 26px}
.card h3{margin-bottom:8px}
.card p{font-size:.92rem}

/* Sectors */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sector .art{background:var(--bg);aspect-ratio:1/1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:20px 20px;display:flex;align-items:flex-end;justify-content:center}
.sector .art svg{width:100%;height:100%}
.sector h3{font-size:1rem;margin-top:12px}

/* Two-col dark feature */
.split{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px}
.feat{border-top:1px solid rgba(255,255,255,.2);padding-top:16px}
.feat.gold{border-top:2px solid var(--gold)}
.feat h3{font-size:1rem;margin-bottom:6px}
.feat p{font-size:.88rem}
.feat-grid.four{grid-template-columns:repeat(4,1fr)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{border:1px solid var(--line);padding:24px}
.step .n{font-size:.8rem;color:var(--teal-text);font-weight:600}
.step h3{margin:6px 0 8px;font-size:1rem}
.step p{font-size:.9rem}

/* CTA band */
.cta{background:var(--gold);padding:48px 0}
.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta h2{color:var(--green-dark);font-size:clamp(1.4rem,2.6vw,1.9rem);max-width:640px}

/* Footer */
.site-footer{background:var(--green-dark);color:#cfe0da;padding:56px 0 26px;border-top:3px solid transparent;border-image:linear-gradient(90deg,var(--teal),var(--gold)) 1}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:32px}
.foot-grid h4{color:#fff;font-size:.9rem;font-weight:600;margin-bottom:12px}
.foot-grid a,.foot-grid li,.foot-grid p{font-size:.86rem;color:#b9cfc8;text-decoration:none;list-style:none;line-height:1.9}
.foot-grid a:hover{color:#fff}
.foot-brand img{height:58px;width:auto;margin-bottom:12px}
.legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:.78rem;color:#93ada5}

/* Page header */
.page-head{background:var(--bg);padding:64px 0 56px}
.page-head p{max-width:600px;margin-top:16px;font-size:1.02rem}

/* Product rows */
.prod{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:48px 0;border-bottom:1px solid var(--line)}
.prod:last-child{border-bottom:0}
.prod.rev .prod-img{order:2}
.prod-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.prod .num{font-size:.8rem;color:var(--teal-text);font-weight:600;letter-spacing:.08em}
.prod h2{margin:8px 0 12px;font-size:clamp(1.5rem,2.6vw,2rem)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.chip{border:1px solid var(--green);color:var(--green);font-size:.8rem;padding:5px 12px}
.prod .brands-line{font-size:.88rem;color:var(--green-dark)}
.prod .brands-line b{font-weight:600}

/* Brand cards */
.bcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bcard{background:#fff;border:1px solid var(--line);padding:26px 22px;display:flex;flex-direction:column}
.bcard .wordmark{height:84px;display:flex;align-items:center;justify-content:center;background:var(--bg);margin-bottom:18px;font-weight:600;font-size:1.25rem;color:var(--green-dark);letter-spacing:.02em}
.bcard h3{font-size:1.05rem}
.bcard .role{font-size:.8rem;color:var(--teal-text);font-weight:500}
.bcard p{font-size:.88rem;margin:8px 0 14px;flex:1}
.bcard a{font-size:.84rem;color:var(--green);font-weight:600}

/* About */
.map-card{background:var(--bg);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--line)}
.ticks{list-style:none;margin-top:18px}
.ticks li{position:relative;padding-left:22px;margin-bottom:12px;color:var(--muted);font-size:.95rem}
.ticks li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--green)}
.ticks li:nth-child(2)::before{background:var(--gold)}
.ticks b{color:var(--green-dark)}
.region-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.region-chips span{border:1px solid var(--green);color:var(--green);font-size:.82rem;padding:7px 14px}
.partner-box{background:var(--green-2);padding:30px 32px;margin-top:44px}
.partner-box .steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:18px 0 26px}
.partner-box small{display:block;color:var(--gold-text);font-size:.7rem;letter-spacing:.14em;margin-bottom:6px}
.partner-box p{font-size:.88rem}
.partner-box b{color:#fff;font-weight:600}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1.9fr 1fr;gap:24px;align-items:start}
.form-card{background:#fff;padding:34px}
.tabs{display:flex;gap:8px;margin-bottom:26px}
.tab{padding:10px 18px;border:1.5px solid var(--green);background:#fff;color:var(--green);font:600 .85rem 'Jost',sans-serif;cursor:pointer}
.tab.on{background:var(--green);color:#fff}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 14px}
.fgrid.two{grid-template-columns:1fr 1fr}
.field label{display:block;font-size:.78rem;font-weight:600;color:var(--green-dark);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid #9fb1ab;padding:11px 12px;font:400 .92rem 'Jost',sans-serif;color:var(--text);background:#fff;border-radius:var(--radius)}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--teal);outline-offset:0;border-color:var(--teal)}
.field textarea{min-height:120px;resize:vertical}
.field.full{grid-column:1/-1}
.form-note{font-size:.78rem;color:var(--muted);margin-top:12px}
.hidden{display:none!important}
.info-card{background:var(--green);color:#fff;padding:28px}
.info-card h3{color:#fff;margin-bottom:16px}
.info-card dt{font-size:.74rem;color:#a9c4bc;margin-top:12px}
.info-card dd{font-size:.94rem}
.info-card dd a{text-decoration:none}
.info-card .btn{margin-top:22px}
.map{margin-top:16px;border:0;width:100%;height:260px;filter:saturate(.8)}
.thanks{text-align:center;padding:120px 0}
.thanks p{margin:16px auto 28px;max-width:520px}

/* Responsive */
@media (max-width:980px){
  .menu{position:absolute;top:81px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--line);display:none}
  .menu.open{display:flex}
  .menu li{width:100%;padding:10px 0;border-bottom:1px solid var(--bg)}
  .menu li:last-child{border:0;padding-top:16px}
  .menu-toggle{display:block}
  .hero-grid,.split,.prod,.contact-grid{grid-template-columns:1fr}
  .prod.rev .prod-img{order:0}
  .brand-tiles{grid-template-columns:repeat(4,1fr)}
  .cards3,.steps{grid-template-columns:1fr}
  .sectors,.bcards,.feat-grid.four{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .partner-box .steps3{grid-template-columns:1fr}
}
@media (max-width:640px){
  .section{padding:64px 0}
  .stats .grid{grid-template-columns:1fr 1fr}
  .brand-tiles{grid-template-columns:repeat(2,1fr)}
  .feat-grid,.fgrid,.fgrid.two,.foot-grid{grid-template-columns:1fr}
  .sectors,.bcards,.feat-grid.four{grid-template-columns:1fr 1fr}
  .form-card{padding:22px}
}

/* Quote page */
.q-section{background:#fff;padding:30px 34px;margin-bottom:18px;border:1px solid var(--line)}
.q-section h2{font-size:1.15rem;font-weight:600;margin-bottom:4px}
.q-section .hint{font-size:.85rem;margin-bottom:18px}
.q-num{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:.8rem;font-weight:600;margin-right:10px;border-radius:50%}
.items{width:100%;border-collapse:collapse}
.items th{font-size:.74rem;font-weight:600;color:var(--green-dark);text-align:left;padding:0 6px 8px;white-space:nowrap}
.items td{padding:5px 6px;vertical-align:top}
.items input,.items select{width:100%;border:1px solid #9fb1ab;padding:10px;font:400 .9rem 'Jost',sans-serif;border-radius:var(--radius);background:#fff}
.items td.qty{width:72px}.items td.unit{width:82px}.items td.brand{width:128px}.items td.part{width:36%}.items td.del{width:40px}
.del-btn{background:none;border:1px solid var(--line);width:38px;height:40px;cursor:pointer;color:var(--muted);font-size:1.1rem}
.del-btn:hover{border-color:#b33;color:#b33}
.add-btn{margin-top:12px;background:none;border:1.5px dashed var(--teal);color:var(--teal-text);padding:10px 16px;font:600 .85rem 'Jost',sans-serif;cursor:pointer}
.add-btn:hover{background:var(--bg)}
.drop{border:1.5px dashed #9fb1ab;padding:22px;text-align:center;background:var(--bg);font-size:.9rem;color:var(--muted)}
.drop input{margin-top:10px}
.radio-row{display:flex;gap:18px;flex-wrap:wrap;font-size:.92rem}
.radio-row label{display:flex;gap:6px;align-items:center;cursor:pointer}
.q-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.q-side{position:sticky;top:100px}
.q-side ol{padding-left:18px;margin-top:10px}
.q-side li{font-size:.9rem;color:#d4e3de;margin-bottom:8px}
.err{color:#b33;font-size:.85rem;margin-top:8px}
@media (max-width:760px){
  .items thead{display:none}
  .items tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid var(--line);padding:10px;margin-bottom:10px}
  .items td{padding:0;width:auto!important}
  .items td.part{grid-column:1/-1}.items td.spec{grid-column:1/-1}
  .items td.qty,.items td.unit,.items td.brand,.items td.del{width:auto}
  .items td[data-l]::before{content:attr(data-l);display:block;font-size:.72rem;font-weight:600;color:var(--green-dark);margin-bottom:3px}
  .q-section{padding:22px 18px}
  .q-side{position:static}
}
