:root {
  --cathedral-black: #050505;
  --cathedral-black-2: #090909;
  --cathedral-ivory: #f1eee7;
  --cathedral-muted: #9e9b94;
  --cathedral-orange: #ff5a1f;
  --cathedral-violet: #7c3aed;
  --cathedral-violet-soft: #a78bfa;
  --cathedral-line: rgba(242, 239, 231, .16);
  --cathedral-line-soft: rgba(242, 239, 231, .08);
  --cathedral-unit: clamp(56px, 6.5vw, 104px);
}

body.ecai-cathedral {
  --bg: var(--cathedral-black);
  --bg-soft: #080808;
  --panel: #0b0b0b;
  --panel-2: #101010;
  --ink: var(--cathedral-ivory);
  --muted: var(--cathedral-muted);
  --line: var(--cathedral-line);
  --line-strong: rgba(242, 239, 231, .28);
  --accent: var(--cathedral-violet);
  --accent-2: var(--cathedral-ivory);
  --accent-pink: #a855f7;
  --accent-warm: var(--cathedral-orange);
  --brand-gradient: linear-gradient(104deg, var(--cathedral-violet), #a855f7 45%, var(--cathedral-orange));
  --radius: 0;
  overflow-x: hidden;
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(255, 90, 31, .09) 50%, transparent calc(50% + .5px)),
    repeating-linear-gradient(90deg, var(--cathedral-line-soft) 0 1px, transparent 1px 12.5vw),
    var(--cathedral-black);
}

.ecai-cathedral main,
.ecai-cathedral .site-footer {
  position: relative;
  z-index: 2;
}

.cathedral-frame {
  position: fixed;
  inset: 0;
  z-index: 1;
  overflow: hidden;
  pointer-events: none;
}

.cathedral-frame-line {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(transparent, var(--cathedral-line-soft) 12%, var(--cathedral-line-soft) 88%, transparent);
}

.cathedral-frame-line-one { left: 6.25vw; }
.cathedral-frame-line-two { right: 6.25vw; }

.cathedral-frame-cross {
  position: absolute;
  top: calc(50% - 28px);
  right: 6.25vw;
  width: 56px;
  height: 56px;
  border: 1px solid rgba(255, 90, 31, .34);
  transform: translateX(50%) rotate(calc(45deg + var(--cathedral-turn, 0deg)));
  transition: transform .18s linear;
}

.cathedral-frame-cross::before,
.cathedral-frame-cross::after {
  content: "";
  position: absolute;
  background: rgba(167, 139, 250, .52);
}

.cathedral-frame-cross::before {
  top: 50%;
  right: -18px;
  left: -18px;
  height: 1px;
}

.cathedral-frame-cross::after {
  top: -18px;
  bottom: -18px;
  left: 50%;
  width: 1px;
}

.cathedral-frame-progress {
  position: absolute;
  top: 26%;
  right: 25px;
  bottom: 26%;
  width: 1px;
  background: rgba(242, 239, 231, .13);
}

.cathedral-frame-progress i {
  display: block;
  width: 1px;
  height: 100%;
  background: linear-gradient(var(--cathedral-ivory), var(--cathedral-orange) 62%, var(--cathedral-violet));
  transform: scaleY(var(--cathedral-progress, 0));
  transform-origin: top;
}

