/* SiteDesign.ir — inner pages / Living Structural Grid V2 */

body.inner-page {
  --inner-paper: #fbfcfa;
  --inner-cool: #f3f6fb;
  --inner-blue: #2948e8;
  --inner-indigo: #1833b8;
  --inner-ink: #0c1328;
  --inner-slate: #505b70;
  --inner-line: #cdd5e2;
  --inner-grid: rgb(41 72 232 / 7%);
  background: var(--inner-paper);
  color: var(--inner-ink);
}

.inner-page main {
  position: relative;
  overflow: clip;
  counter-reset: inner-band;
}

.inner-page .container { width: min(calc(100% - clamp(36px, 7vw, 104px)), 1480px); }

.inner-page h1,
.inner-page h2,
.inner-page h3 { color: var(--inner-ink); text-wrap: balance; }

.inner-page p { color: var(--inner-slate); text-wrap: pretty; }
.inner-page .button { border-radius: 3px; box-shadow: none; }
.inner-page .button-primary { background: var(--inner-blue); }
.inner-page .button-primary:hover { background: var(--inner-indigo); box-shadow: none; }
.inner-page .button-secondary { border-color: #aeb8ca; background: rgb(255 255 255 / 45%); }

/* A balanced masthead with one optical center. */
.inner-page .site-header {
  block-size: 78px;
  border-block-end: 1px solid rgb(31 49 88 / 13%);
  background: rgb(251 252 250 / 92%);
  box-shadow: none;
  backdrop-filter: blur(10px) saturate(110%);
}

.inner-page .header-shell {
  display: grid;
  grid-template-columns: minmax(168px, 1fr) auto minmax(168px, 1fr);
  gap: clamp(20px, 3vw, 52px);
}

.inner-page .brand { grid-column: 1; justify-self: start; }
.inner-page .brand img { inline-size: 158px; }
.inner-page .desktop-nav { position: static; grid-column: 2; justify-self: center; transform: none; }
.inner-page .header-cta { position: static; grid-column: 3; min-inline-size: 158px; justify-self: end; }
.inner-page .nav-link { position: relative; font-size: .79rem; }
.inner-page .nav-link::after {
  content: "";
  position: absolute;
  inset-inline: 10px;
  inset-block-end: 4px;
  block-size: 1px;
  background: var(--inner-blue);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 220ms var(--ease);
}
.inner-page .nav-link:hover::after,
.inner-page .nav-link[aria-expanded="true"]::after { transform: scaleX(1); }

/* Hero reads as a technical cover, never a rounded promo card. */
.inner-page :is(.page-hero, .landing-hero) {
  position: relative;
  min-block-size: min(610px, calc(100svh - var(--nav-v2-height, 86px) - 36px));
  display: grid;
  align-items: center;
  padding-block: clamp(46px, 5vw, 72px);
  border-block-end: 1px solid var(--inner-line);
  background:
    linear-gradient(to left, var(--inner-grid) 1px, transparent 1px),
    linear-gradient(to bottom, rgb(50 68 106 / 4%) 1px, transparent 1px),
    linear-gradient(90deg, transparent 0 58%, rgb(41 72 232 / 2.5%) 58% 100%),
    var(--inner-paper);
  background-size: min(8.333vw, 128px) 100%, 100% 64px, 100% 100%, 100% 100%;
}

.inner-page .page-signature {
  position: absolute;
  z-index: 5;
  inset-block-start: 28px;
  inset-inline-start: max(var(--site-gutter, 24px), calc((100vw - var(--site-canvas, 1520px)) / 2));
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0;
  color: var(--inner-blue);
  font-size: .68rem;
  line-height: 1.5;
  pointer-events: none;
}

.inner-page .page-signature span { color: var(--inner-blue); font-weight: 800; }
.inner-page .page-signature b { color: var(--inner-ink); font-weight: 600; }
.inner-page .page-signature-0::before { content: ""; inline-size: 38px; block-size: 1px; background: var(--inner-blue); }

.inner-page .page-signature-1 {
  inset-inline-start: auto;
  inset-inline-end: max(var(--site-gutter, 24px), calc((100vw - var(--site-canvas, 1520px)) / 2));
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  padding-inline-start: 11px;
  border-inline-start: 2px solid var(--inner-blue);
}

.inner-page .page-signature-2 {
  padding: 7px 20px 7px 14px;
  background: var(--inner-blue);
  clip-path: polygon(0 0, 91% 0, 100% 42%, 100% 100%, 0 100%);
}
.inner-page .page-signature-2 span { color: var(--on-dark-accent); }
.inner-page .page-signature-2 b { color: var(--on-dark); }

.inner-page .page-signature-3 {
  padding-block: 5px;
  border-block: 1px solid var(--inner-line);
}
.inner-page .page-signature-3::after { content: ""; inline-size: 7px; aspect-ratio: 1; background: var(--inner-blue); transform: rotate(45deg); }

.inner-page .breadcrumbs {
  margin-block-end: clamp(24px, 2.8vw, 40px);
  padding-block-end: 13px;
  border-block-end: 1px solid var(--inner-line);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .61rem;
}

.inner-page :is(.page-hero-grid, .landing-hero-grid) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 28px);
}

