/* Services and project stories share the portfolio's type, paper, and rules. */
.site-header nav a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.content-hero {
  border-top: 1px solid var(--line);
  padding-block: clamp(42px, 6vw, 88px) 52px;
}
.content-hero h1 {
  max-width: 1050px;
  font-size: clamp(46px, 7.3vw, 106px);
  line-height: 1.02;
  letter-spacing: -0.055em;
}
.content-hero .eyebrow {
  color: var(--red);
}
.content-lede {
  max-width: 660px;
  margin-top: 28px;
  font-size: clamp(17px, 1.7vw, 21px);
  color: var(--muted);
}
.content-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
  margin-top: 24px;
}
.content-section {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 7vw, 110px);
  padding-block: clamp(42px, 6vw, 80px);
  border-top: 1px solid var(--line);
}
.content-section h2,
.content-contact h2 {
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.1;
  letter-spacing: -0.04em;
}
.content-section h3 {
  font-size: 24px;
}
.content-copy {
  max-width: 680px;
}
.content-copy p + p,
.content-copy p + ul {
  margin-top: 18px;
}
.content-copy p {
  color: var(--muted);
}
.content-copy a:not(.text-link),
.case-caption a {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.content-copy a:hover,
.case-caption a:hover {
  color: var(--red);
}
.content-copy ul {
  padding-left: 20px;
  color: var(--muted);
}
.content-copy li + li {
  margin-top: 10px;
}
.content-copy .text-link {
  margin-top: 16px;
}
.case-image {
  padding: clamp(14px, 3vw, 40px);
  background: #e3dfd5;
}
.case-image img {
  width: 100%;
  max-width: 1027px;
  margin-inline: auto;
}
.case-caption {
  padding-block: 16px 32px;
  color: var(--muted);
  font-size: 13px;
}
.case-facts {
  display: grid;
  grid-template-columns: 1fr 1fr 1.4fr;
  gap: 24px;
  margin: 0;
  padding-block: 28px 42px;
}
.case-facts dt {
  color: var(--muted);
  margin-bottom: 8px;
}
.case-facts dd {
  margin: 0;
  font-size: 14px;
}
.content-contact {
  border-top: 1px solid var(--line);
  padding-block: 52px 72px;
}
.content-contact p {
  max-width: 580px;
  margin-top: 20px;
  color: var(--muted);
}
.content-contact .text-link {
  margin-top: 18px;
}
@media (max-width: 700px) {
  .content-section {
    grid-template-columns: 1fr;
  }
  .content-hero {
    padding-bottom: 40px;
  }
  .case-facts {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

/* ── Homepage cohesion: soft rounded panels, pill actions, liquid-metal CTAs ── */
.cohesion .content-hero { border-top: 0; padding-block: 56px 72px; }
.cohesion .content-hero h1 { max-width: none; font-weight: 550; letter-spacing: -.055em; line-height: 1; font-size: clamp(46px, 6.2vw, 92px); }
.cohesion .content-hero h1 em { font-size: 1.1em; letter-spacing: -.035em; }
.cohesion .content-hero .eyebrow, .cohesion .content-section .eyebrow, .cohesion .content-contact .eyebrow {
  font-family: var(--sans); font-size: 12px; letter-spacing: 0; text-transform: none; color: var(--ink); margin-bottom: 18px;
}
.cohesion .content-lede { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.6; }
.cohesion .content-actions { align-items: center; gap: 14px 28px; margin-top: 30px; }
.cohesion .content-section {
  margin-top: 16px; padding: clamp(28px, 5vw, 64px); border: 0; border-radius: 40px; background: #f8f8fa;
}
.cohesion .content-section h2, .cohesion .content-contact h2 { font-weight: 550; letter-spacing: -.055em; line-height: 1.04; }
.cohesion .content-section h2 em, .cohesion .content-contact h2 em { font-size: 1.09em; }
.cohesion .content-copy a:not(.text-link):not(.liquid-button):hover, .cohesion .case-caption a:hover { color: var(--red); }
.cohesion .content-copy .liquid-button { margin-top: 16px; }
.cohesion .case-image { border-radius: 32px; background: #fff0e1; }
.cohesion .case-image img { border-radius: 12px; box-shadow: 0 16px 32px -12px #3b326030; }
.cohesion .case-facts { margin-top: 12px; padding-inline: 8px; }
.cohesion .content-contact {
  margin: 16px 0 72px; padding: clamp(32px, 6vw, 80px); border-top: 0; border-radius: 48px; background: #f1edff;
}
.cohesion .content-contact p { color: #5b5669; }
@media (max-width: 700px) {
  .cohesion .content-section { border-radius: 28px; }
  .cohesion .content-contact { border-radius: 32px; }
}
.cohesion [id$="-title"] { scroll-margin-top: 110px; }
/* Services reuses the homepage experience rows; the FAQ follows the same hairline rhythm. */
.cohesion .experience-meta > p.mono:last-child { color: var(--muted); }
.cohesion .experience-copy > p + p { margin-top: 14px; }
.cohesion .experience-copy .text-link { margin-top: 22px; }
.faq-row { display: grid; grid-template-columns: 1fr 1.6fr; gap: 50px; padding-block: 32px; border-top: 1px solid var(--line); }
.faq-row:last-child { border-bottom: 1px solid var(--line); }
.faq-row h3 { font-size: clamp(21px, 2vw, 26px); line-height: 1.25; letter-spacing: -.03em; }
.faq-row p { max-width: 640px; font-size: 15px; line-height: 1.8; color: var(--muted); }
.faq-row a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.faq-row a:hover { color: var(--red); }
@media (max-width: 700px) {
  .faq-row { grid-template-columns: 1fr; gap: 10px; padding-block: 24px; }
}
