/* ============================================================================
   d3VIEW theme — pages.css
   Page-specific rules consolidated from the 8 approved mockups' inline <style>
   blocks. Because this file is loaded site-wide (unlike the standalone mockup
   files, which each only loaded their own <style>), every selector below is
   namespaced under a `.page-*` body class (set in layouts/_default/baseof.html)
   so no two pages' identically-named classes (e.g. .cta-band, .stat-label,
   .post-card h3) can collide. theme.css itself carries all the truly global
   component classes (.card, .btn, .tag-*, .docs-shell, etc.) and needs no
   namespacing.
   ========================================================================== */

/* ---------- page-home (01-home.html) ---------- */
.page-home .platform-map-hero {
  position: relative; height: clamp(620px, calc(100svh - 96px), 820px); overflow: hidden;
  background: var(--grad-brand); color: var(--indigo-100); isolation: isolate;
}
.page-home .platform-map-grid {
  position: absolute; inset: 0; opacity: .4; pointer-events: none;
  background-image:
    linear-gradient(rgba(168,184,230,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(168,184,230,.08) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 28%, #000 92%, transparent);
}
.page-home .platform-map-scene {
  position: absolute; inset: 0 0 0 auto; width: 72%; height: 100%; z-index: 1;
  overflow: visible; pointer-events: none;
}
.page-home .platform-map-copy-wrap { position: relative; z-index: 3; height: 100%; }
.page-home .platform-map-copy {
  width: 520px; padding-top: clamp(76px, 11vh, 104px);
}
.page-home .platform-map-copy .eyebrow { color: var(--indigo-200); }
.page-home .platform-map-copy h1 {
  color: #fff; font-size: 5.25rem; line-height: .95; margin: var(--space-3) 0;
}
.page-home .platform-map-tagline {
  max-width: 24ch; margin: 0 0 var(--space-4); color: #fff;
  font-family: var(--font-display); font-size: var(--text-2xl); line-height: 1.14;
}
.page-home .platform-map-lede {
  max-width: 49ch; margin: 0; color: var(--indigo-100); font-size: var(--text-md); line-height: 1.65;
}
.page-home .platform-map-copy .hero-actions {
  display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6);
}
.page-home .platform-map-copy .btn-on-dark {
  border-color: var(--indigo-300); color: #fff; background: rgba(16,24,47,.18);
}
.page-home .platform-map-copy .btn-on-dark:hover {
  border-color: var(--indigo-100); background: rgba(16,24,47,.38); text-decoration: none;
}
.page-home .platform-map-cue {
  position: absolute; z-index: 4; left: 50%; bottom: var(--space-5); transform: translateX(-50%);
  display: flex; align-items: center; gap: var(--space-2); color: var(--indigo-100);
  font-family: var(--font-mono); font-size: var(--text-xs); text-transform: uppercase;
}
.page-home .platform-map-cue:hover { color: #fff; text-decoration: none; }
.page-home .platform-map-mobile { display: none; }

.page-home .map-path, .page-home .map-orbit {
  fill: none; stroke: var(--indigo-300); stroke-width: 1.25; opacity: .25;
}
.page-home .map-orbit { stroke-dasharray: 4 10; opacity: .35; }
.page-home .map-core-ring { fill: none; stroke: var(--indigo-300); }
.page-home .map-core-ring.ring-one { opacity: .42; stroke-width: 1.5; }
.page-home .map-core-ring.ring-two { opacity: .2; stroke-width: 1; stroke-dasharray: 5 8; animation: mapOrbit 28s linear infinite; transform-origin: center; }
.page-home .map-core-surface { stroke: var(--indigo-300); stroke-width: 1.5; }
.page-home .map-core text {
  fill: var(--indigo-200); font-family: var(--font-mono); font-size: 8px; letter-spacing: 1px;
}
.page-home .map-node circle {
  fill: var(--indigo-950); stroke: var(--indigo-300); stroke-width: 1.4;
}
.page-home .map-node image { filter: drop-shadow(0 4px 7px rgba(16,24,47,.45)); }
.page-home .map-node text {
  fill: var(--indigo-100); font-family: var(--font-body); font-size: 12px; font-weight: 600; text-anchor: middle;
}
.page-home .map-node { animation: mapNode 5s ease-in-out infinite; }
.page-home .map-node.node-2, .page-home .map-node.node-6 { animation-delay: -1.25s; }
.page-home .map-node.node-3, .page-home .map-node.node-7 { animation-delay: -2.5s; }
.page-home .map-node.node-4, .page-home .map-node.node-8 { animation-delay: -3.75s; }
.page-home .map-inputs text, .page-home .map-outputs text {
  fill: var(--indigo-100); font-family: var(--font-body); font-size: 14px; font-weight: 600;
}
.page-home .map-inputs { display: none; }
.page-home .map-inputs circle, .page-home .map-outputs circle { fill: var(--indigo-300); }
.page-home text.map-column-label {
  fill: var(--indigo-300); font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 1.4px;
}
@keyframes mapOrbit { to { transform: rotate(360deg); } }
@keyframes mapNode { 0%, 100% { opacity: .82; } 50% { opacity: 1; } }

@media (max-width: 1100px) {
  .page-home .platform-map-copy { width: 440px; }
  .page-home .platform-map-copy h1 { font-size: 4.5rem; }
  .page-home .platform-map-scene { width: 70%; }
}
@media (max-width: 900px) {
  .page-home .platform-map-hero { height: auto; min-height: calc(100svh - 96px); }
  .page-home .platform-map-copy-wrap { height: auto; }
  .page-home .platform-map-copy {
    width: auto; padding: var(--space-8) 0 0; text-align: center;
  }
  .page-home .platform-map-copy h1 { font-size: 3.75rem; }
  .page-home .platform-map-tagline { margin-inline: auto; font-size: var(--text-xl); }
  .page-home .platform-map-lede { margin-inline: auto; font-size: var(--text-sm); }
  .page-home .platform-map-copy .hero-actions { justify-content: center; }
  .page-home .platform-map-scene { display: none; }
  .page-home .platform-map-mobile {
    position: relative; z-index: 3; left: auto; right: auto; bottom: auto;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4) var(--space-2);
    margin: var(--space-8) var(--space-5) 84px;
  }
  .page-home .platform-map-mobile span {
    display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-2);
    color: var(--indigo-100); font-family: var(--font-mono); font-size: .58rem; text-align: center;
  }
  .page-home .platform-map-mobile img {
    width: 48px; height: 48px; padding: 6px; object-fit: contain;
    border: 1px solid var(--indigo-300); border-radius: 50%; background: var(--indigo-950);
  }
}
@media (max-width: 420px) {
  .page-home .platform-map-copy { padding-top: var(--space-6); }
  .page-home .platform-map-copy h1 { font-size: 3.25rem; }
  .page-home .platform-map-mobile img { width: 46px; height: 46px; }
}
@media (min-width: 901px) and (max-height: 700px) {
  .page-home .platform-map-hero { height: calc(100svh - 96px); }
  .page-home .platform-map-copy { padding-top: var(--space-8); }
  .page-home .platform-map-copy h1 { font-size: 4rem; margin-block: var(--space-2); }
  .page-home .platform-map-tagline { font-size: var(--text-xl); margin-bottom: var(--space-3); }
  .page-home .platform-map-lede { font-size: var(--text-sm); line-height: 1.5; }
  .page-home .platform-map-copy .hero-actions { margin-top: var(--space-4); }
  .page-home .platform-map-cue { bottom: var(--space-3); }
}
@media (max-width: 900px) and (max-height: 812px) {
  .page-home .platform-map-hero { height: calc(100svh - 96px); min-height: 0; }
  .page-home .platform-map-copy-wrap { width: 47%; margin: 0; padding-left: var(--space-5); }
  .page-home .platform-map-copy { padding-top: var(--space-4); text-align: left; }
  .page-home .platform-map-copy .eyebrow, .page-home .platform-map-lede { display: none; }
  .page-home .platform-map-copy h1 { font-size: 2.75rem; margin-block: var(--space-1); }
  .page-home .platform-map-tagline {
    max-width: 18ch; margin: 0 0 var(--space-3); font-size: var(--text-md); line-height: 1.2;
  }
  .page-home .platform-map-copy .hero-actions { flex-wrap: nowrap; justify-content: flex-start; gap: var(--space-2); margin-top: 0; }
  .page-home .platform-map-copy .btn { padding: .5rem .7rem; font-size: var(--text-xs); }
  .page-home .platform-map-mobile {
    position: absolute; top: var(--space-4); right: var(--space-4); width: 49%;
    margin: 0; gap: var(--space-3) var(--space-1);
  }
  .page-home .platform-map-mobile span { gap: var(--space-1); font-size: .5rem; }
  .page-home .platform-map-mobile img { width: 36px; height: 36px; padding: 4px; }
  .page-home .platform-map-cue { bottom: var(--space-2); font-size: .6rem; }
}
@media (max-width: 620px) and (max-height: 812px) and (orientation: portrait) {
  .page-home .platform-map-copy-wrap { width: auto; margin-inline: auto; padding-inline: var(--space-5); }
  .page-home .platform-map-copy { text-align: center; }
  .page-home .platform-map-tagline { margin-inline: auto; }
  .page-home .platform-map-copy .hero-actions { justify-content: center; }
  .page-home .platform-map-mobile {
    position: relative; top: auto; right: auto; width: auto;
    margin: var(--space-4) var(--space-5) 56px;
  }
}
@media (max-width: 620px) and (max-height: 450px) and (orientation: landscape) {
  .page-home .platform-map-copy .btn-on-dark { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .map-core-ring.ring-two, .page-home .map-node { animation: none; }
}

.page-home .proof-strip { background: var(--indigo-950); padding: var(--space-10) 0; }
.page-home .proof-strip .proof-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-5);
}
.page-home .proof-card {
  overflow: hidden; background: #fff; border: 1px solid rgba(168,184,230,.15); border-radius: var(--radius-lg);
}
.page-home .proof-card img {
  display: block; width: 100%; height: 190px; object-fit: cover; object-position: top; background: #fff;
}
.page-home .proof-card .cap { padding: var(--space-4) var(--space-5); }
.page-home .proof-card .cap .k {
  color: var(--indigo-600); font-family: var(--font-mono); font-size: .68rem;
  text-transform: uppercase; letter-spacing: .1em;
}
.page-home .proof-card .cap h4 { margin: 4px 0 2px; color: var(--indigo-900); }
.page-home .proof-card .cap p { margin: 0; color: var(--ink-500); font-size: var(--text-sm); }
@media (max-width: 820px) { .page-home .proof-strip .proof-grid { grid-template-columns: 1fr; } }

