/* ============================================================
   LIONHEART SECURITY GROUP LIMITED — Global Stylesheet
   ============================================================ */

/* 1. Design Tokens */
:root {
  --color-navy:        #0D1B2A;
  --color-blue:        #1A3A5C;
  --color-gold:        #C9A84C;
  --color-gold-light:  #E2C97E;
  --color-white:       #FFFFFF;
  --color-gray-light:  #F8F9FA;
  --color-gray-mid:    #E9ECEF;
  --color-muted:       #6C757D;
  --color-footer-bg:   #070F18;
  --color-card-glass:  rgba(26,58,92,0.35);
  --color-card-border: rgba(255,255,255,0.08);
  --color-card-hover:  rgba(201,168,76,0.28);

  --font-body:    'Inter', system-ui, sans-serif;
  --font-display: 'Playfair Display', Georgia, serif;

  --text-xs:   clamp(0.7rem,  1.5vw, 0.8rem);
  --text-sm:   clamp(0.83rem, 2vw,   0.95rem);
  --text-base: clamp(1rem,    2.5vw, 1.0625rem);
  --text-lg:   clamp(1.1rem,  2.5vw, 1.25rem);
  --text-xl:   clamp(1.2rem,  3vw,   1.5rem);
  --text-2xl:  clamp(1.5rem,  4vw,   2rem);
  --text-3xl:  clamp(1.875rem,5vw,   2.75rem);
  --text-4xl:  clamp(2.25rem, 5.5vw, 3.25rem);
  --text-hero: clamp(2.5rem,  7vw,   4.5rem);

  --sp-1:2px; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem; --sp-5:1.25rem;
  --sp-6:1.5rem; --sp-8:2rem; --sp-10:2.5rem; --sp-12:3rem;
  --sp-16:4rem; --sp-20:5rem; --sp-24:6rem;

  --radius-sm:4px; --radius-md:8px; --radius-lg:16px;
  --radius-xl:24px; --radius-full:9999px;

  --shadow-sm:  0 2px 8px rgba(0,0,0,.2);
  --shadow-md:  0 4px 20px rgba(0,0,0,.25);
  --shadow-lg:  0 8px 40px rgba(0,0,0,.35);
  --shadow-gold:0 0 30px rgba(201,168,76,.2);
  --shadow-card:0 8px 40px rgba(13,27,42,.5);

  --ease-out:    cubic-bezier(.22,1,.36,1);
  --trans-fast:  150ms cubic-bezier(.22,1,.36,1);
  --trans-base:  300ms cubic-bezier(.22,1,.36,1);
  --trans-slow:  500ms cubic-bezier(.22,1,.36,1);

  --container-max: 1200px;
  --container-pad: clamp(1rem,5vw,2.5rem);
  --nav-height:    72px;
  --z-sticky: 100; --z-overlay: 200;
}

/* 2. Reset */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:100%; -webkit-text-size-adjust:100%; }
body {
  font-family:var(--font-body); font-size:var(--text-base);
  background:var(--color-navy); color:var(--color-white);
  line-height:1.65; overflow-x:hidden;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img,video,svg { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; transition:color var(--trans-fast); }
ul,ol { list-style:none; }
button { cursor:pointer; font-family:inherit; border:none; background:none; }
input,select,textarea { font-family:inherit; font-size:inherit; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); font-weight:700; line-height:1.2; }
:focus-visible { outline:2px solid var(--color-gold); outline-offset:4px; }

.skip-link {
  position:absolute; top:-100%; left:1rem; z-index:9999;
  background:var(--color-gold); color:var(--color-navy);
  padding:.5rem 1rem; border-radius:0 0 var(--radius-md) var(--radius-md);
  font-weight:700; font-size:var(--text-sm);
  transition:top var(--trans-fast);
}
.skip-link:focus { top:0; }

/* 3. Layout Utils */
.container { max-width:var(--container-max); margin:0 auto; padding:0 var(--container-pad); }
.section   { padding:var(--sp-20) 0; }
.section--light { background:var(--color-gray-light); color:var(--color-navy); }
.section--dark  { background:var(--color-navy); color:var(--color-white); }
.section--blue  { background:var(--color-blue); color:var(--color-white); }
.text-gold   { color:var(--color-gold); }
.text-muted  { color:var(--color-muted); }
.text-center { text-align:center; }
.display-font { font-family:var(--font-display); }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-8); }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-8); }
.grid-4 { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-6); }

/* 4. Section Header */
.section__header { text-align:center; max-width:700px; margin:0 auto var(--sp-12); }
.section__eyebrow {
  display:flex; align-items:center; justify-content:center; gap:var(--sp-3);
  font-size:var(--text-xs); font-weight:700; text-transform:uppercase;
  letter-spacing:.15em; color:var(--color-gold); margin-bottom:var(--sp-4);
}
.section__eyebrow-line { display:block; width:32px; height:1px; background:var(--color-gold); opacity:.5; }
.section__title { font-family:var(--font-display); font-size:var(--text-3xl); font-weight:700; margin-bottom:var(--sp-4); line-height:1.15; }
.section--light .section__title { color:var(--color-navy); }
.section__sub { font-size:var(--text-base); color:var(--color-muted); line-height:1.7; max-width:560px; margin:0 auto; }
.section--dark .section__sub { color:rgba(255,255,255,.58); }