.cathedral-frame-code {
  position: absolute;
  right: 18px;
  bottom: 18px;
  color: rgba(242, 239, 231, .28);
  font: 700 8px/1.4 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .18em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.ecai-cathedral .site-header {
  border-bottom: 1px solid var(--cathedral-line);
  background: #09090b;
}

.ecai-cathedral .site-header.is-scrolled {
  border-color: rgba(255, 90, 31, .32);
  box-shadow: 0 20px 80px rgba(0, 0, 0, .42);
}

.ecai-cathedral .nav-shell { min-height: 72px; }

.ecai-cathedral .brand {
  font-family: "Manrope", sans-serif;
  font-weight: 680;
  letter-spacing: -.04em;
}

.ecai-cathedral .brand img { border-radius: 0; }

.ecai-cathedral .primary-nav > a:not(.button) {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ecai-cathedral .primary-nav > a:not(.button)::after {
  bottom: -26px;
  height: 1px;
  background: var(--cathedral-orange);
}

.ecai-cathedral .button {
  min-height: 52px;
  border-radius: 0;
  background: var(--cathedral-ivory);
  box-shadow: none;
  color: var(--cathedral-black);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.ecai-cathedral .button:hover {
  border-color: var(--cathedral-orange);
  background: var(--cathedral-orange);
  box-shadow: 12px 12px 0 rgba(124, 58, 237, .2);
}

.ecai-cathedral .button-ghost,
.ecai-cathedral .button-cinematic-ghost,
.ecai-cathedral .button-secondary {
  border-color: var(--cathedral-line);
  background: rgba(5, 5, 5, .54);
  color: var(--cathedral-ivory);
}

.ecai-cathedral .button-light {
  background: var(--cathedral-ivory);
  color: var(--cathedral-black);
}

.ecai-cathedral .eyebrow,
.ecai-cathedral .micro-label,
.ecai-cathedral .scene-index,
.ecai-cathedral .card-index {
  color: var(--cathedral-orange);
  font-family: "JetBrains Mono", ui-monospace, monospace;
}

.ecai-cathedral h1,
.ecai-cathedral h2,
.ecai-cathedral h3 {
  font-weight: 520;
  letter-spacing: -.06em;
}

.ecai-cathedral .breadcrumbs {
  position: relative;
  z-index: 4;
  padding-top: 28px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ecai-cathedral .page-hero,
.ecai-cathedral .automation-hero,
.ecai-cathedral .about-hero,
.ecai-cathedral .contact-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--cathedral-line);
  background:
    linear-gradient(90deg, rgba(5, 5, 5, .98) 0 36%, rgba(5, 5, 5, .52) 67%, #050505 100%),
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .06) 0 1px, transparent 1px 9vw),
    repeating-linear-gradient(rgba(242, 239, 231, .055) 0 1px, transparent 1px 12vh),
    var(--cathedral-black);
}

.ecai-cathedral .page-hero::after,
.ecai-cathedral .automation-hero::after,
.ecai-cathedral .about-hero::after,
.ecai-cathedral .contact-hero::after {
  content: "";
  position: absolute;
  top: 16%;
  right: 9%;
  z-index: -1;
  width: min(34vw, 500px);
  aspect-ratio: 1;
  border: 1px solid rgba(242, 239, 231, .18);
  box-shadow:
    36px 36px 0 rgba(255, 90, 31, .08),
    -36px -36px 0 rgba(124, 58, 237, .06);
  transform: rotate(calc(45deg + var(--cathedral-turn, 0deg)));
}

.ecai-cathedral .page-hero {
  min-height: 68svh;
  padding-block: clamp(110px, 13vw, 180px);
}

.ecai-cathedral .page-hero h1 {
  max-width: 1080px;
  font-size: clamp(56px, 7.1vw, 104px);
  font-weight: 480;
  line-height: .9;
  text-transform: uppercase;
}

.ecai-cathedral .page-hero .narrow > p:not(.eyebrow) {
  max-width: 720px;
  color: rgba(242, 239, 231, .62);
}

.ecai-cathedral .section,
.ecai-cathedral .about-belief,
.ecai-cathedral .about-principles,
.ecai-cathedral .contact-routes,
.ecai-cathedral .proof-section,
.ecai-cathedral .service-proof-section,
.ecai-cathedral .diagnosis-feature {
  position: relative;
  border-color: var(--cathedral-line);
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(255, 90, 31, .055) 50%, transparent calc(50% + .5px)),
    var(--cathedral-black);
}

