:root{
  --ink:#0E1A2B;
  --ink-2:#16263D;
  --paper:#F6F7F5;
  --paper-2:#ECEEEA;
  --teal:#14B8A6;
  --teal-dark:#0D9488;
  --amber:#E8A33D;
  --green:#2F9E6E;
  --slate:#2A3038;
  --slate-soft:#5B6470;
  --line:#D6DAD4;
  --line-dark:#26364C;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--slate);
  font-family:'Inter',-apple-system,Helvetica,Arial,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;}
.display{font-family:'Archivo',Helvetica,Arial,sans-serif;}
.wrap{max-width:1120px; margin:0 auto; padding:0 32px;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

/* ============ HEADER / NAV ============ */
.site-header{
  background:var(--ink);
  border-bottom:1px solid rgba(255,255,255,0.08);
  position:sticky; top:0; z-index:50;
}
.nav-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0;
}
.nav-brand{display:flex; align-items:center; gap:10px;}
.nav-brand img{height:34px; width:auto;}
.nav-brand span{font-family:'Archivo',sans-serif; font-weight:700; font-size:17px; color:#F6F7F5; letter-spacing:0.01em;}
.nav-links{display:flex; align-items:center; gap:28px;}
.nav-links a{
  font-size:14.5px; color:#B9C2CE; font-weight:500; transition:color .15s;
}
.nav-links a:hover{color:var(--teal);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-cta .ghost{font-size:14px; color:#B9C2CE; font-weight:600;}
.nav-cta .solid{
  background:var(--teal); color:var(--ink); font-weight:700; font-size:14px;
  padding:10px 18px; border-radius:8px;
}
.nav-toggle{display:none;}
@media (max-width:860px){
  .nav-links{display:none;}
  .nav-cta .ghost{display:none;}
}

/* ============ FOOTER ============ */
.site-footer{ background:var(--ink); color:#AEB8C4; padding:56px 0 26px; margin-top:80px; }
.footer-grid{
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,0.1);
}
.footer-brand img{height:32px; margin-bottom:14px;}
.footer-brand p{font-size:14px; color:#8791A0; max-width:280px; line-height:1.6; margin-bottom:16px;}
.footer-brand .contact{font-size:13.5px; color:#B9C2CE; display:flex; flex-direction:column; gap:6px;}
.footer-col h4{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.08em; text-transform:uppercase; color:#8791A0; margin-bottom:16px;}
.footer-col a{display:block; font-size:14px; color:#C7CEDA; margin-bottom:10px;}
.footer-col a:hover{color:var(--teal);}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
  padding-top:22px; font-size:12.5px; color:#7A8494;
}
@media (max-width:760px){
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:32px;}
}

/* ============ SHARED PAGE ELEMENTS ============ */
.page-hero{
  background:
    radial-gradient(circle at 85% -10%, rgba(20,184,166,0.16), transparent 55%),
    linear-gradient(180deg, var(--ink) 0%, var(--ink-2) 100%);
  color:#EDEFEA; padding:64px 0 60px;
}
.eyebrow{
  font-family:'IBM Plex Mono',monospace; font-size:12.5px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--teal); margin-bottom:16px; display:inline-block;
}
.page-hero h1{
  font-family:'Archivo',sans-serif; font-weight:800; font-size:clamp(28px,4vw,44px);
  line-height:1.18; color:#F6F7F5; max-width:800px;
}
.page-hero p.sub{margin-top:18px; font-size:16px; color:#AEB8C4; max-width:620px;}

.section{padding:56px 0;}
.section + .section{border-top:1px solid var(--line);}
.label{font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--slate-soft); margin-bottom:12px;}
h2.section-title{font-family:'Archivo',sans-serif; font-weight:700; font-size:clamp(22px,3vw,30px); color:var(--ink); max-width:680px; margin-bottom:30px;}

.btn-primary{
  display:inline-block; background:var(--teal); color:var(--ink); font-weight:700; font-size:15px;
  padding:14px 26px; border-radius:9px;
}
.btn-outline{
  display:inline-block; border:1.5px solid var(--line-dark); color:#EDEFEA; font-weight:600; font-size:15px;
  padding:13px 24px; border-radius:9px;
}
