/* ============================================================
   AI STRATEGY ADVISORS — Landing page additions
   Supplements site.css. Do not modify site.css.
   All landing-page-specific components live here.
   ============================================================ */

/* ---- Extra token: brightened rust for navy backgrounds ---- */
:root {
  --accent-navy: #e07a47;
}

/* Page base — parchment so stats and credentials sections inherit it naturally */
body { background: var(--paper-2); }

/* ====== FULL-WIDTH STICKY NAV ============================== */

.lp-nav {
  position: sticky; top: 0; z-index: 50; width: 100%;
  background: rgba(20, 42, 70, 0.90);
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  transition: background 220ms var(--ease-subtle),
              border-color 220ms var(--ease-subtle);
}
.lp-nav.off-navy {
  background: rgba(250, 247, 242, 0.95);
  border-bottom-color: var(--soft);
}

.lp-nav-inner {
  max-width: 1180px; margin: 0 auto;
  padding: 0 56px; height: 58px;
  display: flex; align-items: center; justify-content: space-between;
}

/* Logo */
.lp-brand { display: flex; align-items: center; text-decoration: none; }
.lp-brand img {
  height: 32px; display: block;
  filter: brightness(0) invert(1);
  transition: filter 220ms var(--ease-subtle);
}
.lp-nav.off-navy .lp-brand img { filter: none; }

