/* Agenz Foundation V94
   Unified white editorial system, accessibility contrast audit, and fluid hero sculpture. */

:root {
  --v94-paper: #ffffff;
  --v94-soft: #f6f8fc;
  --v94-blue-soft: #edf4ff;
  --v94-blue-pale: #f6f9ff;
  --v94-blue: #155fd1;
  --v94-blue-strong: #0b4ead;
  --v94-ink: #101735;
  --v94-copy: #536078;
  --v94-muted: #77839a;
  --v94-line: #dbe3ef;
  --v94-line-strong: #c8d3e2;
  --v94-radius: 24px;
  --v94-radius-small: 15px;
  --v94-shadow: 0 28px 75px rgba(29, 53, 94, .11), 0 4px 14px rgba(29, 53, 94, .05);
  --v94-shadow-soft: 0 14px 38px rgba(29, 53, 94, .075);
  --v94-max: 1240px;
  --v94-pad: clamp(20px, 4vw, 64px);
}

html,
body {
  color-scheme: light !important;
  background: var(--v94-paper) !important;
}

body {
  color: var(--v94-ink) !important;
  font-family: "Manrope", system-ui, sans-serif !important;
}

body > main,
body main {
  color: var(--v94-ink) !important;
  background: var(--v94-paper) !important;
}

body main :where(h1, h2, h3, h4, strong, summary) {
  color: var(--v94-ink);
}

body main :where(p, li) {
  color: var(--v94-copy);
}