/* 5. Buttons */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--sp-2);
  padding:.8rem 1.75rem; border-radius:var(--radius-full);
  font-family:var(--font-body); font-size:var(--text-sm); font-weight:600;
  letter-spacing:.03em; border:2px solid transparent; cursor:pointer;
  transition:all var(--trans-base); white-space:nowrap;
  position:relative; overflow:hidden; text-decoration:none;
}
.btn::after {
  content:''; position:absolute; top:0; left:-100%; width:60%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);
  transition:left .5s ease;
}
.btn:hover::after { left:150%; }
.btn--primary { background:var(--color-gold); color:var(--color-navy); border-color:var(--color-gold); }
.btn--primary:hover { background:var(--color-gold-light); border-color:var(--color-gold-light); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,.4); }
.btn--outline { background:transparent; color:var(--color-white); border-color:rgba(255,255,255,.35); }
.btn--outline:hover { border-color:var(--color-gold); color:var(--color-gold); transform:translateY(-2px); }
.btn--dark { background:var(--color-navy); color:var(--color-white); border-color:rgba(255,255,255,.2); }
.btn--dark:hover { border-color:var(--color-gold); color:var(--color-gold); }
.btn--lg { padding:1rem 2.25rem; font-size:var(--text-base); }
.btn--sm { padding:.5rem 1.25rem; font-size:var(--text-xs); }

/* 6. Navigation */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:var(--z-sticky);
  transition:background var(--trans-base),box-shadow var(--trans-base),border-color var(--trans-base);
  border-bottom:1px solid transparent;
}
.nav--scrolled {
  background:rgba(13,27,42,.96);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-color:rgba(201,168,76,.12);
  box-shadow:0 4px 24px rgba(0,0,0,.3);
}
.nav__inner {
  display:flex; align-items:center; justify-content:space-between;
  height:var(--nav-height); gap:var(--sp-8);
}
.nav__logo { display:flex; align-items:center; gap:var(--sp-3); flex-shrink:0; }
.nav__logo-icon {
  width:38px; height:38px;
  background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));
  border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; color:var(--color-navy); flex-shrink:0;
}
.nav__logo-text { display:flex; flex-direction:column; line-height:1.1; }
.nav__logo-name { font-family:var(--font-display); font-size:.95rem; font-weight:700; color:var(--color-white); }
.nav__logo-tag  { font-size:.6rem; font-weight:600; color:var(--color-gold); text-transform:uppercase; letter-spacing:.1em; }
.nav__links { display:flex; align-items:center; gap:var(--sp-6); flex:1; justify-content:center; }
.nav__link {
  font-size:var(--text-sm); font-weight:500; color:rgba(255,255,255,.8);
  padding:var(--sp-2) 0; border-bottom:2px solid transparent;
  transition:color var(--trans-fast),border-color var(--trans-fast);
}
.nav__link:hover, .nav__link--active { color:var(--color-white); border-bottom-color:var(--color-gold); }
.nav__cta { flex-shrink:0; }

/* Hamburger */
.nav__hamburger {
  display:none; flex-direction:column; justify-content:center;
  align-items:center; gap:5px; width:44px; height:44px; flex-shrink:0;
}
.nav__hamburger-line {
  display:block; width:24px; height:2px; background:var(--color-white);
  border-radius:2px; transition:transform var(--trans-base),opacity var(--trans-fast);
  transform-origin:center;
}
.nav--open .nav__hamburger-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav--open .nav__hamburger-line:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav--open .nav__hamburger-line:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.nav__mobile {
  position:fixed; inset:0; z-index:var(--z-overlay); pointer-events:none;
}
.nav--open .nav__mobile { pointer-events:all; }
.nav__mobile-overlay {
  position:absolute; inset:0; background:rgba(7,15,24,.75);
  opacity:0; transition:opacity var(--trans-base); backdrop-filter:blur(4px);
}
.nav--open .nav__mobile-overlay { opacity:1; }
.nav__mobile-panel {
  position:absolute; top:0; right:0; bottom:0; width:min(320px,85vw);
  background:var(--color-navy); border-left:1px solid rgba(201,168,76,.15);
  padding:var(--sp-16) var(--sp-8) var(--sp-8);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform var(--trans-base); overflow-y:auto;
}
.nav--open .nav__mobile-panel { transform:translateX(0); }
.nav__mobile-links { display:flex; flex-direction:column; gap:var(--sp-2); flex:1; }
.nav__mobile-link {
  font-size:var(--text-lg); font-family:var(--font-display); font-weight:600;
  color:rgba(255,255,255,.8); padding:var(--sp-3) 0;
  border-bottom:1px solid rgba(255,255,255,.07);
  transition:color var(--trans-fast),padding-left var(--trans-fast);
}
.nav__mobile-link:hover,.nav__mobile-link--active { color:var(--color-gold); padding-left:var(--sp-3); }
.nav__mobile-contact {
  display:flex; flex-direction:column; gap:var(--sp-3);
  margin-top:var(--sp-6); padding-top:var(--sp-6);
  border-top:1px solid rgba(255,255,255,.08);
}
.nav__mobile-contact a { display:flex; align-items:center; gap:var(--sp-3); font-size:var(--text-sm); color:rgba(255,255,255,.55); }
.nav__mobile-contact a i { color:var(--color-gold); width:16px; }