.page-home .section-head { max-width: 46ch; margin: 0 auto var(--space-8); text-align: center; }
.page-home .section-head .eyebrow { text-align: center; }

.page-home .stats-band { background: var(--oat-100); border-top: 1px solid var(--oat-200); border-bottom: 1px solid var(--oat-200); }
.page-home .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.page-home .stat { text-align: center; padding: var(--space-8) var(--space-4); border-left: 1px solid var(--oat-200); }
.page-home .stat:first-child { border-left: none; }
.page-home .stat-number { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--indigo-900); font-weight: 600; }
.page-home .stat-label { font-size: var(--text-sm); color: var(--ink-500); margin-top: var(--space-1); }
@media (max-width: 700px) { .page-home .stats-grid { grid-template-columns: repeat(2, 1fr); } .page-home .stat:nth-child(3) { border-left: none; } .page-home .stat { border-top: 1px solid var(--oat-200); } .page-home .stat:first-child, .page-home .stat:nth-child(2) { border-top: none; } }

.page-home .industries-strip { display: flex; flex-wrap: wrap; gap: var(--space-3); justify-content: center; }
.page-home .industry-pill { display: inline-flex; align-items: center; gap: var(--space-2); background: #fffefb; border: 1px solid var(--oat-200); border-radius: var(--radius-pill); padding: 0.55rem 1.1rem; font-size: var(--text-sm); font-weight: 500; color: var(--ink-700); }
.page-home .industry-pill svg { color: var(--indigo-600); flex-shrink: 0; }
.page-home .industry-pill img { height: 24px; width: auto; flex-shrink: 0; }

.page-home .cta-band { background: var(--indigo-900); text-align: center; }
.page-home .cta-band h2 { color: var(--oat-050); }
.page-home .cta-band p { color: var(--indigo-200); max-width: 44ch; margin: 0 auto var(--space-6); }

/* Blog cards appear on the home, blog index, and blog article pages. */
:is(.page-home, .page-blog-list, .page-blog-single) .post-card .thumb {
  position: relative; aspect-ratio: 16/9; overflow: hidden;
  border-radius: var(--radius-lg); background: var(--grad-brand);
}
:is(.page-home, .page-blog-list, .page-blog-single) .post-card .thumb img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  transition: transform .35s ease;
}
:is(.page-home, .page-blog-list, .page-blog-single) .post-card:hover .thumb img { transform: scale(1.025); }
:is(.page-home, .page-blog-list, .page-blog-single) .post-card .thumb-illustration { color: var(--indigo-200); }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-svg { width: 100%; height: 100%; display: block; }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-grid { fill: none; stroke: currentColor; stroke-width: 1; opacity: .2; }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-line { fill: none; stroke: #fff; stroke-width: 6; stroke-linecap: round; }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-surface { fill: rgba(168,184,230,.12); stroke: var(--indigo-200); stroke-width: 3; }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-flow { fill: rgba(16,24,47,.28); stroke: var(--indigo-200); stroke-width: 4; }
:is(.page-home, .page-blog-list, .page-blog-single) .post-thumb-points { fill: #fff; stroke: var(--indigo-400); stroke-width: 4; }

/* ---------- page-platform-single (02-feature-solverai.html) ---------- */
.page-platform-single .solverai-hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-8); align-items: center; }
.page-platform-single .solverai-hero .hero-actions { display: flex; gap: var(--space-3); margin-top: var(--space-6); flex-wrap: wrap; }
.page-platform-single .solverai-viz { background: linear-gradient(160deg, var(--indigo-050), #fff); border: 1px solid var(--oat-200); border-radius: var(--radius-lg); padding: var(--space-6); }
.page-platform-single .solverai-viz svg { width: 100%; height: auto; display: block; }
.page-platform-single .viz-legend { display: flex; gap: var(--space-5); margin-top: var(--space-3); font-size: var(--text-xs); color: var(--ink-500); font-family: var(--font-mono); }
.page-platform-single .viz-legend span { display: inline-flex; align-items: center; gap: 6px; }
.page-platform-single .viz-swatch { width: 16px; height: 2px; display: inline-block; border-radius: 2px; }
.page-platform-single .viz-swatch.dashed { background-image: linear-gradient(90deg, var(--clay-500) 60%, transparent 0); background-size: 6px 2px; }

.page-platform-single .shot-frame { border-radius: var(--radius-lg); background: var(--grad-brand); aspect-ratio: 16/7; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; }
.page-platform-single .shot-frame::before { content:''; position:absolute; inset:0; background-image: radial-gradient(rgba(255,255,255,.14) 1px, transparent 1px); background-size: 22px 22px; }
.page-platform-single .shot-label { position: relative; color: var(--indigo-050); font-family: var(--font-mono); font-size: var(--text-sm); letter-spacing: .04em; border: 1px dashed rgba(255,255,255,.55); padding: .6em 1.3em; border-radius: var(--radius-pill); }
.page-platform-single .shot-caption { text-align: center; color: var(--ink-500); font-size: var(--text-xs); margin-top: var(--space-3); }

.page-platform-single .steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-6); }
.page-platform-single .step .step-num { font-family: var(--font-display); font-size: var(--text-3xl); color: var(--clay-500); line-height: 1; margin-bottom: var(--space-3); }
.page-platform-single .step p { color: var(--ink-700); font-size: var(--text-sm); margin: 0; }
@media (max-width: 900px) { .page-platform-single .steps { grid-template-columns: 1fr 1fr; } .page-platform-single .solverai-hero { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .page-platform-single .steps { grid-template-columns: 1fr; } }

.page-platform-single .outcomes { background: var(--indigo-950); border-radius: var(--radius-lg); padding: var(--space-8) var(--space-6); }
.page-platform-single .outcomes .grid-3 { text-align: center; }
.page-platform-single .outcomes .stat-num { font-family: var(--font-display); font-size: var(--text-2xl); color: var(--oat-050); margin-bottom: var(--space-2); }
.page-platform-single .outcomes .stat-label { color: var(--indigo-200); font-size: var(--text-sm); margin: 0; }

.page-platform-single .worksfor .card { display: flex; gap: var(--space-4); align-items: flex-start; padding: var(--space-5); }
.page-platform-single .worksfor .icon-chip { margin-bottom: 0; flex-shrink: 0; width: 38px; height: 38px; }

.page-platform-single .cta-band { background: var(--clay-100); border-radius: var(--radius-lg); padding: var(--space-8); text-align: center; }
.page-platform-single .cta-band p { color: var(--ink-700); max-width: 46ch; margin: 0 auto var(--space-6); }

/* ---------- page-blog-list (03-blog-index.html) ---------- */
.page-blog-list .blog-hero { padding: var(--space-10) 0 var(--space-6); }
.page-blog-list .blog-hero h1 { font-size: var(--text-3xl); max-width: 22ch; }
.page-blog-list .blog-hero .lede { font-size: var(--text-md); color: var(--ink-700); max-width: 56ch; margin: 0; }

.page-blog-list .filter-row { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-bottom: var(--space-8); }
.page-blog-list .filter-pill { font-family: var(--font-mono); font-size: var(--text-xs); font-weight: 500; padding: 0.45em 1em; border-radius: var(--radius-pill); border: 1px solid var(--oat-300); color: var(--ink-700); background: transparent; }
.page-blog-list .filter-pill.is-active { background: var(--indigo-900); color: var(--oat-050); border-color: var(--indigo-900); }

.page-blog-list .featured { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--space-8); align-items: center; padding-bottom: var(--space-10); border-bottom: 1px solid var(--oat-200); margin-bottom: var(--space-10); }
.page-blog-list .featured .thumb {
  position: relative; aspect-ratio: 4/3; overflow: hidden;
  border-radius: var(--radius-lg); background: var(--grad-brand);
}
.page-blog-list .featured .thumb img { width: 100%; height: 100%; display: block; object-fit: cover; }
.page-blog-list .featured .thumb svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.page-blog-list .featured .tags { display: flex; gap: var(--space-2); margin-bottom: var(--space-3); }
.page-blog-list .featured h2 { font-size: var(--text-2xl); }
.page-blog-list .featured .desc { color: var(--ink-700); }