.gradient-word,
.hero-spectrum,
.umkm-hero h1 span,
.academy-hero h1 span,
.academy-heading h2 span,
.academy-dark h2 span,
.library-hero h1 span,
.library-section-head h2 span,
.library-browse-head h2 span {
  color: var(--v94-blue) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

.eyebrow,
.umkm-kicker,
.library-kicker,
.ther-case-kicker {
  color: var(--v94-blue) !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Canonical white navigation and always-visible Agenz identity. */
.site-header,
.site-header.scrolled,
.site-header.ref-scrolled,
.umkm-page .site-header,
.umkm-page .site-header.scrolled,
.umkm-page .site-header.ref-scrolled {
  top: 14px !important;
  width: min(1380px, calc(100% - 32px)) !important;
  height: 72px !important;
  padding: 0 14px 0 20px !important;
  grid-template-columns: 172px minmax(0, 1fr) auto !important;
  gap: 16px !important;
  color: var(--v94-ink) !important;
  border: 1px solid rgba(26, 56, 102, .12) !important;
  border-radius: 21px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 50px rgba(28, 50, 88, .10) !important;
  backdrop-filter: blur(20px) saturate(1.1) !important;
}

.site-header.scrolled,
.site-header.ref-scrolled,
.umkm-page .site-header.scrolled,
.umkm-page .site-header.ref-scrolled {
  top: 9px !important;
  height: 64px !important;
}

.brand-lockup,
.umkm-page .brand-lockup {
  width: 166px !important;
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.brand-lockup img,
.site-header .brand-lockup img,
.umkm-page .brand-lockup img,
.site-footer .footer-logo img,
.footer-logo img {
  content: url("/agenz-logo-navy-transparent.png") !important;
  width: 166px !important;
  height: 40px !important;
  max-width: 100% !important;
  max-height: 40px !important;
  object-fit: contain !important;
  object-position: left center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

.desktop-nav,
body.ecosystem-showcase .desktop-nav {
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(10px, 1.08vw, 18px) !important;
}

.desktop-nav a,
body.ecosystem-showcase .desktop-nav a,
.umkm-page .desktop-nav a {
  padding: 26px 0 23px !important;
  color: #5e6b82 !important;
  background: transparent !important;
  font-size: .615rem !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.desktop-nav a::after,
body.ecosystem-showcase .desktop-nav a::after,
.umkm-page .desktop-nav a::after {
  height: 2px !important;
  bottom: 15px !important;
  background: var(--v94-blue) !important;
  box-shadow: none !important;
}

.desktop-nav a:hover,
.desktop-nav a[aria-current="page"],
body.ecosystem-showcase .desktop-nav a:hover,
body.ecosystem-showcase .desktop-nav a[aria-current="page"] {
  color: var(--v94-ink) !important;
}

.header-actions,
body.ecosystem-showcase .header-actions {
  gap: 8px !important;
}

.header-cta,
body.ecosystem-showcase .header-cta,
.umkm-page .header-cta {
  min-height: 42px !important;
  padding: 0 15px !important;
  color: #fff !important;
  border: 1px solid var(--v94-blue) !important;
  border-radius: 999px !important;
  background: var(--v94-blue) !important;
  box-shadow: none !important;
  font-size: .61rem !important;
}

.language-toggle {
  color: #627089 !important;
  border-color: var(--v94-line) !important;
  background: var(--v94-soft) !important;
}

.menu-toggle,
.menu-toggle span {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line) !important;
  background-color: var(--v94-paper) !important;
}

.menu-toggle span { background-color: var(--v94-ink) !important; }

.mobile-menu,
.umkm-page .mobile-menu {
  color: var(--v94-ink) !important;
  background: rgba(255, 255, 255, .995) !important;
}

.mobile-menu a,
.umkm-page .mobile-menu a {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line) !important;
}

.mobile-menu a[aria-current="page"] { color: var(--v94-blue) !important; }

/* Home landing — high-end fluid morph animation without a forced dashboard panel. */
.hero.ecosystem-hero {
  min-height: 830px !important;
  padding-top: 130px !important;
  overflow: hidden !important;
  color: var(--v94-ink) !important;
  background:
    radial-gradient(circle at 84% 19%, rgba(21, 95, 209, .075), transparent 27%),
    linear-gradient(rgba(21, 95, 209, .028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 95, 209, .028) 1px, transparent 1px),
    linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
  background-size: auto, 68px 68px, 68px 68px, auto !important;
}

.hero.ecosystem-hero::before {
  width: 560px !important;
  height: 560px !important;
  right: -130px !important;
  top: 115px !important;
  border: 0 !important;
  background: radial-gradient(circle, rgba(21, 95, 209, .09), transparent 69%) !important;
  box-shadow: none !important;
}

.hero-inner {
  width: min(1360px, calc(100% - (2 * var(--v94-pad)))) !important;
  grid-template-columns: minmax(0, .96fr) minmax(440px, .84fr) !important;
  gap: clamp(52px, 6vw, 96px) !important;
}

.hero-copy { max-width: 760px !important; }

.hero h1,
.hero-title {
  color: var(--v94-ink) !important;
  font-size: clamp(3.5rem, 6.1vw, 6.25rem) !important;
  line-height: .9 !important;
  letter-spacing: -.068em !important;
}

.hero-white { color: var(--v94-ink) !important; }
.hero-lead { max-width: 650px !important; color: var(--v94-copy) !important; }
.hero-meta { color: var(--v94-muted) !important; border-color: var(--v94-line) !important; }
.hero-meta i { background: var(--v94-blue) !important; box-shadow: 0 0 0 5px rgba(21, 95, 209, .10) !important; }
.hero-visual { min-height: 590px !important; align-items: center !important; transform: none !important; }
.ecosystem-board { display: none !important; }

.morphy-stage {
  --morph-x: 0px;
  --morph-y: 0px;
  --morph-rx: 0deg;
  --morph-ry: 0deg;
  position: relative;
  width: min(100%, 590px);
  min-height: 590px;
  margin-inline: auto;
  isolation: isolate;
  perspective: 1100px;
}

.morphy-stage::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: 8% 4% 9%;
  border: 1px solid rgba(21, 95, 209, .10);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .96), rgba(237, 244, 255, .72) 52%, rgba(255, 255, 255, 0) 74%);
}

.morphy-halo {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(21, 95, 209, .14);
  border-radius: 50%;
  pointer-events: none;
}

