
/* ==========================================================
   Final Visual Rhythm Pass
   Visual-only: alignment, density, whitespace, scroll rhythm.
   Carbis intentionally left alone as the alignment reference.
   ========================================================== */

/* ---------- HOME: remove dead runway and align visual starts ---------- */
.hero.section-pad {
  padding-bottom: clamp(34px, 4vw, 50px) !important;
}

#about.section-pad {
  padding-top: clamp(26px, 3vw, 38px) !important;
  padding-bottom: clamp(30px, 3.6vw, 46px) !important;
}

#about .split {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr) !important;
  gap: clamp(34px, 4vw, 58px) !important;
  align-items: start !important;
}

#about .split > div {
  min-width: 0;
  align-self: start !important;
}

#about .rich-text {
  padding-top: 0 !important;
  max-width: 720px;
}

#about .rich-text > :first-child {
  margin-top: 0 !important;
}

#about .section-3d-title {
  max-width: 9.2ch !important;
  margin-bottom: 0 !important;
}

#focus.section-pad {
  padding-top: clamp(28px, 3vw, 40px) !important;
  padding-bottom: clamp(30px, 3.6vw, 44px) !important;
}

#focus .section-head {
  margin-bottom: 16px !important;
}

#focus .focus-grid {
  gap: 14px !important;
  align-items: stretch !important;
}

#focus .focus-grid .card {
  min-height: 0 !important;
  padding: 19px 20px !important;
}

#focus .card-icon {
  margin-bottom: 12px !important;
}

#toolbox.toolbox-home-section.section-pad {
  padding-top: clamp(30px, 3.6vw, 46px) !important;
  padding-bottom: clamp(30px, 3.6vw, 46px) !important;
}

.toolbox-home-card {
  min-height: 0 !important;
  align-items: stretch !important;
}

.toolbox-home-copy {
  padding: clamp(24px, 3vw, 38px) !important;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.toolbox-home-copy .section-3d-title,
.vpv-toolbox-title {
  white-space: nowrap !important;
  max-width: none !important;
  font-size: clamp(2.15rem, 3.35vw, 3.5rem) !important;
  line-height: .94 !important;
}

.toolbox-home-copy .section-note {
  margin-bottom: 16px !important;
}

.toolbox-home-art {
  min-height: 270px !important;
}

.toolbox-home-art img {
  width: 100%;
  height: 100% !important;
  min-height: 270px !important;
  object-fit: cover !important;
}

#case-studies.section-pad {
  padding-top: clamp(34px, 4vw, 50px) !important;
  padding-bottom: clamp(36px, 4vw, 52px) !important;
}

#case-studies .section-head {
  margin-bottom: 18px !important;
}

.case-grid.case-grid-expanded {
  gap: 14px !important;
}

.case-grid-expanded .case-card {
  padding: 20px !important;
}

.case-grid-expanded .case-card h3 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.case-grid-expanded .case-card > p {
  margin-bottom: 12px !important;
}

.case-grid-expanded .case-card ul {
  margin-top: 8px !important;
  margin-bottom: 14px !important;
}

#timeline.section-pad {
  padding-top: clamp(34px, 4vw, 50px) !important;
  padding-bottom: clamp(34px, 4vw, 48px) !important;
}

#timeline .section-head {
  margin-bottom: 18px !important;
}

#timeline .timeline {
  gap: 10px !important;
}

#timeline .timeline-item {
  padding: 16px 18px !important;
}

#breachd.section-pad {
  padding-top: clamp(34px, 4vw, 50px) !important;
  padding-bottom: clamp(34px, 4vw, 50px) !important;
}

.breachd-home-tease {
  gap: clamp(28px, 4vw, 50px) !important;
  align-items: center !important;
}

#contact.section-pad {
  padding-top: clamp(28px, 3.4vw, 44px) !important;
  padding-bottom: clamp(32px, 3.8vw, 48px) !important;
}

/* ---------- STARPET: same content, substantially less vertical wandering ---------- */
.starpet-identity-page .section-pad {
  padding-top: clamp(28px, 3.5vw, 44px) !important;
  padding-bottom: clamp(28px, 3.5vw, 44px) !important;
}

.starpet-identity-page .identity-hero {
  padding-top: clamp(76px, 7vw, 102px) !important;
  padding-bottom: clamp(38px, 4.5vw, 58px) !important;
}

.identity-summary-strip {
  padding-top: 0 !important;
  padding-bottom: clamp(22px, 3vw, 34px) !important;
}

.identity-summary-grid {
  gap: 10px !important;
}