.ecai-cathedral .section::before,
.ecai-cathedral .about-belief::before,
.ecai-cathedral .about-principles::before,
.ecai-cathedral .contact-routes::before,
.ecai-cathedral .proof-section::before,
.ecai-cathedral .service-proof-section::before,
.ecai-cathedral .diagnosis-feature::before {
  content: "";
  position: absolute;
  top: 0;
  right: 6.25vw;
  left: 6.25vw;
  height: 1px;
  background: var(--cathedral-line);
}

.ecai-cathedral .section-soft,
.ecai-cathedral .section-contrast {
  background:
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .045) 0 1px, transparent 1px 12.5vw),
    #080808;
}

.ecai-cathedral .section-heading {
  margin-bottom: 64px;
  padding-bottom: 34px;
  border-bottom: 1px solid var(--cathedral-line);
}

.ecai-cathedral .section-heading h2,
.ecai-cathedral .proof-heading h2,
.ecai-cathedral .about-belief h2 {
  font-size: clamp(48px, 5.8vw, 84px);
  font-weight: 470;
  line-height: .95;
  text-transform: uppercase;
}

.ecai-cathedral .card-grid,
.ecai-cathedral .proof-grid,
.ecai-cathedral .principle-matrix,
.ecai-cathedral .contact-route-grid {
  gap: 1px;
  border: 1px solid var(--cathedral-line);
  background: var(--cathedral-line);
}

.ecai-cathedral .card,
.ecai-cathedral .proof-card,
.ecai-cathedral .principle-matrix article,
.ecai-cathedral .contact-route {
  border: 0;
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(242, 239, 231, .035), transparent 54%),
    var(--cathedral-black-2);
}

.ecai-cathedral .card:hover,
.ecai-cathedral .proof-card:hover,
.ecai-cathedral .contact-route:hover {
  border-color: transparent;
  box-shadow: inset 4px 0 var(--cathedral-orange);
  transform: none;
}

.ecai-cathedral .category-card {
  min-height: 360px;
  padding: 34px;
}

.ecai-cathedral .category-card .card-index {
  margin-bottom: 82px;
  color: rgba(242, 239, 231, .32);
}

.ecai-cathedral .category-card h3 { text-transform: uppercase; }

.ecai-cathedral .process-grid {
  gap: 1px;
  border-radius: 0;
  border-color: var(--cathedral-line);
  background: var(--cathedral-line);
}

.ecai-cathedral .process-grid article {
  background: var(--cathedral-black-2);
}

.ecai-cathedral .pill-grid span,
.ecai-cathedral .link-grid a {
  border-radius: 0;
  background: #090909;
}

.ecai-cathedral .cta-inner {
  border: 1px solid var(--cathedral-line);
  border-radius: 0;
  background:
    linear-gradient(90deg, rgba(124, 58, 237, .22), transparent 40%),
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .06) 0 1px, transparent 1px 10%),
    #090909;
  box-shadow: 24px 24px 0 rgba(255, 90, 31, .14);
}

.ecai-cathedral .cta-inner::after {
  border-radius: 0;
  transform: rotate(45deg);
}

.ecai-cathedral .cinematic-story,
.ecai-cathedral .cinematic-viewport {
  background: var(--cathedral-black);
}

.ecai-cathedral .cinematic-shade {
  background:
    linear-gradient(90deg, #050505 0 38%, rgba(5, 5, 5, .62) 58%, transparent 80%),
    linear-gradient(180deg, rgba(5, 5, 5, .45), transparent 62%, #050505),
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .05) 0 1px, transparent 1px 9vw);
}

.ecai-cathedral .scene-copy h1,
.ecai-cathedral .scene-copy h2 {
  font-weight: 470;
  text-transform: uppercase;
}

.ecai-cathedral .scene-copy h1 span,
.ecai-cathedral .scene-copy h2 span {
  color: transparent;
  background: linear-gradient(100deg, var(--cathedral-violet-soft), #a855f7 48%, var(--cathedral-orange));
  -webkit-background-clip: text;
  background-clip: text;
}

.ecai-cathedral .lower-cinematic {
  background:
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .045) 0 1px, transparent 1px 12.5vw),
    var(--cathedral-black);
}

