/* Hallmark · macrostructure: Photographic · H6: wide image, no overlay or frame.
   Audience: developers and property marketing teams. Primary action: discuss a project.
   Existing brand, InterLocal, navigation, contact modal and footer retained.
   T4 proof strip: real source metrics, sans-serif numerals, methodology disclosed.
   Variance 6 / motion 1 / density 2. No new animation or font download.
   Pre-emit critique: P4 H5 E4 S5 R5 V5. */
.tc-architecture-hero,
.tc-cover-results,
.tc-cover-context {
  --cover-space-xs: .5rem;
  --cover-space-sm: 1rem;
  --cover-space-md: 1.5rem;
  --cover-space-lg: 2rem;
  --cover-space-xl: 3rem;
  --cover-space-2xl: 4rem;
  font-family: var(--font-sans), sans-serif;
}
.tc-architecture-hero { margin-top: var(--cover-space-sm); }
.tc-cover-heading {
  display: grid;
  gap: var(--cover-space-md);
  align-items: end;
  padding-block: var(--cover-space-xs) var(--cover-space-lg);
}
.tc-page .tc-cover-identity h1 {
  font-family: var(--font-sans), sans-serif;
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.05;
  text-transform: none;
}
.tc-cover-identity > p {
  margin-top: var(--cover-space-xs);
  font-size: .875rem;
  line-height: 1.5;
  letter-spacing: -.02em;
  color: var(--tc-quiet);
}
.tc-cover-intro {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.25;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.tc-cover-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--cover-space-lg);
  min-height: 3.5rem;
  padding: var(--cover-space-sm) var(--cover-space-md);
  width: fit-content;
  border: 1px solid var(--tc-ink);
  background: var(--tc-ink);
  color: var(--tc-paper);
  font: 400 1rem/1.4 var(--font-sans), sans-serif;
  letter-spacing: -.02em;
  white-space: nowrap;
}
.tc-cover-cta > span:last-child { font-size: 1.5rem; line-height: 1; }
/* Keep this opening CTA calm; the shared request-button effect remains elsewhere. */
.tc-cover-cta > .request-glitch__noise { display: none; }
.tc-cover-cta > .request-glitch__signal { animation: none; }
.tc-cover-photo {
  overflow: clip;
  background: var(--tc-scene-bg);
  color: var(--tc-ink);
}
.tc-cover-photo img {
  display: block;
  width: 100%;
  height: clamp(19rem, 70vw, 29rem);
  object-fit: cover;
  object-position: 42% top;
}
.tc-cover-results { padding-top: var(--cover-space-md); }
.tc-cover-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.tc-cover-numbers { display: grid; gap: var(--cover-space-md); }
.tc-cover-number {
  display: flex;
  flex-direction: column;
  gap: var(--cover-space-xs);
  padding-bottom: var(--cover-space-md);
  border-bottom: 1px solid var(--tc-rule);
}
.tc-cover-number dd {
  order: -1;
  font: 400 clamp(2.5rem, 4vw, 3.5rem)/1 var(--font-sans), sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.04em;
  white-space: nowrap;
}
.tc-cover-number dt { font: 400 1rem/1.4 var(--font-sans), sans-serif; letter-spacing: -.025em; }
.tc-cover-number dt > span {
  display: block;
  margin-top: .25rem;
  color: var(--tc-quiet);
  font-size: .875rem;
  letter-spacing: -.02em;
}
.tc-cover-footnotes { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 0 var(--cover-space-lg); }
.tc-cover-measure { align-self: center; color: var(--tc-quiet); font-size: .875rem; line-height: 1.5; letter-spacing: -.02em; }
.tc-cover-method { margin-right: auto; }
.tc-cover-method summary,
.tc-cover-link {
  display: flex;
  align-items: center;
  gap: var(--cover-space-sm);
  min-height: 2.75rem;
  width: fit-content;
  font: 400 .875rem/1.5 var(--font-sans), sans-serif;
  letter-spacing: -.02em;
  text-decoration: underline;
  text-underline-offset: .25em;
  white-space: nowrap;
}
.tc-cover-method summary { cursor: pointer; list-style: none; }
.tc-cover-method summary::-webkit-details-marker { display: none; }
.tc-cover-method summary::after { content: '+'; font-size: 1.25rem; text-decoration: none; }
.tc-cover-method[open] summary::after { content: '−'; }
.tc-cover-method > div {
  display: grid;
  gap: var(--cover-space-xs);
  max-width: 43rem;
  padding-block: var(--cover-space-xs) var(--cover-space-sm);
  color: var(--tc-quiet);
  font-size: .875rem;
  line-height: 1.5;
}
.tc-cover-context {
  display: grid;
  gap: var(--cover-space-md);
  align-items: start;
  padding-block: var(--cover-space-xl) var(--cover-space-sm);
}
.tc-cover-context > p { max-width: 70rem; font-size: clamp(1.25rem, 2.1vw, 1.75rem); line-height: 1.35; letter-spacing: -.04em; text-wrap: pretty; }
@media (min-width: 40rem) {
  .tc-cover-heading { grid-template-columns: 1fr auto; gap: var(--cover-space-md) var(--cover-space-xl); }
  .tc-cover-identity { grid-column: 1; }
  .tc-cover-intro { grid-column: 1; }
  .tc-cover-cta { grid-column: 2; grid-row: 1/3; align-self: end; }
  .tc-cover-photo img { height: clamp(23rem, 48svh, 31rem); }
  .tc-cover-numbers { grid-template-columns: 1.15fr 1.1fr 1fr; gap: var(--cover-space-lg); }
  .tc-cover-number { padding-bottom: var(--cover-space-sm); }
  .tc-cover-context { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 64rem) {
  .tc-cover-heading { grid-template-columns: .9fr 1.1fr auto; padding-block: var(--cover-space-sm) var(--cover-space-lg); }
  .tc-cover-intro { grid-column: 2; }
  .tc-cover-cta { grid-column: 3; grid-row: 1; }
  .tc-cover-results { padding-top: var(--cover-space-lg); }
  .tc-cover-numbers { gap: var(--cover-space-xl); }
}
@media (hover: hover) and (pointer: fine) {
  .tc-cover-cta:hover { background: var(--tc-paper); color: var(--tc-ink); }
  .tc-cover-method summary:hover,
  .tc-cover-link:hover { text-decoration-thickness: 2px; }
}
