/* K INTL — deep-green bands against a cool off-white, asymmetric hero,
   spec-table typography borrowed from procurement documents. */
:root{
  --deep:#023229;        /* darkest band, footer */
  --green:#0A4C3F;       /* primary band, header */
  --green-2:#0E6251;     /* hover / secondary */
  --accent:#8FD3B0;      /* highlight on dark */
  --accent-ink:#06302A;  /* text on accent */
  --paper:#F6F9F8;       /* page ground, green-biased neutral */
  --card:#FFFFFF;
  --ink:#10211C;
  --ink-2:#44605A;
  --ink-3:#7B948D;
  --rule:#DCE7E3;
  --display:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1080px;
  color-scheme:light;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);
     font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;display:block;}
a{color:var(--green);}

.wrap{max-width:var(--wrap);margin:0 auto;
      padding-left:max(20px,env(safe-area-inset-left,0px));
      padding-right:max(20px,env(safe-area-inset-right,0px));}

/* ---------- header ---------- */
.site-head{background:var(--green);}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
                 gap:20px;flex-wrap:wrap;padding-block:16px;}
.site-head img{width:188px;}
nav{display:flex;gap:4px;flex-wrap:wrap;}
nav a{font-family:var(--display);font-weight:600;font-size:14px;color:#C9E3D9;
      text-decoration:none;padding:7px 13px;border-radius:3px;letter-spacing:.005em;}
nav a:hover{color:#fff;background:rgba(255,255,255,.08);}
nav a[aria-current="page"]{color:var(--accent-ink);background:var(--accent);}
nav a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}

/* ---------- bands ---------- */
.band-deep{background:var(--deep);color:#DCEBE5;}
.band-green{background:var(--green);color:#DCEBE5;}
.band-paper{background:var(--paper);}
.band-card{background:var(--card);}
.band-deep .wrap,.band-green .wrap,.band-paper .wrap,.band-card .wrap{padding-block:clamp(44px,7vw,76px);}

/* ---------- type ---------- */
.eyebrow{font-family:var(--display);font-size:11.5px;font-weight:700;letter-spacing:.17em;
         text-transform:uppercase;color:var(--accent);margin:0 0 14px;}
.eyebrow.dark{color:var(--green-2);}
h1{font-family:var(--display);font-weight:800;letter-spacing:-.025em;line-height:1.04;
   font-size:clamp(34px,5.6vw,58px);margin:0;text-wrap:balance;}
h2{font-family:var(--display);font-weight:800;letter-spacing:-.02em;line-height:1.1;
   font-size:clamp(25px,3.4vw,36px);margin:0 0 16px;text-wrap:balance;}
h3{font-family:var(--display);font-weight:700;letter-spacing:-.012em;line-height:1.2;
   font-size:19px;margin:0 0 7px;}
p{margin:0 0 16px;max-width:68ch;}
p:last-child{margin-bottom:0;}
.lead{font-size:clamp(17px,2vw,20px);line-height:1.55;color:var(--ink-2);}
.band-deep .lead,.band-green .lead{color:#AFCCC2;}
.band-deep a,.band-green a{color:var(--accent);}

/* ---------- hero (asymmetric) ---------- */
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
            gap:clamp(28px,5vw,64px);align-items:end;padding-block:clamp(52px,9vw,96px);}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero-side{border-left:2px solid rgba(143,211,176,.3);padding-left:22px;}
.hero-side dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:7px 16px;font-size:14.5px;}
.hero-side dt{font-family:var(--display);font-weight:700;font-size:10.5px;letter-spacing:.13em;
              text-transform:uppercase;color:#7FA99C;padding-top:4px;}
.hero-side dd{margin:0;color:#DCEBE5;font-variant-numeric:tabular-nums;}
@media (max-width:760px){.hero .wrap{grid-template-columns:1fr;align-items:start;}}

/* ---------- buttons ---------- */
a.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--display);font-weight:700;
     font-size:14.5px;letter-spacing:.01em;text-decoration:none;padding:14px 24px;border-radius:3px;
     background:var(--accent);color:var(--accent-ink);border:0;}
a.btn:hover{background:#A8E2C5;}
a.btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}
a.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1.5px rgba(143,211,176,.45);}
a.btn.ghost:hover{background:rgba(143,211,176,.12);}
a.btn.solid{background:var(--green);color:#fff;}
a.btn.solid:hover{background:var(--green-2);}
a.btn.solid:focus-visible{outline-color:var(--green);}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;}

