/* ==========================================================================
   TNT SECURITY SYSTEMS — Design System
   Palette: Deep tactical blue · steel/silver · white · alert red
   Type: Rajdhani (display) · Inter (body) · JetBrains Mono (system labels)
   ========================================================================== */

:root{
  --navy-950:#08122b;
  --navy-900:#0a2350;
  --navy-800:#0d2f7a;
  --blue-600:#1c53b4;
  --blue-500:#2f6fd6;
  --blue-glow:rgba(47,111,214,.35);

  --steel-700:#4a5566;
  --steel-500:#8a94a6;
  --steel-300:#c7ced9;
  --silver:#e8ecf2;

  --paper:#f4f6fa;
  --white:#ffffff;
  --ink:#0c1522;
  --ink-soft:#41506a;

  --alert:#e23838;
  --alert-dark:#b21f1f;
  --ok:#25c26e;

  --line:rgba(255,255,255,.10);
  --line-dark:rgba(12,21,34,.10);

  --shadow-lg:0 24px 60px -20px rgba(8,18,43,.45);
  --shadow-md:0 12px 30px -12px rgba(8,18,43,.35);

  --wrap:1200px;
  --radius:14px;
  --radius-sm:8px;

  --font-display:"Rajdhani",system-ui,sans-serif;
  --font-body:"Inter",system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--font-body);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.04;margin:0;letter-spacing:.01em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.mono{font-family:var(--font-mono)}

/* ---- eyebrow / system label ---- */
.eyebrow{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--blue-500);font-weight:600;
  display:inline-flex;align-items:center;gap:.6rem;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--blue-500)}
.eyebrow.on-dark{color:var(--steel-300)}
.eyebrow.on-dark::before{background:var(--steel-500)}

/* ---- buttons ---- */
.btn{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-display);font-weight:600;font-size:1.02rem;
  letter-spacing:.03em;text-transform:uppercase;
  padding:.85rem 1.6rem;border-radius:var(--radius-sm);border:1px solid transparent;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue-600);color:#fff;box-shadow:0 10px 24px -10px var(--blue-glow)}
.btn-primary:hover{background:var(--blue-500);box-shadow:0 14px 30px -8px var(--blue-glow)}
.btn-alert{background:var(--alert);color:#fff}
.btn-alert:hover{background:var(--alert-dark)}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-line{background:#fff;color:var(--navy-800);border-color:var(--steel-300)}
.btn-line:hover{border-color:var(--blue-500);color:var(--blue-600)}
.btn-block{width:100%;justify-content:center}

/* ==========================================================================
   HEADER
   ========================================================================== */


header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line-dark)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:.7rem}
.brand img{height:52px;width:auto;filter:drop-shadow(0 4px 8px rgba(8,18,43,.2))}
.brand .txt{font-family:var(--font-display);font-weight:700;line-height:1;color:var(--navy-800)}
.brand .txt b{display:block;font-size:1.15rem;letter-spacing:.04em}
.brand .txt span{font-size:.62rem;letter-spacing:.34em;color:var(--steel-500);font-family:var(--font-mono)}
.nav-links{display:flex;align-items:center;gap:.4rem}
.nav-links a{font-family:var(--font-display);font-weight:600;font-size:1rem;
  letter-spacing:.02em;padding:.5rem .85rem;border-radius:6px;color:var(--ink-soft);
  text-transform:uppercase}
.nav-links a:hover,.nav-links a.active{color:var(--navy-800);background:rgba(28,83,180,.08)}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.cart-link{position:relative;display:inline-flex;align-items:center;gap:.4rem;
  font-family:var(--font-display);font-weight:600;color:var(--navy-800);
  padding:.55rem .8rem;border:1px solid var(--steel-300);border-radius:6px}
.cart-link:hover{border-color:var(--blue-500)}
.cart-count{background:var(--alert);color:#fff;font-family:var(--font-mono);
  font-size:.7rem;font-weight:700;min-width:20px;height:20px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 5px}