.ecai-cathedral .lower-cinematic::before {
  background:
    linear-gradient(90deg, rgba(5, 5, 5, .8), transparent 42%, rgba(5, 5, 5, .64)),
    linear-gradient(180deg, #050505, transparent 12%, transparent 88%, #050505);
}

.ecai-cathedral .system-manifesto,
.ecai-cathedral .capability-universe,
.ecai-cathedral .analysis-invitation {
  border-top: 1px solid var(--cathedral-line);
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(255, 90, 31, .07) 50%, transparent calc(50% + .5px)),
    var(--cathedral-black);
}

.ecai-cathedral .system-manifesto::before {
  opacity: .48;
  background-image:
    linear-gradient(rgba(242, 239, 231, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(242, 239, 231, .07) 1px, transparent 1px);
}

.ecai-cathedral .manifesto-title h2,
.ecai-cathedral .analysis-invitation h2 {
  font-weight: 470;
  text-transform: uppercase;
}

.ecai-cathedral .manifesto-copy,
.ecai-cathedral .analysis-invitation-grid > div:last-child {
  border-radius: 0;
  background: #090909;
  box-shadow: 18px 18px 0 rgba(124, 58, 237, .1);
  backdrop-filter: none;
}

.ecai-cathedral .manifesto-copy::before {
  background: #090909;
}

.ecai-cathedral .capability-map {
  border-color: var(--cathedral-line);
}

.ecai-cathedral .capability-heading > p,
.ecai-cathedral .capability-more a {
  background: #090909;
}

.ecai-cathedral .capability-core,
.ecai-cathedral .capability-node {
  border-radius: 0;
}

.ecai-cathedral .capability-core {
  box-shadow: 18px 18px 0 rgba(255, 90, 31, .15);
}

.ecai-cathedral .capability-node {
  background: #090909;
}

.ecai-cathedral .automation-hero-grid,
.ecai-cathedral .about-hero-grid,
.ecai-cathedral .contact-hero-grid {
  min-height: calc(100svh - 72px);
}

.ecai-cathedral .automation-copy h1,
.ecai-cathedral .about-copy h1,
.ecai-cathedral .contact-copy h1 {
  font-size: clamp(58px, 7vw, 102px);
  font-weight: 470;
  line-height: .9;
  text-transform: uppercase;
}

.ecai-cathedral .automation-visual,
.ecai-cathedral .about-core {
  filter: saturate(.82) contrast(1.08);
}

.ecai-cathedral .automation-core,
.ecai-cathedral .about-core > div,
.ecai-cathedral .service-core {
  border-radius: 0;
  background:
    linear-gradient(145deg, rgba(124, 58, 237, .82), rgba(20, 10, 39, .96));
  box-shadow:
    20px 20px 0 rgba(255, 90, 31, .15),
    0 0 80px rgba(124, 58, 237, .28);
}

.ecai-cathedral .automation-satellite,
.ecai-cathedral .service-node,
.ecai-cathedral .service-visual-caption {
  border-radius: 0;
  background: rgba(8, 8, 8, .94);
}

.ecai-cathedral .diagnosis-radar,
.ecai-cathedral .radar-grid,
.ecai-cathedral .radar-card {
  border-radius: 0;
}

.ecai-cathedral .diagnosis-radar {
  transform: rotate(45deg);
}

.ecai-cathedral .diagnosis-radar > * { transform: rotate(-45deg); }
.ecai-cathedral .diagnosis-radar .radar-grid,
.ecai-cathedral .diagnosis-radar .radar-sweep,
.ecai-cathedral .diagnosis-radar .radar-point { transform: none; }

.ecai-cathedral .service-hero::before {
  border-radius: 0;
  background:
    linear-gradient(45deg, rgba(124, 58, 237, .14), transparent 54%),
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .05) 0 1px, transparent 1px 10%);
}

.ecai-cathedral .service-system-visual::after {
  border-radius: 0;
  mask-image: linear-gradient(90deg, transparent, black 22%, black 78%, transparent);
}

