/*
 * components.css — Header, Nav, Buttons, Object Cards, Footer
 * Values locked from: Homepage (01-homepage-approved.png)
 */

/* ─────────────────────────────────────────────────
   HEADER
   Height: ~60px | Bone bg | Logo left | Nav center | Icons right
───────────────────────────────────────────────── */
.site-header,
.kadence-header,
#masthead {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--hs-bone);
  border-bottom: 1px solid transparent;
  height: var(--hs-header-height);
  transition:
    border-color var(--hs-duration-base) var(--hs-ease),
    background-color var(--hs-duration-base) var(--hs-ease);
}

.hs-header--scrolled {
  border-bottom-color: var(--hs-border);
}

/* Logo */
.site-branding,
.kadence-site-branding,
.header-logo-wrap {
  display: flex;
  align-items: center;
}

.hs-site-logo,
.site-title,
.site-title a {
  font-family: var(--hs-font-body);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  line-height: 1;
  text-decoration: none;
}

/* ─────────────────────────────────────────────────
   PRIMARY NAVIGATION
   Items: EXHIBITS | OBJECTS | CREATE | JOURNAL | DESIGN HOUSE
   11px | uppercase | tracked | no underline | subtle hover
───────────────────────────────────────────────── */
.primary-menu,
.primary-navigation ul,
nav.kadence-primary-nav ul {
  display: flex;
  align-items: center;
  gap: var(--hs-space-32);
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-menu a,
.primary-navigation a,
nav.kadence-primary-nav a {
  font-family: var(--hs-font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  text-decoration: none;
  line-height: 1;
  transition: opacity var(--hs-duration-fast) var(--hs-ease);
}

.primary-menu a:hover,
.primary-navigation a:hover,
nav.kadence-primary-nav a:hover {
  opacity: 0.5;
}

.primary-menu .current-menu-item > a,
.primary-navigation .current-menu-item > a {
  opacity: 0.5;
}

/* Header icons (search, cart) */
.header-cart-wrap a,
.header-search-wrap button,
.header-search-wrap a {
  color: var(--hs-graphite);
  font-size: 11px;
  font-family: var(--hs-font-body);
  letter-spacing: 0.05em;
}

.header-cart-wrap .cart-count {
  font-size: 11px;
}

/* ─────────────────────────────────────────────────
   BUTTONS
   Sharp corners (border-radius: 0) | outlined primary | ghost on dark
───────────────────────────────────────────────── */

/* Base button reset */
.hs-btn,
.wp-block-kadence-singlebtn .kt-button {
  display: inline-flex;
  align-items: center;
  gap: var(--hs-space-8);
  font-family: var(--hs-font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1;
  border-radius: var(--hs-radius);
  cursor: pointer;
  text-decoration: none;
  transition:
    color var(--hs-duration-fast) var(--hs-ease),
    background-color var(--hs-duration-fast) var(--hs-ease),
    border-color var(--hs-duration-fast) var(--hs-ease),
    opacity var(--hs-duration-fast) var(--hs-ease);
}

/* Outlined — on dark background (hero, dark sections) */
.hs-btn--outline-light {
  padding: 11px 22px;
  color: var(--hs-white);
  background: transparent;
  border: 1px solid rgba(255,255,255,0.6);
}
.hs-btn--outline-light:hover {
  background: var(--hs-white);
  color: var(--hs-graphite);
  border-color: var(--hs-white);
}

/* Outlined — on light background */
.hs-btn--outline-dark {
  padding: 11px 22px;
  color: var(--hs-graphite);
  background: transparent;
  border: 1px solid var(--hs-graphite);
}
.hs-btn--outline-dark:hover {
  background: var(--hs-graphite);
  color: var(--hs-white);
}

/* Text link style (arrow links) */
.hs-btn--text {
  padding: 0;
  color: var(--hs-graphite);
  background: transparent;
  border: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
}
.hs-btn--text:hover { opacity: 0.5; }

.hs-btn--text-light {
  color: var(--hs-white);
  border-bottom-color: rgba(255,255,255,0.5);
}
.hs-btn--text-light:hover { opacity: 0.6; }

/* Fade-in animation state */
.hs-fade {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity var(--hs-duration-slow) var(--hs-ease),
    transform var(--hs-duration-slow) var(--hs-ease);
}
.hs-fade.hs-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─────────────────────────────────────────────────
   OBJECT CARD
   Used in exhibit rows, curator shelf, related objects
───────────────────────────────────────────────── */
.hs-object-card {
  display: flex;
  flex-direction: column;
}

.hs-object-card__image-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background-color: var(--hs-stone);
}

.hs-object-card__image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--hs-duration-slow) var(--hs-ease);
}