.identity-summary-grid article,
.evidence-card,
.identity-service-grid article {
  padding: 15px 16px !important;
}

.identity-summary-grid h3 {
  margin: 13px 0 6px !important;
}

.identity-section-grid {
  gap: 18px 36px !important;
  align-items: start !important;
}

.identity-copy h2,
.identity-heading-row h2,
.identity-split h2,
.identity-timeline-zone h2,
.identity-validation-zone h2,
.identity-outcome h2 {
  margin-bottom: 12px !important;
}

.identity-path {
  gap: 7px !important;
}

.identity-node {
  min-height: 108px !important;
  padding: 12px 10px !important;
}

.identity-node strong {
  margin-top: 17px !important;
}

.identity-step-detail {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

.identity-heading-row {
  gap: 28px !important;
  margin-bottom: 16px !important;
  align-items: start !important;
}

.identity-evidence-grid {
  gap: 10px !important;
}

.evidence-card strong {
  margin: 13px 0 7px !important;
}

.identity-split {
  gap: clamp(28px, 4vw, 48px) !important;
  align-items: start !important;
}

.identity-proof-list {
  gap: 7px !important;
  margin-top: 15px !important;
}

.identity-proof-list span {
  padding: 9px 11px !important;
}

.identity-command-board {
  padding: 17px 18px !important;
}

.identity-command-board code {
  line-height: 1.58 !important;
}

.identity-service-grid {
  gap: 10px !important;
}

.identity-parallel-card {
  padding: 17px 18px !important;
}

.identity-parallel-card > div {
  padding: 11px 0 !important;
}

/* Put the incident progression beside its heading instead of stacking a long runway. */
@media (min-width: 1040px) {
  .identity-timeline-zone .container {
    display: grid !important;
    grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
    column-gap: clamp(34px, 4vw, 58px) !important;
    align-items: start !important;
  }

  .identity-timeline-zone .container > .eyebrow {
    grid-column: 1;
    grid-row: 1;
  }

  .identity-timeline-zone .container > h2 {
    grid-column: 1;
    grid-row: 2;
    max-width: 13ch !important;
    margin-top: 0 !important;
  }

  .identity-timeline-zone .identity-timeline {
    grid-column: 2;
    grid-row: 1 / span 3;
    margin-top: 0 !important;
  }
}

.identity-timeline {
  gap: 8px !important;
  margin-top: 17px !important;
}

.identity-timeline article {
  padding: 13px 15px !important;
  gap: 13px !important;
}

.identity-timeline article > span {
  width: 38px !important;
  height: 38px !important;
}

/* Outcome becomes a balanced Carbis-style two-column closing instead of a narrow island. */
@media (min-width: 980px) {
  .identity-outcome .container {
    max-width: var(--max) !important;
    display: grid !important;
    grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr) !important;
    column-gap: clamp(34px, 4vw, 58px) !important;
    align-items: start !important;
  }

  .identity-outcome .container > .eyebrow {
    grid-column: 1;
    grid-row: 1;
  }

  .identity-outcome .container > h2 {
    grid-column: 1;
    grid-row: 2 / span 3;
    max-width: 14ch !important;
    margin-top: 0 !important;
  }

  .identity-outcome .container > p:not(.eyebrow),
  .identity-outcome .identity-lesson {
    grid-column: 2;
  }

  .identity-outcome .identity-lesson {
    margin: 12px 0 !important;
  }

  .identity-outcome .evidence-policy {
    margin-top: 6px !important;
  }
}

.vpv-starpet-wide-title {
  max-width: 31ch !important;
  font-size: clamp(2.05rem, 3vw, 3.35rem) !important;
  line-height: .98 !important;
}

.identity-validation-grid {
  gap: 34px !important;
}

.identity-checklist {
  gap: 8px !important;
}