.inner-page :is(.page-hero-copy, .landing-hero-copy) { grid-column: 1 / span 7; position: relative; z-index: 2; }
.inner-page :is(.page-hero-copy, .landing-hero-copy)::before {
  content: "";
  position: absolute;
  inset-block: -20px;
  inset-inline-start: auto;
  inset-inline-end: -14px;
  inline-size: 1px;
  background: linear-gradient(transparent, var(--inner-blue), transparent);
}

.inner-page :is(.page-hero, .landing-hero) h1 {
  max-inline-size: 20ch;
  margin-block-end: 23px;
  font-size: clamp(1.95rem, 2.25vw, 2.75rem);
  font-weight: 790;
  line-height: 1.34;
  letter-spacing: -.038em;
}

.inner-page :is(.page-hero, .landing-hero) h1 em {
  position: relative;
  display: inline;
  color: var(--inner-blue);
  font-style: normal;
  white-space: normal;
}

.inner-page :is(.page-hero, .landing-hero) h1 em::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-end: -.12em;
  block-size: 2px;
  background: linear-gradient(90deg, #7fe5f1, var(--inner-blue));
  transform: scaleX(.72);
  transform-origin: right;
}

.inner-page :is(.page-hero-copy, .landing-hero-copy) > p {
  max-inline-size: 68ch;
  font-size: clamp(.9rem, 1vw, 1.02rem);
  line-height: 2.08;
}

.inner-page .hero-kicker { align-items: center; gap: 12px; color: var(--inner-blue); font-size: .68rem; }
.inner-page .hero-kicker::before { content: ""; inline-size: 42px; block-size: 1px; background: currentColor; }
.inner-page .hero-ctas { margin-block-start: 32px; }

.inner-page :is(.hero-image, .landing-hero-media, .inner-object-stage) {
  position: relative;
  grid-column: 8 / -1;
  min-block-size: clamp(370px, 28vw, 480px);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  isolation: isolate;
}

.inner-page :is(.hero-image, .landing-hero-media, .inner-object-stage)::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5% -4% 1% 7%;
  border-block: 1px solid rgb(41 72 232 / 22%);
  border-inline-start: 1px solid rgb(41 72 232 / 22%);
  background:
    linear-gradient(to left, var(--inner-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--inner-grid) 1px, transparent 1px),
    rgb(242 246 255 / 56%);
  background-size: 18% 100%, 100% 16%, 100% 100%;
  clip-path: polygon(0 7%, 91% 0, 100% 88%, 9% 100%);
}

.inner-page .hero-image-cutout img {
  inline-size: min(94%, 560px);
  max-block-size: 580px;
  object-fit: contain;
  filter: drop-shadow(0 28px 28px rgb(24 51 184 / 13%));
  transform: rotate(-3deg);
}

.inner-page .landing-hero-media img {
  inline-size: 84%;
  max-block-size: 480px;
  border: 1px solid rgb(41 72 232 / 15%);
  clip-path: polygon(0 5%, 95% 0, 100% 92%, 5% 100%);
}

/* Every internal hero uses the same physical object language as the home hero. */
.inner-page :is(.inner-object-stage, .detail-object-stage) {
  position: relative;
  isolation: isolate;
  overflow: visible;
  margin: 0;
}

.inner-page .inner-object-stage {
  min-block-size: clamp(390px, 31vw, 500px);
}

.inner-page .inner-object-stage .object-main { scale: .72; transform-origin: center; }
.inner-page .inner-object-stage .object-secondary,
.inner-page .inner-object-stage .object-tertiary { scale: .86; transform-origin: center; }

.inner-page .detail-object-stage {
  min-block-size: clamp(430px, 44vw, 590px);
  margin-block: clamp(54px, 8vw, 90px);
  border-block: 1px solid rgb(41 72 232 / 20%);
  background:
    linear-gradient(to left, var(--inner-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--inner-grid) 1px, transparent 1px),
    linear-gradient(145deg, rgb(255 255 255 / 48%), rgb(236 242 255 / 35%));
  background-size: 16.66% 100%, 100% 64px, 100% 100%;
  clip-path: polygon(0 0, 94% 0, 100% 8%, 100% 100%, 6% 100%, 0 92%);
}

