/* TMN Creative industry landing pages (med spa, healthcare, small business and the rest) in the TMN Flow world.
   Loads after tmn-home.css, which carries the tokens, type, buttons, header, menu, package cards, case-study band,
   process, FAQ and footer. scripts/convert-industry-v2.mjs moves each page's own elements into these wrappers, so
   every line of copy, link, image and schema block is the page's own (docs/industry-v2/COPY-CHANGES.md). */

/* ===== Hero: the promise beside a white record card (the page's facts and review line) ===== */
.ind-hero .display {
  max-width: 14em;
  font-size: clamp(2.45rem, 4.3vw, 3.65rem);
  line-height: 1.02;
}
.ind-hero .hero-deck {
  margin-top: 1.35rem;
  max-width: 38em;
  font-size: clamp(1.0625rem, 1.12vw, 1.1875rem);
  line-height: 1.55;
}
.ind-hero .hero-ctas { margin-top: 2rem; }
.ind-hero { padding-bottom: clamp(2.75rem, 5vw, 4.25rem); }

/* Long-form pages: a tighter section rhythm, and 2 neighbours on the same ground share 1 gap */
.ind-block,
.ind-work,
.ind-close { padding-block: clamp(3.25rem, 6.2vw, 5.75rem); }
.ind-block.ground-paper + .ind-block.ground-paper,
.ind-block.ground-paper-2 + .ind-block.ground-paper-2 { padding-top: 0; }

@media (min-width: 1100px) {
  .ind-hero-grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4.6fr); gap: clamp(3rem, 5vw, 5rem); }
}
@media (min-width: 900px) and (max-width: 1099px) {
  .ind-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: 2.5rem; }
}
.ind-hero--solo .ind-hero-grid { grid-template-columns: minmax(0, 1fr); }

.ind-record {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--surface);
  box-shadow: var(--shadow-2);
}
.ind-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.ind-facts > div { padding: 1.35rem 1.25rem 1.4rem clamp(1.25rem, 2vw, 1.75rem); }
.ind-facts > div:nth-child(even) { border-left: 1px solid var(--line-2); }
.ind-facts > div:nth-child(n + 3) { border-top: 1px solid var(--line-2); }
.ind-facts dt {
  font-size: clamp(1.6rem, 2.3vw, 2.15rem);
  font-weight: 440;
  font-stretch: 108%;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--ink);
  overflow-wrap: anywhere;
}
.ind-facts dt.ind-fact-word { padding-top: 0.2em; font-size: clamp(1.3rem, 1.7vw, 1.55rem); letter-spacing: -0.02em; overflow-wrap: normal; }
.ind-facts .unit { margin-left: 0.04em; font-size: 0.6em; font-weight: 500; letter-spacing: 0; color: var(--ink-3); }
.ind-star { display: inline-block; width: 0.8em; height: 0.8em; vertical-align: 0.02em; color: var(--gold); }
.ind-facts dd { margin: 0.4rem 0 0; font-size: 0.9375rem; line-height: 1.35; color: var(--ink-3); }
.ind-meta {
  display: grid;
  gap: 0.2rem;
  padding: 1.1rem clamp(1.25rem, 2vw, 1.75rem) 1.25rem;
  border-top: 1px solid var(--line);
  background: var(--paper);
  font-size: 0.9375rem;
  line-height: 1.45;
  color: var(--ink-2);
}
.ind-meta span:first-child { font-weight: 580; color: var(--ink); }
.ind-meta { border-radius: 0 0 var(--r-xl) var(--r-xl); }

/* ===== Section intros: the heading beside its paragraph on wide screens ===== */
.ind-head p { max-width: 36em; margin-top: 1.1rem; font-size: 1.0625rem; line-height: 1.6; color: var(--ink-2); }
@media (min-width: 1000px) {
  .ind-head {
    display: grid;
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    column-gap: clamp(2.5rem, 5vw, 4.5rem);
    align-items: end;
  }
  .ind-head p { margin-top: 0; padding-bottom: 0.35rem; }
}

