/* ==========================================================================
   BNA WORLDWIDE — COMPONENTS
   ========================================================================== */

/* ---------------------------------- Nav ---------------------------------- */
.site-nav{
  position:fixed;
  top:0; left:0; right:0;
  z-index:var(--z-nav);
  padding:1.4rem var(--page-pad-x);
  display:flex;
  align-items:center;
  justify-content:space-between;
  transition:background .5s var(--ease-out), padding .4s var(--ease-out), border-color .5s var(--ease-out), transform .55s var(--ease-premium);
  border-bottom:1px solid transparent;
  transform:translateY(0);
}
.site-nav.is-scrolled{
  padding-block:.85rem;
  background:rgba(8,11,26,.72);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:var(--line-on-dark-soft);
}
/* Internal pages: hero copy sits close under the fixed nav, so once scrolled the
   header must be fully solid — otherwise hero text bleeds through the blur and
   reads as an overlap. The homepage hero is full-bleed and unaffected. */
body:not(.home) .site-nav.is-scrolled{
  background:var(--navy-900);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.site-nav.is-hidden{ transform:translateY(-115%); }
.site-nav.theme-light:not(.is-scrolled) .nav-link,
.site-nav.theme-light:not(.is-scrolled) .nav-cta{ color:var(--ink); }
.site-nav.theme-light:not(.is-scrolled) .nav-toggle span{ background:var(--ink); }

.nav-mark{
  display:flex; align-items:center;
  position:relative; z-index:2;
}
.nav-mark img{
  height:72px; width:auto; display:block;
  transition:opacity .3s var(--ease-out);
}
.nav-mark .logo-dark{ display:none; }
.site-nav.theme-light:not(.is-scrolled) .nav-mark .logo-white{ display:none; }
.site-nav.theme-light:not(.is-scrolled) .nav-mark .logo-dark{ display:block; }

@media (max-width:640px){
  .nav-mark img{ height:52px; }
}

.nav-links{
  display:flex; align-items:center; gap:var(--space-6);
  list-style:none; margin:0; padding:0;
}
.nav-link{
  position:relative;
  font-size:.9rem; color:var(--white); opacity:.86;
  padding:.3rem 0;
  transition:opacity .25s var(--ease-out);
}
.nav-link:hover{ opacity:1; }
.nav-link::after{
  content:''; position:absolute; left:0; right:100%; bottom:-2px; height:1px;
  background:var(--sky-400); transition:right .35s var(--ease-premium);
}
.nav-link:hover::after{ right:0; }
.nav-link.has-flyout{ display:flex; align-items:center; gap:.35rem; }

.nav-right{ display:flex; align-items:center; gap:var(--space-5); }

.nav-cta{
  font-family:var(--font-mono);
  font-size:.72rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--white);
  border:1px solid var(--line-on-dark);
  padding:.65rem 1.2rem;
  border-radius:var(--radius-pill);
  transition:border-color .3s var(--ease-out), background .3s var(--ease-out);
}
.nav-cta:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.4); }

.nav-toggle{
  display:none; flex-direction:column; gap:5px; width:26px;
  position:relative; z-index:2;
}
.nav-toggle span{ height:1.5px; background:var(--white); transition:transform .3s var(--ease-out), opacity .3s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

/* Mobile nav slide-down panel */
.nav-mobile{
  position:fixed; inset:0; z-index:calc(var(--z-nav) - 1);
  background:var(--navy-900);
  display:flex; flex-direction:column;
  padding:7rem var(--page-pad-x) 2.5rem;
  overflow-y:auto;
  transform:translateY(-100%);
  transition:transform .55s var(--ease-premium);
}
.nav-mobile.is-open{ transform:translateY(0); }
.nav-mobile a{
  font-family:var(--font-display); font-size:1.5rem; color:#fff;
  padding:1rem 0; border-bottom:1px solid var(--line-on-dark-soft);
  opacity:0; transform:translateY(16px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out);
  transition-delay:calc(var(--i,0) * 45ms);
}
.nav-mobile.is-open a{ opacity:1; transform:translateY(0); }
.nav-mobile .mobile-cta{
  margin-top:1.75rem; border-bottom:0;
  display:inline-flex; align-self:flex-start;
  font-family:var(--font-mono); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  padding:.9rem 1.5rem; border-radius:var(--radius-pill); background:var(--sky-500); color:var(--navy-900);
}

@media (max-width:860px){
  .nav-links{ display:none; }
  .nav-toggle{ display:flex; }
  .nav-cta{ display:none; }
  .nav-flyout{ display:none !important; }
}
@media (min-width:861px){
  .nav-mobile{ display:none; }
}

/* Mega flyout */
.nav-flyout{
  position:fixed; top:0; left:0; right:0;
  background:var(--navy-800);
  border-bottom:1px solid var(--line-on-dark-soft);
  padding:6.5rem var(--page-pad-x) 3rem;
  display:grid; grid-template-columns:repeat(3,1fr); max-width:900px; margin-inline:auto; gap:var(--space-8);
  opacity:0; visibility:hidden; transform:translateY(-8px);
  transition:opacity .35s var(--ease-out), transform .35s var(--ease-out), visibility 0s .35s;
  z-index:calc(var(--z-nav) - 1);
}
.nav-flyout.is-open{ opacity:1; visibility:visible; transform:translateY(0); transition-delay:0s; }
.nav-flyout-col h4{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sky-400); margin-bottom:1rem; }
.nav-flyout-col a{ display:block; color:var(--white); opacity:.82; padding:.4rem 0; font-size:.95rem; border-top:1px solid var(--line-on-dark-soft); }
.nav-flyout-col a:first-of-type{ border-top:0; }
.nav-flyout-col a:hover{ opacity:1; color:var(--sky-300); }

