/* manta theme overrides: loaded after bundle CSS; survives hydration (pure CSS) */

/* ---------- readability ---------- */
:root { --size-small: 1.4rem; }                                  /* mono/body text 12px -> 14px */
.section-text-card-side-text,
.section-logoCards-card-text,
.section-imgCards-card-text { font-size: 1.4rem !important; line-height: 1.6 !important; }
.section-text-card-side-inner,
.section-text-card-inner { filter: drop-shadow(0 0 3rem rgba(0,0,0,.85)) drop-shadow(0 .2rem .6rem rgba(0,0,0,.7)); }
.section-text-card-side-heading,
.section-text-card-side-text,
.section-text-card-side-cta { text-shadow: 0 .1rem 1.2rem rgba(0,0,0,.75); }
.footer-link-text { opacity: .88 !important; }
.footer-link-text:hover { opacity: 1 !important; }
.section-wordCloud-item { color: #aab6c8 !important; }

/* text panel over bright cubes on phones */
@media (max-width: 767px) {
  .section-text-card-side-inner {
    position: relative; padding: 2rem 2rem 2.2rem; border-radius: 1.2rem;
    background: radial-gradient(120% 120% at 20% 20%, rgba(0,0,0,.62), rgba(0,0,0,.38) 60%, rgba(0,0,0,.18));
    -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  }
  .section-text-card-side-text { max-width: none; }
}

/* ---------- announcement bar: dark, readable ---------- */
.header-announcement-bar[data-scheme="manta-blue"] { background: #0d0d0f !important; color: #fff !important; border-bottom: 1px solid rgba(255,255,255,.08); }
.header-announcement-bar[data-scheme="manta-blue"] .header-announcement-bar-link { color: #95bfff !important; }

/* ---------- a11y ---------- */
a:focus-visible, button:focus-visible { outline: 2px solid #95bfff !important; outline-offset: 3px; }
.skip-link:focus { clip: auto !important; clip-path: none !important; width: auto !important; height: auto !important; margin: 0 !important; overflow: visible !important; white-space: normal !important; padding: .8rem 1.2rem; background: #000; color: #fff; z-index: 1000; }
/* in-page CTAs get a plain arrow; real external links and mailto keep the north-east arrow */
.section-text-card-side .cta-group .section-text-card-side-cta:after,
.section-logoCards .section-logoCards-cards .section-logoCards-card .cta-group .section-logoCards-card-cta:after,
.section-imgCards .section-imgCards-cards .section-imgCards-card .cta-group .section-imgCards-card-cta:after,
.header-nav-submenu-link:after { content: "\2192" !important; }
a[href^="http"].section-text-card-side-cta:after, a[href^="http"].section-logoCards-card-cta:after, a[href^="http"].section-imgCards-card-cta:after, a[href^="http"].header-nav-submenu-link:after, a[href^="mailto"]:after { content: "\2197" !important; }

/* WebGL fallback (inject/webgl-fallback.js adds html.no-webgl): paint the voxel cube poster where the scene would be */
html.no-webgl .rubiks-canvas { background: #f6f7f9 url(/assets/brand/hero-poster.jpg) center 62% / cover no-repeat !important; }
html.no-webgl .rubiks-canvas::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg, rgba(246,247,249,.92) 0%, rgba(246,247,249,.35) 38%, rgba(246,247,249,0) 60%, rgba(246,247,249,.55) 100%); }
@media (max-width: 640px) { html.no-webgl .rubiks-canvas { background-image: url(/assets/brand/hero-poster-960.jpg) !important; background-position: 40% 62% !important; } }
