:root {
  --navy: #071526;
  --gold: #dca522;
  --silver: #d8d9dc;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: linear-gradient(180deg, #f5f6f7 0%, #d8d9dc 100%);
  color: var(--navy);
  font-family: Arial, Helvetica, sans-serif;
}

a, button { -webkit-tap-highlight-color: transparent; }

.nav-link {
  position: relative;
  color: #314054;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: color 0.18s ease;
}

.nav-link::after {
  position: absolute;
  right: 0;
  bottom: -0.7rem;
  left: 0;
  height: 1px;
  content: "";
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.18s ease;
}

.nav-link:hover { color: var(--navy); }
.nav-link:hover::after { transform: scaleX(1); transform-origin: left; }

.hero-grid {
  background-image:
    linear-gradient(rgba(7, 21, 38, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7, 21, 38, 0.035) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, transparent, black 20%, black 80%, transparent);
}

.hero-glow {
  background: radial-gradient(circle, rgba(220, 165, 34, 0.16), rgba(220, 165, 34, 0) 67%);
  filter: blur(10px);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: #946b08;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.eyebrow::before {
  width: 2.5rem;
  height: 1px;
  content: "";
  background: #b6840d;
}

.eyebrow-light { color: #e4b744; }
.eyebrow-light::before { background: #e4b744; }

.service-card {
  overflow: hidden;
  border: 1px solid #c9cdd2;
  border-radius: 1.6rem;
  background: #f9fafb;
  padding: 1.75rem;
  box-shadow: 0 16px 40px rgba(7, 21, 38, 0.07);
  transition: transform 0.3s, border-color 0.3s, background 0.3s;
}

.service-card:hover {
  border-color: #c3972d;
  background: #fff;
  transform: translateY(-0.25rem);
}

.service-photo {
  height: 185px;
  margin: -1.75rem -1.75rem 1.5rem;
  background-image:
    linear-gradient(to top, rgba(7, 21, 38, 0.12), transparent 45%),
    url("../images/service-photo-grid.webp");
  background-repeat: no-repeat;
  background-size: 300% 200%;
}

.service-photo.p1 { background-position: 0% 0%; }
.service-photo.p2 { background-position: 50% 0%; }
.service-photo.p3 { background-position: 100% 0%; }
.service-photo.p4 { background-position: 0% 100%; }
.service-photo.p5 { background-position: 50% 100%; }
.service-photo.p6 { background-position: 100% 100%; }

.service-code {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 0.75rem;
  background: var(--navy);
  color: #e4b744;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.service-number { color: #8a919b; font-size: 0.75rem; font-weight: 700; }
.service-title { margin-top: 2rem; color: var(--navy); font-size: 1.25rem; font-weight: 800; letter-spacing: -0.02em; }
.service-copy { margin-top: 0.75rem; color: #566172; font-size: 0.875rem; line-height: 1.5rem; }
.service-link { display: inline-flex; margin-top: 1.75rem; color: #9a6f08; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }

.sector-card { background: #0a1a2d; padding: 2.25rem; }
.sector-number { color: var(--gold); font-size: 0.75rem; font-weight: 900; letter-spacing: 0.18em; }
.sector-title { margin-top: 2.5rem; font-size: 1.5rem; font-weight: 800; letter-spacing: -0.03em; }
.sector-copy { min-height: 5rem; margin-top: 1rem; color: #aeb7c2; font-size: 0.875rem; line-height: 1.5rem; }

.sector-list {
  display: grid;
  gap: 0.75rem;
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: #d5dae0;
  font-size: 0.875rem;
  font-weight: 600;
}

.sector-list li { display: flex; align-items: center; gap: 0.75rem; }
.sector-list li::before { width: 0.375rem; height: 0.375rem; border-radius: 999px; content: ""; background: var(--gold); }

.benefit-card { border: 1px solid #c8cbd0; border-radius: 1rem; background: #f0f1f2; padding: 1.25rem; }
.benefit-card span { display: block; width: 0.5rem; height: 0.5rem; margin-bottom: 1rem; border-radius: 999px; background: var(--gold); }
.benefit-card h3 { color: var(--navy); font-size: 0.875rem; font-weight: 800; }
.benefit-card p { margin-top: 0.5rem; color: #626b78; font-size: 0.875rem; line-height: 1.5rem; }

.process-card { position: relative; overflow: hidden; border: 1px solid #b8bbc1; border-radius: 1.6rem; background: #e7e8ea; padding: 2rem; }
.process-card .step { display: inline-flex; border-radius: 999px; background: var(--gold); padding: 0.4rem 0.75rem; color: var(--navy); font-size: 0.625rem; font-weight: 900; letter-spacing: 0.16em; }
.process-card h3 { margin-top: 3rem; color: var(--navy); font-size: 1.25rem; font-weight: 800; letter-spacing: -0.025em; }
.process-card p { margin-top: 0.75rem; color: #596474; font-size: 0.875rem; line-height: 1.5rem; }

::selection { background: var(--gold); color: var(--navy); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; }
}


/* Header and service line stay together while the page scrolls. */
.site-header-stack {
  position: sticky;
  top: 0;
  z-index: 50;
}

.site-header-stack > header {
  position: relative !important;
}

/* Fixed service line: simple, visible and crawlable. */
.service-ticker {
  overflow: hidden;
  background: #eef0f2;
  border-bottom: 1px solid #c8cdd2;
  color: #071526;
  white-space: nowrap;
}
.service-ticker-track {
  display: flex;
  width: max-content;
  align-items: center;
}
.service-ticker p {
  margin: 0;
  padding: .55rem 1.5rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Service ticker: fixed service list + continuously moving customer message. */
.service-ticker {
  display: flex;
  align-items: stretch;
  width: 100%;
  overflow: hidden;
  background: #eef0f2;
  border-bottom: 1px solid #c8cdd2;
  color: #071526;
  white-space: nowrap;
}
.service-ticker-fixed {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
  padding: .55rem 1.25rem;
  background: #eef0f2;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  box-shadow: 8px 0 14px rgba(7,21,38,.06);
}
.service-ticker-moving {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.service-ticker-track {
  display: inline-flex;
  width: max-content;
  min-width: max-content;
  align-items: center;
  gap: 1.75rem;
  animation: experts-force-ticker 30s linear infinite;
}
.service-ticker-track p {
  margin: 0;
  padding: .55rem 0;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: none;
}
.service-ticker-track > span { color: var(--gold); font-weight: 900; }
@keyframes experts-force-ticker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (max-width: 900px) {
  .service-ticker-fixed { padding-left: .75rem; padding-right: .75rem; font-size: .62rem; }
  .service-ticker-track p { font-size: .62rem; }
}
@media (prefers-reduced-motion: reduce) {
  .service-ticker-track { animation: none; }
}


.social-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid rgba(255,255,255,.14);border-radius:.75rem;color:#aeb7c2;transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease}
.social-icon:hover{color:#e4b744;background:rgba(228,183,68,.08);border-color:rgba(228,183,68,.45);transform:translateY(-2px)}