.page-blog-list .post-card .thumb svg { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .42; }
.page-blog-list .post-card .tags { display: flex; gap: var(--space-2); }
.page-blog-list .post-card h3 { font-size: var(--text-md); margin-bottom: var(--space-1); }
.page-blog-list .post-card a.card-link { color: inherit; }
.page-blog-list .post-card a.card-link:hover { text-decoration: none; }
.page-blog-list .post-card a.card-link:hover h3 { color: var(--indigo-700); }

.page-blog-list .newsletter { background: var(--oat-100); border: 1px solid var(--oat-200); border-radius: var(--radius-lg); padding: var(--space-8); display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); margin-top: var(--space-12); flex-wrap: wrap; }
.page-blog-list .newsletter p { margin: var(--space-1) 0 0; color: var(--ink-700); font-size: var(--text-sm); }
.page-blog-list .newsletter form { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.page-blog-list .newsletter input[type="email"] { font-family: var(--font-body); font-size: var(--text-sm); padding: 0.7rem 1.1rem; border-radius: var(--radius-pill); border: 1px solid var(--oat-300); background: #fff; min-width: 260px; }
.page-blog-list .newsletter input[type="email"]:focus { outline: 2px solid var(--indigo-300); outline-offset: 1px; }

@media (max-width: 700px) { .page-blog-list .featured { grid-template-columns: 1fr; } .page-blog-list .newsletter { flex-direction: column; align-items: flex-start; } }

/* ---------- page-blog-single (04-blog-post.html) ---------- */
.page-blog-single .post-back { font-size: var(--text-sm); color: var(--ink-500); font-weight: 500; }
.page-blog-single .post-tags { display: flex; gap: var(--space-2); margin: var(--space-5) 0 var(--space-4); }
.page-blog-single .post-header h1 { max-width: 26ch; margin-bottom: var(--space-4); }
.page-blog-single .prose img {
  display: block; max-width: 100%; height: auto;
  margin: var(--space-6) auto;
}
.page-blog-single .prose img.alignleft { margin-left: 0; margin-right: auto; }
.page-blog-single .prose img.alignright { margin-left: auto; margin-right: 0; }
.page-blog-single .prose figure { margin: var(--space-6) 0; }
.page-blog-single .prose figure img { margin-top: 0; margin-bottom: 0; }
.page-blog-single .prose figcaption {
  margin-top: var(--space-2); color: var(--ink-500);
  font-size: var(--text-sm); line-height: 1.5; text-align: center;
}

.page-blog-single .post-hero { background: var(--grad-brand); border-radius: var(--radius-lg); padding: var(--space-6) var(--space-6) var(--space-5); margin: var(--space-8) 0 var(--space-10); }
.page-blog-single .post-hero svg { width: 100%; height: auto; display: block; }
.page-blog-single .post-hero-legend { display: flex; gap: var(--space-6); margin-top: var(--space-3); font-family: var(--font-mono); font-size: var(--text-xs); color: var(--indigo-200); }
.page-blog-single .post-hero-legend .swatch { display: inline-block; width: 18px; height: 3px; margin-right: 0.5em; vertical-align: middle; border-radius: 2px; }
.page-blog-single .swatch-test { background: var(--indigo-300); }
.page-blog-single .swatch-sim  { background: var(--clay-500); }

.page-blog-single .stat-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-4); margin: var(--space-5) 0 var(--space-6); }
.page-blog-single .stat-row div { background: var(--oat-100); border: 1px solid var(--oat-200); border-radius: var(--radius-md); padding: var(--space-4); text-align: center; }
.page-blog-single .stat-row .num { font-family: var(--font-display); font-size: var(--text-xl); color: var(--indigo-900); font-weight: 600; display: block; }
.page-blog-single .stat-row .lbl { font-size: var(--text-xs); color: var(--ink-500); }

