:root {
  --bg: #080b10;
  --panel: #111722;
  --panel-soft: #151d2a;
  --text: #edf3ff;
  --muted: #aeb8c7;
  --line: #263245;
  --accent: #8bbcff;
  --accent-soft: rgba(139, 188, 255, 0.14);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: radial-gradient(circle at top left, #172338 0, #080b10 42%);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  padding: 1.25rem clamp(1rem, 4vw, 4rem);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  background: rgba(8, 11, 16, 0.88);
  backdrop-filter: blur(14px);
  z-index: 10;
}

.brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.brand-mark {
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--accent);
  border-radius: 1rem;
  display: grid;
  place-items: center;
  color: var(--accent);
  font-weight: 800;
  letter-spacing: 0.06em;
  background: var(--accent-soft);
}

.brand h1 {
  margin: 0;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
}

.eyebrow {
  margin: 0 0 0.4rem;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.72rem;
  font-weight: 700;
}

.nav {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 0.92rem;
}

.nav a:hover {
  color: var(--text);
}

.hero {
  padding: clamp(5rem, 12vw, 9rem) clamp(1rem, 4vw, 4rem);
  max-width: 1100px;
}

.hero h2 {
  margin: 0;
  font-size: clamp(2.6rem, 7vw, 6rem);
  line-height: 0.95;
  letter-spacing: -0.06em;
}

.hero-copy {
  max-width: 760px;
  color: var(--muted);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  margin: 2rem 0;
}

.hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.button {
  padding: 0.85rem 1.1rem;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-weight: 700;
}

.button.primary {
  background: var(--accent);
  color: #06101e;
  border-color: var(--accent);
}

.button.secondary {
  background: rgba(255, 255, 255, 0.04);
}

.section {
  margin: 0 clamp(1rem, 4vw, 4rem) 1.25rem;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid var(--line);
  border-radius: 2rem;
  background: rgba(17, 23, 34, 0.78);
}

.section h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.8rem, 4vw, 3.4rem);
  line-height: 1;
  letter-spacing: -0.04em;
}

.section p {
  color: var(--muted);
  max-width: 850px;
}

.principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  background: transparent;
  border: 0;
  padding: 0;
}

.card,
.product {
  border: 1px solid var(--line);
  border-radius: 1.5rem;
  padding: 1.4rem;
  background: var(--panel);
}

.card h3,
.product h3 {
  margin: 0 0 0.65rem;
}

.card p,
.product p {
  margin: 0;
  color: var(--muted);
}

.split {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 2rem;
  align-items: start;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.product span {
  display: block;
  margin-top: 1rem;
  color: var(--accent);
  font-size: 0.9rem;
  font-weight: 700;
}

.domain-list {
  display: grid;
  gap: 0.75rem;
}

.domain-list div {
  display: grid;
  grid-template-columns: minmax(170px, 0.35fr) 1fr;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--panel-soft);
}

.domain-list span {
  color: var(--muted);
}

.final {
  background: linear-gradient(135deg, rgba(139, 188, 255, 0.16), rgba(17, 23, 34, 0.9));
}

.footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 2rem clamp(1rem, 4vw, 4rem);
  color: var(--muted);
  border-top: 1px solid var(--line);
}

@media (max-width: 880px) {
  .site-header,
  .split,
  .footer {
    display: block;
  }

  .nav {
    margin-top: 1rem;
  }

  .principles,
  .product-grid {
    grid-template-columns: 1fr;
  }

  .domain-list div {
    grid-template-columns: 1fr;
  }
}

.intake-form {
  display: grid;
  gap: 1rem;
  max-width: 880px;
}

.intake-form label {
  display: grid;
  gap: 0.4rem;
  color: var(--text);
  font-weight: 700;
}

.intake-form input,
.intake-form select,
.intake-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 1rem;
  background: var(--panel-soft);
  color: var(--text);
  padding: 0.9rem 1rem;
  font: inherit;
}

.intake-form textarea {
  resize: vertical;
}

.intake-form button[disabled] {
  opacity: 0.65;
  cursor: not-allowed;
}

.result-panel {
  margin: 2rem 0 0;
  background: var(--panel-soft);
}

.result-panel ul {
  color: var(--muted);
}

.image-mark {
  overflow: hidden;
  padding: 0;
}

.image-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Container and calm motion foundation */

:root {
  --container-glow: rgba(139, 188, 255, 0.26);
  --container-gold: rgba(255, 196, 87, 0.22);
  --breath-speed: 5.8s;
}

.nav {
  padding: 0.45rem;
  border: 1px solid rgba(139, 188, 255, 0.12);
  border-radius: 999px;
  background: rgba(17, 23, 34, 0.48);
}

.nav a {
  padding: 0.42rem 0.7rem;
  border-radius: 999px;
}

.nav a:hover {
  background: rgba(139, 188, 255, 0.1);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.32rem 0.58rem;
  border: 1px solid rgba(139, 188, 255, 0.16);
  border-radius: 999px;
  background: rgba(139, 188, 255, 0.07);
}

.eyebrow::before {
  content: "";
  width: 0.38rem;
  height: 0.38rem;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 18px var(--container-glow);
}

.section,
.card,
.product,
.domain-list div {
  position: relative;
}

.section::before,
.card::before,
.product::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  border: 1px solid transparent;
  background: linear-gradient(135deg, rgba(139, 188, 255, 0.18), transparent 38%, rgba(255, 196, 87, 0.08)) border-box;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0.55;
}

.breathe-soft {
  animation: breathe-soft var(--breath-speed) ease-in-out infinite;
}

.brand-mark,
.hero-seal,
.button.primary,
.final {
  animation: breathe-soft var(--breath-speed) ease-in-out infinite;
}

