/* ============================================================
   MAVYNN AI LABS — site stylesheet
   Single theme source. Satoshi (headings) + Inter (body).
   ============================================================ */

/* ---------- Accessibility (WCAG 2.1 AA aligned) ---------- */
/* Skip-to-content link — visible only on keyboard focus */
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:#1B2A5B;color:#fff;padding:.7rem 1.1rem;border-radius:0 0 8px 0;
  font-family:var(--font-heading,sans-serif);font-weight:700;text-decoration:none;
}
.skip-link:focus{left:0;}

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

/* Visible keyboard focus on every interactive element */
a:focus-visible,button:focus-visible,input:focus-visible,
select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #4A90E2;outline-offset:2px;border-radius:4px;
}
:target{scroll-margin-top:96px;} /* anchored sections clear the sticky header */

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .fade-up{opacity:1!important;transform:none!important;}
}

.footer__note{
  font-size:.78rem;line-height:1.55;color:rgba(247,245,238,.55);
  max-width:720px;margin:0 0 1rem;
}

/* ---------- Tokens ---------- */
:root{
  --navy:#1B2A5B;
  --royal:#2D5BAA;
  --azure:#4A90E2;
  --silver:#C8CDD6;
  --ivory:#F7F5EE;
  --gold:#D4A437;
  --gold-deep:#86680E; /* AA-contrast gold for small text on light backgrounds */
  --ink:#0F1A3A;
  --muted:#5D6787;

  --font-heading:"Satoshi","Segoe UI",sans-serif;
  --font-body:"Inter","Segoe UI",Arial,sans-serif;

  --radius-sm:8px; --radius-md:14px; --radius-lg:22px;
  --shadow-soft:0 8px 24px rgba(27,42,91,.10);
  --shadow-lift:0 18px 48px rgba(27,42,91,.18);
  --border-light:1px solid rgba(27,42,91,.12);

  --s-1:8px; --s-2:16px; --s-3:24px; --s-4:32px; --s-5:48px;
  --s-6:64px; --s-7:96px; --s-8:128px;

  --container:1200px; --container-narrow:820px; --gutter:24px;
  --nav-h:74px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:1.0625rem;
  line-height:1.6;
  color:var(--navy);
  background:var(--ivory);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.1;margin:0;letter-spacing:-.01em;}
p{margin:0;}
ul{margin:0;padding:0;list-style:none;}
button{font-family:inherit;cursor:pointer;}
::selection{background:var(--gold);color:var(--navy);}