.morphy-halo.halo-one { inset: 11% 9% 13% 10%; }
.morphy-halo.halo-two { inset: 20% 18% 21%; border-style: dashed; opacity: .65; }

.morphy-shadow {
  position: absolute;
  left: 19%;
  right: 17%;
  bottom: 7%;
  height: 54px;
  border-radius: 50%;
  background: rgba(30, 65, 122, .15);
  filter: blur(25px);
}

.morphy-sculpture {
  position: absolute;
  left: 50%;
  top: 48%;
  width: min(77%, 438px);
  aspect-ratio: 1;
  transform: translate3d(calc(-50% + var(--morph-x)), calc(-50% + var(--morph-y)), 0) rotateX(var(--morph-rx)) rotateY(var(--morph-ry));
  transform-style: preserve-3d;
  transition: transform .35s cubic-bezier(.22, .8, .2, 1);
}

.morphy-layer,
.morphy-glass,
.morphy-line {
  position: absolute;
  display: block;
  pointer-events: none;
}

.morphy-layer {
  inset: 4%;
  border: 1px solid rgba(255, 255, 255, .8);
  box-shadow:
    inset 20px 18px 50px rgba(255, 255, 255, .76),
    inset -26px -24px 58px rgba(30, 104, 220, .17),
    0 35px 80px rgba(28, 74, 145, .18);
  filter: saturate(.88);
}

.morphy-layer.layer-one {
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(204,224,255,.92) 48%, rgba(112,161,236,.82));
  animation: v94MorphOne 11s ease-in-out infinite alternate;
}

.morphy-layer.layer-two {
  inset: 13% 8% 8% 15%;
  opacity: .62;
  background: linear-gradient(315deg, rgba(255,255,255,.94), rgba(188,215,255,.78) 55%, rgba(24,91,197,.40));
  mix-blend-mode: multiply;
  animation: v94MorphTwo 13s ease-in-out infinite alternate;
}

