/* Centered decorative underline */
.rule {
  height: 2px;
  background: linear-gradient(to right, transparent, var(--accent), transparent);
  margin: 1.5rem auto;
  width: 100%;
  max-width: 320px;
}

/* Left-aligned underline (useful under H2s flushed left) */
.rule--left {
  margin-left: 0;
  margin-right: 0;
  max-width: 220px;
}

/* Hairline border divider (full width) */
.hr {
  border: 0;
  height: 1px;
  background: color-mix(in srgb, var(--text) 12%, transparent);
  margin: 2rem 0;
}

/* Prose rhythm (from about.css) */
.prose p { margin: 0 0 10px; }

/* Two-column utility (from about.css) */
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
@media (max-width:900px){.grid-2{grid-template-columns:1fr}}


.section.section--tight{padding-top:24px;padding-bottom:40px}
.grid-2 .card{height:100%;display:flex;flex-direction:column}

.stat-list{margin:12px 0 0;padding:0;list-style:none}
.stat-list li{background:color-mix(in srgb, var(--card), var(--text) 4%);border:1px solid var(--border);
  padding:10px 12px;border-radius:10px;margin:8px 0;font-weight:600}
.stat-list small{display:block;font-weight:400;color:var(--muted)}

.prose p{margin:0 0 10px}
.spacer {
  border: none;
  border-top: 2px solid rgba(0,0,0,0.1);
  margin: 40px auto;
  width: 80%;
  background: linear-gradient(to left, transparent, #3c69fb, transparent);
}

.section-spacer {
  height: 2px;
  background: linear-gradient(
    to right,
    transparent,
    var(--accent),
    transparent
  );
  margin: 1.5rem auto;
  width: 100%;
  max-width: 450px;
}
/* CONTACT — mobile fix (use your real page id/slug) */
@media (max-width: 900px){
  body.page-id-43 .entry-content,
  body.page-id-43 .entry-content *{
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word;     /* prevent overflow without forcing every word to a new line */
  }

  /* One clean column */
  body.page-id-43 .contact-columns,
  body.page-id-43 .columns,
  body.page-id-43 .grid,
  body.page-id-43 .wp-block-columns{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Constrain the card/content width and center it */
  body.page-id-43 .contact-card,
  body.page-id-43 .wp-block-group,
  body.page-id-43 .entry-content > *{
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Comfortable padding on the white card */
  body.page-id-43 .contact-card,
  body.page-id-43 .wp-block-group.has-background{
    padding: 18px 16px !important;
    border-radius: 16px;           /* keep your rounded look */
  }

  /* Fluid type: headings & paragraphs scale down on phones */
  body.page-id-43 h1,
  body.page-id-43 .entry-title{
    font-size: clamp(28px, 7vw, 40px);
    line-height: 1.15;
    text-align: center;
    margin: 8px 0 16px;
    letter-spacing: 0;
  }
  body.page-id-43 h2{
    font-size: clamp(22px, 6vw, 32px);
    line-height: 1.2;
    margin: 8px 0 12px;
  }
  body.page-id-43 p,
  body.page-id-43 li{
    font-size: clamp(16px, 3.8vw, 18px);
    line-height: 1.55;
    margin: 0 0 14px;
  }
}
body.page-id-43 .entry-content [style*="white-space"],
body.page-id-43 .entry-content [style*="word-spacing"]{
  white-space: normal !important;
  word-spacing: normal !important;
  letter-spacing: normal !important;
}