.inner-page :is(.inner-object-stage, .detail-object-stage) .object-piece {
  position: absolute;
  max-inline-size: none;
  object-fit: contain;
  filter: drop-shadow(0 26px 28px rgb(24 51 184 / 14%));
  pointer-events: none;
  user-select: none;
}

.inner-page :is(.inner-object-stage, .detail-object-stage) .object-main {
  z-index: 2;
  inset-block-start: -5%;
  inset-inline-start: -16%;
  inline-size: min(118%, 760px);
  block-size: 104%;
  rotate: -3deg;
}

.inner-page :is(.inner-object-stage, .detail-object-stage) .object-secondary {
  z-index: 3;
  inset-block-end: -2%;
  inset-inline-end: -5%;
  inline-size: min(39%, 260px);
  block-size: 42%;
  rotate: 8deg;
}

.inner-page :is(.inner-object-stage, .detail-object-stage) .object-tertiary {
  z-index: 1;
  inset-block-start: 2%;
  inset-inline-end: -2%;
  inline-size: min(31%, 210px);
  block-size: 39%;
  rotate: -9deg;
  opacity: .96;
}

.inner-page .object-grid-plane {
  position: absolute;
  z-index: -1;
  inset-inline: -7% 4%;
  inset-block-end: 0;
  block-size: 38%;
  border-block-start: 1px solid rgb(41 72 232 / 18%);
  background-image:
    linear-gradient(to left, var(--inner-grid) 1px, transparent 1px),
    linear-gradient(to bottom, var(--inner-grid) 1px, transparent 1px);
  background-size: 12.5% 100%, 100% 25%;
  transform: perspective(560px) rotateX(66deg) rotateZ(-4deg);
  transform-origin: bottom;
}

.inner-page .object-coordinate {
  position: absolute;
  z-index: 5;
  color: #667187;
  font: 700 .55rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .08em;
}
.inner-page .object-coordinate-a { inset-block-start: 7%; inset-inline-start: 4%; }
.inner-page .object-coordinate-b { inset-block-start: 13%; inset-inline-start: 4%; }

.inner-page :is(.inner-object-stage, .detail-object-stage) figcaption {
  position: absolute;
  z-index: 5;
  inset-inline-start: 8%;
  inset-block-end: 3%;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #536078;
  font: 700 .53rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .04em;
}
.inner-page :is(.inner-object-stage, .detail-object-stage) figcaption i { inline-size: 18px; block-size: 1px; background: var(--inner-blue); }

/* Deterministic per-page art direction: same family, different composition. */
.inner-page .object-variant-1 .object-main { inset-inline-start: -7%; inline-size: 106%; rotate: 4deg; }
.inner-page .object-variant-1 .object-secondary { inset-inline-end: auto; inset-inline-start: -4%; inline-size: 34%; rotate: -11deg; }
.inner-page .object-variant-1 .object-tertiary { inset-inline-end: -6%; inset-block-start: 13%; rotate: 8deg; }
.inner-page .object-variant-2 .object-main { inset-block-start: 2%; inset-inline-start: -2%; inline-size: 104%; rotate: -7deg; }
.inner-page .object-variant-2 .object-secondary { inset-inline-end: -9%; inset-block-end: 8%; inline-size: 44%; }
.inner-page .object-variant-2 .object-tertiary { inset-inline-end: auto; inset-inline-start: -5%; inset-block-start: 3%; }
.inner-page .object-variant-3 .object-main { inset-block-start: -9%; inset-inline-start: -20%; inline-size: 125%; rotate: 7deg; }
.inner-page .object-variant-3 .object-secondary { inset-inline-end: 1%; inset-block-end: -5%; rotate: -8deg; }
.inner-page .object-variant-3 .object-tertiary { inset-inline-end: -7%; inset-block-start: 0; }
.inner-page .object-variant-4 .object-main { inset-block-start: 4%; inset-inline-start: -12%; inline-size: 112%; rotate: 1deg; }
.inner-page .object-variant-4 .object-secondary { inset-inline-end: auto; inset-inline-start: -2%; inset-block-end: -5%; }
.inner-page .object-variant-4 .object-tertiary { inset-inline-end: -6%; inset-block-start: 20%; rotate: 12deg; }
.inner-page .object-variant-5 .object-main { inset-block-start: -2%; inset-inline-start: 0; inline-size: 101%; rotate: -9deg; }
.inner-page .object-variant-5 .object-secondary { inset-inline-end: -10%; inset-block-end: 1%; inline-size: 46%; rotate: 13deg; }
.inner-page .object-variant-5 .object-tertiary { inset-inline-end: auto; inset-inline-start: -8%; inset-block-start: 6%; }
.inner-page .object-variant-6 .object-main { inset-block-start: -7%; inset-inline-start: -9%; inline-size: 112%; rotate: 8deg; }
.inner-page .object-variant-6 .object-secondary { inset-inline-end: 3%; inset-block-end: -7%; rotate: -4deg; }
.inner-page .object-variant-6 .object-tertiary { inset-inline-end: -8%; inset-block-start: 5%; rotate: -14deg; }
.inner-page .object-variant-7 .object-main { inset-block-start: 4%; inset-inline-start: -16%; inline-size: 115%; rotate: -1deg; }
.inner-page .object-variant-7 .object-secondary { inset-inline-end: -7%; inset-block-end: 10%; rotate: -12deg; }
.inner-page .object-variant-7 .object-tertiary { inset-inline-end: auto; inset-inline-start: 2%; inset-block-start: -2%; rotate: 7deg; }