/* 7. Hero */
.hero {
  position:relative; min-height:100vh; min-height:100svh;
  display:flex; align-items:center; overflow:hidden; padding-top:var(--nav-height);
}
.hero__bg {
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(ellipse 80% 60% at 15% 50%,rgba(26,58,92,.9) 0%,transparent 70%),
    radial-gradient(ellipse 50% 40% at 85% 20%,rgba(201,168,76,.06) 0%,transparent 60%),
    linear-gradient(135deg,#0D1B2A 0%,#1A3A5C 55%,#0D1B2A 100%);
}
.hero__bg::after {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(201,168,76,.05) 1px,transparent 1px);
  background-size:40px 40px; animation:gridFloat 20s linear infinite;
}
.hero__content {
  position:relative; z-index:1; max-width:800px;
  padding:var(--sp-20) 0; animation:fadeInUp .9s var(--ease-out) forwards;
}
.hero__badge {
  display:inline-flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-5); border:1px solid rgba(201,168,76,.4);
  border-radius:var(--radius-full); font-size:var(--text-xs); font-weight:700;
  color:var(--color-gold); letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:var(--sp-6); background:rgba(201,168,76,.08);
}
.hero__title {
  font-family:var(--font-display); font-size:var(--text-hero);
  font-weight:700; line-height:1.08; color:var(--color-white);
  margin-bottom:var(--sp-6); letter-spacing:-.01em;
}
.hero__title .highlight { color:var(--color-gold); }
.hero__sub { font-size:var(--text-lg); color:rgba(255,255,255,.72); max-width:560px; line-height:1.7; margin-bottom:var(--sp-10); }
.hero__actions { display:flex; gap:var(--sp-4); flex-wrap:wrap; margin-bottom:var(--sp-10); }
.hero__trust-bar { display:flex; align-items:center; gap:var(--sp-5); flex-wrap:wrap; }
.trust-badge { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--text-xs); color:rgba(255,255,255,.55); font-weight:500; }
.trust-badge i { color:var(--color-gold); }
.trust-divider { width:1px; height:16px; background:rgba(255,255,255,.15); }
.hero__scroll {
  position:absolute; bottom:var(--sp-8); left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:var(--sp-2);
  color:rgba(255,255,255,.4); font-size:var(--text-xs); letter-spacing:.1em; text-transform:uppercase;
  z-index:1; animation:fadeIn 1s 1.5s ease both;
}
.hero__scroll-arrow {
  width:22px; height:22px;
  border-right:2px solid rgba(201,168,76,.5); border-bottom:2px solid rgba(201,168,76,.5);
  transform:rotate(45deg); animation:bounce 2s ease infinite; margin-top:4px;
}