.morphy-layer.layer-three {
  inset: 23% 18% 17% 22%;
  opacity: .76;
  background: radial-gradient(circle at 34% 30%, #fff 0 8%, rgba(255,255,255,.7) 22%, rgba(38,104,207,.40) 70%, rgba(14,68,154,.54));
  animation: v94MorphThree 9s ease-in-out infinite alternate;
}

.morphy-glass {
  inset: 1% 13% 14% 2%;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 46% 54% 62% 38% / 42% 39% 61% 58%;
  background: linear-gradient(130deg, rgba(255,255,255,.58), transparent 48%);
  box-shadow: inset 0 1px 0 #fff;
  backdrop-filter: blur(2px);
  animation: v94GlassFloat 7s ease-in-out infinite;
}

.morphy-line {
  width: 66%;
  height: 66%;
  left: 17%;
  top: 15%;
  border: 1px solid rgba(13, 73, 168, .24);
  border-radius: 48% 52% 41% 59% / 61% 45% 55% 39%;
}

.morphy-line.line-one { transform: rotate(22deg); animation: v94LineSpin 18s linear infinite; }
.morphy-line.line-two { inset: 24%; width: 52%; height: 52%; transform: rotate(-28deg); animation: v94LineSpinReverse 15s linear infinite; }

.morphy-caption {
  position: absolute;
  z-index: 4;
  left: 4%;
  bottom: 4%;
  width: min(290px, 56%);
  padding: 17px 18px;
  border: 1px solid rgba(24, 75, 151, .13);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 48px rgba(30, 63, 112, .11);
  backdrop-filter: blur(16px);
}

.morphy-caption span,
.morphy-caption strong,
.morphy-caption small { display: block; }
.morphy-caption span { color: var(--v94-blue); font-size: .52rem; font-weight: 800; letter-spacing: .1em; }
.morphy-caption strong { margin: 9px 0 10px; color: var(--v94-ink); font-size: 1.02rem; line-height: 1.15; letter-spacing: -.02em; }
.morphy-caption small { color: var(--v94-muted); font-size: .59rem; }

.morphy-chip,
.morphy-index {
  position: absolute;
  z-index: 5;
  color: var(--v94-ink);
  font-size: .54rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.morphy-chip {
  padding: 9px 12px;
  border: 1px solid rgba(24, 75, 151, .13);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 13px 32px rgba(30, 63, 112, .09);
  backdrop-filter: blur(12px);
}

.morphy-chip i {
  width: 7px;
  height: 7px;
  display: inline-block;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--v94-blue);
  box-shadow: 0 0 0 4px rgba(21,95,209,.10);
}

.morphy-chip.chip-human { top: 11%; right: 4%; animation: v94ChipFloat 5.5s ease-in-out infinite; }
.morphy-chip.chip-ai { right: 1%; bottom: 19%; animation: v94ChipFloat 6.5s ease-in-out -2s infinite; }
.morphy-index { left: 8%; top: 17%; color: var(--v94-muted); writing-mode: vertical-rl; }

/* Light, readable page heroes across all primary routes. */
.page-hero,
body.ecosystem-showcase .page-hero,
.umkm-hero,
.academy-hero,
.design-hero,
.library-hero {
  color: var(--v94-ink) !important;
  border-bottom: 1px solid var(--v94-line) !important;
  background:
    radial-gradient(circle at 82% 18%, rgba(21,95,209,.09), transparent 26%),
    linear-gradient(180deg, #fff, var(--v94-blue-pale)) !important;
}

.page-hero::before,
body.ecosystem-showcase .page-hero::before {
  border-color: rgba(21,95,209,.12) !important;
  box-shadow: none !important;
}

.page-hero :where(h1, h2, h3),
body.ecosystem-showcase .page-hero :where(h1, h2, h3),
.umkm-hero :where(h1, h2, h3),
.academy-hero :where(h1, h2, h3),
.design-hero :where(h1, h2, h3),
.library-hero :where(h1, h2, h3) {
  color: var(--v94-ink) !important;
}

.page-lead,
.page-hero p,
body.ecosystem-showcase .page-hero p,
.umkm-lead,
.academy-hero-copy > p,
.design-hero-lead,
.library-hero-copy > p {
  color: var(--v94-copy) !important;
}

/* Structural surfaces: white/soft-white rhythm with no dark-theme leakage. */
.section,
.section-dark,
.section-light,
.umkm-section,
.brief-section,
.academy-section,
.academy-dark,
.academy-soft,
.library-section,
.library-bookshelf-section,
.design-workspace-section,
.design-universe-section,
.generation-flow,
.template-market,
.package-section,
.payment-section,
.insights-index-section,
.ther-case-study {
  color: var(--v94-ink) !important;
  background: var(--v94-paper) !important;
}

.section:nth-of-type(even),
.umkm-section.soft,
.academy-section:nth-of-type(even),
.academy-soft,
.library-bookshelf-section,
.brief-section,
.template-market,
.design-universe-section {
  background: var(--v94-soft) !important;
}

.section-heading,
.umkm-heading,
.academy-heading,
.library-section-head,
.library-browse-head,
.portfolio-gallery-head,
.ther-case-heading,
.ther-case-subhead {
  gap: clamp(28px, 5vw, 66px) !important;
}

.section-heading :where(h2, h3),
.umkm-heading :where(h2, h3),
.academy-heading :where(h2, h3),
.library-section-head :where(h2, h3),
.library-browse-head :where(h2, h3),
.portfolio-gallery-head :where(h2, h3),
.ther-case-heading :where(h2, h3),
.ther-case-subhead :where(h2, h3) {
  color: var(--v94-ink) !important;
}

.section-heading > p,
.umkm-heading > p,
.academy-heading > p,
.library-section-head > p,
.library-browse-head > p,
.portfolio-gallery-head > p,
.ther-case-heading > p,
.ther-case-subhead > p {
  color: var(--v94-copy) !important;
}

/* Cards use one visual grammar and explicit text contrast. */
:where(
  .preview-card,
  .expansion-card,
  .feature-strip article,
  .service-card,
  .product-card,
  .package-card,
  .role-grid article,
  .process-grid article,
  .service-price-grid article,
  .learning-card,
  .price-card,
  .featured-course,
  .article-card,
  .flow-cards article,
  .format-guide article,
  .payment-methods article,
  .analysis-panel,
  .design-intake,
  .library-card,
  .library-value-grid article,
  .library-order-flow,
  .ther-case-story article,
  .ther-case-facts article,
  .faq-list details,
  .academy-faq-list details,
  .info-accordion details
) {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line) !important;
  background: var(--v94-paper) !important;
  box-shadow: var(--v94-shadow-soft) !important;
}

:where(
  .preview-card,
  .expansion-card,
  .feature-strip article,
  .service-card,
  .product-card,
  .package-card,
  .role-grid article,
  .process-grid article,
  .service-price-grid article,
  .learning-card,
  .price-card,
  .featured-course,
  .article-card,
  .flow-cards article,
  .format-guide article,
  .payment-methods article,
  .analysis-panel,
  .design-intake,
  .library-card,
  .library-value-grid article,
  .library-order-flow,
  .ther-case-story article,
  .ther-case-facts article,
  .faq-list details,
  .academy-faq-list details,
  .info-accordion details
) :where(h2, h3, h4, strong, summary) {
  color: var(--v94-ink) !important;
}

:where(
  .preview-card,
  .expansion-card,
  .feature-strip article,
  .service-card,
  .product-card,
  .package-card,
  .role-grid article,
  .process-grid article,
  .service-price-grid article,
  .learning-card,
  .price-card,
  .featured-course,
  .article-card,
  .flow-cards article,
  .format-guide article,
  .payment-methods article,
  .analysis-panel,
  .design-intake,
  .library-card,
  .library-value-grid article,
  .library-order-flow,
  .ther-case-story article,
  .ther-case-facts article,
  .faq-list details,
  .academy-faq-list details,
  .info-accordion details
) :where(p, li, small) {
  color: var(--v94-copy) !important;
}

.feature-strip,
.services-grid,
.package-grid,
.learning-grid,
.academy-pricing,
.article-grid,
.library-grid {
  gap: 18px !important;
}

/* UMKM form and compact, deliberate consent controls. */
.brief-grid {
  grid-template-columns: minmax(270px, .66fr) minmax(0, 1.34fr) !important;
  gap: clamp(42px, 7vw, 86px) !important;
}

.umkm-form {
  overflow: hidden !important;
  padding: clamp(24px, 4vw, 42px) !important;
  border: 1px solid var(--v94-line) !important;
  border-radius: var(--v94-radius) !important;
  background: #fff !important;
  box-shadow: var(--v94-shadow-soft) !important;
}

.form-grid label > span,
.consent-box legend {
  color: var(--v94-ink) !important;
}

.form-grid input,
.form-grid select,
.form-grid textarea {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line-strong) !important;
  background: #fff !important;
}