.burger{display:none;background:none;border:0;padding:8px}
.burger span{display:block;width:24px;height:2px;background:var(--navy-800);margin:5px 0;transition:.25s}

/* ==========================================================================
   HERO — single column, spacious, no side panel
   ========================================================================== */
.hero{position:relative;overflow:hidden;background:var(--navy-950);color:#fff}
.hero-bg-grid{position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(47,111,214,.10) 1px,transparent 1px),
    linear-gradient(90deg,rgba(47,111,214,.10) 1px,transparent 1px);
  background-size:48px 48px}
.hero-inner{position:relative;z-index:2;padding:96px 24px 108px;max-width:680px}
.hero h1{font-size:clamp(2.4rem,5.5vw,4rem);letter-spacing:.01em;margin:1.1rem 0 1rem}
.hero h1 em{font-style:normal;color:#5a9cf8}
.hero-sub{font-size:1.1rem;color:var(--steel-300);max-width:52ch;margin-bottom:2.2rem;line-height:1.65}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap}

/* ==========================================================================
   WARRANTY STRIP — compact horizontal band
   ========================================================================== */
.warranty-strip{background:#0a1f52;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#fff}
.warranty-strip-inner{display:flex;align-items:center;gap:22px;padding:26px 24px;flex-wrap:wrap}
.ws-medal{width:56px;height:56px;border-radius:50%;background:var(--steel-300);
  flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
.ws-num{font-family:var(--font-display);font-weight:700;font-size:1.35rem;line-height:1;color:var(--navy-900)}
.ws-label{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.12em;color:var(--steel-700)}
.ws-copy{display:flex;flex-direction:column;gap:.25rem}
.ws-copy strong{font-family:var(--font-display);font-size:1.15rem;font-weight:600;letter-spacing:.01em;color:#fff}
.ws-copy span{font-size:.9rem;color:#7a92bf}

/* ==========================================================================
   SECTION SCAFFOLD
   ========================================================================== */
section.block{padding:84px 0}
.sec-head{max-width:64ch;margin-bottom:44px}
.sec-head h2{font-size:clamp(2rem,4vw,2.9rem);margin:.7rem 0 .6rem;color:var(--navy-900)}
.sec-head p{color:var(--ink-soft);font-size:1.08rem}
.bg-tint{background:linear-gradient(180deg,#fff,var(--paper))}

/* ---- brands section ---- */
.brands-section{background:var(--white);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);padding:30px 0}
.brands-lbl{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--steel-500);margin-bottom:16px}
.brands-row{display:flex;gap:10px;flex-wrap:wrap}
.brand-pill{border:1px solid var(--line-dark);border-radius:8px;padding:7px 16px;
  font-family:var(--font-display);font-weight:600;font-size:.95rem;
  color:var(--steel-500);background:#fff;transition:.2s;cursor:default}
.brand-pill:hover{color:var(--bc,var(--navy-800));border-color:var(--bc,var(--blue-500));
  transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* ---- service category grid ---- */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cat{position:relative;background:#fff;border:1px solid var(--line-dark);
  border-radius:var(--radius);padding:26px;overflow:hidden;transition:.25s;
  display:flex;flex-direction:column}
.cat::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;
  background:linear-gradient(90deg,var(--blue-600),var(--blue-500));transform:scaleX(0);
  transform-origin:left;transition:.3s}
.cat:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.cat:hover::before{transform:scaleX(1)}
.cat-ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;
  background:linear-gradient(135deg,#0d2f7a,#1c53b4);color:#fff;margin-bottom:16px;flex:0 0 auto}
.cat-ico svg{width:24px;height:24px}
.cat h3{font-size:1.2rem;color:var(--navy-900);margin-bottom:.5rem}
.cat p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;margin:0;flex:1}
.cat-link{margin-top:16px;font-family:var(--font-display);font-size:.88rem;font-weight:600;
  color:var(--blue-600);letter-spacing:.02em;transition:gap .15s;display:inline-flex;gap:.3rem}
.cat-link:hover{gap:.6rem;color:var(--blue-500)}

/* ---- CTA banner ---- */
.cta-band{background:var(--navy-900);color:#fff;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(90deg,rgba(47,111,214,.10) 1px,transparent 1px);
  background-size:48px 48px}
.cta-band-inner{position:relative;padding:64px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.cta-band h2{font-size:clamp(1.6rem,3.5vw,2.2rem)}
.cta-band p{color:var(--steel-300);margin-top:.4rem}
.cta-band-btns{display:flex;gap:.8rem;flex-wrap:wrap;flex:0 0 auto}
.btn-white{background:#fff;color:var(--navy-800);border-color:#fff}
.btn-white:hover{background:var(--silver);border-color:var(--silver)}

/* ==========================================================================
   SERVICES PAGE
   ========================================================================== */
.svc-search{display:flex;gap:.6rem;max-width:520px;margin-bottom:8px}
.svc-search input{flex:1;padding:.85rem 1rem;border:1px solid var(--steel-300);
  border-radius:var(--radius-sm);font-size:1rem;font-family:var(--font-body)}
.svc-search input:focus{outline:2px solid var(--blue-500);border-color:transparent}
.svc-count{font-family:var(--font-mono);font-size:.8rem;color:var(--steel-500);margin:14px 0 26px}
.svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.svc{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:22px 24px;transition:.2s}
.svc:hover{border-color:var(--blue-500);box-shadow:var(--shadow-md)}
.svc h3{font-size:1.28rem;color:var(--navy-900);display:flex;align-items:center;gap:.5rem}
.svc .brandtag{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;
  background:rgba(28,83,180,.1);color:var(--blue-600);padding:.25rem .6rem;
  border-radius:20px;text-transform:uppercase;white-space:nowrap}
.svc p{color:var(--ink-soft);font-size:.95rem;margin:.5rem 0 0}
.svc .cat-pill{display:inline-block;font-family:var(--font-mono);font-size:.66rem;
  color:var(--steel-500);letter-spacing:.1em;text-transform:uppercase;margin-top:.7rem}
.note-box{background:#fff8e6;border:1px solid #f2d98b;border-left:4px solid #e0a800;
  border-radius:var(--radius-sm);padding:18px 22px;margin-top:30px}
.note-box b{color:#8a6100}
.note-box p{margin:.3rem 0 0;color:#6f5a2a;font-size:.95rem}

/* ==========================================================================
   STORE
   ========================================================================== */
.store-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:26px}
.filter-btn{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;
  text-transform:uppercase;padding:.5rem .9rem;border:1px solid var(--steel-300);
  border-radius:20px;background:#fff;color:var(--ink-soft)}
.filter-btn.active,.filter-btn:hover{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.product:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.product .thumb{aspect-ratio:4/3;background:linear-gradient(135deg,#eef1f6,#dbe1ea);
  display:grid;place-items:center;position:relative}
.product .thumb svg{width:64px;height:64px;color:var(--steel-500)}
.product .badge{position:absolute;top:10px;left:10px;font-family:var(--font-mono);
  font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;background:var(--navy-800);
  color:#fff;padding:.25rem .55rem;border-radius:5px}
.product .body{padding:18px;display:flex;flex-direction:column;flex:1}
.product .brandrow{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.14em;
  color:var(--blue-600);text-transform:uppercase;margin-bottom:.35rem}
.product h3{font-size:1.12rem;color:var(--navy-900);line-height:1.15}
.product .desc{font-size:.86rem;color:var(--ink-soft);margin:.5rem 0 1rem;flex:1}
.product .priceRow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.poa-tag{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--steel-500);background:var(--paper);border:1px solid var(--line-dark);
  border-radius:20px;padding:.3rem .75rem}
.store-empty{grid-column:1/-1;text-align:center;padding:56px 24px;
  font-family:var(--font-mono);font-size:.85rem;color:var(--steel-500)}

/* ---- cart drawer ---- */
.drawer-scrim{position:fixed;inset:0;background:rgba(8,18,43,.5);opacity:0;
  visibility:hidden;transition:.25s;z-index:80}
.drawer-scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);
  background:#fff;transform:translateX(100%);transition:.3s;z-index:90;
  display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;justify-content:space-between;align-items:center;
  padding:20px 22px;border-bottom:1px solid var(--line-dark)}
.drawer-head h3{font-size:1.3rem;color:var(--navy-900)}
.drawer-head button{background:none;border:0;font-size:1.5rem;color:var(--steel-500)}
.drawer-items{flex:1;overflow:auto;padding:12px 22px}
.ci{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line-dark)}
.ci .ci-thumb{width:56px;height:56px;border-radius:8px;background:linear-gradient(135deg,#eef1f6,#dbe1ea);
  display:grid;place-items:center;flex:0 0 auto;color:var(--steel-500)}
.ci .ci-thumb svg{width:26px;height:26px}
.ci-info{flex:1}
.ci-info h4{font-family:var(--font-display);font-size:1rem;color:var(--navy-900);margin:0}
.ci-info .ci-brand{font-family:var(--font-mono);font-size:.62rem;color:var(--blue-600);letter-spacing:.1em}
.qty{display:inline-flex;align-items:center;border:1px solid var(--steel-300);border-radius:6px;margin-top:6px}
.qty button{background:none;border:0;width:26px;height:26px;color:var(--navy-800);font-size:1rem}
.qty span{width:30px;text-align:center;font-family:var(--font-mono);font-size:.85rem}
.ci-price{font-family:var(--font-display);font-weight:700;color:var(--navy-900);text-align:right;white-space:nowrap}
.ci-remove{background:none;border:0;color:var(--alert);font-size:.72rem;font-family:var(--font-mono);
  letter-spacing:.06em;text-transform:uppercase;margin-top:6px;padding:0}
.drawer-foot{padding:20px 22px;border-top:1px solid var(--line-dark)}
.drawer-foot .tot{display:flex;justify-content:space-between;font-family:var(--font-display);
  font-weight:700;font-size:1.3rem;color:var(--navy-900);margin-bottom:14px}
.empty-cart{text-align:center;color:var(--steel-500);padding:50px 20px;font-family:var(--font-mono);font-size:.85rem}

/* ==========================================================================
   FORMS / CHECKOUT / CONTACT
   ========================================================================== */
.form-shell{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);
  padding:32px;box-shadow:var(--shadow-md)}
.field{margin-bottom:18px}
.field label{display:block;font-family:var(--font-display);font-weight:600;font-size:.95rem;
  color:var(--navy-900);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.03em}
.field label .req{color:var(--alert)}
.field input,.field select,.field textarea{width:100%;padding:.8rem .9rem;
  border:1px solid var(--steel-300);border-radius:var(--radius-sm);font-size:1rem;
  font-family:var(--font-body);background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue-500);border-color:transparent}
.field textarea{min-height:130px;resize:vertical}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.steps{display:flex;gap:0;margin-bottom:28px;counter-reset:s}
.step{flex:1;text-align:center;position:relative;font-family:var(--font-mono);
  font-size:.72rem;letter-spacing:.08em;color:var(--steel-500);text-transform:uppercase;padding-top:34px}
.step::before{counter-increment:s;content:counter(s);position:absolute;top:0;left:50%;
  transform:translateX(-50%);width:28px;height:28px;border-radius:50%;
  background:#fff;border:2px solid var(--steel-300);color:var(--steel-500);
  display:grid;place-items:center;font-weight:700}
.step::after{content:"";position:absolute;top:13px;left:-50%;width:100%;height:2px;background:var(--steel-300);z-index:-1}
.step:first-child::after{display:none}
.step.active{color:var(--navy-900)}
.step.active::before{background:var(--blue-600);border-color:var(--blue-600);color:#fff}
.step.done::before{background:var(--ok);border-color:var(--ok);color:#fff;content:"✓"}
.step.done::after{background:var(--ok)}
.checkout-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:26px;align-items:start}
.summary{background:var(--navy-900);color:#fff;border-radius:var(--radius);padding:24px;position:sticky;top:96px}
.summary h3{font-size:1.2rem;margin-bottom:16px}
.summary .sr{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem;color:var(--steel-300);border-bottom:1px dashed var(--line)}
.summary .sr b{color:#fff}
.summary .grand{display:flex;justify-content:space-between;font-family:var(--font-display);
  font-weight:700;font-size:1.4rem;margin-top:14px;color:#fff}
.pay-note{font-family:var(--font-mono);font-size:.7rem;color:var(--steel-500);
  margin-top:14px;display:flex;align-items:center;gap:.5rem;line-height:1.4}
.form-alert{padding:14px 18px;border-radius:var(--radius-sm);font-size:.92rem;margin-bottom:18px;display:none}
.form-alert.ok{display:block;background:#e8f8ef;border:1px solid #9fe0bd;color:#0f7a45}
.form-alert.err{display:block;background:#fdeaea;border:1px solid #f2b4b4;color:#a11f1f}

/* ---- booking ---- */
.book-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.svc-type{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}
.svc-type label{display:block;cursor:pointer}
.svc-type input{position:absolute;opacity:0}
.svc-type .card{border:1px solid var(--steel-300);border-radius:var(--radius-sm);
  padding:16px 12px;text-align:center;transition:.2s}
.svc-type input:checked+.card{border-color:var(--blue-600);background:rgba(28,83,180,.06);box-shadow:0 0 0 1px var(--blue-600)}
.svc-type .card h4{font-family:var(--font-display);color:var(--navy-900);font-size:1rem}
.svc-type .card small{font-size:.72rem;color:var(--ink-soft)}
.cal{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);padding:20px}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cal-head button{background:none;border:1px solid var(--steel-300);border-radius:6px;width:32px;height:32px;color:var(--navy-800)}
.cal-head .m{font-family:var(--font-display);font-weight:700;color:var(--navy-900);font-size:1.1rem}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.cal-grid .dow{font-family:var(--font-mono);font-size:.62rem;color:var(--steel-500);text-align:center;padding:4px 0}
.cal-grid .day{aspect-ratio:1;border:1px solid transparent;border-radius:6px;display:grid;
  place-items:center;font-size:.85rem;cursor:pointer;color:var(--ink)}
.cal-grid .day:hover:not(.off){background:rgba(28,83,180,.1)}
.cal-grid .day.off{color:var(--steel-300);cursor:not-allowed}
.cal-grid .day.sel{background:var(--blue-600);color:#fff;font-weight:700}
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}
.slot{border:1px solid var(--steel-300);border-radius:6px;padding:.55rem;text-align:center;
  font-family:var(--font-mono);font-size:.8rem;background:#fff;color:var(--navy-800)}
.slot:hover{border-color:var(--blue-500)}
.slot.sel{background:var(--navy-800);color:#fff;border-color:var(--navy-800)}
.slot:disabled{opacity:.35;cursor:not-allowed}

/* ==========================================================================
   LEGAL / CONTENT PAGE
   ========================================================================== */
.page-hero{background:var(--navy-900);color:#fff;padding:70px 0 56px;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(47,111,214,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(47,111,214,.10) 1px,transparent 1px);
  background-size:48px 48px;mask-image:radial-gradient(circle at 80% 20%,#000,transparent 70%)}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin:.8rem 0 .5rem}
.page-hero p{color:var(--steel-300);max-width:60ch}
.legal{max-width:820px;margin:0 auto}
.legal h2{color:var(--navy-900);font-size:1.5rem;margin:38px 0 12px;padding-top:14px;border-top:1px solid var(--line-dark)}
.legal h3{color:var(--navy-800);font-size:1.15rem;margin:22px 0 8px}
.legal p,.legal li{color:var(--ink-soft);font-size:.98rem}
.legal ul{padding-left:1.3rem}
.legal .toc{background:#fff;border:1px solid var(--line-dark);border-radius:var(--radius);padding:22px 26px;margin-bottom:30px}
.legal .toc h4{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;color:var(--steel-500);text-transform:uppercase;margin:0 0 12px}
.legal .toc ol{margin:0;padding-left:1.2rem;columns:2}
.legal .toc a{color:var(--blue-600)}
.legal .upd{font-family:var(--font-mono);font-size:.78rem;color:var(--steel-500)}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer.site{background:var(--navy-950);color:var(--steel-300);padding:56px 0 0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px}
.foot-brand .brand .txt b,.foot-brand .brand .txt{color:#fff}
.foot-brand p{margin:16px 0 0;font-size:.92rem;max-width:34ch}
footer.site h4{color:#fff;font-size:.82rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px}
footer.site ul{list-style:none;padding:0;margin:0}
footer.site li{padding:.3rem 0}
footer.site a:hover{color:#fff}
.foot-contact .row{display:flex;gap:.6rem;padding:.35rem 0;font-size:.92rem}
.foot-contact .row svg{width:16px;height:16px;color:var(--blue-500);flex:0 0 auto;margin-top:3px}
.foot-bar{border-top:1px solid var(--line);margin-top:44px;padding:22px 0;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;
  font-family:var(--font-mono);font-size:.72rem;color:var(--steel-500)}
.foot-bar a{color:var(--steel-500)}
.foot-bar a:hover{color:#fff}

/* ==========================================================================
   COOKIE BANNER
   ========================================================================== */
.cookie{position:fixed;left:20px;right:20px;bottom:20px;z-index:100;max-width:920px;margin:0 auto;
  background:var(--white);border:1px solid var(--line-dark);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);padding:22px 24px;display:none;
  align-items:center;gap:22px;flex-wrap:wrap}
.cookie.show{display:flex;animation:cookieIn .4s ease}
@keyframes cookieIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.cookie .ck-ico{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#0d2f7a,#1c53b4);
  display:grid;place-items:center;color:#fff;flex:0 0 auto}
.cookie p{margin:0;flex:1;min-width:240px;font-size:.9rem;color:var(--ink-soft)}
.cookie p b{color:var(--navy-900)}
.cookie a{color:var(--blue-600);text-decoration:underline}
.cookie .ck-actions{display:flex;gap:.6rem}

/* ==========================================================================
   UTIL / MOTION / RESPONSIVE
   ========================================================================== */
.reveal{opacity:0;transform:translateY(22px);transition:.6s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.hide{display:none!important}

@media(max-width:960px){
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .svc-list,.grid-2,.book-grid,.checkout-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .summary{position:static}
  .legal .toc ol{columns:1}
  .cta-band-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:720px){
  .nav-links{display:none}
  .burger{display:block}
  .nav-links.open{display:flex;position:absolute;top:74px;left:0;right:0;flex-direction:column;
    background:#fff;padding:16px;border-bottom:1px solid var(--line-dark);gap:.2rem;box-shadow:var(--shadow-md)}
  .nav-links.open a{width:100%}
  .product-grid,.cat-grid,.foot-grid,.svc-type{grid-template-columns:1fr}
  .hero-inner{padding:64px 24px 76px}
  section.block{padding:60px 0}
  .warranty-strip-inner{flex-direction:column;align-items:flex-start;gap:16px}
  .brands-row{gap:8px}
  .cta-band-btns{flex-direction:column;width:100%}
  .cta-band-btns .btn{text-align:center;justify-content:center}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