/* 8. Cards */
.card {
  background:var(--color-card-glass);
  backdrop-filter:blur(16px) saturate(180%); -webkit-backdrop-filter:blur(16px) saturate(180%);
  border:1px solid var(--color-card-border); border-radius:var(--radius-lg);
  padding:var(--sp-8); transition:transform var(--trans-base),box-shadow var(--trans-base),border-color var(--trans-base);
  position:relative; overflow:hidden;
}
@supports not (backdrop-filter:blur(1px)) { .card { background:rgba(26,58,92,.7); } }
.card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,.4),transparent);
  opacity:0; transition:opacity var(--trans-base);
}
.card:hover { transform:translateY(-6px); box-shadow:var(--shadow-card),var(--shadow-gold); border-color:var(--color-card-hover); }
.card:hover::before { opacity:1; }
.card--light {
  background:var(--color-white); border-color:var(--color-gray-mid);
  backdrop-filter:none; -webkit-backdrop-filter:none;
}
.card--light:hover { border-color:rgba(201,168,76,.4); box-shadow:var(--shadow-md),var(--shadow-gold); }
.card__icon {
  width:56px; height:56px; border-radius:var(--radius-md);
  background:rgba(201,168,76,.1); border:1px solid rgba(201,168,76,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; color:var(--color-gold); margin-bottom:var(--sp-6);
  transition:background var(--trans-base),border-color var(--trans-base);
}
.card--light .card__icon { background:rgba(13,27,42,.06); color:var(--color-blue); border-color:rgba(13,27,42,.12); }
.card:hover .card__icon { background:rgba(201,168,76,.18); border-color:rgba(201,168,76,.4); }
.card__title { font-family:var(--font-display); font-size:var(--text-xl); font-weight:700; margin-bottom:var(--sp-3); color:var(--color-white); }
.card--light .card__title { color:var(--color-navy); }
.card__body { font-size:var(--text-sm); color:rgba(255,255,255,.65); line-height:1.75; }
.card--light .card__body { color:var(--color-muted); }
.card__list { margin-top:var(--sp-4); display:flex; flex-direction:column; gap:var(--sp-2); }
.card__list li { display:flex; align-items:center; gap:var(--sp-2); font-size:var(--text-sm); color:rgba(255,255,255,.65); }
.card--light .card__list li { color:var(--color-muted); }
.card__list li i { color:var(--color-gold); font-size:.7rem; flex-shrink:0; }
.card__link { display:inline-flex; align-items:center; gap:var(--sp-2); margin-top:var(--sp-5); font-size:var(--text-sm); font-weight:600; color:var(--color-gold); transition:gap var(--trans-fast); }
.card__link:hover { gap:var(--sp-3); }

/* 9. Feature Items */
.feature-item {
  padding:var(--sp-6); border-radius:var(--radius-lg);
  border:1px solid rgba(255,255,255,.06); background:rgba(26,58,92,.2);
  transition:background var(--trans-base),border-color var(--trans-base),transform var(--trans-base);
}
.feature-item:hover { background:rgba(26,58,92,.4); border-color:rgba(201,168,76,.2); transform:translateY(-4px); }
.feature-item--light { background:var(--color-white); border-color:var(--color-gray-mid); }
.feature-item--light:hover { border-color:rgba(201,168,76,.3); box-shadow:var(--shadow-md); }
.feature-item__icon {
  width:48px; height:48px; border-radius:var(--radius-md);
  background:rgba(201,168,76,.1); display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; color:var(--color-gold); margin-bottom:var(--sp-4);
}
.feature-item--light .feature-item__icon { background:rgba(13,27,42,.06); color:var(--color-blue); }
.feature-item__title { font-family:var(--font-body); font-size:var(--text-base); font-weight:700; margin-bottom:var(--sp-2); color:var(--color-white); }
.feature-item--light .feature-item__title { color:var(--color-navy); }
.feature-item__body { font-size:var(--text-sm); color:rgba(255,255,255,.55); line-height:1.65; }
.feature-item--light .feature-item__body { color:var(--color-muted); }

/* 10. Stats */
.stats {
  background:linear-gradient(135deg,var(--color-blue) 0%,var(--color-navy) 100%);
  padding:var(--sp-16) 0;
  border-top:1px solid rgba(201,168,76,.15); border-bottom:1px solid rgba(201,168,76,.15);
  position:relative; overflow:hidden;
}
.stats::before {
  content:''; position:absolute; top:-50%; right:-10%; width:500px; height:500px;
  border-radius:50%; border:1px solid rgba(201,168,76,.05); pointer-events:none;
}
.stats__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-8); text-align:center; }
.stats__item { position:relative; padding:var(--sp-4); }
.stats__item:not(:last-child)::after {
  content:''; position:absolute; right:0; top:20%; height:60%; width:1px;
  background:rgba(201,168,76,.2);
}
.stats__value { display:flex; align-items:baseline; justify-content:center; gap:4px; margin-bottom:var(--sp-2); }
.stats__number { font-family:var(--font-display); font-size:var(--text-4xl); font-weight:700; color:var(--color-gold); line-height:1; }
.stats__suffix { font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700; color:var(--color-gold-light); }
.stats__label { font-size:var(--text-xs); color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; font-weight:600; }

/* 11. Industries */
.industries-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:var(--sp-4); }
.industry-card {
  background:var(--color-white); border:1px solid var(--color-gray-mid);
  border-radius:var(--radius-lg); padding:var(--sp-6) var(--sp-4);
  text-align:center; transition:all var(--trans-base);
}
.industry-card:hover { border-color:var(--color-gold); transform:translateY(-4px); box-shadow:var(--shadow-md),var(--shadow-gold); }
.industry-card__icon { font-size:2rem; color:var(--color-blue); margin-bottom:var(--sp-3); transition:color var(--trans-fast); display:block; }
.industry-card:hover .industry-card__icon { color:var(--color-gold); }
.industry-card__name { font-family:var(--font-body); font-size:var(--text-sm); font-weight:600; color:var(--color-navy); line-height:1.3; }