.page-blog-single .share-row { display: flex; align-items: center; gap: var(--space-3); margin: var(--space-5) 0 var(--space-10); }
.page-blog-single .share-row span { font-size: var(--text-sm); color: var(--ink-500); margin-right: var(--space-1); }
.page-blog-single .share-btn { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--oat-200); background: #fff; display: flex; align-items: center; justify-content: center; color: var(--ink-700); }
.page-blog-single .share-btn:hover { border-color: var(--indigo-700); color: var(--indigo-700); text-decoration: none; }
.page-blog-single .post-card .thumb { display: flex; align-items: center; justify-content: center; }
.page-blog-single .post-card h3 { font-size: var(--text-md); margin-bottom: var(--space-2); }
.page-blog-single .related-wrap { max-width: var(--container); margin: 0 auto; padding: 0 var(--space-5); }

@media (max-width: 600px) { .page-blog-single .stat-row { grid-template-columns: 1fr; } }

/* ---------- page-releases (05-release-notes.html) ---------- */
.page-releases .rn-header{padding:var(--space-8) 0 var(--space-6);border-bottom:1px solid var(--paper-200)}
.page-releases .rn-header h1{margin-bottom:var(--space-2)}
.page-releases .rn-header .lede{font-size:var(--text-base);color:var(--ink-700);max-width:58ch;margin-bottom:var(--space-4)}
.page-releases .rn-links{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}
.page-releases .rn-links a{color:var(--indigo-700)}
.page-releases .rn-links .sep{color:var(--ink-300)}