@keyframes breathe-soft {
  0% {
    box-shadow: 0 0 0 rgba(139, 188, 255, 0);
  }

  50% {
    box-shadow: 0 0 42px rgba(139, 188, 255, 0.28);
  }

  100% {
    box-shadow: 0 0 0 rgba(139, 188, 255, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.001ms !important;
  }
}

/* Homepage container polish */

.home-hero-shell {
  margin: clamp(1rem, 4vw, 4rem);
  padding: clamp(3rem, 8vw, 7rem);
  border: 1px solid rgba(139, 188, 255, 0.18);
  border-radius: 2.5rem;
  background:
    radial-gradient(circle at 16% 18%, rgba(139, 188, 255, 0.16), transparent 34%),
    radial-gradient(circle at 82% 24%, rgba(255, 196, 87, 0.1), transparent 30%),
    rgba(17, 23, 34, 0.54);
  overflow: hidden;
}

.home-hero-shell::after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: -8rem;
  top: -8rem;
  width: 24rem;
  height: 24rem;
  border-radius: 999px;
  border: 1px solid rgba(139, 188, 255, 0.14);
  box-shadow: inset 0 0 90px rgba(139, 188, 255, 0.06);
}

.home-container {
  isolation: isolate;
}

.home-container h2 {
  max-width: 980px;
}

.home-principles {
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(139, 188, 255, 0.1);
  border-radius: 2rem;
  background: rgba(17, 23, 34, 0.28);
}

.home-principles .card,
.home-suites .product {
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.home-principles .card:hover,
.home-suites .product:hover {
  transform: translateY(-2px);
  border-color: rgba(139, 188, 255, 0.44);
  background: rgba(21, 29, 42, 0.98);
}

.home-suites .product {
  min-height: 220px;
}

.home-suites .product h3 a {
  border-bottom: 1px solid rgba(139, 188, 255, 0.3);
}

.home-systems .domain-list div {
  border-left: 3px solid rgba(139, 188, 255, 0.3);
}

.home-company {
  border-color: rgba(255, 196, 87, 0.22);
}

@media (prefers-reduced-motion: reduce) {
  .home-principles .card:hover,
  .home-suites .product:hover {
    transform: none;
  }
}

/* EGAE and intake container polish */

.page-hero-shell {
  margin: clamp(1rem, 4vw, 4rem);
  padding: clamp(3rem, 8vw, 7rem);
  border: 1px solid rgba(139, 188, 255, 0.18);
  border-radius: 2.5rem;
  background:
    radial-gradient(circle at 18% 20%, rgba(139, 188, 255, 0.14), transparent 34%),
    radial-gradient(circle at 82% 28%, rgba(255, 196, 87, 0.08), transparent 30%),
    rgba(17, 23, 34, 0.58);
  overflow: hidden;
}

.egae-container,
.intake-container {
  border-color: rgba(139, 188, 255, 0.16);
}

.egae-architecture .domain-list,
.egae-proof .domain-list,
.intake-container .domain-list {
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border: 1px solid rgba(139, 188, 255, 0.1);
  border-radius: 1.5rem;
  background: rgba(8, 11, 16, 0.18);
}

.egae-architecture .domain-list div,
.egae-proof .domain-list div {
  border-left: 3px solid rgba(139, 188, 255, 0.3);
}

.egae-licensing .product-grid {
  margin-top: 1.5rem;
}

.egae-licensing .product {
  min-height: 210px;
  border-color: rgba(255, 196, 87, 0.14);
}

.egae-proof {
  background:
    linear-gradient(135deg, rgba(139, 188, 255, 0.08), rgba(17, 23, 34, 0.76)),
    rgba(17, 23, 34, 0.78);
}

.intake-form-shell {
  padding: clamp(1rem, 3vw, 2rem);
  border: 1px solid rgba(139, 188, 255, 0.12);
  border-radius: 1.5rem;
  background: rgba(8, 11, 16, 0.22);
}

.intake-form-shell label {
  padding: 1rem;
  border: 1px solid rgba(139, 188, 255, 0.08);
  border-radius: 1rem;
  background: rgba(17, 23, 34, 0.42);
}

.intake-form-shell input:focus,
.intake-form-shell select:focus,
.intake-form-shell textarea:focus {
  outline: 2px solid rgba(139, 188, 255, 0.42);
  outline-offset: 2px;
}

.page-intake .result-panel {
  border-color: rgba(255, 196, 87, 0.22);
  background:
    radial-gradient(circle at top right, rgba(255, 196, 87, 0.1), transparent 32%),
    rgba(21, 29, 42, 0.92);
}

.intake-final {
  border-color: rgba(255, 196, 87, 0.18);
}

/* Product and VIP container polish */

.product-hero-shell {
  position: relative;
}

.product-hero-shell::after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: -6rem;
  bottom: -7rem;
  width: 22rem;
  height: 22rem;
  border-radius: 999px;
  border: 1px solid rgba(139, 188, 255, 0.12);
  box-shadow: inset 0 0 80px rgba(139, 188, 255, 0.06);
}

.security-hero-shell {
  background:
    radial-gradient(circle at 18% 22%, rgba(139, 188, 255, 0.16), transparent 34%),
    radial-gradient(circle at 84% 28%, rgba(94, 255, 191, 0.07), transparent 30%),
    rgba(17, 23, 34, 0.58);
}

.verity-hero-shell {
  background:
    radial-gradient(circle at 18% 22%, rgba(139, 188, 255, 0.14), transparent 34%),
    radial-gradient(circle at 84% 28%, rgba(255, 196, 87, 0.12), transparent 30%),
    rgba(17, 23, 34, 0.58);
}

.steward-hero-shell,
.vip-hero-shell {
  background:
    radial-gradient(circle at 18% 22%, rgba(139, 188, 255, 0.12), transparent 34%),
    radial-gradient(circle at 84% 28%, rgba(180, 139, 255, 0.1), transparent 30%),
    rgba(17, 23, 34, 0.58);
}

.product-container {
  border-color: rgba(139, 188, 255, 0.16);
}

.product-container .principles,
.product-container .domain-list {
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border: 1px solid rgba(139, 188, 255, 0.1);
  border-radius: 1.5rem;
  background: rgba(8, 11, 16, 0.18);
}

.product-container .card,
.product-container .domain-list div {
  border-left: 3px solid rgba(139, 188, 255, 0.28);
}

