/* Foundry Digital AI — v2 theme overlay (2026-07-20)
   Loads AFTER base.css + site.css on inner pages. Restyles the shared shell to
   match the compliance-repositioning homepage: Manrope display, pill buttons,
   white canvas, rounded "island" sections with navy glow. Homepage (index.html)
   carries its own inline styles and does not load this file. */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@600;700;800&display=swap');

:root {
  --font-display: 'Manrope', system-ui, sans-serif;
  --r-2xl: 28px;
  --island-w: min(1360px, calc(100% - 48px));
  --glow-navy:
    radial-gradient(90% 70% at 50% 108%, rgba(46,144,250,.55), rgba(46,144,250,0) 62%),
    radial-gradient(40% 30% at 50% 112%, rgba(255,255,255,.28), rgba(255,255,255,0) 70%),
    var(--navy);
}

/* ---------- white canvas, no mesh ---------- */
html { background: var(--white); }
body, body.mesh-on { background: var(--white); }
#siteBg { display: none; }
body.mesh-on .sec { background: transparent; }

/* ---------- type scale up ---------- */
.h1 { font-size: clamp(40px, 6vw, 72px); line-height: 1.04; letter-spacing: -.03em; }
.h2 { font-size: clamp(30px, 4.2vw, 50px); line-height: 1.08; letter-spacing: -.024em; }
.h3 { letter-spacing: -.012em; }

.eyebrow, .page-hero .eyebrow, .opB .eyebrow {
  font-family: var(--font-body); font-weight: 700; font-size: 14px;
  letter-spacing: .14em; margin-bottom: 18px;
}

/* ---------- pill buttons ---------- */
.btn { border-radius: var(--r-full); }
.btn-md { padding: 12px 26px; }
.btn-lg { padding: 16px 32px; }

/* ---------- nav ---------- */
.nav { background: rgba(255,255,255,.94); backdrop-filter: blur(8px); }
.nav-inner { height: 88px; }
.logo img.logo-img { height: 58px; width: auto; }
.footer .logo img.logo-img { height: 44px; }
.mobile-menu { top: 88px; }
/* keep the CTA visible on mobile, hide only the links */
@media (max-width: 768px){
  .nav-links { display: flex; }
  .nav-links .btn { display: inline-flex; font-size: 13px; padding: 10px 20px; }
}

/* ---------- page hero: navy block -> white, big ---------- */
.page-hero, body.mesh-on .page-hero { background: var(--white); }
.page-hero .wrap { padding: 96px 48px 72px; }
@media (max-width: 768px){ .page-hero .wrap { padding: 64px 24px 48px; } }
.page-hero h1 { color: var(--ink); max-width: 18ch; }
.page-hero .eyebrow { color: var(--sky); }
.page-hero .sub { color: var(--muted); }
.page-hero .btn-ghost { border-color: var(--sky); color: var(--sky-700); background: transparent; }
.page-hero .btn-ghost:hover { background: var(--sky-50); border-color: var(--sky); }

/* ---------- islands ---------- */
.sec.band, body.mesh-on .sec.band {
  background: var(--mist); width: var(--island-w); margin: 0 auto;
  border-radius: var(--r-2xl); overflow: hidden;
}
.ctaB, body.mesh-on .ctaB, .opB, body.mesh-on .opB {
  background: var(--glow-navy); width: var(--island-w); margin: 32px auto;
  border-radius: var(--r-2xl); overflow: hidden;
}
.pedigree, body.mesh-on .pedigree { background: var(--mist); border: none;
  width: var(--island-w); margin: 0 auto; border-radius: var(--r-full); backdrop-filter: none; }
.pedigree .wrap { justify-content: center; }

/* ---------- cards: match homepage geometry ---------- */
.card, .svc-card, .term-card, .menu-item, .extra-card { border-radius: var(--r-xl); }

/* ---------- footer ---------- */
.footer, body.mesh-on .footer { background: var(--navy); }
.footer { padding: 52px 0 30px; }
.footer .tagline { font-family: var(--font-body); font-weight: 600; letter-spacing: .1em; }