/* 12. CTA Banner */
.cta-banner {
  background:linear-gradient(135deg,#070F18 0%,var(--color-blue) 50%,#070F18 100%);
  padding:var(--sp-20) 0; position:relative; overflow:hidden; text-align:center;
}
.cta-banner::before {
  content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px;
  border-radius:50%; border:1px solid rgba(201,168,76,.07); pointer-events:none;
}
.cta-banner::after {
  content:''; position:absolute; bottom:-80px; left:-80px; width:300px; height:300px;
  border-radius:50%; border:1px solid rgba(201,168,76,.05); pointer-events:none;
}
.cta-banner__inner { position:relative; z-index:1; max-width:680px; margin:0 auto; }
.cta-banner__title { font-family:var(--font-display); font-size:var(--text-3xl); font-weight:700; color:var(--color-white); margin-bottom:var(--sp-4); }
.cta-banner__sub { font-size:var(--text-base); color:rgba(255,255,255,.6); margin-bottom:var(--sp-8); }
.cta-banner__actions { display:flex; gap:var(--sp-4); justify-content:center; flex-wrap:wrap; }

/* 13. Footer */
.footer { background:var(--color-footer-bg); padding-top:var(--sp-16); border-top:1px solid rgba(255,255,255,.05); }
.footer__grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:var(--sp-10); padding-bottom:var(--sp-12); }
.footer__logo { display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-4); }
.footer__logo-icon {
  width:36px; height:36px;
  background:linear-gradient(135deg,var(--color-gold),var(--color-gold-light));
  border-radius:var(--radius-md); display:flex; align-items:center; justify-content:center;
  color:var(--color-navy); font-size:1rem; flex-shrink:0;
}
.footer__logo-name { font-family:var(--font-display); font-size:.95rem; font-weight:700; color:var(--color-white); }
.footer__desc { font-size:var(--text-sm); color:rgba(255,255,255,.45); line-height:1.7; margin-bottom:var(--sp-5); max-width:300px; }
.footer__social { display:flex; gap:var(--sp-3); }
.footer__social a {
  width:36px; height:36px; border-radius:var(--radius-full);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; color:rgba(255,255,255,.5); transition:all var(--trans-fast);
}
.footer__social a:hover { background:rgba(201,168,76,.15); border-color:rgba(201,168,76,.3); color:var(--color-gold); }
.footer__col-title { font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--color-gold); margin-bottom:var(--sp-4); }
.footer__links { display:flex; flex-direction:column; gap:var(--sp-2); }
.footer__links li a { font-size:var(--text-sm); color:rgba(255,255,255,.5); display:inline-block; padding:2px 0; transition:color var(--trans-fast),padding-left var(--trans-fast); }
.footer__links li a:hover { color:var(--color-white); padding-left:4px; }
.footer__contact { display:flex; flex-direction:column; gap:var(--sp-3); }
.footer__contact-item { display:flex; align-items:flex-start; gap:var(--sp-3); font-size:var(--text-sm); color:rgba(255,255,255,.5); }
.footer__contact-item i { color:var(--color-gold); font-size:.85rem; margin-top:3px; flex-shrink:0; }
.footer__bottom {
  border-top:1px solid rgba(255,255,255,.06); padding:var(--sp-5) 0;
  display:flex; align-items:center; justify-content:space-between; gap:var(--sp-4); flex-wrap:wrap;
}
.footer__copyright { font-size:var(--text-xs); color:rgba(255,255,255,.3); }
.footer__legal { display:flex; gap:var(--sp-5); }
.footer__legal li a { font-size:var(--text-xs); color:rgba(255,255,255,.3); transition:color var(--trans-fast); }
.footer__legal li a:hover { color:var(--color-gold); }

/* 14. Page Hero (Inner Pages) */
.page-hero {
  min-height:320px; padding-top:calc(var(--nav-height) + var(--sp-16));
  padding-bottom:var(--sp-12); display:flex; align-items:flex-end;
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,#070F18 0%,var(--color-blue) 60%,#0D1B2A 100%);
}
.page-hero::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(201,168,76,.05) 1px,transparent 1px);
  background-size:32px 32px; pointer-events:none;
}
.page-hero::after {
  content:''; position:absolute; top:-100px; right:-100px; width:350px; height:350px;
  border-radius:50%; border:1px solid rgba(201,168,76,.07); pointer-events:none;
}
.page-hero__inner { position:relative; z-index:1; }
.page-hero__breadcrumb {
  display:flex; align-items:center; gap:var(--sp-2); font-size:var(--text-xs);
  color:rgba(255,255,255,.45); margin-bottom:var(--sp-4);
  text-transform:uppercase; letter-spacing:.08em;
}
.page-hero__breadcrumb a { color:var(--color-gold); }
.page-hero__breadcrumb a:hover { opacity:.8; }
.page-hero__badge {
  display:inline-flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-1) var(--sp-4); border:1px solid rgba(201,168,76,.35);
  border-radius:var(--radius-full); font-size:var(--text-xs); font-weight:700;
  color:var(--color-gold); letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:var(--sp-4); background:rgba(201,168,76,.08);
}
.page-hero__title { font-family:var(--font-display); font-size:var(--text-4xl); font-weight:700; color:var(--color-white); margin-bottom:var(--sp-3); line-height:1.1; }
.page-hero__sub { font-size:var(--text-lg); color:rgba(255,255,255,.6); max-width:560px; }