.ecai-cathedral .service-proof-console {
  border-radius: 0;
  background: #080808;
  box-shadow: 20px 20px 0 rgba(124, 58, 237, .1);
}

.ecai-cathedral .service-proof-head,
.ecai-cathedral .service-proof-foot {
  font-family: "JetBrains Mono", ui-monospace, monospace;
}

.ecai-cathedral .diagnosis-hero {
  padding-block: 100px 70px;
  text-align: left;
}

.ecai-cathedral .diagnosis-hero .narrow {
  max-width: var(--shell);
}

.ecai-cathedral .diagnosis-hero .narrow > p:not(.eyebrow) {
  margin-inline: 0;
}

.ecai-cathedral .diagnosis-hero .inline-checks { justify-content: flex-start; }

.ecai-cathedral .diagnosis-hero-orbit {
  top: -10%;
  left: auto;
  right: 7%;
  width: min(48vw, 720px);
  transform: rotate(45deg);
}

.ecai-cathedral .diagnosis-hero-orbit span,
.ecai-cathedral .diagnosis-hero-orbit i {
  border-radius: 0;
}

.ecai-cathedral .analysis-section {
  padding-top: 48px;
  background:
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .045) 0 1px, transparent 1px 12.5vw),
    var(--cathedral-black);
}

.ecai-cathedral .analysis-shell {
  max-width: 1080px;
  padding: 0;
  overflow: hidden;
  border-color: var(--cathedral-line);
  border-radius: 0;
  background: #090909;
  box-shadow:
    24px 24px 0 rgba(255, 90, 31, .1),
    -24px -24px 0 rgba(124, 58, 237, .07);
}

.ecai-cathedral .analysis-top,
.ecai-cathedral .analysis-research,
.ecai-cathedral .analysis-chat,
.ecai-cathedral .analysis-composer,
.ecai-cathedral .analysis-result,
.ecai-cathedral .analysis-contact {
  padding-right: 30px;
  padding-left: 30px;
}

.ecai-cathedral .analysis-top { padding-top: 28px; }

.ecai-cathedral .analysis-progress {
  height: 2px;
  border-radius: 0;
}

.ecai-cathedral .analysis-progress span {
  border-radius: 0;
  background: linear-gradient(90deg, var(--cathedral-violet), var(--cathedral-orange));
}

.ecai-cathedral input,
.ecai-cathedral textarea {
  border-radius: 0;
  background: #050505;
}

.ecai-cathedral .analysis-research-brief,
.ecai-cathedral .analysis-sources,
.ecai-cathedral .analysis-source-links a,
.ecai-cathedral .analysis-avatar,
.ecai-cathedral .analysis-bubble,
.ecai-cathedral .analysis-error,
.ecai-cathedral .booking-panel {
  border-radius: 0;
}

.ecai-cathedral .analysis-message-user .analysis-bubble {
  border-color: rgba(255, 90, 31, .3);
  background: rgba(255, 90, 31, .08);
}

.ecai-cathedral .proof-card {
  min-height: 610px;
}

.ecai-cathedral .proof-interface,
.ecai-cathedral .proof-input,
.ecai-cathedral .proof-metrics span,
.ecai-cathedral .proof-release-ui li {
  border-radius: 0;
}

.ecai-cathedral .about-core > div {
  transform: rotate(45deg);
}

.ecai-cathedral .about-core > div > * {
  transform: rotate(-45deg);
}

.ecai-cathedral .about-ring,
.ecai-cathedral .principle-icon {
  border-radius: 0;
}

.ecai-cathedral .company-register {
  position: relative;
  padding: clamp(110px, 13vw, 180px) 0;
  border-top: 1px solid var(--cathedral-line);
  background:
    linear-gradient(90deg, rgba(124, 58, 237, .08), transparent 36%),
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .045) 0 1px, transparent 1px 12.5vw),
    #050505;
}

.ecai-cathedral .company-register-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(70px, 10vw, 150px);
  align-items: start;
}