.page-releases .version-jump{position:sticky;top:64px;z-index:40;background:var(--paper-100);border-bottom:1px solid var(--paper-200)}
.page-releases .version-jump .container{display:flex;gap:var(--space-5);align-items:center;padding-top:var(--space-3);padding-bottom:var(--space-3);flex-wrap:wrap}
.page-releases .version-jump .vj-label{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);text-transform:uppercase;letter-spacing:.08em}
.page-releases .version-jump a{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;color:var(--ink-700)}
.page-releases .version-jump a:hover{color:var(--indigo-700);text-decoration:none}

.page-releases .release-footer{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px dashed var(--paper-200)}
.page-releases .release-footer a{color:var(--indigo-700)}

.page-releases .rn-releases{padding-bottom:var(--space-10)}

/* ---------- page-builds (06-builds.html) ---------- */
.page-builds .build-index { min-height: 70vh; padding: var(--space-8) 0 var(--space-12); }
.page-builds .build-index h1 {
  margin: 0 0 var(--space-5); font-family: var(--font-mono); font-size: var(--text-lg);
  font-weight: 600; color: var(--ink-900);
}
.page-builds .build-index-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.page-builds .build-index-table {
  width: 100%; border-collapse: collapse; table-layout: fixed;
  font-family: var(--font-mono); font-size: var(--text-sm); line-height: 1.45;
}
.page-builds .build-index-table th,
.page-builds .build-index-table td {
  padding: .55rem .75rem; border-bottom: 1px solid var(--paper-200); text-align: left;
  white-space: nowrap;
}
.page-builds .build-index-table th:first-child,
.page-builds .build-index-table td:first-child { width: 38%; padding-left: 0; }
.page-builds .build-index-table th:nth-child(2),
.page-builds .build-index-table td:nth-child(2) { width: 12%; color: var(--ink-500); }
.page-builds .build-index-table th:nth-child(3),
.page-builds .build-index-table td:nth-child(3) { width: 10%; color: var(--ink-500); }
.page-builds .build-index-table th:nth-child(4),
.page-builds .build-index-table td:nth-child(4) { width: 30%; color: var(--ink-500); }
.page-builds .build-index-table th:last-child,
.page-builds .build-index-table td:last-child { width: 10%; padding-right: 0; text-align: right; }
.page-builds .build-index-table th { color: var(--ink-700); font-weight: 600; }
.page-builds .build-file-name { overflow-wrap: anywhere; white-space: normal !important; }
.page-builds .build-digest { overflow-wrap: anywhere; white-space: normal !important; font-size: var(--text-xs); }
.page-builds .build-file-name a,
.page-builds .build-index-table td:last-child a { color: var(--indigo-700); text-decoration: none; }
.page-builds .build-file-name a:hover,
.page-builds .build-index-table td:last-child a:hover { text-decoration: underline; }
.page-builds .build-product { margin-bottom: var(--space-8); }
.page-builds .build-product h2 {
  margin: 0 0 var(--space-3); font-family: var(--font-mono); font-size: var(--text-base);
  font-weight: 600; color: var(--ink-900);
}
.page-builds .build-empty { margin: 0; font-family: var(--font-mono); font-size: var(--text-sm); color: var(--ink-500); }
.page-builds .build-history { margin-top: var(--space-3); font-family: var(--font-mono); font-size: var(--text-sm); }
.page-builds .build-history summary { cursor: pointer; color: var(--ink-700); }
.page-builds .build-history ul { list-style: none; margin: var(--space-3) 0 0; padding: 0; }
.page-builds .build-history li {
  display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: baseline;
  padding: .35rem 0; border-bottom: 1px solid var(--paper-200); color: var(--ink-500);
}
.page-builds .build-history-version { color: var(--ink-900); }
.page-builds .build-history-digest { overflow-wrap: anywhere; font-size: var(--text-xs); }
.page-builds .build-history a { color: var(--indigo-700); text-decoration: none; }
.page-builds .build-history a:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .page-builds .build-index { padding-top: var(--space-6); }
  .page-builds .build-index-table th:nth-child(2),
  .page-builds .build-index-table td:nth-child(2),
  .page-builds .build-index-table th:nth-child(4),
  .page-builds .build-index-table td:nth-child(4) { display: none; }
  .page-builds .build-index-table th:first-child,
  .page-builds .build-index-table td:first-child { width: 60%; }
  .page-builds .build-index-table th:nth-child(3),
  .page-builds .build-index-table td:nth-child(3) { width: 20%; }
  .page-builds .build-index-table th:last-child,
  .page-builds .build-index-table td:last-child { width: 20%; }
}