/* ===== Card groups become 1 hairline ledger: 3 columns, no boxes, no numbers ===== */
.ind-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0 clamp(1.5rem, 3vw, 2.75rem);
  margin-top: clamp(2rem, 3.5vw, 2.75rem);
}
.ind-item {
  padding: 1.15rem 0 1.4rem;
  border-top: 1px solid var(--line);
}
.ind-item h3 { font-size: 1.1875rem; font-weight: 580; letter-spacing: -0.015em; line-height: 1.3; color: var(--ink); }
.ind-item p { margin-top: 0.45rem; font-size: 0.9375rem; line-height: 1.55; color: var(--ink-2); }
.ind-item a { color: var(--ink); text-underline-offset: 3px; }
@media (min-width: 640px) {
  .ind-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  .ind-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ind-grid[data-count="2"],
  .ind-grid[data-count="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===== Buyer scope panels and action rows: a white surface, the page's own links as Flow buttons ===== */
.ind-scope {
  max-width: 64rem;
  margin-top: clamp(2.25rem, 4vw, 3rem);
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--surface);
  box-shadow: var(--shadow-1);
  scroll-margin-top: 1rem;
}
.ind-scope h2 { max-width: 22ch; font-size: clamp(1.55rem, 2.3vw, 2.1rem); }
.ind-scope > p { max-width: 46em; margin-top: 0.85rem; font-size: 1rem; line-height: 1.6; color: var(--ink-2); }
.ind-scope > p a { color: var(--ink); text-underline-offset: 3px; text-decoration-color: rgb(15 27 47 / 0.35); }
.ind-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.6rem; }
.ind-actions .button { max-width: 100%; white-space: normal; line-height: 1.25; text-align: center; }
@media (max-width: 430px) {
  .ind-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .ind-actions .button { width: 100%; }
}

/* ===== Timelines (cards whose labels carry information, like "Day 1"): the home page's plan card ===== */
.ind-plan { margin-top: clamp(2rem, 3.5vw, 2.75rem); }
.ind-plan .proc-row { grid-template-columns: 1.35rem minmax(0, 1fr) minmax(0, 10rem); }
@media (max-width: 640px) {
  .ind-plan .proc-row { grid-template-columns: 1.35rem minmax(0, 1fr); }
}

/* ===== Prices: the home page's package cards, 1 column of facts each, the middle card in ink ===== */
.ind-packages { margin-top: clamp(2rem, 3.5vw, 2.75rem); }
.ind-packages .price-package { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-row: auto; row-gap: 0; }
.ind-packages .price-package .pc-desc { order: 2; }
.ind-packages .price-package .pc-price { order: 1; margin-top: 0.9rem; }
.ind-packages .price-package > :not(h3):not(.pc-desc):not(.pc-price) { order: 3; }
@media (min-width: 900px) {
  .ind-packages { grid-template-columns: minmax(0, 1fr) minmax(0, 1.16fr) minmax(0, 1fr); align-items: stretch; }
}
@media (min-width: 641px) and (max-width: 899px) {
  .ind-packages .price-package { grid-template-columns: minmax(0, 1fr); }
}
.ind-more { margin-top: 1.75rem; }
.ind-more .button { max-width: 100%; white-space: normal; line-height: 1.25; text-align: center; }

/* ===== FAQ: each summary holds only its question, so the chevron is CSS ===== */
.ind-faq .faq-item summary::after {
  content: "";
  flex: none;
  width: 1.3rem;
  height: 1.3rem;
  background: var(--ink-3);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 5l4.5 4.5L11.5 5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 5l4.5 4.5L11.5 5' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat;
  transition: transform 0.4s var(--ease-out);
}
.ind-faq .faq-item[open] summary::after { transform: rotate(180deg); }
.ind-faq .faq-a p + p,
.ind-faq .faq-a ul { margin-top: -0.6rem; }
.ind-faq .faq-a ul { padding: 0 0 1.25rem 1.2rem; color: var(--ink-2); }
.ind-faq .faq-a a,
.ind-sources a {
  color: var(--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgb(15 27 47 / 0.35);
}
.ind-faq .faq-a a:hover,
.ind-sources a:hover { text-decoration-color: var(--ink); }

/* ===== Sources and review boundaries: a quiet white surface ===== */
.ind-sources {
  max-width: 62rem;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}
.ind-sources h2 { max-width: none; font-size: clamp(1.45rem, 2.1vw, 1.85rem); }
.ind-sources > p { margin-top: 0.8rem; max-width: 46em; font-size: 0.9375rem; line-height: 1.6; color: var(--ink-2); }
.ind-sources ul {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-top: 1.25rem;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line-2);
}
.ind-sources li { border-bottom: 1px solid var(--line-2); }
.ind-sources li a { display: flex; align-items: center; min-height: 44px; padding: 0.5rem 0; font-size: 0.9375rem; }
@media (min-width: 900px) {
  .ind-sources ul { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2.5rem; }
}