.ecai-cathedral .company-register h2 {
  max-width: 620px;
  font-size: clamp(46px, 5.4vw, 78px);
  font-weight: 470;
  line-height: .95;
  text-transform: uppercase;
}

.ecai-cathedral .company-register-grid > div > p:last-child {
  max-width: 590px;
  color: var(--cathedral-muted);
}

.ecai-cathedral .company-ledger {
  margin: 0;
  border-top: 1px solid var(--cathedral-line);
}

.ecai-cathedral .company-ledger > div {
  display: grid;
  min-height: 78px;
  padding: 18px 0;
  grid-template-columns: 48px .75fr 1.25fr;
  gap: 22px;
  align-items: center;
  border-bottom: 1px solid var(--cathedral-line);
}

.ecai-cathedral .company-ledger span,
.ecai-cathedral .company-ledger dt {
  color: rgba(242, 239, 231, .38);
  font: 700 9px/1.4 "JetBrains Mono", ui-monospace, monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.ecai-cathedral .company-ledger span { color: var(--cathedral-orange); }

.ecai-cathedral .company-ledger dd {
  margin: 0;
  color: rgba(242, 239, 231, .82);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.ecai-cathedral .whatsapp-button {
  border-radius: 0;
  box-shadow: 16px 16px 0 rgba(124, 58, 237, .12);
}

.ecai-cathedral .phone-frame,
.ecai-cathedral .phone-chat p,
.ecai-cathedral .contact-route {
  border-radius: 0;
}

.ecai-cathedral .legal-copy {
  padding: 80px 0 120px;
}

.ecai-cathedral .legal-copy h2 {
  padding-top: 32px;
  border-top: 1px solid var(--cathedral-line);
  color: var(--cathedral-ivory);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 18px;
  letter-spacing: -.02em;
  text-transform: uppercase;
}

.ecai-cathedral .site-footer {
  position: relative;
  padding-top: 100px;
  border-color: var(--cathedral-line);
  background:
    repeating-linear-gradient(90deg, rgba(242, 239, 231, .05) 0 1px, transparent 1px 12.5vw),
    #050505;
}

.ecai-cathedral .footer-grid {
  padding-top: 48px;
  border-top: 1px solid var(--cathedral-line);
}

.ecai-cathedral .site-footer h2 {
  color: var(--cathedral-orange);
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ecai-cathedral .measurement-choice {
  border-radius: 0;
  background: #090909;
  box-shadow: 18px 18px 0 rgba(255, 90, 31, .13);
}

@media (max-width: 900px) {
  .cathedral-frame-line-one { left: 16px; }
  .cathedral-frame-line-two { right: 16px; }
  .cathedral-frame-cross,
  .cathedral-frame-code { display: none; }
  .cathedral-frame-progress { right: 8px; }

  .ecai-cathedral .page-hero,
  .ecai-cathedral .automation-hero,
  .ecai-cathedral .about-hero,
  .ecai-cathedral .contact-hero {
    background:
      linear-gradient(180deg, rgba(5, 5, 5, .22), #050505),
      repeating-linear-gradient(90deg, rgba(242, 239, 231, .05) 0 1px, transparent 1px 25vw),
      var(--cathedral-black);
  }

  .ecai-cathedral .page-hero::after,
  .ecai-cathedral .automation-hero::after,
  .ecai-cathedral .about-hero::after,
  .ecai-cathedral .contact-hero::after {
    top: 8%;
    right: -24%;
    width: 72vw;
    opacity: .5;
  }

  .ecai-cathedral .card-grid,
  .ecai-cathedral .proof-grid,
  .ecai-cathedral .principle-matrix,
  .ecai-cathedral .contact-route-grid {
    gap: 1px;
  }

  .ecai-cathedral .diagnosis-hero-orbit {
    right: -28%;
    width: 92vw;
    opacity: .36;
  }

  .ecai-cathedral .analysis-shell {
    width: calc(100vw - 30px);
    box-shadow: 10px 10px 0 rgba(255, 90, 31, .1);
  }
}

@media (max-width: 680px) {
  .ecai-cathedral .nav-shell { min-height: 66px; }
  .ecai-cathedral .primary-nav {
    border-radius: 0;
    background: rgba(5, 5, 5, .99);
  }
  .ecai-cathedral .primary-nav > a:not(.button)::after { bottom: 6px; }
  .ecai-cathedral .page-hero { min-height: 0; padding-block: 92px 72px; }
  .ecai-cathedral .service-hero { padding-block: 14px 68px; }
  .ecai-cathedral .page-hero h1,
  .ecai-cathedral .automation-copy h1,
  .ecai-cathedral .about-copy h1,
  .ecai-cathedral .contact-copy h1 {
    font-size: clamp(48px, 14vw, 70px);
  }
  .ecai-cathedral .section-heading h2,
  .ecai-cathedral .proof-heading h2,
  .ecai-cathedral .about-belief h2 {
    font-size: clamp(42px, 12vw, 58px);
  }
  .ecai-cathedral .category-card { min-height: 0; }
  .ecai-cathedral .category-card .card-index { margin-bottom: 40px; }
  .ecai-cathedral .analysis-top,
  .ecai-cathedral .analysis-research,
  .ecai-cathedral .analysis-chat,
  .ecai-cathedral .analysis-composer,
  .ecai-cathedral .analysis-result,
  .ecai-cathedral .analysis-contact {
    padding-right: 18px;
    padding-left: 18px;
  }
  .ecai-cathedral .analysis-chat { min-height: 340px; }
  .ecai-cathedral .analysis-message { max-width: 96%; }
  .ecai-cathedral .proof-card { min-height: 0; }
  .ecai-cathedral .company-register-grid { grid-template-columns: 1fr; gap: 56px; }
  .ecai-cathedral .company-ledger > div { grid-template-columns: 36px 1fr; gap: 10px; }
  .ecai-cathedral .company-ledger dd { grid-column: 2; }
  .ecai-cathedral .cta-inner {
    padding: 44px 24px;
    box-shadow: 10px 10px 0 rgba(255, 90, 31, .13);
  }
}

@media (prefers-reduced-motion: reduce) {
  .cathedral-frame-cross {
    transform: translateX(50%) rotate(45deg);
  }
  .cathedral-frame-progress i {
    transform: scaleY(1);
  }
  .ecai-cathedral .page-hero::after,
  .ecai-cathedral .automation-hero::after,
  .ecai-cathedral .about-hero::after,
  .ecai-cathedral .contact-hero::after {
    transform: rotate(45deg);
  }
}

/* ==========================================================================
   Verticale rasterlijnen uit, 13-08-2026

   Garric, met screenshots ernaast: "ik wil dat je die verticale strepen
   weghaalt, zowel in het begin in de hero als in de footer."

   Die lijnen zijn geen los element maar een achtergrondlaag: elf regels
   hierboven tekenen ze met `repeating-linear-gradient(90deg, ...)` op een
   raster van 9vw tot 12,5vw. Ze weghalen kan daarom niet door een span te
   schrappen; de achtergrond zelf moet vlak worden. Dit blok staat bewust
   achteraan en overschrijft alleen de achtergrond, zodat kleuren, randen en
   de rest van de opmaak intact blijven en de wijziging in een keer terug te
   draaien is.
   ========================================================================== */

body.ecai-cathedral { background-image: none; background-color: var(--cathedral-black); }

.ecai-cathedral .cinematic-shade,
.ecai-cathedral .lower-cinematic,
.ecai-cathedral .site-footer,
.ecai-cathedral .section-soft,
.ecai-cathedral .section-contrast,
.ecai-cathedral .cta-inner,
.ecai-cathedral .analysis-section,
.ecai-cathedral .company-register,
.ecai-cathedral .page-hero,
.ecai-cathedral .automation-hero,
.ecai-cathedral .about-hero,
.ecai-cathedral .contact-hero { background-image: none; }

.ecai-cathedral .service-hero::before { background-image: none; }

/* ==========================================================================
   Correcties op subpagina's, 14-08-2026

   Twee dingen die Garric aanwees toen alle routes de cathedral-opmaak kregen:
   "hier glitcht de knop" en "de kopteksten staan er met belachelijk grote tekst,
   op elke pagina."
   ========================================================================== */

/* 1. De knop rechtsboven was onleesbaar: cathedral geeft hem een ivoren
   achtergrond, maar enterprise.css dwingt met `color: #fff !important` witte
   tekst af op .button-small. Wit op ivoor. Alleen een even sterke regel wint
   hier, vandaar de !important; die staat er bewust en niet uit gemakzucht. */
.ecai-cathedral .button-small,
.ecai-cathedral .button.button-small { color: var(--cathedral-black) !important; }

/* 2. De koppen waren geschaald op de homepage, waar een kop alleen in beeld
   staat en 104px klopt. Op een subpagina met tekst eronder is dat te veel: de
   kop vult dan het halve scherm en breekt in losse woorden. Terug naar een
   schaal die past bij een pagina die verder moet lezen. */
.ecai-cathedral .page-hero h1,
.ecai-cathedral .automation-copy h1,
.ecai-cathedral .about-hero h1,
.ecai-cathedral .contact-hero h1,
.ecai-cathedral .legal-hero h1,
.ecai-cathedral .funnel-hero h1 { font-size: clamp(34px, 4.4vw, 62px); line-height: 1.04; }

.ecai-cathedral .section h2,
.ecai-cathedral .page-hero + section h2 { font-size: clamp(26px, 3vw, 40px); }

@media (max-width: 680px) {
  .ecai-cathedral .page-hero h1,
  .ecai-cathedral .automation-copy h1,
  .ecai-cathedral .about-hero h1,
  .ecai-cathedral .contact-hero h1,
  .ecai-cathedral .legal-hero h1,
  .ecai-cathedral .funnel-hero h1 { font-size: clamp(30px, 8.2vw, 42px); }
}

/* ==========================================================================
   Voor en na per afdeling, 14-08-2026

   Garric: "ik wil per afdeling de voor- en na-situatie in kaart brengen: wat
   gaat er nu nog handmatig, en wat neemt het systeem straks over."

   Bewust twee kolommen naast elkaar en niet twee losse lijsten: het contrast is
   de boodschap. Op een telefoon vallen ze onder elkaar, met de labels erboven
   zodat je blijft zien welke kant je leest.
   ========================================================================== */

.ecai-cathedral .afdelingen { display: grid; gap: 14px; margin-top: 34px; }

.ecai-cathedral .afdeling {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(0, 1.35fr) minmax(0, 1.35fr);
  gap: 22px;
  padding: 22px 24px;
  border: 1px solid var(--cathedral-line, rgba(242, 239, 231, .12));
  border-radius: 14px;
  background: rgba(242, 239, 231, .02);
  align-items: start;
}

.ecai-cathedral .afdeling-kop { display: flex; gap: 12px; align-items: baseline; }
.ecai-cathedral .afdeling-kop span {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 12px; opacity: .5; letter-spacing: 1px;
}
.ecai-cathedral .afdeling-kop h3 { font-size: 19px; line-height: 1.2; margin: 0; }

.ecai-cathedral .afdeling-label {
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size: 10.5px; letter-spacing: 1.4px; text-transform: uppercase;
  margin: 0 0 7px;
}
.ecai-cathedral .afdeling-nu .afdeling-label { color: #f0866a; }
.ecai-cathedral .afdeling-straks .afdeling-label { color: #6ee7a8; }
.ecai-cathedral .afdeling p:not(.afdeling-label) {
  font-size: 14.5px; line-height: 1.62; margin: 0; color: var(--cathedral-muted, #a2a2b4);
}

@media (max-width: 900px) {
  .ecai-cathedral .afdeling { grid-template-columns: 1fr; gap: 16px; }
  .ecai-cathedral .afdeling-kop { margin-bottom: 2px; }
}