/* ------------------------------- Buttons -------------------------------- */
.btn{
  --btn-fg:var(--navy-800);
  --btn-bg:var(--white);
  --btn-sweep:var(--navy-800);
  position:relative;
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--font-mono);
  font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  padding:1.05rem 1.8rem;
  border-radius:var(--radius-pill);
  background:var(--btn-bg); color:var(--btn-fg);
  overflow:hidden;
  isolation:isolate;
  transition:transform .45s var(--ease-premium), box-shadow .45s var(--ease-premium), color .5s var(--ease-out);
}
.btn::before{
  content:'';
  position:absolute; inset:0; z-index:-1;
  background:var(--btn-sweep);
  border-radius:inherit;
  transform:scale(0);
  transform-origin:center;
  transition:transform .55s var(--ease-premium);
}
.btn:hover{ box-shadow:var(--shadow-md); color:var(--white); }
.btn:hover::before{ transform:scale(2.4); }
.btn-arrow{ transition:transform .4s var(--ease-premium); }
.btn:hover .btn-arrow{ transform:translateX(4px); }

.btn-primary{ --btn-bg:var(--sky-500); --btn-fg:var(--navy-900); --btn-sweep:var(--navy-900); }
.btn-primary:hover{ color:var(--sky-400); }
.btn-ghost{
  --btn-bg:transparent; --btn-fg:var(--white); --btn-sweep:var(--white);
  border:1px solid var(--line-on-dark);
}
.btn-ghost:hover{ border-color:transparent; color:var(--navy-900); }
.btn-ghost.on-light{ --btn-fg:var(--ink); --btn-sweep:var(--navy-800); border-color:var(--line-on-light); }
.btn-ghost.on-light:hover{ border-color:transparent; color:var(--white); }
.btn-dark{ --btn-bg:var(--navy-700); --btn-fg:var(--white); --btn-sweep:var(--sky-500); }
.btn-dark:hover{ color:var(--navy-900); }
.btn-outline-dark{ --btn-bg:transparent; --btn-fg:var(--navy-800); --btn-sweep:var(--navy-800); border:1px solid var(--line-on-light); }
.btn-outline-dark:hover{ border-color:transparent; color:var(--white); }

.btn-block{ width:100%; justify-content:center; }

/* magnetic wrapper target */
.magnetic{ display:inline-block; }

/* ---------------------------------- Cards -------------------------------- */
.card{
  background:var(--white);
  border:1px solid var(--line-on-light);
  border-radius:var(--radius-lg);
  padding:var(--space-6);
  transition:transform .5s var(--ease-premium), box-shadow .5s var(--ease-premium), border-color .5s;
  transform-style:preserve-3d;
  will-change:transform;
}
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
/* JS-driven pointer tilt (main.js) sets an inline transform on mousemove for fine-grained
   3D depth; that inline style naturally wins over this rule while the pointer is active,
   and .js-tilting shortens the transition so the tilt tracks the cursor without lag. */
.card.js-tilting{ transition:transform .15s linear, box-shadow .5s var(--ease-premium), border-color .5s; }

