/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Main Stylesheet
   ─────────────────────────────────────────────────────────────────
   Extracted from Signisys HTML design system.
   Contains ONLY global/common styles shared across all pages:
     1.  Design Tokens
     2.  Fonts
     3.  Reset & Base
     4.  Accessibility
     5.  Animations & Scroll Reveal
     6.  Buttons
     7.  Layout Helpers
     8.  Section Base
     9.  Header & Mega Menus
     10. Mobile Menu
     11. Footer
     12. Page Hero (shared inner-page hero)
     13. Modal (Consultation)
     14. Back-to-Top Button
     15. Utilities
     16. Responsive Breakpoints
   ═══════════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────────────
   1. DESIGN TOKENS
   ───────────────────────────────────────────── */
:root {
  --or: #FE6000;
  --or-txt: #cf5000; /* WCAG AA accessible orange for small text (4.6:1 on white) */
  --am: #FEA300;
  --wm: #FE8800;
  --co: #FE5706;
  --rd: #FE072A;
  --nv: #141425;
  --nv2: #1E1E36;
  --ch: #3A3A58;
  --sl: #636380;
  --mi: #F7F7FC;
  --cl: #EEEEF6;
  --sv: #DDDDE8;
  --wh: #FFFFFF;
  --gr: linear-gradient(135deg, #FEA300 0, #FE6000 35%, #FE5706 65%, #FE072A 100%);
  --ft: 'Inter', -apple-system, system-ui, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.4, 0, .2, 1);
  --sh-hover:   0 16px 48px rgba(20,20,37,.08);
  --sh-glow-sm: 0 4px  16px rgba(254,96,0,.15);
  --sh-glow-lg: 0 6px  24px rgba(254,96,0,.25);
  --mx:  1320px;
  --gut: clamp(1.25rem, 3vw, 2.5rem);

  /* Hero top padding — accounts for fixed header (68px) + breathing room.
     Single source of truth: breadcrumb distance from top is identical on every page. */
  --hero-pt: calc(68px + 52px);  /* = 120px */

  /* Notification bar height — 0 when inactive, set by body class when active */
  --nbar-h: 0px;
}

/* ─────────────────────────────────────────────
   2. FONTS
   ───────────────────────────────────────────── */