/* Nav links */
.lp-links {
  display: flex; align-items: center; gap: 28px;
}
.lp-links a {
  font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(220,228,240,0.72); text-decoration: none;
  transition: color 140ms var(--ease-subtle);
}
.lp-links a:hover { color: #fff; }
.lp-nav.off-navy .lp-links a { color: var(--muted); }
.lp-nav.off-navy .lp-links a:hover { color: var(--accent); }

/* Filled CTA button in nav */
.lp-nav-cta {
  padding: 8px 16px !important;
  background: var(--accent-navy) !important;
  border: 1.5px solid var(--accent-navy) !important;
  color: #fff !important;
  transition: filter 140ms var(--ease-subtle) !important;
}
.lp-nav-cta:hover {
  filter: brightness(1.18) !important; /* lighten — matches link behavior on dark nav */
}
.lp-nav.off-navy .lp-nav-cta {
  background: var(--accent) !important;    /* deeper rust on light background */
  border-color: var(--accent) !important;
  color: #fff !important;
}
.lp-nav.off-navy .lp-nav-cta:hover {
  filter: brightness(0.88) !important; /* darken — orange on light bg */
}

/* ====== HERO BAND =========================================== */

.lp-hero {
  background: var(--navy);
  position: relative; overflow: hidden;
  padding: 72px 0 64px;
}
.lp-hero-grid {
  /* Pinned to the content left/right edges so grid lines align with horizontal rules */
  /* Hidden for now — remove display:none to re-enable */
  display: none;
  position: absolute;
  top: 0; bottom: 0;
  left: max(56px, calc(50% - 534px));
  right: max(56px, calc(50% - 534px));
  pointer-events: none;
  border-left: 1px solid rgba(255,255,255,0.10);
  border-right: 1px solid rgba(255,255,255,0.10);
  background-image: linear-gradient(to right, rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 96px 100%;
}
.lp-hero-inner {
  max-width: 1180px; margin: 0 auto;
  padding: 0 56px;
  position: relative; z-index: 1;
}

/* Hero kicker with leading rule */
.lp-kicker {
  font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--accent-navy); font-weight: 500;
  display: flex; align-items: center; gap: 14px;
  margin-bottom: 20px;
}
.lp-kicker::before {
  content: ''; width: 32px; height: 1px;
  background: var(--accent-navy); flex-shrink: 0;
}

/* Hero headline — constrained to left editorial column */
.lp-hero h1.hero {
  color: #fff;
  font-size: clamp(48px, 5.2vw, 72px);
  margin-bottom: 24px;
  max-width: 720px;
}
.lp-hero h1.hero em { color: var(--accent-navy); }

/* Hero dek — shares the same left column as the headline */
.lp-hero .dek {
  color: rgba(244,239,230,0.85);
  max-width: 720px;
  margin-bottom: 12px;
}

/* Small footnote line below dek */
.lp-footnote {
  font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(220,228,240,0.4);
  margin-bottom: 40px;
}

/* Divider rule */
.lp-hero-rule {
  border: none;
  border-top: 1px solid rgba(255,255,255,0.14);
  margin: 0 0 0;
}

/* Pull quote inside hero — override site.css ink rules with ghost rules */
.lp-hero .pull {
  border-top-color: rgba(255,255,255,0.14);
  border-bottom-color: rgba(255,255,255,0.14);
  padding: 32px 0;
  margin: 0 0 40px;
}
.lp-hero .pull blockquote {
  color: #f4efe6;
  font-size: clamp(20px, 2.6vw, 28px);
}
.lp-hero .pull blockquote em { color: var(--accent-navy); }
.lp-hero .pull .attrib { color: rgba(220,228,240,0.45); }

/* Scroll indicator */
.lp-scroll {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(220,228,240,0.35);
  display: flex; align-items: center; gap: 12px;
}
.lp-scroll::before {
  content: ''; display: block;
  width: 24px; height: 1px;
  background: rgba(220,228,240,0.25);
}

/* ====== STATS STRIP (below hero, top of .wrap) ============== */

/* Override .wrap padding for this page */
.lp-main { padding-top: 0; padding-bottom: 0; }

/* Suppress .section vertical margin inside lp-main —
   band padding already provides inter-section breathing room.
   Without this, section margins double up with band padding
   creating 150-160px gaps. */
.lp-main .section { margin: 0; }

/* Credentials section: padding (not margin) avoids doubling with band padding.
   Top: 80px (services) + 56px = 136px cross-transition (matches hero→stats).
   Bottom: 48px parchment + 88px CTA padding = 136px cross-transition. */
#credentials { padding-top: 56px; padding-bottom: 48px; }

/* Transition header — breathing room between hero and stats */
.lp-stats-header {
  padding-top: 72px;
  padding-bottom: 28px;
}

.lp-stats {
  border-top: 1px solid var(--ink);   /* re-added: frames the stats strip on both sides */
  border-bottom: 1px solid var(--ink);
  margin-top: 0;
  margin-bottom: 0;
}
.lp-stats-note {
  font-family: var(--font-serif); font-style: italic;
  color: var(--muted); font-size: 15px;
  text-align: center; margin: 12px 0 40px;
  /* 40px below note + 80px services band padding-top = 120px total gap */
}

/* Stats number size — brief minimum 52px, override site.css 38px default */
.finding .num { font-size: clamp(46px, 4.2vw, 58px); }

/* ====== SERVICES BAND — full-width paper section ============ */

.lp-services-band {
  background: var(--paper);
  padding: 80px 56px;
}
.lp-services-inner {
  max-width: 1180px;
  margin: 0 auto;
}

/* Text on light grey background — use standard dark tokens */
.lp-services-band .section-label { color: var(--accent); }
.lp-services-band h2 { color: var(--ink); max-width: none; }
.lp-services-band h2 em { color: var(--accent); }
.lp-services-band .lede { color: var(--muted); }

/* ====== SERVICE CARDS ======================================= */

.lp-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 48px;
}
.lp-service-card {
  background: var(--paper-2);
  border: 1px solid rgba(30,58,95,0.12);
  border-top: 3px solid var(--accent);
  padding: 28px;
  transition: transform 240ms var(--ease-standard),
              box-shadow 240ms var(--ease-standard);
}
.lp-service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(30,58,95,0.15);
}
.lp-card-num {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 10px;
}
.lp-card-headline {
  font-family: var(--font-serif); font-weight: 500;
  font-size: 32px; line-height: 1.1;
  color: var(--navy);
  margin-bottom: 14px;
}
.lp-card-pos {
  font-family: var(--font-sans); font-size: 17px;
  font-weight: 600; line-height: 1.4;
  color: var(--ink);
  margin-bottom: 10px;
}
.lp-card-qual {
  font-family: var(--font-serif); font-style: italic;
  color: var(--muted); font-size: 15px;
  margin-bottom: 24px; line-height: 1.5;
}
.lp-card-list {
  list-style: none; padding: 0;
  border-top: 1px solid rgba(30,58,95,0.15);
}
.lp-card-list li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(30,58,95,0.15);
  font-family: var(--font-sans); font-size: 17px;
  color: var(--ink);
  line-height: 1.5;
}
.lp-card-list li:last-child { border-bottom: none; }
.lp-card-list li strong { font-weight: 600; color: var(--ink); }