.hs-object-card:hover .hs-object-card__image-wrap img {
  transform: scale(1.03);
}

.hs-object-card__body {
  padding-top: var(--hs-space-16);
}

.hs-object-card__exhibit {
  font-size: var(--hs-text-9);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hs-text-muted);
  margin-bottom: var(--hs-space-4);
}

.hs-object-card__name {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-13);
  font-weight: 500;
  color: var(--hs-graphite);
  margin-bottom: var(--hs-space-4);
  line-height: 1.3;
}

.hs-object-card__type {
  font-size: var(--hs-text-11);
  color: var(--hs-text-muted);
  margin-bottom: var(--hs-space-4);
}

.hs-object-card__price {
  font-size: var(--hs-text-13);
  color: var(--hs-graphite);
  margin-bottom: var(--hs-space-12);
}

.hs-object-card__link {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  display: inline-block;
  transition: opacity var(--hs-duration-fast) var(--hs-ease);
}
.hs-object-card__link:hover { opacity: 0.5; }

/* Curator's Shelf thumbnail (small square) */
.hs-shelf-thumb {
  aspect-ratio: 1 / 1;
  background-color: var(--hs-stone);
  overflow: hidden;
}
.hs-shelf-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--hs-duration-slow) var(--hs-ease);
}
.hs-shelf-thumb:hover img {
  transform: scale(1.05);
}

/* ─────────────────────────────────────────────────
   JOURNAL CARD
───────────────────────────────────────────────── */
.hs-journal-card {
  display: flex;
  gap: var(--hs-space-16);
  align-items: flex-start;
}

.hs-journal-card__image {
  flex: 0 0 100px;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background-color: var(--hs-stone);
}
.hs-journal-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hs-journal-card__body {
  flex: 1;
}

.hs-journal-card__title {
  font-family: var(--hs-font-display);
  font-size: var(--hs-text-13);
  font-weight: 600;
  line-height: 1.3;
  color: var(--hs-graphite);
  margin-bottom: var(--hs-space-4);
}

.hs-journal-card__date {
  font-size: var(--hs-text-10);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hs-text-muted);
  margin-bottom: var(--hs-space-8);
}

.hs-journal-card__link {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  display: inline-block;
  color: var(--hs-graphite);
  transition: opacity var(--hs-duration-fast) var(--hs-ease);
}
.hs-journal-card__link:hover { opacity: 0.5; }

/* ─────────────────────────────────────────────────
   SECTION HEADER ROW
   Used in Curator's Shelf and From the Journal
───────────────────────────────────────────────── */
.hs-section-header-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--hs-space-24);
}

.hs-section-header-row__title {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-10);
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hs-graphite);
}

.hs-section-header-row__link {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  transition: opacity var(--hs-duration-fast) var(--hs-ease);
}
.hs-section-header-row__link:hover { opacity: 0.5; }

/* ─────────────────────────────────────────────────
   FOOTER
   Single row | Bone bg | Logo left | Nav center | Copyright right
───────────────────────────────────────────────── */
.site-footer,
.kadence-footer,
#colophon {
  background-color: var(--hs-bone);
  border-top: 1px solid var(--hs-border);
  padding: var(--hs-space-24) var(--hs-space-48);
}

.hs-footer-inner {
  max-width: var(--hs-container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--hs-space-32);
}

