/* core.css — sitewide header, footer, buttons and mobile action bar.
   Loaded on every page. Home page adds home.css; inner pages keep site.css. */
@font-face{font-family:"Archivo";src:url("/assets/fonts/archivo-var.woff2") format("woff2-variations"),url("/assets/fonts/archivo-var.woff2") format("woff2");font-weight:400 800;font-stretch:100% 112%;font-style:normal;font-display:swap}
:root{
  --ink:#16233a;          /* technician uniform navy */
  --ink-2:#2b3b56;
  --ink-soft:#4a5870;
  --green:#23873a;        /* machine enclosure green, darkened for contrast */
  --green-d:#1b6e2f;
  --green-l:#e6f3e8;
  --yellow:#f4c21a;       /* isolator switch yellow */
  --yellow-d:#e0ad05;
  --red:#d6382a;          /* fault lamp */
  --steel:#e9edf0;
  --steel-2:#d5dce2;
  --line:#dfe4e8;
  --paper:#f5f6f3;
  --white:#fff;
  --font:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --wrap:1160px;
  --gut:18px;
  --abar:64px;
}
@media (min-width:760px){:root{--gut:32px}}

/* ---------- base (only what the home page needs; inner pages keep site.css) ---------- */
:where(.is-home) *,:where(.is-home) *::before,:where(.is-home) *::after{box-sizing:border-box}
.is-home{margin:0;font-family:var(--font);font-size:16.5px;line-height:1.55;color:var(--ink);background:var(--white);-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
:where(.is-home) img{max-width:100%;height:auto;display:block}
:where(.is-home) a{color:inherit}
body{font-family:var(--font)}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.skip:focus{left:8px}
:where(a,button,summary,input,select):focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ---------- buttons ---------- */
.b{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:12px 20px;border-radius:12px;font:700 17px/1.2 var(--font);font-stretch:104%;text-decoration:none;border:0;cursor:pointer;transition:background-color .15s,transform .1s}
.b:active{transform:translateY(1px)}
.b .ico{width:22px;height:22px;flex:none}
.b-wa{background:var(--green);color:#fff}
.b-wa:hover{background:var(--green-d)}
.b-call{background:var(--yellow);color:var(--ink)}
.b-call:hover{background:var(--yellow-d)}
.b-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.b-ghost:hover{background:var(--ink);color:#fff}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);font-family:var(--font);padding-top:env(safe-area-inset-top,0px)}
@supports (backdrop-filter:blur(8px)){.hdr{background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}}
.hdr-row{display:flex;align-items:center;gap:14px;width:min(var(--wrap),100% - 2*var(--gut));margin:auto;height:64px}
.hdr-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0;margin-right:auto}
.hdr-brand img{height:34px;width:auto;flex:none}
.hdr-name{display:flex;flex-direction:column;line-height:1.1;padding-left:10px;border-left:1px solid var(--line);min-width:0}
.hdr-name b{font-size:15px;font-weight:800;font-stretch:108%;white-space:nowrap}
.hdr-name small{font-size:12px;color:var(--ink-soft);white-space:nowrap}
.hdr-nav{display:none}
.hdr-call{display:none}
.hdr-menu{position:relative}
.hdr-menu summary{list-style:none;width:44px;height:44px;border-radius:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;background:var(--steel)}
.hdr-menu summary::-webkit-details-marker{display:none}
.hdr-menu summary span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.hdr-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hdr-menu[open] summary span:nth-child(2){opacity:0}
.hdr-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hdr-menu nav{position:absolute;right:0;top:54px;width:min(300px,calc(100vw - 2*var(--gut)));background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(22,35,58,.18);padding:8px;display:grid}
.hdr-menu nav a{display:block;padding:12px 14px;border-radius:9px;text-decoration:none;color:var(--ink);font-weight:600;font-size:16px}
.hdr-menu nav a:hover{background:var(--steel)}
@media (max-width:479px){.hdr-row{gap:10px}.hdr-brand{gap:8px}.hdr-brand img{height:26px}.hdr-name{padding-left:8px}.hdr-name b{font-size:14.5px;font-stretch:100%}.hdr-name small{font-size:11.5px}}
@media (max-width:359px){.hdr-brand img{height:22px}.hdr-name b{font-size:13.5px}}
.hdr-name b,.hdr-name small{overflow:hidden;text-overflow:ellipsis}
@media (min-width:1000px){
  .hdr-row{height:74px;gap:26px}
  .hdr-brand img{height:40px}
  .hdr-name b{font-size:16px}
  .hdr-nav{display:flex;gap:22px}
  .hdr-nav a{text-decoration:none;color:var(--ink-2);font-weight:600;font-size:15px;padding:6px 0;border-bottom:2px solid transparent}
  .hdr-nav a:hover{color:var(--ink);border-color:var(--yellow)}
  .hdr-call{display:flex;align-items:center;gap:8px;background:var(--yellow);color:var(--ink);text-decoration:none;font-weight:800;font-stretch:104%;padding:11px 16px;border-radius:10px;white-space:nowrap}
  .hdr-call:hover{background:var(--yellow-d)}
  .hdr-call svg{width:18px;height:18px}
  .hdr-menu{display:none}
}

/* ---------- footer ---------- */
.ftr{background:var(--ink);color:#d7deea;font-family:var(--font);margin-top:0}
.ftr-in{width:min(var(--wrap),100% - 2*var(--gut));margin:auto;padding:44px 0 24px}
.ftr h2{margin:0 0 8px;font-size:clamp(24px,5.6vw,34px);line-height:1.12;font-weight:800;font-stretch:110%;color:#fff;letter-spacing:-.01em}
.ftr h3{margin:0 0 12px;font-size:14px;font-weight:700;color:#fff;letter-spacing:0;text-transform:none}
.ftr p{margin:0;color:#c3ccdb;font-size:16px;line-height:1.55}
.ftr-cta{display:grid;gap:20px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.12)}
.ftr-cta-btns{display:grid;gap:10px}
.ftr-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px;padding:34px 0}
.ftr-about{grid-column:1/-1}
.ftr-logos{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.ftr-logos img{height:52px;width:auto;border-radius:10px;padding:8px 12px;background:#fff}
.ftr-logos img+img{background:#000;padding:6px}
.ftr-about p{font-size:15px;max-width:520px}
.ftr-col{display:flex;flex-direction:column;gap:2px}
.ftr-col a{color:#c3ccdb;text-decoration:none;font-size:15px;padding:6px 0}
.ftr-col a:hover{color:#fff;text-decoration:underline}
.ftr-sites{padding:24px 0;border-top:1px solid rgba(255,255,255,.12)}
.ftr-sites ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ftr-sites a{display:flex;flex-direction:column;text-decoration:none;padding:12px 14px;border-radius:10px;background:rgba(255,255,255,.06)}
.ftr-sites a:hover{background:rgba(255,255,255,.12)}
.ftr-sites b{color:#fff;font-size:15px}
.ftr-sites span{font-size:13.5px;color:#aeb9cb}
.ftr-bottom{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:13px;color:#9eabc0}
@media (min-width:760px){
  .ftr-in{padding:60px 0 28px}
  .ftr-cta{grid-template-columns:1fr auto;align-items:center;gap:32px}
  .ftr-cta-btns{grid-template-columns:auto auto}
  .ftr-grid{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
  .ftr-about{grid-column:auto}
  .ftr-sites ul{grid-template-columns:repeat(3,1fr)}
}

/* ---------- sticky mobile action bar ---------- */
.abar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1.25fr;gap:8px;padding:8px var(--gut) calc(8px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(22,35,58,.08);font-family:var(--font)}
.abar{transition:transform .25s ease}
body.cta-in-view .abar{transform:translateY(110%)}
.abar a{display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:11px;text-decoration:none;font-weight:800;font-size:16.5px;font-stretch:104%}
.abar svg{width:20px;height:20px;flex:none}
.abar-call{background:var(--yellow);color:var(--ink)}
.abar-wa{background:var(--green);color:#fff}
body{padding-bottom:calc(var(--abar) + env(safe-area-inset-bottom,0px))}
@media (min-width:1000px){.abar{display:none}body{padding-bottom:0}}

/* hide the old v5 floating buttons if any cached markup remains */
.floating-wa,.mobile-action-bar{display:none!important}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