.consent-box {
  gap: 8px !important;
  margin: 27px 0 20px !important;
  padding: 18px !important;
  color: var(--v94-ink) !important;
  border: 1px solid var(--v94-line) !important;
  border-radius: 18px !important;
  background: var(--v94-blue-pale) !important;
}

.consent-box legend {
  padding: 0 8px !important;
  font-size: .85rem !important;
  font-weight: 800 !important;
}

.consent-box label {
  min-width: 0 !important;
  padding: 11px 12px !important;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 11px !important;
  color: var(--v94-copy) !important;
  border: 1px solid rgba(30, 74, 139, .10) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.86) !important;
  font-size: .75rem !important;
  line-height: 1.52 !important;
}

.consent-box input[type="checkbox"],
.consent-row input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 1.5px solid #93a4bd !important;
  border-radius: 5px !important;
  background: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}

.consent-box input[type="checkbox"]::after,
.consent-row input[type="checkbox"]::after {
  content: "✓";
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  transform: scale(0);
  transition: transform .14s ease;
}

.consent-box input[type="checkbox"]:checked,
.consent-row input[type="checkbox"]:checked {
  border-color: var(--v94-blue) !important;
  background: var(--v94-blue) !important;
}

.consent-box input[type="checkbox"]:checked::after,
.consent-row input[type="checkbox"]:checked::after { transform: scale(1); }
.consent-box label span { min-width: 0; color: var(--v94-copy) !important; }
.consent-box label a { color: var(--v94-blue) !important; font-weight: 800; }