.hs-footer-logo {
  font-family: var(--hs-font-body);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  justify-self: start;
}

.hs-footer-nav {
  display: flex;
  align-items: center;
  gap: var(--hs-space-24);
  list-style: none;
  margin: 0;
  padding: 0;
}

.hs-footer-nav a {
  font-size: var(--hs-text-10);
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  transition: opacity var(--hs-duration-fast) var(--hs-ease);
}
.hs-footer-nav a:hover { opacity: 0.5; }

.hs-footer-copy {
  font-size: var(--hs-text-10);
  letter-spacing: 0.05em;
  color: var(--hs-text-muted);
  justify-self: end;
  white-space: nowrap;
}

/* ─────────────────────────────────────────────────
   FOOTER — RESPONSIVE
───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .site-footer,
  .kadence-footer,
  #colophon {
    padding: var(--hs-space-32) var(--hs-space-24);
  }

  .hs-footer-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: var(--hs-space-24);
  }

  .hs-footer-logo { justify-self: center; }
  .hs-footer-nav { flex-wrap: wrap; justify-content: center; gap: var(--hs-space-16); }
  .hs-footer-copy { justify-self: center; }
}


/* ═══════════════════════════════════════════════════════════════════
   DESIGN HOUSE PAGE  (page-design-house.php)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Hero ──────────────────────────────────────────────────────────── */
.hs-dh-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 80vh;
}

.hs-dh-hero__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem var(--hs-side-pad);
  background: var(--hs-bone);
}

.hs-dh-hero__eyebrow {
  display: block;
  font-family: var(--hs-font-body);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hs-muted);
  margin-bottom: 1.5rem;
}

.hs-dh-hero__headline {
  font-family: var(--hs-font-display);
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--hs-graphite);
  margin: 0 0 1.5rem;
}

.hs-dh-hero__body {
  font-family: var(--hs-font-body);
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--hs-muted);
  max-width: 42ch;
}

.hs-dh-hero__image {
  overflow: hidden;
  background: var(--hs-stone);
}

.hs-dh-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Principle 01 — feature layout ───────────────────────────────── */
.hs-dh-p01 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 70vh;
}

.hs-dh-p01__left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem var(--hs-side-pad);
  background: var(--hs-dark);
}

.hs-dh-p01__num {
  display: block;
  font-family: var(--hs-font-body);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hs-muted);
  margin-bottom: 1.5rem;
}

.hs-dh-p01__title {
  font-family: var(--hs-font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--hs-bone);
  margin: 0 0 1.5rem;
}

.hs-dh-p01__body {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--hs-muted);
  max-width: 40ch;
}

.hs-dh-p01__aside {
  font-size: 0.85rem;
  color: var(--hs-muted);
  margin-top: 1rem;
  font-style: italic;
}

.hs-dh-p01__right {
  position: relative;
  overflow: hidden;
  background: var(--hs-stone);
}

.hs-dh-p01__right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hs-dh-p01__callout {
  position: absolute;
  bottom: 3rem;
  left: 3rem;
  background: rgba(240, 232, 220, 0.92);
  padding: 2rem;
  max-width: 240px;
}

.hs-dh-p01__callout-title {
  font-family: var(--hs-font-display);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--hs-graphite);
  margin: 0 0 0.75rem;
}

.hs-dh-p01__callout-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 0.85rem;
  color: var(--hs-muted);
}

.hs-dh-p01__callout-list li + li {
  margin-top: 0.25rem;
}

/* ── Principles 02–05 — horizontal strips ────────────────────────── */
.hs-dh-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 50vh;
}

.hs-dh-strip:nth-child(even) .hs-dh-strip__text { order: 2; }
.hs-dh-strip:nth-child(even) .hs-dh-strip__image { order: 1; }

.hs-dh-strip__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5rem var(--hs-side-pad);
  background: var(--hs-bone);
}

.hs-dh-strip__num {
  display: block;
  font-family: var(--hs-font-body);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hs-muted);
  margin-bottom: 1rem;
}