.product-standing {
  border-color: rgba(255, 196, 87, 0.2);
  background:
    radial-gradient(circle at top right, rgba(255, 196, 87, 0.09), transparent 34%),
    rgba(17, 23, 34, 0.78);
}

.product-final,
.vip-final {
  border-color: rgba(255, 196, 87, 0.2);
}

.vip-container .card,
.vip-container .domain-list div {
  border-left-color: rgba(180, 139, 255, 0.34);
}

.vip-position {
  border-color: rgba(180, 139, 255, 0.2);
}

/* Backend/admin visual polish */

.page-admin {
  background:
    radial-gradient(circle at 18% 16%, rgba(139, 188, 255, 0.12), transparent 30%),
    radial-gradient(circle at 80% 20%, rgba(255, 196, 87, 0.06), transparent 28%),
    var(--bg);
}

.admin-shell {
  margin: clamp(1rem, 4vw, 4rem);
  padding: clamp(2rem, 5vw, 4rem);
  border-color: rgba(139, 188, 255, 0.22);
  background:
    linear-gradient(135deg, rgba(139, 188, 255, 0.08), rgba(17, 23, 34, 0.86)),
    rgba(17, 23, 34, 0.88);
}

.admin-route-grid {
  margin-top: 1.5rem;
  padding: clamp(0.75rem, 2vw, 1.25rem);
  border: 1px solid rgba(139, 188, 255, 0.1);
  border-radius: 1.5rem;
  background: rgba(8, 11, 16, 0.24);
}

.admin-route-grid div {
  border-left: 3px solid rgba(139, 188, 255, 0.3);
}

.admin-route-grid a {
  color: var(--text);
  border-bottom: 1px solid rgba(139, 188, 255, 0.3);
}

.admin-boundary-note {
  margin-top: 1.5rem;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(255, 196, 87, 0.18);
  border-radius: 1rem;
  background: rgba(255, 196, 87, 0.06);
}

.admin-boundary-note p {
  margin: 0;
}

/* Sales rep referral foundation */

.page-sales-reps code {
  padding: 0.1rem 0.35rem;
  border: 1px solid rgba(139, 188, 255, 0.18);
  border-radius: 0.4rem;
  background: rgba(8, 11, 16, 0.42);
  color: var(--accent);
}

.sales-rep-hero-shell {
  background:
    radial-gradient(circle at 18% 22%, rgba(139, 188, 255, 0.14), transparent 34%),
    radial-gradient(circle at 84% 28%, rgba(255, 196, 87, 0.1), transparent 30%),
    rgba(17, 23, 34, 0.58);
}

/* Governed Geometry Grid Foundation - Pass 34 */

:root {
  --world-grid-gap: clamp(1rem, 2vw, 1.75rem);
  --world-object-radius: 1.25rem;
  --world-object-border: rgba(255, 255, 255, 0.14);
  --world-object-border-strong: rgba(255, 255, 255, 0.24);
  --world-object-surface: rgba(255, 255, 255, 0.055);
  --world-object-surface-strong: rgba(255, 255, 255, 0.085);
  --world-object-shadow: 0 1.25rem 3rem rgba(0, 0, 0, 0.28);
  --world-object-pressure: rgba(255, 255, 255, 0.12);
  --world-object-pressure-soft: rgba(255, 255, 255, 0.055);
  --world-motion-duration: 280ms;
  --world-motion-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
}

.world-grid {
  display: grid;
  gap: var(--world-grid-gap);
  align-items: stretch;
}

.world-grid.two-column {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.world-grid.three-column {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.world-object {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--world-object-border);
  border-radius: var(--world-object-radius);
  background:
    linear-gradient(135deg, var(--world-object-surface-strong), var(--world-object-surface));
  box-shadow: var(--world-object-shadow);
  isolation: isolate;
}

.world-object::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 18% 18%, var(--world-object-pressure), transparent 32%),
    radial-gradient(circle at 82% 12%, var(--world-object-pressure-soft), transparent 30%);
  opacity: 0.72;
  z-index: -1;
}

.world-object-inner {
  position: relative;
  z-index: 1;
  padding: clamp(1.25rem, 2.5vw, 2rem);
}

.world-pressure {
  position: relative;
}

.world-pressure::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.065), transparent);
  opacity: 0;
  transition: opacity var(--world-motion-duration) var(--world-motion-ease);
}

.world-object:hover .world-pressure::after,
.world-object:focus-within .world-pressure::after {
  opacity: 1;
}

.grid-anchor {
  position: relative;
}

.grid-anchor::before,
.grid-anchor::after {
  content: "";
  position: absolute;
  width: 0.625rem;
  height: 0.625rem;
  pointer-events: none;
  opacity: 0.55;
}

.grid-anchor::before {
  top: 0.75rem;
  left: 0.75rem;
  border-top: 1px solid var(--world-object-border-strong);
  border-left: 1px solid var(--world-object-border-strong);
}

.grid-anchor::after {
  right: 0.75rem;
  bottom: 0.75rem;
  border-right: 1px solid var(--world-object-border-strong);
  border-bottom: 1px solid var(--world-object-border-strong);
}

.grid-corner {
  position: absolute;
  width: 0.625rem;
  height: 0.625rem;
  pointer-events: none;
  opacity: 0.55;
}

.grid-corner.top-left {
  top: 0.75rem;
  left: 0.75rem;
  border-top: 1px solid var(--world-object-border-strong);
  border-left: 1px solid var(--world-object-border-strong);
}

.grid-corner.top-right {
  top: 0.75rem;
  right: 0.75rem;
  border-top: 1px solid var(--world-object-border-strong);
  border-right: 1px solid var(--world-object-border-strong);
}

.grid-corner.bottom-left {
  bottom: 0.75rem;
  left: 0.75rem;
  border-bottom: 1px solid var(--world-object-border-strong);
  border-left: 1px solid var(--world-object-border-strong);
}

.grid-corner.bottom-right {
  right: 0.75rem;
  bottom: 0.75rem;
  border-right: 1px solid var(--world-object-border-strong);
  border-bottom: 1px solid var(--world-object-border-strong);
}

