:root {
  --wrh-ink: #17343d;
  --wrh-muted: #526a72;
  --wrh-accent: #176f7a;
  --wrh-accent-dark: #10545d;
  --wrh-soft: #eff7f7;
  --wrh-border: #d8e5e7;
  --wrh-white: #ffffff;
}

.wrh-hero,
.wrh-page-hero {
  background: linear-gradient(135deg, #edf7f7 0%, #ffffff 72%);
  border-bottom: 1px solid var(--wrh-border);
}
.wrh-hero { padding: clamp(3.25rem, 8vw, 6.5rem) 1.25rem; }
.wrh-page-hero { padding: clamp(2.5rem, 6vw, 4.5rem) 1.25rem; }
.wrh-hero h1,
.wrh-page-hero h1 {
  color: var(--wrh-ink);
  font-size: clamp(2.35rem, 5vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -0.035em;
  max-width: 900px;
  margin-bottom: 1.1rem;
}
.wrh-page-hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.7rem); }
.wrh-lead {
  color: var(--wrh-muted);
  font-size: clamp(1.12rem, 2vw, 1.35rem);
  line-height: 1.65;
  max-width: 800px;
}
.wrh-section { padding-top: clamp(2.75rem, 6vw, 5rem); padding-bottom: clamp(2.75rem, 6vw, 5rem); }
.wrh-soft { background: var(--wrh-soft); }
.wrh-dark { background: var(--wrh-ink); color: var(--wrh-white); }
.wrh-dark h2, .wrh-dark p { color: var(--wrh-white); }
.wrh-card-grid { gap: 1.25rem; }
.wrh-card {
  border: 1px solid var(--wrh-border);
  border-radius: 14px;
  padding: 1.5rem;
  height: 100%;
  background: var(--wrh-white);
  box-shadow: 0 8px 28px rgba(23, 52, 61, 0.06);
}
.wrh-card h3 { margin-top: 0; color: var(--wrh-ink); }
.wrh-callout {
  background: var(--wrh-soft);
  border-left: 4px solid var(--wrh-accent);
  border-radius: 8px;
  padding: clamp(1.25rem, 3vw, 2rem);
}
.wrh-callout h3 { margin-top: 0; }
.wrh-disclaimer {
  max-width: 1180px;
  margin-top: 3rem;
  margin-bottom: 2rem;
  padding: 1.25rem;
  background: #f7f9f9;
  border: 1px solid var(--wrh-border);
  border-radius: 10px;
  color: var(--wrh-muted);
}
.wrh-result-grid table { width: 100%; }
.wrh-result-grid th { text-align: left; color: var(--wrh-ink); }
.wrh-result-grid td, .wrh-result-grid th { padding: .9rem; vertical-align: top; border-color: var(--wrh-border); }

.wrh-form-wrap {
  border: 1px solid var(--wrh-border);
  border-radius: 14px;
  padding: clamp(1.25rem, 4vw, 2rem);
  background: var(--wrh-white);
  box-shadow: 0 10px 34px rgba(23, 52, 61, 0.07);
}
.wrh-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 1rem;
}
.wrh-lead-form label { display: block; font-weight: 650; color: var(--wrh-ink); margin-bottom: .4rem; }
.wrh-lead-form input[type="text"],
.wrh-lead-form input[type="email"],
.wrh-lead-form input[type="tel"],
.wrh-lead-form select,
.wrh-lead-form textarea {
  width: 100%;
  border: 1px solid #b9cbd0;
  border-radius: 8px;
  padding: .78rem .85rem;
  background: #fff;
  color: #1f2f34;
}
.wrh-lead-form input:focus,
.wrh-lead-form select:focus,
.wrh-lead-form textarea:focus {
  outline: 2px solid rgba(23,111,122,.22);
  outline-offset: 1px;
  border-color: var(--wrh-accent);
}
.wrh-consent label { font-weight: 500; color: var(--wrh-muted); line-height: 1.55; }
.wrh-consent input { margin-right: .45rem; }
.wrh-submit { border: 0; cursor: pointer; }
.wrh-form-message { border-radius: 8px; padding: 1rem; margin-bottom: 1.25rem; }
.wrh-success { background: #eef8f0; border: 1px solid #b9d8bf; }
.wrh-error { background: #fff3f2; border: 1px solid #e6bfbb; }
.wrh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.wp-block-button__link,
.wrh-submit {
  transition: transform .16s ease, box-shadow .16s ease;
}
.wp-block-button__link:hover,
.wrh-submit:hover { transform: translateY(-1px); }

@media (max-width: 720px) {
  .wrh-form-grid { grid-template-columns: 1fr; }
  .wrh-hero .wp-block-buttons { align-items: stretch; }
  .wrh-hero .wp-block-button { width: 100%; }
  .wrh-hero .wp-block-button__link { width: 100%; text-align: center; }
}
