/* ============================================================
   SIENSTER — shared site styles (minimal / stealth)
   ============================================================ */
:root{
  --ink:#0d1c30; --navy:#13253f; --navy2:#1c3a5c;
  --teal:#2dd4bf; --teal-l:#7fe3cf; --teal-d:#0f6e56;
  --gold:#f5c877; --gold-d:#d9a63e;
  --cloud:#eaf2ff; --slate:#a9c0dd; --mute:#6f88a8;
  --line:rgba(255,255,255,.08);
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --disp:"Space Grotesk","Inter",Arial,sans-serif;
  --wrap:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans); background:var(--ink); color:var(--cloud);
  line-height:1.65; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
section{position:relative}

/* ---- typography ---- */
h1,h2,h3{font-family:var(--disp);font-weight:700;letter-spacing:-.02em;line-height:1.05}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.24em;
  text-transform:uppercase;font-weight:600;color:var(--teal-l)}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 10px 1px var(--teal);animation:pulse 2.4s infinite}
.eyebrow.gold{color:var(--gold)} .eyebrow.gold .dot{background:var(--gold);box-shadow:0 0 10px 1px var(--gold)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.lead{color:var(--slate);font-size:clamp(16px,1.7vw,19px);max-width:56ch}
.kicker{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;
  padding:14px 26px;border-radius:11px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;cursor:pointer;border:1px solid transparent}
.btn-primary{color:#04231d;background:linear-gradient(180deg,#46e6cc,var(--teal));box-shadow:0 10px 30px -10px rgba(45,212,191,.6)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -10px rgba(45,212,191,.8)}
.btn-gold{color:#2a1c00;background:linear-gradient(180deg,#ffd98a,var(--gold))}
.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{color:var(--cloud);border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.02)}
.btn-ghost:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}

/* ---- header / nav ---- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:16px 28px;background:rgba(19,37,63,.72);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:34px;height:34px;border-radius:9px;background:linear-gradient(160deg,#0d2438,#0d1c30);
  border:1px solid rgba(127,227,207,.3);display:flex;align-items:center;justify-content:center}
.brand-mark svg{width:22px;height:22px}
.brand-word{font-family:var(--disp);font-weight:700;letter-spacing:.14em;font-size:18px}
.brand-word span{color:var(--gold)}
.links{display:flex;align-items:center;gap:30px}
.links a{font-size:14px;color:var(--slate);letter-spacing:.02em;transition:color .18s}
.links a:hover{color:var(--cloud)}
.links a.here{color:var(--cloud)}
.links a.btn-ghost{padding:10px 20px;font-size:14px}
.navtog,.navburger{display:none}

/* ---- generic section rhythm ---- */
.pad{padding-top:clamp(72px,11vh,128px);padding-bottom:clamp(72px,11vh,128px)}
.pad-sm{padding-top:clamp(48px,7vh,84px);padding-bottom:clamp(48px,7vh,84px)}
.center{text-align:center}
.divide{height:1px;background:var(--line)}

/* subtle backgrounds */
.bg-glow-teal{background:radial-gradient(90% 90% at 50% 0%,rgba(45,212,191,.08),transparent 55%),linear-gradient(180deg,var(--navy),var(--ink))}
.bg-glow-gold{background:radial-gradient(70% 100% at 80% 40%,rgba(245,200,119,.10),transparent 55%),linear-gradient(180deg,var(--ink),var(--navy))}
.bg-flat{background:var(--ink)}

/* ---- minimal capability list ---- */
.caps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:16px;overflow:hidden}
.cap{background:var(--navy);padding:34px 30px;transition:background .2s}
.cap:hover{background:#20395a}
.cap .n{font-size:12px;color:var(--mute);letter-spacing:.14em}
.cap h3{font-size:20px;margin:14px 0 8px;color:#fff}
.cap p{font-size:14.5px;color:var(--slate);line-height:1.6}

/* ---- stat line ---- */
.statline{display:flex;flex-wrap:wrap;gap:clamp(28px,7vw,80px);justify-content:center}
.statline .s .n{font-family:var(--disp);font-size:clamp(26px,3.4vw,40px);font-weight:700;color:#fff}
.statline .s .n .u{color:var(--teal)}
.statline .s .l{margin-top:4px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}

/* ---- CTA band ---- */
.cta-band{text-align:center}
.cta-band h2{font-size:clamp(28px,4.4vw,46px);color:#fff;background:linear-gradient(180deg,#fff,#c4d6f2);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cta-band p{margin:16px auto 30px;color:var(--slate);max-width:46ch}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---- footer ---- */
.foot{border-top:1px solid var(--line);background:var(--ink)}
.foot-wrap{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:64px 28px 40px;max-width:var(--wrap);margin:0 auto}
.foot-brand p{margin-top:16px;color:var(--mute);font-size:14px;max-width:34ch}
.foot h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--slate);margin-bottom:16px}
.foot a{display:block;color:var(--mute);font-size:14px;padding:5px 0;transition:color .18s}
.foot a:hover{color:var(--cloud)}
.foot .offices{color:var(--mute);font-size:14px;line-height:2}
.foot-base{border-top:1px solid var(--line);text-align:center;padding:22px;color:var(--mute);font-size:12.5px;letter-spacing:.02em}

/* ---- forms ---- */
.field{margin-bottom:18px}
.field label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);margin-bottom:8px}
.field input,.field select,.field textarea{width:100%;background:rgba(255,255,255,.03);border:1px solid var(--line);
  border-radius:11px;padding:14px 16px;color:var(--cloud);font-family:var(--sans);font-size:15px;transition:border-color .18s,background .18s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);background:rgba(45,212,191,.04)}
.field textarea{min-height:120px;resize:vertical}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}

@media(max-width:820px){
  .foot-wrap{grid-template-columns:1fr 1fr;gap:32px}
  .grid2{grid-template-columns:1fr}
  .navburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer}
  .navburger span,.navburger::before,.navburger::after{content:"";display:block;height:2px;width:22px;background:var(--cloud);border-radius:2px;transition:.2s}
  .links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;
    background:rgba(19,37,63,.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
    max-height:0;overflow:hidden;transition:max-height .28s ease;padding:0 28px}
  .links a{width:100%;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
  .links a.btn-ghost{margin:16px 0;border:1px solid rgba(255,255,255,.22);text-align:center;padding:14px}
  .navtog:checked ~ .links{max-height:340px;padding:8px 28px 16px}
}