.reduced-motion-safe {
  transition:
    border-color var(--world-motion-duration) var(--world-motion-ease),
    background-color var(--world-motion-duration) var(--world-motion-ease),
    box-shadow var(--world-motion-duration) var(--world-motion-ease);
}

@media (max-width: 760px) {
  .world-grid.two-column,
  .world-grid.three-column {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .world-object,
  .world-object::before,
  .world-pressure,
  .world-pressure::after,
  .reduced-motion-safe {
    animation: none;
    transition: none;
  }
}

/* Governed Container Settle Behavior - Pass 38 */

:root {
  --world-settle-duration: 520ms;
  --world-settle-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --world-settle-border: rgba(255, 255, 255, 0.32);
  --world-settle-pressure: rgba(139, 188, 255, 0.13);
  --world-settle-pressure-warm: rgba(255, 196, 87, 0.08);
}

.world-object {
  transform: none;
  transition:
    border-color var(--world-settle-duration) var(--world-settle-ease),
    box-shadow var(--world-settle-duration) var(--world-settle-ease),
    background-color var(--world-settle-duration) var(--world-settle-ease);
}

.world-object::before {
  background:
    radial-gradient(circle at 18% 18%, var(--world-object-pressure), transparent 32%),
    radial-gradient(circle at 82% 12%, var(--world-object-pressure-soft), transparent 30%),
    linear-gradient(135deg, transparent, var(--world-settle-pressure), transparent);
  background-size:
    100% 100%,
    100% 100%,
    180% 180%;
  background-position:
    center,
    center,
    0% 50%;
  transition:
    opacity var(--world-settle-duration) var(--world-settle-ease),
    background-position var(--world-settle-duration) var(--world-settle-ease);
}

.world-object:hover,
.world-object:focus-within {
  border-color: var(--world-settle-border);
  box-shadow:
    var(--world-object-shadow),
    inset 0 0 0 1px rgba(255, 255, 255, 0.045);
}

.world-object:hover::before,
.world-object:focus-within::before {
  opacity: 0.94;
  background-position:
    center,
    center,
    100% 50%;
}

.world-object:hover .grid-anchor::before,
.world-object:hover .grid-anchor::after,
.world-object:focus-within .grid-anchor::before,
.world-object:focus-within .grid-anchor::after,
.world-object:hover.grid-anchor::before,
.world-object:hover.grid-anchor::after,
.world-object:focus-within.grid-anchor::before,
.world-object:focus-within.grid-anchor::after {
  opacity: 0.82;
}

.world-pressure::after {
  background:
    radial-gradient(circle at 50% 0%, var(--world-settle-pressure), transparent 34%),
    linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.075), transparent),
    radial-gradient(circle at 100% 100%, var(--world-settle-pressure-warm), transparent 30%);
  background-size:
    100% 100%,
    180% 180%,
    100% 100%;
  background-position:
    center,
    0% 50%,
    center;
  transition:
    opacity var(--world-settle-duration) var(--world-settle-ease),
    background-position var(--world-settle-duration) var(--world-settle-ease);
}

.world-object:hover .world-pressure::after,
.world-object:focus-within .world-pressure::after {
  opacity: 1;
  background-position:
    center,
    100% 50%,
    center;
}

@media (prefers-reduced-motion: reduce) {
  .world-object,
  .world-object::before,
  .world-pressure::after,
  .grid-anchor::before,
  .grid-anchor::after {
    transition: none;
    animation: none;
    background-position: center;
  }
}

/* Governed Action Physics Variables - Pass 39B */

:root {
  --world-depth-x: 0px;
  --world-depth-y: 0px;
  --world-depth-scale: 1;
  --world-depth-shadow-x: 0px;
  --world-depth-shadow-y: 0px;
  --world-depth-shadow-blur: 0px;
  --world-depth-z: 0;
  --world-depth-opacity: 0;
  --world-depth-pressure-x: 50%;
  --world-depth-pressure-y: 50%;
}

.world-object {
  --world-local-depth-x: var(--world-depth-x);
  --world-local-depth-y: var(--world-depth-y);
  --world-local-depth-scale: var(--world-depth-scale);
  --world-local-shadow-x: var(--world-depth-shadow-x);
  --world-local-shadow-y: var(--world-depth-shadow-y);
  --world-local-shadow-blur: var(--world-depth-shadow-blur);
  --world-local-depth-z: var(--world-depth-z);
  --world-local-depth-opacity: var(--world-depth-opacity);
  --world-local-pressure-x: var(--world-depth-pressure-x);
  --world-local-pressure-y: var(--world-depth-pressure-y);
  z-index: calc(1 + var(--world-local-depth-z));
}

.world-object.governed-action {
  transform:
    translate3d(
      var(--world-local-depth-x),
      var(--world-local-depth-y),
      0
    )
    scale(var(--world-local-depth-scale));
  box-shadow:
    calc(var(--world-local-shadow-x)) calc(var(--world-local-shadow-y))
      calc(3rem + var(--world-local-shadow-blur)) rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, calc(0.045 + var(--world-local-depth-opacity)));
}

.world-object.governed-action::before {
  background-position:
    var(--world-local-pressure-x) var(--world-local-pressure-y),
    center,
    100% 50%;
}

.world-object.governed-action .world-pressure::after {
  background-position:
    var(--world-local-pressure-x) var(--world-local-pressure-y),
    100% 50%,
    center;
}

@media (prefers-reduced-motion: reduce) {
  .world-object,
  .world-object.governed-action {
    --world-depth-x: 0px;
    --world-depth-y: 0px;
    --world-depth-scale: 1;
    --world-depth-shadow-x: 0px;
    --world-depth-shadow-y: 0px;
    --world-depth-shadow-blur: 0px;
    --world-depth-z: 0;
    --world-depth-opacity: 0;
    --world-depth-pressure-x: 50%;
    --world-depth-pressure-y: 50%;
    transform: none;
  }
}