@font-face { font-family: 'Segoe UI'; src: local('Segoe UI Light');    font-weight: 300; font-display: swap; }
@font-face { font-family: 'Segoe UI'; src: local('Segoe UI');          font-weight: 400; font-display: swap; }
@font-face { font-family: 'Segoe UI'; src: local('Segoe UI Semibold'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Segoe UI'; src: local('Segoe UI Bold');     font-weight: 700; font-display: swap; }

/* ─────────────────────────────────────────────
   3. RESET & BASE
   ───────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 100%; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: var(--ft); color: var(--ch); background: var(--mi); overflow-x: hidden; line-height: 1.65; }
::selection { background: var(--or); color: #fff; }
img  { display: block; max-width: 100%; }
a    { color: inherit; text-decoration: none; }

/* ─────────────────────────────────────────────
   4. ACCESSIBILITY
   ───────────────────────────────────────────── */
.skip-link {
  position: absolute; top: -100%; left: 16px;
  padding: 8px 16px; background: var(--or); color: #fff;
  font-size: .85rem; font-weight: 600;
  border-radius: 0 0 8px 8px; z-index: 9999;
  transition: top .2s;
}
.skip-link:focus-visible { top: 0; }

*:focus-visible {
  outline: 2px solid var(--or);
  outline-offset: 2px;
  border-radius: 4px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

@media (prefers-reduced-motion: reduce) {
  *, .rv {
    animation: none !important;
    transition-duration: 0s !important;
  }
  .rv { opacity: 1; transform: none; }
}

/* ─────────────────────────────────────────────
   5. ANIMATIONS & SCROLL REVEAL
   ───────────────────────────────────────────── */
@keyframes fadeUp    { from { opacity: 0; transform: translateY(36px); } to { opacity: 1; transform: none; } }
@keyframes float     { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes pulse     { 0%,100% { opacity: .35; } 50% { opacity: .85; } }
@keyframes spin      { to { transform: rotate(360deg); } }
@keyframes dashFlow  { to { stroke-dashoffset: -20; } }
@keyframes heroShift {
  0%   { background-position: 0 50%; }
  33%  { background-position: 100% 0; }
  66%  { background-position: 50% 100%; }
  100% { background-position: 0 50%; }
}
@keyframes glowPulse {
  0%, 100% { opacity: .4; transform: scale(1); }
  50%      { opacity: 1;  transform: scale(1.05); }
}

.rv  { opacity: 0; transform: translateY(32px); transition: opacity .65s var(--ease), transform .65s var(--ease); }
.rv.vis { opacity: 1; transform: none; }
.rd1 { transition-delay: .1s; }
.rd2 { transition-delay: .2s; }
.rd3 { transition-delay: .3s; }
.rd4 { transition-delay: .4s; }

/* ─────────────────────────────────────────────
   6. BUTTONS
   ───────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; font-family: var(--ft); font-weight: 600; font-size: .85rem;
  height: 44px; padding: 0 28px; border-radius: 8px;
  border: 1.5px solid transparent; cursor: pointer;
  transition: all .3s var(--ease); line-height: 1; white-space: nowrap;
}
.btn--lg  { height: 48px; padding: 0 34px; font-size: .95rem; }
.btn--sm  { height: 36px; padding: 0 18px; font-size: .78rem; }

.btn--p   { background: var(--gr); background-size: 200% 200%; color: #fff; box-shadow: var(--sh-glow-sm); }
.btn--p:hover { box-shadow: var(--sh-glow-lg); transform: translateY(-2px); }
.btn--s   { background: transparent; color: var(--or); border-color: var(--or); }
.btn--s:hover { background: var(--gr); color: #fff; border-color: transparent; box-shadow: var(--sh-glow-sm); }
.btn--gh  { background: rgba(254,96,0,.04); color: var(--or); }
.btn--gh:hover { background: rgba(254,96,0,.08); }
.btn svg  { width: 14px; height: 14px; transition: transform .25s var(--ease); flex-shrink: 0; }
.btn:hover svg { transform: translateX(3px); }

/* Share buttons (global) */
.share-btn{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;border:1px solid var(--sv);background:var(--wh);color:var(--sl);text-decoration:none}
.share-btn:hover{border-color:var(--or);color:var(--or)}
.share-btn svg{width:14px;height:14px}
.share-btn--copied{border-color:#10B981!important;color:#10B981!important;background:rgba(16,185,129,.06)!important}

/* ─────────────────────────────────────────────
   7. LAYOUT HELPERS
   ───────────────────────────────────────────── */
.con { max-width: var(--mx); margin: 0 auto; padding: 0 var(--gut); }

/* ─────────────────────────────────────────────
   8. SECTION BASE
   ───────────────────────────────────────────── */
.sec      { padding: clamp(48px, 6vw, 72px) 0; }
.sec--wh  { background: var(--wh); }
.sec--mi  { background: var(--mi); }

.sec__hd     { margin-bottom: 32px; }
.sec__hd--c  { text-align: center; }
.sec__hd--s  { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; }

.sec__ey {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .68rem; font-weight: 700; color: var(--or);
  text-transform: uppercase; letter-spacing: .1em; margin-bottom: 12px;
}
.sec__ey::before { content: ''; width: 18px; height: 2px; background: var(--gr); border-radius: 4px; }

.sec__t { font-size: clamp(1.7rem, 2.8vw, 2.5rem); font-weight: 300; color: var(--nv); line-height: 1.18; max-width: 560px; }
.sec__t strong { font-weight: 700; }

.sec__d { font-size: .95rem; color: var(--sl); max-width: none; margin-top: 9px; font-weight: 300; line-height: 1.65; }

.sec__hd--c .sec__t,
.sec__hd--c .sec__d,
.sec__hd--c .sec__ey { margin-left: auto; margin-right: auto; text-align: center; }

/* ─────────────────────────────────────────────
   8. NOTIFICATION BAR (sticky top banner)
   ───────────────────────────────────────────── */
@keyframes nbarScroll {
  0%   { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}
.nbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1100;
  background: var(--nv);
  color: rgba(255,255,255,.9);
  font-size: .78rem; font-weight: 400;
  line-height: 1;
  overflow: hidden;
  transition: transform .35s var(--ease);
}
.nbar__inner {
  max-width: var(--mx); margin: 0 auto;
  padding: 0 var(--gut);
  display: flex; align-items: center; gap: 0;
  height: 40px;
}

/* ── Scrolling text area ── */
.nbar__marquee {
  flex: 1; min-width: 0; overflow: hidden;
  position: relative; height: 100%;
  display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.nbar__track {
  display: inline-flex; align-items: center; gap: 48px;
  white-space: nowrap;
  animation: nbarScroll 60s linear infinite;
  padding-left: 8px;
}
.nbar__track:hover { animation-play-state: paused; }
.nbar__msg {
  display: inline-flex; align-items: center; gap: 8px;
  white-space: nowrap;
}
.nbar__msg-icon { display: inline-flex; align-items: center; flex-shrink: 0; }
.nbar__msg-icon svg { width: 13px; height: 13px; color: var(--am); }

/* ── Link — matches .btn .btn--p style, compact height ── */
.nbar__link {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 6px; margin-left: 12px;
  padding: 4px 14px;
  background: var(--gr); background-size: 200% 200%;
  color: #fff; font-family: var(--ft); font-weight: 600; font-size: .72rem;
  border-radius: 8px; border: 1.5px solid transparent;
  text-decoration: none; line-height: 1;
  white-space: nowrap; flex-shrink: 0; cursor: pointer;
  transition: all .3s var(--ease);
  box-shadow: var(--sh-glow-sm);
}
.nbar__link:hover {
  box-shadow: var(--sh-glow-lg);
  transform: translateY(-1px);
}
.nbar__link svg { width: 10px; height: 10px; transition: transform .25s var(--ease); flex-shrink: 0; }
.nbar__link:hover svg { transform: translateX(3px); }

/* ── Close button (fixed right) ── */
.nbar__close {
  flex-shrink: 0; background: none; border: none; cursor: pointer;
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  border-radius: 6px; color: rgba(255,255,255,.4);
  transition: all .2s var(--ease);
  margin-left: 4px;
}
.nbar__close:hover { background: rgba(255,255,255,.1); color: #fff; }
.nbar__close svg { width: 12px; height: 12px; }

/* When notification bar is active, shift everything down */
body.has-nbar { --nbar-h: 40px; }

/* When dismissed */
.nbar.dismissed { transform: translateY(-100%); }
body.nbar-dismissed { --nbar-h: 0px; }

/* ─────────────────────────────────────────────
   9. HEADER & MEGA MENUS
   ───────────────────────────────────────────── */
.hdr {
  position: fixed; top: var(--nbar-h); left: 0; right: 0; z-index: 1000;
  padding: 9px 0; transition: all .35s var(--ease);
}
.hdr::before {
  content: ''; position: absolute; inset: 0;
  background: rgba(255,255,255,0);
  backdrop-filter: blur(0); -webkit-backdrop-filter: blur(0);
  border-bottom: 1px solid transparent;
  transition: all .35s var(--ease); z-index: -1;
}
.hdr.scrolled::before {
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(28px); -webkit-backdrop-filter: blur(28px);
  border-color: rgba(0,0,0,.05);
  box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 8px 32px rgba(20,20,37,.06);
}

.hdr__bar {
  max-width: var(--mx); margin: 0 auto;
  display: flex; align-items: center; height: 54px; padding: 0 var(--gut); gap: 8px;
}

.custom-logo-link       { display: inline-flex; align-items: center; flex-shrink: 0; margin-right: 16px; }
.custom-logo-link:focus { outline: 2px solid var(--or); outline-offset: 3px; border-radius: 6px; }
.custom-logo            { height: 34px; width: auto; display: block; }
.logo__img              { height: 34px; width: auto; }

.nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.nav__item { position: static; }
.nav__link {
  display: flex; align-items: center; gap: 5px; padding: 8px 14px;
  font-size: .88rem; font-weight: 400; color: var(--ch);
  border-radius: 8px; transition: color .2s var(--ease), background .2s var(--ease);
  cursor: pointer; white-space: nowrap; border: none; background: none;
  letter-spacing: -.01em;
}
.nav__link:hover,
.nav__item.open > .nav__link { color: var(--nv); background: rgba(20,20,37,.04); }
.nav__link .chv { width: 9px; height: 9px; transition: transform .2s var(--ease); color: var(--sl); opacity: .6; }
.nav__item.open .nav__link .chv { transform: rotate(180deg); }

.hdr__cta { display: flex; align-items: center; gap: 8px; flex-shrink: 0; margin-left: 12px; }

.menu-tog {
  display: none; background: none; border: none;
  cursor: pointer; padding: 0; margin-left: auto;
  width: 40px; height: 40px;
  align-items: center; justify-content: center;
  flex-direction: column; gap: 6px;
  transition: background .2s var(--ease); border-radius: 8px;
}
.menu-tog:hover { background: rgba(20,20,37,.05); }
.menu-tog span {
  display: block; width: 20px; height: 2px;
  background: var(--nv); border-radius: 2px;
  transition: transform .3s var(--ease), opacity .2s var(--ease);
  transform-origin: center; pointer-events: none;
}
.menu-tog.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-tog.is-open span:nth-child(2) { opacity: 0; }
.menu-tog.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.menu-tog.is-open { opacity: 0; pointer-events: none; }

.mega {
  position: fixed; top: calc(73px + var(--nbar-h));
  left: 50%; transform: translateX(-50%) translateY(-10px);
  width: min(calc(100vw - 40px), 1200px);
  background: var(--wh);
  border: 1px solid rgba(221,221,232,.65);
  border-radius: 20px;
  box-shadow: 0 4px 8px rgba(20,20,37,.04), 0 20px 56px rgba(20,20,37,.12),
              0 0 0 1px rgba(255,255,255,.9) inset;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .26s var(--ease), transform .26s var(--ease), visibility .26s;
  z-index: 999; overflow: hidden;
}
.mega::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--gr); z-index: 2;
}
.nav__item.open .mega {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.mega__in { padding: 22px 22px 0; }

.mega__cols-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.mega__col-group { padding: 0 14px 16px; }
.mega__col-group:first-child { padding-left: 2px; }
.mega__col-group:last-child  { padding-right: 2px; }
.mega__col-group:not(:last-child) { border-right: 1px solid rgba(221,221,232,.5); }

.mega__col-hd {
  display: flex; align-items: center; gap: 8px;
  padding: 2px 0 10px; margin-bottom: 6px;
  border-bottom: 1px solid rgba(221,221,232,.5);
}
.mega__col-hd-icon {
  width: 28px; height: 28px; border-radius: 8px; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(254,163,0,.1), rgba(254,96,0,.06));
  border: 1px solid rgba(254,96,0,.1);
  display: flex; align-items: center; justify-content: center; color: var(--or);
  transition: background .2s var(--ease), box-shadow .2s var(--ease);
}
.mega__col-hd-icon svg { width: 13px; height: 13px; }
.mega__col-group:hover .mega__col-hd-icon {
  background: var(--gr); border-color: transparent; color: #fff;
  box-shadow: 0 3px 10px rgba(254,96,0,.25);
}
.mega__col-hd-label {
  font-size: .68rem; font-weight: 700; color: var(--nv);
  text-transform: uppercase; letter-spacing: .07em; line-height: 1.2;
}
.mega__col-cards { display: flex; flex-direction: column; gap: 2px; }
.mega__col-more{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;color:var(--or);text-decoration:none;padding:8px 0 0;margin-top:4px;transition:gap .2s}
.mega__col-more:hover{gap:8px}

.mega__card {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 10px 11px; border-radius: 12px;
  border: 1px solid transparent; text-decoration: none; color: inherit;
  transition: background .2s var(--ease), border-color .2s var(--ease),
              box-shadow .2s var(--ease), transform .2s var(--ease);
  position: relative; overflow: hidden;
}
.mega__card::after {
  content: ''; position: absolute; inset: 0; border-radius: 12px;
  background: linear-gradient(135deg, rgba(254,163,0,.07), rgba(254,96,0,.04));
  opacity: 0; transition: opacity .2s var(--ease); pointer-events: none;
}
.mega__card:hover {
  border-color: rgba(254,96,0,.18);
  box-shadow: 0 4px 16px rgba(254,96,0,.08);
  transform: translateY(-1px);
}
.mega__card:hover::after { opacity: 1; }

.mega__card-ic {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  background: var(--mi); border: 1px solid var(--sv); color: var(--sl);
  transition: background .22s var(--ease), border-color .22s var(--ease),
              color .22s var(--ease), box-shadow .22s var(--ease);
  position: relative; z-index: 1;
}
.mega__card-ic svg { width: 17px; height: 17px; }
.mega__card:hover .mega__card-ic {
  background: var(--gr); border-color: transparent; color: #fff;
  box-shadow: 0 4px 14px rgba(254,96,0,.25);
}

.mega__card-body { min-width: 0; padding-top: 2px; position: relative; z-index: 1; }
.mega__card-title {
  font-size: .79rem; font-weight: 600; color: var(--nv);
  line-height: 1.25; margin-bottom: 2px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .18s var(--ease);
}
.mega__card-desc {
  font-size: .68rem; color: var(--sl); font-weight: 300;
  line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.mega__card:hover .mega__card-title { color: var(--or); }

.mega__ft {
  display: flex; align-items: center; justify-content: space-between;
  padding: 13px 22px; margin-top: 18px;
  border-top: 1px solid rgba(221,221,232,.5);
  background: rgba(247,247,252,.9); gap: 16px;
}
.mega__ft-lk {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; font-family: var(--ft); font-weight: 600; font-size: .85rem;
  height: 44px; padding: 0 28px; border-radius: 8px;
  background: transparent; color: var(--or);
  border: 1.5px solid var(--or);
  cursor: pointer; transition: all .3s var(--ease); line-height: 1; white-space: nowrap;
  text-decoration: none;
}
.mega__ft-lk:hover { background: var(--gr); color: #fff; border-color: transparent; box-shadow: var(--sh-glow-sm); transform: translateY(-1px); }
.mega__ft-lk svg { width: 13px; height: 13px; transition: transform .25s var(--ease); flex-shrink: 0; }
.mega__ft-lk:hover svg { transform: translateX(3px); }

/* ─────────────────────────────────────────────
   10. MOBILE MENU
   ───────────────────────────────────────────── */
.mob-overlay {
  position: fixed; inset: 0;
  background: rgba(20,20,37,.65);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  z-index: 1050; opacity: 0; visibility: hidden;
  transition: all .35s var(--ease);
}
.mob-overlay.open { opacity: 1; visibility: visible; }

.mob-menu {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(340px, 90vw);
  background: var(--wh); z-index: 1060;
  transform: translateX(100%);
  transition: transform .35s var(--ease);
  display: flex; flex-direction: column;
  box-shadow: -8px 0 40px rgba(20,20,37,.12);
}
.mob-menu.open { transform: none; }

.mob-menu__header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid var(--sv); flex-shrink: 0;
}
.mob-menu__close {
  display: flex; align-items: center; justify-content: center;
  background: var(--mi); border: none; cursor: pointer;
  width: 36px; height: 36px; border-radius: 8px; flex-shrink: 0;
  color: var(--ch); transition: background .2s var(--ease), color .2s var(--ease);
}
.mob-menu__close:hover { background: rgba(254,96,0,.08); color: var(--or); }

.mob-menu__body { flex: 1; overflow-y: auto; padding: 8px 12px 12px; }

.mob-nav__item { margin-bottom: 1px; }
.mob-nav__link {
  display: flex; align-items: center; justify-content: space-between;
  padding: 11px 12px; font-size: .9rem; font-weight: 500; color: var(--nv);
  cursor: pointer; border-radius: 10px;
  transition: background .18s var(--ease), color .18s var(--ease);
  letter-spacing: -.01em;
}
.mob-nav__link:hover { background: var(--mi); color: var(--ch); }
.mob-nav__item.m-open > .mob-nav__link { background: rgba(254,96,0,.05); color: var(--or); border-radius: 10px 10px 0 0; }
.mob-nav__link svg { width: 12px; height: 12px; color: var(--sl); transition: transform .25s var(--ease); flex-shrink: 0; }
.mob-nav__item.m-open > .mob-nav__link svg { transform: rotate(180deg); color: var(--or); }

.mob-sub {
  display: none; padding: 6px 0 10px;
  background: var(--mi); border-radius: 0 0 10px 10px; margin-bottom: 2px;
}
.mob-nav__item.m-open .mob-sub { display: block; }

.mob-sub__group { padding: 8px 12px 0; }
.mob-sub__title {
  font-size: .65rem; font-weight: 700; color: var(--sl);
  text-transform: uppercase; letter-spacing: .1em;
  margin-bottom: 4px; padding: 4px 8px;
}
.mob-sub__link {
  display: flex; align-items: center; gap: 8px;
  font-size: .83rem; color: var(--ch); font-weight: 400;
  padding: 7px 8px; border-radius: 7px;
  transition: all .16s var(--ease); text-decoration: none;
}
.mob-sub__link::before {
  content: ''; width: 4px; height: 4px; border-radius: 50%;
  background: var(--sv); flex-shrink: 0;
  transition: background .16s var(--ease);
}
.mob-sub__link:hover { background: rgba(254,96,0,.06); color: var(--nv); }
.mob-sub__link:hover::before { background: var(--or); }

.mob-sub__group + .mob-sub__group { border-top: 1px solid rgba(221,221,232,.5); padding-top: 8px; margin-top: 4px; }

.mob-menu__cta {
  padding: 14px 16px; border-top: 1px solid var(--sv);
  display: flex; flex-direction: column; gap: 8px; flex-shrink: 0;
}
.mob-menu__cta .btn { width: 100%; justify-content: center; }

/* ─────────────────────────────────────────────
   11. FOOTER
   ───────────────────────────────────────────── */
.ft { background: var(--wh); position: relative; overflow: hidden; border-top: 1px solid var(--sv); }
.ft::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(254,96,0,.04) 1px, transparent 1px);
  background-size: 40px 40px; pointer-events: none;
}
.ft::after {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1.4px;
  background: var(--gr);
}

.ft__main { max-width: var(--mx); margin: 0 auto; padding: 64px var(--gut) 20px; position: relative; z-index: 1; }

.ft__top {
  display: grid; grid-template-columns: 280px 1fr 1fr 1fr 220px;
  gap: 40px; padding-bottom: 48px; border-bottom: 1px solid var(--sv);
}

.ft__logo { height: 34px; margin-bottom: 16px; display: block; }
.ft__desc { font-size: .82rem; color: var(--sl); line-height: 1.7; font-weight: 300; max-width: 220px; margin-bottom: 20px; }

.ft__social { display: flex; gap: 8px; }
.ft__social a {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--mi); border: 1px solid var(--sv);
  display: flex; align-items: center; justify-content: center; color: var(--sl);
  transition: background .22s var(--ease), border-color .22s var(--ease),
              color .22s var(--ease), transform .22s var(--ease), box-shadow .22s var(--ease);
}
.ft__social a svg { width: 14px; height: 14px; }
.ft__social a:hover { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(20,20,37,.1); }
.ft__social a[data-social="linkedin"]:hover  { background: #0A66C2; border-color: #0A66C2; color: #fff; }
.ft__social a[data-social="facebook"]:hover  { background: #1877F2; border-color: #1877F2; color: #fff; }
.ft__social a[data-social="twitter"]:hover   { background: var(--nv); border-color: var(--nv); color: #fff; }
.ft__social a[data-social="youtube"]:hover   { background: #FF0000; border-color: #FF0000; color: #fff; }

.ft__heading {
  font-size: .7rem; font-weight: 700; color: var(--nv);
  text-transform: uppercase; letter-spacing: .12em;
  margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--sv);
}

.ft__links { list-style: none; }
.ft__links a {
  display: flex; align-items: center; gap: 0;
  font-size: .82rem; color: var(--sl); font-weight: 300;
  padding: 5px 0 3px; text-decoration: none;
  transition: color .2s var(--ease), gap .2s var(--ease);
}
.ft__links a::before {
  content: ""; display: block; flex-shrink: 0;
  width: 0; height: 14px;
  border-left: 2.5px solid var(--or); border-radius: 2px;
  opacity: 0;
  transition: width .18s var(--ease), opacity .18s var(--ease), margin-right .18s var(--ease);
  margin-right: 0;
}
.ft__links a:hover { color: var(--nv); gap: 0; }
.ft__links a:hover::before { opacity: 1; width: 0; margin-right: 8px; }

.ft__nl-text { font-size: .82rem; color: var(--sl); font-weight: 300; margin-bottom: 16px; line-height: 1.65; }
.ft__nl-form { display: flex; flex-direction: column; gap: 10px; }
.ft__nl-input {
  width: 100%; padding: 11px 14px;
  border: 1.5px solid var(--sv); border-radius: 8px;
  background: var(--wh); color: var(--nv);
  font-family: var(--ft); font-size: .85rem; outline: none;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
  box-sizing: border-box;
}
.ft__nl-input::placeholder { color: var(--sl); font-weight: 300; }
.ft__nl-input:focus { border-color: var(--or); box-shadow: 0 0 0 3px rgba(254,96,0,.1); }
.ft__nl-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 8px; width: 100%; height: 44px;
  background: var(--gr); background-size: 200% 200%;
  border: none; border-radius: 8px; color: #fff; cursor: pointer;
  font-family: var(--ft); font-weight: 600; font-size: .88rem;
  transition: box-shadow .3s var(--ease), transform .25s var(--ease);
  box-shadow: var(--sh-glow-sm); letter-spacing: .01em;
}
.ft__nl-btn:hover { box-shadow: var(--sh-glow-lg); transform: translateY(-2px); }
.ft__nl-btn svg { width: 13px; height: 13px; transition: transform .25s var(--ease); }
.ft__nl-btn:hover svg { transform: translateX(3px); }
.ft__nl-note { font-size: .72rem; color: var(--sl); margin-top: 6px; }
.ft__nl-msg { font-size: .74rem; margin-top: 8px; line-height: 1.45; display: none; }
.ft__nl-msg.show { display: block; }
.ft__nl-msg.success { color: #059669; }
.ft__nl-msg.error { color: var(--rd); }
.ft__nl-input.has-error { border-color: var(--rd); }

.ft__contact-strip {
  display: flex; gap: 32px; align-items: center; flex-wrap: wrap;
  padding: 20px 0; border-bottom: 1px solid var(--sv); margin-bottom: 20px;
}
.ft__contact-item { display: flex; align-items: center; gap: 10px; }
.ft__contact-ic {
  width: 32px; height: 32px; border-radius: 8px;
  background: rgba(254,96,0,.06); border: 1px solid rgba(254,96,0,.12);
  display: flex; align-items: center; justify-content: center; color: var(--or); flex-shrink: 0;
}
.ft__contact-ic svg { width: 13px; height: 13px; }
.ft__contact-lbl { font-size: .68rem; color: var(--sl); font-weight: 500; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1px; }
.ft__contact-val { font-size: .8rem; color: var(--ch); font-weight: 300; }

.ft__bottom {
  display: flex; align-items: center; justify-content: space-between;
  gap: 24px; flex-wrap: wrap;
}
.ft__copy { font-size: .74rem; color: var(--sl); font-weight: 300; }
.ft__legal { display: flex; gap: 20px; }
.ft__legal a { font-size: .74rem; color: var(--sl); font-weight: 300; transition: color .2s; }
.ft__legal a:hover { color: var(--or); }

/* ─────────────────────────────────────────────
   12. PAGE HERO (Inner Pages — shared)
   ───────────────────────────────────────────── */
.page-hero {
  padding: var(--hero-pt) 0 34px; background: var(--mi);
  position: relative; overflow: hidden;
}
.page-hero__title {
  font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 300;
  color: var(--nv); line-height: 1.15; margin-bottom: 16px; max-width: 700px;
}
.page-hero__title strong { font-weight: 700; }
.page-hero__desc { font-size: .95rem; color: var(--sl); line-height: 1.7; font-weight: 300; max-width: 560px; }
.page-hero__glow {
  position: absolute; top: -50%; right: -10%;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(254,96,0,.04), transparent 70%);
  pointer-events: none;
}

.breadcrumb { display: flex; align-items: center; gap: 8px; font-size: .76rem; color: var(--sl); margin-bottom: 16px; }
.breadcrumb a     { color: var(--sl); font-weight: 400; transition: color .2s; }
.breadcrumb a:hover { color: var(--or); }
.breadcrumb span  { color: var(--nv); font-weight: 500; }
.breadcrumb svg   { width: 12px; height: 12px; color: var(--sv); }

/* ─────────────────────────────────────────────
   13. MODAL (Consultation)
   ───────────────────────────────────────────── */
.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(20,20,37,.55);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  z-index: 2000; display: flex; align-items: center; justify-content: center;
  padding: 24px; opacity: 0; visibility: hidden;
  transition: opacity .3s var(--ease), visibility .3s;
}
.modal-overlay.active { opacity: 1; visibility: visible; }

.modal {
  background: var(--wh); border-radius: 18px;
  width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto;
  position: relative;
  box-shadow: 0 32px 80px rgba(20,20,37,.2), 0 0 0 1px rgba(0,0,0,.03);
  transform: translateY(20px) scale(.97);
  transition: transform .35s var(--ease); padding: 36px 36px 28px;
}
.modal-overlay.active .modal { transform: none; }

.modal__close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  background: var(--mi); border: none; border-radius: 10px;
  cursor: pointer; color: var(--sl); transition: all .2s var(--ease);
}
.modal__close:hover { background: rgba(254,96,0,.06); color: var(--or); }

.modal__hd    { margin-bottom: 24px; }
.modal__title { font-size: 1.35rem; font-weight: 700; color: var(--nv); margin-bottom: 6px; }
.modal__desc  { font-size: .85rem; color: var(--sl); font-weight: 300; line-height: 1.6; }

.modal__row   { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.modal__field { margin-bottom: 12px; }
.modal__row .modal__field { margin-bottom: 0; }

.modal__field input,
.modal__field select,
.modal__field textarea {
  width: 100%; padding: 12px 14px;
  border: 1.5px solid var(--sv); border-radius: 10px;
  font-family: var(--ft); font-size: .85rem; color: var(--nv);
  background: var(--wh); outline: none;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.modal__field input:focus,
.modal__field select:focus,
.modal__field textarea:focus { border-color: var(--or); box-shadow: 0 0 0 3px rgba(254,96,0,.08); }
.modal__field input::placeholder,
.modal__field textarea::placeholder { color: var(--sl); font-weight: 300; }

.modal__field select {
  color: var(--sl); font-weight: 300;
  -webkit-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237A7A98' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px;
}
.modal__field select:valid { color: var(--nv); font-weight: 400; }
.modal__field textarea     { resize: vertical; min-height: 80px; }
.modal__field input:invalid:not(:placeholder-shown) { border-color: var(--rd); }

.modal__submit  { width: 100%; margin-top: 4px; height: 48px; font-size: .9rem; }
.modal__privacy { font-size: .72rem; color: var(--sl); text-align: center; margin-top: 12px; font-weight: 300; }
.modal__privacy a { color: var(--or); font-weight: 500; }

.modal__success    { text-align: center; padding: 24px 0; }
.modal__success-ic { color: var(--or); margin-bottom: 16px; }
.modal__success-t  { font-size: 1.2rem; font-weight: 700; color: var(--nv); margin-bottom: 8px; }
.modal__success-tx { font-size: .88rem; color: var(--sl); font-weight: 300; margin-bottom: 20px; line-height: 1.6; }

/* ─────────────────────────────────────────────
   14. BACK-TO-TOP BUTTON
   ───────────────────────────────────────────── */
.btt {
  position: fixed; bottom: 24px; right: 24px;
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  background: var(--nv); color: #fff;
  border: 1px solid rgba(255,255,255,.1); border-radius: 12px;
  cursor: pointer; box-shadow: 0 4px 16px rgba(20,20,37,.2);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .3s var(--ease), transform .3s var(--ease),
              visibility .3s, background .25s var(--ease), box-shadow .25s var(--ease);
  z-index: 999;
}
.btt.show { opacity: 1; visibility: visible; transform: none; }
.btt:hover {
  background: var(--gr); border-color: transparent;
  box-shadow: var(--sh-glow-lg); transform: translateY(-2px);
}

/* ─────────────────────────────────────────────
   15. UTILITIES
   ───────────────────────────────────────────── */
.u-bg-wh  { background: var(--wh); }
.u-bg-mi  { background: var(--mi); }
.u-mx-auto { margin: 0 auto; }
.u-shrink0 { flex-shrink: 0; }
.u-mt8    { margin-top: 8px; }
.u-mt9    { margin-top: 9px; }
.u-mt28   { margin-top: 28px; }
.u-w12    { width: 12px; height: 12px; }
#mobLogo  { height: 28px; }

/* ─────────────────────────────────────────────
   16. RESPONSIVE BREAKPOINTS
   ─────────────────────────────────────────────
   Breakpoints:
     1024px — Tablet landscape / small desktop
      768px — Tablet portrait
      640px — Large mobile
      480px — Small mobile
   ───────────────────────────────────────────── */

/* ── Tablet landscape / small desktop ── */
@media (max-width: 1024px) {
  /* Header: hide desktop nav, show hamburger */
  .nav, .mega, .hdr__cta { display: none; }
  .menu-tog { display: flex; }

  /* Footer: 3-column */
  .ft__top { grid-template-columns: 1fr 1fr 1fr; gap: 28px; }
  .ft__brand { grid-column: 1/4; }
  .ft__nl { grid-column: 1/4; }
}

/* ── Tablet portrait ── */
@media (max-width: 768px) {
  /* Reduce container padding */
  :root { --gut: clamp(1rem, 3vw, 1.5rem); }

  /* Section headings */
  .sec__hd--s { flex-direction: column; align-items: flex-start; gap: 16px; }
  .sec__t { max-width: 100%; }

  /* Footer: 2-column */
  .ft__top { grid-template-columns: 1fr 1fr; gap: 24px; }
  .ft__brand { grid-column: 1/3; }
  .ft__nl { grid-column: 1/3; }

  /* Footer contact strip: stack vertically */
  .ft__contact-strip { flex-direction: column; gap: 16px; align-items: flex-start; }

  /* Footer bottom: stack */
  .ft__bottom { flex-direction: column; align-items: center; text-align: center; gap: 12px; }

  /* Footer legal links: wrap */
  .ft__legal { flex-wrap: wrap; justify-content: center; gap: 12px; }

  /* Page hero */
  .page-hero { padding: var(--hero-pt) 0 24px; }
  .page-hero__title { max-width: 100%; }
  .page-hero__desc { max-width: 100%; }

  /* Breadcrumb: allow wrapping */
  .breadcrumb { flex-wrap: wrap; }

  /* Buttons: full width on mobile when stacked */
  .page-hero__acts { flex-direction: column; gap: 10px; }
  .page-hero__acts .btn { width: 100%; justify-content: center; }

  /* Modal */
  .modal { padding: 28px 20px 24px; border-radius: 14px; margin: 12px; }
  .modal__row { grid-template-columns: 1fr; }
  .modal__title { font-size: 1.15rem; }
}

/* ── Large mobile ── */
@media (max-width: 640px) {
  /* Footer: single column */
  .ft__top { grid-template-columns: 1fr; gap: 20px; }
  .ft__brand { grid-column: auto; }
  .ft__nl { grid-column: auto; }

  /* Section base */
  .sec { padding: clamp(32px, 5vw, 48px) 0; }

  /* Buttons: slightly smaller */
  .btn { height: 42px; padding: 0 22px; font-size: .82rem; }
  .btn--lg { height: 46px; padding: 0 28px; font-size: .9rem; }
}

/* ── Small mobile ── */
@media (max-width: 480px) {
  /* Typography scale down */
  .sec__t { font-size: clamp(1.3rem, 5vw, 1.7rem); }

  /* Header bar height */
  .hdr__bar { height: 48px; }

  /* Hero adjusts for shorter header */
  :root { --hero-pt: calc(48px + 52px); }

  /* Notification bar: smaller, adjust speed */
  .nbar { font-size: .72rem; }
  .nbar__inner { height: 36px; }
  .nbar__link { padding: 3px 10px; font-size: .66rem; }
  .nbar__close { width: 24px; height: 24px; }
  body.has-nbar { --nbar-h: 36px; }

  /* Footer: tighter spacing */
  .ft__main { padding: 40px var(--gut) 16px; }
  .ft__top { padding-bottom: 24px; }
  .ft__social a { width: 32px; height: 32px; }

  /* Footer newsletter */
  .ft__nl-btn { font-size: .82rem; }

  /* Mobile menu: wider */
  .mob-menu { width: min(300px, 92vw); }
}

/* ─────────────────────────────────────────────
   PRINT STYLES
   ───────────────────────────────────────────── */
@media print {
  /* Hide non-content elements */
  .hdr, .nbar, .mob-menu, .mob-overlay, .btt, .ft__nl,
  .cookie-banner, .cm-overlay, .mega,
  .hero-contact__vis, .hero-contact__bg,
  .search-hero__form, .search-load-more, .search-spinner,
  .consult-form, .consult-submit, .ct-next,
  .ft__social, .ft__contact-strip, .ft__legal,
  .skip-link, .menu-tog, .hdr__cta { display: none !important; }

  /* Reset backgrounds and shadows */
  body, .page-hero, .page-hero--contact, .page-hero--legal,
  .search-hero, .err-hero, .ft { background: #fff !important; color: #000 !important; box-shadow: none !important; }

  /* Readable typography */
  body { font-size: 12pt; line-height: 1.6; font-family: Georgia, 'Times New Roman', serif; }
  h1, h2, h3 { color: #000 !important; page-break-after: avoid; }
  a { color: #000 !important; text-decoration: underline; }
  a[href]::after { content: ' (' attr(href) ')'; font-size: 9pt; color: #666; }
  a[href^="#"]::after, a[href^="javascript"]::after { content: ''; }

  /* Keep content together */
  .sr-card, .ct-detail, .ql-card, article { page-break-inside: avoid; }
  img { max-width: 100% !important; }

  /* Legal pages: show full content, static TOC */
  .legal-toc { position: static !important; }

  /* Footer: minimal */
  .ft__top { display: none !important; }
  .ft__bottom { border: none !important; padding: 12pt 0 !important; }

  /* Contact page: stack columns */
  .two-col { display: block !important; }
}

/* ── Cookie Banner ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Cookie Consent Banner
   Compact design — minimal height, refined aesthetics
   ═══════════════════════════════════════════════════════════════════ */

/* ── Banner ── */
.ck-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:1500;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-top:1px solid rgba(221,221,232,.6);
  box-shadow:0 -4px 24px rgba(20,20,37,.06),0 -1px 0 rgba(254,96,0,.08);
  transform:translateY(100%);
  transition:transform .4s var(--ease);
  padding:0;
}
.ck-banner::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:var(--gr);opacity:.6;
}
.ck-banner.show{transform:none}
.ck-banner.hide{transform:translateY(100%);pointer-events:none}

.ck-banner__inner{
  max-width:var(--mx);margin:0 auto;
  padding:14px var(--gut);
  display:flex;align-items:center;gap:24px;
}

/* ── Text ── */
.ck-banner__text{flex:1;min-width:0;display:flex;align-items:center;gap:16px}
.ck-banner__icon{
  width:36px;height:36px;border-radius:10px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(254,163,0,.1),rgba(254,96,0,.06));
  border:1px solid rgba(254,96,0,.1);
  display:flex;align-items:center;justify-content:center;
}
.ck-banner__icon svg{width:16px;height:16px;color:var(--or)}
.ck-banner__copy{min-width:0}
.ck-banner__title{
  font-size:.82rem;font-weight:700;color:var(--nv);
  line-height:1.2;margin-bottom:2px;
}
.ck-banner__desc{
  font-size:.74rem;color:var(--sl);font-weight:300;line-height:1.55;
  max-width:560px;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.ck-banner__desc a{color:var(--or);font-weight:500}

/* ── Buttons (NOT modified — keep as-is) ── */
.ck-banner__actions{
  display:flex;gap:8px;flex-shrink:0;align-items:center;
}

.ck-btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:6px;font-family:var(--ft);font-weight:600;font-size:.8rem;
  height:40px;padding:0 20px;border-radius:8px;
  border:1.5px solid transparent;cursor:pointer;
  transition:all .25s var(--ease);line-height:1;white-space:nowrap;
}
.ck-btn--accept{
  background:var(--gr);color:#fff;box-shadow:var(--sh-glow-sm);
}
.ck-btn--accept:hover{box-shadow:var(--sh-glow-lg);transform:translateY(-1px)}
.ck-btn--reject{
  background:transparent;color:var(--sl);border-color:var(--sv);
}
.ck-btn--reject:hover{border-color:var(--ch);color:var(--nv)}
.ck-btn--prefs{
  background:rgba(254,96,0,.04);color:var(--or);border-color:rgba(254,96,0,.15);
}
.ck-btn--prefs:hover{background:rgba(254,96,0,.08);border-color:var(--or)}

/* ── Preferences panel ── */
.ck-prefs{
  display:none;
  max-width:var(--mx);margin:0 auto;
  padding:0 var(--gut) 16px;
}
.ck-prefs.open{display:block}

.ck-prefs__grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:10px;padding-top:14px;border-top:1px solid var(--sv);
}

.ck-pref{
  display:flex;align-items:flex-start;gap:10px;
  padding:12px;background:var(--mi);
  border:1px solid var(--sv);border-radius:10px;
  transition:border-color .2s var(--ease);
}
.ck-pref:hover{border-color:rgba(254,96,0,.15)}

/* Toggle switch */
.ck-toggle{position:relative;flex-shrink:0;margin-top:1px}
.ck-toggle input{position:absolute;opacity:0;width:0;height:0}
.ck-toggle__slider{
  display:block;width:34px;height:20px;
  background:var(--sv);border-radius:100px;
  cursor:pointer;position:relative;
  transition:background .25s var(--ease);
}
.ck-toggle__slider::after{
  content:'';position:absolute;
  top:2px;left:2px;width:16px;height:16px;
  background:#fff;border-radius:50%;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  transition:transform .25s var(--ease);
}
.ck-toggle input:checked + .ck-toggle__slider{background:var(--or)}
.ck-toggle input:checked + .ck-toggle__slider::after{transform:translateX(14px)}
.ck-toggle input:disabled + .ck-toggle__slider{opacity:.5;cursor:not-allowed}

.ck-pref__info{min-width:0}
.ck-pref__name{font-size:.76rem;font-weight:600;color:var(--nv);margin-bottom:1px}
.ck-pref__desc{font-size:.66rem;color:var(--sl);font-weight:300;line-height:1.5}
.ck-pref__badge{
  display:inline-block;font-size:.56rem;font-weight:700;
  color:var(--or);text-transform:uppercase;letter-spacing:.06em;
  margin-top:3px;
}

/* Save button row */
.ck-prefs__save{
  display:flex;justify-content:flex-end;margin-top:12px;
}

/* ── Responsive ── */
@media(max-width:1024px){
  .ck-prefs__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .ck-banner__inner{flex-direction:column;gap:12px;padding:12px var(--gut)}
  .ck-banner__text{flex-direction:row;gap:12px}
  .ck-banner__actions{width:100%}
  .ck-btn{flex:1;justify-content:center;font-size:.78rem;height:38px;padding:0 14px}
  .ck-prefs__grid{grid-template-columns:1fr 1fr}
  .ck-prefs{padding:0 var(--gut) 12px}
}
@media(max-width:480px){
  .ck-banner__inner{padding:10px var(--gut)}
  .ck-banner__icon{width:32px;height:32px;border-radius:8px}
  .ck-banner__icon svg{width:14px;height:14px}
  .ck-banner__actions{flex-direction:column;gap:6px}
  .ck-btn{width:100%}
  .ck-banner__title{font-size:.78rem}
  .ck-banner__desc{font-size:.72rem;-webkit-line-clamp:2}
  .ck-prefs__grid{grid-template-columns:1fr}
  .ck-pref{padding:10px}
}

/* ── Consultation Modal ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Consultation Modal Styles
   ═══════════════════════════════════════════════════════════════════ */

/* ── Overlay ── */
.cm-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(20,20,37,.5);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),visibility .3s;
}
.cm-overlay.open{opacity:1;visibility:visible;pointer-events:auto}

/* ── Modal panel ── */
.cm-modal{
  position:relative;
  width:min(580px,calc(100vw - 32px));
  max-height:calc(100vh - 32px);
  overflow-y:auto;
  background:var(--wh);
  border-radius:16px;
  box-shadow:0 24px 80px rgba(20,20,37,.18);
  padding:24px 24px 20px;
  transform:translateY(24px) scale(.97);
  transition:transform .35s var(--ease);
}
.cm-overlay.open .cm-modal{transform:none}

/* Scrollbar */
.cm-modal::-webkit-scrollbar{width:4px}
.cm-modal::-webkit-scrollbar-thumb{background:var(--sv);border-radius:4px}

/* ── Close button ── */
.cm-close{
  position:absolute;top:12px;right:12px;
  width:28px;height:28px;border-radius:6px;
  background:none;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  color:var(--sl);transition:all .2s var(--ease);z-index:1;
}
.cm-close:hover{background:var(--mi);color:var(--nv)}
.cm-close svg{width:14px;height:14px}

/* ── Header ── */
.cm-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.cm-header__icon{
  width:40px;height:40px;border-radius:10px;flex-shrink:0;
  background:var(--gr);display:flex;align-items:center;justify-content:center;
  box-shadow:var(--sh-glow-sm);
}
.cm-header__icon svg{width:18px;height:18px;color:#fff}
.cm-header__text{flex:1}
.cm-header__title{font-size:1.05rem;font-weight:700;color:var(--nv);line-height:1.3}
.cm-header__desc{font-size:.74rem;color:var(--sl);font-weight:300;line-height:1.45;margin-top:2px}

/* ── Form layout ── */
.cm-form .consult-field{margin-bottom:8px}
.cm-form .consult-field label{display:block;font-size:.72rem;font-weight:600;color:var(--ch);margin-bottom:3px}
.cm-form .consult-field input,
.cm-form .consult-field textarea{
  width:100%;padding:8px 12px;
  border:1px solid var(--sv);border-radius:8px;
  font-family:var(--ft);font-size:.82rem;color:var(--nv);
  background:var(--wh);outline:none;transition:border-color .2s;
}
.cm-form .consult-field input:focus,
.cm-form .consult-field textarea:focus-visible{border-color:var(--or)}
.cm-form .consult-field textarea{resize:vertical;min-height:56px}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* ── Privacy box (same as contact form) ── */
.cm-form .consult-privacy{background:var(--mi);border:1px solid var(--sv);border-radius:8px;padding:10px 12px;margin-bottom:12px}
.cm-form .consult-privacy label{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.cm-form .consult-privacy input[type="checkbox"]{width:14px;height:14px;margin-top:2px;flex-shrink:0;accent-color:var(--or);cursor:pointer}
.cm-form .consult-privacy span{font-size:.7rem;color:var(--sl);line-height:1.55;font-weight:300;user-select:none}
.cm-form .consult-privacy a{color:var(--or);font-weight:600}

/* ── Submit ── */
.cm-submit{width:100%;height:42px;font-size:.84rem}

/* ── Phone field (same as contact page) ── */
.cm-form .consult-phone{display:flex;position:relative;border:1px solid var(--sv);border-radius:8px;background:var(--wh);transition:border-color .2s}
.cm-form .consult-phone:focus-within{border-color:var(--or)}
.cm-form .consult-phone__trigger{display:flex;align-items:center;gap:4px;padding:0 10px;height:auto;background:none;border:none;border-right:1px solid var(--sv);border-radius:8px 0 0 8px;cursor:pointer;flex-shrink:0;font-family:var(--ft);font-size:.82rem;color:var(--nv);transition:background .15s}
.cm-form .consult-phone__trigger:hover{background:rgba(20,20,37,.02)}
.cm-form .consult-phone__trigger:focus{outline:none}
.cm-form .consult-phone__flag{display:inline-flex;align-items:center;justify-content:center;width:22px;height:16px;border-radius:2px;overflow:hidden;background:var(--sv);font-size:0;flex-shrink:0}
.cm-form .consult-phone__flag img{width:100%;height:100%;object-fit:cover}
.cm-form .consult-phone__dial{font-size:.82rem;font-weight:600;color:var(--nv);white-space:nowrap}
.cm-form .consult-phone__chv{width:10px;height:10px;color:var(--sl);flex-shrink:0;transition:transform .2s var(--ease)}
.cm-form .consult-phone__trigger[aria-expanded="true"] .consult-phone__chv{transform:rotate(180deg)}
.cm-form .consult-phone__num{flex:1;min-width:0;border:none !important;border-radius:0 8px 8px 0 !important;background:none !important;outline:none;padding:8px 12px;font-family:var(--ft);font-size:.82rem;color:var(--nv);box-shadow:none !important}
.cm-form .consult-phone__num:focus{border:none !important;box-shadow:none !important}
.cm-form .consult-phone__num::placeholder{color:var(--sl)}
.cm-form .consult-field.has-error .consult-phone{border-color:var(--rd)}

/* Country code dropdown inside modal */
.cm-form .cc-dropdown{display:none;position:absolute;top:100%;left:0;width:260px;max-height:280px;margin-top:4px;background:var(--wh);border:1px solid var(--sv);border-radius:10px;box-shadow:0 12px 40px rgba(20,20,37,.12);z-index:110;overflow:hidden}
.cm-form .cc-dropdown.open{display:flex;flex-direction:column}
.cm-form .cc-dropdown__search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--sv);flex-shrink:0}
.cm-form .cc-dropdown__search svg{width:14px;height:14px;color:var(--sl);flex-shrink:0}
.cm-form .cc-dropdown__input{flex:1;border:none;outline:none;background:none;font-family:var(--ft);font-size:.82rem;color:var(--nv)}
.cm-form .cc-dropdown__input::placeholder{color:var(--sl)}
.cm-form .cc-dropdown__list{overflow-y:auto;flex:1}
.cm-form .cc-dropdown__list::-webkit-scrollbar{width:4px}
.cm-form .cc-dropdown__list::-webkit-scrollbar-thumb{background:var(--sv);border-radius:4px}
.cm-form .cc-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;font-size:.82rem;color:var(--ch);transition:background .15s}
.cm-form .cc-item:hover{background:rgba(254,96,0,.04);color:var(--nv)}
.cm-form .cc-item.selected{background:rgba(254,96,0,.08);font-weight:600;color:var(--or)}
.cm-form .cc-item__flag{width:22px;height:16px;border-radius:2px;overflow:hidden;background:var(--sv);flex-shrink:0}
.cm-form .cc-item__flag img{width:100%;height:100%;object-fit:cover}
.cm-form .cc-item__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-form .cc-item__code{font-weight:600;color:var(--sl);font-size:.78rem;flex-shrink:0}

/* ── Success / Error messages ── */
.cm-success,.cm-error{display:none;margin-top:14px;border-radius:8px;padding:14px 16px;align-items:center;gap:12px}
.cm-success{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25)}
.cm-success svg{width:20px;height:20px;flex-shrink:0;color:#059669}
.cm-success p{font-size:.85rem;color:#065f46;font-weight:600;margin:0}
.cm-error{background:rgba(254,7,42,.06);border:1px solid rgba(254,7,42,.2)}
.cm-error p{font-size:.85rem;color:#991b1b;font-weight:600;margin:0}
.cm-success.show,.cm-error.show{display:flex}

/* ── Responsive ── */
@media(max-width:640px){
  .cm-modal{padding:20px 16px;border-radius:14px}
  .cm-row{grid-template-columns:1fr}
  .cm-header__title{font-size:.95rem}
  .cm-header__icon{width:36px;height:36px}
  .cm-header__icon svg{width:16px;height:16px}
}
@media(max-width:480px){
  .cm-modal{padding:16px 14px}
  .cm-form .consult-field input,
  .cm-form .consult-field textarea{padding:7px 10px;font-size:.8rem}
  .cm-submit{height:38px;font-size:.8rem}
}

/* ── Blog Archive ── */
/* ═══════════════════════════════════════════════════════════════
   Signisys Theme — Blog Home Styles
   ═══════════════════════════════════════════════════════════════ */

/* ── Page Hero ── */
.page-hero{padding:var(--hero-pt) 0 72px;background:var(--wh);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-10%;right:-5%;width:55%;height:90%;background:radial-gradient(ellipse at 60% 45%,rgba(254,163,0,.06),rgba(254,96,0,.03) 50%,transparent 75%);pointer-events:none}
.page-hero__grid{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(20,20,37,.02) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(ellipse 50% 60% at 70% 40%,black 20%,transparent 70%);pointer-events:none}
.page-hero__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.page-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:600;color:var(--or);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}
.page-hero__eyebrow::before{content:'';width:22px;height:2px;background:var(--gr);border-radius:4px}
.page-hero__title{font-size:clamp(2rem,3.8vw,3.2rem);font-weight:300;color:var(--nv);line-height:1.1;letter-spacing:-.02em;margin-bottom:16px}
.page-hero__title strong{font-weight:700}
.page-hero__title em{font-style:normal;font-weight:700;background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero__desc{font-size:1rem;color:var(--sl);line-height:1.75;font-weight:300;max-width:480px;margin-bottom:32px}

/* ── Breadcrumb (shared with detail pages) ── */
.art-hero__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.art-hero__back{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--sl);transition:color .2s;cursor:pointer;text-decoration:none}
.art-hero__back:hover{color:var(--or)}
.art-hero__back svg{width:12px;height:12px}
.art-hero__sep{width:1px;height:16px;background:var(--sv)}
.art-hero__crumb{font-size:.78rem;color:var(--sl)}
.art-hero__crumb a{color:var(--or);text-decoration:none}

/* ── Hero Illustration (Tech Blog) ── */
.hero-illo{position:relative;display:flex;align-items:center;justify-content:center;height:380px}

/* ── Typewriter Terminal ── */
.hi-terminal{width:100%;max-width:420px;background:var(--mi);border:1px solid var(--cl);border-radius:14px;overflow:hidden;box-shadow:0 8px 32px rgba(20,20,37,.06),0 2px 8px rgba(20,20,37,.03)}
.hi-term__bar{height:36px;background:var(--wh);border-bottom:1px solid var(--cl);display:flex;align-items:center;padding:0 14px;gap:6px}
.hi-term__dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.hi-term__title{margin-left:auto;font-size:.6rem;font-weight:600;color:var(--sl);letter-spacing:.04em}
.hi-term__body{padding:24px;font-family:'SF Mono','Fira Code','Courier New',monospace;font-size:.82rem;line-height:2.1;color:var(--ch);min-height:240px}
.hi-term__line{opacity:0;animation:hi-type-in .3s ease forwards}
@keyframes hi-type-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
.hi-pr{color:var(--or);font-weight:700}
.hi-cmd{color:#059669}
.hi-flag{color:var(--sl)}
.hi-out{color:var(--sl)}
.hi-ok{color:#10B981;font-weight:700}
.hi-val{color:var(--or);font-weight:600}
.hi-cur{display:inline-block;width:8px;height:15px;background:var(--or);animation:hi-blink .7s step-end infinite;vertical-align:middle;margin-left:2px;border-radius:1px}
@keyframes hi-blink{0%,100%{opacity:1}50%{opacity:0}}

/* Keep old scene/card CSS for other pages that may use it */
.hi-scene{position:relative;width:100%;height:100%}
.hi-glow-1{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(254,96,0,.05),rgba(254,163,0,.02) 45%,transparent 70%);pointer-events:none;z-index:1}
.hi-glow-2{position:absolute;top:30%;left:60%;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.03),transparent 70%);pointer-events:none;z-index:1}
.hi-mesh,.hi-hex{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.4}
.hi-hex{opacity:.35}
@keyframes hi-ring-pulse{0%,100%{opacity:.08;transform:translate(-50%,-50%) scale(1)}50%{opacity:.15;transform:translate(-50%,-50%) scale(1.03)}}
.hi-orbit{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:2}
.hi-orbit-1{width:320px;height:320px;border:1px dashed rgba(254,96,0,.08);animation:hi-ring-pulse 6s ease-in-out infinite}
.hi-orbit-2{width:260px;height:260px;border:1px solid rgba(254,96,0,.05);animation:hi-ring-pulse 8s ease-in-out infinite 2s}
.hi-orbit-3{width:390px;height:390px;border:1px dotted rgba(254,96,0,.04);animation:hi-ring-pulse 10s ease-in-out infinite 4s}
@keyframes hi-orb-a{from{transform:rotate(0deg) translateX(160px) rotate(0deg)}to{transform:rotate(360deg) translateX(160px) rotate(-360deg)}}
@keyframes hi-orb-b{from{transform:rotate(90deg) translateX(130px) rotate(-90deg)}to{transform:rotate(450deg) translateX(130px) rotate(-450deg)}}
@keyframes hi-orb-c{from{transform:rotate(200deg) translateX(195px) rotate(-200deg)}to{transform:rotate(560deg) translateX(195px) rotate(-560deg)}}
@keyframes hi-orb-d{from{transform:rotate(45deg) translateX(110px) rotate(-45deg)}to{transform:rotate(405deg) translateX(110px) rotate(-405deg)}}
@keyframes hi-node-ping{0%,100%{box-shadow:0 0 0 0 rgba(254,96,0,.3)}50%{box-shadow:0 0 0 8px rgba(254,96,0,0)}}
.hi-orb{position:absolute;top:50%;left:50%;margin:-6px 0 0 -6px;z-index:5}
.hi-orb i{display:block;border-radius:50%}
.hi-orb-1{animation:hi-orb-a 14s linear infinite}
.hi-orb-1 i{width:10px;height:10px;background:var(--or);opacity:.7;animation:hi-node-ping 2s ease infinite}
.hi-orb-2{animation:hi-orb-b 20s linear infinite}
.hi-orb-2 i{width:7px;height:7px;background:var(--am);opacity:.5}
.hi-orb-3{animation:hi-orb-c 26s linear infinite}
.hi-orb-3 i{width:5px;height:5px;background:#FE072A;opacity:.35}
.hi-orb-4{animation:hi-orb-d 18s linear infinite}
.hi-orb-4 i{width:8px;height:8px;background:#6366F1;opacity:.4;animation:hi-node-ping 3s ease infinite 1s}
@keyframes hi-p-up{0%{transform:translateY(0);opacity:.8}100%{transform:translateY(-60px);opacity:0}}
.hi-particles{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.hi-p{position:absolute;width:3px;height:3px;border-radius:50%;animation:hi-p-up 3s linear infinite}
.hi-p:nth-child(1){left:20%;bottom:0;background:var(--or);opacity:.4;animation-duration:3.5s}
.hi-p:nth-child(2){left:35%;bottom:0;background:var(--am);opacity:.3;animation-delay:.8s;animation-duration:4s}
.hi-p:nth-child(3){left:55%;bottom:0;background:var(--or);opacity:.25;animation-delay:1.5s;animation-duration:3s}
.hi-p:nth-child(4){left:70%;bottom:0;background:#6366F1;opacity:.2;animation-delay:2s;animation-duration:4.5s}
.hi-p:nth-child(5){left:85%;bottom:0;background:#FE072A;opacity:.15;animation-delay:.5s;animation-duration:3.8s}
.hi-p:nth-child(6){left:10%;bottom:0;background:var(--or);opacity:.2;animation-delay:2.5s;animation-duration:3.2s}
.hi-p:nth-child(7){left:45%;bottom:0;background:var(--am);opacity:.3;animation-delay:1s;animation-duration:2.8s}
.hi-p:nth-child(8){left:60%;bottom:0;background:#10B981;opacity:.2;animation-delay:3s;animation-duration:4.2s}
@keyframes hi-dash{from{stroke-dashoffset:400}to{stroke-dashoffset:0}}
.hi-conn{position:absolute;inset:0;z-index:4;pointer-events:none}
.hi-node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--wh);border:1.5px solid rgba(254,96,0,.2);z-index:6;animation:hi-node-ping 3s ease infinite}
.hi-node::after{content:'';position:absolute;inset:2px;border-radius:50%;background:rgba(254,96,0,.3)}
.hi-node--alt{border-color:rgba(99,102,241,.2)}
.hi-node--alt::after{background:rgba(99,102,241,.3)}
@keyframes hi-pulse{0%,100%{box-shadow:0 0 24px rgba(254,96,0,.2),0 0 60px rgba(254,96,0,.06)}50%{box-shadow:0 0 36px rgba(254,96,0,.35),0 0 90px rgba(254,96,0,.12)}}
.hi-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:22px;background:var(--nv);z-index:12;display:flex;align-items:center;justify-content:center;animation:hi-pulse 3s ease-in-out infinite}
.hi-core::before{content:'';position:absolute;inset:-3px;border-radius:25px;background:var(--gr);z-index:-1;opacity:.4}
.hi-core::after{content:'';position:absolute;inset:0;border-radius:22px;background:var(--nv);z-index:-1}
.hi-core svg{width:34px;height:34px;color:#fff;position:relative;z-index:1}
@keyframes hi-glow-rot{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
.hi-core-ring{position:absolute;top:50%;left:50%;width:110px;height:110px;animation:hi-glow-rot 8s linear infinite;z-index:11;pointer-events:none}
.hi-core-ring::before{content:'';position:absolute;top:-2px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--or);box-shadow:0 0 12px rgba(254,96,0,.6)}
/* Floating cards */
@keyframes hi-flt-a{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes hi-flt-b{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@keyframes hi-flt-c{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes hi-flt-d{0%,100%{transform:translateY(0) rotate(.5deg)}50%{transform:translateY(-12px) rotate(-.5deg)}}
@keyframes hi-scan{0%{top:0;opacity:.6}100%{top:100%;opacity:0}}
@keyframes hi-bar-up{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes hi-tag-in{from{opacity:0;transform:translateX(-8px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes hi-blink{0%,100%{opacity:1}50%{opacity:0}}
@keyframes hi-counter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes hi-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hi-fc{position:absolute;background:#fff;border-radius:14px;box-shadow:0 10px 40px rgba(20,20,37,.08),0 2px 8px rgba(20,20,37,.04);border:1px solid rgba(20,20,37,.06);overflow:hidden;z-index:10}
/* Card 1 */
.hi-fc1{top:8px;left:-10px;width:170px;animation:hi-flt-a 5s ease-in-out infinite .2s}
.hi-fc1__top{height:5px;background:var(--gr)}
.hi-fc1__body{padding:10px;position:relative;overflow:hidden}
.hi-fc1__scan{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(254,96,0,.3),transparent);animation:hi-scan 3s linear infinite;z-index:2}
.hi-fc1__cat{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;background:rgba(254,96,0,.07);border-radius:100px;font-size:.48rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}
.hi-fc1__lines{display:flex;flex-direction:column;gap:3px}
.hi-fc1__ln{height:3px;border-radius:2px;background:rgba(20,20,37,.07)}
.hi-fc1__ln:nth-child(1){width:100%;background:rgba(20,20,37,.12)}
.hi-fc1__ln:nth-child(2){width:80%}
.hi-fc1__ln:nth-child(3){width:55%}
.hi-fc1__meta{display:flex;align-items:center;gap:5px;margin-top:8px;padding-top:6px;border-top:1px solid rgba(20,20,37,.05)}
.hi-fc1__av{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,rgba(254,163,0,.2),rgba(254,96,0,.1));display:flex;align-items:center;justify-content:center;font-size:.4rem;font-weight:700;color:var(--or)}
.hi-fc1__mr{display:flex;flex-direction:column;gap:2px}
.hi-fc1__ml{height:2.5px;border-radius:1px;background:rgba(20,20,37,.06)}
.hi-fc1__time{display:flex;align-items:center;gap:2px;margin-left:auto;font-size:.42rem;color:var(--sl)}
/* Card 2 */
.hi-fc2{top:0;right:-15px;width:170px;animation:hi-flt-b 6s ease-in-out infinite .6s}
.hi-fc2__body{padding:10px}
.hi-fc2__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.hi-fc2__title{font-size:.48rem;font-weight:700;color:var(--nv);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:4px}
.hi-fc2__live{display:flex;align-items:center;gap:3px;font-size:.4rem;font-weight:600;color:#10B981}
.hi-fc2__live-dot{width:5px;height:5px;border-radius:50%;background:#10B981;animation:hi-blink 1.5s ease infinite}
.hi-fc2__chart{display:flex;align-items:flex-end;gap:3px;height:45px;margin-bottom:6px}
.hi-fc2__bar{width:11px;border-radius:3px 3px 0 0;transform-origin:bottom;animation:hi-bar-up .8s ease-out forwards}
.hi-fc2__bar:nth-child(1){height:15px;background:rgba(254,163,0,.15);animation-delay:.2s}
.hi-fc2__bar:nth-child(2){height:26px;background:rgba(254,96,0,.2);animation-delay:.35s}
.hi-fc2__bar:nth-child(3){height:18px;background:rgba(254,163,0,.18);animation-delay:.5s}
.hi-fc2__bar:nth-child(4){height:34px;background:rgba(254,96,0,.3);animation-delay:.65s}
.hi-fc2__bar:nth-child(5){height:28px;background:rgba(254,96,0,.25);animation-delay:.8s}
.hi-fc2__bar:nth-child(6){height:40px;background:var(--or);animation-delay:.95s}
.hi-fc2__bar:nth-child(7){height:45px;background:var(--gr);animation-delay:1.1s}
.hi-fc2__bar:nth-child(8){height:35px;background:rgba(254,96,0,.3);animation-delay:1.25s}
.hi-fc2__metrics{display:flex;gap:6px}
.hi-fc2__m{flex:1;text-align:center;padding:5px 0;background:var(--mi);border-radius:5px}
.hi-fc2__mv{font-size:.7rem;font-weight:700;color:var(--nv);line-height:1;animation:hi-counter .6s ease forwards 1.5s;opacity:0}
.hi-fc2__ml{font-size:.38rem;color:var(--sl);text-transform:uppercase;letter-spacing:.04em;margin-top:1px}
/* Card 3 */
.hi-fc3{bottom:50px;left:-5px;width:170px;animation:hi-flt-d 5.5s ease-in-out infinite 1s}
.hi-fc3__bar{height:18px;background:var(--mi);border-bottom:1px solid var(--cl);display:flex;align-items:center;padding:0 7px;gap:3px}
.hi-dot{width:5px;height:5px;border-radius:50%;display:inline-block}
.hi-fc3__term{background:var(--wh);padding:8px;font-family:'Courier New',monospace;font-size:.46rem;line-height:1.7;color:var(--ch)}
.hi-pr{color:var(--or)}
.hi-cmd{color:#059669}
.hi-cmt{color:var(--sv)}
.hi-out{color:#4f46e5}
.hi-cur{display:inline-block;width:4px;height:9px;background:var(--or);animation:hi-blink .8s ease infinite;vertical-align:middle;margin-left:2px}
/* Card 4 */
.hi-fc4{bottom:35px;right:-5px;width:165px;animation:hi-flt-c 4.8s ease-in-out infinite 1.6s}
.hi-fc4__body{padding:8px}
.hi-fc4__notif{display:flex;align-items:center;gap:6px;padding:6px;background:rgba(254,96,0,.04);border:1px solid rgba(254,96,0,.08);border-radius:7px;margin-bottom:6px;animation:hi-tag-in .5s ease forwards 1s;opacity:0}
.hi-fc4__ni{width:22px;height:22px;border-radius:6px;background:var(--gr);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.hi-fc4__nt{font-size:.44rem;color:var(--nv);font-weight:600;line-height:1.2}
.hi-fc4__tm{font-size:.38rem;color:var(--sl)}
.hi-fc4__feed{display:flex;flex-direction:column;gap:4px}
.hi-fc4__fi{display:flex;align-items:center;gap:5px;padding:4px 5px;border-radius:5px;background:var(--mi);animation:hi-tag-in .4s ease forwards;opacity:0}
.hi-fc4__fi:nth-child(1){animation-delay:1.3s}
.hi-fc4__fi:nth-child(2){animation-delay:1.6s}
.hi-fc4__fi:nth-child(3){animation-delay:1.9s}
.hi-fc4__fd{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.hi-fc4__ft{font-size:.42rem;color:var(--ch);font-weight:500}
.hi-fc4__fm{font-size:.36rem;color:var(--sl);margin-left:auto;white-space:nowrap}
/* Card 5 */
.hi-fc5{top:50%;left:-20px;transform:translateY(-50%);width:95px;animation:hi-flt-a 7s ease-in-out infinite 2.2s;z-index:9}
.hi-fc5__body{padding:6px}
.hi-fc5__tags{display:flex;flex-wrap:wrap;gap:3px}
.hi-tg{display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:100px;font-size:.4rem;font-weight:600;border:1px solid;animation:hi-tag-in .4s ease forwards;opacity:0}
.hi-tg i{width:3px;height:3px;border-radius:50%;background:currentColor}
.hi-tg--1{color:#4A7FFF;border-color:rgba(74,127,255,.2);background:rgba(74,127,255,.05);animation-delay:.6s}
.hi-tg--2{color:var(--or);border-color:rgba(254,96,0,.2);background:rgba(254,96,0,.05);animation-delay:.8s}
.hi-tg--3{color:#10B981;border-color:rgba(16,185,129,.2);background:rgba(16,185,129,.05);animation-delay:1s}
.hi-tg--4{color:#8B5CF6;border-color:rgba(139,92,246,.2);background:rgba(139,92,246,.05);animation-delay:1.2s}
.hi-tg--5{color:#EC4899;border-color:rgba(236,72,153,.2);background:rgba(236,72,153,.05);animation-delay:1.4s}
.hi-tg--6{color:var(--nv);border-color:rgba(20,20,37,.1);background:rgba(20,20,37,.03);animation-delay:1.6s}

/* ── Hero Topic Highlights ── */
/* ── Cinematic Rotating Words ── */
.hi-rotating{margin:8px 0 12px;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:300;color:var(--sl);line-height:1.3;min-height:2.4em}
.hi-rotating__pre{margin-right:6px}
.hi-rotating__words{position:relative;display:inline-block;vertical-align:top;overflow:hidden;height:1.3em}
.hi-rotating__word{display:block;position:absolute;top:0;left:0;opacity:0;transform:translateY(100%);transition:all .6s cubic-bezier(.4,0,.2,1);background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;white-space:nowrap}
.hi-rotating__word--active{opacity:1;transform:translateY(0)}
.hi-rotating__word--exit{opacity:0;transform:translateY(-100%)}
/* ── Pulse Stats ── */
.hi-pulse-stats{display:flex;align-items:center;gap:20px;margin:20px 0 0;padding:16px 0;border-top:1px solid var(--cl);border-bottom:1px solid var(--cl)}
.hi-pulse-stat{text-align:center}
.hi-pulse-stat__val{font-size:1.6rem;font-weight:800;color:var(--nv);line-height:1;font-variant-numeric:tabular-nums}
.hi-pulse-stat__lbl{font-size:.68rem;font-weight:500;color:var(--sl);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.hi-pulse-stat__sep{width:1px;height:32px;background:var(--cl)}
/* Ticker */
.hi-ticker-wrap{position:absolute;bottom:8px;left:0;right:0;z-index:8;overflow:hidden;height:16px}
.hi-ticker{display:flex;gap:20px;animation:hi-ticker 20s linear infinite;white-space:nowrap}
.hi-ticker span{font-size:.42rem;font-weight:600;color:var(--sl);opacity:.4;display:flex;align-items:center;gap:4px}
.hi-ticker span::before{content:'';width:3px;height:3px;border-radius:50%;background:var(--or);opacity:.5}

/* ── Section Base ── */
.sec{padding:clamp(40px,5vw,72px) 0;position:relative}
.sec--wh{background:var(--wh)}
.sec--m{background:var(--mi)}
.sec__hd{margin-bottom:32px}
.sec__ey{font-size:.68rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.sec__ey::before{content:'';width:16px;height:2px;background:var(--gr);border-radius:4px}
.sec__t{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:300;color:var(--nv);line-height:1.15}
.sec__t strong{font-weight:700}
.sec__hd--s{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ── Blog Filter Bar ── */
.blog-filters{background:var(--wh);border-bottom:1px solid var(--sv);position:sticky;top:calc(68px + var(--nbar-h));z-index:100;box-shadow:0 2px 12px rgba(20,20,37,.04)}
.blog-filters__inner{max-width:var(--mx);margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.blog-filters__inner::-webkit-scrollbar{display:none}
.blog-filter-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;margin:10px 0;font-size:.82rem;font-weight:600;color:var(--sl);border:1.5px solid transparent;background:none;cursor:pointer;white-space:nowrap;border-radius:100px;transition:all .22s var(--ease);font-family:var(--ft);flex-shrink:0}
.blog-filter-btn:hover{color:var(--or);background:rgba(254,96,0,.04);border-color:rgba(254,96,0,.15)}
.blog-filter-btn.active{color:#fff;background:var(--gr);border-color:transparent;box-shadow:var(--sh-glow-sm)}
.blog-filter-btn .count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:rgba(255,255,255,.25);color:#fff;font-size:.65rem;font-weight:700;border-radius:100px;transition:all .22s}
.blog-filter-btn:not(.active) .count{background:rgba(254,96,0,.08);color:var(--or)}
.blog-filters__div{width:1px;height:24px;background:var(--sv);margin:0 8px;flex-shrink:0}
.blog-filters__search{margin-left:auto;flex-shrink:0;padding:8px 0}
.blog-search{display:flex;align-items:center;gap:8px;background:var(--mi);border:1.5px solid var(--sv);border-radius:100px;padding:0 16px;height:36px;transition:all .22s var(--ease)}
.blog-search:focus-within{border-color:var(--or);background:var(--wh);box-shadow:0 0 0 3px rgba(254,96,0,.08)}
.blog-search svg{width:14px;height:14px;color:var(--sl);flex-shrink:0}
.blog-search:focus-within svg{color:var(--or)}
.blog-search input{border:none;background:none;font-family:var(--ft);font-size:.82rem;color:var(--nv);outline:none;width:160px}
.blog-search input::placeholder{color:var(--sl)}

/* ── Featured Article ── */
.blog-featured{display:grid;grid-template-columns:3fr 2fr;gap:0;background:var(--wh);border:1px solid var(--sv);border-radius:14px;overflow:hidden;transition:all .4s var(--ease);box-shadow:var(--sh-rest);text-decoration:none}
.blog-featured:hover{box-shadow:var(--sh-hover);border-color:transparent}
.blog-feat__img{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:linear-gradient(135deg,#F0F4FF,#EEF0F8,#F5F0FF)}
.blog-feat__img-decor{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.blog-feat__img-icon{width:160px;height:160px;border-radius:50%;background:linear-gradient(135deg,rgba(254,163,0,.08),rgba(254,96,0,.04));border:1px solid rgba(254,96,0,.08);display:flex;align-items:center;justify-content:center}
.blog-feat__img-icon svg{width:72px;height:72px;color:rgba(254,96,0,.2)}
.blog-feat__img-ring{position:absolute;border-radius:50%;border:1px solid rgba(254,96,0,.06)}
.blog-feat__img-ring--1{width:260px;height:260px;top:50%;left:50%;transform:translate(-50%,-50%)}
.blog-feat__img-ring--2{width:380px;height:380px;top:50%;left:50%;transform:translate(-50%,-50%)}
.blog-feat__img-ring--3{width:500px;height:500px;top:50%;left:50%;transform:translate(-50%,-50%);border-color:rgba(254,96,0,.03)}
.blog-feat__badge{position:absolute;top:20px;left:20px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(254,96,0,.12);backdrop-filter:blur(8px);border:1px solid rgba(254,96,0,.15);border-radius:100px;font-size:.68rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.08em}
.blog-feat__badge svg{width:10px;height:10px}
.blog-feat__body{padding:28px 32px;display:flex;flex-direction:column;justify-content:center}
.blog-feat__cat{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;padding:4px 12px;background:rgba(254,96,0,.06);border-radius:100px;width:fit-content}
.blog-feat__title{font-size:clamp(1.1rem,1.6vw,1.45rem);font-weight:700;color:var(--nv);line-height:1.2;margin-bottom:12px}
.blog-feat__excerpt{font-size:.88rem;color:var(--sl);line-height:1.65;font-weight:300;margin-bottom:16px}
.blog-feat__meta{display:flex;align-items:center;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.blog-feat__author{display:flex;align-items:center;gap:10px}
.blog-feat__avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,rgba(254,163,0,.15),rgba(254,96,0,.08));display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;color:var(--or);flex-shrink:0}
.blog-feat__author-name{font-size:.85rem;font-weight:600;color:var(--nv)}
.blog-feat__author-role{font-size:.76rem;color:var(--sl);font-weight:300}
.blog-feat__divider{width:1px;height:32px;background:var(--sv)}
.blog-feat__date{font-size:.76rem;color:var(--sl)}
.blog-feat__reading{font-size:.76rem;color:var(--sl);display:flex;align-items:center;gap:5px}
.blog-feat__reading svg{width:12px;height:12px}
.blog-feat__img img{width:100%;height:100%;object-fit:cover}

/* ── Blog Grid ── */
.blog-layout{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.related__head{font-size:1.1rem;font-weight:700;color:var(--nv);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.related__head::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--sv),transparent)}
.blog-grid--4{grid-template-columns:repeat(4,1fr);gap:28px}
.blog-card{background:var(--wh);border:1px solid var(--sv);border-radius:14px;overflow:hidden;transition:all .4s var(--ease);box-shadow:var(--sh-rest);display:flex;flex-direction:column;text-decoration:none;min-width:0}
.blog-card:hover{box-shadow:var(--sh-hover);border-color:transparent;transform:translateY(-4px)}
.blog-card__img{position:relative;overflow:hidden}
.blog-card__img-bg{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .6s var(--ease);overflow:hidden}
.blog-card:hover .blog-card__img-bg{transform:scale(1.05)}
.blog-card__img-bg img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* Generative card visual — no thumbnail */
.blog-card__img-deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.blog-card__img-ring{position:absolute;border-radius:50%;border:1px solid rgba(254,96,0,.06)}
.blog-card__img-ring--1{width:160px;height:160px;top:-30px;right:-30px}
.blog-card__img-ring--2{width:100px;height:100px;bottom:-20px;left:-20px;border-style:dashed}
.blog-card__img-ring--3{width:200px;height:200px;top:50%;left:50%;transform:translate(-50%,-50%);border-color:rgba(20,20,37,.03)}
.blog-card__img-mesh{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(254,96,0,.04) 1px,transparent 1px);background-size:20px 20px;opacity:.6}
.blog-card__img-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(254,96,0,.06),transparent)}
.blog-card__img-line--1{top:30%;left:0;right:0}
.blog-card__img-line--2{top:60%;left:10%;right:10%;transform:rotate(-2deg)}
.blog-card__img-corner{position:absolute;width:24px;height:24px}
.blog-card__img-corner--tl{top:12px;left:12px;border-top:1.5px solid rgba(254,96,0,.1);border-left:1.5px solid rgba(254,96,0,.1)}
.blog-card__img-corner--br{bottom:12px;right:12px;border-bottom:1.5px solid rgba(254,96,0,.1);border-right:1.5px solid rgba(254,96,0,.1)}

.blog-card__img-icon{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;position:relative;z-index:2;box-shadow:0 4px 20px rgba(0,0,0,.04);transition:all .3s var(--ease)}
.blog-card:hover .blog-card__img-icon{background:var(--gr)!important;border-color:transparent;box-shadow:0 6px 24px rgba(254,96,0,.18);transform:scale(1.08)}
.blog-card__img-icon svg{width:32px;height:32px;color:var(--or);transition:color .3s}
.blog-card:hover .blog-card__img-icon svg{color:#fff}
.blog-card__tag{position:absolute;top:12px;left:12px;display:inline-flex;padding:4px 12px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:100px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid;z-index:2}
/* Category-specific gradients */
.blog-card__img-bg--cloud{background:linear-gradient(135deg,#EEF4FF,#E8EDF8,#F0EEFA)}
.blog-card__img-bg--security{background:linear-gradient(135deg,#FFF0EE,#F8EEED,#FAEEF5)}
.blog-card__img-bg--data{background:linear-gradient(135deg,#EEF8F4,#E8F4F0,#F0FFF8)}
.blog-card__img-bg--ai{background:linear-gradient(135deg,#F5F0FF,#F0EEF8,#F8F5FF)}
.blog-card__img-bg--infra{background:linear-gradient(135deg,#EEF5F8,#E8F0F5,#F0F5FC)}
.blog-card__img-bg--strategy{background:linear-gradient(135deg,#FDFAEA,#F8F4E0,#FFF8EA)}
.blog-card__img-bg--network{background:linear-gradient(135deg,#F0F8FF,#E8F2FA,#EEF6FF)}
.blog-card__img-bg--workplace{background:linear-gradient(135deg,#FFF5F0,#FAF0EC,#FFF8F5)}
.blog-card__img-bg--research{background:linear-gradient(135deg,#F4F0FF,#EEE8FA,#F8F5FF)}
.blog-card__body{padding:16px;display:flex;flex-direction:column;flex:1;min-width:0}
.blog-card__title{font-size:.88rem;font-weight:700;color:var(--nv);line-height:1.3;margin-bottom:8px}
.blog-card__excerpt{font-size:.78rem;color:var(--sl);line-height:1.6;font-weight:300;margin-bottom:auto;padding-bottom:14px}
.blog-card__meta{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--cl)}
.blog-card__author{display:flex;align-items:center;gap:8px}
.blog-card__avatar{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,rgba(254,163,0,.15),rgba(254,96,0,.08));display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--or);flex-shrink:0}
.blog-card__author-name{font-size:.78rem;font-weight:600;color:var(--nv)}
.blog-card__date{font-size:.68rem;color:var(--sl)}
.blog-card__reading{font-size:.72rem;color:var(--sl);display:flex;align-items:center;gap:4px}
.blog-card__reading svg{width:12px;height:12px}

/* ── Sidebar ── */
.blog-sidebar{position:sticky;top:calc(130px + var(--nbar-h))}
.sidebar-card{background:var(--wh);border:1px solid var(--sv);border-radius:14px;padding:20px;margin-bottom:20px}
.sidebar-card__title{font-size:.82rem;font-weight:700;color:var(--nv);margin-bottom:14px;text-transform:uppercase;letter-spacing:.04em}
.newsletter-desc{font-size:.82rem;color:var(--sl);line-height:1.55;font-weight:300;margin-bottom:14px}
.newsletter-form{display:flex;flex-direction:column;gap:8px}
.newsletter-input{width:100%;height:40px;padding:0 14px;border:1px solid var(--sv);border-radius:8px;font-family:var(--ft);font-size:.82rem;color:var(--nv);outline:none;transition:border-color .2s;box-sizing:border-box}
.newsletter-input:focus{border-color:var(--or)}
.newsletter-input::placeholder{color:var(--sl)}
.newsletter-note{font-size:.72rem;color:var(--sl);margin-top:6px}
.topic-pills{display:flex;flex-wrap:wrap;gap:6px}
.topic-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:100px;border:1px solid var(--sv);font-size:.75rem;font-weight:600;color:var(--sl);cursor:pointer;transition:all .2s;background:var(--wh);font-family:var(--ft)}
.topic-pill:hover{border-color:var(--or);color:var(--or)}
.topic-pill.active{background:var(--gr);border-color:transparent;color:#fff}
.pill-count{font-weight:400;opacity:.7}
.popular-post{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--cl);text-decoration:none;transition:all .2s}
.popular-post:last-child{border-bottom:none;padding-bottom:0}
.popular-post:hover{padding-left:4px}
.popular-post__num{font-size:1.1rem;font-weight:700;color:var(--sv);flex-shrink:0;width:24px}
.popular-post__title{font-size:.82rem;font-weight:600;color:var(--nv);line-height:1.35;margin-bottom:4px}
.popular-post__meta{font-size:.72rem;color:var(--sl)}

/* ── Pagination ── */
.pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:40px}
.page-btn,.page-numbers{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:8px;border:1px solid var(--sv);font-size:.85rem;font-weight:600;color:var(--ch);cursor:pointer;transition:all .2s var(--ease);background:var(--wh);text-decoration:none}
.page-btn:hover,.page-numbers:hover{border-color:var(--or);color:var(--or)}
.page-btn.active,.page-numbers.current{background:var(--gr);border-color:transparent;color:#fff;box-shadow:var(--sh-glow-sm)}
.page-btn--nav,.prev.page-numbers,.next.page-numbers{width:auto;padding:0 16px;gap:6px}
.page-btn--nav svg,.prev.page-numbers svg,.next.page-numbers svg{width:14px;height:14px}

/* ── Load More ── */
.blog-loadmore{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:40px;grid-column:1/-1;padding:20px 0}
.blog-loadmore__spinner{display:flex;align-items:center;justify-content:center}
.blog-loadmore__count{font-size:.78rem;color:var(--sl);font-weight:400}

/* ── Newsletter Strip ── */
.nl-strip{background:var(--wh);border-top:1px solid var(--sv);border-bottom:1px solid var(--sv);padding:clamp(28px,3.5vw,44px) 0;position:relative;overflow:hidden}
.nl-strip::before{content:'';position:absolute;top:-40%;right:-5%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(254,163,0,.05),transparent 65%);pointer-events:none}
.nl-strip__inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;position:relative;z-index:1}
.nl-strip__ey{font-size:.68rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}
.nl-strip__title{font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:300;color:var(--nv);line-height:1.2;margin-bottom:10px}
.nl-strip__title strong{font-weight:700}
.nl-strip__sub{font-size:.9rem;color:var(--sl);font-weight:300;line-height:1.6;max-width:680px}
.nl-strip__form{display:flex;flex-direction:column;gap:12px;margin-left:auto;align-items:flex-end}
.nl-strip__row{display:flex;gap:10px}
.nl-strip__input{flex:1;padding:0 16px;height:48px;border-radius:10px;border:1.5px solid var(--sv);background:var(--mi);font-family:var(--ft);font-size:.88rem;color:var(--nv);outline:none;transition:border-color .2s;max-width:280px}
.nl-strip__input::placeholder{color:var(--sl)}
.nl-strip__input:focus{border-color:var(--or)}
.nl-strip__btn{height:48px;padding:0 24px;border-radius:10px;background:var(--gr);border:none;color:#fff;font-family:var(--ft);font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 4px 16px rgba(254,96,0,.2);transition:all .25s var(--ease)}
.nl-strip__btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(254,96,0,.3)}
.nl-strip__note{font-size:.72rem;color:var(--sl);display:flex;align-items:center;gap:6px}
.nl-strip__note svg{width:12px;height:12px;color:var(--or);flex-shrink:0}
.nl-strip__metrics{display:flex;gap:28px;margin-top:20px;padding-top:20px;border-top:1px solid var(--sv)}
.nl-strip__metric-val{font-size:1.3rem;font-weight:700;color:var(--nv)}
.nl-strip__metric-lbl{font-size:.72rem;color:var(--sl);font-weight:300}

/* ── CTA Banner ── */
.cta-banner{background:linear-gradient(135deg,var(--nv),var(--nv2));border-radius:24px;padding:40px clamp(40px,5vw,64px);position:relative;overflow:hidden;text-align:center}
.cta-banner::before{content:'';position:absolute;top:-30%;right:-10%;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(254,96,0,.08),transparent 70%);pointer-events:none}
.cta-banner__ey{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:700;color:rgba(254,96,0,.8);text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
.cta-banner__t{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:300;color:#fff;line-height:1.2;margin-bottom:12px}
.cta-banner__t strong{font-weight:700}
.cta-banner__d{font-size:.95rem;color:rgba(255,255,255,.55);line-height:1.65;max-width:560px;margin:0 auto 28px;font-weight:300}
.cta-banner__acts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}

/* ── Responsive ── */
@media(max-width:1200px){
  .blog-layout{grid-template-columns:1fr 280px;gap:24px}
  .blog-layout .blog-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:1024px){
  .page-hero__inner{grid-template-columns:1fr;gap:24px}
  .hero-illo{height:280px}
  .blog-layout{grid-template-columns:1fr}
  .blog-sidebar{position:static}
  .blog-featured{grid-template-columns:1fr}
  .nl-strip__inner{grid-template-columns:1fr;gap:32px}
  .blog-grid{grid-template-columns:repeat(3,1fr)}
  .blog-grid--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .blog-grid,.blog-grid--4{grid-template-columns:repeat(2,1fr)}
  .nl-strip__metrics{flex-wrap:wrap;gap:16px}
  .nl-strip__row{flex-direction:column}
}
@media(max-width:640px){
  .hero-illo{display:none}
  .hi-pulse-stats{gap:14px}
  .blog-feat__meta{flex-direction:column;align-items:flex-start;gap:8px}
  .blog-feat__divider{display:none}
  .blog-grid,.blog-grid--4{grid-template-columns:1fr}
}

/* ── Blog Single ── */
/* ═══════════════════════════════════════════════════════════════
   Signisys Theme — Blog Single Styles
   Extends cyberpedia-single.css for shared article components.
   ═══════════════════════════════════════════════════════════════ */

/* ── Author Bio ── */
.author-bio{background:var(--wh);border:1px solid var(--sv);border-radius:16px;padding:28px;margin-top:20px;display:flex;gap:20px;align-items:flex-start}
.author-bio__avatar{width:56px;height:56px;border-radius:50%;background:var(--gr);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:#fff;flex-shrink:0;box-shadow:var(--sh-glow-sm)}
.author-bio__name{font-size:1rem;font-weight:700;color:var(--nv);margin-bottom:3px}
.author-bio__role{font-size:.78rem;color:var(--or);font-weight:600;margin-bottom:10px}
.author-bio__text{font-size:.88rem;color:var(--sl);line-height:1.65;font-weight:300}

/* ── Service CTA (dark banner) ── */
.svc-cta{background:linear-gradient(135deg,var(--nv),var(--nv2));border-radius:16px;padding:32px;margin-top:28px;position:relative;overflow:hidden}
.svc-cta__decor{position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(254,96,0,.08);pointer-events:none}
.svc-cta__ey{font-size:.68rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.svc-cta__h{font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.3}
.svc-cta__p{font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.65;margin-bottom:20px;font-weight:300}

/* ── Responsive ── */
@media(max-width:768px){
  .author-bio{flex-direction:column;align-items:center;text-align:center}
}

/* ── Legal Pages ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Legal Pages Stylesheet
   Shared by: Terms & Conditions, Privacy Policy, Cookie Policy
   ═══════════════════════════════════════════════════════════════════ */

@keyframes heroGradShift{
  0%  {background-position:50% 100%}
  50% {background-position:50% 0%}
  100%{background-position:50% 100%}
}

/* ── Hero variant ── */
.page-hero--legal{
  padding:var(--hero-pt) 0 40px;
  position:relative;overflow:hidden;
  background:var(--hero-grad,linear-gradient(to top,#FEECD8,#FFFCF9));
  background-size:100% 300%;
  animation:heroGradShift 6s ease-in-out infinite;
}
.page-hero--legal .page-hero__glow{display:none}
.page-hero--legal::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(254,96,0,.25) 50%,transparent 100%);z-index:3}
.page-hero--legal .page-hero__title{font-size:clamp(1.5rem,2.5vw,2.2rem)}
.page-hero--legal .page-hero__desc{font-size:.85rem}

/* ── Two-column layout ── */
.legal-layout{display:grid;grid-template-columns:260px 1fr;gap:48px;align-items:stretch}
.legal-sidebar{position:relative}
.legal-sidebar::-webkit-scrollbar{width:3px}
.legal-sidebar::-webkit-scrollbar-thumb{background:var(--sv);border-radius:3px}

/* ── Table of contents ── */
.legal-toc-v2{background:var(--wh);border:1px solid var(--sv);border-radius:14px;padding:20px}
.legal-toc-v2__t{font-size:.72rem;font-weight:700;color:var(--or);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--sv);display:flex;align-items:center;gap:6px}
.legal-toc-v2__t::before{content:'';width:14px;height:2px;background:var(--gr);border-radius:2px}
.legal-toc-v2 a{display:block;padding:8px 12px;margin:0 -12px;font-size:.8rem;font-weight:400;color:var(--sl);border-radius:8px;transition:all .2s var(--ease);line-height:1.45;border-left:2px solid transparent}
.legal-toc-v2 a:hover{background:rgba(254,96,0,.03);color:var(--or);border-left-color:rgba(254,96,0,.3)}
.legal-toc-v2 a.active{background:rgba(254,96,0,.04);color:var(--or);font-weight:600;border-left-color:var(--or)}

/* ── Content area ── */
.legal-content{min-width:0}
.legal-content__date{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--sl);margin-bottom:28px;padding:6px 14px;background:var(--mi);border-radius:100px;border:1px solid var(--sv)}
.legal-content h2{font-size:1.15rem;font-weight:600;color:var(--nv);margin:36px 0 12px;padding-top:20px;padding-bottom:10px;border-bottom:1px solid var(--sv);scroll-margin-top:100px}
.legal-content h2:first-of-type{margin-top:0}
.legal-content h3{font-size:.95rem;font-weight:600;color:var(--nv);margin:24px 0 8px}
.legal-content p{font-size:.88rem;color:var(--ch);line-height:1.8;font-weight:300;margin-bottom:14px}
.legal-content ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal-content ul li{display:flex;align-items:flex-start;gap:8px;font-size:.86rem;color:var(--ch);line-height:1.7;font-weight:300;padding:4px 0}
.legal-content ul li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--or);flex-shrink:0;margin-top:9px}
.legal-content strong{font-weight:600;color:var(--nv)}
.legal-content a{color:var(--or);font-weight:500}

/* ── Responsive ── */
@media(max-width:1024px){
  .legal-layout{grid-template-columns:1fr}
  .legal-sidebar{position:static;top:auto;max-height:none}
  .legal-toc-v2{margin-bottom:8px}
}
@media(max-width:768px){
  .legal-content h2{font-size:1.05rem;margin:28px 0 10px;padding-top:16px}
  .legal-content h3{font-size:.88rem;margin:20px 0 6px}
  .legal-content p{font-size:.84rem;margin-bottom:12px}
  .legal-content ul li{font-size:.82rem;gap:6px;padding:3px 0}
  .legal-content ul li::before{margin-top:8px}
  .legal-content__date{font-size:.72rem;padding:5px 12px}
  .legal-toc-v2{padding:16px}
  .legal-toc-v2 a{font-size:.76rem;padding:6px 10px;margin:0 -10px}
}
@media(max-width:480px){
  .legal-content h2{font-size:.95rem;padding-bottom:8px}
  .legal-toc-v2__t{font-size:.66rem;margin-bottom:10px;padding-bottom:8px}
}

/* ── Contact ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Contact Page Styles
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero variant ── */
.page-hero--contact{
  position:relative;overflow:hidden;padding:var(--hero-pt) 0 28px;
  background:linear-gradient(165deg,#FFFCF9 0%,#FFF5EE 30%,#FEECD8 70%,#FEE5D0 100%);
  background-size:100% 300%;
  animation:heroGradShift 8s ease-in-out infinite;
}
.page-hero--contact .con{position:relative;z-index:2}

/* ── Hero grid ── */
.hero-contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}

/* ── Decorative background ── */
.hero-contact__bg{position:absolute;inset:0;pointer-events:none}
.hero-contact__dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(20,20,37,.025) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse 70% 60% at 65% 45%,black 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 65% 45%,black 20%,transparent 75%)}
.hero-contact__orb{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none}
.hero-contact__orb--1{width:420px;height:420px;background:rgba(254,163,0,.08);top:-10%;right:5%}
.hero-contact__orb--2{width:300px;height:300px;background:rgba(254,96,0,.06);bottom:-15%;left:-5%}
.hero-contact__orb--3{width:180px;height:180px;background:rgba(254,87,6,.05);top:50%;left:45%}
.hero-contact__glow-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(254,96,0,.25) 30%,rgba(254,96,0,.4) 50%,rgba(254,96,0,.25) 70%,transparent);z-index:3}

/* ── Trust badges ── */
.hero-contact__badges{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap;animation:fadeUp .7s var(--ease) .5s both}
.hero-contact__badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--wh);border:1px solid var(--sv);border-radius:100px;font-size:.72rem;font-weight:600;color:var(--ch);letter-spacing:.02em;box-shadow:0 2px 8px rgba(20,20,37,.04)}
.hero-contact__badge svg{width:13px;height:13px;color:var(--or)}

/* ── Signal cards (floating visual) ── */
.hero-contact__vis{position:relative;width:100%;max-width:440px;margin:0 auto}
.signal-card{position:absolute;background:var(--wh);border:1px solid var(--sv);border-radius:14px;padding:16px 18px;min-width:170px;z-index:2;box-shadow:0 8px 32px rgba(20,20,37,.06)}
.signal-card__icon{width:36px;height:36px;border-radius:10px;background:var(--gr);display:flex;align-items:center;justify-content:center;margin-bottom:10px;box-shadow:var(--sh-glow-sm)}
.signal-card__icon svg{width:16px;height:16px;color:#fff}
.signal-card__label{font-size:.68rem;font-weight:700;color:var(--sl);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.signal-card__value{font-size:1.15rem;font-weight:700;color:var(--nv);line-height:1.2}
.signal-card__sub{font-size:.72rem;color:var(--sl);font-weight:300;margin-top:2px}
.signal-card--1{top:0;right:0}
.signal-card--2{top:42%;left:0}
.signal-card--3{bottom:-10%;right:8%}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.signal-card--1{animation:fadeUp .6s var(--ease) .3s both,floatCard 5s var(--ease) infinite 1s}
.signal-card--2{animation:fadeUp .6s var(--ease) .5s both,floatCard 6s var(--ease) infinite 1.5s}
.signal-card--3{animation:fadeUp .6s var(--ease) .7s both,floatCard 5.5s var(--ease) infinite 2s}

/* ── Central ring ── */
.hero-contact__ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border-radius:50%;border:1.5px solid rgba(254,96,0,.12);opacity:.6}
.hero-contact__ring::before{content:'';position:absolute;inset:-30px;border-radius:50%;border:1px solid rgba(254,96,0,.06)}
.hero-contact__ring::after{content:'';position:absolute;inset:-60px;border-radius:50%;border:1px solid rgba(254,96,0,.03)}
.hero-contact__ring-core{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--gr);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-glow-lg)}
.hero-contact__ring-core svg{width:28px;height:28px;color:#fff}
.hero-contact__connector{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}

/* ── Two-column layout ── */
.two-col{display:grid;grid-template-columns:1fr minmax(0,504px);gap:48px;align-items:stretch}

/* ── Contact detail rows ── */
.ct-detail{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--cl)}
.ct-detail:last-of-type{border-bottom:none}
.ct-detail__icon{width:44px;height:44px;border-radius:12px;background:rgba(254,96,0,.08);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ct-detail__icon svg{width:20px;height:20px;color:var(--or)}
.ct-detail__label{font-size:.68rem;font-weight:700;color:var(--sl);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.ct-detail__value{font-size:1rem;font-weight:600;color:var(--nv);margin-bottom:2px}
.ct-detail__sub{font-size:.8rem;color:var(--sl);font-weight:300}

/* ── "What happens next" box ── */
.ct-next{margin-top:auto;padding:20px 22px;background:linear-gradient(135deg,rgba(254,163,0,.06),rgba(254,96,0,.03));border:1px solid rgba(254,96,0,.12);border-radius:12px}
.ct-next__header{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ct-next__title{font-size:.88rem;font-weight:700;color:var(--nv)}
.ct-next__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ct-next__item{display:flex;gap:10px;align-items:flex-start}
.ct-next__num{font-size:.78rem;font-weight:700;color:var(--or);min-width:16px}
.ct-next__text{font-size:.82rem;color:var(--sl);font-weight:300;line-height:1.55}

/* ── Form card ── */
.consult-form{background:var(--wh);border-radius:14px;padding:32px 28px;border:1px solid var(--sv);box-shadow:var(--sh-rest)}
.consult-form__title{font-size:1.1rem;font-weight:600;color:var(--nv);margin-bottom:6px}
.consult-form__bar{height:2px;width:40px;background:var(--gr);border-radius:4px;margin-bottom:16px}
.consult-field{margin-bottom:12px}
.consult-field label{display:block;font-size:.76rem;font-weight:600;color:var(--ch);margin-bottom:4px}
.consult-field input,.consult-field select,.consult-field textarea{width:100%;padding:10px 14px;border:1px solid var(--sv);border-radius:8px;font-family:var(--ft);font-size:.85rem;color:var(--nv);background:var(--wh);outline:none;transition:border-color .2s}
.consult-field input:focus,.consult-field select:focus,.consult-field textarea:focus-visible{border-color:var(--or)}
.consult-field textarea{resize:vertical;min-height:68px}
.consult-field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' stroke='%237A7A98' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.consult-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.consult-submit{width:100%;margin-top:6px}
.consult-note{font-size:.76rem;color:var(--sl);margin-top:10px;text-align:center}

/* ── Phone: unified single field with internal divider ── */
.consult-phone{display:flex;position:relative;border:1px solid var(--sv);border-radius:8px;background:var(--wh);transition:border-color .2s}
.consult-phone:focus-within{border-color:var(--or)}
.consult-phone__trigger{
  display:flex;align-items:center;gap:4px;
  padding:0 10px;height:auto;
  background:none;border:none;border-right:1px solid var(--sv);
  border-radius:8px 0 0 8px;
  cursor:pointer;flex-shrink:0;
  font-family:var(--ft);font-size:.82rem;color:var(--nv);
  transition:background .15s;
}
.consult-phone__trigger:hover{background:rgba(20,20,37,.02)}
.consult-phone__trigger:focus{outline:none}
.consult-phone__flag{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:16px;border-radius:2px;overflow:hidden;
  background:var(--sv);font-size:0;flex-shrink:0;
}
.consult-phone__flag img{width:100%;height:100%;object-fit:cover}
.consult-phone__dial{font-size:.82rem;font-weight:600;color:var(--nv);white-space:nowrap}
.consult-phone__chv{width:10px;height:10px;color:var(--sl);flex-shrink:0;transition:transform .2s var(--ease)}
.consult-phone__trigger[aria-expanded="true"] .consult-phone__chv{transform:rotate(180deg)}
.consult-phone__num{
  flex:1;min-width:0;
  border:none !important;border-radius:0 8px 8px 0 !important;
  background:none !important;outline:none;
  padding:10px 14px;
  font-family:var(--ft);font-size:.85rem;color:var(--nv);
  box-shadow:none !important;
}
.consult-phone__num:focus{border:none !important;box-shadow:none !important}
.consult-phone__num::placeholder{color:var(--sl)}

/* Error state for unified phone wrapper */
.consult-field.has-error .consult-phone{border-color:var(--rd)}

/* ── Country code dropdown panel ── */
.cc-dropdown{
  display:none;position:absolute;top:100%;left:0;
  width:280px;max-height:320px;margin-top:4px;
  background:var(--wh);border:1px solid var(--sv);border-radius:10px;
  box-shadow:0 12px 40px rgba(20,20,37,.12);
  z-index:100;overflow:hidden;
}
.cc-dropdown.open{display:flex;flex-direction:column}
.cc-dropdown__search{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;border-bottom:1px solid var(--sv);
  flex-shrink:0;
}
.cc-dropdown__search svg{width:14px;height:14px;color:var(--sl);flex-shrink:0}
.cc-dropdown__input{
  flex:1;border:none;outline:none;background:none;
  font-family:var(--ft);font-size:.82rem;color:var(--nv);
}
.cc-dropdown__input::placeholder{color:var(--sl)}
.cc-dropdown__list{overflow-y:auto;flex:1}
.cc-dropdown__list::-webkit-scrollbar{width:4px}
.cc-dropdown__list::-webkit-scrollbar-thumb{background:var(--sv);border-radius:4px}
.cc-item{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;cursor:pointer;
  font-size:.82rem;color:var(--ch);
  transition:background .15s;
}
.cc-item:hover,.cc-item.highlighted{background:rgba(254,96,0,.04);color:var(--nv)}
.cc-item.selected{background:rgba(254,96,0,.08);font-weight:600;color:var(--or)}
.cc-item__flag{
  width:22px;height:16px;border-radius:2px;overflow:hidden;
  background:var(--sv);flex-shrink:0;
}
.cc-item__flag img{width:100%;height:100%;object-fit:cover}
.cc-item__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-item__code{font-weight:600;color:var(--sl);font-size:.78rem;flex-shrink:0}

/* ── Inline validation errors ── */
.consult-field__err{
  display:none;font-size:.7rem;color:var(--rd);font-weight:500;
  margin-top:3px;line-height:1.3;
}
.consult-field__err.show{display:block}
.consult-field.has-error input,
.consult-field.has-error select,
.consult-field.has-error textarea{border-color:var(--rd)}
.consult-privacy{background:var(--mi);border:1px solid var(--sv);border-radius:8px;padding:12px 14px;margin-bottom:14px}
.consult-privacy label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}
.consult-privacy input[type="checkbox"]{width:15px;height:15px;margin-top:2px;flex-shrink:0;accent-color:var(--or);cursor:pointer}
.consult-privacy span{font-size:.76rem;color:var(--sl);line-height:1.6;font-weight:300;user-select:none}
.consult-privacy a{color:var(--or);font-weight:600}
.consult-success{display:none;margin-top:14px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);border-radius:8px;padding:14px 16px;align-items:center;gap:12px}
.consult-success svg{width:20px;height:20px;flex-shrink:0;color:#059669}
.consult-success p{font-size:.85rem;color:#065f46;font-weight:600;margin:0}

/* ── Responsive ── */
@media(max-width:1024px){
  .hero-contact__grid{grid-template-columns:1fr}
  .hero-contact__vis{max-width:360px;margin-top:32px;min-height:320px}
  .two-col{grid-template-columns:1fr}
}
@media(max-width:768px){
  .consult-form{padding:24px 20px}
  .ct-detail{padding:16px 0}
  .ct-next{padding:16px 18px}
  .consult-row{grid-template-columns:1fr}
  .cc-dropdown{width:100%}
}
@media(max-width:640px){
  .hero-contact__vis{max-width:300px;min-height:280px}
  .signal-card{min-width:140px;padding:12px 14px}
  .signal-card__value{font-size:1rem}
  .hero-contact__badges{gap:6px}
  .hero-contact__badge{padding:5px 10px;font-size:.68rem}
}
@media(max-width:480px){
  .signal-card__label{font-size:.62rem}
  .signal-card__value{font-size:.88rem}
  .consult-form{padding:20px 16px}
  .consult-field input,.consult-field select,.consult-field textarea{padding:9px 12px;font-size:.82rem}
}

/* ── Search ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — Search Results Styles
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero ── */
.search-hero{padding:var(--hero-pt) 0 32px;position:relative;overflow:hidden;background:linear-gradient(to top,#FEECD8,#FFF5EE,#FFFCF9);background-size:100% 300%;animation:heroGradShift 6s ease-in-out infinite}
.search-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(254,96,0,.25) 50%,transparent);z-index:3}
.search-hero__form{display:flex;max-width:520px;margin-top:20px;background:var(--wh);border:1.5px solid var(--sv);border-radius:10px;overflow:hidden;transition:border-color .2s;box-shadow:0 2px 12px rgba(20,20,37,.06)}
.search-hero__form:focus-within{border-color:var(--or);box-shadow:0 2px 12px rgba(254,96,0,.1)}
.search-hero__input{flex:1;border:none;outline:none;background:none;padding:10px 16px;font-family:var(--ft);font-size:.88rem;color:var(--nv)}
.search-hero__input::placeholder{color:var(--sl)}
.search-hero__btn{display:flex;align-items:center;justify-content:center;width:44px;background:var(--gr);border:none;cursor:pointer;transition:opacity .2s;flex-shrink:0}
.search-hero__btn:hover{opacity:.9}
.search-hero__btn svg{width:16px;height:16px;color:#fff}
.search-hero__meta{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}
.search-hero__count{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:var(--nv);padding:4px 12px;background:var(--wh);border:1px solid var(--sv);border-radius:100px}
.search-hero__count svg{width:11px;height:11px;color:var(--or)}
.search-hero__query{font-size:.75rem;color:var(--sl);font-weight:300}
.search-hero__query strong{font-weight:600;color:var(--or)}

/* ── Results wrapper ── */
.search-results-wrap{padding:clamp(32px,4vw,48px) 0}
.search-results{display:flex;flex-direction:column;gap:10px}

/* ── Compact result card ── */
.sr-card{display:flex;align-items:center;gap:16px;background:var(--wh);border:1px solid var(--sv);border-radius:10px;padding:16px 20px;transition:all .25s var(--ease)}
.sr-card:hover{border-color:transparent;box-shadow:0 12px 36px rgba(20,20,37,.08);transform:translateY(-1px)}
.sr-card__icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;background:linear-gradient(135deg,rgba(254,163,0,.1),rgba(254,96,0,.06));display:flex;align-items:center;justify-content:center;transition:all .25s var(--ease)}
.sr-card:hover .sr-card__icon{background:var(--gr);box-shadow:var(--sh-glow-sm)}
.sr-card__icon svg{width:16px;height:16px;color:var(--or);transition:color .25s}
.sr-card:hover .sr-card__icon svg{color:#fff}
.sr-card__body{flex:1;min-width:0}
.sr-card__top{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.sr-card__type{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--or)}
.sr-card__url{font-size:.66rem;color:var(--sv);font-weight:300;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-card__title{font-size:.92rem;font-weight:600;color:var(--nv);line-height:1.3;margin-bottom:3px;transition:color .2s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-card:hover .sr-card__title{color:var(--or)}
.sr-card__excerpt{font-size:.78rem;color:var(--sl);line-height:1.55;font-weight:300;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.sr-card__excerpt mark{background:rgba(254,96,0,.12);color:var(--nv);border-radius:2px;padding:0 2px}
.sr-card__arrow{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:var(--sv);transition:all .2s var(--ease);border-radius:6px}
.sr-card:hover .sr-card__arrow{color:var(--or);background:rgba(254,96,0,.04)}
.sr-card__arrow svg{width:14px;height:14px}

/* ── Load more ── */
.search-load-more{display:flex;justify-content:center;margin-top:28px}
.search-load-more .btn{height:40px;padding:0 24px;font-size:.82rem}
.search-spinner{display:none;justify-content:center;margin-top:28px}
.search-spinner.show{display:flex}
.search-spinner__dot{width:28px;height:28px;border:2.5px solid var(--sv);border-top-color:var(--or);border-radius:50%;animation:spin .7s linear infinite}

/* ── No results ── */
.search-empty{text-align:center;padding:48px 0}
.search-empty__icon{width:68px;height:68px;margin:0 auto 20px;border-radius:16px;background:linear-gradient(135deg,rgba(254,163,0,.1),rgba(254,96,0,.06));display:flex;align-items:center;justify-content:center}
.search-empty__icon svg{width:30px;height:30px;color:var(--or)}
.search-empty__title{font-size:1.15rem;font-weight:600;color:var(--nv);margin-bottom:6px}
.search-empty__desc{font-size:.84rem;color:var(--sl);font-weight:300;line-height:1.65;max-width:400px;margin:0 auto 24px}
.search-empty__tips{display:flex;flex-direction:column;gap:5px;max-width:340px;margin:0 auto 28px;text-align:left}
.search-empty__tip{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--ch);font-weight:300}
.search-empty__tip svg{width:13px;height:13px;color:var(--or);flex-shrink:0}

/* ── Responsive ── */
@media(max-width:768px){
  .sr-card{padding:14px 16px;gap:12px}
  .sr-card__arrow{display:none}
}
@media(max-width:480px){
  .sr-card{padding:12px 14px}
  .sr-card__icon{width:32px;height:32px}
  .sr-card__icon svg{width:14px;height:14px}
  .sr-card__title{font-size:.85rem}
  .sr-card__excerpt{font-size:.74rem}
  .search-empty{padding:36px 0}
  .search-empty__icon{width:56px;height:56px}
  .search-empty__icon svg{width:24px;height:24px}
}

/* ── 404 ── */
/* ═══════════════════════════════════════════════════════════════════
   Signisys Theme — 404 Page Styles
   Page-specific CSS for the 404 error page.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Keyframes ── */
@keyframes glitch1{0%,100%{clip-path:inset(0 0 95% 0);transform:translate(-2px,0)}20%{clip-path:inset(15% 0 70% 0);transform:translate(2px,0)}40%{clip-path:inset(40% 0 40% 0);transform:translate(-1px,0)}60%{clip-path:inset(70% 0 15% 0);transform:translate(2px,0)}80%{clip-path:inset(90% 0 5% 0);transform:translate(-2px,0)}}
@keyframes glitch2{0%,100%{clip-path:inset(85% 0 0 0);transform:translate(2px,0)}20%{clip-path:inset(60% 0 25% 0);transform:translate(-2px,0)}40%{clip-path:inset(35% 0 45% 0);transform:translate(1px,0)}60%{clip-path:inset(10% 0 75% 0);transform:translate(-2px,0)}80%{clip-path:inset(5% 0 88% 0);transform:translate(2px,0)}}
@keyframes orbitA{from{transform:rotate(0deg) translateX(120px) rotate(0deg)}to{transform:rotate(360deg) translateX(120px) rotate(-360deg)}}
@keyframes orbitB{from{transform:rotate(120deg) translateX(160px) rotate(-120deg)}to{transform:rotate(480deg) translateX(160px) rotate(-480deg)}}
@keyframes orbitC{from{transform:rotate(240deg) translateX(200px) rotate(-240deg)}to{transform:rotate(600deg) translateX(200px) rotate(-600deg)}}
@keyframes revealUp{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes countUp{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}

/* ── Hero Section ── */
.err-hero{
  min-height:100vh;display:flex;align-items:center;
  background:var(--mi);position:relative;overflow:hidden;
  padding:var(--hero-pt) 0 64px;box-sizing:border-box;
}
.err-hero::before{
  content:'';position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(20,20,37,.04) 1px,transparent 1px);
  background-size:40px 40px;pointer-events:none;
}
.err-hero::after{
  content:'';position:absolute;bottom:-20%;left:50%;transform:translateX(-50%);
  width:800px;height:400px;border-radius:50%;
  background:radial-gradient(ellipse,rgba(254,96,0,.08),transparent 65%);pointer-events:none;
}
.err-hero__inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
}

/* ── Left: Text ── */
.err-hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:700;color:var(--or);
  text-transform:uppercase;letter-spacing:.12em;margin-bottom:20px;
  animation:revealUp .6s var(--ease) .1s both;
}
.err-hero__eyebrow::before{content:'';width:20px;height:2px;background:var(--gr);border-radius:4px}

.err-hero__code{
  font-size:clamp(5rem,10vw,8.5rem);font-weight:700;line-height:1;
  letter-spacing:-.04em;margin-bottom:20px;position:relative;display:inline-block;
  animation:countUp .7s cubic-bezier(.34,1.56,.64,1) .2s both;
}
.err-hero__code span{
  background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;position:relative;display:inline-block;
}
.err-hero__code span::before,.err-hero__code span::after{
  content:'404';position:absolute;inset:0;
  background:var(--gr);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.err-hero__code span::before{animation:glitch1 4s step-end infinite;opacity:.6}
.err-hero__code span::after{animation:glitch2 4s step-end infinite;opacity:.4;filter:hue-rotate(30deg)}

.err-hero__heading{
  font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:300;color:var(--nv);
  line-height:1.18;letter-spacing:-.02em;margin-bottom:16px;
  animation:revealUp .6s var(--ease) .35s both;
}
.err-hero__heading strong{font-weight:700}
.err-hero__desc{
  font-size:1rem;font-weight:300;color:var(--sl);line-height:1.75;
  max-width:480px;margin-bottom:12px;animation:revealUp .6s var(--ease) .45s both;
}
.err-hero__url{
  display:inline-flex;align-items:center;gap:8px;font-size:.8rem;color:var(--sl);
  background:var(--cl);border:1px solid var(--sv);border-radius:8px;padding:8px 14px;
  margin-bottom:32px;animation:revealUp .6s var(--ease) .5s both;max-width:100%;overflow:hidden;
}
.err-hero__url svg{width:13px;height:13px;color:var(--rd);flex-shrink:0}
.err-hero__url code{font-family:monospace;font-size:.78rem;color:var(--ch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.err-hero__actions{display:flex;gap:12px;flex-wrap:wrap;animation:revealUp .6s var(--ease) .6s both}

/* ── Search bar ── */
.err-hero__search{position:relative;max-width:480px;margin-top:28px;animation:revealUp .6s var(--ease) .7s both}
.err-hero__search-label{font-size:.72rem;font-weight:700;color:var(--sl);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}
.err-hero__search-wrap{position:relative}
.err-hero__search-inp{
  width:100%;height:48px;background:var(--wh);border:1.5px solid var(--sv);
  border-radius:10px;padding:0 52px 0 18px;font-family:var(--ft);font-size:.9rem;
  color:var(--nv);outline:none;transition:all .3s var(--ease);box-shadow:0 2px 8px rgba(20,20,37,.04);
}
.err-hero__search-inp::placeholder{color:var(--sv)}
.err-hero__search-inp:focus{border-color:rgba(254,96,0,.5);box-shadow:0 0 0 4px rgba(254,96,0,.08)}
.err-hero__search-btn{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:8px;background:var(--gr);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);
}
.err-hero__search-btn:hover{box-shadow:var(--sh-glow-sm);transform:translateY(-50%) scale(1.05)}
.err-hero__search-btn svg{width:15px;height:15px;color:#fff}

/* ── Right: SVG illustration ── */
.err-illo{display:flex;align-items:center;justify-content:center;position:relative;animation:revealUp .8s var(--ease) .3s both}
.err-illo__svg{width:100%;max-width:480px;overflow:visible}

/* ── Quick Links Section ── */
.quick-links{background:var(--wh);border-top:1px solid var(--cl);border-bottom:1px solid var(--cl);padding:clamp(48px,6vw,72px) 0}
.quick-links__hd{margin-bottom:36px}
.ql-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.ql-card{
  background:var(--mi);border:1px solid var(--sv);border-radius:14px;padding:24px 22px;
  display:flex;flex-direction:column;transition:all .4s var(--ease);text-decoration:none;color:inherit;
}
.ql-card:hover{background:var(--wh);border-color:transparent;box-shadow:var(--sh-hover);transform:translateY(-4px)}
.ql-card__icon{
  width:44px;height:44px;border-radius:10px;
  background:linear-gradient(135deg,rgba(254,163,0,.1),rgba(254,96,0,.06));
  display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:all .3s var(--ease);
}
.ql-card:hover .ql-card__icon{background:var(--gr);box-shadow:var(--sh-glow-sm)}
.ql-card__icon svg{width:20px;height:20px;color:var(--or);transition:color .3s}
.ql-card:hover .ql-card__icon svg{color:#fff}
.ql-card__title{font-size:1rem;font-weight:700;color:var(--nv);margin-bottom:8px;line-height:1.3}
.ql-card__desc{font-size:.85rem;color:var(--sl);font-weight:300;line-height:1.65;flex:1;margin-bottom:16px}
.ql-card__link{display:inline-flex;align-items:center;gap:5px;font-size:.8rem;font-weight:600;color:var(--or);transition:gap .25s var(--ease)}
.ql-card:hover .ql-card__link{gap:8px}
.ql-card__link svg{width:12px;height:12px}

/* ── Popular Pages Section ── */
.popular__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.popular__list{list-style:none;display:flex;flex-direction:column;gap:0}
.popular__item{
  display:flex;align-items:center;gap:16px;padding:16px 0;
  border-bottom:1px solid var(--cl);text-decoration:none;color:inherit;transition:all .25s var(--ease);
}
.popular__item:last-child{border:none}
.popular__item:hover{padding-left:6px}
.popular__num{font-size:1.4rem;font-weight:700;color:rgba(254,96,0,.12);line-height:1;min-width:32px;flex-shrink:0}
.popular__item:hover .popular__num{color:rgba(254,96,0,.3)}
.popular__body{flex:1}
.popular__title{font-size:.92rem;font-weight:600;color:var(--nv);line-height:1.4;margin-bottom:3px;transition:color .2s}
.popular__item:hover .popular__title{color:var(--or)}
.popular__meta{font-size:.72rem;color:var(--sl);font-weight:300}
.popular__arr{color:var(--sl);opacity:0;transform:translateX(-4px);transition:all .25s var(--ease)}
.popular__item:hover .popular__arr{opacity:1;transform:none;color:var(--or)}
.popular__arr svg{width:14px;height:14px}

/* ── Contact card ── */
.contact-card{background:linear-gradient(135deg,var(--nv),var(--nv2));border-radius:16px;padding:36px 32px;position:relative;overflow:hidden}
.contact-card::before{content:'';position:absolute;top:-30%;right:-10%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(254,96,0,.1),transparent 65%);pointer-events:none}
.contact-card::after{content:'';position:absolute;bottom:-20%;left:-8%;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(254,163,0,.06),transparent 65%);pointer-events:none}
.contact-card__ey{font-size:.68rem;font-weight:700;color:rgba(254,163,0,.7);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px;display:flex;align-items:center;gap:6px}
.contact-card__ey::before{content:'';width:14px;height:1.5px;background:rgba(254,163,0,.4);border-radius:4px}
.contact-card__t{font-size:1.4rem;font-weight:300;color:#fff;line-height:1.25;margin-bottom:12px}
.contact-card__t strong{font-weight:700}
.contact-card__d{font-size:.88rem;color:rgba(255,255,255,.5);line-height:1.65;font-weight:300;margin-bottom:28px}
.contact-card__acts{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}
.contact-card .btn{justify-content:center}
.btn--light{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.12)}
.btn--light:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}

/* ── Responsive ── */
@media(max-width:1024px){
  .err-hero__inner{grid-template-columns:1fr}
  .err-illo{display:none}
  .ql-grid{grid-template-columns:repeat(2,1fr)}
  .popular__grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .err-hero{padding:var(--hero-pt) 0 48px}
  .err-hero__code{font-size:clamp(4rem,12vw,6rem)}
  .err-hero__heading{font-size:clamp(1.3rem,3.5vw,1.8rem)}
  .err-hero__desc{font-size:.9rem;max-width:100%}
  .err-hero__search{max-width:100%}
  .ql-grid{gap:14px}
  .ql-card{padding:20px 18px}
  .ql-card__title{font-size:.92rem}
  .popular__item{gap:12px;padding:14px 0}
  .popular__num{font-size:1.2rem;min-width:28px}
  .contact-card{padding:28px 24px}
  .contact-card__t{font-size:1.2rem}
}
@media(max-width:640px){
  .ql-grid{grid-template-columns:1fr}
  .err-hero__actions{flex-direction:column}
  .err-hero__actions .btn{width:100%;justify-content:center}
  .contact-card__acts{gap:8px}
  .contact-card .btn{font-size:.82rem}
}
@media(max-width:480px){
  .err-hero__code{font-size:clamp(3.5rem,15vw,5rem);margin-bottom:14px}
  .err-hero__heading{margin-bottom:12px}
  .err-hero__url{font-size:.72rem;padding:6px 10px}
  .err-hero__search-inp{height:44px;font-size:.85rem}
  .err-hero__search-btn{width:32px;height:32px}
  .ql-card__desc{font-size:.8rem;margin-bottom:12px}
  .contact-card{padding:24px 18px}
  .contact-card__t{font-size:1.05rem}
  .contact-card__d{font-size:.82rem;margin-bottom:20px}
  .contact-card__acts .btn{width:100%;justify-content:center}
}


/* ═══ A11Y: WCAG AA contrast for small orange text ═══
 * These selectors use color:var(--or) at font-size < .78rem.
 * Override to --or-txt (#cf5000, 4.6:1 on white) for AA compliance.
 */
.sec__ey,.bento__feat-badge,.sol-R__ey,.cs-card__tag,
.val-intro__tag,.diff-panel__ey,.diff-tab-chip,.diff-chip,
.diff-compact__ey,.diff-compact__num,.method-step__phase,
.method-step__pill,.co-detail__t,.ptr-card__tier,
.ptr-hero-badge__tier,.mega__col-more,.ic-dot__name{color:var(--or-txt)}