/* ---------- page-docs (07-docs.html) — shared by docs/list.html and docs/single.html ---------- */
.page-docs .docs-index-page{min-height:72vh;background:var(--paper-000)}
.page-docs .docs-index-shell{width:min(calc(100% - 40px),1640px);margin:0 auto;display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);align-items:start}
.page-docs .docs-index-nav{position:sticky;top:64px;max-height:calc(100vh - 64px);padding:var(--space-6) var(--space-5) var(--space-10) 0;overflow-y:auto;border-right:1px solid var(--paper-200);font-size:.8rem}
.page-docs .docs-index-nav a{display:block;padding:.28rem .65rem;border-left:2px solid transparent;color:var(--ink-700);line-height:1.4}
.page-docs .docs-index-nav a:hover{border-left-color:var(--indigo-300);color:var(--indigo-700);text-decoration:none}
.page-docs .docs-index-nav a.active{border-left-color:var(--indigo-700);background:var(--indigo-050);color:var(--indigo-900);font-weight:650}
.page-docs .docs-index-nav-home{margin-bottom:var(--space-4)}
.page-docs .docs-index-nav-app{padding:var(--space-3) 0;border-top:1px solid var(--paper-200)}
.page-docs .docs-index-nav-app:last-child{border-bottom:1px solid var(--paper-200)}
.page-docs .docs-index-nav-app-title{padding:.2rem .65rem;color:var(--indigo-900);font-size:.82rem;font-weight:700;line-height:1.35}
.page-docs .docs-index-tree{margin:0;padding:0;list-style:none}
.page-docs .docs-index-tree li{margin:0}
.page-docs .docs-index-tree .docs-index-tree{margin-left:.8rem;padding-left:.55rem;border-left:1px solid var(--paper-200)}
.page-docs .docs-index-tree .docs-index-tree a{font-size:.76rem}
.page-docs .docs-index-nav-mobile{display:none}
.page-docs .docs-index-content{min-width:0;padding:var(--space-8) clamp(var(--space-6),4vw,var(--space-10)) var(--space-12)}
.page-docs .docs-index-header{max-width:980px;padding-bottom:var(--space-8);border-bottom:1px solid var(--paper-200)}
.page-docs .docs-index-header h1{margin-bottom:var(--space-4);font-size:2.35rem;line-height:1.12}
.page-docs .docs-index-lede{max-width:78ch;color:var(--ink-700);font-size:1.05rem;line-height:1.7}
.page-docs .docs-index-review-note{max-width:82ch;margin:var(--space-5) 0 0;padding:var(--space-4) var(--space-5);border-left:3px solid var(--indigo-600);background:var(--indigo-050);color:var(--ink-700);font-size:.84rem;line-height:1.6}
.page-docs .docs-index-section{padding-top:var(--space-8)}
.page-docs .docs-index-section>h2{margin-bottom:var(--space-3);font-size:1.55rem}
.page-docs .docs-index-section>p{max-width:78ch;color:var(--ink-700)}
.page-docs .docs-platform-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:var(--space-6);border-top:1px solid var(--paper-200);border-bottom:1px solid var(--paper-200)}
.page-docs .docs-platform-stage{min-width:0;padding:var(--space-5)}
.page-docs .docs-platform-stage+*{border-left:1px solid var(--paper-200)}
.page-docs .docs-platform-stage h3{margin-bottom:var(--space-3);font-size:1rem;line-height:1.35}
.page-docs .docs-platform-stage p{margin-bottom:var(--space-3);color:var(--ink-700);font-size:.84rem;line-height:1.6}
.page-docs .docs-platform-stage p:last-child{margin-bottom:0;color:var(--indigo-700);font-weight:600}
.page-docs .docs-application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-8);margin-top:var(--space-6);border-bottom:1px solid var(--paper-200)}
.page-docs .docs-application-entry{display:grid;grid-template-columns:58px minmax(0,1fr);gap:var(--space-4);padding:var(--space-5) 0;border-top:1px solid var(--paper-200)}
.page-docs .docs-application-logo{width:54px;height:54px;display:flex;align-items:center;justify-content:center}
.page-docs .docs-application-logo img{width:100%;height:100%;object-fit:contain}
.page-docs .docs-application-logo img.docs-app-logo-lucy{object-fit:cover;object-position:left center;background:var(--indigo-900);border-radius:6px}
.page-docs .docs-application-entry h3{margin-bottom:var(--space-2);font-size:1.05rem}
.page-docs .docs-application-entry p{margin-bottom:var(--space-3);color:var(--ink-700);font-size:.84rem;line-height:1.55}
.page-docs .docs-application-links{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.page-docs .docs-application-links a{font-size:.8rem;font-weight:650}
.page-docs .docs-index-release{margin-top:var(--space-8);padding:var(--space-6);border:1px solid var(--paper-200);border-radius:var(--radius-sm);background:var(--paper-100)}
.page-docs .docs-index-release p:last-child{display:flex;gap:var(--space-5);margin-bottom:0;font-weight:650}
.page-docs .docs-main{padding:var(--space-8) 0 var(--space-10)}
.page-docs .docs-main-wide{max-width:1480px;padding-inline:var(--space-5)}
.page-docs .docs-shell{grid-template-columns:minmax(210px,250px) minmax(0,1fr) minmax(160px,200px);gap:var(--space-6)}
.page-docs .docs-shell-index{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}
.page-docs .docs-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--space-5)}
.page-docs .docs-doc h2{margin-top:var(--space-8);padding-top:var(--space-2)}
.page-docs .docs-doc h3{margin-top:var(--space-6)}
.page-docs .docs-doc ol,.page-docs .docs-doc ul{padding-left:1.3em}
.page-docs .docs-doc li{margin-bottom:.4rem}
.page-docs .docs-doc p{color:var(--ink-700)}
.page-docs .docs-toc .toc-label{font-weight:650;color:var(--indigo-900);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}
.page-docs .docs-toc ul{list-style:none;margin:0;padding:0}
.page-docs .docs-toc a{display:block;color:var(--ink-500);padding:0.25rem 0}

.page-docs .docs-shot{margin:var(--space-5) 0}
.page-docs .docs-shot-frame{aspect-ratio:16/9;border-radius:var(--radius-lg);background:var(--grad-brand);display:flex;align-items:center;justify-content:center;color:var(--indigo-100);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em}
.page-docs .docs-shot figcaption{font-size:var(--text-xs);color:var(--ink-500);margin-top:var(--space-2);text-align:center}

.page-docs .docs-pager{display:flex;justify-content:space-between;gap:var(--space-4);margin:var(--space-8) 0 0;flex-wrap:wrap}
.page-docs .docs-pager a{flex:1;min-width:200px;display:flex;flex-direction:column;gap:.2rem}
.page-docs .docs-pager a:last-child{text-align:right}
.page-docs .docs-pager .dp-dir{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-500);text-transform:uppercase;letter-spacing:.06em}
.page-docs .docs-pager .dp-title{font-weight:650;color:var(--indigo-900)}