/* ===== Case-study band: this template's rows also carry "Case study" ===== */
.ind-work .sw-intro { max-width: 52rem; }
.ind-work .sw-intro h2 { max-width: 17ch; }
.ind-work .sw-row { grid-template-columns: minmax(0, 1fr) auto auto; }
.sw-cta { font-size: 0.875rem; font-weight: 500; color: var(--stage-muted); white-space: nowrap; transition: color 0.3s ease; }
.sw-row:hover .sw-cta,
.sw-row.is-active .sw-cta { color: var(--gold-2); }
.sw-foot { margin-top: 1.75rem; }
@media (max-width: 899px) {
  .ind-work .sw-row {
    grid-template-columns: min(36vw, 220px) minmax(0, 1fr) auto;
    grid-template-areas: "thumb text arrow" "thumb cta arrow";
    align-items: start;
    row-gap: 0.35rem;
  }
  .ind-work .sw-thumb { grid-area: thumb; }
  .ind-work .sw-text { grid-area: text; }
  .ind-work .sw-cta { grid-area: cta; font-size: 0.8125rem; }
  .ind-work .sw-arrow { grid-area: arrow; align-self: center; }
}
@media (max-width: 400px) {
  .ind-work .sw-row { grid-template-columns: min(34vw, 220px) minmax(0, 1fr); grid-template-areas: "thumb text" "thumb cta"; }
}