.submit-brief {
  min-height: 50px !important;
  padding-inline: 22px !important;
  color: #fff !important;
  background: var(--v94-blue) !important;
}

/* Featured brand film rebuilt as a light editorial showcase. */
body.portfolio-page .vision-film-feature {
  width: min(100%, 1080px) !important;
  padding: clamp(20px, 3vw, 34px) !important;
  grid-template-columns: minmax(230px, .64fr) minmax(0, 1.36fr) !important;
  gap: clamp(32px, 6vw, 78px) !important;
  color: var(--v94-ink) !important;
  border: 1px solid var(--v94-line) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 90% 12%, rgba(21,95,209,.10), transparent 30%),
    var(--v94-paper) !important;
  box-shadow: var(--v94-shadow) !important;
}

body.portfolio-page .vision-film-feature::before {
  opacity: .5 !important;
  background-image:
    linear-gradient(rgba(21,95,209,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21,95,209,.045) 1px, transparent 1px) !important;
}

body.portfolio-page .vision-film-player {
  width: min(100%, 278px) !important;
  height: 494px !important;
  border: 1px solid var(--v94-line) !important;
  border-radius: 22px !important;
  background: var(--v94-soft) !important;
  box-shadow: 0 18px 46px rgba(25, 55, 102, .13) !important;
}

body.portfolio-page .vision-film-player > span {
  color: #fff !important;
  border-color: rgba(255,255,255,.28) !important;
  background: rgba(16,23,53,.78) !important;
}

body.portfolio-page .vision-film-copy,
body.portfolio-page .vision-film-copy h2,
body.portfolio-page .vision-film-copy h2 span,
body.portfolio-page .vision-film-copy > p:not(.eyebrow),
body.portfolio-page .vision-film-overview > p {
  color: var(--v94-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}

body.portfolio-page .vision-film-copy > p:not(.eyebrow),
body.portfolio-page .vision-film-overview > p { color: var(--v94-copy) !important; }
body.portfolio-page .vision-film-copy .eyebrow,
body.portfolio-page .vision-film-copy h2 span,
body.portfolio-page .vision-film-overview > span { color: var(--v94-blue) !important; }

body.portfolio-page .vision-film-overview {
  border-left-color: var(--v94-blue) !important;
  background: var(--v94-blue-pale) !important;
}

body.portfolio-page .vision-film-points span {
  color: var(--v94-blue-strong) !important;
  border-color: #cfddf1 !important;
  background: var(--v94-blue-soft) !important;
}

body.portfolio-page .vision-film-copy > a {
  color: #fff !important;
  border: 1px solid var(--v94-blue) !important;
  background: var(--v94-blue) !important;
  box-shadow: none !important;
}

/* Keep labels readable over media while the surrounding site remains light. */
.media-label,
.academy-path-media > span,
.featured-course-media > span,
.library-card-badge {
  color: #fff !important;
  background: rgba(16, 23, 53, .84) !important;
  backdrop-filter: blur(12px);
}

.media-label :where(strong, span),
.academy-path-media > span,
.featured-course-media > span,
.library-card-badge {
  color: #fff !important;
}

/* Academy, AI Tools, Insights and Library residual dark bands. */
.academy-band,
.academy-cta,
.cta-band,
.umkm-closing,
.library-preview-band,
.library-philosophy,
.payment-section {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line) !important;
  background: var(--v94-blue-soft) !important;
}

