/* ==========================================================
   ITM Solutions — site chrome (header + footer)
   Shared by layouts/flayout and layouts/wflayout.
   ========================================================== */

:root{
    --ink-0:#05070c;
    --ink-1:#0a0e16;
    --ink-2:#10151f;
    --ink-3:#171e2b;
    --line:rgba(255,255,255,.08);
    --line-2:rgba(255,255,255,.14);
    --text:#eef2f7;
    --muted:#98a2b3;
    --dim:#667085;

    /* brand — sampled from the ITM logo */
    --orange:#f7941d;
    --teal:#00a79e;
    --blue:#00aced;

    --grad:linear-gradient(100deg,var(--teal) 0%,var(--blue) 55%,#7c8cff 100%);
    --radius:22px;
    --radius-lg:32px;
    --gutter:clamp(16px,4vw,48px);
    --max:1240px;

    --sans:"Geist","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
    --serif:"Instrument Serif",Georgia,serif;
    --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Header ---------- */
.site-nav{
    position:fixed;top:14px;left:50%;transform:translateX(-50%);
    z-index:1000;width:min(calc(100% - 24px),1180px);
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:8px 8px 8px 18px;border-radius:999px;
    background:rgba(10,14,22,.55);
    border:1px solid rgba(255,255,255,.08);
    -webkit-backdrop-filter:saturate(160%) blur(18px);
    backdrop-filter:saturate(160%) blur(18px);
    font-family:var(--sans);
    transition:background .3s var(--ease),box-shadow .3s var(--ease);
}
.site-nav.is-solid,.site-nav.is-solid.is-scrolled{background:rgba(7,10,16,.94);border-color:rgba(255,255,255,.06);box-shadow:0 14px 40px -18px rgba(5,7,12,.55)}
.site-nav.is-scrolled{background:rgba(8,11,18,.82);box-shadow:0 20px 50px -20px rgba(0,0,0,.8)}
.site-nav .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.site-nav .brand img{height:40px;width:auto}
.site-nav .brand span{font-weight:600;letter-spacing:-.02em;font-size:16px}
.site-nav .links{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.site-nav .links a{
    display:block;padding:9px 14px;border-radius:999px;
    color:rgba(238,242,247,.72);font-size:14px;font-weight:500;text-decoration:none;
    transition:color .2s,background .2s;
}
.site-nav .links a:hover,.site-nav .links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.07)}
.site-nav .cta{
    display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 18px;border-radius:999px;
    background:#fff;color:#05070c;font-size:14px;font-weight:600;text-decoration:none;
    transition:transform .2s var(--ease);
}
.site-nav .cta:hover{transform:translateY(-1px);color:#05070c;text-decoration:none}
.site-nav .menu-btn{
    display:none;width:42px;height:42px;border-radius:999px;border:1px solid var(--line-2);
    background:transparent;color:#fff;font-size:16px;cursor:pointer;
}

.nav-sheet{
    position:fixed;inset:0;z-index:1001;
    background:rgba(5,7,12,.96);
    -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
    display:flex;flex-direction:column;justify-content:center;padding:32px 24px;
    opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;
    font-family:var(--sans);
}
.nav-sheet.open{opacity:1;visibility:visible}
.nav-sheet .close{
    position:absolute;top:20px;right:20px;width:46px;height:46px;border-radius:999px;
    border:1px solid rgba(255,255,255,.16);background:transparent;color:#fff;font-size:18px;cursor:pointer;
}
.nav-sheet nav a{
    display:block;padding:10px 0;color:#eef2f7;text-decoration:none;
    font-size:clamp(2rem,9vw,3.4rem);font-weight:600;letter-spacing:-.04em;line-height:1.1;
    border-bottom:1px solid rgba(255,255,255,.07);
}
.nav-sheet nav a:hover{color:var(--blue)}
.nav-sheet .social{display:flex;gap:12px;margin-top:32px}
.nav-sheet .social a{
    width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.16);
    display:grid;place-items:center;color:#fff;
}

@media (max-width:900px){
    .site-nav .links,.site-nav .cta{display:none}
    .site-nav .menu-btn{display:grid;place-items:center}
}
.site-nav a:hover,.nav-sheet a:hover{text-decoration:none}
.nav-spacer{height:96px}

/* ---------- Footer ---------- */
.site-footer{
    background:var(--ink-0);color:var(--muted);
    font-family:var(--sans);font-size:15px;line-height:1.6;
    padding:72px 0 36px;border-top:1px solid var(--line);
    -webkit-font-smoothing:antialiased;
}
.site-footer *,.site-footer *::before,.site-footer *::after{box-sizing:border-box}
.site-footer .sf-wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.site-footer a{color:inherit;text-decoration:none;transition:color .2s}
.site-footer a:hover{color:var(--text);text-decoration:none}
.site-footer p{margin:0}

.site-footer .top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px}
.site-footer .brand img{height:56px;width:auto;margin-bottom:18px;display:block}
.site-footer .brand p{max-width:340px}
.site-footer h4{font-family:var(--sans);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 16px;font-weight:500}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-footer .social{display:flex;gap:10px;margin-top:20px}
.site-footer .social a{width:42px;height:42px;border-radius:999px;border:1px solid var(--line-2);display:grid;place-items:center}
.site-footer .social a:hover{border-color:var(--blue);color:var(--blue)}

.site-footer .cta-strip{
    display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;
    padding-bottom:56px;margin-bottom:56px;border-bottom:1px solid var(--line);
}
.site-footer .cta-strip h3{
    margin:0;color:var(--text);font-family:var(--sans);font-weight:600;
    font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.04em;line-height:1.05;
}
.site-footer .cta-strip h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange)}
.site-footer .cta-strip a{
    display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 24px;border-radius:999px;
    background:var(--text);color:var(--ink-0);font-weight:500;font-size:15px;
    transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.site-footer .cta-strip a:hover{color:var(--ink-0);transform:translateY(-2px);box-shadow:0 12px 40px -8px rgba(0,172,237,.55)}

.site-footer .bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:28px;border-top:1px solid var(--line);font-size:14px;color:var(--dim)}
@media (max-width:860px){.site-footer .top{grid-template-columns:1fr 1fr}.site-footer .top > :first-child{grid-column:1/-1}}

/* ---------- Accessibility ---------- */
.site-nav :focus-visible,.nav-sheet :focus-visible,.site-footer :focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:12px}