@media (max-width:1180px){
  .page-docs .docs-index-shell{grid-template-columns:250px minmax(0,1fr)}
  .page-docs .docs-index-content{padding-inline:var(--space-6)}
  .page-docs .docs-platform-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-docs .docs-platform-stage:nth-child(3){border-left:0;border-top:1px solid var(--paper-200)}
  .page-docs .docs-platform-stage:nth-child(4){border-top:1px solid var(--paper-200)}
  .page-docs .docs-shell{grid-template-columns:220px minmax(0,1fr)}
  .page-docs .docs-nav{position:sticky}
  .page-docs .docs-toc{display:none}
}
@media (max-width:760px){
  .page-docs .docs-index-shell{width:100%;display:block}
  .page-docs .docs-index-nav-desktop{display:none}
  .page-docs .docs-index-nav-mobile{display:block;border-bottom:1px solid var(--paper-200);background:var(--paper-000)}
  .page-docs .docs-index-nav-mobile>summary{padding:.8rem var(--space-5);color:var(--indigo-900);cursor:pointer;font-size:.84rem;font-weight:650}
  .page-docs .docs-index-nav-mobile>nav{max-height:58vh;padding:0 var(--space-4) var(--space-5);overflow-y:auto;font-size:.8rem}
  .page-docs .docs-index-nav-mobile .docs-index-nav-app-title{font-size:.8rem}
  .page-docs .docs-index-content{padding:var(--space-6) var(--space-5) var(--space-10)}
  .page-docs .docs-index-header h1{font-size:var(--text-xl)}
  .page-docs .docs-index-lede{font-size:.95rem}
  .page-docs .docs-platform-flow,.page-docs .docs-application-grid{grid-template-columns:1fr}
  .page-docs .docs-platform-stage+*{border-left:0;border-top:1px solid var(--paper-200)}
  .page-docs .docs-application-entry{grid-template-columns:48px minmax(0,1fr)}
  .page-docs .docs-application-logo{width:44px;height:44px}
  .page-docs .docs-index-release{padding:var(--space-5)}
  .page-docs .docs-main-wide{padding-inline:var(--space-4)}
  .page-docs .docs-shell{grid-template-columns:1fr}
  .page-docs .docs-nav{position:static;max-height:none;padding-right:0}
}

/* ---------- page-about (08-about.html) ---------- */
.page-about .about-header{padding:var(--space-12) 0 var(--space-8)}
.page-about .about-header h1{font-size:var(--text-3xl);max-width:20ch}
.page-about .about-header .lede{font-size:var(--text-md);color:var(--ink-700);max-width:62ch}

.page-about .mv-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo-700);display:block;margin-bottom:var(--space-2)}
.page-about .mv-statement{font-family:var(--font-display);font-size:var(--text-lg);font-weight:500;color:var(--indigo-900);line-height:1.4;margin:0}

.page-about .wwb-narrative{max-width:70ch;font-size:var(--text-md);color:var(--ink-700);line-height:1.75}
.page-about .stat-card{text-align:center;padding:var(--space-6) var(--space-4)}
.page-about .stat-num{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--indigo-900);display:block}
.page-about .stat-label{font-size:var(--text-sm);color:var(--ink-500);margin-top:var(--space-1)}

.page-about .visit-card{display:flex;gap:var(--space-4);align-items:flex-start}
.page-about .visit-card svg{flex-shrink:0;margin-top:2px}
.page-about .visit-card address{font-style:normal;color:var(--ink-700);line-height:1.6}
.page-about .card.cta-card{background:var(--indigo-900);color:var(--oat-050);border-color:var(--indigo-700)}
.page-about .cta-card h3{color:var(--oat-050)}
.page-about .cta-card p{color:var(--indigo-100)}
.page-about .cta-card .btn-clay{background:var(--oat-050);color:var(--indigo-900)}
.page-about .cta-card .btn-clay:hover{background:var(--indigo-100);color:var(--indigo-900)}
.page-about .cta-card .cta-email{margin-top:var(--space-4)}
.page-about .cta-card .cta-email a{color:var(--indigo-100);font-weight:600}
.page-about .cta-card .cta-email a:hover{color:var(--oat-050)}
@media (max-width:600px){.page-about .visit-card{flex-direction:column}}

/* ---------- page-generic — fallback sections (platform index, solutions, saas, contact, fora) ---------- */
/* Reuses the about-header + wwb-narrative shapes so ungoverned sections still read as part of one system. */
.page-generic .about-header{padding:var(--space-12) 0 var(--space-8)}
.page-generic .about-header h1{font-size:var(--text-3xl);max-width:22ch}
.page-generic .about-header .lede{font-size:var(--text-md);color:var(--ink-700);max-width:62ch}
.page-generic .wwb-narrative{max-width:70ch;font-size:var(--text-md);color:var(--ink-700);line-height:1.75}
.page-generic .legal-text .legal-indent-1{padding-left:var(--space-6)}
.page-generic .legal-text .legal-indent-2{padding-left:var(--space-12)}

/* ---------- page-marketing — SaaS, Products, Services, Solutions ---------- */
.page-marketing .site-footer { margin-top: 0; }
.page-marketing .marketing-hero { padding: var(--space-10) 0; overflow: hidden;
  background: linear-gradient(150deg, var(--oat-050) 0%, var(--indigo-050) 58%, var(--indigo-100) 100%);
  border-bottom: 1px solid var(--oat-200); }
.page-marketing .marketing-hero-grid { display: grid; grid-template-columns: .82fr 1.18fr;
  align-items: center; gap: var(--space-8); }
.page-marketing .marketing-hero h1 { font-size: var(--text-hero); max-width: 13ch; margin-bottom: var(--space-5); }
.page-marketing .marketing-hero .lede { color: var(--ink-700); font-size: var(--text-md); max-width: 49ch; }
.page-marketing .marketing-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

.page-marketing .evidence-plate { margin: 0; background: #fff; border: 1px solid rgba(48,72,127,.16);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-soft); overflow: hidden; }
.page-marketing .evidence-plate img { width: 100%; height: auto; max-height: 560px; object-fit: contain; }
.page-marketing .evidence-plate-hero { min-height: 360px; display: flex; flex-direction: column; justify-content: center; }
.page-marketing .evidence-plate-hero img { max-height: 440px; }
.page-marketing .evidence-plate figcaption { border-top: 1px solid var(--oat-200); padding: .65rem var(--space-4);
  font-family: var(--font-mono); font-size: .69rem; color: var(--ink-500); background: var(--oat-050); }

.page-marketing .marketing-intro { border-bottom: 1px solid var(--oat-200); }
.page-marketing .marketing-intro-grid { display: grid; grid-template-columns: 60px 1.25fr .85fr; gap: var(--space-6); align-items: start; }
.page-marketing .section-index { font-family: var(--font-mono); color: var(--indigo-500); font-size: var(--text-xs); padding-top: .35rem; }
.page-marketing .marketing-intro h2 { font-size: var(--text-2xl); max-width: 20ch; }
.page-marketing .marketing-intro p { font-size: var(--text-md); color: var(--ink-700); max-width: 58ch; }
.page-marketing .marketing-points { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--oat-300); }
.page-marketing .marketing-points li { border-bottom: 1px solid var(--oat-200); padding: .8rem 0;
  color: var(--indigo-900); font-size: var(--text-sm); font-weight: 600; }