.card-dark{
  background:var(--surface-on-dark);
  border:1px solid var(--line-on-dark);
  color:var(--white);
  backdrop-filter:blur(6px);
}
.card-dark:hover{ background:var(--surface-on-dark-hi); }

.card-num{
  font-family:var(--font-mono); font-size:.75rem; color:var(--sky-700);
  letter-spacing:.1em;
}
.card-dark .card-num{ color:var(--sky-400); }

/* --------------------------------- Stats --------------------------------- */
.stat{
  display:flex; flex-direction:column; gap:.5rem;
}
.stat-num{
  font-family:var(--font-display);
  font-size:var(--fs-stat);
  font-weight:600;
  line-height:1;
  letter-spacing:-.02em;
  display:flex; align-items:baseline; gap:.15em;
}
.stat-num .suffix{ font-size:.5em; color:var(--sky-500); }
.stat-label{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.06em;
  color:var(--charcoal-500); /* AA-safe default; .on-dark rule below overrides for dark sections */
  text-transform:uppercase;
}
.on-dark .stat-label{ color:rgba(255,255,255,.55); }

/* -------------------------------- Tag/pill -------------------------------- */
.pill{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.45rem .9rem;
  border-radius:var(--radius-pill);
  border:1px solid var(--line-on-light);
  color:var(--ink-soft);
}
.on-dark .pill{ border-color:var(--line-on-dark); color:rgba(255,255,255,.75); }
.pill .dot{ width:6px; height:6px; border-radius:50%; background:var(--sky-500); }

/* -------------------------------- Forms ----------------------------------- */
.field{ display:flex; flex-direction:column; gap:.5rem; margin-bottom:var(--space-5); }
.field label{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--charcoal-500);
}
.field input, .field textarea, .field select{
  border:1px solid var(--line-on-light);
  border-radius:var(--radius-sm);
  padding:.9rem 1rem;
  background:var(--white);
  font-size:1rem;
  transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out);
}
.field input:focus, .field textarea:focus, .field select:focus{
  border-color:var(--sky-500);
  box-shadow:0 0 0 4px var(--sky-100);
  outline:none;
}
.field textarea{ resize:vertical; min-height:140px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); }
@media (max-width:640px){ .field-row{ grid-template-columns:1fr; } }