/* Relic Chamber Pressure Containment - corrective pass */
[data-world-chamber] {
  max-width: min(1180px, calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}

[data-world-chamber] > .world-pressure {
  max-width: 920px;
}

[data-world-chamber] .domain-list {
  max-width: 840px;
}

[data-world-chamber]::before,
[data-world-chamber] .world-pressure::after {
  opacity: 0.42;
}

@media (max-width: 760px) {
  [data-world-chamber] {
    max-width: calc(100% - 32px);
  }

  [data-world-chamber] > .world-pressure,
  [data-world-chamber] .domain-list {
    max-width: 100%;
  }
}

/* Relic Chamber Compact Placeholder - corrective pass */
[data-world-chamber] {
  max-width: 760px;
  margin-top: 28px;
  margin-bottom: 36px;
  padding: 18px 22px;
}

[data-world-chamber] > .world-pressure {
  max-width: 100%;
}

[data-world-chamber] .eyebrow {
  margin-bottom: 8px;
}

[data-world-chamber] h2 {
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: 1.05;
  margin-bottom: 10px;
}

[data-world-chamber] p {
  max-width: 680px;
  margin-bottom: 12px;
}

[data-world-chamber] .domain-list {
  max-width: 680px;
  margin-top: 10px;
  gap: 6px;
}

@media (max-width: 760px) {
  [data-world-chamber] {
    max-width: calc(100% - 32px);
    margin-top: 20px;
    margin-bottom: 28px;
    padding: 16px;
  }
}

/* Relic Chamber Public Placeholder Hold - corrective pass */
[data-world-chamber] {
  display: none;
}

/* Homepage Hero Tone and Hierarchy - corrective pass */
.hero h1 {
  max-width: 980px;
  font-size: clamp(3.4rem, 7vw, 7.2rem);
  line-height: 0.96;
  letter-spacing: -0.075em;
}

.hero .hero-copy,
.hero p {
  max-width: 820px;
}

.hero .eyebrow {
  letter-spacing: 0.18em;
}

/* Phase 47B: Governed relic frame physics
   Pop is transition. Behavior happens after transition.
   The boundary does not breathe. The pressure inside the boundary breathes.
   CSS-only. No JS. No storage. No tracking. No route behavior.
*/

:root {
  --relic-pop-ms: 90ms;
  --relic-settle-ms: 140ms;
  --relic-inhale-ms: 520ms;
  --relic-release-ms: 620ms;
  --relic-pressure-depth: 0.018;
  --relic-pressure-shadow: 0 0 34px rgba(240, 220, 170, 0.075);
  --relic-pressure-shadow-strong: 0 0 52px rgba(240, 220, 170, 0.105);
  --relic-frame-line: rgba(240, 220, 170, 0.16);
  --relic-frame-line-soft: rgba(240, 220, 170, 0.075);
  --relic-crack-line: rgba(255, 235, 185, 0.13);
}

/* Frame foundation: world objects remain grid-pinned. */
.world-object,
.grid-anchor {
  position: relative;
}

/* Relic stress receipt layer.
   The frame boundary stays pinned; only internal pressure changes.
*/
.world-object::before,
.grid-anchor::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  border: 1px solid var(--relic-frame-line-soft);
  background:
    linear-gradient(135deg, transparent 0 36%, var(--relic-crack-line) 36.25%, transparent 36.75% 100%),
    linear-gradient(22deg, transparent 0 61%, rgba(255, 235, 185, 0.06) 61.2%, transparent 61.65% 100%),
    radial-gradient(circle at 50% 42%, rgba(255, 244, 210, 0.035), transparent 42%);
  opacity: 0.42;
  mix-blend-mode: screen;
}

/* Governed pressure layer.
   This is the inhale/release chamber pressure, not boundary motion.
*/
.world-pressure::after {
  content: "";
  position: absolute;
  inset: 1px;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 245, 210, 0.105), transparent 40%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 42%, rgba(255, 245, 210, 0.035));
  opacity: 0;
  transform: translateZ(0);
  animation:
    relic-pressure-cycle calc(var(--relic-pop-ms) + var(--relic-settle-ms) + var(--relic-inhale-ms) + var(--relic-release-ms))
    cubic-bezier(0.2, 0.75, 0.2, 1)
    both;
}

/* Existing governed world objects receive posture after reveal.
   No layout drift: scale remains effectively neutral and translation is zero.
*/
.world-object.reduced-motion-safe,
.grid-anchor.reduced-motion-safe {
  animation:
    relic-pop-settle calc(var(--relic-pop-ms) + var(--relic-settle-ms))
    cubic-bezier(0.19, 1, 0.22, 1)
    both;
  box-shadow: var(--relic-pressure-shadow);
}

/* Hover/focus may create a bounded center-pressure acknowledgement.
   Boundary remains pinned; effect is shadow/internal pressure only.
*/
.world-object.reduced-motion-safe:hover,
.grid-anchor.reduced-motion-safe:hover,
.world-object.reduced-motion-safe:focus-within,
.grid-anchor.reduced-motion-safe:focus-within {
  box-shadow: var(--relic-pressure-shadow-strong);
}

.world-pressure:hover::after,
.world-pressure:focus-within::after {
  animation:
    relic-center-draw var(--relic-release-ms)
    cubic-bezier(0.2, 0.75, 0.2, 1)
    both;
}

@keyframes relic-pop-settle {
  0% {
    opacity: 0.985;
    filter: saturate(0.985) brightness(0.995);
  }

  42% {
    opacity: 1;
    filter: saturate(1.018) brightness(1.012);
  }

  100% {
    opacity: 1;
    filter: saturate(1) brightness(1);
  }
}

@keyframes relic-pressure-cycle {
  0% {
    opacity: 0;
  }

  18% {
    opacity: 0;
  }

  44% {
    opacity: 0.42;
  }

  72% {
    opacity: 0.24;
  }

  100% {
    opacity: 0;
  }
}

@keyframes relic-center-draw {
  0% {
    opacity: 0.12;
  }

  42% {
    opacity: 0.52;
  }

  100% {
    opacity: 0.18;
  }
}