/* ====== CTA BAND (full-width, outside .wrap) ================ */

.lp-cta-band {
  background: var(--navy);
  padding: 88px 56px;
  text-align: center;
  position: relative; overflow: hidden;
}
.lp-cta-band-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(to right, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 96px 100%;
}
.lp-cta-inner {
  max-width: 640px; margin: 0 auto;
  position: relative; z-index: 1;
}
.lp-cta-eyebrow {
  font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(255,255,255,0.4); margin-bottom: 24px;
}
.lp-cta-band h2 {
  color: #fff; max-width: none;
  font-size: clamp(30px, 3.8vw, 48px);
  margin-bottom: 20px;
}
.lp-cta-band h2 em { color: var(--accent-navy); }
.lp-cta-sub {
  font-family: var(--font-sans); font-size: 17px;
  color: rgba(255,255,255,0.7); line-height: 1.55;
  max-width: 520px; margin: 0 auto 40px;
}
.lp-cta-contact {
  font-family: var(--font-mono); font-size: 11px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(255,255,255,0.35); margin-top: 28px;
}
.lp-cta-band a.btn { text-decoration: none; }

/* ====== FOOTER (full-width, dark) =========================== */

.lp-footer {
  background: var(--navy-deep);
  padding: 56px;
  margin-top: 0;
  /* Reset site.css footer rule that applies mono uppercase to all <footer> elements */
  font-family: var(--font-sans);
  font-size: 15px;
  text-transform: none;
  letter-spacing: normal;
  color: var(--paper);
  border-top: none;
}
.lp-footer-inner {
  max-width: 1180px; margin: 0 auto;
  display: flex; justify-content: space-between;
  align-items: flex-start; gap: 48px; flex-wrap: wrap;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.lp-footer-brand img {
  height: 24px; margin-bottom: 14px; display: block;
  filter: brightness(0) invert(1); opacity: 0.75;
}
.lp-footer-desc {
  font-family: var(--font-sans); font-size: 14px;
  color: rgba(220,228,240,0.5); max-width: 300px;
  line-height: 1.55;
}
.lp-footer-cols {
  display: flex; gap: 56px;
}
.lp-footer-col h5 {
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(220,228,240,0.4); margin-bottom: 16px;
  font-weight: 500;
}
.lp-footer-col a {
  display: block; font-family: var(--font-mono); font-size: 10.5px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(220,228,240,0.65); text-decoration: none;
  margin-bottom: 10px;
  transition: color 140ms var(--ease-subtle);
}
.lp-footer-col a:hover { color: var(--accent-navy); }
.lp-footer-base {
  max-width: 1180px; margin: 24px auto 0;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px;
  font-family: var(--font-mono); font-size: 10px;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: rgba(220,228,240,0.3);
}

/* ====== CREDENTIALS SECTION ================================= */

/* Exec summary card — white against the parchment section */
.exec-summary { background: var(--paper); }

/* Findings strip on paper — keep 3-col variant */
.lp-cred-findings {
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink);  /* mirrors the border-bottom */
}

/* Two-column proof points below findings */
.lp-cred-cols {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid var(--soft);
}
.lp-cred-col .section-label {
  margin-bottom: 14px;
}
.lp-cred-col .body {
  margin-top: 0;
}

/* ====== LOGO STRIP ========================================== */

/* Normalize visual weight across all three logos */
.toc img {
  filter: grayscale(1) opacity(0.55);
  height: 30px;
  display: block;
}

/* ====== RESPONSIVE ========================================== */

@media (max-width: 960px) {
  .lp-service-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  .lp-nav-inner { padding: 0 20px; }
  .lp-hero-inner { padding: 0 24px; }
  .lp-services-band { padding: 56px 24px; }
  .lp-service-grid { grid-template-columns: 1fr; }
  .lp-cta-band { padding: 64px 24px; }
  .lp-footer { padding: 40px 24px; }
  .lp-footer-cols { gap: 32px; }
  .lp-links .lp-hide-mobile { display: none; }
  .lp-main { padding-left: 24px; padding-right: 24px; }
  .lp-cred-cols { grid-template-columns: 1fr; gap: 32px; }
}