.inner-page .trust-chips { gap: 0; margin-block-start: 28px; border-block: 1px solid var(--inner-line); }
.inner-page .trust-chips span { padding: 9px 13px; border: 0; border-inline-end: 1px solid var(--inner-line); border-radius: 0; font-size: .63rem; }

/* Long content uses numbered bands and editorial asymmetry. */
.inner-page .content-band {
  position: relative;
  counter-increment: inner-band;
  padding-block: clamp(88px, 9vw, 150px);
  border-block-end: 1px solid var(--inner-line);
  background:
    linear-gradient(to left, rgb(41 72 232 / 3.8%) 1px, transparent 1px),
    var(--inner-paper);
  background-size: min(8.333vw, 128px) 100%, 100% 100%;
}

.inner-page .content-band:nth-of-type(even) { background: #fff; }
.inner-page .content-band::before {
  content: counter(inner-band, decimal-leading-zero);
  position: absolute;
  inset-block-start: 32px;
  inset-inline-start: max(24px, calc((100vw - 1480px) / 2));
  color: var(--inner-blue);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: .6rem;
  letter-spacing: .1em;
}

.inner-page .structural-band::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset-block-start: -1px;
  inset-inline-start: max(24px, calc((100vw - 1480px) / 2));
  inline-size: clamp(84px, 12vw, 190px);
  block-size: 14px;
  border-block-start: 1px solid var(--inner-blue);
  border-inline-start: 1px solid var(--inner-blue);
  transform: skewX(-38deg);
  transform-origin: right top;
  pointer-events: none;
}