/* 15. Intro Block */
.intro-block { max-width:820px; margin:0 auto; text-align:center; }
.intro-block__title { font-family:var(--font-display); font-size:var(--text-3xl); font-weight:700; color:var(--color-navy); margin-bottom:var(--sp-4); }
.intro-block__text { font-size:var(--text-base); color:var(--color-muted); line-height:1.75; margin-bottom:var(--sp-8); }
.intro-badges { display:flex; justify-content:center; gap:var(--sp-4); flex-wrap:wrap; }
.intro-badge {
  display:inline-flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-4); background:rgba(13,27,42,.06);
  border:1px solid rgba(13,27,42,.12); border-radius:var(--radius-full);
  font-size:var(--text-xs); font-weight:600; color:var(--color-navy); letter-spacing:.05em;
}
.intro-badge i { color:var(--color-gold); }

/* 16. Service Blocks (Security Page) */
.service-blocks { display:flex; flex-direction:column; }
.service-block {
  display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-12);
  align-items:center; padding:var(--sp-12) 0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.service-block:last-child { border-bottom:none; }
.service-block--reverse { direction:rtl; }
.service-block--reverse > * { direction:ltr; }
.service-block__number { font-family:var(--font-display); font-size:clamp(3rem,8vw,5.5rem); font-weight:700; color:rgba(201,168,76,.07); line-height:1; display:block; margin-bottom:var(--sp-2); }
.service-block__title { font-family:var(--font-display); font-size:var(--text-2xl); font-weight:700; color:var(--color-white); margin-bottom:var(--sp-4); }
.service-block__desc { font-size:var(--text-base); color:rgba(255,255,255,.65); line-height:1.75; margin-bottom:var(--sp-5); }
.service-block__features { display:flex; flex-direction:column; gap:var(--sp-2); }
.service-block__features li { display:flex; align-items:center; gap:var(--sp-3); font-size:var(--text-sm); color:rgba(255,255,255,.65); }
.service-block__features li i { color:var(--color-gold); font-size:.75rem; flex-shrink:0; }
.service-block__visual {
  border-radius:var(--radius-xl); overflow:hidden; aspect-ratio:4/3;
  background:linear-gradient(135deg,rgba(26,58,92,.6),rgba(13,27,42,.8));
  border:1px solid rgba(201,168,76,.12); display:flex; align-items:center; justify-content:center;
  position:relative;
}
.service-block__visual::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(201,168,76,.04) 1px,transparent 1px);
  background-size:24px 24px;
}
.service-block__visual-icon { font-size:clamp(4rem,8vw,6rem); color:rgba(201,168,76,.14); position:relative; z-index:1; }

/* 17. SIA Section */
.sia-section {
  background:linear-gradient(135deg,rgba(26,58,92,.4),rgba(13,27,42,.6));
  border:1px solid rgba(201,168,76,.15); border-radius:var(--radius-xl);
  padding:var(--sp-12); display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-10); align-items:center;
}
.sia-section__title { font-family:var(--font-display); font-size:var(--text-2xl); color:var(--color-white); margin-bottom:var(--sp-4); }
.sia-section__text { font-size:var(--text-sm); color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:var(--sp-6); }
.sia-badges { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.sia-badge-card {
  background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2);
  border-radius:var(--radius-lg); padding:var(--sp-4); text-align:center;
}
.sia-badge-card i { font-size:1.5rem; color:var(--color-gold); margin-bottom:var(--sp-2); display:block; }
.sia-badge-card span { font-size:var(--text-xs); color:rgba(255,255,255,.6); font-weight:600; text-transform:uppercase; letter-spacing:.08em; }