/* Reduced motion: posture remains readable and stable. */
@media (prefers-reduced-motion: reduce) {
  .world-object.reduced-motion-safe,
  .grid-anchor.reduced-motion-safe,
  .world-pressure::after,
  .world-pressure:hover::after,
  .world-pressure:focus-within::after {
    animation: none !important;
    transition: none !important;
  }

  .world-pressure::after {
    opacity: 0.08;
  }
}

/* Phase 47B.1: Relic frame visibility and posture tuning
   Corrective visibility pass. CSS-only.
   Cracks are stress receipts. Pressure is internal posture.
   No JS. No storage. No tracking. No route behavior.
*/

:root {
  --relic-frame-line: rgba(240, 220, 170, 0.34);
  --relic-frame-line-soft: rgba(240, 220, 170, 0.18);
  --relic-crack-line: rgba(255, 235, 185, 0.31);
  --relic-pressure-shadow: 0 0 42px rgba(240, 220, 170, 0.13), inset 0 0 28px rgba(255, 235, 185, 0.045);
  --relic-pressure-shadow-strong: 0 0 68px rgba(240, 220, 170, 0.21), inset 0 0 40px rgba(255, 235, 185, 0.075);
}

/* Make the stress receipt visible on homepage/world chambers without moving the boundary. */
.world-object::before,
.grid-anchor::before {
  border-color: var(--relic-frame-line);
  opacity: 0.82;
  background:
    linear-gradient(135deg, transparent 0 35.65%, var(--relic-crack-line) 35.85%, transparent 36.22% 100%),
    linear-gradient(22deg, transparent 0 60.72%, rgba(255, 235, 185, 0.18) 60.92%, transparent 61.33% 100%),
    linear-gradient(158deg, transparent 0 73.1%, rgba(255, 235, 185, 0.12) 73.28%, transparent 73.64% 100%),
    radial-gradient(circle at 50% 42%, rgba(255, 244, 210, 0.07), transparent 46%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 245, 210, 0.045),
    inset 0 0 34px rgba(255, 235, 185, 0.045);
}

/* Increase internal pressure visibility while keeping layout pinned. */
.world-pressure::after {
  opacity: 0.12;
  background:
    radial-gradient(circle at 50% 43%, rgba(255, 245, 210, 0.19), transparent 42%),
    radial-gradient(circle at 50% 62%, rgba(255, 235, 185, 0.095), transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.055), transparent 42%, rgba(255, 245, 210, 0.06));
}

/* Perceptible posture without scale, zoom, layout drift, or boundary motion. */
.world-object.reduced-motion-safe,
.grid-anchor.reduced-motion-safe {
  animation:
    relic-pop-settle-visible 420ms cubic-bezier(0.19, 1, 0.22, 1) both,
    relic-frame-breath 2200ms cubic-bezier(0.2, 0.75, 0.2, 1) 420ms 1 both;
}

.world-pressure::after {
  animation:
    relic-pressure-cycle-visible 2200ms cubic-bezier(0.2, 0.75, 0.2, 1) 180ms 1 both;
}

@keyframes relic-pop-settle-visible {
  0% {
    opacity: 0.94;
    filter: saturate(0.96) brightness(0.985);
    box-shadow: 0 0 18px rgba(240, 220, 170, 0.06);
  }

  34% {
    opacity: 1;
    filter: saturate(1.06) brightness(1.025);
    box-shadow: var(--relic-pressure-shadow-strong);
  }

  100% {
    opacity: 1;
    filter: saturate(1) brightness(1);
    box-shadow: var(--relic-pressure-shadow);
  }
}

@keyframes relic-frame-breath {
  0% {
    box-shadow: var(--relic-pressure-shadow);
  }

  42% {
    box-shadow: var(--relic-pressure-shadow-strong);
  }

  100% {
    box-shadow: var(--relic-pressure-shadow);
  }
}

@keyframes relic-pressure-cycle-visible {
  0% {
    opacity: 0.02;
  }

  18% {
    opacity: 0.18;
  }

  48% {
    opacity: 0.58;
  }

  78% {
    opacity: 0.26;
  }

  100% {
    opacity: 0.12;
  }
}

/* Hover/focus gives a stronger center-pressure acknowledgement, not movement. */
.world-pressure:hover::after,
.world-pressure:focus-within::after {
  opacity: 0.62;
  animation:
    relic-center-draw-visible 760ms cubic-bezier(0.2, 0.75, 0.2, 1) both;
}

@keyframes relic-center-draw-visible {
  0% {
    opacity: 0.18;
  }

  44% {
    opacity: 0.72;
  }

  100% {
    opacity: 0.32;
  }
}

/* Reduced motion: visible frame, no motion. */
@media (prefers-reduced-motion: reduce) {
  .world-object.reduced-motion-safe,
  .grid-anchor.reduced-motion-safe,
  .world-pressure::after,
  .world-pressure:hover::after,
  .world-pressure:focus-within::after {
    animation: none !important;
    transition: none !important;
  }

  .world-object::before,
  .grid-anchor::before {
    opacity: 0.58;
  }

  .world-pressure::after {
    opacity: 0.10;
  }
}


/* Phase 47B.2: Chamber pressure containment fix
   Pressure belongs inside bounded chambers, not under hero/layout containers.
   Corners remain pinned. Boundary does not breathe.
   CSS-only. No JS. No storage. No tracking. No route behavior.
*/

/* Contain pseudo-physics inside bounded objects. */
.world-object,
.grid-anchor {
  overflow: hidden;
  isolation: isolate;
}

/* Stop broad relic pressure from washing across large layout/hero containers. */
.world-object::before,
.grid-anchor::before,
.world-pressure::after {
  z-index: 0;
}

/* Keep real content above the pressure field. */
.world-object > *,
.grid-anchor > * {
  position: relative;
  z-index: 1;
}

/* Hero regions may carry posture, but must not become giant pressure canvases. */
.hero.world-object::before,
.hero.grid-anchor::before,
.hero.world-pressure::after,
.hero .world-pressure::after {
  opacity: 0.04;
  animation: none;
  box-shadow: none;
}

/* Only bounded pressure chambers may show the stronger relic receipt. */
.world-object.world-pressure::before,
.grid-anchor.world-pressure::before {
  opacity: 0.72;
}

