:root {
  --ink: #24151a;
  --muted: #69575c;
  --surface: #f4eee5;
  --panel: #fffaf3;
  --line: #d8c9bb;
  --accent: #8f1738;
  --accent-2: #d86d4d;
  --dark: #251218;
  --on-dark: #fff6ea;
  --radius: 10px;
  --radius-lg: 24px;
  --serif: Iowan Old Style, Baskerville, Georgia, serif;
}

.site-header { background: rgba(255,250,243,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.site-header__inner { max-width: 1180px; }
.brand strong { font-size: 1.48rem; }
.button { border-radius: 4px; }
.home-hero { background: var(--panel); }
.home-hero__inner { grid-template-columns: .9fr 1.1fr; }
.home-hero__copy { padding-left: 28px; border-left: 4px solid var(--accent); }
.home-hero__media { border-radius: 0 0 70px 0; }
.home-hero__note { right: auto; left: 24px; max-width: min(330px, calc(100% - 48px)); border-left: 5px solid var(--accent-2); border-radius: 0; }
.intro-band { background: var(--accent); }
.service-grid { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
.service-card { grid-column: auto; border-radius: 0; border-width: 0 0 1px; background: transparent; }
.service-card:first-child { grid-column: auto; background: var(--accent); color: #fff; border: 0; }
.service-card:first-child p, .service-card:first-child a { color: #fff3e8; }
.service-card:nth-child(4) { grid-column: auto; background: var(--panel); border: 1px solid var(--line); }
.feature-story__media img { border-radius: 70px 0 0 0; }
.work-card { border-radius: 2px; }
.work-card:nth-child(2) { transform: translateY(36px); }
.process-grid { border-color: rgba(255,255,255,.55); }
.process-grid article { border-color: rgba(255,255,255,.35); }
.page-hero { border-bottom: 1px solid var(--line); }
.page-hero__media img { border-radius: 0 0 70px 0; }
.page-hero__media figcaption { border-radius: 0; border-left: 4px solid var(--accent-2); }
.cta-panel { border-radius: 0 70px 0 0; background: linear-gradient(125deg, #5e1028, #271217 72%); }
.site-footer { border-top: 8px solid var(--accent); }
.footer-main { align-items: start; }
.footer-disclaimer { border-radius: 0; border-left: 4px solid var(--accent-2); }

@media (max-width: 1040px) {
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card:first-child, .service-card:nth-child(4) { grid-column: auto; }
}

@media (max-width: 820px) {
  .home-hero__inner, .page-hero__grid { grid-template-columns: 1fr; }
  .home-hero__copy { padding-left: 20px; }
  .home-hero__note { left: 16px; }
  .work-card:nth-child(2) { transform: none; }
}

@media (max-width: 560px) {
  .service-grid { grid-template-columns: 1fr; }
  .service-card:first-child, .service-card:nth-child(4) { grid-column: auto; }
}
