.header-menu-button {
  position: absolute;
  top: 18px;
  right: 18px;
  width: auto !important;
  min-height: 34px;
  padding: 0 13px;
  justify-self: auto;
  box-shadow: none;
}
.slogan-strip {
  padding-left: 112px;
  padding-right: 112px;
  gap: 5px;
}

.mobile-work-card {
  display: none;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--ivory-deep);
  gap: 10px;
}
.mobile-work-card strong,
.service-number,
.service-card strong,
.workflow-card span,
.accordion-card summary,
.retainer-drawer summary {
  text-transform: uppercase;
  letter-spacing: .15em;
  font-family: var(--font-label);
  font-size: .68rem;
  font-weight: 600;
}
.mobile-work-card span {
  color: var(--ink-soft);
  line-height: 1.55;
  font-size: 1rem;
}

.service-section,
.workflow-section { margin-top: 10px; }
.service-head,
.workflow-head { align-items: end; }
.service-grid,
.workflow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.service-card,
.workflow-card {
  min-width: 0;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--ivory) 68%, white);
}
.workflow-card {
  padding: 18px;
  display: grid;
  gap: 10px;
}
.service-card {
  display: block;
}
.service-card-wide { grid-column: 1 / -1; }
.service-card summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 18px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 28px;
  gap: 14px;
  align-items: center;
}
.service-card summary::-webkit-details-marker { display: none; }
.service-card summary::after {
  content: "+";
  grid-column: 3;
  justify-self: end;
  color: var(--brass-text);
  font-family: var(--font-label);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
}
.service-card[open] summary::after { content: "–"; }
.service-number,
.workflow-card span { color: var(--brass-text); }
.service-label {
  min-width: 0;
  display: grid;
  gap: 8px;
}
.service-title,
.workflow-card h2 {
  margin: 0;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.35rem, 2.3vw, 1.85rem);
  letter-spacing: -.045em;
  line-height: 1;
}
.service-card strong {
  color: var(--ink);
}
.service-details {
  border-top: 1px solid var(--line);
  padding: 0 18px 18px 74px;
  display: grid;
  gap: 10px;
}
.service-details p,
.workflow-card p,
.admin-format-body p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.55;
}
.service-details ul {
  margin: 0;
  padding-left: 18px;
  color: var(--ink-soft);
  line-height: 1.55;
}
.service-details li + li { margin-top: 4px; }

.accordion-card,
.retainer-drawer {
  margin-top: 22px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--ivory) 68%, white);
}
.accordion-card summary,
.retainer-drawer summary {
  cursor: pointer;
  list-style: none;
  padding: 16px;
}
.accordion-card summary::-webkit-details-marker,
.retainer-drawer summary::-webkit-details-marker { display: none; }
.accordion-card summary::after,
.retainer-drawer summary::after {
  content: "+";
  float: right;
  color: var(--brass-text);
}
.accordion-card[open] summary::after,
.retainer-drawer[open] summary::after { content: "–"; }
.accordion-card ul { margin: 0; padding: 0 16px 16px 34px; }
.retainer-drawer .booking-form {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--line);
  background: var(--card-soft);
}
.retainer-payment { align-items: start; }
.admin-format-body { padding: 0 16px 16px; display: grid; gap: 10px; }
.admin-format-body pre {
  margin: 0;
  padding: 14px;
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  border: 1px solid var(--line);
  background: var(--card-soft);
  color: var(--ink-soft);
  font-family: var(--font-label);
  font-size: .74rem;
  line-height: 1.55;
}

@media (max-width: 780px) {
  .slogan-strip {
    padding: 15px 92px 14px 14px;
    margin-bottom: 8px;
    text-align: left;
    place-items: start;
  }
  .header-menu-button {
    top: 15px;
    right: 14px;
  }
  .hero-card {
    height: clamp(220px, 56vw, 310px);
    min-height: 220px;
  }
  .instagram-shell { display: none; }
  .mobile-work-card { display: grid; }
  .service-section {
    padding: 17px;
  }
  .service-section .feed-head {
    margin-bottom: 13px;
  }
  .service-section .feed-title h1 {
    font-size: clamp(2.05rem, 11vw, 2.55rem);
  }
  .service-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .workflow-grid { grid-template-columns: 1fr; }
  .service-card-wide { grid-column: auto; }
  .service-card summary {
    padding: 12px 13px;
    gap: 10px;
    grid-template-columns: 28px minmax(0, 1fr) 22px;
    align-items: center;
  }
  .service-number {
    font-size: .58rem;
  }
  .service-label {
    gap: 4px;
  }
  .service-title {
    font-size: 1.18rem;
    line-height: 1;
  }
  .service-card strong {
    font-size: .56rem;
    letter-spacing: .1em;
  }
  .service-card summary::after {
    font-size: 1rem;
  }
  .service-details {
    padding: 0 13px 13px 51px;
    gap: 8px;
  }
  .service-details p,
  .service-details li {
    font-size: .9rem;
  }
  .workflow-card { padding: 16px; }
  .booking-section { padding: 22px; }
  .booking-preview {
    display: block;
    overflow: visible;
  }
  .booking-preview .booking-note {
    width: 100%;
    min-width: 0;
    margin-top: 18px;
  }
  .booking-preview .button {
    width: 100%;
  }
  .booking-copy,
  .booking-note {
    min-width: 0;
  }
  .booking-copy h2 { font-size: clamp(2rem, 10vw, 2.75rem); }
}

@media (max-width: 480px) {
  .header-menu-button { width: auto !important; }
  .slogan-strip {
    grid-template-columns: 1fr auto;
    align-items: start;
  }
  .slogan-strip span { grid-column: 1 / 2; }
  .mobile-work-card .button { width: 100%; }
}