/* ---------- route cards (home) ---------- */
.routes{display:grid;grid-template-columns:repeat(auto-fit,minmax(286px,1fr));gap:18px;}
.route{background:var(--card);border:1px solid var(--rule);border-radius:5px;
       padding:28px 28px 30px;display:flex;flex-direction:column;gap:12px;}
.route h3{font-size:22px;margin:0;}
.route p{color:var(--ink-2);font-size:16px;margin:0;}
.route ul{margin:4px 0 0;padding-left:19px;color:var(--ink-2);font-size:15.5px;}
.route li{margin-bottom:6px;}
.route .go{margin-top:auto;padding-top:18px;font-family:var(--display);font-weight:700;
           font-size:14.5px;color:var(--green);text-decoration:none;}
.route .go:hover{text-decoration:underline;}

/* ---------- product grid ---------- */
.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px 20px;}
.product{display:flex;flex-direction:column;gap:3px;min-width:0;}
.product .shot{background:#EDF4F2;border-radius:5px;overflow:hidden;aspect-ratio:1/1;}
.product .shot img{width:100%;height:100%;object-fit:cover;}
.product h3{margin:14px 0 0;}
.product p{font-size:15.5px;color:var(--ink-2);margin:0;}
.product .ask{font-size:14px;color:var(--ink-3);margin-top:6px;}

/* ---------- spec table ---------- */
.spec{width:100%;border-collapse:collapse;font-size:15.5px;}
.spec th,.spec td{text-align:left;vertical-align:top;padding:13px 16px 13px 0;
                  border-bottom:1px solid var(--rule);}
.spec th{font-family:var(--display);font-size:11px;font-weight:700;letter-spacing:.12em;
         text-transform:uppercase;color:var(--ink-3);width:230px;padding-right:28px;}
.spec td{color:var(--ink-2);font-variant-numeric:tabular-nums;}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0;}
@media (max-width:620px){
  .spec th{display:block;width:auto;border-bottom:0;padding-bottom:2px;}
  .spec td{display:block;padding-top:0;}
}

/* ---------- two-column prose ---------- */
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:clamp(22px,4vw,46px);}
.cols > div{min-width:0;}

/* ---------- numbered steps ---------- */
.steps{counter-reset:s;display:grid;gap:3px;margin:0;padding:0;list-style:none;}
.steps li{counter-increment:s;position:relative;padding:13px 0 13px 36px;
          border-bottom:1px solid var(--rule);color:var(--ink-2);min-width:0;}
.steps li:last-child{border-bottom:0;}
.steps li::before{content:counter(s);position:absolute;left:0;top:13px;
                  font-family:var(--display);font-weight:800;font-size:15px;
                  color:var(--green);font-variant-numeric:tabular-nums;}
.steps b{color:var(--ink);font-weight:700;}

/* ---------- feature list ---------- */
.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:24px 32px;}
.feats > div{min-width:0;}
.feats h3{color:inherit;}
.feats p{font-size:15.5px;margin:0;}
.band-deep .feats p,.band-green .feats p{color:#AFCCC2;}
.band-paper .feats p,.band-card .feats p{color:var(--ink-2);}

/* ---------- contact strip ---------- */
.touch{display:grid;grid-template-columns:repeat(auto-fit,minmax(214px,1fr));gap:16px;}
.touch div{min-width:0;}
.touch .k{font-family:var(--display);font-size:10.5px;font-weight:700;letter-spacing:.14em;
          text-transform:uppercase;color:#7FA99C;margin-bottom:5px;}
.touch a,.touch span{color:#EAF4F0;text-decoration:none;font-weight:600;font-size:16px;
                     overflow-wrap:anywhere;}
.touch a:hover{text-decoration:underline;color:var(--accent);}
.touch .sub{display:block;color:#8FAEA4;font-weight:400;font-size:14px;margin-top:3px;}

/* ---------- footer ---------- */
.site-foot{background:var(--deep);color:#8FAEA4;font-size:14px;}
.site-foot .wrap{padding-block:30px 34px;display:flex;justify-content:space-between;
                 gap:18px;flex-wrap:wrap;}
.site-foot b{color:#CFE4DC;font-weight:600;}
.site-foot nav a{color:#8FAEA4;padding:0 14px 0 0;font-size:14px;}
.site-foot nav a:hover{color:#fff;background:none;text-decoration:underline;}

/* ---------- misc ---------- */
.rule{height:2px;background:var(--accent);width:52px;margin:0 0 22px;border:0;}
.quietnote{font-size:14.5px;color:var(--ink-3);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{animation:none!important;transition:none!important;}}
