/* =========================================================
   EVERCORE — shared design system
   ========================================================= */
:root{
  --navy:#0D2B55;
  --navy-deep:#071a38;
  --gold:#C8A84B;
  --gold-light:#e0c37c;
  --gold-deep:#A6791A; /* readable yellow-gold for text on light backgrounds */
  --blue:#1A6BAB;
  --silver:#94A3B8;
  --ink:#101722;
  --paper:#F7F8FA;
  --paper-alt:#EDF0F4;
  --line:#E1E6ED;
  --line-dark:rgba(255,255,255,0.12);
  --ok:#4CAF7D;
  --amber:#E2A73E;
  --danger:#D1495B;
  --font-display:'Plus Jakarta Sans',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-mono:'Roboto Mono',monospace;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img,svg{display:block;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){ .wrap{padding:0 20px;} }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);font-weight:600;font-size:15px;
  padding:13px 26px;border-radius:10px;border:1.5px solid transparent;
  cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(1px);}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-light);box-shadow:0 6px 18px rgba(200,168,75,0.35);}
.btn-ghost{background:transparent;color:var(--paper);border-color:#7B93B0;}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold);}
.btn-nav-outline{
  /* Metallic gold matching the hero headline, with a breathing aura */
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  color:var(--navy-deep);
  border-color:rgba(253,246,216,0.35);
  padding:10px 18px;font-size:14px;
  animation:btnBreath 3.2s ease-in-out infinite;
}
.btn-nav-outline:hover{
  background:linear-gradient(180deg, #ecd396 0%, var(--gold-light) 55%, #c8a84b 100%);
  border-color:rgba(253,246,216,0.5);color:var(--navy-deep);
  animation-play-state:paused;
  box-shadow:0 0 28px rgba(224,195,124,0.6), 0 6px 18px rgba(0,0,0,0.3);
}
.btn-outline-navy{background:transparent;color:var(--navy);border-color:var(--navy);border-radius:10px;}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}
.btn-block{width:100%;justify-content:center;}

/* ---------- Header / Nav ---------- */
header{
  position:sticky;top:0;z-index:100;
  /* Transparent glass — hero engine + HUD flow up behind it */
  background:rgba(6,18,36,0.30);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(142,200,245,0.08);
  transition:background .3s ease, border-color .3s ease;
}
/* Stronger tint once the page scrolls, so links stay readable over light sections */
header.scrolled,
header.menu-open{
  background:rgba(6,18,36,0.88);
  border-bottom:1px solid rgba(142,200,245,0.12);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:72px;}
.logo{display:flex;align-items:center;gap:18px;text-decoration:none;}
.logo .logo-img{height:52px;width:auto;display:block;background:transparent;}
.logo .logo-sub,
.logo .sub{
  display:inline-flex;align-items:center;
  margin-left:8px;
  font-family:var(--font-body);font-weight:600;font-size:12px;color:#E8EEF6;
  letter-spacing:1.2px;line-height:1;white-space:nowrap;
  text-transform:uppercase;
  transform:translateY(1px);
}
.footer .logo{font-family:var(--font-display);font-weight:800;font-size:16px;color:#fff;letter-spacing:0.5px;}
.nav-links{display:flex;align-items:center;gap:8px;}
.nav-links a{
  position:relative;
  font-family:var(--font-display);
  font-size:14.5px;font-weight:600;color:#C3CEDC;letter-spacing:0.2px;
  transition:color .2s ease, text-shadow .2s ease;
  padding:8px 10px;
}
/* Sharp golden line that slides out underneath on hover */
.nav-links a::after{
  content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;
  background:linear-gradient(90deg, #f6e27a 0%, var(--gold) 60%, rgba(200,168,75,0.4) 100%);
  border-radius:2px;
  box-shadow:0 0 8px rgba(246,226,122,0.7);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .28s cubic-bezier(.4,.1,.2,1);
}
.nav-links a:hover{
  color:#fff;
  text-shadow:0 0 14px rgba(246,226,122,0.75), 0 0 30px rgba(200,168,75,0.35);
}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-links a.active{color:#fff;}
.nav-links a.active::after{transform:scaleX(1);box-shadow:0 0 6px rgba(246,226,122,0.5);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.menu-toggle{
  display:none;background:none;border:none;cursor:pointer;
  padding:10px 6px;
}
.menu-icon{
  display:block;position:relative;
  width:22px;height:2px;border-radius:2px;background:#fff;
  transition:background .2s ease;
}
.menu-icon::before,
.menu-icon::after{
  content:"";position:absolute;left:0;
  width:22px;height:2px;border-radius:2px;background:#fff;
}
.menu-icon::before{top:-7px;}
.menu-icon::after{top:7px;}
.mobile-panel{display:none;}
.mobile-panel[hidden]{display:none !important;}
@media (max-width:900px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .logo .logo-img{height:44px;}
  .logo .logo-sub{font-size:10px;}
  .mobile-panel.open{
    display:flex;flex-direction:column;gap:2px;
    background:rgba(6,18,36,0.96);border-top:1px solid var(--line-dark);
    padding:10px 20px 18px;
  }
  .mobile-panel a{color:var(--silver);font-size:15px;padding:12px 0;border-bottom:1px solid var(--line-dark);}
  .mobile-panel a.active{color:var(--gold);}
  .mobile-panel a.mobile-cta{
    margin-top:14px;border-bottom:none;
    justify-content:center;color:var(--navy-deep);
    padding:12px 18px;
  }
}
/* On narrow phones the header CTA doesn't fit next to the logo — the mobile panel carries it instead */
@media (max-width:640px){
  .nav-cta .btn-nav-outline{display:none;}
}

/* ---------- Page intro banner (Product / Use Cases / Security / Contact) ---------- */
.page-banner{
  background:linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
  color:#fff;
  /* Slide up under the transparent header so it sits on navy, keeping nav links readable */
  margin-top:-72px;
  padding:136px 0 56px;
}
.page-banner h1{font-family:var(--font-display);font-weight:800;font-size:38px;margin:0 0 14px;letter-spacing:-0.4px;}
.page-banner p{font-size:16.5px;line-height:1.6;color:#C9D3E0;max-width:600px;margin:0;}
@media (max-width:640px){ .page-banner h1{font-size:28px;} }

/* ---------- Hero (homepage) ---------- */
.hero{
  background:linear-gradient(165deg, #050f24 0%, var(--navy-deep) 42%, #0a2348 78%, var(--navy) 100%);
  color:#fff;position:relative;overflow:hidden;
  /* Slide up under the transparent header so the engine/HUD reach the top of the screen */
  margin-top:-72px;
  padding:160px 0 72px;
}

/* Slow-idling jet engine backdrop */
.hero-engine{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  perspective:1500px;
  perspective-origin:55% 62%;
}
/* Slight 3D lean — right side of the fan toward the viewer, left receding */
.hero-engine-tilt{
  position:absolute;inset:0;
  transform-style:preserve-3d;
  transform:rotateY(-14deg) rotateX(6deg);
  transform-origin:55% 62%;
}
.hero-engine-disc{
  position:absolute;
  width:1700px;height:1700px;
  left:55%;top:62%;
  border-radius:50%;
  background:url('assets/hero-engine-silver.png') center/cover no-repeat;
  opacity:0.85;
  filter:saturate(1.0) brightness(0.94) contrast(1.05);
  animation:engineIdle 140s linear infinite;
  will-change:transform;
}
@keyframes engineIdle{
  from{transform:translate(-50%,-50%) rotate(0deg);}
  to{transform:translate(-50%,-50%) rotate(360deg);}
}
/* Navy tint + vignette so the hero copy stays readable over the blades */
.hero-engine::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 68% 55%, rgba(5,15,36,0.14) 0%, rgba(5,15,36,0.34) 60%, rgba(5,15,36,0.82) 100%),
    linear-gradient(100deg, rgba(5,15,36,0.88) 0%, rgba(7,26,56,0.50) 38%, rgba(10,35,72,0.26) 66%, rgba(7,26,56,0.44) 100%);
}

/* ---------- Aviation HUD overlay (radar rings + sonar + jet fly-by) ---------- */
.hero-hud{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
/* Deep shadow mask behind the left-side copy — engine + radar fade out under the text */
.hero-hud::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 58% 85% at 20% 52%, rgba(4,11,26,0.92) 0%, rgba(4,11,26,0.62) 42%, rgba(4,11,26,0) 70%),
    linear-gradient(90deg, rgba(4,11,26,0.88) 0%, rgba(4,11,26,0.52) 32%, rgba(4,11,26,0) 56%);
}
/* Glowing jet silhouette cruising across the top third of the hero, above the text block */
.hud-jet{
  position:absolute;top:13%;left:0;
  display:flex;align-items:center;
  transform:translateX(-320px);
  animation:jetFly 9s linear infinite;
  will-change:transform;
}
.hud-jet-trail{
  width:240px;height:2px;margin-right:-4px;
  background:linear-gradient(90deg,
    rgba(224,195,124,0) 0%,
    rgba(224,195,124,0.10) 30%,
    rgba(224,195,124,0.45) 75%,
    rgba(246,226,122,0.85) 100%);
  border-radius:2px;
  box-shadow:0 0 10px rgba(224,195,124,0.4);
}
.hud-jet-icon{
  width:38px;height:38px;flex-shrink:0;
  color:#F0D48A;
  filter:
    drop-shadow(0 0 6px rgba(246,226,122,0.85))
    drop-shadow(0 0 16px rgba(200,168,75,0.55))
    drop-shadow(0 0 32px rgba(94,200,232,0.30));
}
@keyframes jetFly{
  0%{transform:translateX(-320px);}
  100%{transform:translateX(calc(100vw + 120px));}
}
@media (max-width:900px){
  .hud-jet-icon{width:30px;height:30px;}
  .hud-jet-trail{width:160px;}
}
/* Repeating light sweep across the metal every 6s */
.hero-shimmer{
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(
    115deg,
    transparent 0%,
    transparent 38%,
    rgba(142,200,245,0.05) 45%,
    rgba(255,255,255,0.10) 50%,
    rgba(142,200,245,0.05) 55%,
    transparent 62%,
    transparent 100%
  );
  background-size:250% 100%;
  animation:heroShimmer 6s ease-in-out infinite;
  mix-blend-mode:screen;
}
@keyframes heroShimmer{
  0%{background-position:130% 0;}
  60%{background-position:-60% 0;}
  100%{background-position:-60% 0;}
}
@media (prefers-reduced-motion: reduce){
  .hero-engine-disc,
  .hero-shimmer,
  h1.headline,
  .hero-ctas .btn-gold,
  .btn-nav-outline,
  .hud-jet,
  .hero-tagline .boot-word,
  .hero-tagline .boot-caret,
  .passport-face::before,
  .passport-cover .p-hint{animation:none;}
  .hero-tagline .boot-word{opacity:1;filter:none;transform:none;}
  .hud-jet{display:none;}
}
.hero-mesh{
  position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;
}
.hero-blob{
  position:absolute;border-radius:50%;filter:blur(90px);opacity:0.38;
  will-change:transform;
}
.hero-blob-cyan{
  width:520px;height:520px;top:-12%;left:-8%;
  background:radial-gradient(circle, rgba(34,198,214,0.45) 0%, rgba(34,198,214,0) 70%);
  animation:blobDrift 14s ease-in-out infinite alternate;
}
.hero-blob-indigo{
  width:580px;height:580px;top:8%;right:-12%;
  background:radial-gradient(circle, rgba(79,70,229,0.42) 0%, rgba(79,70,229,0) 70%);
  animation:blobDrift 18s ease-in-out infinite alternate-reverse;
}
.hero-blob-gold{
  width:380px;height:380px;bottom:18%;left:28%;
  background:radial-gradient(circle, rgba(200,168,75,0.22) 0%, rgba(200,168,75,0) 70%);
  animation:blobDrift 16s ease-in-out infinite alternate;
}
.hero-blob-violet{
  width:420px;height:420px;bottom:-10%;right:22%;
  background:radial-gradient(circle, rgba(99,102,241,0.28) 0%, rgba(99,102,241,0) 70%);
  animation:blobDrift 20s ease-in-out infinite alternate-reverse;
}
@keyframes blobDrift{
  from{transform:translate(0,0) scale(1);}
  to{transform:translate(24px,-18px) scale(1.08);}
}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center;position:relative;z-index:1;}
@media (max-width:900px){ .hero-grid{grid-template-columns:1fr;} }
/* Dark radial block behind the copy — steps background textures back, pulls text forward */
.hero-copy{position:relative;}
.hero-copy::before{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  inset:-72px -60px -56px -140px;
  background:radial-gradient(circle at left, rgba(6,18,36,0.95) 0%, rgba(6,18,36,0) 75%);
}
.eyebrow{
  font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:1.4px;
  color:#D6E2F0;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;margin-bottom:28px;line-height:1.5;
  text-shadow:0 2px 8px rgba(0,0,0,0.85);
}
.eyebrow .dot{
  width:6px;height:6px;border-radius:50%;flex-shrink:0;
  background:var(--gold-light);
  box-shadow:
    0 0 6px rgba(224,195,124,0.95),
    0 0 14px rgba(200,168,75,0.75),
    0 0 24px rgba(200,168,75,0.45);
}
h1.headline{
  font-family:var(--font-display);font-weight:800;font-size:46px;line-height:1.14;
  margin:0 0 14px;letter-spacing:-0.5px;color:var(--gold);
  /* Metallic gold-to-platinum gradient */
  background:linear-gradient(
    112deg,
    #8a6d23 0%,
    #C8A84B 18%,
    #f6e27a 36%,
    #fdfbf2 48%,
    #e8ecf2 54%,
    #c3ccd8 62%,
    #f0f3f7 70%,
    #d7c684 84%,
    #96771f 100%
  );
  background-size:180% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  /* drop-shadow instead of text-shadow: shadow must follow the clipped glyphs */
  filter:drop-shadow(0 0 22px rgba(200,168,75,0.35)) drop-shadow(0 2px 4px rgba(0,0,0,0.9)) drop-shadow(0 3px 16px rgba(0,0,0,0.65));
  animation:goldSheen 9s ease-in-out infinite;
}
@keyframes goldSheen{
  0%,100%{background-position:0% center;}
  50%{background-position:100% center;}
}
@media (max-width:640px){ h1.headline{font-size:32px;} }
.hero-tagline{
  font-family:var(--font-display);font-weight:600;font-size:22px;line-height:1.35;
  color:#fff;margin:0 0 22px;max-width:520px;letter-spacing:-0.2px;
  text-shadow:0 2px 4px rgba(0,0,0,0.9);
}
@media (max-width:640px){ .hero-tagline{font-size:18px;} }
/* Terminal boot-up reveal on the tagline (spans injected by script.js) */
.hero-tagline .boot-word{
  display:inline-block;
  opacity:0;
  filter:blur(3px);
  transform:translateY(4px);
  animation:bootWord .28s steps(2, end) forwards;
  text-shadow:0 0 14px rgba(120,214,244,0.0);
}
@keyframes bootWord{
  0%{opacity:0;filter:blur(3px);transform:translateY(4px);text-shadow:0 0 16px rgba(120,214,244,0.85);color:#9FE2FA;}
  55%{opacity:1;filter:blur(0);color:#CFF1FD;text-shadow:0 0 12px rgba(120,214,244,0.55);}
  100%{opacity:1;filter:blur(0);transform:translateY(0);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,0.9);}
}
.hero-tagline .boot-caret{
  display:inline-block;width:9px;height:1em;margin-left:6px;
  vertical-align:text-bottom;
  background:rgba(120,214,244,0.9);
  box-shadow:0 0 10px rgba(120,214,244,0.75);
  animation:caretBlink .55s steps(1) infinite;
}
@keyframes caretBlink{50%{opacity:0;}}
.sub-headline{
  font-size:17px;line-height:1.65;color:#E2E8F0;max-width:520px;margin:0 0 34px;
  text-shadow:0 2px 4px rgba(0,0,0,0.9);
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:36px;}
.hero-ctas .btn-gold{
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  border-color:rgba(253,246,216,0.35);
  animation:btnBreath 3.2s ease-in-out infinite;
}
.hero-ctas .btn-gold:hover{
  background:linear-gradient(180deg, #ecd396 0%, var(--gold-light) 55%, #c8a84b 100%);
  animation-play-state:paused;
  box-shadow:0 0 34px rgba(224,195,124,0.65), 0 8px 24px rgba(0,0,0,0.35);
}
@keyframes btnBreath{
  0%,100%{box-shadow:0 0 12px rgba(200,168,75,0.30), 0 6px 18px rgba(0,0,0,0.30);}
  50%{box-shadow:0 0 30px rgba(224,195,124,0.60), 0 6px 22px rgba(0,0,0,0.35);}
}
.trust-line{
  display:flex;gap:12px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,0.1);padding-top:28px;
}
.trust-pill{
  position:relative;
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:13px;font-weight:500;color:#D5DEE9;
  background:rgba(255,255,255,0.05);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:999px;padding:9px 16px 9px 10px;
  backdrop-filter:blur(12px) saturate(1.4);-webkit-backdrop-filter:blur(12px) saturate(1.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.08), 0 4px 14px rgba(0,0,0,0.18);
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease, transform .25s ease, color .25s ease;
}
.trust-pill:hover{
  color:#fff;
  border-color:rgba(94,200,232,0.85);
  background:rgba(94,200,232,0.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 0 18px rgba(94,200,232,0.40),
    0 0 42px rgba(34,198,214,0.18);
  transform:translateY(-2px);
}
.trust-pill:hover .trust-icon{transform:scale(1.08);}
.trust-icon{transition:transform .25s ease;}
.trust-icon{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
}
.trust-icon svg{width:15px;height:15px;}
.trust-icon-secure{
  color:#5EC8E8;
  background:rgba(34,198,214,0.14);
  box-shadow:0 0 16px rgba(34,198,214,0.35);
}
.trust-icon-audit{
  color:#8EC8F5;
  background:rgba(91,164,232,0.16);
  box-shadow:0 0 16px rgba(91,164,232,0.35);
}
.trust-icon-access{
  color:#C8A84B;
  background:rgba(200,168,75,0.14);
  box-shadow:0 0 16px rgba(200,168,75,0.3);
}

/* Social proof strip */
.hero-proof{
  position:relative;z-index:1;
  margin-top:56px;padding-top:28px;
  border-top:1px solid rgba(255,255,255,0.08);
  text-align:center;
}
.proof-label{
  margin:0 0 18px;font-family:var(--font-body);font-size:12px;font-weight:500;
  letter-spacing:1.2px;text-transform:uppercase;color:#7B8FA8;
}
.proof-logos{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:14px 40px;
}
.proof-logo{
  display:flex;align-items:center;gap:9px;
  color:rgba(176,192,212,0.58);
  transition:color .2s ease;
}
.proof-logo:hover{color:rgba(220,230,240,0.88);}
.proof-mark{
  width:7px;height:7px;border-radius:50%;
  background:currentColor;opacity:0.7;
  box-shadow:0 0 10px rgba(142,200,245,0.35);
}
.proof-name{
  font-family:var(--font-display);font-weight:700;font-size:14px;
  letter-spacing:0.6px;white-space:nowrap;text-transform:uppercase;
}
@media (max-width:640px){
  .hero-proof{margin-top:40px;}
  .proof-logos{gap:12px 24px;}
  .proof-name{font-size:12px;}
}

/* ---------- Signature: Engine Passport ---------- */
.passport-stage{display:flex;flex-direction:column;align-items:center;perspective:1800px;}
.passport{
  width:380px;height:560px;position:relative;transform-style:preserve-3d;
  transition:transform 1s cubic-bezier(.4,.2,.2,1);cursor:pointer;
}
.passport.open{transform:rotateY(-180deg);}
.passport-face{
  position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,0.45), 0 0 40px rgba(34,198,214,0.10);
  overflow:hidden;
}
/* Razor-thin neon wire border — crisp cyan ↔ navy gradient (logo colors) */
.passport-face::before{
  content:"";position:absolute;inset:0;border-radius:inherit;
  padding:1.5px;pointer-events:none;z-index:2;
  background:linear-gradient(155deg,
    rgba(120,224,255,1) 0%,
    rgba(52,212,235,0.85) 18%,
    rgba(26,107,171,0.55) 38%,
    rgba(13,43,85,0.90) 55%,
    rgba(26,107,171,0.60) 70%,
    rgba(52,212,235,0.90) 85%,
    rgba(120,224,255,1) 100%);
  background-size:100% 300%;
  animation:borderFlow 6s ease-in-out infinite alternate;
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite:exclude;
  filter:drop-shadow(0 0 4px rgba(94,200,232,0.6));
}
@keyframes borderFlow{
  from{background-position:0% 0%;}
  to{background-position:0% 100%;}
}
.passport-cover{
  /* Rich, high-contrast dark glass — engine texture stays blurred well behind it */
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 2px, transparent 2px, transparent 10px),
    linear-gradient(160deg, rgba(9,24,46,0.90) 0%, rgba(6,18,36,0.85) 55%, rgba(3,10,22,0.92) 100%);
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  border:1px solid rgba(142,200,245,0.14);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;
  padding:30px;
  box-shadow:inset 0 0 60px rgba(3,10,22,0.55);
}
/* Glass highlight + cursor-tracked holographic reflection (via --gx/--gy from script.js) */
.passport-cover::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(340px circle at var(--gx,30%) var(--gy,20%),
      rgba(160,225,250,0.14) 0%,
      rgba(255,255,255,0.06) 35%,
      transparent 65%),
    linear-gradient(165deg, rgba(255,255,255,0.09) 0%, rgba(255,255,255,0.03) 22%, transparent 45%);
}
.passport-logo{
  width:200px;max-width:85%;height:auto;display:block;background:transparent;
  position:relative;z-index:1;
  filter:brightness(1.15) contrast(1.08) drop-shadow(0 2px 10px rgba(0,0,0,0.6));
}
.passport-cover .p-title{
  font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:3px;
  color:#F2D98A;
  text-transform:uppercase;text-align:center;
  position:relative;z-index:1;
  text-shadow:0 0 18px rgba(240,212,138,0.4), 0 2px 4px rgba(0,0,0,0.8);
}
.passport-cover .p-sub{
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:2px;color:var(--silver);text-transform:uppercase;
}
.passport-cover .p-hint{
  position:absolute;bottom:22px;font-family:var(--font-mono);font-size:10.5px;color:var(--silver);
  display:flex;align-items:center;gap:6px;letter-spacing:1px;
  animation:hintPulse 2.4s ease-in-out infinite;
}
@keyframes hintPulse{
  0%,100%{opacity:0.55;text-shadow:0 0 0 rgba(142,200,245,0);}
  50%{opacity:1;text-shadow:0 0 12px rgba(142,200,245,0.55);}
}
.passport-cover .p-hint svg{width:12px;height:12px;animation:tap 1.6s ease-in-out infinite;}
@keyframes tap{0%,100%{transform:translateX(0);}50%{transform:translateX(4px);}}

.passport-inside{
  background:linear-gradient(180deg, #121a26 0%, #0c121c 100%);
  color:#fff;transform:rotateY(180deg);padding:22px 20px 18px;
  display:flex;flex-direction:column;gap:14px;
  border:1px solid rgba(110,170,230,0.18);
}
.ep-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.ep-title{
  font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:1.5px;
  text-transform:uppercase;line-height:1.15;
}
.ep-issued{
  margin-top:6px;display:flex;align-items:center;gap:6px;
  font-family:var(--font-body);font-size:12px;color:#94A3B8;
}
.ep-issued svg{width:12px;height:12px;color:#5BA4E8;flex-shrink:0;}
.ep-issued span{color:#5BA4E8;font-weight:700;letter-spacing:0.4px;}
.ep-engine-icon{
  width:52px;height:52px;flex-shrink:0;border-radius:10px;
  border:1.5px solid rgba(91,164,232,0.55);
  background:radial-gradient(circle at 40% 35%, rgba(91,164,232,0.22), rgba(13,43,85,0.35));
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 18px rgba(91,164,232,0.18);
}
.ep-engine-icon svg{width:30px;height:30px;color:#8EC8F5;}

.ep-meta{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
  padding:12px 0;border-top:1px solid rgba(255,255,255,0.1);
  border-bottom:1px solid rgba(255,255,255,0.1);
}
.ep-meta-item{display:flex;flex-direction:column;gap:3px;}
.ep-meta-item .k,.ep-label{
  font-family:var(--font-mono);font-size:9px;letter-spacing:1.2px;color:#7B8A9E;text-transform:uppercase;
}
.ep-meta-item .v,.ep-value{
  font-family:var(--font-mono);font-size:12.5px;color:#F3F6FA;letter-spacing:0.2px;
}

.ep-rows{display:flex;flex-direction:column;gap:0;flex:1;}
.ep-rows li{
  display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;
  padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.06);
}
.ep-rows li:last-child{border-bottom:none;}
.ep-row-icon{
  width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:#5BA4E8;
}
.ep-row-icon svg{width:16px;height:16px;}
.ep-value.ep-ok{color:#3DDC97;font-weight:600;}

.ep-badges{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:auto;padding-top:4px;
}
.ep-badge{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  text-align:center;padding:8px 4px;border-radius:8px;border:1px solid;
  font-family:var(--font-mono);font-size:7.5px;line-height:1.25;letter-spacing:0.3px;
  text-transform:uppercase;min-height:64px;
}
.ep-badge svg{width:14px;height:14px;flex-shrink:0;}
.ep-badge-green{color:#3DDC97;border-color:rgba(61,220,151,0.55);background:rgba(61,220,151,0.06);}
.ep-badge-blue{color:#5BA4E8;border-color:rgba(91,164,232,0.55);background:rgba(91,164,232,0.06);}
.ep-badge-purple{color:#B794F4;border-color:rgba(183,148,244,0.55);background:rgba(183,148,244,0.06);}
.ep-badge-amber{color:#F0B429;border-color:rgba(240,180,41,0.55);background:rgba(240,180,41,0.06);}

.passport-caption{
  margin-top:22px;font-family:var(--font-mono);font-size:11.5px;color:#C4D2E2;
  letter-spacing:0.5px;text-align:center;
  text-shadow:0 2px 4px rgba(0,0,0,0.85), 0 0 12px rgba(4,11,26,0.9);
}
@media (max-width:640px){
  .passport{width:300px;height:520px;}
  .ep-title{font-size:17px;}
  .ep-badge{font-size:6.5px;min-height:58px;padding:6px 3px;}
  .ep-value,.ep-meta-item .v{font-size:11px;}
}

/* ---------- Section shells ---------- */
section{padding:96px 0;}
.section-sm{padding:64px 0;}
.section-alt{background:var(--paper-alt);}
.section-navy{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(ellipse 70% 60% at 15% 20%, rgba(34,198,214,0.08), transparent 55%),
    radial-gradient(ellipse 55% 50% at 88% 70%, rgba(79,70,229,0.1), transparent 50%),
    radial-gradient(ellipse 40% 40% at 50% 100%, rgba(200,168,75,0.06), transparent 60%),
    var(--navy-deep);
}
.kicker{
  font-family:var(--font-mono);font-size:12px;letter-spacing:2px;text-transform:uppercase;
  color:var(--blue);margin:0 0 14px;
}
.kicker-pill{
  display:inline-flex;align-items:center;
  font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:1.4px;
  color:var(--gold-deep);background:rgba(200,168,75,0.16);
  border:1px solid rgba(200,168,75,0.45);
  border-radius:999px;padding:7px 15px;margin:0 0 18px;
}
.kicker-pill-dark{
  color:var(--gold);background:rgba(200,168,75,0.12);
  border-color:rgba(200,168,75,0.32);
}
.section-navy .kicker{color:var(--gold);}
h2.section-title{
  font-family:var(--font-display);font-weight:700;font-size:32px;margin:0 0 16px;letter-spacing:-0.3px;
}
.section-title .title-accent{color:var(--blue);}
.section-lead{font-size:16.5px;line-height:1.65;color:#4A5568;max-width:640px;margin:0 0 52px;}
.section-navy .section-lead{color:#B9C3D4;}

/* ---------- Challenge / problem cards ---------- */
.problem-grid{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:24px;
}
.problem-card{
  background:#fff;
  border:none;
  border-radius:16px;
  padding:30px 28px;
  display:flex;flex-direction:column;
  box-shadow:0 12px 40px rgba(0,0,0,0.03);
  transition:transform .28s ease, box-shadow .28s ease, background .28s ease;
  will-change:transform;
  flex:1 1 calc(33.333% - 16px);
  max-width:calc(33.333% - 16px);
  min-width:260px;
}
.problem-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(13,43,85,0.1);
}
.problem-card-accent{
  background:#fff;
  box-shadow:0 12px 40px rgba(0,0,0,0.03);
}
.problem-card-accent:hover{
  box-shadow:0 18px 40px rgba(13,43,85,0.1);
}
.problem-icon{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(26,107,171,0.08);color:var(--blue);
  margin:0 0 18px;
  transition:background .28s ease, color .28s ease, box-shadow .28s ease;
}
.problem-icon svg{width:22px;height:22px;}
.problem-card:hover .problem-icon{
  background:rgba(200,168,75,0.14);color:#9A7A2E;
  box-shadow:0 0 18px rgba(200,168,75,0.2);
}
.problem-card h3{
  font-family:var(--font-display);font-size:18px;margin:0 0 10px;color:var(--navy);
  transition:color .28s ease;
}
.problem-card:hover h3{color:var(--blue);}
.problem-card-accent h3{color:var(--navy);}
.problem-card-accent:hover h3{color:var(--blue);}
.problem-alt{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.8px;text-transform:uppercase;
  color:var(--blue);margin:0 0 12px;
}
.problem-card > p:not(.problem-tag):not(.problem-alt){
  font-size:14.5px;line-height:1.6;color:#5A6472;margin:0 0 20px;flex:1;
}
.problem-tag{
  margin:0;
  font-family:var(--font-display);font-weight:600;font-size:13px;line-height:1.45;
  font-style:italic;color:#8A6416;letter-spacing:0.1px;
  transition:color .28s ease;
}
.problem-card:hover .problem-tag{color:#6F4F12;}
.problem-card-accent .problem-tag{color:#8A6416;}
.problem-card-accent:hover .problem-tag{color:#6F4F12;}
@media (max-width:900px){
  .problem-card{
    flex:1 1 100%;
    max-width:100%;
    min-width:0;
  }
}
.problem-grid-2{
  align-items:stretch;
}
.problem-grid-2 .problem-card{
  flex:1 1 calc(50% - 12px);
  max-width:calc(50% - 12px);
  min-height:100%;
  padding:30px 28px;
}
@media (max-width:900px){
  .problem-grid-2 .problem-card{
    flex:1 1 100%;
    max-width:100%;
  }
}

/* Role path cards — accent via icon/heading, not card fill */
.path-icon{
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 0 18px;
  transition:background .28s ease, color .28s ease, box-shadow .28s ease;
}
.path-icon svg{width:22px;height:22px;}
.path-card-blue .path-icon{
  color:var(--blue);
  background:rgba(26,107,171,0.08);
}
.path-card-blue h3{color:var(--blue);}
.path-card-blue:hover .path-icon{
  background:rgba(26,107,171,0.14);
  box-shadow:0 0 16px rgba(26,107,171,0.18);
}
.path-card-blue:hover h3{color:var(--navy);}
.path-card-gold .path-icon{
  color:#9A7A2E;
  background:rgba(200,168,75,0.14);
}
.path-card-gold h3{color:#8A6E28;}
.path-card-gold:hover .path-icon{
  background:rgba(200,168,75,0.2);
  box-shadow:0 0 16px rgba(200,168,75,0.22);
}
.path-card-gold:hover h3{color:#6F5720;}
.path-card > p{
  margin-bottom:0 !important;
}

/* ---------- Process steps (continuous flow with sequence arrows) ---------- */
.process-flow{
  display:flex;
  align-items:stretch;
  gap:0;
  position:relative;
}
.process-flow .process-step{
  flex:1 1 0;
  min-width:0;
  position:relative;
  background:rgba(255,255,255,0.03);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  padding:24px;
  transition:transform .28s ease, border-color .28s ease, background .28s ease, box-shadow .28s ease;
}
.process-flow .process-step:hover{
  transform:translateY(-4px);
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.14);
  box-shadow:0 16px 40px rgba(0,0,0,0.2);
}
.process-connector{
  flex:0 0 56px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:2;
  filter:drop-shadow(0 0 8px rgba(200,168,75,0.45));
}
.process-arrow{width:56px;height:24px;overflow:visible;}
.process-arrow-h{display:block;}
.process-arrow-v{display:none;width:24px;height:40px;}
.process-arrow-path{
  animation:flowDash 1.4s linear infinite;
}
@keyframes flowDash{
  to{stroke-dashoffset:-18;}
}
.step-num{
  font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:0.5px;
  color:var(--gold-light);
  width:44px;height:44px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;
  background:linear-gradient(145deg, rgba(200,168,75,0.28) 0%, rgba(200,168,75,0.06) 100%);
  border:1px solid rgba(200,168,75,0.45);
  box-shadow:0 0 22px rgba(200,168,75,0.28), inset 0 1px 0 rgba(255,255,255,0.1);
}
.process-step h3{font-family:var(--font-display);font-size:18px;margin:0 0 10px;color:#fff;}
.process-step p{font-size:14.5px;line-height:1.65;color:#B9C3D4;margin:0;}

@media (max-width:900px){
  .process-flow{
    flex-direction:column;
    align-items:stretch;
  }
  .process-connector{
    flex:0 0 40px;
    height:40px;
  }
  .process-arrow-h{display:none;}
  .process-arrow-v{display:block;}
}

/* legacy grid helper kept for safety */
.process:not(.process-flow){display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;}
@media (max-width:900px){ .process:not(.process-flow){grid-template-columns:1fr;gap:24px;} }

/* ---------- Feature cards ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
@media (max-width:1100px){ .feature-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:768px){ .feature-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .feature-grid{grid-template-columns:1fr;} }
.feature-card{
  background:#fff;border:none;border-radius:16px;padding:20px 16px;
  box-shadow:0 12px 40px rgba(0,0,0,0.03);
  transition:transform .28s ease, box-shadow .28s ease;
  will-change:transform;
}
.feature-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 40px rgba(13,43,85,0.1);
}
.feature-icon-wrap{
  width:36px;height:36px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgba(26,107,171,0.08);color:var(--blue);
  margin:0 0 12px;
  transition:background .28s ease, color .28s ease, box-shadow .28s ease;
}
.feature-icon{
  width:16px;height:16px;margin:0;color:inherit;
  transition:transform .28s ease;
}
.feature-card:hover .feature-icon-wrap{
  background:rgba(26,107,171,0.12);
  box-shadow:0 0 16px rgba(26,107,171,0.12);
}
.feature-card:hover .feature-icon{
  transform:scale(1.08);
}
.feature-card h4{
  font-family:var(--font-display);font-size:14.5px;margin:0 0 6px;color:var(--navy);line-height:1.3;
  transition:color .28s ease;
}
.feature-card:hover h4{color:var(--blue);}
.feature-card p{font-size:12.5px;line-height:1.5;color:#5A6472;margin:0;}
.feature-card a.more{font-size:13px;font-weight:600;color:var(--blue);display:inline-block;margin-top:10px;}
.feature-card-rich h4{margin-bottom:14px;}
.feature-point{margin-bottom:12px;}
.feature-point:last-child{margin-bottom:0;}
.feature-point strong{
  display:block;font-family:var(--font-display);font-size:12.5px;font-weight:700;
  color:var(--blue);margin-bottom:4px;letter-spacing:0.1px;
}
.feature-point p{font-size:12.5px;line-height:1.5;}
.feature-checks{
  display:flex;flex-direction:column;gap:8px;
  margin:14px 0 0;padding:0;list-style:none;
}
.feature-checks li{
  display:flex;align-items:center;gap:8px;
  font-size:12.5px;font-weight:600;color:var(--navy);line-height:1.3;
}
.feature-checks li svg{
  width:14px;height:14px;flex-shrink:0;color:var(--ok);
}

/* ---------- Feature deep-dive rows (Product page) ---------- */
.deep-row{display:grid;grid-template-columns:0.7fr 1.3fr;gap:56px;align-items:center;}
.deep-row.reverse{direction:rtl;}
.deep-row.reverse > *{direction:ltr;}
@media (max-width:900px){ .deep-row, .deep-row.reverse{grid-template-columns:1fr;direction:ltr;} }
.deep-row + .deep-row{margin-top:88px;}
.deep-copy .num{font-family:var(--font-mono);font-size:12.5px;font-weight:700;color:var(--gold-deep);letter-spacing:1.5px;margin-bottom:12px;}
.deep-copy h3{font-family:var(--font-display);font-size:24px;margin:0 0 14px;color:var(--navy);}
.deep-copy p{font-size:15px;line-height:1.7;color:#4A5568;margin:0 0 18px;}
.deep-copy ul{display:flex;flex-direction:column;gap:8px;}
.deep-copy ul li{font-size:14px;color:#3D4A5C;display:flex;gap:8px;align-items:flex-start;}
.deep-copy ul li svg{width:16px;height:16px;color:var(--ok);flex-shrink:0;margin-top:2px;}
.deep-visual{
  background:transparent;border:none;border-radius:0;padding:0;
  box-shadow:0 20px 48px rgba(13,43,85,0.12);
}
.shot-frame{
  border-radius:12px;
  overflow:hidden;
  background:linear-gradient(180deg, #f8fbff 0%, #edf3f9 100%);
  border:1px solid rgba(13,43,85,0.14);
  line-height:0;
}
.feature-shot{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
@media (max-width:900px){
  .deep-visual{padding:0;}
}

/* ---------- Component: LLP timeline (Product page) ---------- */
.llp-timeline{display:flex;flex-direction:column;gap:0;}
.llp-node{display:grid;grid-template-columns:80px 20px 1fr;gap:12px;align-items:start;}
.llp-node .lt-date{font-family:var(--font-mono);font-size:11px;color:var(--silver);padding-top:2px;}
.llp-node .lt-dot-col{display:flex;flex-direction:column;align-items:center;}
.llp-node .lt-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);margin-top:4px;}
.llp-node .lt-line{width:1px;flex:1;background:var(--line);margin-top:4px;}
.llp-node:last-child .lt-line{display:none;}
.llp-node .lt-body{padding-bottom:22px;}
.llp-node .lt-body h5{font-family:var(--font-body);font-weight:600;font-size:14.5px;margin:0 0 4px;color:var(--navy);}
.llp-node .lt-body p{font-size:12.5px;color:#5A6472;margin:0;}

/* ---------- Component: Records ledger (Product page) ---------- */
.ledger{
  background:#060f21;border:1px solid rgba(255,255,255,0.08);border-radius:6px;
  overflow:hidden;
}
.ledger-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 18px;border-bottom:1px solid rgba(255,255,255,0.07);
  font-family:var(--font-mono);font-size:11px;color:var(--silver);letter-spacing:1px;
}
.ledger-head .live{display:flex;align-items:center;gap:8px;color:var(--ok);}
.live-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);position:relative;}
.live-dot::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--ok);
  animation:pulse 1.8s ease-out infinite;
}
@keyframes pulse{0%{transform:scale(0.6);opacity:0.9;}100%{transform:scale(1.9);opacity:0;}}
.ledger-body{height:220px;overflow:hidden;position:relative;}
.ledger-body::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(6,15,33,0) 70%, #060f21 100%);
  pointer-events:none;
}
.ledger-track{display:flex;flex-direction:column;animation:scrollUp 22s linear infinite;}
.entry{
  display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:baseline;
  padding:10px 16px;font-family:var(--font-mono);font-size:11.5px;border-bottom:1px solid rgba(255,255,255,0.04);
}
.entry .t{color:#5C6B82;}
.entry .r{color:#DCE3EC;}
.entry .s{font-size:9.5px;padding:2px 7px;border-radius:20px;letter-spacing:0.5px;white-space:nowrap;}
.s-verified{background:rgba(76,175,125,0.15);color:var(--ok);}
.s-synced{background:rgba(26,107,171,0.20);color:#6FB3E8;}
.s-pending{background:rgba(200,168,75,0.18);color:var(--gold);}
@keyframes scrollUp{0%{transform:translateY(0);}100%{transform:translateY(-50%);}}

/* ---------- Component: EVA chat mockup (Product page) ---------- */
.eva-panel{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 12px 30px rgba(13,43,85,0.06);}
.deep-visual-compact{padding:0;border:none;box-shadow:none;background:transparent;}
.eva-panel-feature{border-radius:8px;box-shadow:0 14px 34px rgba(13,43,85,0.08);}
.eva-head{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--paper-alt);}
.eva-head-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.eva-head-copy strong{font-family:var(--font-display);font-size:14px;color:var(--navy);letter-spacing:0.2px;}
.eva-head-copy span{font-size:11px;color:#6B7A8F;line-height:1.3;}
.eva-avatar{width:26px;height:26px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.eva-avatar svg{width:14px;height:14px;color:var(--gold);}
.eva-head span{font-family:var(--font-mono);font-size:12px;color:var(--navy);letter-spacing:0.5px;}
.eva-body{padding:20px;display:flex;flex-direction:column;gap:14px;}
.eva-body-feature{padding:16px 18px 14px;gap:12px;background:#fff;}
.chat-msg{max-width:82%;padding:11px 14px;border-radius:10px;font-size:13.5px;line-height:1.5;}
.chat-user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:2px;font-size:12.5px;padding:10px 12px;}
.chat-eva{align-self:flex-start;background:#f4f7fb;color:var(--ink);border:1px solid rgba(13,43,85,0.08);border-bottom-left-radius:2px;max-width:100%;padding:12px 14px;}
.eva-lead{margin:0 0 10px;font-size:12.5px;line-height:1.45;color:#334155;}
.eva-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-bottom:10px;}
.eva-status-item{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#64748B;}
.eva-status-item strong{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--navy);}
.eva-status-item .status-ok{color:#1F8A55;}
.eva-status-item .status-pending{color:#B7791F;}
.eva-asset-strip{display:flex;flex-wrap:wrap;gap:8px 12px;padding-top:8px;border-top:1px dashed var(--line);}
.eva-asset-strip span{font-family:var(--font-mono);font-size:10.5px;color:#475569;background:#fff;border:1px solid rgba(13,43,85,0.08);border-radius:999px;padding:4px 8px;}
.eva-input-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:#fafbfd;color:#94A3B8;font-size:12px;}
.eva-send{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-size:14px;line-height:1;flex-shrink:0;}
.chat-eva .r-line{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;padding:3px 0;border-bottom:1px dashed var(--line);}
.chat-eva .r-line:last-child{border-bottom:none;}
@media (max-width:900px){
  .eva-status-grid{grid-template-columns:1fr;}
}

/* ---------- Trust / proof ---------- */
.trust-badges{
  display:flex;flex-wrap:nowrap;align-items:stretch;gap:10px;
  margin:0 0 48px;
}
.badge{
  flex:1 1 0;min-width:0;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-size:12.5px;font-weight:600;letter-spacing:0.2px;
  color:var(--navy);line-height:1.35;text-align:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  padding:10px 14px;
  white-space:normal;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  cursor:default;
}
.badge:hover{
  border-color:rgba(26,107,171,0.28);
  background:rgba(26,107,171,0.04);
  box-shadow:0 4px 14px rgba(13,43,85,0.06);
}
@media (max-width:900px){
  .trust-badges{flex-wrap:wrap;}
  .badge{flex:1 1 calc(50% - 10px);}
}
@media (max-width:560px){
  .badge{flex:1 1 100%;}
}
.proof-grid{
  display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
  gap:48px;align-items:center;
}
@media (max-width:900px){ .proof-grid{grid-template-columns:1fr;gap:32px;} }
.proof-stat{
  display:flex;flex-direction:column;align-items:flex-start;
  padding:0;
}
.stat{
  font-family:var(--font-display);font-weight:800;font-size:56px;color:var(--navy);line-height:1;
  letter-spacing:-1px;margin:0;
}
.stat-label{
  font-size:14.5px;line-height:1.55;color:#5A6472;
  margin:14px 0 0;max-width:320px;
}
.testimonial-card{
  position:relative;margin:0;
  background:#fff;
  border:none;
  border-radius:16px;
  padding:32px 32px 28px;
  box-shadow:0 12px 40px rgba(0,0,0,0.03);
  transition:transform .28s ease, box-shadow .28s ease;
}
.testimonial-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 40px rgba(13,43,85,0.08);
}
.testimonial-quote{
  display:block;
  font-family:var(--font-display);font-weight:700;font-size:64px;line-height:0.7;
  color:rgba(200,168,75,0.45);
  margin:0 0 16px;
  user-select:none;
}
.testimonial-card p{
  margin:0;
  font-family:var(--font-display);font-size:17px;font-weight:500;
  line-height:1.6;color:var(--navy);font-style:normal;
}
.testimonial-author{
  display:block;margin:18px 0 0;
  font-style:normal;font-size:13.5px;font-weight:500;
  color:#7A8494;font-family:var(--font-body);
}

/* ---------- Use case narrative card (Engine MRO Shops) ---------- */
.usecase-card{
  background:#fff;border:1px solid var(--line);border-radius:4px;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;
}
@media (max-width:900px){ .usecase-card{grid-template-columns:1fr;} }
.usecase-copy{padding:40px;}
.usecase-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:1.5px;color:var(--blue);text-transform:uppercase;margin-bottom:12px;display:block;}
.usecase-copy h3{font-family:var(--font-display);font-size:24px;margin:0 0 14px;color:var(--navy);}
.usecase-copy p{font-size:15px;line-height:1.7;color:#4A5568;margin:0 0 22px;}
.usecase-points{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;}
.usecase-points li{font-size:14px;color:#3D4A5C;display:flex;gap:8px;}
.usecase-points svg{width:16px;height:16px;color:var(--ok);flex-shrink:0;margin-top:2px;}
.usecase-side{background:var(--navy-deep);padding:40px;display:flex;flex-direction:column;justify-content:center;gap:16px;}
.usecase-side .role{font-family:var(--font-mono);font-size:11px;color:var(--silver);letter-spacing:1px;text-transform:uppercase;}
.usecase-side .quote{color:#fff;font-size:15px;line-height:1.6;font-style:italic;border-left:2px solid var(--gold);padding-left:16px;}

/* ---------- Compliance dashboard (Aircraft Lessors — Use Cases page) ---------- */
.browser-frame{background:#fff;border-radius:8px;box-shadow:0 24px 60px rgba(13,43,85,0.14);border:1px solid var(--line);overflow:hidden;}
.browser-bar{background:var(--paper-alt);padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);}
.browser-dots{display:flex;gap:6px;}
.browser-dots span{width:10px;height:10px;border-radius:50%;display:block;}
.bd-1{background:#FF5F57;} .bd-2{background:#FEBC2E;} .bd-3{background:#28C840;}
.browser-url{
  font-family:var(--font-mono);font-size:11.5px;color:#5A6472;background:#fff;border:1px solid var(--line);
  border-radius:4px;padding:5px 12px;flex:1;max-width:360px;
}
.dashboard{padding:28px;background:#fbfcfd;}
.dash-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:18px;}
.dash-header h4{font-family:var(--font-display);font-size:18px;color:var(--navy);margin:0 0 4px;}
.dash-sub{font-family:var(--font-mono);font-size:11.5px;color:var(--silver);letter-spacing:0.5px;margin:0;}
.dash-filters{display:flex;gap:8px;}
.chip{font-family:var(--font-mono);font-size:11px;padding:7px 13px;border-radius:20px;border:1px solid var(--line);color:#5A6472;background:#fff;}
.chip-active{background:var(--navy);color:#fff;border-color:var(--navy);}
.dash-alert{
  display:flex;align-items:center;gap:10px;background:rgba(226,167,62,0.10);border:1px solid rgba(226,167,62,0.35);
  color:#8a6416;font-size:13px;padding:12px 16px;border-radius:5px;margin-bottom:22px;
}
.dash-alert svg{width:16px;height:16px;flex-shrink:0;color:var(--amber);}
.dash-grid{display:grid;grid-template-columns:200px 1fr;gap:22px;margin-bottom:26px;}
@media (max-width:700px){ .dash-grid{grid-template-columns:1fr;} }
.gauge-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
.gauge-num{font-family:var(--font-display);font-weight:800;font-size:26px;color:var(--navy);}
.gauge-label{font-family:var(--font-mono);font-size:10.5px;color:var(--silver);letter-spacing:0.5px;text-transform:uppercase;text-align:center;}
.kpi-stack{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
@media (max-width:700px){ .kpi-stack{grid-template-columns:1fr 1fr;} }
.kpi{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;text-align:center;}
.kpi-num{font-family:var(--font-display);font-weight:800;font-size:22px;color:var(--navy);}
.kpi-label{font-family:var(--font-mono);font-size:10px;color:var(--silver);letter-spacing:0.5px;margin-top:4px;text-transform:uppercase;}
.dash-lower{display:grid;grid-template-columns:1.5fr 1fr;gap:22px;}
@media (max-width:900px){ .dash-lower{grid-template-columns:1fr;} }
.fleet-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;font-size:12.5px;}
.fleet-table th{
  background:var(--navy);color:#fff;text-align:left;padding:10px 12px;font-family:var(--font-mono);
  font-size:10.5px;letter-spacing:0.5px;text-transform:uppercase;font-weight:500;
}
.fleet-table td{padding:11px 12px;border-bottom:1px solid var(--line);color:#3D4A5C;}
.fleet-table tr:last-child td{border-bottom:none;}
.rag{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;}
.rag-g{background:var(--ok);} .rag-a{background:var(--amber);} .rag-r{background:var(--danger);}
.llp-badge{font-family:var(--font-mono);font-size:10px;padding:3px 8px;border-radius:20px;letter-spacing:0.3px;}
.llp-current{background:rgba(76,175,125,0.12);color:var(--ok);}
.llp-review{background:rgba(226,167,62,0.14);color:#8a6416;}
.llp-disc{background:rgba(209,73,91,0.12);color:var(--danger);}
.bar-track{width:70px;height:6px;background:var(--line);border-radius:6px;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px;}
.bar-fill{height:100%;background:var(--blue);}
.checklist-panel{background:#fff;border:1px solid var(--line);border-radius:6px;padding:18px;}
.checklist-panel h5{font-family:var(--font-display);font-size:14.5px;color:var(--navy);margin:0 0 14px;}
.checklist li{display:flex;align-items:center;gap:10px;font-size:13px;padding:9px 0;border-bottom:1px solid var(--line);}
.checklist li:last-child{border-bottom:none;}
.checklist .cl-icon{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.checklist li.done .cl-icon{background:rgba(76,175,125,0.15);color:var(--ok);}
.checklist li.pending .cl-icon{background:rgba(226,167,62,0.15);color:var(--amber);}
.checklist li.done{color:#3D4A5C;}
.checklist li.pending{color:#8a6416;font-weight:500;}

/* ---------- Security page: framework table ---------- */
.framework-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;}
.framework-table th{background:var(--navy);color:#fff;text-align:left;padding:14px 18px;font-family:var(--font-body);font-size:13.5px;font-weight:600;}
.framework-table td{padding:16px 18px;border-bottom:1px solid var(--line);font-size:14px;color:#3D4A5C;vertical-align:top;}
.framework-table tr:last-child td{border-bottom:none;}
.framework-table td.fw-name{font-weight:600;color:var(--navy);white-space:nowrap;}
.security-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:52px;}
@media (max-width:700px){ .security-grid{grid-template-columns:1fr;} }
.security-card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px;}
.security-card .sc-icon{width:30px;height:30px;color:var(--blue);margin-bottom:14px;}
.security-card h4{font-family:var(--font-display);font-size:16px;margin:0 0 8px;color:var(--navy);}
.security-card p{font-size:13.5px;line-height:1.6;color:#5A6472;margin:0;}
.brief-callout{
  margin-top:52px;background:var(--navy-deep);color:#fff;border-radius:6px;padding:32px 36px;
  display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;
}
.brief-callout h4{font-family:var(--font-display);font-size:16px;margin:0 0 6px;}
.brief-callout p{font-size:13.5px;color:#B9C3D4;margin:0;max-width:480px;}

/* ---------- Contact page ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
.contact-points{display:flex;flex-direction:column;gap:18px;margin:28px 0;}
.contact-point{display:flex;gap:14px;align-items:flex-start;}
.contact-point .cp-num{
  font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--gold-deep);border:1px solid rgba(200,168,75,0.55);
  width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.contact-point h5{font-family:var(--font-body);font-weight:600;font-size:14.5px;margin:0 0 3px;color:var(--navy);}
.contact-point p{font-size:13.5px;color:#5A6472;margin:0;}
/* Booking calendar — Prefer a Time Now */
.booking-calendar-lead{font-size:13.5px;color:#5A6472;margin:0 0 16px;line-height:1.55;max-width:420px;}
.booking-calendar{
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:20px 18px 16px;
  box-shadow:0 10px 28px rgba(13,43,85,0.06);
  border-top:3px solid var(--gold);
  max-width:380px;
}
.cal-month-bar{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:14px;gap:8px;
}
.cal-month-label{
  font-family:var(--font-display);font-size:15px;font-weight:700;
  color:var(--navy);margin:0;letter-spacing:-0.2px;
}
.cal-nav{
  width:34px;height:34px;border-radius:8px;border:1px solid var(--line);
  background:var(--paper-alt);color:var(--navy);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.cal-nav svg{width:16px;height:16px;}
.cal-nav:hover{border-color:var(--gold);color:var(--gold-deep);background:#fff;}
.cal-nav:disabled{opacity:0.35;cursor:not-allowed;}
.cal-weekdays{
  display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
  margin-bottom:6px;
}
.cal-weekdays span{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.6px;
  text-transform:uppercase;color:var(--silver);text-align:center;padding:4px 0;
}
.cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-day{
  aspect-ratio:1;border:none;border-radius:8px;
  background:transparent;color:var(--navy);
  font-family:var(--font-body);font-size:13px;font-weight:500;
  cursor:pointer;transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}
.cal-day:hover:not(:disabled):not(.is-empty){background:rgba(200,168,75,0.14);color:var(--gold-deep);}
.cal-day.is-empty{visibility:hidden;pointer-events:none;}
.cal-day.is-outside{color:#B0B8C4;}
.cal-day.is-disabled,
.cal-day:disabled{
  color:#C5CBD4;cursor:not-allowed;background:transparent;
}
.cal-day.is-today{box-shadow:inset 0 0 0 1.5px rgba(200,168,75,0.65);}
.cal-day.is-selected{
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  color:var(--navy-deep);font-weight:700;
  box-shadow:0 4px 12px rgba(200,168,75,0.35);
}
.cal-times{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.cal-times-label{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.8px;
  text-transform:uppercase;color:var(--silver);margin:0 0 10px;
}
.cal-times-label span{color:var(--navy);font-weight:500;text-transform:none;letter-spacing:0;}
.cal-time-row{display:flex;flex-wrap:wrap;gap:8px;}
.cal-time{
  font-family:var(--font-mono);font-size:12.5px;padding:9px 14px;
  border:1px solid var(--line);border-radius:8px;
  background:#fff;color:var(--navy);cursor:pointer;
  transition:all .15s ease;
}
.cal-time:hover{border-color:var(--gold);color:var(--gold-deep);}
.cal-time.is-selected{
  background:var(--navy);color:#fff;border-color:var(--navy);
  box-shadow:0 4px 14px rgba(13,43,85,0.22);
}
.cal-selection{
  font-size:12.5px;color:#5A6472;margin:14px 0 0;line-height:1.45;
}
.cal-selection.has-value{color:var(--navy);font-weight:600;}
.cal-hook-note{
  font-family:var(--font-mono);font-size:10.5px;color:var(--silver);
  letter-spacing:0.3px;margin:8px 0 0;
}

.contact-form-card{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:34px;box-shadow:0 12px 30px rgba(13,43,85,0.06);
  position:relative;overflow:hidden;
}
.contact-form-card h3{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--navy);margin:0 0 8px;letter-spacing:-0.3px;}
.contact-form-card .form-intro{font-size:13.5px;color:#5A6472;margin:0 0 24px;line-height:1.55;}
.form-eyebrow{
  font-family:var(--font-mono);font-size:11px;letter-spacing:1.6px;
  text-transform:uppercase;color:var(--gold);margin:0 0 10px;
}
.form-card-crest{
  position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--gold-deep), var(--gold-light), var(--gold-deep));
}
.form-card-plane{
  position:absolute;top:18px;right:20px;
  width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;
  pointer-events:none;z-index:1;
}
.form-card-plane-glow{
  position:absolute;inset:-6px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(224,195,124,0.45) 0%, rgba(200,168,75,0.12) 45%, transparent 70%);
  animation:formPlaneAura 2.4s ease-in-out infinite;
}
.form-card-plane-icon{
  position:relative;z-index:1;
  width:22px;height:22px;
  color:var(--gold-light);
  transform:rotate(45deg);
  filter:drop-shadow(0 0 4px rgba(255,236,170,0.95)) drop-shadow(0 0 10px rgba(200,168,75,0.7));
  animation:formPlaneFly 2.4s ease-in-out infinite;
}
@keyframes formPlaneAura{
  0%,100%{opacity:0.55;transform:scale(0.92);}
  50%{opacity:1;transform:scale(1.08);}
}
@keyframes formPlaneFly{
  0%,100%{
    transform:rotate(45deg) translate(0,0);
    filter:drop-shadow(0 0 3px rgba(255,236,170,0.8)) drop-shadow(0 0 8px rgba(200,168,75,0.55));
  }
  50%{
    transform:rotate(45deg) translate(2px,-2px);
    filter:drop-shadow(0 0 7px rgba(255,248,220,1)) drop-shadow(0 0 16px rgba(224,195,124,0.95));
  }
}
@media (prefers-reduced-motion: reduce){
  .form-card-plane-glow,
  .form-card-plane-icon{animation:none;}
}
form.demo-form{display:flex;flex-direction:column;gap:14px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:1px;color:var(--silver);text-transform:uppercase;font-weight:500;}
.field .label-optional{text-transform:none;letter-spacing:0;opacity:0.75;font-weight:400;}
.field input, .field select, .field textarea{
  background:var(--paper-alt);border:1px solid var(--line);border-radius:8px;
  padding:12px 14px;color:var(--ink);font-family:var(--font-body);font-size:14.5px;outline:none;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.field textarea{resize:vertical;min-height:84px;}
.field input:focus, .field select:focus, .field textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,168,75,0.18);
}
.field.is-invalid input,
.field.is-invalid select,
.field.is-invalid textarea{
  border-color:var(--danger);box-shadow:0 0 0 3px rgba(209,73,91,0.12);
}
.field-error{
  font-size:12px;color:var(--danger);line-height:1.35;margin:0;
}
.field-error[hidden]{display:none !important;}
.cal-form-summary{
  font-family:var(--font-mono);font-size:12px;color:var(--gold-light);
  background:rgba(200,168,75,0.1);border:1px solid rgba(200,168,75,0.28);
  border-radius:8px;padding:10px 12px;margin:0;line-height:1.45;
}
.cal-form-summary[hidden]{display:none !important;}
form.demo-form .btn{margin-top:6px;}
.form-note{font-size:12px;color:var(--silver);margin-top:2px;line-height:1.45;}
.form-success{
  display:none;font-family:var(--font-mono);font-size:13px;color:var(--ok);
  border:1px solid rgba(76,175,125,0.35);background:rgba(76,175,125,0.08);
  padding:12px 14px;border-radius:8px;
}
.contact-form-card.dark,
.contact-form-card.royal{
  background:
    radial-gradient(ellipse 80% 50% at 100% 0%, rgba(200,168,75,0.12), transparent 55%),
    linear-gradient(160deg, #0a2348 0%, var(--navy-deep) 48%, #061428 100%);
  border:1px solid rgba(200,168,75,0.28);
  box-shadow:
    0 24px 56px rgba(4,16,31,0.35),
    inset 0 1px 0 rgba(255,255,255,0.06);
}
.contact-form-card.dark h3,
.contact-form-card.royal h3{color:#F8FAFC;}
.contact-form-card.dark .form-intro,
.contact-form-card.royal .form-intro{color:#B9C3D4;}
.contact-form-card.dark .field label,
.contact-form-card.royal .field label{
  color:#E4C96A;
  font-size:12px;
  font-weight:500;
  letter-spacing:1.1px;
}
.contact-form-card.dark .field .label-optional,
.contact-form-card.royal .field .label-optional{
  color:#D4BA6A;
  opacity:0.85;
}
.contact-form-card.dark .field input,
.contact-form-card.dark .field select,
.contact-form-card.dark .field textarea,
.contact-form-card.royal .field input,
.contact-form-card.royal .field select,
.contact-form-card.royal .field textarea{
  background:rgba(255,255,255,0.05);
  border-color:rgba(255,255,255,0.14);
  color:#F8FAFC;
}
.contact-form-card.dark .field input::placeholder,
.contact-form-card.dark .field textarea::placeholder,
.contact-form-card.royal .field input::placeholder,
.contact-form-card.royal .field textarea::placeholder{color:#64748B;}
.contact-form-card.dark .field select option,
.contact-form-card.royal .field select option{background:var(--navy-deep);color:#fff;}
.contact-form-card.dark .form-note,
.contact-form-card.royal .form-note{color:#7B8A9E;}
.contact-form-card.dark .btn-gold,
.contact-form-card.royal .btn-gold{
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  border-color:rgba(253,246,216,0.35);
  box-shadow:0 8px 24px rgba(200,168,75,0.35);
  font-weight:700;
}
.contact-form-card.dark .btn-gold:hover,
.contact-form-card.royal .btn-gold:hover{
  background:linear-gradient(180deg, #ecd396 0%, var(--gold-light) 55%, #c8a84b 100%);
  box-shadow:0 10px 28px rgba(200,168,75,0.45);
}

/* ---------- Final CTA banner (reused across pages) ---------- */
.cta-band{
  position:relative;
  overflow:hidden;
  background:var(--navy-deep);
  padding:130px 0;
}
.cta-band-bg{
  position:absolute;
  inset:-3%;
  z-index:0;
  background:url("assets/cta-plane-bg.png") center 38% / cover no-repeat;
  filter:saturate(0.8) brightness(0.85);
  transform-origin:center center;
  will-change:transform;
  animation:slow-bg-zoom 22s ease-in-out infinite alternate;
}
/* Per-page CTA backgrounds — positioned so the subject stays in frame */
.cta-band.cta-home .cta-band-bg{
  background-image:url("assets/cta-home-engines.png");
  background-position:center 50%;
}
.cta-band.cta-product .cta-band-bg{
  background-image:url("assets/cta-product-engine.png");
  background-position:center 55%;
}
.cta-band.cta-usecases .cta-band-bg{
  background-image:url("assets/cta-usecases-engine.png");
  background-position:center 50%;
}
.cta-band.cta-security .cta-band-bg{
  background-image:url("assets/cta-security-runway.png");
  background-position:center 32%;
}
.cta-band-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(
    to bottom,
    rgba(7,26,56,0.88) 0%,
    rgba(7,26,56,0.68) 48%,
    rgba(7,26,56,0.93) 100%
  );
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}
.cta-band > .wrap{
  position:relative;z-index:2;
  padding-top:18px;
}
.cta-final{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:0;
  color:#fff;
  padding:28px 0;
}
.cta-final > div{
  display:flex;flex-direction:column;align-items:center;
  max-width:720px;
}
.cta-final h2{
  font-family:var(--font-display);font-weight:800;font-size:40px;
  margin:0 0 16px;letter-spacing:-0.5px;color:#F8FAFC;line-height:1.18;
  text-shadow:0 2px 6px rgba(4,11,26,0.85), 0 0 32px rgba(4,11,26,0.6);
}
.cta-final p{
  color:#E8EEF6;font-size:17.5px;line-height:1.65;margin:0;max-width:580px;
  text-shadow:0 1px 4px rgba(4,11,26,0.85), 0 0 24px rgba(4,11,26,0.6);
}
.cta-final .btn{
  flex-shrink:0;margin-top:32px;border-radius:10px;
  padding:16px 34px;font-size:16px;
}
.cta-final .btn-gold{
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  border-color:rgba(253,246,216,0.4);
  box-shadow:0 8px 32px rgba(200,168,75,0.5), 0 0 56px rgba(200,168,75,0.28);
  animation:btnBreath 3.2s ease-in-out infinite;
  transition:transform .25s ease, background .25s ease, box-shadow .35s ease;
}
.cta-final .btn-gold:hover{
  transform:translateY(-1px);
  box-shadow:
    0 12px 40px rgba(200,168,75,0.55),
    0 0 64px rgba(200,168,75,0.38),
    0 0 96px rgba(224,195,124,0.22);
  animation:goldGlowBreathe 1.6s ease-in-out infinite alternate;
}
@keyframes goldGlowBreathe{
  from{
    box-shadow:
      0 12px 40px rgba(200,168,75,0.5),
      0 0 56px rgba(200,168,75,0.32),
      0 0 80px rgba(224,195,124,0.16);
  }
  to{
    box-shadow:
      0 14px 46px rgba(200,168,75,0.62),
      0 0 78px rgba(200,168,75,0.45),
      0 0 110px rgba(224,195,124,0.28);
  }
}
@keyframes slow-bg-zoom{
  from{transform:scale(1) translate3d(0,0,0);}
  to{transform:scale(1.04) translate3d(0,-0.6%,0);}
}
@media (prefers-reduced-motion:reduce){
  .cta-band-bg{animation:none;transform:scale(1.01);}
  .cta-final .btn-gold:hover{animation:none;}
}
@media (max-width:640px){
  .cta-band{padding:72px 0;}
  .cta-band > .wrap{padding-top:12px;}
  .cta-final{padding:16px 0;}
  .cta-final h2{font-size:27px;}
  .cta-final p{font-size:15.5px;}
}

/* ---------- Review booking modal ---------- */
.review-modal[hidden]{display:none !important;}
.review-modal{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.review-modal-backdrop{
  position:absolute;inset:0;
  background:rgba(5,15,36,0.72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.review-modal-panel{
  position:relative;z-index:1;
  width:100%;max-width:440px;
  background:
    radial-gradient(ellipse 70% 40% at 100% 0%, rgba(200,168,75,0.14), transparent 55%),
    linear-gradient(165deg, #0a2348 0%, var(--navy-deep) 100%);
  border:1px solid rgba(200,168,75,0.28);
  border-radius:16px;
  padding:32px 28px 28px;
  box-shadow:0 28px 70px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.06);
  color:#fff;
  overflow:hidden;
}
.review-modal-panel::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, var(--gold-deep), var(--gold-light), var(--gold-deep));
}
.review-modal-close{
  position:absolute;top:14px;right:16px;
  background:none;border:none;color:#94A3B8;
  font-size:28px;line-height:1;cursor:pointer;padding:4px 8px;
}
.review-modal-close:hover{color:#fff;}
.review-modal-panel h3{
  font-family:var(--font-display);font-size:22px;font-weight:700;
  margin:0 0 8px;color:#F8FAFC;
}
.review-modal-intro{
  font-size:14px;line-height:1.55;color:#94A3B8;margin:0 0 22px;
}
.review-modal-panel .field label{
  color:#E4C96A;
  font-size:12px;
  font-weight:500;
  letter-spacing:1.1px;
}
.review-modal-panel .field input,
.review-modal-panel .field select,
.review-modal-panel .field textarea{
  background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);color:#fff;border-radius:8px;
}
.review-modal-panel .field input:focus,
.review-modal-panel .field select:focus,
.review-modal-panel .field textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,168,75,0.18);
}
.review-modal-panel .field input::placeholder,
.review-modal-panel .field textarea::placeholder{color:#64748B;}
.review-modal-panel .form-note{color:#64748B;}
.review-modal-panel .btn-gold{
  background:linear-gradient(180deg, #e0c37c 0%, var(--gold) 55%, #ab8c35 100%);
  border-color:rgba(253,246,216,0.35);
  font-weight:700;
}
body.modal-open{overflow:hidden;}

/* ---------- Footer ---------- */
body > footer{
  /* Darker shade + gold hairline so the footer clearly separates from the CTA band above */
  background:#04101F;
  color:var(--silver);
  padding:64px 0 28px;
  border-top:1px solid rgba(200,168,75,0.30);
}
.footer-grid{
  display:grid;
  grid-template-columns:1.25fr 0.9fr 1.1fr;
  gap:56px;
  padding-bottom:44px;
}
.footer-brandline{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  margin-bottom:20px;
}
.footer-spi-logo{
  height:58px;
  width:auto;
  max-width:min(100%, 190px);
  display:block;
  object-fit:contain;
}
.footer-desc{
  font-size:14px;line-height:1.65;color:#B9C3D4;
  margin:0 0 16px;max-width:330px;
}
.footer-tagline{
  font-family:var(--font-display);font-weight:700;font-size:14.5px;
  color:var(--gold);margin:0;letter-spacing:0.2px;
}
.footer-col h4{
  font-family:var(--font-body);font-size:12px;font-weight:600;
  letter-spacing:2.2px;text-transform:uppercase;
  color:#8FA3BC;margin:0 0 16px;
}
.footer-col a{
  display:flex;align-items:center;gap:11px;
  font-family:var(--font-body);font-size:14.5px;font-weight:500;
  color:#E2E8F0;padding:8px 0;
  transition:color .15s ease;
}
.footer-col a:hover{color:var(--gold);}
.footer-col a svg{
  width:16px;height:16px;flex-shrink:0;color:#8FA3BC;
  transition:color .15s ease;
}
.footer-col a:hover svg{color:var(--gold);}
.footer-copy{
  font-family:var(--font-body);
  font-size:12px;
  font-weight:400;
  color:rgba(148,163,184,0.85);
  margin:0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,0.08);
  line-height:1.5;
  text-align:center;
}
@media (max-width:800px){
  .footer-grid{grid-template-columns:1fr;gap:36px;}
  .footer-spi-logo{height:52px;max-width:170px;}
}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