/* Pressure must remain internal and clipped, not projected under the page. */
.world-object.world-pressure::after,
.grid-anchor.world-pressure::after {
  inset: 2px;
  opacity: 0.14;
  overflow: hidden;
  z-index: 0;
}

/* Button/action clusters should not become pressure fields. */
.hero-actions.world-pressure::before,
.hero-actions.world-pressure::after,
.actions.world-pressure::before,
.actions.world-pressure::after,
.cta-row.world-pressure::before,
.cta-row.world-pressure::after {
  opacity: 0;
  animation: none;
  box-shadow: none;
}

/* Reduced motion remains stable and pinned. */
@media (prefers-reduced-motion: reduce) {
  .hero.world-object::before,
  .hero.grid-anchor::before,
  .hero.world-pressure::after,
  .hero .world-pressure::after,
  .hero-actions.world-pressure::before,
  .hero-actions.world-pressure::after,
  .actions.world-pressure::before,
  .actions.world-pressure::after,
  .cta-row.world-pressure::before,
  .cta-row.world-pressure::after {
    opacity: 0 !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Phase 47B.3: Page container frame pinning fix
   The page is the container.
   Corners pin to the viewport/page boundary.
   Hero/content sections are not the container.
   CSS-only. No JS. No storage. No tracking. No route behavior.
*/

/* Disable broad local pressure from treating hero/content blocks as the container. */
.world-object::before,
.grid-anchor::before,
.world-pressure::after,
.world-object.world-pressure::before,
.grid-anchor.world-pressure::before,
.world-object.world-pressure::after,
.grid-anchor.world-pressure::after {
  opacity: 0 !important;
  animation: none !important;
  box-shadow: none !important;
}

/* Page-level governed container. */
html,
body {
  min-height: 100%;
}

body {
  position: relative;
  overflow-x: hidden;
}

/* Keep page content above the page-frame substrate. */
body > * {
  position: relative;
  z-index: 1;
}

/* Pinned page corners and frame boundary. */
body::before {
  content: "";
  position: fixed;
  inset: 14px;
  pointer-events: none;
  z-index: 20;
  border: 1px solid rgba(240, 220, 170, 0.32);
  border-radius: 18px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 245, 210, 0.045),
    inset 0 0 42px rgba(255, 235, 185, 0.045),
    0 0 48px rgba(240, 220, 170, 0.09);
  background:
    linear-gradient(90deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) top left / 92px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) top left / 1px 92px no-repeat,
    linear-gradient(270deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) top right / 92px 1px no-repeat,
    linear-gradient(180deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) top right / 1px 92px no-repeat,
    linear-gradient(90deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) bottom left / 92px 1px no-repeat,
    linear-gradient(0deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) bottom left / 1px 92px no-repeat,
    linear-gradient(270deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) bottom right / 92px 1px no-repeat,
    linear-gradient(0deg, rgba(255, 235, 185, 0.32), rgba(255, 235, 185, 0)) bottom right / 1px 92px no-repeat;
  animation:
    page-frame-settle 420ms cubic-bezier(0.19, 1, 0.22, 1) both,
    page-frame-breath 2400ms cubic-bezier(0.2, 0.75, 0.2, 1) 420ms 1 both;
}

/* Page-level crack/stress receipt, pinned to the page frame. */
body::after {
  content: "";
  position: fixed;
  inset: 14px;
  pointer-events: none;
  z-index: 19;
  border-radius: 18px;
  opacity: 0.46;
  mix-blend-mode: screen;
  background:
    linear-gradient(132deg, transparent 0 18%, rgba(255, 235, 185, 0.20) 18.16%, transparent 18.42% 100%),
    linear-gradient(28deg, transparent 0 76%, rgba(255, 235, 185, 0.16) 76.12%, transparent 76.42% 100%),
    linear-gradient(166deg, transparent 0 58%, rgba(255, 235, 185, 0.12) 58.12%, transparent 58.38% 100%),
    radial-gradient(circle at 50% 46%, rgba(255, 245, 210, 0.055), transparent 42%);
  animation:
    page-pressure-inhale 2400ms cubic-bezier(0.2, 0.75, 0.2, 1) 180ms 1 both;
}

@keyframes page-frame-settle {
  0% {
    opacity: 0.55;
    filter: brightness(0.96) saturate(0.96);
  }

  38% {
    opacity: 1;
    filter: brightness(1.05) saturate(1.06);
  }

  100% {
    opacity: 0.82;
    filter: brightness(1) saturate(1);
  }
}

@keyframes page-frame-breath {
  0% {
    box-shadow:
      inset 0 0 0 1px rgba(255, 245, 210, 0.045),
      inset 0 0 42px rgba(255, 235, 185, 0.045),
      0 0 48px rgba(240, 220, 170, 0.09);
  }

  44% {
    box-shadow:
      inset 0 0 0 1px rgba(255, 245, 210, 0.085),
      inset 0 0 58px rgba(255, 235, 185, 0.075),
      0 0 74px rgba(240, 220, 170, 0.16);
  }

  100% {
    box-shadow:
      inset 0 0 0 1px rgba(255, 245, 210, 0.045),
      inset 0 0 42px rgba(255, 235, 185, 0.045),
      0 0 48px rgba(240, 220, 170, 0.09);
  }
}

@keyframes page-pressure-inhale {
  0% {
    opacity: 0.12;
  }

  42% {
    opacity: 0.58;
  }

  100% {
    opacity: 0.38;
  }
}

/* Reduced motion: pinned frame remains, motion stops. */
@media (prefers-reduced-motion: reduce) {
  body::before,
  body::after {
    animation: none !important;
    transition: none !important;
  }

  body::before {
    opacity: 0.76;
  }

  body::after {
    opacity: 0.24;
  }
}

/* Phase 47B.R: Relic frame visual rollback
   The doctrine remains standing.
   The visible crack/pressure implementation is disabled.
   Reason: page/container pressure and crack behavior must be redesigned.
   CSS-only. No JS. No storage. No tracking. No route behavior.
*/