.hs-dh-strip__title {
  font-family: var(--hs-font-display);
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--hs-graphite);
  margin: 0 0 1rem;
}

.hs-dh-strip__body {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--hs-muted);
  max-width: 44ch;
}

.hs-dh-strip__image {
  overflow: hidden;
  background: var(--hs-stone);
}

.hs-dh-strip__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Closing manifesto ───────────────────────────────────────────── */
.hs-dh-closing {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 60vh;
}

.hs-dh-closing__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem var(--hs-side-pad);
  background: var(--hs-graphite);
}

.hs-dh-closing__label {
  display: block;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hs-muted);
  margin-bottom: 2rem;
}

.hs-dh-closing__quote {
  font-family: var(--hs-font-display);
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--hs-bone);
  margin: 0 0 1.5rem;
}

.hs-dh-closing__note {
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--hs-muted);
  margin: 0 0 2rem;
}

.hs-dh-closing__cta {
  display: inline-block;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--hs-bone);
  text-decoration: none;
  border-bottom: 1px solid var(--hs-muted);
  padding-bottom: 2px;
  transition: border-color 0.2s;
}

.hs-dh-closing__cta:hover {
  border-color: var(--hs-bone);
}

.hs-dh-closing__image {
  overflow: hidden;
  background: var(--hs-stone);
}

.hs-dh-closing__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .hs-dh-hero,
  .hs-dh-p01,
  .hs-dh-strip,
  .hs-dh-closing {
    grid-template-columns: 1fr;
  }

  .hs-dh-hero__image,
  .hs-dh-p01__right,
  .hs-dh-strip__image,
  .hs-dh-closing__image {
    min-height: 280px;
  }

  .hs-dh-strip:nth-child(even) .hs-dh-strip__text,
  .hs-dh-strip:nth-child(even) .hs-dh-strip__image {
    order: unset;
  }

  .hs-dh-p01__callout {
    position: static;
    max-width: 100%;
    margin-top: 1.5rem;
  }
}

/* ─────────────────────────────────────────────────
   ABOUT PAGE  (.hs-about-*)
   Pattern: hs/about-page — all values from global tokens
───────────────────────────────────────────────── */

/* Shared section rhythm — narrow editorial container */
.hs-about-section {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  padding: var(--hs-space-96, 6rem) var(--hs-side-pad, 48px);
}

/* Hero */
.hs-about-hero { background: var(--hs-bone); }
.hs-about-hero__img img {
  width: 100%;
  aspect-ratio: 21 / 9;
  object-fit: cover;
  display: block;
}
.hs-about-hero__title {
  font-family: var(--hs-font-display);
  font-weight: 400;
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 1.1;
  color: var(--hs-graphite);
  text-align: center;
  margin: var(--hs-space-64, 4rem) var(--hs-side-pad, 48px) 0.75rem;
}
.hs-about-hero__sub {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-13, 13px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hs-text-muted, var(--hs-muted));
  text-align: center;
  margin: 0 var(--hs-side-pad, 48px);
}

/* Headings + body — editorial type */
.hs-about__heading {
  font-family: var(--hs-font-display);
  font-weight: 400;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.2;
  color: var(--hs-graphite);
  margin: 0 0 1.5rem;
}
.hs-about__body {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-15, 0.9375rem);
  line-height: 1.8;
  color: var(--hs-graphite);
  max-width: 54ch;
  margin: 0 0 1.25em;
}

/* Images — consistent ratio, cover crop */
.hs-about__img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}
.hs-about-intro .hs-about__img img,
.hs-about-why .hs-about__img img { aspect-ratio: 4 / 5; }
.hs-about-miami__images .hs-about__img img { aspect-ratio: 4 / 3; }

/* Statement — large centered, generous air */
.hs-about-statement {
  padding-top: var(--hs-space-128, 8rem);
  padding-bottom: var(--hs-space-128, 8rem);
}
.hs-about-statement__line {
  font-family: var(--hs-font-display);
  font-weight: 400;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.25;
  color: var(--hs-graphite);
  max-width: 24ch;
  margin: 0 auto 1.5rem;
}
.hs-about-statement__sub {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-13, 13px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hs-text-muted, var(--hs-muted));
  line-height: 2;
  margin: 0;
}