/* Rich entries: the case-study link, then its summary and live-site link, all inside 1 hover target */
.sw-item { border-bottom: 1px solid rgb(238 242 247 / 0.12); }
.sw-list > .sw-item { border-bottom: 0; }
.sw-project { padding-bottom: 1rem; }
.sw-project .sw-row { min-height: 0; padding-bottom: 0.35rem; }
.sw-summary { max-width: 34em; margin: 0 0 0.6rem 1.25rem; font-size: 0.9375rem; line-height: 1.55; color: var(--stage-muted); }
.sw-live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  min-height: 44px;
  margin-left: 1.25rem;
  font-size: 0.9375rem;
  font-weight: 560;
  color: #f4f7fb;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: rgb(238 242 247 / 0.35);
}
.sw-live:hover { text-decoration-color: currentColor; }
.sw-live-icon { width: 0.75rem; height: 0.75rem; flex: none; }
.sw-item.is-active .sw-row::before { transform: none; }
.sw-item.is-active .sw-arrow,
.sw-item.is-active .sw-cta { color: var(--gold-2); }
.sw-list.is-tracking .sw-item:not(.is-active) .sw-text strong { color: var(--stage-muted); }
.sw-list.is-tracking .sw-item:not(.is-active) .sw-text span { color: #808c9f; }
@media (max-width: 899px) {
  .sw-summary,
  .sw-live { margin-left: calc(min(36vw, 220px) + 0.9rem); }
}
@media (max-width: 400px) {
  .sw-summary,
  .sw-live { margin-left: 0; }
}

/* The band's other blocks keep their own markup on the dark ground. tmn-home.css sets class-less section
   paragraphs in ink, so the dark band restates its paragraph colours at a higher specificity. */
.ind-work.section p:not([class]) { max-width: 46em; color: var(--stage-muted); }
.ind-work.section .bc-client-quote blockquote p { color: #f4f7fb; }
.ind-band-block { margin-top: clamp(2rem, 4vw, 3rem); color: var(--stage-ink); }
.ind-band-block a:not(.button) { color: #f4f7fb; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgb(238 242 247 / 0.35); }
.ind-band-block a:not(.button):hover { text-decoration-color: currentColor; }
.evidence-note.ind-band-block,
.bc-note.ind-band-block { max-width: 46em; font-size: 0.9375rem; line-height: 1.6; color: var(--stage-muted); }
.bc-client-quote.ind-band-block { max-width: 44rem; margin-inline: 0; padding-left: 1.25rem; border-left: 3px solid var(--gold); }
.bc-client-quote blockquote p { font-size: clamp(1.15rem, 1.6vw, 1.35rem); line-height: 1.45; color: #f4f7fb; }
.bc-client-quote figcaption { margin-top: 0.75rem; font-size: 0.9375rem; line-height: 1.6; color: var(--stage-muted); }
.bc-client-quote figcaption strong { font-weight: 600; color: var(--stage-ink); }
.bc-client-quote figcaption a { display: inline-flex; align-items: center; min-height: 44px; }
.bc-links.ind-band-block { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.brokerage-proof.ind-band-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.75rem;
  margin-top: clamp(2rem, 4vw, 2.75rem);
  padding: clamp(1.25rem, 2.6vw, 2rem);
  border: 1px solid rgb(238 242 247 / 0.12);
  border-radius: var(--r-xl);
  background: rgb(255 255 255 / 0.03);
}
.brokerage-proof figure { margin: 0; }
.brokerage-proof figure img { width: 100%; height: auto; max-height: min(62vh, 560px); object-fit: cover; object-position: top center; border-radius: var(--r-md); box-shadow: 0 0 0 1px rgb(238 242 247 / 0.1), 0 24px 48px -24px rgb(0 0 0 / 0.6); }
.brokerage-proof figcaption { margin-top: 0.7rem; font-size: 0.875rem; color: var(--stage-muted); }
.brokerage-proof h3 { font-size: clamp(1.5rem, 2.2vw, 1.95rem); font-weight: 460; font-stretch: 108%; letter-spacing: -0.025em; color: #f4f7fb; }
.brokerage-proof-copy > p { margin-top: 0.7rem; font-size: 1rem; line-height: 1.6; color: var(--stage-muted); }
.brokerage-proof dl { display: grid; gap: 0; margin: 1.25rem 0 0; border-top: 1px solid rgb(238 242 247 / 0.12); }
.brokerage-proof dl > div { padding: 0.8rem 0; border-bottom: 1px solid rgb(238 242 247 / 0.12); }
.brokerage-proof dt { font-size: 1rem; font-weight: 580; color: #f4f7fb; }
.brokerage-proof dd { margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.55; color: var(--stage-muted); }
.brokerage-proof-links { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
@media (min-width: 1000px) {
  .brokerage-proof.ind-band-block { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
}
.sw-foot { margin-top: clamp(1.75rem, 3vw, 2.25rem); }

/* ===== Legacy buyer-clarity and evidence blocks on paper ===== */
.ind-note { max-width: 46em; margin-top: 1.75rem; font-size: 0.9375rem; line-height: 1.6; color: var(--ink-2); }
.ind-note a,
.ind-legacy a:not(.button) { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgb(15 27 47 / 0.35); }
.ind-legacy > .shell > :is(.bc-proof, .answer-panel, .bc-scope, .bc-delivery, .bc-support, .bc-options) {
  max-width: 68rem;
  padding: clamp(1.5rem, 3vw, 2.4rem);
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--surface);
  box-shadow: var(--shadow-1);
}
.ind-legacy > .shell > * + * { margin-top: clamp(1.75rem, 3vw, 2.5rem); }
.ind-legacy h2 { max-width: 22ch; font-size: clamp(1.7rem, 2.6vw, 2.35rem); }
.ind-legacy h3 { font-size: 1.1875rem; font-weight: 580; letter-spacing: -0.015em; line-height: 1.3; }
.ind-legacy p { max-width: 46em; margin-top: 0.75rem; font-size: 1rem; line-height: 1.6; color: var(--ink-2); }
.ind-legacy ul { margin-top: 0.75rem; padding-left: 1.2rem; color: var(--ink-2); }
.ind-legacy li + li { margin-top: 0.35rem; }
.ind-legacy dl { display: grid; gap: 0; margin: 1rem 0 0; border-top: 1px solid var(--line-2); }
.ind-legacy dl > div { padding: 0.8rem 0; border-bottom: 1px solid var(--line-2); }
.ind-legacy dt { font-weight: 580; color: var(--ink); }
.ind-legacy dd { margin: 0.25rem 0 0; font-size: 0.9375rem; line-height: 1.55; color: var(--ink-2); }
.ind-legacy figure { margin: 0; }
.ind-legacy figure img { width: 100%; height: auto; border-radius: var(--r-md); box-shadow: var(--shadow-1); }
.ind-legacy figcaption { margin-top: 0.6rem; font-size: 0.875rem; color: var(--ink-3); }
@media (min-width: 1000px) {
  .ind-legacy .bc-proof:has(figure) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); align-items: start; }
}

/* Definition lists written as bare dt and dd pairs, and link rows, inside the legacy blocks */
.ind-legacy dl:not(:has(> div)) { border-top: 0; }
.ind-legacy dl:not(:has(> div)) > dt { padding-top: 0.85rem; border-top: 1px solid var(--line-2); }
.ind-legacy dl:not(:has(> div)) > dd { padding-bottom: 0.85rem; }
.ind-legacy .bc-links { display: flex; flex-wrap: wrap; gap: 0 1.25rem; margin-top: 1rem; }
.ind-legacy .bc-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 0.9375rem; font-weight: 560; }
.ind-legacy .bc-proof figcaption a { display: inline-flex; align-items: center; min-height: 44px; }

/* The "On this page" jump row under the hero actions */
.ind-jump { display: flex; flex-wrap: wrap; gap: 0 1.4rem; margin-top: 1.25rem; }
.ind-jump a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ink-2);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  text-decoration-color: rgb(15 27 47 / 0.3);
}
.ind-jump a:hover { color: var(--ink); text-decoration-color: var(--ink); }

/* Link cards in the ledger read as links */
.ind-item--link { display: block; color: inherit; text-decoration: none; transition: border-color 0.25s ease; }
.ind-item--link h3 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; text-decoration-color: rgb(15 27 47 / 0.25); transition: text-decoration-color 0.2s ease; }
.ind-item--link:hover { border-top-color: var(--ink); }
.ind-item--link:hover h3 { text-decoration-color: var(--ink); }

/* ===== Close: the ask beside its 2 actions, on paper with Flow's gold radial ===== */
.ind-close { background: radial-gradient(50% 70% at 85% 30%, rgb(201 164 76 / 0.09), transparent 70%), var(--paper); }
.ind-close-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
.ind-close h2 { max-width: 15ch; }
.ind-close-body p { max-width: 30em; font-size: 1.0625rem; line-height: 1.6; color: var(--ink-2); }
.ind-close-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1.5rem; }
@media (min-width: 900px) {
  .ind-close-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(2.5rem, 6vw, 5.5rem); align-items: center; }
}
@media (max-width: 430px) {
  .ind-close-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .ind-close-actions .button { width: 100%; min-height: 52px; }
}