:where(.academy-band, .academy-cta, .cta-band, .umkm-closing, .library-preview-band, .library-philosophy, .payment-section)
  :where(h1, h2, h3, h4, strong, span, p, a, li) {
  color: var(--v94-ink) !important;
  -webkit-text-fill-color: currentColor !important;
}

.cta-band .button-primary,
.academy-cta a,
.umkm-closing .umkm-button.primary,
.library-button.primary {
  color: #fff !important;
  border-color: var(--v94-blue) !important;
  background: var(--v94-blue) !important;
}

.academy-dark .academy-outline.light {
  color: var(--v94-blue) !important;
  border-color: #b9cceb !important;
  background: #fff !important;
}

.library-search-box,
.library-category-chips button,
.bookshelf-controls button {
  color: var(--v94-ink) !important;
  border-color: var(--v94-line) !important;
  background: #fff !important;
}

.library-category-chips button.active {
  color: #fff !important;
  border-color: var(--v94-blue) !important;
  background: var(--v94-blue) !important;
}

.shelf-book-copy,
.library-card-copy {
  color: var(--v94-ink) !important;
  background: #fff !important;
}

.shelf-book-copy :where(strong, b),
.library-card-copy :where(h3, strong) { color: var(--v94-ink) !important; }
.shelf-book-copy :where(span, small),
.library-card-copy p { color: var(--v94-copy) !important; }

/* Footer stays white and the navy logo is explicitly restored. */
.site-footer,
.umkm-page .site-footer {
  color: var(--v94-ink) !important;
  border-top: 1px solid var(--v94-line) !important;
  background: var(--v94-paper) !important;
}