.page-marketing .marketing-points li::before { content: '—'; color: var(--indigo-400); margin-right: .6rem; }

.page-marketing .marketing-section-heading { max-width: 720px; margin-bottom: var(--space-8); }
.page-marketing .marketing-section-heading h2 { font-size: var(--text-2xl); max-width: 24ch; }
.page-marketing .marketing-section-heading p { color: var(--ink-700); font-size: var(--text-md); }
.page-marketing .marketing-catalog { background: var(--indigo-950); }
.page-marketing .marketing-catalog h2 { color: var(--oat-050); }
.page-marketing .marketing-catalog .eyebrow { color: var(--indigo-300); }
.page-marketing .marketing-catalog .marketing-section-heading p { color: var(--indigo-200); }
.page-marketing .product-catalog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--indigo-700);
  border: 1px solid var(--indigo-700); border-radius: var(--radius-lg); overflow: hidden; }
.page-marketing .product-tile { min-height: 148px; display: grid; grid-template-columns: 58px 1fr auto; gap: var(--space-4);
  align-items: start; padding: var(--space-5); background: var(--indigo-900); color: inherit; transition: background .18s ease; }
.page-marketing a.product-tile:hover { background: var(--indigo-800); text-decoration: none; }
.page-marketing .product-tile img { width: 58px; height: 58px; object-fit: contain; }
.page-marketing .product-tile h3 { font-family: var(--font-body); color: var(--oat-050); font-size: var(--text-md); margin-bottom: .3rem; }
.page-marketing .product-tile p { color: var(--indigo-200); font-size: var(--text-xs); line-height: 1.55; margin: 0; }
.page-marketing .product-arrow { color: var(--indigo-300); font-size: var(--text-lg); line-height: 1; }

.page-marketing .marketing-showcases { background: var(--oat-100); }
.page-marketing .showcase-stack { display: grid; gap: var(--space-10); }
.page-marketing .showcase-row { display: grid; grid-template-columns: 1.12fr .88fr; gap: var(--space-8); align-items: center; }
.page-marketing .showcase-row:nth-child(even) .evidence-plate { order: 2; }
.page-marketing .showcase-copy { padding: var(--space-4) 0; }
.page-marketing .showcase-kicker, .page-marketing .feature-number { display: block; font-family: var(--font-mono);
  font-size: var(--text-xs); letter-spacing: .08em; text-transform: uppercase; color: var(--indigo-600); margin-bottom: var(--space-3); }
.page-marketing .showcase-copy h3 { font-size: var(--text-xl); max-width: 19ch; }
.page-marketing .showcase-copy p, .page-marketing .showcase-copy li { color: var(--ink-700); }
.page-marketing .showcase-copy ul { margin: var(--space-4) 0; padding-left: 1.15rem; }
.page-marketing .showcase-copy li { margin-bottom: .45rem; }
.page-marketing .text-link { display: inline-flex; gap: .4rem; align-items: center; font-size: var(--text-sm); font-weight: 650; }
.page-marketing .marketing-features { border-top: 1px solid var(--oat-200); }
.page-marketing .marketing-features .card { box-shadow: none; }

.page-marketing .product-analysis-intro {
  padding: var(--space-12) 0 var(--space-8); background: var(--indigo-950); text-align: center;
}
.page-marketing .product-analysis-intro .eyebrow { color: var(--indigo-300); }
.page-marketing .product-analysis-intro h2 {
  max-width: 24ch; margin-inline: auto; color: #fff; font-size: var(--text-2xl);
}
.page-marketing .product-analysis-intro p {
  max-width: 70ch; margin: 0 auto; color: var(--indigo-200); font-size: var(--text-md);
}

.page-marketing .marketing-cta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8);
  padding: var(--space-8); border-radius: var(--radius-lg); background: var(--grad-brand); }
.page-marketing .marketing-cta h2 { color: var(--oat-050); max-width: 24ch; margin-bottom: var(--space-2); }
.page-marketing .marketing-cta p { color: var(--indigo-200); margin: 0; max-width: 58ch; }
.page-marketing .marketing-cta .eyebrow { color: var(--indigo-300); }
.page-marketing .marketing-cta .btn { flex-shrink: 0; background: var(--oat-050); color: var(--indigo-900);
  max-width: 100%; white-space: normal; text-align: center; justify-content: center; }

@media (max-width: 900px) {
  .page-marketing .marketing-hero-grid, .page-marketing .showcase-row { grid-template-columns: 1fr; }
  .page-marketing .marketing-hero-copy { max-width: 680px; }
  .page-marketing .showcase-row:nth-child(even) .evidence-plate { order: 0; }
  .page-marketing .product-catalog { grid-template-columns: repeat(2, 1fr); }
  .page-marketing .marketing-intro-grid { grid-template-columns: 44px 1fr; }
  .page-marketing .marketing-points { grid-column: 2; }
}
@media (max-width: 600px) {
  .page-marketing .marketing-hero { padding: var(--space-8) 0; }
  .page-marketing .marketing-hero h1 { font-size: 2.65rem; }
  .page-marketing .evidence-plate-hero { min-height: 220px; }
  .page-marketing .marketing-intro-grid { grid-template-columns: 1fr; }
  .page-marketing .marketing-points { grid-column: auto; }
  .page-marketing .product-catalog { grid-template-columns: 1fr; }
  .page-marketing .product-tile { min-height: 0; }
  .page-marketing .marketing-cta { align-items: flex-start; flex-direction: column; padding: var(--space-6); }
}