/* -------------------------------- Footer ----------------------------------- */
.site-footer{
  background:var(--navy-900);
  color:rgba(255,255,255,.72);
  padding-block: var(--space-10) var(--space-6);
  position:relative;
  overflow:hidden;
}
.site-footer::before{
  content:'';
  position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--sky-500) 50%, transparent);
  opacity:.5;
}
.footer-top{
  display:grid;
  grid-template-columns:1.4fr repeat(4,1fr);
  gap:var(--space-6);
  padding-bottom:var(--space-8);
  border-bottom:1px solid var(--line-on-dark-soft);
  position:relative; z-index:2;
}
.footer-logo{ height:56px; width:auto; }
.footer-brand p{ margin-top:1.25rem; color:rgba(255,255,255,.55); max-width:32ch; font-size:.95rem; line-height:var(--lh-loose); }
.footer-col h4{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
  color:rgba(255,255,255,.38); margin-bottom:1.25rem;
}
.footer-col a{
  display:block; padding:.4rem 0; font-size:.95rem; color:rgba(255,255,255,.78);
  transition:color .3s var(--ease-out), transform .3s var(--ease-out), padding-left .3s var(--ease-out);
}
.footer-col a:hover{ color:var(--sky-400); padding-left:.4rem; }
.footer-social{ display:flex; gap:.75rem; margin-top:1.75rem; }
.footer-social a{
  width:38px; height:38px; border:1px solid var(--line-on-dark); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  position:relative;
  transition:border-color .3s var(--ease-out), background .3s var(--ease-out), transform .3s var(--ease-out);
  color:transparent; /* hide the literal in/f/ig/yt text; icon drawn via ::before below */
  font-size:0;
}
.footer-social a::before{
  content:'';
  width:16px; height:16px;
  background-color:rgba(255,255,255,.82);
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
  transition:background-color .3s var(--ease-out);
}
.footer-social a[aria-label="LinkedIn"]::before{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.11 1 2.48 1 4.98 2.12 4.98 3.5zM.24 8.16h4.46V23H.24V8.16zM8.09 8.16h4.28v2.03h.06c.6-1.13 2.05-2.33 4.22-2.33 4.51 0 5.35 2.97 5.35 6.83V23h-4.46v-6.6c0-1.57-.03-3.6-2.19-3.6-2.19 0-2.53 1.71-2.53 3.48V23H8.09V8.16z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.98 3.5C4.98 4.88 3.87 6 2.5 6S0 4.88 0 3.5 1.11 1 2.48 1 4.98 2.12 4.98 3.5zM.24 8.16h4.46V23H.24V8.16zM8.09 8.16h4.28v2.03h.06c.6-1.13 2.05-2.33 4.22-2.33 4.51 0 5.35 2.97 5.35 6.83V23h-4.46v-6.6c0-1.57-.03-3.6-2.19-3.6-2.19 0-2.53 1.71-2.53 3.48V23H8.09V8.16z'/%3E%3C/svg%3E"); }
.footer-social a[aria-label="Facebook"]::before{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.4h2.8l.4-3.3h-3.2V8.1c0-.95.27-1.6 1.63-1.6H17V3.5c-.3-.04-1.3-.13-2.46-.13-2.44 0-4.1 1.49-4.1 4.22v2.35H7.6v3.3h2.84V22h3.06z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 22v-8.4h2.8l.4-3.3h-3.2V8.1c0-.95.27-1.6 1.63-1.6H17V3.5c-.3-.04-1.3-.13-2.46-.13-2.44 0-4.1 1.49-4.1 4.22v2.35H7.6v3.3h2.84V22h3.06z'/%3E%3C/svg%3E"); }
.footer-social a[aria-label="Instagram"]::before{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.72 3.72 0 01-1.38-.9 3.72 3.72 0 01-.9-1.38c-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.21 8.8 2.2 12 2.2zm0 1.98c-3.15 0-3.5.01-4.73.07-1.14.05-1.76.24-2.17.4-.55.21-.94.47-1.35.88-.41.41-.67.8-.88 1.35-.16.41-.35 1.03-.4 2.17-.06 1.23-.07 1.58-.07 4.73s.01 3.5.07 4.73c.05 1.14.24 1.76.4 2.17.21.55.47.94.88 1.35.41.41.8.67 1.35.88.41.16 1.03.35 2.17.4 1.23.06 1.58.07 4.73.07s3.5-.01 4.73-.07c1.14-.05 1.76-.24 2.17-.4.55-.21.94-.47 1.35-.88.41-.41.67-.8.88-1.35.16-.41.35-1.03.4-2.17.06-1.23.07-1.58.07-4.73s-.01-3.5-.07-4.73c-.05-1.14-.24-1.76-.4-2.17a3.63 3.63 0 00-.88-1.35 3.63 3.63 0 00-1.35-.88c-.41-.16-1.03-.35-2.17-.4-1.23-.06-1.58-.07-4.73-.07zm0 3.37a5.45 5.45 0 110 10.9 5.45 5.45 0 010-10.9zm0 1.98a3.47 3.47 0 100 6.94 3.47 3.47 0 000-6.94zm5.66-1.85a1.27 1.27 0 11-2.54 0 1.27 1.27 0 012.54 0z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.2c3.2 0 3.58.01 4.85.07 1.17.05 1.8.25 2.23.41.56.22.96.48 1.38.9.42.42.68.82.9 1.38.16.42.36 1.06.41 2.23.06 1.27.07 1.65.07 4.85s-.01 3.58-.07 4.85c-.05 1.17-.25 1.8-.41 2.23-.22.56-.48.96-.9 1.38-.42.42-.82.68-1.38.9-.42.16-1.06.36-2.23.41-1.27.06-1.65.07-4.85.07s-3.58-.01-4.85-.07c-1.17-.05-1.8-.25-2.23-.41a3.72 3.72 0 01-1.38-.9 3.72 3.72 0 01-.9-1.38c-.16-.42-.36-1.06-.41-2.23-.06-1.27-.07-1.65-.07-4.85s.01-3.58.07-4.85c.05-1.17.25-1.8.41-2.23.22-.56.48-.96.9-1.38.42-.42.82-.68 1.38-.9.42-.16 1.06-.36 2.23-.41C8.42 2.21 8.8 2.2 12 2.2zm0 1.98c-3.15 0-3.5.01-4.73.07-1.14.05-1.76.24-2.17.4-.55.21-.94.47-1.35.88-.41.41-.67.8-.88 1.35-.16.41-.35 1.03-.4 2.17-.06 1.23-.07 1.58-.07 4.73s.01 3.5.07 4.73c.05 1.14.24 1.76.4 2.17.21.55.47.94.88 1.35.41.41.8.67 1.35.88.41.16 1.03.35 2.17.4 1.23.06 1.58.07 4.73.07s3.5-.01 4.73-.07c1.14-.05 1.76-.24 2.17-.4.55-.21.94-.47 1.35-.88.41-.41.67-.8.88-1.35.16-.41.35-1.03.4-2.17.06-1.23.07-1.58.07-4.73s-.01-3.5-.07-4.73c-.05-1.14-.24-1.76-.4-2.17a3.63 3.63 0 00-.88-1.35 3.63 3.63 0 00-1.35-.88c-.41-.16-1.03-.35-2.17-.4-1.23-.06-1.58-.07-4.73-.07zm0 3.37a5.45 5.45 0 110 10.9 5.45 5.45 0 010-10.9zm0 1.98a3.47 3.47 0 100 6.94 3.47 3.47 0 000-6.94zm5.66-1.85a1.27 1.27 0 11-2.54 0 1.27 1.27 0 012.54 0z'/%3E%3C/svg%3E"); }
.footer-social a[aria-label="YouTube"]::before{ -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.5 6.2a3 3 0 00-2.11-2.12C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.39.58A3 3 0 00.5 6.2 31.6 31.6 0 000 12a31.6 31.6 0 00.5 5.8 3 3 0 002.11 2.12C4.5 20.5 12 20.5 12 20.5s7.5 0 9.39-.58a3 3 0 002.11-2.12A31.6 31.6 0 0024 12a31.6 31.6 0 00-.5-5.8zM9.6 15.6V8.4l6.4 3.6-6.4 3.6z'/%3E%3C/svg%3E"); mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.5 6.2a3 3 0 00-2.11-2.12C19.5 3.5 12 3.5 12 3.5s-7.5 0-9.39.58A3 3 0 00.5 6.2 31.6 31.6 0 000 12a31.6 31.6 0 00.5 5.8 3 3 0 002.11 2.12C4.5 20.5 12 20.5 12 20.5s7.5 0 9.39-.58a3 3 0 002.11-2.12A31.6 31.6 0 0024 12a31.6 31.6 0 00-.5-5.8zM9.6 15.6V8.4l6.4 3.6-6.4 3.6z'/%3E%3C/svg%3E"); }
.footer-social a:hover{ border-color:var(--sky-500); background:rgba(79,184,234,.12); transform:translateY(-3px); }
.footer-social a:hover::before{ background-color:var(--sky-400); }

.footer-bottom{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  padding-top:var(--space-6);
  font-size:.82rem; color:rgba(255,255,255,.42);
  position:relative; z-index:2;
}
.footer-bottom a{ color:rgba(255,255,255,.6); }
.footer-legal{ display:flex; gap:1.5rem; flex-wrap:wrap; }

/* Ghost wordmark — large faint brand mark behind the footer, agency-style */
.site-footer::after{
  content:'BNA WORLDWIDE';
  position:absolute;
  left:50%; bottom:-.19em;
  transform:translateX(-50%);
  font-family:var(--font-display);
  font-size:min(15vw, 13rem);
  font-weight:700;
  letter-spacing:-.02em;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.06);
  white-space:nowrap;
  pointer-events:none;
  z-index:1;
  line-height:1;
}

@media (max-width: 980px){
  .footer-top{ grid-template-columns:1fr 1fr; row-gap:var(--space-7); }
}
@media (max-width: 600px){
  .footer-top{ grid-template-columns:1fr; }
  .site-footer::after{ display:none; }
}

/* --------------------------------- Misc ------------------------------------ */
.divider-v{ width:1px; align-self:stretch; background:var(--line-on-light); }
.on-dark .divider-v{ background:var(--line-on-dark); }

.kicker-num{
  font-family:var(--font-mono); font-size:.75rem; color:var(--sky-700);
}

.chip-row{ display:flex; flex-wrap:wrap; gap:.6rem; }

/* --------------------------- Closing CTA band ------------------------------ */
/* Shared across pages (not homepage-only) — see index.html / about.html */
.scene-cta{ background:var(--navy-900); color:#fff; padding-block:calc(var(--section-pad-y) * 1.3); text-align:center; position:relative; overflow:hidden; }
.scene-cta h2{ font-family:var(--font-display); font-size:var(--fs-display-xl); max-width:30ch; margin-inline:auto; margin-top:1.75rem; }
.scene-cta .cta-actions{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:2.5rem; }