.footer-logo p,
.footer-col p { color: var(--v94-copy) !important; }
.footer-col > span { color: var(--v94-blue) !important; }
.footer-col a { color: #4e5c74 !important; }
.footer-col a:hover { color: var(--v94-blue) !important; }
.footer-end,
.footer-end a { color: var(--v94-muted) !important; border-color: var(--v94-line) !important; }

@keyframes v94MorphOne {
  0% { border-radius: 43% 57% 64% 36% / 48% 41% 59% 52%; transform: rotate(-7deg) scale(.98); }
  45% { border-radius: 61% 39% 42% 58% / 37% 63% 37% 63%; transform: rotate(4deg) scale(1.025); }
  100% { border-radius: 37% 63% 49% 51% / 62% 38% 62% 38%; transform: rotate(10deg) scale(.995); }
}

@keyframes v94MorphTwo {
  0% { border-radius: 61% 39% 45% 55% / 45% 58% 42% 55%; transform: rotate(10deg) translate3d(-2%, 1%, 18px); }
  55% { border-radius: 42% 58% 61% 39% / 62% 38% 62% 38%; transform: rotate(-9deg) translate3d(2%, -2%, 26px); }
  100% { border-radius: 54% 46% 37% 63% / 39% 61% 39% 61%; transform: rotate(2deg) translate3d(-1%, 2%, 12px); }
}

@keyframes v94MorphThree {
  0% { border-radius: 49% 51% 38% 62% / 65% 40% 60% 35%; transform: translateZ(46px) rotate(-5deg); }
  100% { border-radius: 66% 34% 59% 41% / 36% 64% 36% 64%; transform: translateZ(58px) rotate(12deg); }
}

@keyframes v94GlassFloat {
  0%, 100% { transform: translate3d(0,0,70px) rotate(-3deg); }
  50% { transform: translate3d(2%,-3%,82px) rotate(5deg); }
}

@keyframes v94LineSpin { to { transform: rotate(382deg); } }
@keyframes v94LineSpinReverse { to { transform: rotate(-388deg); } }
@keyframes v94ChipFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

@media (max-width: 1230px) {
  .site-header,
  .site-header.scrolled,
  .site-header.ref-scrolled,
  .umkm-page .site-header,
  .umkm-page .site-header.scrolled,
  .umkm-page .site-header.ref-scrolled {
    grid-template-columns: 158px minmax(0, 1fr) auto !important;
  }
  .brand-lockup,
  .umkm-page .brand-lockup,
  .brand-lockup img,
  .site-header .brand-lockup img,
  .umkm-page .brand-lockup img { width: 152px !important; }
  .desktop-nav,
  body.ecosystem-showcase .desktop-nav { gap: 9px !important; }
  .desktop-nav a,
  body.ecosystem-showcase .desktop-nav a,
  .umkm-page .desktop-nav a { font-size: .56rem !important; }
}

@media (max-width: 1080px) {
  .desktop-nav,
  body.ecosystem-showcase .desktop-nav,
  .language-toggle,
  .header-cta { display: none !important; }
  .site-header,
  .site-header.scrolled,
  .site-header.ref-scrolled,
  .umkm-page .site-header,
  .umkm-page .site-header.scrolled,
  .umkm-page .site-header.ref-scrolled {
    grid-template-columns: 1fr auto !important;
  }
  .menu-toggle { display: grid !important; }
  .hero-inner { grid-template-columns: minmax(0, 1fr) minmax(390px, .78fr) !important; gap: 34px !important; }
  .morphy-stage { min-height: 540px; }
}

@media (max-width: 900px) {
  .hero.ecosystem-hero { padding-top: 125px !important; }
  .hero-inner { grid-template-columns: 1fr !important; }
  .hero-copy { max-width: 780px !important; }
  .hero-visual { min-height: auto !important; }
  .morphy-stage { min-height: 570px; }
  .brief-grid { grid-template-columns: 1fr !important; }
  .brief-copy { position: static !important; }
  body.portfolio-page .vision-film-feature { grid-template-columns: minmax(190px, .55fr) minmax(0, 1.45fr) !important; }
  body.portfolio-page .vision-film-player { height: 430px !important; }
}

@media (max-width: 680px) {
  .site-header,
  .site-header.scrolled,
  .site-header.ref-scrolled,
  .umkm-page .site-header,
  .umkm-page .site-header.scrolled,
  .umkm-page .site-header.ref-scrolled {
    top: 9px !important;
    width: calc(100% - 18px) !important;
    height: 62px !important;
    padding-inline: 14px 10px !important;
    border-radius: 17px !important;
  }

  .brand-lockup,
  .umkm-page .brand-lockup,
  .brand-lockup img,
  .site-header .brand-lockup img,
  .umkm-page .brand-lockup img {
    width: 140px !important;
    height: 34px !important;
  }

  .hero.ecosystem-hero {
    min-height: 0 !important;
    padding-top: 106px !important;
    padding-bottom: 48px !important;
    background-size: auto, 44px 44px, 44px 44px, auto !important;
  }

  .hero h1,
  .hero-title { font-size: clamp(2.75rem, 14vw, 4.2rem) !important; }
  .hero-lead { font-size: .98rem !important; }
  .hero-buttons { align-items: stretch !important; }
  .hero-buttons .button { width: 100% !important; justify-content: center !important; }

  .morphy-stage { min-height: 480px; }
  .morphy-stage::before { inset: 8% 0 12%; }
  .morphy-sculpture { width: 82%; top: 45%; }
  .morphy-caption { left: 0; bottom: 2%; width: min(270px, 66%); }
  .morphy-chip.chip-human { top: 8%; right: 0; }
  .morphy-chip.chip-ai { right: 0; bottom: 23%; }
  .morphy-index { left: 2%; top: 13%; }

  .form-grid { grid-template-columns: 1fr !important; }
  .umkm-form { padding: 19px !important; border-radius: 19px !important; }
  .consent-box { padding: 12px !important; }
  .consent-box label { padding: 10px !important; font-size: .72rem !important; }
  .submit-brief { width: 100% !important; }

  body.portfolio-page .vision-film-feature {
    padding: 16px !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  body.portfolio-page .vision-film-player {
    width: min(100%, 265px) !important;
    height: 460px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .morphy-layer,
  .morphy-glass,
  .morphy-line,
  .morphy-chip {
    animation: none !important;
  }
  .morphy-sculpture { transition: none !important; }
}