/* 18. Process Timeline */
.process-steps { display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.process-steps::before {
  content:''; position:absolute; top:27px; left:12.5%; width:75%; height:2px;
  background:linear-gradient(90deg,var(--color-gold),var(--color-gold-light),var(--color-gold));
  opacity:.35; z-index:0;
}
.process-step { text-align:center; padding:var(--sp-4); position:relative; z-index:1; }
.process-step__number {
  width:56px; height:56px; border-radius:var(--radius-full);
  background:var(--color-gold); color:var(--color-navy);
  font-family:var(--font-display); font-size:var(--text-lg); font-weight:700;
  display:flex; align-items:center; justify-content:center; margin:0 auto var(--sp-4);
  box-shadow:0 0 0 6px rgba(201,168,76,.12);
}
.process-step__icon { font-size:1.5rem; color:var(--color-blue); margin-bottom:var(--sp-3); }
.process-step__title { font-size:var(--text-base); font-weight:700; color:var(--color-navy); margin-bottom:var(--sp-2); }
.process-step__desc { font-size:var(--text-sm); color:var(--color-muted); line-height:1.6; }

/* 19. About Page */
.about__visual-col { position:relative; min-height:420px; }
.about__image-main {
  width:85%; height:72%; border-radius:var(--radius-xl);
  background:linear-gradient(135deg,var(--color-blue),var(--color-navy));
  border:1px solid rgba(201,168,76,.2); position:absolute; top:0; right:0;
  display:flex; align-items:center; justify-content:center;
}
.about__image-main i { font-size:5rem; color:rgba(201,168,76,.14); }
.about__image-accent {
  width:52%; height:42%; border-radius:var(--radius-xl);
  background:linear-gradient(135deg,rgba(201,168,76,.12),rgba(26,58,92,.5));
  border:1px solid rgba(201,168,76,.25); position:absolute; bottom:0; left:0;
  display:flex; align-items:center; justify-content:center;
}
.about__image-accent i { font-size:2.5rem; color:rgba(201,168,76,.3); }
.about__floating-badge {
  position:absolute; bottom:28%; left:42%; z-index:2;
  background:var(--color-gold); color:var(--color-navy);
  padding:var(--sp-3) var(--sp-4); border-radius:var(--radius-lg);
  font-size:var(--text-xs); font-weight:700; text-align:center;
  box-shadow:var(--shadow-lg); white-space:nowrap;
}
.about__credentials { display:flex; gap:var(--sp-3); flex-wrap:wrap; margin-top:var(--sp-6); }
.about__cred-badge {
  display:flex; align-items:center; gap:var(--sp-2);
  padding:var(--sp-2) var(--sp-4); background:rgba(13,27,42,.06);
  border:1px solid rgba(13,27,42,.1); border-radius:var(--radius-full);
  font-size:var(--text-xs); font-weight:600; color:var(--color-navy);
}
.about__cred-badge i { color:var(--color-gold); }
.mv-card {
  padding:var(--sp-8); border-radius:var(--radius-xl);
  background:rgba(26,58,92,.3); border:1px solid rgba(255,255,255,.07);
  border-left:4px solid var(--color-gold);
}
.mv-card__icon {
  width:52px; height:52px; border-radius:var(--radius-md);
  background:rgba(201,168,76,.1); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:var(--color-gold); margin-bottom:var(--sp-5);
}
.mv-card__title { font-family:var(--font-display); font-size:var(--text-2xl); color:var(--color-white); margin-bottom:var(--sp-4); }
.mv-card__text { font-size:var(--text-base); color:rgba(255,255,255,.65); line-height:1.75; }

/* 20. Contact Form */
.contact-layout { display:grid; grid-template-columns:1.4fr 1fr; gap:var(--sp-10); align-items:start; }
.form-group { position:relative; margin-bottom:var(--sp-5); }
.form-label {
  position:absolute; left:1rem; top:1rem; font-size:var(--text-sm);
  color:rgba(255,255,255,.4); transition:all var(--trans-fast); pointer-events:none; padding:0 .25rem;
}
.form-input:focus + .form-label,
.form-input:not(:placeholder-shown) + .form-label,
.form-select:focus + .form-label,
.form-textarea:focus + .form-label,
.form-textarea:not(:placeholder-shown) + .form-label {
  top:-.55rem; font-size:var(--text-xs); color:var(--color-gold); background:var(--color-navy);
}
.form-select + .form-label { top:-.55rem; font-size:var(--text-xs); color:var(--color-gold); background:var(--color-navy); }
.form-input,.form-select,.form-textarea {
  width:100%; padding:1rem; background:rgba(26,58,92,.25);
  border:1px solid rgba(255,255,255,.1); border-radius:var(--radius-md);
  color:var(--color-white); font-size:var(--text-base);
  transition:border-color var(--trans-fast),box-shadow var(--trans-fast),background var(--trans-fast);
  -webkit-appearance:none; appearance:none;
}
.form-input::placeholder,.form-textarea::placeholder { color:transparent; }
.form-input:focus,.form-select:focus,.form-textarea:focus {
  outline:none; border-color:var(--color-gold);
  box-shadow:0 0 0 3px rgba(201,168,76,.1); background:rgba(26,58,92,.4);
}
.form-select {
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1rem center; padding-right:2.5rem;
}
.form-select option { background:var(--color-blue); color:var(--color-white); }
.form-textarea { resize:vertical; min-height:130px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--sp-4); }
.form-checkbox-group { display:flex; align-items:flex-start; gap:var(--sp-3); margin-bottom:var(--sp-5); }
.form-checkbox { width:18px; height:18px; accent-color:var(--color-gold); flex-shrink:0; margin-top:2px; cursor:pointer; }
.form-checkbox-label { font-size:var(--text-xs); color:rgba(255,255,255,.5); line-height:1.6; }
.form-checkbox-label a { color:var(--color-gold); }
.form-group--error .form-input,
.form-group--error .form-select,
.form-group--error .form-textarea { border-color:#e74c3c; }
.form-error { font-size:var(--text-xs); color:#e74c3c; margin-top:var(--sp-2); display:flex; align-items:center; gap:4px; }
.contact-info-card {
  background:var(--color-card-glass); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--color-card-border); border-radius:var(--radius-xl); padding:var(--sp-8);
  position:sticky; top:calc(var(--nav-height) + var(--sp-6));
}
.contact-info-card__title { font-family:var(--font-display); font-size:var(--text-xl); color:var(--color-white); margin-bottom:var(--sp-6); padding-bottom:var(--sp-4); border-bottom:1px solid rgba(201,168,76,.2); }
.contact-info-items { display:flex; flex-direction:column; gap:var(--sp-5); margin-bottom:var(--sp-6); }
.contact-info-item { display:flex; gap:var(--sp-4); }
.contact-info-item__icon { width:40px; height:40px; border-radius:var(--radius-md); background:rgba(201,168,76,.1); display:flex; align-items:center; justify-content:center; color:var(--color-gold); flex-shrink:0; }
.contact-info-item__label { font-size:var(--text-xs); color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:.08em; font-weight:600; margin-bottom:4px; }
.contact-info-item__value { font-size:var(--text-sm); color:rgba(255,255,255,.8); font-weight:500; }
.contact-info-item__value a:hover { color:var(--color-gold); }
.contact-response-badge {
  background:rgba(201,168,76,.08); border:1px solid rgba(201,168,76,.2); border-radius:var(--radius-lg);
  padding:var(--sp-4); display:flex; align-items:center; gap:var(--sp-3);
  font-size:var(--text-sm); color:var(--color-gold); font-weight:600; margin-bottom:var(--sp-5);
}
.form-success { text-align:center; padding:var(--sp-12) var(--sp-8); animation:fadeInUp .5s var(--ease-out); }
.form-success__icon { font-size:3.5rem; color:#4ade80; margin-bottom:var(--sp-4); }
.form-success h3 { font-family:var(--font-display); font-size:var(--text-2xl); color:var(--color-white); margin-bottom:var(--sp-3); }
.form-success p { font-size:var(--text-base); color:rgba(255,255,255,.6); }

/* 21. Scroll Reveal */
[data-reveal] { opacity:0; transform:translateY(30px); transition:opacity .65s var(--ease-out),transform .65s var(--ease-out); }
[data-reveal="left"]  { transform:translateX(-30px); }
[data-reveal="right"] { transform:translateX(30px); }
[data-reveal="scale"] { transform:scale(.93); }
[data-reveal="fade"]  { transform:none; }
[data-reveal].is-visible { opacity:1; transform:none; }

/* 22. Keyframes */
@keyframes fadeInUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes gridFloat { from{background-position:0 0} to{background-position:40px 40px} }
@keyframes bounce { 0%,100%{transform:rotate(45deg) translateY(0)} 50%{transform:rotate(45deg) translateY(6px)} }

/* 23. Responsive */
@media (max-width:1023px) {
  .footer__grid { grid-template-columns:1fr 1fr; gap:var(--sp-8); }
  .industries-grid { grid-template-columns:repeat(3,1fr); }
  .stats__grid { grid-template-columns:repeat(2,1fr); }
  .stats__item:not(:last-child)::after { display:none; }
  .contact-layout { grid-template-columns:1fr; }
  .contact-info-card { position:static; }
  .sia-section { grid-template-columns:1fr; }
  .sia-badges { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:767px) {
  .nav__links,.nav__cta { display:none; }
  .nav__hamburger { display:flex; }
  .grid-2,.grid-3,.grid-4 { grid-template-columns:1fr; }
  .service-block { grid-template-columns:1fr; gap:var(--sp-6); padding:var(--sp-8) 0; }
  .service-block--reverse { direction:ltr; }
  .service-block__visual { aspect-ratio:16/7; }
  .about__visual-col { min-height:280px; }
  .industries-grid { grid-template-columns:repeat(2,1fr); }
  .footer__grid { grid-template-columns:1fr; gap:var(--sp-6); }
  .process-steps { grid-template-columns:1fr; gap:var(--sp-6); }
  .process-steps::before { top:0; left:27px; width:2px; height:100%; background:linear-gradient(180deg,var(--color-gold),var(--color-gold-light)); }
  .process-step { display:grid; grid-template-columns:56px 1fr; gap:var(--sp-4); text-align:left; align-items:start; }
  .process-step__number { margin:0; }
  .form-row { grid-template-columns:1fr; }
  .sia-badges { grid-template-columns:1fr 1fr; }
  .hero__actions { flex-direction:column; gap:var(--sp-3); }
  .hero__actions .btn { width:100%; max-width:320px; }
}
@media (max-width:479px) {
  .section { padding:var(--sp-12) 0; }
  .industries-grid { grid-template-columns:1fr 1fr; }
  .stats__grid { grid-template-columns:1fr 1fr; }
  .cta-banner__actions { flex-direction:column; align-items:center; }
  .trust-divider { display:none; }
  .footer__bottom { flex-direction:column; text-align:center; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
  html { scroll-behavior:auto; }
}