/* ===== Footer: brand, the 3 link groups, then Services, Studio, Legal and Contact stacked ===== */
.ind-foot-stack { display: grid; gap: 1.6rem; align-content: start; }
.ind-foot-group .foot-links { margin-top: 0.35rem; }
@media (min-width: 1180px) {
  .ind-foot-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 2fr) minmax(0, 0.9fr) minmax(0, 1.15fr) minmax(0, 0.8fr); }
  /* A mouse needs less than a thumb: desktop rows step to 36px, phones keep 44px */
  .ind-foot .foot-links a { min-height: 36px; padding-block: 4px; }
}
@media (max-width: 820px) {
  .ind-foot-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1.25rem; }
  .ind-foot .ind-foot-stack .foot-links { grid-template-columns: minmax(0, 1fr); }
  .ind-foot-stack .foot-links a { overflow-wrap: anywhere; }
}
/* Phones: Legal and Contact run as full-width rows with their links side by side, so the email never breaks */
@media (max-width: 560px) {
  .ind-foot-stack .ind-foot-group:has(a[href^="mailto:"]),
  .ind-foot-stack .ind-foot-group:has(a[href="/privacy"]):not(:has(a[href="/"])) { grid-column: 1 / -1; }
  .ind-foot .ind-foot-stack .ind-foot-group:has(a[href^="mailto:"]) .foot-links,
  .ind-foot .ind-foot-stack .ind-foot-group:has(a[href="/privacy"]):not(:has(a[href="/"])) .foot-links { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
  .ind-foot-stack .ind-foot-group:has(a[href^="mailto:"]) .foot-links a { overflow-wrap: normal; }
  .ind-foot .ind-foot-stack .foot-links a { min-width: 44px; }
}

/* A live proof capture kept inside a section: framed, cropped to the screen's top, captioned */
.ind-block .proof-figure { margin: clamp(2rem, 4vw, 3rem) 0 0; max-width: 960px; }
.ind-block .proof-figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; object-position: top center; border-radius: var(--r-lg); background: var(--paper-2); box-shadow: 0 0 0 1px var(--line), var(--shadow-1); }
.ind-block .proof-figure figcaption { margin-top: 0.8rem; font-size: 0.9375rem; line-height: 1.55; color: var(--ink-3); }

