/* ============================================================
   Technigrid - shared shell (header, footer, brand tokens)
   Palette sampled from the live site:
     #3E6EDF brand blue · #1F2033 navy · #F0F1F3 grey · #C1CAD7 muted
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,p,ul,ol,li,figure,dl,dd,dt,table{margin:0;padding:0}
ul,ol{list-style:none}
img{max-width:100%;height:auto;display:block}

:root{
  --brand:#3E6EDF;
  --brand-dk:#2F58BC;
  --link:#3560CE;      /* brand blue is <4.5:1 as text; this is 5.0:1 on --paper-alt */
  --brand-soft:#EDF2FE;
  --navy:#1F2033;
  --navy-2:#2A2C42;
  --paper:#FFFFFF;
  --paper-alt:#F0F1F3;
  --line:#DFE3EA;
  --line-soft:#EBEEF2;
  --ink:#1F2033;
  --ink-2:#5A6472;
  --ink-3:#6E7786;
  --muted:#C1CAD7;
  --shadow:0 1px 2px rgba(31,32,51,.05),0 16px 36px -26px rgba(31,32,51,.45);
  --shadow-lg:0 2px 6px rgba(31,32,51,.07),0 36px 64px -38px rgba(31,32,51,.55);
  --sans:'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono","SF Mono",Consolas,"Liberation Mono",monospace;
  --pad:clamp(1.15rem,4vw,3.5rem);
  --hdr:74px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#14161F; --paper-alt:#1A1D28; --brand-soft:#182240;
    --line:#2A2E3C; --line-soft:#232733;
    --ink:#EDEFF3; --ink-2:#A8B0BE; --ink-3:#7E8797; --link:#7FA0EE;
    --shadow:0 1px 2px rgba(0,0,0,.5),0 16px 36px -26px rgba(0,0,0,.9);
    --shadow-lg:0 2px 6px rgba(0,0,0,.6),0 36px 64px -38px rgba(0,0,0,1);
  }
}
:root[data-theme="dark"]{
  --paper:#14161F; --paper-alt:#1A1D28; --brand-soft:#182240;
  --line:#2A2E3C; --line-soft:#232733;
  --ink:#EDEFF3; --ink-2:#A8B0BE; --ink-3:#7E8797; --link:#7FA0EE;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 16px 36px -26px rgba(0,0,0,.9);
  --shadow-lg:0 2px 6px rgba(0,0,0,.6),0 36px 64px -38px rgba(0,0,0,1);
}

body{
  background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:80rem;margin:0 auto;padding:0 var(--pad)}
a{color:var(--link)}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px}

/* ---------- header ---------- */
.site-hdr{
  position:fixed;inset:0 0 auto;z-index:60;height:var(--hdr);
  background:rgba(31,32,51,.94);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.site-hdr .wrap{height:100%;display:flex;align-items:center;gap:1.5rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:0 0 auto}
.brand img{height:26px;width:auto}
.nav{margin-left:auto;display:flex;gap:.15rem;align-items:center;flex-wrap:wrap}
.nav a{
  color:#E7EAF1;text-decoration:none;font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;padding:.55rem .7rem;border-radius:3px;
  border-bottom:2px solid transparent;transition:color .18s,border-color .18s;
}
.nav a:hover{color:#fff;border-bottom-color:var(--brand)}
.nav a.active{color:#fff;border-bottom-color:#fff}
.nav a.cta{background:var(--brand);color:#fff;border-bottom-color:transparent}
.nav a.cta:hover{background:var(--brand-dk)}
.burger{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.5rem;cursor:pointer;padding:.25rem .5rem}
@media (max-width:900px){
  .burger{display:block}
  .nav{
    position:fixed;inset:var(--hdr) 0 auto;background:rgba(31,32,51,.98);
    flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem;
    max-height:0;overflow:hidden;transition:max-height .28s ease;
  }
  .nav.open{max-height:26rem;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav a{padding:.85rem var(--pad);border-bottom:1px solid rgba(255,255,255,.06)}
  .nav a.cta{margin:.5rem var(--pad);text-align:center;border-radius:3px}
}

/* ---------- section furniture ---------- */
.sect{padding:clamp(3.5rem,8vw,6.5rem) 0}
.sect.alt{background:var(--paper-alt)}
.sect-head{text-align:center;margin-bottom:clamp(2rem,4vw,3.25rem)}
.sect-head h2{
  color:var(--brand);font-weight:400;letter-spacing:.02em;
  font-size:clamp(1.7rem,3.6vw,2.4rem);text-transform:uppercase;
}
.sect-head p{margin-top:.6rem;color:var(--ink-2);font-size:1.02rem}
.rule{width:56px;height:2px;background:var(--brand);margin:.9rem auto 0}

/* ---------- footer ---------- */
.site-ftr{background:var(--navy);color:#AEB6C6;padding:2.25rem 0;text-align:center;font-size:.86rem}
.site-ftr a{color:#D6DDEA;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22)}
.site-ftr a:hover{color:#fff}
.site-ftr .ftr-links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:center;margin-bottom:1rem}
.site-ftr .ftr-links a{border:0;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  padding:.85rem 1.5rem;border-radius:3px;font-size:.9rem;font-weight:500;
  letter-spacing:.03em;transition:background .18s,color .18s,border-color .18s;
}
.btn-primary{background:var(--brand);color:#fff}
.btn-primary:hover{background:var(--brand-dk)}
.btn-ghost{border:1px solid currentColor;color:var(--link);background:transparent}
.btn-ghost:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn-on-dark{border:1px solid rgba(255,255,255,.4);color:#fff}
.btn-on-dark:hover{background:#fff;color:var(--navy);border-color:#fff}

/* quiet reveal */
.rise{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.3,1)}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .rise{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 12px)}