/* Made in Miami — image pair */
.hs-about-miami__images { margin-top: var(--hs-space-32, 2rem); gap: var(--hs-space-24, 1.5rem); }

/* The Collection — centered close */
.hs-about-collection { text-align: center; }
.hs-about-collection__body { margin-left: auto; margin-right: auto; }
.hs-about-collection__sig {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-11, 11px);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--hs-text-muted, var(--hs-muted));
  margin-top: var(--hs-space-48, 3rem);
}

/* Responsive — keep whitespace, stack columns */
@media (max-width: 768px) {
  .hs-about-section {
    padding: var(--hs-space-64, 4rem) 1.75rem;
  }
  .hs-about-hero__img img { aspect-ratio: 4 / 3; }
  .hs-about-hero__title { margin-top: var(--hs-space-48, 3rem); }
  .hs-about-statement {
    padding-top: var(--hs-space-96, 6rem);
    padding-bottom: var(--hs-space-96, 6rem);
  }
  .hs-about-miami__images { display: grid; grid-template-columns: 1fr 1fr; }
}

/* ─────────────────────────────────────────────────
   CONTACT PAGE  (.hs-contact-*)
   Pattern: hs/contact-page — shares .hs-about-* styles;
   all values from global tokens
───────────────────────────────────────────────── */

/* Inquiry cards — subtle borders, generous air */
.hs-contact-cards .hs-contact-card {
  border: 1px solid var(--hs-border, #DDD6CC);
  padding: var(--hs-space-32, 2rem);
}
.hs-contact-card__label {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-11, 11px);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hs-graphite);
  margin: 0 0 1rem;
}
.hs-contact-card__body {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-13, 13px);
  line-height: 1.7;
  color: var(--hs-text-muted, var(--hs-muted));
  margin: 0 0 1.25rem;
}
.hs-contact-card__email {
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-13, 13px);
  margin: 0;
}
.hs-contact-card__email a {
  color: var(--hs-graphite);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Form — narrow, centered, quiet */
.hs-contact-form .wp-block-shortcode,
.hs-contact-form .wpcf7 {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}
.hs-contact-form__title { margin-bottom: var(--hs-space-48, 3rem); }
.hs-contact-form .wpcf7 label {
  display: block;
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-11, 11px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--hs-text-muted, var(--hs-muted));
  margin-bottom: 1.5rem;
}
.hs-contact-form .wpcf7 input[type="text"],
.hs-contact-form .wpcf7 input[type="email"],
.hs-contact-form .wpcf7 textarea {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--hs-border, #DDD6CC);
  border-radius: 0;
  background: transparent;
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-14, 0.875rem);
  color: var(--hs-graphite);
}
.hs-contact-form .wpcf7 input:focus,
.hs-contact-form .wpcf7 textarea:focus {
  outline: 2px solid var(--hs-graphite);
  outline-offset: 2px;
}
.hs-contact-form .wpcf7 input[type="submit"] {
  background: var(--hs-graphite);
  color: var(--hs-bone);
  border: none;
  border-radius: 0;
  font-family: var(--hs-font-body);
  font-size: var(--hs-text-11, 11px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  padding: 1rem 2.5rem;
  cursor: pointer;
  transition: opacity 0.2s;
}
.hs-contact-form .wpcf7 input[type="submit"]:hover { opacity: 0.8; }

/* Response time — tighter section */
.hs-contact-response { padding-top: var(--hs-space-32, 2rem); }
.hs-contact-sig { padding-top: 0; }

/* Responsive — cards 2-up on tablet, 1-up on phones */
@media (max-width: 1024px) {
  .hs-contact-cards .kt-row-column-wrap { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767.98px) {
  .hs-contact-cards .kt-row-column-wrap { grid-template-columns: 1fr; }
  .hs-contact-cards .hs-contact-card { padding: var(--hs-space-24, 1.5rem); }
}