/* ===== Narrow phones: long action labels wrap inside their button instead of overflowing ===== */
@media (max-width: 400px) {
  .ind-hero .hero-ctas .button,
  .ind-close-actions .button,
  .brokerage-proof-links .button,
  .bc-links .button,
  .sw-foot .button { max-width: 100%; white-space: normal; line-height: 1.25; text-align: center; }
  .brokerage-proof-links .button,
  .bc-links .button { width: 100%; }
}

/* ===== Load choreography: the home page's entrance, then the record card settles ===== */
@media (prefers-reduced-motion: no-preference) {
  .ind-record { animation: stage-in 1.2s var(--ease-out) 0.12s both; }
}

/* ===== Desktop density, the home page's step ===== */
@media (min-width: 900px) {
  .ind-sec .ind-head h2,
  .ind-faq .faq-head h2,
  .ind-work .sw-intro h2,
  .ind-close h2 { font-size: clamp(2.15rem, 3.6vw, 3.35rem); }
  .ind-faq .faq-head p { font-size: 1.0625rem; }
}

/* ===== Evidence tables (custom-studio-build): a white surface with hairlines. Phones read each row as a stack
   labelled from the table's own data-label attributes (generated content, so the cell text stays as written). ===== */
.ind-legacy .evidence-table-wrap { overflow: hidden; border-radius: var(--r-lg); background: var(--surface); box-shadow: 0 0 0 1px var(--line-2), var(--shadow-1); }
.ind-legacy .evidence-table { width: 100%; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.55; }
.ind-legacy .evidence-table caption { caption-side: top; padding: 1rem 1.25rem 0.35rem; text-align: left; font-size: 0.875rem; color: var(--ink-3); }
.ind-legacy .evidence-table th { padding: 0.85rem 1.25rem; border-bottom: 1px solid var(--line); text-align: left; font-size: 0.875rem; font-weight: 600; color: var(--ink); }
.ind-legacy .evidence-table td { padding: 1rem 1.25rem; border-top: 1px solid var(--line-2); vertical-align: top; color: var(--ink-2); }
.ind-legacy .evidence-table tbody tr:first-child td { border-top: 0; }
.ind-legacy .evidence-table td:first-child { font-weight: 560; color: var(--ink); }
@media (min-width: 761px) {
  .phase-map th:nth-child(1) { width: 20%; }
  .phase-map th:nth-child(2) { width: 58%; }
  .phase-map th:nth-child(3) { width: 22%; }
  .fit-map th:nth-child(1) { width: 34%; }
  .fit-map th:nth-child(2) { width: 14%; }
  .fit-map th:nth-child(3) { width: 52%; }
  .scope-map th:nth-child(1) { width: 28%; }
  .scope-map th:nth-child(2) { width: 72%; }
  .founder-map th:nth-child(1) { width: 22%; }
  .founder-map th:nth-child(2) { width: 52%; }
  .founder-map th:nth-child(3) { width: 26%; }
  .boundary-map th:nth-child(1) { width: 17%; }
  .boundary-map th:nth-child(2) { width: 11%; }
  .boundary-map th:nth-child(3) { width: 20%; }
  .boundary-map th:nth-child(4) { width: 19%; }
  .boundary-map th:nth-child(5) { width: 33%; }
  .compare-map th:nth-child(1) { width: 15%; }
  .compare-map th:nth-child(2) { width: 27%; }
  .compare-map th:nth-child(3) { width: 29%; }
  .compare-map th:nth-child(4) { width: 29%; }
  .chain-map th:nth-child(1) { width: 20%; }
  .chain-map th:nth-child(2) { width: 50%; }
  .chain-map th:nth-child(3) { width: 30%; }
}
.ind-legacy .evidence-table code { font-size: 0.82em; padding: 0.05em 0.3em; border-radius: 3px; background: rgb(0 0 0 / 0.05); }
.ind-faq-sources { display: flex; flex-wrap: wrap; gap: 0 1.25rem; padding-top: 1.1rem; font-size: 0.9375rem; color: var(--ink-3); }
.ind-faq-sources a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgb(15 27 47 / 0.35); }
@media (max-width: 760px) {
  .ind-legacy .evidence-table thead { display: none; }
  .ind-legacy .evidence-table,
  .ind-legacy .evidence-table caption,
  .ind-legacy .evidence-table tbody,
  .ind-legacy .evidence-table tr,
  .ind-legacy .evidence-table td { display: block; }
  .ind-legacy .evidence-table caption { padding: 0.95rem 1.1rem 0.6rem; border-bottom: 1px solid var(--line-2); }
  .ind-legacy .evidence-table tr { padding: 0.95rem 1.1rem; border-top: 1px solid var(--line-2); }
  .ind-legacy .evidence-table tbody tr:first-child { border-top: 0; }
  .ind-legacy .evidence-table td { padding: 0.15rem 0; border-top: 0; }
  .ind-legacy .evidence-table td[data-label]::before { content: attr(data-label); display: block; margin-top: 0.55rem; font-size: 0.8125rem; font-weight: 600; color: var(--ink-3); }
  .ind-legacy .evidence-table td:first-child::before { margin-top: 0; }
  .ind-legacy .evidence-table td a { display: inline-flex; align-items: center; min-height: 44px; }
}

