/* The services are a calm, readable bridge between the character and the work. */
.hero-bottom > p { max-width: 43ch; }
.offering-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(72px, 10vw, 160px);
  padding-block: clamp(104px, 9vw, 136px) 0;
}
.offering-intro h2 {
  margin-top: 26px;
  font-size: clamp(44px, 4.6vw, 66px);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: 1.08;
}
.offering-intro h2 em { color: var(--blue); }
.offering-intro > p {
  max-width: 34ch;
  margin-top: 30px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.75;
  text-wrap: pretty;
}
.offering-contact {
  display: inline-flex;
  align-items: center;
  gap: 24px;
  min-height: 44px;
  margin-top: 24px;
  color: var(--blue);
  font-size: 14px;
  border-bottom: 1px solid var(--brand-line);
}
.offering-contact .icon { width: 17px; height: 17px; transition: transform .45s var(--ease); }
.offering-contact:is(:hover,:focus-visible) .icon { transform: translate(2px,-2px); }
.offering-list { padding-top: 3px; }
.offering { padding-block: 36px; border-top: 1px solid var(--line); }
.offering:first-child { padding-top: 0; border-top: 0; }
.offering:last-child { padding-bottom: 0; }
.offering h3 { font-size: clamp(27px, 2.2vw, 32px); line-height: 1.15; letter-spacing: -.04em; font-weight: 500; }
.offering p { margin-top: 18px; max-width: 45ch; color: var(--muted); font-size: 16px; line-height: 1.75; text-wrap: pretty; }
.about-process-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 25px; font-size: 14px; color: var(--blue); border-bottom: 1px solid var(--brand-line); }
.process-heading__focus { white-space: normal; text-wrap: balance; }
.contact-note .contact-next { max-width: 30ch; margin: 0 0 30px; color: var(--muted); font-size: 15px; line-height: 1.75; font-weight: 400; letter-spacing: 0; }

@media (min-width: 761px) and (max-width: 900px) {
  .site-header .desktop-nav { gap: 24px; font-size: 13px; }
  .header-contact { gap: 12px; padding-left: 16px; font-size: 12px; }
}
@media (max-width: 1000px) {
  .offering-section { gap: 56px; }
  .offering-intro h2 { font-size: 48px; }
}
@media (max-width: 760px) {
  .offering-section { grid-template-columns: 1fr; gap: 60px; padding-block: 82px 0; }
  .offering-intro h2 { font-size: clamp(42px, 11vw, 64px); margin-top: 20px; }
  .offering-intro > p { font-size: 16px; margin-top: 26px; max-width: 36ch; }
  .offering-contact { margin-top: 20px; }
  .offering { padding-block: 32px; }
  .offering h3 { font-size: 28px; }
  .offering p { font-size: 15px; margin-top: 18px; }
  .process-heading h2 { font-size: clamp(36px, 9.2vw, 64px); }
  .contact-note .contact-next { max-width: 33ch; font-size: 14px; margin-bottom: 28px; }
}
@media (max-width: 760px) and (max-height: 600px) {
  .menu-content { padding-block: 4px 8px; }
  .menu-links a { font-size: 38px; padding-block: 7px; }
  .menu-signature { padding-top: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .offering-contact .icon { transition: none; transform: none!important; }
}

.case-footer-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 32px; order: 1; }
.case-footer-actions .case-back { order: 0; }
.case-contact-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--brand-line); }
.case-contact-link:hover { text-decoration-color: currentColor; }