/* ---------- Layout ---------- */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter);}
.narrow{max-width:var(--container-narrow);margin-inline:auto;}
.section{padding:var(--s-7) 0;}
.section--tight{padding:var(--s-6) 0;}
.section--light{background:var(--ivory);color:var(--navy);}
.section--paper{background:#fff;color:var(--navy);}
.section--dark{
  background:
    radial-gradient(110% 130% at 88% -10%,rgba(74,144,226,.16),transparent 55%),
    radial-gradient(90% 120% at 5% 110%,rgba(45,91,170,.30),transparent 60%),
    linear-gradient(180deg,var(--ink),var(--navy));
  color:var(--ivory);
}
.section--dark h1,.section--dark h2,.section--dark h3{color:#fff;}

/* ---------- Type helpers ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-heading);font-weight:600;text-transform:uppercase;
  letter-spacing:.18em;font-size:.78rem;color:var(--gold-deep);margin:0 0 var(--s-2);
}
.eyebrow::before{
  content:"";width:18px;height:18px;flex:none;
  background:url("assets/mavynn_icon_star.png") center/contain no-repeat;
}
.section--dark .eyebrow{color:var(--gold);}
h1.display{font-size:clamp(2.5rem,5.2vw,4.1rem);font-weight:800;letter-spacing:-.025em;}
h2.title{font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:700;}
h3.card-title{font-size:1.25rem;font-weight:600;}
.lead{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.65;color:var(--muted);}
.section--dark .lead{color:rgba(247,245,238,.78);}
.text-gold{color:var(--gold);}
.measure{max-width:62ch;}

.divider{height:2px;border:0;margin:0;background:linear-gradient(90deg,var(--gold),transparent 70%);}
.divider--center{background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);}

/* section heading block */
.sec-head{max-width:720px;}
.sec-head.center{margin-inline:auto;text-align:center;}
.sec-head .lead{margin-top:var(--s-2);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-heading);font-weight:600;font-size:1rem;
  border-radius:var(--radius-sm);padding:.92rem 1.5rem;border:1px solid transparent;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
  white-space:nowrap;
}
.btn .arr{transition:transform .18s ease;}
.btn:hover .arr{transform:translateX(3px);}
.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy);box-shadow:var(--shadow-soft);}
.btn-primary:hover{background:#16224a;box-shadow:var(--shadow-lift);transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--navy);border-color:var(--gold);box-shadow:0 8px 24px rgba(212,164,55,.28);}
.btn-gold:hover{background:#c4962f;box-shadow:0 16px 36px rgba(212,164,55,.36);transform:translateY(-1px);}
.btn-secondary{background:transparent;color:var(--navy);border:1px solid var(--gold);}
.btn-secondary:hover{background:rgba(212,164,55,.10);}
.section--dark .btn-secondary{color:var(--ivory);border-color:rgba(212,164,55,.85);}
.section--dark .btn-secondary:hover{background:rgba(212,164,55,.14);}
.btn-ghost{background:transparent;color:#fff;border:1px solid rgba(247,245,238,.32);}
.btn-ghost:hover{border-color:rgba(247,245,238,.6);background:rgba(255,255,255,.06);}
.btn-lg{padding:1.05rem 1.8rem;font-size:1.05rem;}
.link-arrow{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-weight:600;color:var(--royal);}
.link-arrow .arr{color:var(--gold);transition:transform .18s ease;}
.link-arrow:hover .arr{transform:translateX(4px);}
.section--dark .link-arrow{color:var(--azure);}

/* ---------- Notification bar ---------- */
.notice{
  background:var(--ink);color:var(--ivory);font-size:.9rem;
  border-bottom:1px solid rgba(212,164,55,.25);
}
.notice__row{
  display:flex;align-items:center;gap:1rem;min-height:44px;padding:.45rem var(--gutter);
  max-width:var(--container);margin:0 auto;
}
.notice__dot{color:var(--gold);flex:none;font-size:.8rem;}
.notice__msg{flex:1;min-width:0;}
.notice__msg a{color:var(--gold);font-weight:600;border-bottom:1px solid transparent;}
.notice__msg a:hover{border-color:var(--gold);}
.notice__cta{
  flex:none;background:var(--gold);color:var(--navy);font-family:var(--font-heading);
  font-weight:600;font-size:.82rem;padding:.4rem .9rem;border-radius:6px;
}
.notice__cta:hover{background:#c4962f;}
.notice__close{
  flex:none;background:none;border:0;color:var(--silver);font-size:1.1rem;line-height:1;
  padding:.25rem;border-radius:4px;
}
.notice__close:hover{color:var(--ivory);}
.notice.hide{display:none;}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:50;
  background:rgba(247,245,238,.86);backdrop-filter:saturate(140%) blur(12px);
  border-bottom:var(--border-light);transition:background .25s ease,border-color .25s ease;
}
.header__row{
  display:flex;align-items:center;gap:var(--s-4);
  height:var(--nav-h);max-width:var(--container);margin:0 auto;padding:0 var(--gutter);
}
.brand{display:flex;align-items:center;flex:none;}
.brand img{height:44px;width:auto;}
.nav{display:flex;align-items:center;gap:.4rem;margin-left:auto;}
.nav a{
  font-family:var(--font-heading);font-weight:500;font-size:.97rem;color:var(--navy);
  padding:.55rem .8rem;border-radius:8px;position:relative;transition:color .15s ease;
}
.nav a:hover{color:var(--royal);}
.nav a.active{color:var(--royal);}
.nav a.active::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.28rem;height:2px;
  background:var(--gold);border-radius:2px;
}
.header__cta{margin-left:.6rem;}
.nav-toggle{display:none;}

/* scrolled state -> solid navy bar */
.header.scrolled{background:var(--navy);border-color:rgba(212,164,55,.2);}
.header.scrolled .nav a{color:rgba(247,245,238,.85);}
.header.scrolled .nav a:hover,.header.scrolled .nav a.active{color:#fff;}
.header.scrolled .nav a.active::after{background:var(--gold);}
.header.scrolled .brand img{filter:brightness(0) invert(1);}

/* mobile menu */
.mobile-menu{display:none;}

/* ---------- Cards ---------- */
.card{
  background:#fff;border:var(--border-light);border-radius:var(--radius-md);
  box-shadow:var(--shadow-soft);padding:var(--s-4);transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);}
.section--dark .card{
  background:rgba(255,255,255,.045);border:1px solid rgba(200,205,214,.16);box-shadow:none;
}
.section--dark .card:hover{background:rgba(255,255,255,.07);border-color:rgba(212,164,55,.3);}
.card .card-title{margin:0 0 .5rem;}
.card p{color:var(--muted);}
.section--dark .card p{color:rgba(247,245,238,.72);}

.grid{display:grid;gap:var(--s-3);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

/* icon medallion (star-leaf in soft navy circle) */
.medallion{
  width:54px;height:54px;border-radius:50%;flex:none;
  display:grid;place-items:center;margin-bottom:var(--s-3);
  background:rgba(45,91,170,.10);border:1px solid rgba(45,91,170,.18);
}
.medallion img{width:30px;height:30px;}
.section--dark .medallion{background:rgba(74,144,226,.16);border-color:rgba(74,144,226,.3);}

/* numbered step badge */
.step-num{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font-heading);font-weight:700;font-size:1.15rem;
  background:var(--navy);color:var(--gold);margin-bottom:var(--s-2);
}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.chip{
  font-family:var(--font-heading);font-weight:500;font-size:.85rem;
  padding:.4rem .85rem;border-radius:100px;background:rgba(45,91,170,.08);
  color:var(--royal);border:1px solid rgba(45,91,170,.16);
}
.section--dark .chip{background:rgba(74,144,226,.12);color:var(--azure);border-color:rgba(74,144,226,.28);}

/* ---------- Hero feature panel tiles (platform) ---------- */
.kpanel{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.ktile{
  background:rgba(255,255,255,.05);border:1px solid rgba(200,205,214,.16);
  border-radius:var(--radius-md);padding:18px 18px 20px;transition:border-color .18s ease,background .18s ease;
}
.ktile:hover{border-color:rgba(212,164,55,.4);background:rgba(255,255,255,.08);}
.ktile .ic{width:30px;height:30px;display:block;margin-bottom:12px;}
.ktile strong{display:block;font-family:var(--font-heading);font-weight:600;color:#fff;font-size:1.02rem;line-height:1.2;}
.ktile span{display:block;margin-top:4px;color:rgba(247,245,238,.66);font-size:.86rem;line-height:1.35;}

/* ---------- Capture form ---------- */
.capture{display:flex;flex-direction:column;gap:.6rem;max-width:400px;}
.capture__label{font-family:var(--font-heading);font-weight:600;color:var(--navy);font-size:.95rem;}
.section--dark .capture__label{color:var(--ivory);}
.capture__field{
  height:54px;border:1px solid var(--silver);border-radius:var(--radius-sm);
  padding:0 1.05rem;font-family:var(--font-body);font-size:1rem;background:#fff;color:var(--navy);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.capture__field:focus{outline:none;border-color:var(--royal);box-shadow:0 0 0 3px rgba(45,91,170,.18);}
.capture__btn{height:54px;}
.capture__note{margin:0;color:var(--muted);font-size:.85rem;}
.section--dark .capture__note{color:rgba(247,245,238,.6);}
.capture.ok .capture__field,.capture.ok .capture__btn{display:none;}
.capture__success{display:none;}
.capture.ok .capture__success{
  display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:600;
  color:var(--navy);background:rgba(212,164,55,.14);border:1px solid rgba(212,164,55,.4);
  border-radius:var(--radius-sm);padding:1rem 1.1rem;
}
.section--dark .capture.ok .capture__success{color:#fff;background:rgba(212,164,55,.16);}

/* ---------- Stats ---------- */
.stat{}
.stat__num{font-family:var(--font-heading);font-weight:800;font-size:clamp(2.2rem,4vw,3.1rem);color:var(--gold);line-height:1;letter-spacing:-.02em;}
.stat__label{margin-top:.6rem;color:rgba(247,245,238,.78);font-size:.98rem;}

/* ---------- CTA band ---------- */
.cta-band{text-align:center;}
.cta-band .capture{margin-inline:auto;align-items:center;text-align:left;}

/* ---------- Comparison table ---------- */
.compare{width:100%;border-collapse:separate;border-spacing:0;border:var(--border-light);border-radius:var(--radius-md);overflow:hidden;background:#fff;}
.compare th,.compare td{padding:1.05rem 1.3rem;text-align:left;border-bottom:1px solid rgba(27,42,91,.08);font-size:1rem;}
.compare thead th{font-family:var(--font-heading);font-size:.92rem;text-transform:uppercase;letter-spacing:.06em;background:var(--ivory);}
.compare thead th:last-child{background:var(--navy);color:#fff;}
.compare tbody td:first-child{font-family:var(--font-heading);font-weight:600;color:var(--navy);width:30%;}
.compare tbody td:nth-child(2){color:var(--muted);}
.compare tbody td:last-child{color:var(--navy);font-weight:500;background:rgba(212,164,55,.06);border-left:1px solid rgba(212,164,55,.18);border-right:1px solid rgba(212,164,55,.18);}
.compare tbody tr:last-child td{border-bottom:0;}
.compare tbody tr:last-child td:last-child{border-bottom:1px solid rgba(212,164,55,.18);}

/* ---------- Industry / feature rows ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);align-items:center;}
.split.rev .split__media{order:2;}
.split__media{
  border-radius:var(--radius-lg);aspect-ratio:4/3;position:relative;overflow:hidden;
  background:
    radial-gradient(120% 120% at 20% 10%,rgba(74,144,226,.22),transparent 55%),
    linear-gradient(160deg,var(--ink),var(--navy));
  border:1px solid rgba(212,164,55,.18);box-shadow:var(--shadow-soft);
  display:grid;place-items:center;
}
.split__media img.motif{width:42%;opacity:.9;}
.split__media .tag{position:absolute;left:1.1rem;bottom:1.1rem;font-family:var(--font-heading);font-weight:600;font-size:.82rem;letter-spacing:.04em;color:rgba(247,245,238,.85);background:rgba(15,26,58,.55);border:1px solid rgba(212,164,55,.3);padding:.4rem .8rem;border-radius:100px;}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(64px,9vw,120px) 0 clamp(56px,8vw,104px);}
.hero__bg{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.hero__motif{
  position:absolute;right:-6%;top:50%;transform:translateY(-50%);
  width:min(620px,52vw);opacity:.10;filter:brightness(0) invert(1);
}
.hero__grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(200,205,214,.06) 1px,transparent 1px),
  linear-gradient(90deg,rgba(200,205,214,.06) 1px,transparent 1px);
  background-size:64px 64px;mask-image:radial-gradient(80% 70% at 30% 40%,#000,transparent 80%);}
.hero__inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s-6);align-items:center;}
.hero__cta-row{display:flex;align-items:flex-end;gap:var(--s-4);flex-wrap:wrap;margin-top:var(--s-4);}
.hero__panel{
  background:rgba(255,255,255,.05);border:1px solid rgba(200,205,214,.16);
  border-radius:var(--radius-lg);padding:var(--s-4);backdrop-filter:blur(6px);
}

/* ---------- Cover hero (matches deck cover slide) ---------- */
.hero--cover{padding:clamp(48px,6.5vw,92px) 0 clamp(52px,7vw,88px);display:block;}
.hero__cover{position:relative;max-width:980px;}
.cover-h1{
  font-family:var(--font-heading);font-weight:800;letter-spacing:-.03em;line-height:.98;
  font-size:clamp(2.2rem,5vw,3.9rem);color:#fff;text-wrap:balance;
}
.cover-h1 .text-gold{display:block;}
.cover-lead{margin-top:var(--s-3);max-width:60ch;font-size:clamp(1.1rem,1.7vw,1.35rem);color:rgba(247,245,238,.8);}
.hero__motif--cover{
  width:min(680px,48vw);right:-4%;opacity:.12;
}
.keys--cover .key{font-size:1.05rem;padding:.85rem 1.4rem;}
/* hero entrance — opacity ALWAYS 1 (never JS/animation-dependent above the fold);
   only a subtle transform rises in, so a paused animation still shows full content */
.hero-rise{opacity:1;}
@media (prefers-reduced-motion:no-preference){
  .hero-rise{animation:heroRise .7s ease-out;}
  @keyframes heroRise{from{transform:translateY(16px);}to{transform:none;}}
}
@media (max-width:1024px){
  .hero__motif--cover{opacity:.08;width:min(520px,60vw);}
}
@media (max-width:760px){
  .hero--cover{min-height:0;}
  .keys--cover .key{font-size:.95rem;padding:.7rem 1.1rem;}
}

/* trust strip */
.trustbar{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;color:rgba(247,245,238,.6);font-size:.85rem;font-family:var(--font-heading);letter-spacing:.04em;text-transform:uppercase;}
.trustbar span{display:inline-flex;align-items:center;gap:.5rem;}
.trustbar span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:rgba(247,245,238,.72);padding:var(--s-7) 0 var(--s-4);}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:var(--s-4);}
.footer__brand img{height:32px;filter:brightness(0) invert(1);opacity:.95;margin-bottom:var(--s-2);}
.footer__brand p{max-width:30ch;color:rgba(247,245,238,.6);font-size:.95rem;}
.footer__addr{max-width:34ch;color:rgba(247,245,238,.5);font-size:.82rem;line-height:1.55;margin-top:var(--s-2);}
.footer__col h4{font-family:var(--font-heading);font-size:.78rem;text-transform:uppercase;letter-spacing:.16em;color:var(--gold);margin-bottom:var(--s-2);}
.footer__col a{display:block;padding:.32rem 0;color:rgba(247,245,238,.72);font-size:.95rem;}
.footer__col a:hover{color:#fff;}
.footer__bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid rgba(200,205,214,.14);font-size:.85rem;color:rgba(247,245,238,.5);}
.footer__bar a:hover{color:var(--gold);}

/* ---------- Animations ---------- */
.fade-up{opacity:0;transform:translateY(16px);transition:opacity .5s ease-out,transform .5s ease-out;}
.fade-up.in{opacity:1;transform:none;}
[data-stagger]>*{transition-delay:var(--d,0ms);}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .fade-up{opacity:1;transform:none;transition:none;}
}

/* ---------- Mobile sticky CTA ---------- */
.mobile-cta{display:none;}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:var(--s-5);}
  .hero__motif{opacity:.07;}
  .split{grid-template-columns:1fr;gap:var(--s-4);}
  .split.rev .split__media{order:0;}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer__top{grid-template-columns:1fr 1fr;}
  .footer__brand{grid-column:1 / -1;}
}
@media (max-width:760px){
  .section{padding:var(--s-6) 0;}
  .nav,.header__cta{display:none;}
  .nav-toggle{
    display:inline-flex;align-items:center;justify-content:center;margin-left:auto;
    width:44px;height:44px;border-radius:8px;border:1px solid rgba(27,42,91,.18);
    background:transparent;color:var(--navy);
  }
  .header.scrolled .nav-toggle{color:#fff;border-color:rgba(247,245,238,.3);}
  .nav-toggle svg{width:22px;height:22px;}
  .mobile-menu{
    position:fixed;inset:var(--nav-h) 0 0;z-index:49;background:var(--navy);color:#fff;
    flex-direction:column;padding:var(--s-4) var(--gutter);gap:.3rem;transform:translateY(-12px);
    opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;display:flex;
  }
  .mobile-menu.open{opacity:1;transform:none;pointer-events:auto;}
  .mobile-menu a{font-family:var(--font-heading);font-weight:600;font-size:1.25rem;padding:.7rem 0;border-bottom:1px solid rgba(247,245,238,.1);color:#fff;}
  .mobile-menu .btn{margin-top:var(--s-3);}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
  .hero__cta-row{flex-direction:column;align-items:stretch;}
  .hero__cta-row .btn{width:100%;}
  .footer__top{grid-template-columns:1fr 1fr;}
  .compare{display:block;overflow-x:auto;white-space:nowrap;}
  .mobile-cta{
    display:block;position:fixed;left:0;right:0;bottom:0;z-index:48;padding:.7rem var(--gutter);
    background:rgba(247,245,238,.94);backdrop-filter:blur(10px);border-top:var(--border-light);
  }
  .mobile-cta .btn{width:100%;}
  body{padding-bottom:74px;}
}
@media (max-width:440px){
  .footer__top{grid-template-columns:1fr;}
  .notice__msg{font-size:.82rem;}
}

/* ============================================================
   INFOGRAPHIC COMPONENTS (match deck design language)
   ============================================================ */

/* value pills (hero) */
.keys{display:flex;flex-wrap:wrap;gap:.7rem;}
.key{
  display:inline-flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:600;
  font-size:.98rem;color:var(--ivory);padding:.7rem 1.15rem;border-radius:100px;
  background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));
  border:1px solid rgba(212,164,55,.45);box-shadow:0 8px 20px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.1);
}
.key::before{content:"";width:18px;height:18px;flex:none;background:url("assets/mavynn_icon_star.png") center/contain no-repeat;}
.key--gold{background:linear-gradient(180deg,var(--gold),#bd8f2c);color:var(--navy);border-color:var(--gold);}

/* architecture stack (bottom-up) */
.archstack{display:flex;flex-direction:column;gap:.5rem;}
.alayer{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:1.2rem 1.4rem;padding:1.1rem 1.6rem;border-radius:12px;color:#fff;box-shadow:var(--shadow-soft);}
.alayer__n{font-family:var(--font-heading);font-weight:800;font-size:1.4rem;opacity:.55;}
.alayer__t{font-family:var(--font-heading);font-weight:700;font-size:1.3rem;}
.alayer__d{font-size:.98rem;opacity:.85;text-align:right;}
.alayer--1{background:linear-gradient(90deg,#16213f,#1b2a5b);}
.alayer--2{background:linear-gradient(90deg,#1b2a5b,#244073);}
.alayer--3{background:linear-gradient(90deg,#244073,#2d5baa);}
.alayer--4{background:linear-gradient(90deg,#2d5baa,#3f6fbf);}
.alayer--5{background:linear-gradient(90deg,#6d6f6a,#9c8746);}
.alayer--6{background:linear-gradient(90deg,#b98c2c,var(--gold));color:var(--navy);}
.alayer--6 .alayer__n,.alayer--6 .alayer__d{opacity:.75;}

/* metric bars (before -> after) */
.mbars{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 3rem;}
.mbar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.4rem 1.2rem;padding-bottom:1.1rem;border-bottom:1px solid rgba(27,42,91,.12);}
.section--dark .mbar{border-color:rgba(200,205,214,.18);}
.mbar__lab{font-family:var(--font-heading);font-weight:700;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);}
.section--dark .mbar__lab{color:#fff;}
.mbar__delta{grid-row:1/3;align-self:center;font-family:var(--font-heading);font-weight:800;font-size:2rem;color:var(--gold);}
.section--dark .mbar__delta{color:var(--gold);}
.mbar__track{display:flex;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:600;font-size:.95rem;color:var(--muted);}
.mbar__to{color:var(--navy);font-weight:800;}
.section--dark .mbar__to{color:#fff;}
.mbar__rail{flex:1;height:9px;border-radius:5px;background:rgba(27,42,91,.1);position:relative;overflow:hidden;}
.section--dark .mbar__rail{background:rgba(255,255,255,.12);}
.mbar__fill{position:absolute;inset:0 auto 0 0;border-radius:5px;background:linear-gradient(90deg,var(--royal),var(--gold));}

/* gap diagnostic cards */
.gap{position:relative;padding:1.6rem 1.5rem;border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-soft);border-left:5px solid #C2543B;}
.section--dark .gap{background:rgba(255,255,255,.05);box-shadow:none;}
.gap__tag{font-family:var(--font-heading);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#C2543B;}
.gap h3{font-family:var(--font-heading);font-size:1.2rem;margin:.5rem 0 .4rem;color:var(--navy);}
.section--dark .gap h3{color:#fff;}
.gap p{color:var(--muted);font-size:.97rem;}
.section--dark .gap p{color:rgba(247,245,238,.74);}

/* policy gate ladder */
.gate{display:flex;flex-direction:column;gap:.7rem;}
.gate__row{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:1.2rem;padding:1.1rem 1.4rem;border-radius:12px;background:#fff;box-shadow:var(--shadow-soft);border-left:7px solid var(--c);}
.section--dark .gate__row{background:rgba(255,255,255,.05);box-shadow:none;}
.gate__row .verb{font-family:var(--font-heading);font-weight:800;font-size:1.25rem;color:var(--c);letter-spacing:.04em;}
.gate__row p{margin:0;color:var(--muted);}
.section--dark .gate__row p{color:rgba(247,245,238,.78);}
.g-allow{--c:#2E9E6B;}.g-mask{--c:#D4A437;}.g-review{--c:#4A90E2;}.g-deny{--c:#C2543B;}

/* lanes (validated intelligence) */
.lanes{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.lane{border-radius:var(--radius-md);padding:1.7rem;}
.lane--model{background:rgba(93,103,135,.1);border:1px solid rgba(93,103,135,.22);}
.lane--compute{background:rgba(74,144,226,.1);border:1px solid rgba(74,144,226,.34);}
.lane h3{font-family:var(--font-heading);font-size:1.05rem;margin:0 0 .6rem;letter-spacing:.04em;text-transform:uppercase;}
.lane--model h3{color:var(--muted);}.lane--compute h3{color:var(--royal);}
.lane p{margin:0;color:var(--navy);}

@media (max-width:760px){
  .mbars{grid-template-columns:1fr;}
  .lanes{grid-template-columns:1fr;}
  .alayer{grid-template-columns:48px 1fr;gap:.3rem .8rem;padding:.9rem 1.1rem;}
  .alayer__d{grid-column:1/-1;text-align:left;}
  .gate__row{grid-template-columns:96px 1fr;gap:.8rem;}
}

/* AIDE pipeline */
.pipe{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;align-items:stretch;}
.pnode{position:relative;background:#fff;border-radius:var(--radius-md);padding:1.5rem 1.4rem;box-shadow:var(--shadow-soft);border-top:4px solid var(--gold);}
.section--dark .pnode{background:rgba(255,255,255,.05);box-shadow:none;}
.pnode__badge{width:44px;height:44px;border-radius:11px;display:grid;place-items:center;font-family:var(--font-heading);font-weight:800;font-size:1.2rem;background:var(--navy);color:var(--gold);margin-bottom:.8rem;}
.pnode h3{font-family:var(--font-heading);font-size:1.15rem;margin:0 0 .4rem;color:var(--navy);}
.pnode p{margin:0;color:var(--muted);font-size:.95rem;}
.pnode .outs{margin-top:.7rem;padding-top:.7rem;border-top:1px dashed rgba(27,42,91,.15);font-family:var(--font-heading);font-weight:600;font-size:.82rem;color:var(--royal);}
.pipe__arrow{display:none;}

/* lab loop */
.loop{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;}
.lstep{text-align:center;position:relative;}
.lstep:not(:last-child)::after{content:"→";position:absolute;right:-.95rem;top:34px;transform:translateY(-50%);color:var(--gold);font-size:1.4rem;font-weight:800;}
.lstep__ic{width:64px;height:64px;border-radius:50%;margin:0 auto .9rem;display:grid;place-items:center;background:rgba(45,91,170,.1);border:2px solid var(--gold);}
.section--dark .lstep__ic{background:rgba(74,144,226,.14);}
.lstep__ic img{width:32px;height:32px;}
.lstep__t{font-family:var(--font-heading);font-weight:800;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-deep);}
.section--dark .lstep__t{color:var(--gold);}
.lstep h3{font-family:var(--font-heading);font-size:1.1rem;margin:.4rem 0 .35rem;color:var(--navy);}
.section--dark .lstep h3{color:#fff;}
.lstep p{margin:0;color:var(--muted);font-size:.92rem;}
.section--dark .lstep p{color:rgba(247,245,238,.74);}

@media (max-width:900px){
  .pipe{grid-template-columns:1fr 1fr;}
  .loop{grid-template-columns:1fr 1fr;}
  .lstep:nth-child(2)::after,.lstep:last-child::after{content:none;}
}
@media (max-width:560px){
  .pipe{grid-template-columns:1fr;}
  .loop{grid-template-columns:1fr;}
  .lstep::after{content:none !important;}
}

/* ============================================================
   GLOBAL-STANDARD ELEVATION LAYER
   Modern-enterprise polish: typography, depth, atmosphere, motion.
   Purely additive — overrides for feel, never structure.
   ============================================================ */
:root{
  --ease-out:cubic-bezier(.22,1,.36,1);
  --gold-grad:linear-gradient(135deg,#E6C25E 0%,#D4A437 46%,#B9842A 100%);
  --ring-gold:0 0 0 1px rgba(212,164,55,.5);
  --shadow-card:0 1px 2px rgba(15,26,58,.06),0 12px 32px -12px rgba(15,26,58,.22);
  --shadow-card-hover:0 1px 2px rgba(15,26,58,.06),0 26px 56px -16px rgba(27,42,91,.34);
}

/* ---- Typography refinement ---- */
body{font-feature-settings:"kern" 1,"liga" 1,"calt" 1;letter-spacing:-.005em;}
h1,h2,h3,h4{text-wrap:balance;}
.lead,.measure{text-wrap:pretty;}
.stat__num,.mbar__delta,.mbar__track,.alayer__n,.bignum__n,.cover-h1{font-variant-numeric:tabular-nums;}
/* gold text gets a refined metallic gradient fill */
.text-gold{
  background:linear-gradient(180deg,#F0CE6B,#D4A437 60%,#C49431);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}

/* ---- Atmosphere: drifting aurora + fine grain on dark sections ---- */
.section--dark{position:relative;isolation:isolate;}
.section--dark::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;
  background:
    radial-gradient(38% 48% at 12% 18%,rgba(74,144,226,.20),transparent 60%),
    radial-gradient(42% 52% at 88% 86%,rgba(212,164,55,.12),transparent 62%);
  animation:auroraDrift 26s var(--ease-out) infinite alternate;
}
@keyframes auroraDrift{
  from{transform:translate3d(-2%,-1%,0) scale(1);}
  to{transform:translate3d(3%,2%,0) scale(1.08);}
}

/* ---- Buttons: metallic gold + sweeping sheen ---- */
.btn{position:relative;overflow:hidden;transition:transform .2s var(--ease-out),box-shadow .25s var(--ease-out),background .2s ease;}
.btn-gold{background:var(--gold-grad);box-shadow:0 10px 28px -8px rgba(212,164,55,.5),inset 0 1px 0 rgba(255,255,255,.4);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(212,164,55,.6),inset 0 1px 0 rgba(255,255,255,.5);}
.btn-primary:hover,.btn-ghost:hover{transform:translateY(-2px);}
.btn::after{
  content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);transition:left .6s var(--ease-out);pointer-events:none;
}
.btn:hover::after{left:140%;}

/* ---- Cards: layered depth + gold hairline on hover ---- */
.card{position:relative;box-shadow:var(--shadow-card);transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .28s ease;}
.card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:rgba(212,164,55,.4);}
.section--dark .card::before{box-shadow:inset 0 1px 0 rgba(255,255,255,.08);}

/* ---- Header: refined glass + soft shadow when scrolled ---- */
.header{transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out),border-color .3s ease;}
.header.scrolled{box-shadow:0 10px 30px -12px rgba(15,26,58,.5);}

/* ---- Eyebrow + nav micro-polish ---- */
.eyebrow{position:relative;}
.nav a::after{
  content:"";position:absolute;left:.8rem;right:.8rem;bottom:.28rem;height:2px;border-radius:2px;
  background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease-out);
}
.nav a:hover::after{transform:scaleX(1);}
.nav a.active::after{transform:scaleX(1);}

/* ---- Links: animated gradient underline ---- */
.link-arrow{background-image:linear-gradient(var(--gold),var(--gold));background-size:0% 2px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .3s var(--ease-out);padding-bottom:2px;}
.link-arrow:hover{background-size:100% 2px;}

/* ---- Inputs: smoother focus ---- */
.capture__field,.field input,.field select,.field textarea{transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;}

/* ---- Section rhythm on large screens ---- */
@media (min-width:1280px){
  .section{padding:clamp(96px,8vw,128px) 0;}
}

/* keep the sheen/aurora calm for reduced-motion users (handled globally, reinforced here) */
@media (prefers-reduced-motion:reduce){
  .section--dark::after{animation:none;}
  .btn::after{display:none;}
}

/* ---- Hero inline "Book a Demo" email capture (open text box) ---- */
.capture--hero{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.7rem;max-width:580px;}
.capture--hero .capture__field{flex:1 1 280px;min-width:0;height:58px;font-size:1.05rem;}
.capture--hero .capture__btn{flex:none;height:58px;}
.capture--hero .capture__success{flex-basis:100%;}
@media (max-width:560px){
  .capture--hero{flex-direction:column;align-items:stretch;}
  .capture--hero .capture__btn{width:100%;}
}

/* ---- Hero key pills: aligned 2-col grid, centered text, no offset icon ---- */
.keys--cover{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;max-width:540px;}
.keys--cover .key{justify-content:center;text-align:center;}
.key::before{content:none;}
@media (max-width:520px){.keys--cover{grid-template-columns:1fr;}}

/* Notification bar hidden (per request) */
.notice{display:none !important;}