.world-object::before,
.grid-anchor::before,
.world-pressure::after,
.world-object.world-pressure::before,
.grid-anchor.world-pressure::before,
.world-object.world-pressure::after,
.grid-anchor.world-pressure::after,
body::before,
body::after {
  content: none !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
}

.world-object.reduced-motion-safe,
.grid-anchor.reduced-motion-safe,
.world-pressure,
.world-object,
.grid-anchor {
  animation: none !important;
  transition: none !important;
  box-shadow: inherit;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .world-object::before,
  .grid-anchor::before,
  .world-pressure::after,
  body::before,
  body::after {
    content: none !important;
    opacity: 0 !important;
    animation: none !important;
    transition: none !important;
  }
}

/* Phase 51M — Mobile Constraint Layer
   Mobile is constrained posture, not a second site. */

@media (max-width: 820px) {
  :root {
    --world-pressure-x: 0px;
    --world-pressure-y: 0px;
    --world-depth-scale: 1;
    --world-shadow-blur: 18px;
  }

  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .world-object,
  .world-pressure,
  .governed-action,
  .reduced-motion-safe {
    transform: none;
    animation: none;
    transition-duration: 120ms;
  }

  .site-header,
  .nav,
  .site-nav,
  .primary-nav,
  header nav {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
    max-width: 100%;
  }

  .site-header a,
  .nav a,
  .site-nav a,
  .primary-nav a,
  header nav a {
    white-space: normal;
  }

  .hero,
  .section,
  main section {
    padding-left: 18px;
    padding-right: 18px;
  }

  .hero {
    padding-top: 48px;
    padding-bottom: 42px;
  }

  .hero h1,
  h1 {
    font-size: clamp(2rem, 10vw, 3.15rem);
    line-height: 1.02;
  }

  .hero p,
  .lead,
  .section-lead {
    font-size: 1rem;
  }

  .grid,
  .cards,
  .card-grid,
  .proof-grid,
  .suite-grid {
    grid-template-columns: 1fr;
  }

  .card,
  .panel,
  .world-object {
    max-width: 100%;
  }

  img,
  svg,
  video {
    max-width: 100%;
    height: auto;
  }
}

@media (max-width: 560px) {
  .site-header,
  .nav,
  .site-nav,
  .primary-nav,
  header nav {
    gap: 8px;
  }

  .site-header,
  header {
    padding-left: 14px;
    padding-right: 14px;
  }

  .hero,
  .section,
  main section {
    padding-left: 14px;
    padding-right: 14px;
  }

  .hero h1,
  h1 {
    font-size: clamp(1.85rem, 11vw, 2.6rem);
  }

  .button,
  .btn,
  .cta,
  .hero-actions a {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .hero-actions,
  .actions,
  .cta-row {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
  }

  .world-object,
  .world-pressure,
  .governed-action,
  .reduced-motion-safe {
    transform: none !important;
  }
}

/* Phase 51M-C — Mobile Navigation Constraint
   The mobile nav may wrap, but its frame may not intersect menu text. */

@media (max-width: 820px) {
  .site-header,
  header,
  .nav,
  .site-nav,
  .primary-nav,
  header nav {
    min-height: auto;
    height: auto;
  }

  .site-header,
  header {
    position: relative;
    overflow: visible;
  }

  .nav,
  .site-nav,
  .primary-nav,
  header nav {
    position: relative;
    row-gap: 12px;
    column-gap: 10px;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.25;
  }

  .nav a,
  .site-nav a,
  .primary-nav a,
  header nav a {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding-top: 6px;
    padding-bottom: 6px;
    line-height: 1.15;
  }

  .site-header::before,
  .site-header::after,
  header::before,
  header::after,
  .nav::before,
  .nav::after,
  .site-nav::before,
  .site-nav::after,
  .primary-nav::before,
  .primary-nav::after {
    pointer-events: none;
  }
}

@media (max-width: 560px) {
  .nav,
  .site-nav,
  .primary-nav,
  header nav {
    row-gap: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .nav a,
  .site-nav a,
  .primary-nav a,
  header nav a {
    min-height: 34px;
    padding-top: 7px;
    padding-bottom: 7px;
  }
}

/* Phase 52A Repair — Header Logo Constraint
   Public page seals must remain bounded inside the site header. */

.site-header .brand,
header .brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.site-header .brand img,
header .brand img {
  width: clamp(48px, 6vw, 72px);
  max-width: 72px;
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
}

.site-header .brand span,
header .brand span {
  min-width: 0;
}

@media (max-width: 820px) {
  .site-header .brand img,
  header .brand img {
    width: 54px;
    max-width: 54px;
  }

  .site-header .brand,
  header .brand {
    gap: 10px;
  }
}

@media (max-width: 560px) {
  .site-header .brand img,
  header .brand img {
    width: 46px;
    max-width: 46px;
  }
}

/* Phase 53.1D.1 — EGAE commercial route full-card buttons */
[data-egae-commercial-hub="true"] .egae-route-card {
  display: flex;
  min-height: 10rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

[data-egae-commercial-hub="true"] .egae-route-card h3,
[data-egae-commercial-hub="true"] .egae-route-card p {
  margin-left: auto;
  margin-right: auto;
}

[data-egae-commercial-hub="true"] .route-card-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(198, 226, 255, 0.22);
  border-radius: 999px;
  padding: 0.55rem 1.15rem;
  font-weight: 700;
  color: #f5f8ff;
}

[data-egae-commercial-hub="true"] .egae-route-card:hover .route-card-action,
[data-egae-commercial-hub="true"] .egae-route-card:focus-visible .route-card-action {
  border-color: rgba(198, 226, 255, 0.42);
}

/* Phase 53.1B.2 — Licensing lanes spacing correction */
.licensing-page .licensing-lanes-settle {
  margin-top: 1rem;
}

.licensing-page .licensing-lanes-settle .card-grid {
  margin-top: 1.25rem;
}

@media (max-width: 820px) {
  .licensing-page .licensing-lanes-settle {
    margin-top: 0.75rem;
  }

  .licensing-page .licensing-lanes-settle .card-grid {
    margin-top: 1rem;
  }
}