.identity-checklist span {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* ---------- TIME CAPSULE: use the viewport; stop stacking every card full-width ---------- */
.timeline-hero.section-pad {
  padding-top: clamp(72px, 7vw, 96px) !important;
  padding-bottom: clamp(30px, 3.8vw, 46px) !important;
}

.timeline-hero-grid {
  gap: clamp(30px, 4vw, 52px) !important;
  align-items: start !important;
}

.education-pillars {
  padding-top: 24px !important;
  padding-bottom: 30px !important;
}

.education-pillars-shell {
  padding: clamp(24px, 3vw, 34px) !important;
}

.education-pillars-head {
  margin-bottom: 18px !important;
}

.education-pillar-grid {
  gap: 12px !important;
}

.education-pillar {
  padding: 16px !important;
}

.education-pillar-art {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

.education-memory-strip {
  margin-top: 16px !important;
  gap: 12px !important;
}

.timeline-search-section.section-pad {
  padding-top: 30px !important;
  padding-bottom: 42px !important;
}

.timeline-controls {
  margin-bottom: 16px !important;
}

.capsule-layout {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.capsule-side {
  order: -1 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}

.capsule-side .side-card {
  margin: 0 !important;
  min-height: 0 !important;
  padding: 16px 17px !important;
}

.timeline-list {
  order: 1 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.timeline-card {
  height: 100% !important;
  min-height: 0 !important;
  padding: 19px 20px !important;
}

.timeline-card h2 {
  margin-bottom: 3px !important;
}

.timeline-card > p {
  margin: 12px 0 !important;
}

.timeline-card ul {
  margin-top: 10px !important;
  margin-bottom: 12px !important;
  padding-left: 1.15rem !important;
}

.timeline-card li {
  margin-bottom: 5px !important;
}

.timeline-card .tag-row {
  margin-top: 12px !important;
}

.timeline-actions {
  margin-top: 14px !important;
}

/* ---------- MOORE: tighten without changing the evidence presentation ---------- */
.moore-case-page main > .section-pad {
  padding-top: clamp(26px, 3.2vw, 40px) !important;
  padding-bottom: clamp(26px, 3.2vw, 40px) !important;
}

.moore-case-page .case-hero {
  padding-top: clamp(72px, 7vw, 96px) !important;
  padding-bottom: clamp(38px, 4.5vw, 56px) !important;
}

.moore-case-page .case-step-grid,
.moore-case-page .collaboration-grid,
.moore-case-page .mapping-evidence-grid,
.moore-case-page .delivery-rail {
  gap: 10px !important;
}

.moore-case-page .collaboration-card,
.moore-case-page .phase1-media-card {
  min-height: 0 !important;
}

.moore-case-page .technical-followthrough {
  margin-top: 12px !important;
  gap: 14px !important;
}

.moore-case-page .parallel-district-note {
  margin-bottom: 12px !important;
}

.moore-case-page .phase1-closing {
  padding-top: 24px !important;
  padding-bottom: 36px !important;
}

/* ---------- Responsive fallback ---------- */
@media (max-width: 980px) {
  #about .split {
    grid-template-columns: 1fr !important;
  }

  .toolbox-home-copy .section-3d-title,
  .vpv-toolbox-title {
    white-space: normal !important;
  }

  .capsule-side,
  .timeline-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  #about.section-pad,
  #focus.section-pad,
  #toolbox.toolbox-home-section.section-pad,
  #case-studies.section-pad,
  #timeline.section-pad,
  #breachd.section-pad,
  #contact.section-pad,
  .starpet-identity-page .section-pad,
  .timeline-search-section.section-pad {
    padding-top: 26px !important;
    padding-bottom: 26px !important;
  }

  .toolbox-home-copy {
    padding: 21px !important;
  }
}



/* Viewer POV micro-fix — 2026-08-19 recording */

/* Moore: stop vertically centering the process panel and give the hero title
   enough horizontal room to avoid the six-line tower. */
@media (min-width: 981px) {
  .moore-case-page .phase1-case-hero-grid {
    align-items: start !important;
  }

  .moore-case-page .case-title {
    max-width: 11.5ch !important;
    font-size: clamp(3.6rem, 5.6vw, 5.9rem) !important;
    line-height: .94 !important;
  }

  .moore-case-page .phase1-hero-panel {
    margin-top: 54px !important;
    justify-self: end !important;
  }
}

/* StarPet: the incident-progression statement was still being forced into
   a narrow left rail by an earlier !important rule. Let it read horizontally,
   then compact the evidence timeline into two columns. */
@media (min-width: 1040px) {
  .identity-timeline-zone .container {
    display: block !important;
  }

  .identity-timeline-zone .container > .eyebrow {
    display: block !important;
  }

  .identity-timeline-zone .container > h2,
  .identity-timeline-zone .container > h2.vpv-starpet-wide-title {
    max-width: 30ch !important;
    font-size: clamp(2rem, 2.6vw, 3rem) !important;
    line-height: .98 !important;
    margin-top: 0 !important;
  }

  .identity-timeline-zone .identity-timeline {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 18px !important;
  }

  .identity-timeline-zone .identity-timeline article:last-child {
    grid-column: 1 / -1 !important;
  }
}