.inner-page .structural-band-1 .content-grid { grid-template-columns: minmax(0, 8fr) minmax(250px, 4fr); }
.inner-page .structural-band-1 .content-aside { grid-column: 2; grid-row: 1; transform: translateY(44px); }
.inner-page .structural-band-1 .prose { grid-column: 1; grid-row: 1; }
.inner-page .structural-band-2 { background-color: #f4f7fb; }

.inner-page .content-grid { grid-template-columns: minmax(250px, 4fr) minmax(0, 8fr); gap: clamp(54px, 9vw, 140px); }
.inner-page .content-aside { inset-block-start: 105px; padding-block-start: 18px; border-block-start: 1px solid var(--inner-line); }
.inner-page .content-aside h2 { max-inline-size: 19ch; font-size: clamp(1.25rem, 1.9vw, 1.9rem); line-height: 1.55; }
.inner-page .content-aside > p { font-size: .79rem; line-height: 1.95; }

.inner-page .prose { max-inline-size: 820px; counter-reset: prose-topic; }
.inner-page .prose h2 { font-size: clamp(1.2rem, 1.65vw, 1.55rem); }
.inner-page .prose h3 {
  position: relative;
  counter-increment: prose-topic;
  margin-block: 2.1em .6em;
  padding-inline-start: 42px;
  font-size: clamp(.98rem, 1.15vw, 1.12rem);
}
.inner-page .prose h3::before {
  content: counter(prose-topic, decimal-leading-zero);
  position: absolute;
  inset-inline-start: 0;
  color: var(--inner-blue);
  font: 700 .58rem/2 ui-monospace, SFMono-Regular, Menlo, monospace;
}
.inner-page .prose p,
.inner-page .prose li { font-size: .9rem; line-height: 2.12; }
.inner-page .prose blockquote { padding: 28px 32px; border-inline-start: 1px solid var(--inner-blue); background: var(--inner-cool); font-size: .98rem; }

.inner-page :is(.feature-grid, .card-grid) {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0;
  border-block-start: 1px solid var(--inner-line);
}
.inner-page :is(.feature-card, .info-card) {
  grid-column: span 4;
  min-block-size: 270px;
  padding: 30px;
  border: 0;
  border-inline-end: 1px solid var(--inner-line);
  border-block-end: 1px solid var(--inner-line);
  border-radius: 0;
  background: transparent;
}
.inner-page :is(.feature-card, .info-card):nth-child(3n + 1) { border-inline-end: 0; }
.inner-page .feature-card h3 { margin-block-start: 62px; }

/* Angled modules echo the selected-work cards on the homepage. */
.inner-page .content-band :is(.feature-grid, .card-grid) {
  gap: 18px;
  border-block-start: 0;
  padding-block: 26px;
}

.inner-page .content-band :is(.feature-card, .info-card) {
  position: relative;
  min-block-size: 290px;
  overflow: hidden;
  border: 1px solid var(--inner-line);
  background:
    linear-gradient(145deg, rgb(255 255 255 / 96%), rgb(240 244 255 / 72%));
  clip-path: polygon(0 0, 91% 0, 100% 9%, 100% 100%, 9% 100%, 0 91%);
}

.inner-page .content-band :is(.feature-card, .info-card)::after {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  inline-size: 38px;
  aspect-ratio: 1;
  border-inline-start: 1px solid rgb(41 72 232 / 25%);
  border-block-end: 1px solid rgb(41 72 232 / 25%);
  background: rgb(41 72 232 / 5%);
  transform: translate(45%, -45%) rotate(45deg);
}

.inner-page .content-band :is(.feature-card, .info-card):nth-child(2n) {
  clip-path: polygon(7% 0, 100% 0, 100% 93%, 93% 100%, 0 100%, 0 7%);
  background: #fff;
}

/* Keep editorial grids dense: angled cards stay expressive without creating
   orphaned modules or large dead zones at the end of a section. */
.inner-page :is(.feature-grid, .card-grid):has(> :nth-child(4):last-child) > * {
  grid-column: span 3;
}

.inner-page :is(.feature-grid, .card-grid):has(> :nth-child(7):last-child) > :nth-child(-n + 4) {
  grid-column: span 3;
}

.inner-page :is(.feature-grid, .card-grid):has(> :nth-child(7):last-child) > :nth-child(n + 5) {
  grid-column: span 4;
}

.inner-page .content-band :is(.feature-card, .info-card):nth-child(3n) {
  background: var(--inner-indigo);
  color: var(--on-dark);
}
.inner-page .content-band :is(.feature-card, .info-card):nth-child(3n) h3 { color: var(--on-dark); }
.inner-page .content-band :is(.feature-card, .info-card):nth-child(3n) p { color: var(--on-dark-muted); }
.inner-page .content-band :is(.feature-card, .info-card):nth-child(3n) .feature-number { color: var(--on-dark-accent); }
.inner-page .content-band :is(.feature-card, .info-card):nth-child(3n) :is(a, .text-link) { color: var(--on-dark); }

.inner-page .detail-visual { min-block-size: 520px; border: 1px solid var(--inner-line); border-radius: 0; background: var(--inner-cool); clip-path: polygon(0 0, 96% 0, 100% 7%, 100% 100%, 4% 100%, 0 93%); }
.inner-page .link-cluster { gap: 0; border-block: 1px solid var(--inner-line); }
.inner-page .link-cluster a { padding: 11px 14px; border: 0; border-inline-end: 1px solid var(--inner-line); border-radius: 0; }

/* Listing pages are editorial indexes, not a card wall. */
.inner-page .listing-grid { grid-template-columns: repeat(12, 1fr); gap: 0; border-block-start: 1px solid var(--inner-line); }
.inner-page .listing-card { grid-column: span 4; min-block-size: 390px; border: 0; border-inline-end: 1px solid var(--inner-line); border-block-end: 1px solid var(--inner-line); border-radius: 0; background: transparent; }
.inner-page .listing-card:first-child { grid-column: span 8; min-block-size: 520px; background: var(--inner-indigo); color: var(--on-dark); }
.inner-page .listing-card:first-child :is(h2, .read-more) { color: var(--on-dark); }
.inner-page .listing-card:first-child p { color: var(--on-dark-muted); }
.inner-page .listing-card:first-child .card-meta { color: var(--on-dark-accent); }
.inner-page .listing-card a { padding: clamp(28px, 4vw, 54px); }
.inner-page .listing-card h2 { margin-block: auto 14px; font-size: clamp(1.05rem, 1.5vw, 1.45rem); }
.inner-page .listing-card:first-child h2 { max-inline-size: 18ch; font-size: clamp(1.7rem, 2.5vw, 2.65rem); line-height: 1.45; }
.inner-page .listing-card:nth-child(3n + 2) { clip-path: polygon(0 0, 92% 0, 100% 8%, 100% 100%, 8% 100%, 0 92%); background: var(--inner-cool); }
.inner-page .listing-grid:has(> :nth-child(3):last-child) .listing-card:first-child { grid-column: span 6; }
.inner-page .listing-grid:has(> :nth-child(3):last-child) .listing-card:not(:first-child) { grid-column: span 3; }

/* Journal index: a deliberate 5–4–3 / 3–4–5 cadence instead of a card wall. */
.journal-listing .listing-grid {
  counter-reset: journal-card;
  grid-auto-flow: dense;
  background: var(--inner-line);
  gap: 1px;
  border: 1px solid var(--inner-line);
}
.journal-listing .listing-card,
.journal-listing .listing-card:first-child {
  position: relative;
  counter-increment: journal-card;
  grid-column: span 4;
  min-block-size: 430px;
  overflow: hidden;
  border: 0;
  background: var(--inner-paper);
  color: var(--inner-ink);
  clip-path: none;
}
.journal-listing .listing-card:nth-child(6n + 1) { grid-column: span 5; }
.journal-listing .listing-card:nth-child(6n + 2) { grid-column: span 4; }
.journal-listing .listing-card:nth-child(6n + 3) { grid-column: span 3; }
.journal-listing .listing-card:nth-child(6n + 4) { grid-column: span 3; }
.journal-listing .listing-card:nth-child(6n + 5) { grid-column: span 4; }
.journal-listing .listing-card:nth-child(6n + 6) { grid-column: span 5; }
.journal-listing .listing-card:nth-child(6n + 1),
.journal-listing .listing-card:nth-child(6n + 6) {
  min-block-size: 470px;
  background: var(--inner-indigo);
  color: var(--on-dark);
}
.journal-listing .listing-card:nth-child(6n + 2),
.journal-listing .listing-card:nth-child(6n + 5) { background: #f0f3ff; }
.journal-listing .listing-card:nth-child(6n + 3) { background: #edfafd; }
.journal-listing .listing-card:nth-child(6n + 4) { background: #fff; }
.journal-listing .listing-card::after {
  content: counter(journal-card, decimal-leading-zero);
  position: absolute;
  inset-inline-start: 24px;
  inset-block-end: 19px;
  color: rgb(41 72 232 / 34%);
  font: 650 .58rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
  letter-spacing: .12em;
  pointer-events: none;
}
.journal-listing .listing-card:nth-child(6n + 1)::after,
.journal-listing .listing-card:nth-child(6n + 6)::after { color: rgb(127 229 241 / 66%); }
.journal-listing .listing-card > a {
  position: relative;
  z-index: 1;
  padding: clamp(28px, 3.2vw, 48px);
}
.journal-listing .listing-card > a::before,
.journal-listing .listing-card > a::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}
.journal-listing .listing-card > a::before {
  inset-inline-end: -48px;
  inset-block-start: -48px;
  inline-size: 118px;
  aspect-ratio: 1;
  border: 1px solid rgb(41 72 232 / 16%);
  transform: rotate(32deg);
  transition: transform 420ms cubic-bezier(.16,1,.3,1), border-color 240ms ease;
}
.journal-listing .listing-card > a::after {
  inset-inline: 0 auto;
  inset-block-start: 0;
  inline-size: 4px;
  block-size: 76px;
  background: var(--inner-blue);
  transform-origin: top;
  transition: block-size 260ms ease;
}
.journal-listing .listing-card:nth-child(6n + 1) > a::before,
.journal-listing .listing-card:nth-child(6n + 6) > a::before { border-color: rgb(127 229 241 / 24%); }
.journal-listing .listing-card:nth-child(6n + 1) > a::after,
.journal-listing .listing-card:nth-child(6n + 6) > a::after { background: var(--on-dark-accent); }
.journal-listing .listing-card:nth-child(6n + 1) :is(h2, p, .read-more),
.journal-listing .listing-card:nth-child(6n + 6) :is(h2, p, .read-more) { color: var(--on-dark); }
.journal-listing .listing-card:nth-child(6n + 1) p,
.journal-listing .listing-card:nth-child(6n + 6) p { color: var(--on-dark-muted); }
.journal-listing .listing-card:nth-child(6n + 1) .card-meta,
.journal-listing .listing-card:nth-child(6n + 6) .card-meta { color: var(--on-dark-accent); }
.journal-listing .listing-card:hover > a::before { border-color: rgb(41 72 232 / 42%); transform: rotate(45deg) scale(1.08); }
.journal-listing .listing-card:hover > a::after { block-size: 100%; }
.journal-listing .listing-grid:has(> .listing-card:nth-child(6n + 1):last-child) > .listing-card:last-child { grid-column: 1 / -1; }
.journal-listing .listing-grid:has(> .listing-card:nth-child(6n + 2):last-child) > .listing-card:last-child { grid-column: span 7; }

/* Article rail and conversion modules share the same measured geometry. */
.inner-page .article-layout { grid-template-columns: minmax(180px, 3fr) minmax(0, 6fr) minmax(190px, 3fr); gap: clamp(28px, 5vw, 70px); }
.inner-page .article-toc { border-inline-start: 1px solid var(--inner-line); }
.inner-page .article-aside { padding: 24px; border: 1px solid var(--inner-line); border-radius: 0; background: var(--inner-cool); }

.inner-page .form-shell { position: relative; padding: clamp(28px, 5vw, 58px); border: 1px solid var(--inner-line); border-radius: 0; background: #fff; box-shadow: none; clip-path: polygon(0 0, 97% 0, 100% 3%, 100% 100%, 3% 100%, 0 97%); }
.inner-page .field :is(input, textarea, select) { border-radius: 2px; background: #fbfcfe; }
.inner-page .contact-methods a { min-block-size: 58px; border-color: var(--inner-line); }
.inner-page .wizard-progress-track { block-size: 2px; border-radius: 0; }
.inner-page .choice-grid { gap: 0; border-block-start: 1px solid var(--inner-line); }
.inner-page .choice-card label { min-block-size: 125px; border: 0; border-inline-end: 1px solid var(--inner-line); border-block-end: 1px solid var(--inner-line); border-radius: 0; background: transparent; }
.inner-page .choice-card input:checked + label { background: #eef2ff; box-shadow: inset 0 0 0 2px var(--inner-blue); }

.inner-page .final-cta { padding-block: 0 36px; background: #fff; }
.inner-page .final-cta-shell { border-radius: 0; background: var(--inner-indigo); clip-path: polygon(0 0, 97% 0, 100% 12%, 100% 100%, 3% 100%, 0 88%); }
.inner-page .final-cta-shell h2 { color: var(--on-dark); }
.inner-page .final-cta-shell > p { color: var(--on-dark-muted); }
.inner-page .final-cta-shell .eyebrow { color: var(--on-dark-accent); }
.inner-page .final-cta-shell .button-ghost-light {
  --button-color: var(--on-dark);
  --button-border: var(--on-dark-border);
}
.inner-page :is(
  .final-cta-shell,
  .listing-card:first-child,
  .content-band :is(.feature-card, .info-card):nth-child(3n)
) :is(a, button):focus-visible { outline-color: var(--on-dark-accent); }
.inner-page .site-footer { border-block-start: 1px solid var(--inner-line); background: var(--inner-paper); }
.inner-page .floating-contact { border: 1px solid #273454; border-radius: 2px; background: #fff; color: var(--inner-ink); box-shadow: none; }

@media (max-width: 1180px) {
  .inner-page :is(.page-hero, .landing-hero) { min-block-size: auto; }
  .inner-page .article-layout { grid-template-columns: 190px minmax(0, 1fr); }
  .inner-page .article-aside { display: none; }
  .inner-page :is(.feature-grid, .card-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inner-page :is(.feature-grid, .card-grid) > * { grid-column: auto !important; }
  .inner-page :is(.feature-grid, .card-grid):has(> :nth-child(odd):last-child) > :last-child {
    grid-column: 1 / -1 !important;
  }
  .inner-page .listing-card,
  .inner-page .listing-card:first-child,
  .inner-page .listing-grid:has(> :nth-child(3):last-child) .listing-card:not(:first-child) {
    grid-column: span 6 !important;
  }
  .inner-page .listing-grid:has(> .listing-card:nth-child(3):last-child) > .listing-card:last-child {
    grid-column: 1 / -1 !important;
  }
  .journal-listing .listing-card,
  .journal-listing .listing-card:first-child,
  .journal-listing .listing-card:nth-child(n) { grid-column: span 6 !important; }
  .journal-listing .listing-grid:has(> .listing-card:nth-child(odd):last-child) > .listing-card:last-child { grid-column: 1 / -1 !important; }
}

@media (min-width: 1920px) {
  .inner-page :is(.page-hero, .landing-hero) h1 { font-size: 2.85rem; }
}

@media (max-width: 980px) {
  .inner-page .header-shell { display: flex; }
  .inner-page .desktop-nav,
  .inner-page .header-cta { display: none; }
  .inner-page :is(.page-hero-grid, .landing-hero-grid) { grid-template-columns: 1fr; gap: 36px; }
  .inner-page :is(.page-hero-copy, .landing-hero-copy),
  .inner-page :is(.hero-image, .landing-hero-media, .inner-object-stage) { grid-column: 1; }
  .inner-page :is(.page-hero-copy, .landing-hero-copy)::before { display: none; }
  .inner-page :is(.hero-image, .landing-hero-media, .inner-object-stage) { inline-size: min(100%, 680px); margin-inline: auto; }
  .inner-page .content-grid,
  .inner-page .article-layout { grid-template-columns: 1fr; }
  .inner-page .structural-band-1 .content-grid { grid-template-columns: 1fr; }
  .inner-page .structural-band-1 .content-aside,
  .inner-page .structural-band-1 .prose { grid-column: 1; grid-row: auto; transform: none; }
  .inner-page .content-aside,
  .inner-page .article-toc { position: static; }
  .inner-page :is(.page-hero, .landing-hero) h1 { font-size: clamp(1.85rem, 4.5vw, 2.65rem); }
}

@media (max-width: 700px) {
  .inner-page .container { width: calc(100% - 28px); }
  .inner-page :is(.page-hero, .landing-hero) { padding-block: 38px 44px; background-size: 80px 100%, 100% 56px, 100% 100%, 100% 100%; }
  .inner-page .page-signature,
  .inner-page .page-signature-1 {
    inset-block-start: 14px;
    inset-inline-start: var(--site-gutter, 18px);
    inset-inline-end: auto;
    max-inline-size: calc(100% - (var(--site-gutter, 18px) * 2));
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding-inline-start: 0;
    border-inline-start: 0;
    font-size: .6rem;
  }
  .inner-page .page-signature-0::before { inline-size: 20px; }
  .inner-page .page-signature-2 { padding: 6px 14px 6px 10px; }
  .inner-page .breadcrumbs { margin-block-end: 26px; }
  .inner-page :is(.page-hero, .landing-hero) h1 { font-size: clamp(1.58rem, 7.3vw, 2.2rem); line-height: 1.42; }
  .inner-page :is(.hero-image, .landing-hero-media, .inner-object-stage) { min-block-size: 295px; }
  .inner-page .detail-object-stage { min-block-size: 390px; margin-inline: -7px; }
  .inner-page :is(.inner-object-stage, .detail-object-stage) .object-main { inset-inline-start: -5%; inline-size: 106%; }
  .inner-page :is(.inner-object-stage, .detail-object-stage) .object-secondary { inline-size: 37%; inset-inline-end: -1%; }
  .inner-page :is(.inner-object-stage, .detail-object-stage) .object-tertiary { inline-size: 29%; inset-inline-end: 0; }
  .inner-page .hero-image-cutout img { inline-size: 88%; max-block-size: 370px; }
  .inner-page .landing-hero-media img { inline-size: 88%; }
  .inner-page .trust-chips span { flex: 1 1 50%; border-block-end: 1px solid var(--inner-line); }
  .inner-page .content-band { padding-block: 78px; }
  .inner-page :is(.feature-grid, .card-grid) { grid-template-columns: 1fr; }
  .inner-page :is(.feature-grid, .card-grid) > * { grid-column: 1 / -1 !important; }
  .inner-page .content-band :is(.feature-card, .info-card) {
    min-block-size: 220px;
    padding: 24px 22px;
    border-inline-end: 0;
  }
  .inner-page .feature-card h3 { margin-block-start: 36px; }
  .inner-page .listing-grid .listing-card,
  .inner-page .listing-grid .listing-card:first-child,
  .inner-page .listing-grid:has(> :nth-child(3):last-child) .listing-card:not(:first-child) {
    grid-column: 1 / -1 !important;
    min-block-size: 350px;
    border-inline-end: 0;
  }
  .inner-page .listing-card:first-child { min-block-size: 430px; }
  .inner-page .article-toc { border-inline-start: 0; border-block: 1px solid var(--inner-line); }
  .inner-page .form-shell { padding: 26px 18px; clip-path: none; }
  .inner-page .choice-card label { border-inline-end: 0; }
  .inner-page .final-cta-shell { clip-path: none; }
}

@media (prefers-reduced-motion: reduce) {
  .inner-page .hero-image-cutout img { transform: none; }
}

@media print {
  .inner-page :is(.page-hero, .landing-hero) { min-block-size: auto; background: #fff; }
  .inner-page .page-signature,
  .inner-page .content-band::before { display: none; }
}
