/* Owner-first copy update. Shared site colors, type and controls stay in styles.css. */
.hp-hero-grid { align-items: center; }
.hp-hero .hp-hero-visual { align-self: center; }
.hp-hero h1 { font-size: clamp(2.9rem,5.5vw,4.6rem); }
.copy-case { scroll-margin-top: 110px; }
.copy-case-grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: clamp(2rem,5vw,4rem); align-items: start; }
.copy-case-copy h2, .copy-case-copy h3 { font-size: clamp(2rem,4.2vw,3.2rem); line-height: 1.02; margin: .65rem 0 1.25rem; }
.copy-case-copy p { color: var(--gray-700); max-width: 60ch; }
.copy-case-copy a, .copy-text-link { color: var(--red-dark); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; display: inline-flex; align-items: center; min-height: 44px; }
.copy-case-images { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; max-width: 470px; margin-left: auto; }
.copy-case-images figure { margin: 0; min-width: 0; }
.copy-case-images img { display: block; width: 100%; height: auto; border: 1px solid var(--gray-300); border-radius: 8px; background: #fff; }
.copy-case-images figcaption { font-size: .8125rem; line-height: 1.5; color: var(--gray-700); margin-top: .75rem; }
.copy-case-images figcaption b { display: block; color: var(--black); }
.copy-case-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; padding-top: 1.5rem; margin: 2.5rem 0 1rem; border-top: 1px solid var(--gray-300); }
.copy-case-facts dt { font-family: var(--font-display); font-size: 1.4rem; font-weight: 800; text-transform: uppercase; color: var(--black); }
.copy-case-facts dd { margin: .4rem 0 0; color: var(--gray-700); font-size: .9375rem; line-height: 1.6; }
.copy-source { color: var(--gray-600); font-size: .8125rem; line-height: 1.6; }
.copy-situations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2rem 3rem; }
.copy-situations article { padding-left: 1.25rem; border-left: 3px solid var(--red); }
.copy-situations h3 { font-size: 1.6rem; line-height: 1.08; margin: 0 0 .65rem; }
.copy-situations p { color: var(--gray-700); margin: 0; max-width: 55ch; }
.copy-review { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(2rem,5vw,4rem); }
.copy-review .hp-hd { margin-bottom: 0; }
.copy-checks { list-style: none; padding: 0; margin: 0; counter-reset: checks; }
.copy-checks li { counter-increment: checks; position: relative; padding: 1.15rem 0 1.15rem 2.75rem; border-top: 1px solid var(--gray-300); color: var(--gray-800); line-height: 1.6; }
.copy-checks li::before { content: counter(checks,decimal-leading-zero); position: absolute; left: 0; top: 1.15rem; color: var(--red-dark); font-weight: 800; font-family: var(--font-display); font-size: 1.25rem; }
.copy-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.copy-choice { padding: clamp(1.5rem,3vw,2.5rem); background: var(--gray-50); border: 1px solid var(--gray-300); display: flex; flex-direction: column; align-items: start; }
.copy-choice:first-child { background: var(--black); color: var(--gray-200); border-color: var(--black); }
.copy-choice h3 { margin: .65rem 0 1rem; font-size: 2rem; line-height: 1.04; }
.copy-choice:first-child h3 { color: white; }
.copy-choice:first-child .eyebrow { color: var(--red-on-dark); }
.copy-choice p { flex: 1; margin: 0 0 1.5rem; }
.copy-choice .copy-choice-note { flex: 0; margin-top: 1rem; margin-bottom: 0; font-size: .875rem; color: var(--gray-700); }
.copy-choice:first-child .copy-choice-note { color: var(--gray-300); }
.copy-work-links { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 1.5rem 0 0; }
.copy-work-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--red-dark); font-weight: 700; text-decoration: underline; text-underline-offset: .2em; }
.copy-faq .faq-a-inner { max-width: 70ch; }
.copy-about figure { max-width: 370px; }
.copy-portfolio-intro { max-width: 63ch; }
@media (max-width: 900px) {
  .copy-case-grid, .copy-review { grid-template-columns: 1fr; }
  .copy-case-images { margin-left: 0; width: 100%; max-width: 470px; }
}
@media (max-width: 600px) {
  .copy-situations, .copy-choices, .copy-case-facts { grid-template-columns: 1fr; }
  .copy-case-images { gap: .75rem; }
  .copy-case-facts { gap: 1rem; margin-top: 2rem; }
  .copy-case-facts > div { padding-bottom: .75rem; border-bottom: 1px solid var(--gray-200); }
  .hp-hero .hp-hero-copy { padding-bottom: 1.5rem; }
  .hp-hero .hp-hero-visual { max-width: 450px; }
  .hp-hero .hp-trust { align-items: start; line-height: 1.6; }
  .hp-hero .hp-trust svg { margin-top: .3rem; }
}