/* A card's name line when the label says who does the work (Trevor, Taylor, Nobody else) */
.ind-who { margin-bottom: 0.35rem; font-size: 0.9375rem; font-weight: 600; color: var(--ink); }
.ind-who:not([data-case]) { text-transform: lowercase; }
.ind-who:not([data-case])::first-letter { text-transform: uppercase; }

/* Light variant: the hero's "what this page covers" card, now its own quiet band under the hero */
.ind-covers-sec { padding-block: clamp(3rem, 6vw, 4.5rem); }
.ind-covers h2 { max-width: 24ch; font-size: clamp(1.6rem, 2.6vw, 2.25rem); }
.ind-covers ul { display: grid; gap: 0 clamp(2rem, 4vw, 3.5rem); margin-top: 1.5rem; padding: 0; list-style: none; }
.ind-covers li { padding: 1.1rem 0 1.2rem; border-top: 1px solid var(--line); font-size: 0.9875rem; line-height: 1.6; color: var(--ink-2); }
.ind-covers li strong { display: block; margin-bottom: 0.3rem; font-size: 1.0625rem; font-weight: 600; color: var(--ink); }
@media (min-width: 800px) {
  .ind-covers ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* A work band footer with 2 links: side by side, wrapping on phones */
.sw-foot:has(.button + .button) { display: flex; flex-wrap: wrap; gap: 0.75rem; }


/* A row of related-page links after a card group */
.ind-link-row { display: flex; flex-wrap: wrap; gap: 0 1.75rem; margin-top: clamp(1.5rem, 3vw, 2.25rem); }
.ind-link-row a { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; font-weight: 560; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: rgb(15 27 47 / 0.35); }
.ind-link-row a span { font-weight: 400; color: var(--ink-3); text-decoration: none; }
.ind-who .keep-case { text-transform: none; }
