/* ═══════════════════════════════════════════════════════════════
   HIPAA Vault — Solutions Hero
   Namespace: .hv-sol-hero  ·  class prefix: .hvsh-
   Standalone (no Bootstrap dependency), safe to drop alongside BS5.
═══════════════════════════════════════════════════════════════ */

/* ─── Gutenberg block resets ───
   Reset flex gap, heading margins, and WP constrained-layout max-width
   inside practitioners sections.  The page CSS handles all layout.
   Class-scoped so the same CSS works in both frontend and editor iframe. */
.hv-sol-section                    { gap: 0; }
.hv-sol-section .wp-block-group    { box-sizing: border-box; gap: 0; max-width: none; width: 100%; }
.hv-sol-section .wp-block-heading  { margin: 0; padding: 0; max-width: none; }
.hv-sol-section p                  { max-width: none; }
.hv-sol-section .wp-block-list     { max-width: none; }

.hv-sol-hero, .hvsh-help {
  --hvsh-bg:       #03050a;  /* site hero near-black */
  --hvsh-ink:      #0b1220;  /* dark text on white card */
  --hvsh-navy-900: #081a33;
  --hvsh-navy:     #0d2545;
  --hvsh-navy-mid: #153260;
  --hvsh-primary:    #fc6100;  /* brand primary */
  --hvsh-primary-lt: #ff7a26;  /* hover */
  --hvsh-primary-dk: #e05500;  /* pressed */
  --hvsh-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsh-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsh-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsh-white:    #ffffff;
  --hvsh-gray-100: #f1f5f9;
  --hvsh-gray-200: #e2e8f0;
  --hvsh-gray-400: #94a3b8;
  --hvsh-gray-600: #475569;
  --hvsh-gray-800: #1e293b;
  --hvsh-radius:   12px;
  --hvsh-radius-lg:18px;
  --hvsh-font-head:'Poppins', sans-serif;
  --hvsh-font-body:'Poppins', sans-serif;
}
/* Cover block provides the background image, focal-point, and overlay.
   We keep layout, typography, and color styles here. */
.hv-sol-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 24px 80px;
  font-family: var(--hvsh-font-body);
  color: var(--hvsh-white);
  background-color: var(--hvsh-bg);
  -webkit-font-smoothing: antialiased;
}
/* Override Cover block's constrained inner-container so our grid handles layout */
.hv-sol-hero .wp-block-cover__inner-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0;
  text-align: left;
}
.hv-sol-hero *, .hv-sol-hero *::before, .hv-sol-hero *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-hero .hvsh-help { font-family: var(--hvsh-font-body); -webkit-font-smoothing: antialiased; }

.hv-sol-hero .hvsh-container {
  position: relative; max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 48px; align-items: center;
}

/* ─── LEFT COLUMN ─── */
.hv-sol-hero .hvsh-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--hvsh-font-head);
  font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #ff8a3d;
  background: rgba(252,97,0,.12); border: 1px solid rgba(252,97,0,.28);
  padding: 6px 14px; border-radius: 100px; margin-bottom: 22px;
}
.hv-sol-hero .hvsh-eyebrow__dot,
.hv-sol-hero .hvsh-eyebrow::before {
  content: '';
  width: 6px; height: 6px; border-radius: 50%; background: var(--hvsh-primary);
  box-shadow: 0 0 0 4px rgba(252,97,0,.18);
}

.hv-sol-hero .hvsh-title {
  font-family: var(--hvsh-font-head);
  font-size: clamp(30px, 3.6vw, 50px);
  font-weight: 500; line-height: 1.2; letter-spacing: -.01em;
  color: var(--hvsh-white);
}
.hv-sol-hero .hvsh-title span { display: block; overflow-wrap: anywhere; }
.hv-sol-hero .hvsh-title em {
  font-style: normal; font-weight: 600;
  color: var(--hvsh-primary);
}

.hv-sol-hero .hvsh-lead {
  margin-top: 20px; max-width: 620px;
  font-size: 19px; line-height: 1.6; color: rgba(255,255,255,.88);
}

.hv-sol-hero .hvsh-q {
  margin: 34px 0 14px;
  font-family: var(--hvsh-font-head); font-size: 16px; font-weight: 700; color: var(--hvsh-white);
}

/* Solution tiles */
.hv-sol-hero .hvsh-tiles {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  list-style: none;
}
.hv-sol-hero .hvsh-tile {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 14px;
  border-radius: var(--hvsh-radius);
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(2px);
  color: var(--hvsh-white); text-decoration: none;
  font-size: 15px; font-weight: 500; white-space: nowrap;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hv-sol-hero .hvsh-tile__icon {
  width: 38px; height: 38px; flex-shrink: 0; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(252,97,0,.18); border: 1px solid rgba(252,97,0,.32);
  color: #ff9a57; transition: background .2s, color .2s;
}
.hv-sol-hero .hvsh-tile__icon svg { width: 20px; height: 20px; }
.hv-sol-hero .hvsh-tile__label { flex: 1; min-width: 0; }
.hv-sol-hero .hvsh-tile__arrow {
  width: 16px; height: 16px; flex-shrink: 0; color: rgba(255,255,255,.55);
  transition: transform .2s ease, color .2s ease;
}
.hv-sol-hero .hvsh-tile:hover,
.hv-sol-hero .hvsh-tile:focus-visible {
  background: rgba(252,97,0,.14);
  border-color: rgba(252,97,0,.55);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.hv-sol-hero .hvsh-tile:hover .hvsh-tile__icon { background: var(--hvsh-primary); color: var(--hvsh-white); }
.hv-sol-hero .hvsh-tile:hover .hvsh-tile__arrow { transform: translateX(4px); color: var(--hvsh-primary); }
.hv-sol-hero .hvsh-tile:focus-visible { outline: 2px solid var(--hvsh-primary); outline-offset: 2px; }

/* Price line */
.hv-sol-hero .hvsh-price { margin-top: 30px; }
.hv-sol-hero .hvsh-price__main { font-size: 21px; color: rgba(255,255,255,.85); }
.hv-sol-hero .hvsh-price__main strong {
  font-family: var(--hvsh-font-head); font-weight: 700; color: var(--hvsh-primary); font-size: 24px;
}
.hv-sol-hero .hvsh-price__sub {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 4px;
  font-size: 15px; color: rgba(255,255,255,.6); text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,.3); padding-bottom: 1px;
  transition: color .2s, border-color .2s;
}
.hv-sol-hero .hvsh-price__sub:hover { color: var(--hvsh-primary); border-color: var(--hvsh-primary); }

/* Secondary links */
.hv-sol-hero .hvsh-links {
  display: flex; align-items: center; flex-wrap: wrap; gap: 14px 24px;
  margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1);
}
.hv-sol-hero .hvsh-link {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 500; color: var(--hvsh-white); text-decoration: none;
}
.hv-sol-hero .hvsh-link > svg:first-child { width: 20px; height: 20px; color: var(--hvsh-primary); flex-shrink: 0; }
.hv-sol-hero .hvsh-link__text {
  text-decoration: underline; text-underline-offset: 4px;
  text-decoration-color: rgba(255,255,255,.35); transition: text-decoration-color .2s, color .2s;
}
.hv-sol-hero .hvsh-link__arrow { width: 16px; height: 16px; transition: transform .2s; }
.hv-sol-hero .hvsh-link:hover .hvsh-link__text { color: var(--hvsh-primary); text-decoration-color: var(--hvsh-primary); }
.hv-sol-hero .hvsh-link:hover .hvsh-link__arrow { transform: translateX(3px); }
.hv-sol-hero .hvsh-links__sep { width: 1px; height: 26px; background: rgba(255,255,255,.18); }

/* ─── RIGHT COLUMN: FORM CARD ───
   Doubled class (.hv-sol-hero .hvsh-help) to beat WP's .wp-block-group defaults. */
.hv-sol-hero .hvsh-help {
  position: relative; overflow: hidden;
  background: var(--hvsh-white); color: var(--hvsh-gray-800);
  border-radius: var(--hvsh-radius-lg);
  padding: 40px 38px 30px;
  box-shadow: 0 30px 80px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.06);
}
.hv-sol-hero .hvsh-help::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: var(--hvsh-primary);
}
.hv-sol-hero .hvsh-help .hvsh-card__title {
  font-family: var(--hvsh-font-head); font-size: 26px; font-weight: 700;
  line-height: 1.25; letter-spacing: -.01em; color: var(--hvsh-ink);
}
.hv-sol-hero .hvsh-help .hvsh-card__sub { margin-top: 8px; font-size: 16px; line-height: 1.55; color: var(--hvsh-gray-600); }

.hvsh-help .hvsh-form { margin-top: 26px; display: flex; flex-direction: column; gap: 20px; }
.hvsh-help .hvsh-field { display: flex; flex-direction: column; gap: 8px; }
.hvsh-help .hvsh-field label {
  font-family: var(--hvsh-font-head); font-size: 14px; font-weight: 600; color: var(--hvsh-ink);
}
.hvsh-help .hvsh-field input {
  width: 100%; height: 50px; padding: 0 16px;
  font-family: var(--hvsh-font-body); font-size: 16px; color: var(--hvsh-gray-800);
  background: var(--hvsh-white);
  border: 1.5px solid var(--hvsh-gray-200); border-radius: 10px;
  outline: none; transition: border-color .2s, box-shadow .2s;
}
.hvsh-help .hvsh-field input::placeholder { color: var(--hvsh-gray-400); }
.hvsh-help .hvsh-field input:focus {
  border-color: var(--hvsh-primary); box-shadow: 0 0 0 4px rgba(252,97,0,.12);
}

.hvsh-help .hvsh-check {
  display: flex; align-items: center; gap: 12px; cursor: pointer;
  font-size: 15px; color: var(--hvsh-gray-600);
}
.hvsh-help .hvsh-check input {
  appearance: none; -webkit-appearance: none;
  width: 22px; height: 22px; flex-shrink: 0; cursor: pointer;
  border: 1.5px solid var(--hvsh-gray-400); border-radius: 6px; background: var(--hvsh-white);
  display: grid; place-content: center; transition: background .15s, border-color .15s;
}
.hvsh-help .hvsh-check input::after {
  content: ''; width: 11px; height: 6px; margin-top: -3px;
  border-left: 2px solid #fff; border-bottom: 2px solid #fff;
  transform: rotate(-45deg) scale(0); transition: transform .15s;
}
.hvsh-help .hvsh-check input:checked { background: var(--hvsh-primary); border-color: var(--hvsh-primary); }
.hvsh-help .hvsh-check input:checked::after { transform: rotate(-45deg) scale(1); }
.hvsh-help .hvsh-check input:focus-visible { outline: 2px solid var(--hvsh-primary); outline-offset: 2px; }

.hvsh-help .hvsh-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; height: 54px; margin-top: 4px;
  font-family: var(--hvsh-font-head); font-size: 18px; font-weight: 700;
  color: var(--hvsh-white); background: var(--hvsh-cta);
  border: none; border-radius: 6px; cursor: pointer;
  box-shadow: 0 6px 18px rgba(252,97,0,.38);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hvsh-help .hvsh-submit svg { width: 18px; height: 18px; transition: transform .2s; }
.hvsh-help .hvsh-submit:hover { background: var(--hvsh-cta-hover); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.45); }
.hvsh-help .hvsh-submit:active { background: var(--hvsh-cta-active); transform: none; }
.hvsh-help .hvsh-submit:hover svg { transform: translateX(3px); }
.hvsh-help .hvsh-submit:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }

.hvsh-help .hvsh-note {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  margin-top: 16px; font-size: 13.5px; color: var(--hvsh-gray-600); text-align: center;
}
.hvsh-help .hvsh-note svg { width: 14px; height: 14px; color: var(--hvsh-gray-400); flex-shrink: 0; }
/* Lock icon via CSS for native Paragraph block version */
.hvsh-help p.hvsh-note::before {
  content: '';
  width: 14px; height: 14px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='10' height='7' rx='1.5'/%3E%3Cpath d='M5.5 7V5a2.5 2.5 0 0 1 5 0v2'/%3E%3C/svg%3E");
}

/* ─── NATIVE BLOCK TILES (list-item blocks) ───
   Each <li> gets a modifier class; icons use CSS pseudo-element + data-URI SVG.
   Arrow on li::after.  Two SVG variants per icon: default (#ff9a57) and hover (#fff). */
.hv-sol-hero .hvsh-tiles {
  --_arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='rgba(255,255,255,0.55)' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  --_arrow-h: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
}
.hv-sol-hero .hvsh-tiles li {
  display: grid; grid-template-columns: 38px 1fr 16px;
  gap: 12px; align-items: center;
  padding: 16px 14px;
  border-radius: var(--hvsh-radius);
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(2px);
  color: var(--hvsh-white);
  font-size: 15px; font-weight: 500; white-space: nowrap;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hv-sol-hero .hvsh-tiles li::before {
  content: '';
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(252,97,0,.18) no-repeat center / 20px 20px;
  background-image: var(--_ico);
  border: 1px solid rgba(252,97,0,.32);
  transition: background-color .2s, background-image .05s;
}
.hv-sol-hero .hvsh-tiles li a {
  color: inherit; text-decoration: none; min-width: 0;
}
/* Stretch the link over the entire tile so the whole card is clickable */
.hv-sol-hero .hvsh-tiles li { position: relative; }
.hv-sol-hero .hvsh-tiles li a::before {
  content: ''; position: absolute; inset: 0; z-index: 1;
}
.hv-sol-hero .hvsh-tiles li::after {
  content: '';
  width: 16px; height: 16px;
  background: no-repeat center / contain;
  background-image: var(--_arrow);
  transition: transform .2s ease;
}
.hv-sol-hero .hvsh-tiles li:hover,
.hv-sol-hero .hvsh-tiles li:focus-within {
  background: rgba(252,97,0,.14);
  border-color: rgba(252,97,0,.55);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.hv-sol-hero .hvsh-tiles li:hover::before {
  background-color: var(--hvsh-primary);
  background-image: var(--_ico-w);
}
.hv-sol-hero .hvsh-tiles li:hover::after {
  transform: translateX(4px);
  background-image: var(--_arrow-h);
}
.hv-sol-hero .hvsh-tiles li:focus-within { outline: 2px solid var(--hvsh-primary); outline-offset: 2px; }

/* Per-tile icon data URIs */
.hvsh-tile--website {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.7 3.8 5.7 3.8 9s-1.3 6.3-3.8 9c-2.5-2.7-3.8-5.7-3.8-9S9.5 5.7 12 3z'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.7 3.8 5.7 3.8 9s-1.3 6.3-3.8 9c-2.5-2.7-3.8-5.7-3.8-9S9.5 5.7 12 3z'/%3E%3C/svg%3E");
}
.hvsh-tile--forms {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6M9 9h2'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6M9 9h2'/%3E%3C/svg%3E");
}
.hvsh-tile--email {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E");
}
.hvsh-tile--fax {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3h10v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3Cpath d='M17.5 12h.01'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 9V3h10v6'/%3E%3Crect x='3' y='9' width='18' height='8' rx='2'/%3E%3Cpath d='M7 14h10v7H7z'/%3E%3Cpath d='M17.5 12h.01'/%3E%3C/svg%3E");
}
.hvsh-tile--servers {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='7' rx='1.5'/%3E%3Crect x='4' y='13.5' width='16' height='7' rx='1.5'/%3E%3Cpath d='M8 7h3M8 17h3'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3.5' width='16' height='7' rx='1.5'/%3E%3Crect x='4' y='13.5' width='16' height='7' rx='1.5'/%3E%3Cpath d='M8 7h3M8 17h3'/%3E%3C/svg%3E");
}
.hvsh-tile--app {
  --_ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff9a57' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16'/%3E%3C/svg%3E");
  --_ico-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16'/%3E%3C/svg%3E");
}

/* ─── NATIVE BLOCK LINKS (paragraph blocks with ::before icons) ─── */
.hv-sol-hero .hvsh-link--checklist,
.hv-sol-hero .hvsh-link--phone {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 500; color: var(--hvsh-white);
}
.hv-sol-hero .hvsh-link--checklist a,
.hv-sol-hero .hvsh-link--phone a {
  text-decoration: underline; text-underline-offset: 4px;
  text-decoration-color: rgba(255,255,255,.35); transition: text-decoration-color .2s, color .2s;
  color: inherit;
}
.hv-sol-hero .hvsh-link--checklist a:hover,
.hv-sol-hero .hvsh-link--phone a:hover {
  color: var(--hvsh-primary); text-decoration-color: var(--hvsh-primary);
}
.hv-sol-hero .hvsh-link--checklist::before,
.hv-sol-hero .hvsh-link--phone::before {
  content: '';
  width: 20px; height: 20px; flex-shrink: 0;
  background: no-repeat center / contain;
}
.hv-sol-hero .hvsh-link--checklist::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M12 11v6M9.5 14.5 12 17l2.5-2.5'/%3E%3C/svg%3E");
}
.hv-sol-hero .hvsh-link--phone::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 1.1 4.2 2 2 0 0 1 3.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L7.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

/* ─── NATIVE BLOCK QUICK LINKS (paragraph blocks) ─── */
.hv-sol-hero .hvsh-quick__primary,
.hv-sol-hero .hvsh-quick__call {
  font-size: 15px; font-weight: 600;
  font-family: var(--hvsh-font-head);
}
.hv-sol-hero .hvsh-quick__primary a,
.hv-sol-hero .hvsh-quick__call a { color: inherit; text-decoration: none; }
.hv-sol-hero .hvsh-quick__call::before {
  content: '';
  width: 18px; height: 18px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a3d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 1.1 4.2 2 2 0 0 1 3.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L7.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}

/* Price sub-link as a paragraph block */
.hv-sol-hero p.hvsh-price__sub { font-size: 15px; margin-top: 4px; }
.hv-sol-hero p.hvsh-price__sub a {
  color: rgba(255,255,255,.6); text-decoration: none;
  border-bottom: 1px dashed rgba(255,255,255,.3); padding-bottom: 1px;
  transition: color .2s, border-color .2s;
}
.hv-sol-hero p.hvsh-price__sub a:hover { color: var(--hvsh-primary); border-color: var(--hvsh-primary); }

/* ─── RESPONSIVE ─── */
@media (max-width: 1199.98px) {
  .hv-sol-hero .hvsh-container { gap: 40px; }
  .hv-sol-hero .hvsh-tile,
  .hv-sol-hero .hvsh-tiles li { padding: 16px 14px; gap: 12px; font-size: 15px; }
}
@media (max-width: 991.98px) {
  .hv-sol-hero { padding: 64px 20px; }
  .hv-sol-hero .hvsh-container { grid-template-columns: 1fr; gap: 44px; }
  .hvsh-help { max-width: 560px; }
}
@media (max-width: 575.98px) {
  .hv-sol-hero { padding: 48px 16px; }
  .hv-sol-hero .hvsh-lead { font-size: 17px; }
  .hv-sol-hero .hvsh-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .hv-sol-hero .hvsh-tile,
  .hv-sol-hero .hvsh-tiles li { padding: 14px 12px; font-size: 14.5px; }
  .hv-sol-hero .hvsh-tile__icon,
  .hv-sol-hero .hvsh-tiles li::before { width: 34px; height: 34px; }
  .hv-sol-hero .hvsh-tile__arrow,
  .hv-sol-hero .hvsh-tiles li::after { display: none; }
  .hv-sol-hero .hvsh-tiles li { grid-template-columns: 34px 1fr; }
  .hv-sol-hero .hvsh-links { flex-direction: column; align-items: flex-start; }
  .hv-sol-hero .hvsh-links__sep { display: none; }
  .hvsh-help { padding: 32px 22px 24px; }
  .hvsh-help .hvsh-card__title { font-size: 23px; }
}
@media (prefers-reduced-motion: reduce) {
  .hv-sol-hero * { transition: none !important; }
}

/* ─── CONTAINER QUERIES (editor canvas) ───
   The Cover's inner-container is the size reference.
   Container queries target children — the grid switches to single-column
   when the available space is too narrow (e.g. Gutenberg editor canvas). */
.hv-sol-hero,
.hv-sol-hero .wp-block-cover__inner-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hvsh-container { grid-template-columns: 1fr !important; gap: 44px; }
  .hv-sol-hero .hvsh-help { max-width: 560px; }
}
@container (max-width: 575px) {
  .hvsh-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px; }
  .hvsh-tiles li { padding: 14px 12px; font-size: 14.5px; grid-template-columns: 34px 1fr; }
  .hvsh-tiles li::before { width: 34px; height: 34px; }
  .hv-sol-hero .hvsh-tiles li::after { display: none; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 01 — Practice Website
   Namespace: .hv-sol-web  ·  class prefix: .hvsw-
═══════════════════════════════════════════════════════════════ */
.hv-sol-web {
  --hvsw-primary:    #fc6100;
  --hvsw-primary-lt: #ff7a26;
  --hvsw-primary-dk: #e05500;
  --hvsw-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsw-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsw-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsw-ink:        #0b1220;
  --hvsw-body:       #475569;
  --hvsw-muted:      #64748b;
  --hvsw-line:       #e2e8f0;
  --hvsw-soft:       #f3f5f8;
  --hvsw-white:      #ffffff;
  --hvsw-site:       #1f6f6b;   /* demo practice brand (kept distinct from HV orange) */
  --hvsw-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvsw-white);
  font-family: var(--hvsw-font);
  color: var(--hvsw-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-web *, .hv-sol-web *::before, .hv-sol-web *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-web .hvsw-container {
  max-width: 1240px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  gap: 56px; align-items: start;
}

/* Copy column */
.hv-sol-web .hvsw-kicker {
  font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--hvsw-cta); margin-bottom: 14px;
}
.hv-sol-web .hvsw-kicker span { color: var(--hvsw-muted); margin: 0 6px; }
.hv-sol-web .hvsw-title {
  font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em;
  color: var(--hvsw-ink);
}
.hv-sol-web .hvsw-title span { display: block; }
.hv-sol-web .hvsw-title em { font-style: normal; color: var(--hvsw-primary); }
.hv-sol-web .hvsw-lead { margin-top: 16px; font-size: 18px; line-height: 1.6; color: var(--hvsw-body); max-width: 560px; }

.hv-sol-web .hvsw-gap {
  margin-top: 28px; padding: 20px 24px;
  background: var(--hvsw-soft); border-left: 4px solid var(--hvsw-primary);
  border-radius: 0 10px 10px 0;
}
.hv-sol-web .hvsw-gap__label {
  font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  color: var(--hvsw-ink); margin-bottom: 6px;
}
.hv-sol-web .hvsw-gap p { font-size: 16px; line-height: 1.65; color: var(--hvsw-body); }

.hv-sol-web .hvsw-h3 { margin-top: 34px; font-size: 24px; font-weight: 600; line-height: 1.3; color: var(--hvsw-ink); }
.hv-sol-web .hvsw-checks { list-style: none; margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.hv-sol-web .hvsw-checks li { display: flex; align-items: center; gap: 14px; font-size: 16.5px; color: #1e293b; }
.hv-sol-web .hvsw-checks svg { width: 26px; height: 26px; flex-shrink: 0; color: var(--hvsw-primary); }

/* Price card */
.hv-sol-web .hvsw-price {
  margin-top: 28px; padding: 26px 28px 28px;
  border: 1px solid var(--hvsw-line); border-radius: 14px; background: var(--hvsw-white);
  box-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.05);
}
.hv-sol-web .hvsw-price__label { font-size: 15px; color: var(--hvsw-body); }
.hv-sol-web .hvsw-price__amt { margin-top: 2px; display: flex; align-items: baseline; gap: 8px; }
.hv-sol-web .hvsw-price__amt strong { font-size: 48px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; color: var(--hvsw-ink); }
.hv-sol-web .hvsw-price__amt span { font-size: 19px; color: var(--hvsw-body); }
.hv-sol-web .hvsw-price__note { margin-top: 4px; font-size: 14px; color: var(--hvsw-muted); }
/* Button — targets <a> directly (legacy) or <a> inside <p> (native block) */
.hv-sol-web a.hvsw-btn {
  display: inline-flex; align-items: center; gap: 10px; margin-top: 20px;
  padding: 15px 30px; border-radius: 6px;
  background: var(--hvsw-cta); color: var(--hvsw-white);
  font-family: var(--hvsw-font); font-size: 17px; font-weight: 600; text-decoration: none;
  box-shadow: 0 6px 18px rgba(252,97,0,.28);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-web a.hvsw-btn svg { width: 18px; height: 18px; transition: transform .2s; }
.hv-sol-web a.hvsw-btn:hover { background: var(--hvsw-cta-hover); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.35); }
.hv-sol-web a.hvsw-btn:hover svg { transform: translateX(3px); }
.hv-sol-web a.hvsw-btn:active { background: var(--hvsw-cta-active); transform: none; }
.hv-sol-web .hvsw-btn:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }

/* Read link — targets <a> directly (legacy) or <a> inside <p> (native block) */
.hv-sol-web a.hvsw-read {
  display: inline-block; margin-top: 22px;
  font-size: 15.5px; font-weight: 500; color: var(--hvsw-ink); text-decoration: none;
  border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s;
}
.hv-sol-web a.hvsw-read svg { width: 16px; height: 16px; margin-left: 6px; vertical-align: -2px; transition: transform .2s; }
.hv-sol-web a.hvsw-read:hover { color: var(--hvsw-cta); border-color: var(--hvsw-primary); }
.hv-sol-web a.hvsw-read:hover svg { transform: translateX(3px); }

/* Browser mockup */
.hv-sol-web .hvsw-visual { position: relative; }
.hv-sol-web .hvsw-browser {
  border-radius: 14px; overflow: hidden; background: #fafafa;
  border: 1px solid var(--hvsw-line);
  box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 30px 60px rgba(15,23,42,.12);
}
.hv-sol-web .hvsw-chrome {
  display: flex; align-items: center; gap: 8px; padding: 12px 16px;
  background: #f1f3f6; border-bottom: 1px solid var(--hvsw-line);
}
.hv-sol-web .hvsw-dot { width: 11px; height: 11px; border-radius: 50%; }
.hv-sol-web .hvsw-url {
  flex: 1; max-width: 420px; margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: 6px;
  background: #e6e9ee; border-radius: 6px; padding: 5px 12px; font-size: 12.5px; color: #475569;
}
.hv-sol-web .hvsw-url svg { width: 11px; height: 11px; }

.hv-sol-web .hvsw-site-nav {
  display: flex; align-items: center; gap: 24px; padding: 18px 32px; background: #fff;
  border-bottom: 1px solid #eef0f3;
}
.hv-sol-web .hvsw-site-logo { display: flex; align-items: center; gap: 12px; margin-right: auto; font-weight: 600; font-size: 15px; color: var(--hvsw-ink); }
.hv-sol-web .hvsw-site-logo svg { width: 30px; height: 30px; color: var(--hvsw-site); }
.hv-sol-web .hvsw-site-nav a { font-size: 12.5px; color: #334155; text-decoration: none; }
.hv-sol-web .hvsw-site-nav .hvsw-search { width: 15px; height: 15px; color: #334155; }

.hv-sol-web .hvsw-site-hero {
  position: relative; height: 360px; padding: 48px 40px;
  background:
    linear-gradient(90deg, rgba(250,246,240,.96) 0%, rgba(250,246,240,.82) 42%, rgba(250,246,240,0) 62%),
    linear-gradient(180deg, #efe6da 0%, #e6d8c6 62%, #d9c5ad 62.4%, #cdb497 100%);
}
/* abstract reception: wall panel, counter, plant */
.hv-sol-web .hvsw-site-hero::before {
  content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 46%;
  background: linear-gradient(90deg, rgba(255,255,255,.5), rgba(255,255,255,0) 30%), #ece3d6;
}
.hv-sol-web .hvsw-counter {
  position: absolute; right: 0; bottom: 0; width: 44%; height: 44%;
  background: repeating-linear-gradient(90deg, #c9a27a 0 14px, #c19a72 14px 15px);
  border-top: 8px solid #f4efe8;
}
.hv-sol-web .hvsw-plant { position: absolute; right: 30%; bottom: 44%; width: 70px; height: 110px; }
.hv-sol-web .hvsw-wall-text {
  position: absolute; right: 36px; top: 64px; text-align: left;
  font-size: 10.5px; letter-spacing: .32em; line-height: 2; color: #8a7f72; text-transform: uppercase;
}
.hv-sol-web .hvsw-wall-text::after { content: ''; display: block; width: 36px; height: 1px; background: #a99d8f; margin-top: 10px; }
.hv-sol-web .hvsw-site-copy { position: relative; max-width: 300px; }
.hv-sol-web .hvsw-site-copy h4 { font-size: 34px; font-weight: 600; line-height: 1.12; letter-spacing: -.02em; color: var(--hvsw-ink); }
.hv-sol-web .hvsw-site-copy p { margin-top: 12px; font-size: 13.5px; line-height: 1.55; color: #3f4756; }
.hv-sol-web .hvsw-site-btn {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 18px;
  padding: 10px 18px; border-radius: 4px; background: var(--hvsw-site); color: #fff;
  font-size: 12.5px; font-weight: 600;
}
.hv-sol-web .hvsw-site-btn svg, .hv-sol-web .hvsw-site-form button svg { width: 13px; height: 13px; }

.hv-sol-web .hvsw-site-below { position: relative; height: 230px; background: #f7f7f8; }
.hv-sol-web .hvsw-site-form {
  position: absolute; left: 20%; right: 12%; top: -100px;
  background: #fff; border-radius: 8px; padding: 22px 26px 24px;
  box-shadow: 0 10px 30px rgba(15,23,42,.10); border: 1px solid #eef0f3;
}
.hv-sol-web .hvsw-site-form h5 { font-size: 15px; font-weight: 600; color: var(--hvsw-ink); margin-bottom: 14px; }
.hv-sol-web .hvsw-site-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hv-sol-web .hvsw-site-field { margin-bottom: 12px; }
.hv-sol-web .hvsw-site-field span { display: block; font-size: 11px; color: #334155; margin-bottom: 5px; }
.hv-sol-web .hvsw-site-field i {
  display: flex; align-items: center; justify-content: flex-end; height: 32px; padding: 0 10px;
  border: 1px solid #dfe3e8; border-radius: 4px; font-style: normal; color: #64748b;
}
.hv-sol-web .hvsw-site-field i svg { width: 14px; height: 14px; }
.hv-sol-web .hvsw-site-form small { display: block; font-size: 10.5px; color: #64748b; margin: -2px 0 12px; }
.hv-sol-web .hvsw-site-form button {
  display: inline-flex; align-items: center; gap: 8px; border: 0; cursor: default;
  padding: 10px 20px; border-radius: 4px; background: var(--hvsw-site); color: #fff;
  font-family: var(--hvsw-font); font-size: 12.5px; font-weight: 600;
}

.hv-sol-web .hvsw-badge {
  position: absolute; left: 3%; bottom: 22px;
  display: flex; align-items: center; gap: 12px; padding: 13px 18px;
  background: #0b1220; color: #fff; border-radius: 8px;
  box-shadow: 0 14px 32px rgba(11,18,32,.35);
}
.hv-sol-web .hvsw-badge svg { width: 28px; height: 28px; color: #7fc9c2; flex-shrink: 0; }
.hv-sol-web .hvsw-badge strong { display: block; font-size: 13.5px; font-weight: 600; }
.hv-sol-web .hvsw-badge span { display: block; font-size: 12px; color: rgba(255,255,255,.7); }

.hv-sol-web .hvsw-caption { margin-top: 14px; text-align: center; font-size: 13px; color: var(--hvsw-muted); }

/* ─── NATIVE BLOCK CHECKLIST (list-item blocks with ::before check icon) ─── */
.hv-sol-web .hvsw-checks li::before {
  content: '';
  width: 26px; height: 26px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E");
}

/* ─── NATIVE BLOCK CTA BUTTON (paragraph block) ─── */
.hv-sol-web p.hvsw-btn { margin-top: 20px; }
.hv-sol-web p.hvsw-btn a,
.hv-sol-web p.hvsw-btn a:visited {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 15px 30px; border-radius: 6px;
  background: var(--hvsw-cta); color: var(--hvsw-white);
  font-family: var(--hvsw-font); font-size: 17px; font-weight: 600; text-decoration: none;
  box-shadow: 0 6px 18px rgba(252,97,0,.28);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-web p.hvsw-btn a:hover,
.hv-sol-web p.hvsw-btn a:focus { background: var(--hvsw-cta-hover); color: var(--hvsw-white); text-decoration: none; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.35); }
.hv-sol-web p.hvsw-btn a::after {
  content: '';
  width: 18px; height: 18px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-web p.hvsw-btn a:hover::after { transform: translateX(3px); }

/* ─── NATIVE BLOCK READ LINK (paragraph block) ─── */
.hv-sol-web p.hvsw-read { margin-top: 22px; }
.hv-sol-web p.hvsw-read a,
.hv-sol-web p.hvsw-read a:visited {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15.5px; font-weight: 500; color: var(--hvsw-ink); text-decoration: none;
  border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s;
}
.hv-sol-web p.hvsw-read a::after {
  content: '';
  width: 16px; height: 16px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-web p.hvsw-read a:hover { color: var(--hvsw-cta); border-color: var(--hvsw-primary); }
.hv-sol-web p.hvsw-read a:hover::after { transform: translateX(3px); }

/* ─── NATIVE BLOCK CALLOUT (Group block) ─── */
.hv-sol-web .hvsw-gap .hvsw-gap__label { margin-bottom: 6px; }
.hv-sol-web .hvsw-gap p:not(.hvsw-gap__label) { font-size: 16px; line-height: 1.65; color: var(--hvsw-body); }

/* Container query for editor canvas */
.hv-sol-web .hvsw-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hvsw-container { grid-template-columns: 1fr !important; gap: 48px; }
}

@media (max-width: 1199.98px) {
  .hv-sol-web .hvsw-container { gap: 40px; }
  .hv-sol-web .hvsw-site-form { left: 10%; right: 8%; }
  .hv-sol-web .hvsw-plant { display: none; }
  .hv-sol-web .hvsw-site-copy p { max-width: 230px; }
  .hv-sol-web .hvsw-site-nav { gap: 16px; padding: 18px 24px; }
  .hv-sol-web .hvsw-site-below { height: 290px; }
}
.hv-sol-web .hvsw-site-logo { white-space: nowrap; }
@media (max-width: 991.98px) {
  .hv-sol-web { padding: 72px 20px 80px; }
  .hv-sol-web .hvsw-container { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 575.98px) {
  .hv-sol-web { padding: 56px 16px 64px; }
  .hv-sol-web .hvsw-lead { font-size: 16.5px; }
  .hv-sol-web .hvsw-h3 { font-size: 21px; }
  .hv-sol-web .hvsw-checks li { font-size: 15.5px; }
  .hv-sol-web .hvsw-price { padding: 22px 20px; }
  .hv-sol-web .hvsw-price__amt strong { font-size: 40px; }
  .hv-sol-web .hvsw-btn { width: 100%; justify-content: center; }
  .hv-sol-web .hvsw-site-nav { padding: 14px 16px; gap: 14px; }
  .hv-sol-web .hvsw-site-nav a { display: none; }
  .hv-sol-web .hvsw-site-hero { height: 280px; padding: 32px 20px; }
  .hv-sol-web .hvsw-site-copy h4 { font-size: 26px; }
  .hv-sol-web .hvsw-site-copy p { font-size: 12.5px; max-width: 200px; }
  .hv-sol-web .hvsw-wall-text, .hv-sol-web .hvsw-plant { display: none; }
  .hv-sol-web .hvsw-site-below { height: auto; padding: 0 12px 16px; }
  .hv-sol-web .hvsw-site-form { position: relative; left: auto; right: auto; top: -40px; margin-bottom: -24px; padding: 18px; }
  .hv-sol-web .hvsw-site-row { grid-template-columns: 1fr; gap: 0; }
  .hv-sol-web .hvsw-badge { position: relative; left: auto; bottom: auto; display: inline-flex; padding: 10px 14px; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-web * { transition: none !important; } }

/* ═══════════════════════════════════════════════════════════════
   SECTION 02 — Patient Forms
   Namespace: .hv-sol-forms  ·  class prefix: .hvsf-
═══════════════════════════════════════════════════════════════ */
.hv-sol-forms {
  --hvsf-primary:    #fc6100;
  --hvsf-primary-lt: #ff7a26;
  --hvsf-primary-dk: #e05500;
  --hvsf-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsf-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsf-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsf-ink:        #0b1220;
  --hvsf-body:       #475569;
  --hvsf-muted:      #64748b;
  --hvsf-line:       #e2e8f0;
  --hvsf-bg:         #f5f6f8;
  --hvsf-soft:       #eceff3;
  --hvsf-white:      #ffffff;
  --hvsf-demo:       #1f6f6b;   /* preview/mockup accent — kept distinct from CTA orange */
  --hvsf-demo-soft:  #a7d3cf;
  --hvsf-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvsf-bg);
  border-top: 1px solid var(--hvsf-line);
  font-family: var(--hvsf-font);
  color: var(--hvsf-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-forms *, .hv-sol-forms *::before, .hv-sol-forms *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-forms .hvsf-container { max-width: 1240px; margin: 0 auto; }

/* Header */
.hv-sol-forms .hvsf-kicker {
  font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--hvsf-cta); margin-bottom: 14px;
}
.hv-sol-forms .hvsf-title { font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.hv-sol-forms .hvsf-title em { font-style: normal; color: var(--hvsf-primary); }
.hv-sol-forms .hvsf-lead { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--hvsf-body); max-width: 720px; }

.hv-sol-forms .hvsf-grid {
  margin-top: 44px;
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 64px; align-items: start;
}

/* ─── Form mockup ─── */
.hv-sol-forms .hvsf-visual { position: relative; padding-right: 28px; }
.hv-sol-forms .hvsf-app {
  background: var(--hvsf-white); border-radius: 12px; overflow: hidden;
  border: 1px solid var(--hvsf-line);
  box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 24px 50px rgba(15,23,42,.10);
}
.hv-sol-forms .hvsf-app__bar {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 20px; background: var(--hvsf-ink); color: #fff;
}
.hv-sol-forms .hvsf-app__brand { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 500; }
.hv-sol-forms .hvsf-app__brand svg { width: 13px; height: 13px; color: #7fc9c2; }
.hv-sol-forms .hvsf-app__secure { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: rgba(255,255,255,.8); }
.hv-sol-forms .hvsf-app__secure svg { width: 14px; height: 14px; }

.hv-sol-forms .hvsf-app__body { padding: 24px 44px 28px; }
.hv-sol-forms .hvsf-app__body h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; }
.hv-sol-forms .hvsf-app__org { font-size: 12.5px; color: var(--hvsf-muted); margin-bottom: 18px; }
.hv-sol-forms .hvsf-f { margin-bottom: 14px; }
.hv-sol-forms .hvsf-f > span { display: block; font-size: 12.5px; font-weight: 500; color: #1e293b; margin-bottom: 6px; }
.hv-sol-forms .hvsf-f i {
  display: flex; align-items: center; justify-content: space-between; height: 34px; padding: 0 12px;
  border: 1px solid #d6dbe2; border-radius: 4px; font-style: normal; font-size: 12px; color: #94a3b8;
}
.hv-sol-forms .hvsf-f i svg { width: 14px; height: 14px; color: #475569; }
.hv-sol-forms .hvsf-consent { display: flex; align-items: center; gap: 9px; margin: 4px 0 14px; font-size: 12.5px; color: #1e293b; }
.hv-sol-forms .hvsf-consent b {
  width: 16px; height: 16px; border-radius: 3px; background: var(--hvsf-demo);
  display: grid; place-content: center;
}
.hv-sol-forms .hvsf-consent b svg { width: 11px; height: 11px; color: #fff; }
.hv-sol-forms .hvsf-sig {
  height: 62px; width: 62%; border: 1px solid #d6dbe2; border-radius: 4px;
  display: flex; align-items: center; padding: 0 18px; color: #1e293b;
}
.hv-sol-forms .hvsf-sig svg { width: 190px; height: 40px; }
.hv-sol-forms .hvsf-app__submit {
  display: inline-block; margin-top: 16px; padding: 10px 30px; border-radius: 4px;
  background: var(--hvsf-demo); color: #fff; font-size: 13px; font-weight: 600;
}

.hv-sol-forms .hvsf-activity {
  position: absolute; right: 0; bottom: 14px; width: 280px;
  background: var(--hvsf-white); border-radius: 8px; padding: 18px 20px 20px;
  border: 1px solid var(--hvsf-line);
  box-shadow: 0 16px 40px rgba(15,23,42,.14);
}
.hv-sol-forms .hvsf-activity__head { display: flex; align-items: center; justify-content: space-between; font-size: 13.5px; font-weight: 600; margin-bottom: 14px; }
.hv-sol-forms .hvsf-activity__head svg { width: 18px; height: 18px; color: #475569; }
.hv-sol-forms .hvsf-activity ol { list-style: none; position: relative; display: flex; flex-direction: column; gap: 16px; }
.hv-sol-forms .hvsf-activity ol::before {
  content: ''; position: absolute; left: 4px; top: 10px; bottom: 10px; width: 1px; background: var(--hvsf-demo-soft);
}
.hv-sol-forms .hvsf-activity li { position: relative; padding-left: 22px; font-size: 12.5px; color: var(--hvsf-body); }
.hv-sol-forms .hvsf-activity li::before {
  content: ''; position: absolute; left: 0; top: 50%; width: 9px; height: 9px; margin-top: -4.5px;
  border-radius: 50%; background: var(--hvsf-demo); box-shadow: 0 0 0 3px #fff;
}
.hv-sol-forms .hvsf-caption { margin-top: 14px; font-size: 13px; color: var(--hvsf-muted); }

/* ─── Right column (native Group + Paragraph blocks) ─── */
.hv-sol-forms .hvsf-gap {
  padding: 20px 24px; background: var(--hvsf-soft);
  border-left: 4px solid var(--hvsf-primary); border-radius: 0 10px 10px 0;
}
.hv-sol-forms .hvsf-gap .hvsf-gap__label { margin-bottom: 6px; }
.hv-sol-forms .hvsf-gap p:not(.hvsf-gap__label) { font-size: 15.5px; line-height: 1.65; color: var(--hvsf-body); }
.hv-sol-forms .hvsf-gap__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.hv-sol-forms .hvsf-h3 { margin-top: 36px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.22; letter-spacing: -.015em; }
.hv-sol-forms .hvsf-checks { list-style: none; margin-top: 22px; display: flex; flex-direction: column; gap: 16px; }
.hv-sol-forms .hvsf-checks li { display: flex; align-items: center; gap: 16px; font-size: 16.5px; color: #1e293b; }
/* NATIVE BLOCK CHECKLIST — orange filled circle with white check via ::before */
.hv-sol-forms .hvsf-checks li::before {
  content: '';
  width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%;
  background: var(--hvsf-primary) no-repeat center / 15px 15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3.5 8.3 3 3 6-6.3'/%3E%3C/svg%3E");
  box-shadow: 0 4px 10px rgba(252,97,0,.25);
}
.hv-sol-forms .hvsf-capacity { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--hvsf-line); font-size: 15.5px; color: var(--hvsf-muted); }

/* ─── Plans (native Group blocks) ─── */
.hv-sol-forms .hvsf-plans { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hv-sol-forms .hvsf-plan {
  position: relative; overflow: hidden;
  background: var(--hvsf-white); border: 1px solid var(--hvsf-line); border-radius: 10px;
  padding: 26px 28px 28px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.hv-sol-forms .hvsf-plan:hover { border-color: #cbd5e1; box-shadow: 0 12px 28px rgba(15,23,42,.08); transform: translateY(-2px); }
.hv-sol-forms .hvsf-plan--featured { border-color: rgba(252,97,0,.35); }
.hv-sol-forms .hvsf-plan--featured::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--hvsf-primary); }
.hv-sol-forms .hvsf-plan .hvsf-plan__name { font-size: 17px; font-weight: 600; }
.hv-sol-forms .hvsf-plan__header { display: flex; align-items: center; gap: 10px; }
.hv-sol-forms p.hvsf-plan__tag {
  display: inline-block;
  font-size: 10.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--hvsf-cta); background: rgba(252,97,0,.1); padding: 3px 8px; border-radius: 100px;
  white-space: nowrap;
}
.hv-sol-forms p.hvsf-plan__price { margin-top: 8px; display: flex; align-items: baseline; gap: 4px; }
.hv-sol-forms p.hvsf-plan__price strong { font-size: 40px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.hv-sol-forms p.hvsf-plan__meta { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--hvsf-body); }
/* NATIVE BLOCK PILL — paragraph wrapping an anchor */
.hv-sol-forms p.hvsf-pill { margin-top: 18px; }
.hv-sol-forms p.hvsf-pill a,
.hv-sol-forms p.hvsf-pill a:visited {
  display: inline-block; padding: 6px 18px; border-radius: 100px;
  font-size: 13.5px; font-weight: 500; text-decoration: none;
  border: 1.5px solid var(--hvsf-cta); color: var(--hvsf-cta);
  transition: background .2s, color .2s;
}
.hv-sol-forms p.hvsf-pill a:hover,
.hv-sol-forms p.hvsf-pill a:focus,
.hv-sol-forms p.hvsf-pill a:focus-visible { background: var(--hvsf-cta); color: #fff; text-decoration: none; }
.hv-sol-forms p.hvsf-pill--plain,
.hv-sol-forms p.hvsf-pill--plain a,
.hv-sol-forms p.hvsf-pill--plain a:hover,
.hv-sol-forms p.hvsf-pill--plain a:focus { border-color: transparent; background: var(--hvsf-soft); color: var(--hvsf-body); text-decoration: none; cursor: default; }

/* Footer row (native Paragraph blocks) */
.hv-sol-forms .hvsf-foot { margin-top: 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 16px 32px; }
/* NATIVE BLOCK CTA BUTTON — paragraph wrapping anchor, arrow via ::after */
.hv-sol-forms p.hvsf-btn a,
.hv-sol-forms p.hvsf-btn a:visited {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; border-radius: 6px;
  background: var(--hvsf-cta); color: #fff; text-decoration: none;
  font-family: var(--hvsf-font); font-size: 17px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(252,97,0,.28);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-forms p.hvsf-btn a:hover,
.hv-sol-forms p.hvsf-btn a:focus { background: var(--hvsf-cta-hover); color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.35); }
.hv-sol-forms p.hvsf-btn a::after {
  content: '';
  width: 18px; height: 18px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-forms p.hvsf-btn a:hover::after { transform: translateX(3px); }
.hv-sol-forms p.hvsf-btn a:active { background: var(--hvsf-cta-active); color: #fff; transform: none; }
.hv-sol-forms p.hvsf-btn a:focus-visible,
.hv-sol-forms p.hvsf-pill a:focus-visible,
.hv-sol-forms p.hvsf-read a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }
/* NATIVE BLOCK READ LINK — paragraph wrapping anchor, arrow via ::after */
.hv-sol-forms p.hvsf-read a,
.hv-sol-forms p.hvsf-read a:visited {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15.5px; font-weight: 500; color: var(--hvsf-ink); text-decoration: none;
  border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s;
}
.hv-sol-forms p.hvsf-read a::after {
  content: '';
  width: 16px; height: 16px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-forms p.hvsf-read a:hover { color: var(--hvsf-cta); border-color: var(--hvsf-primary); }
.hv-sol-forms p.hvsf-read a:hover::after { transform: translateX(3px); }
.hv-sol-forms .hvsf-note { margin-left: auto; font-size: 13.5px; color: var(--hvsf-muted); }

@media (max-width: 1199.98px) {
  .hv-sol-forms .hvsf-grid { gap: 44px; }
  .hv-sol-forms .hvsf-app__body { padding: 22px 28px 26px; }
}
@media (max-width: 991.98px) {
  .hv-sol-forms { padding: 72px 20px 80px; }
  .hv-sol-forms .hvsf-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-forms .hvsf-visual { max-width: 640px; }
  .hv-sol-forms .hvsf-plans { grid-template-columns: 1fr; max-width: 560px; }
  .hv-sol-forms .hvsf-note { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 575.98px) {
  .hv-sol-forms { padding: 56px 16px 64px; }
  .hv-sol-forms .hvsf-lead { font-size: 16.5px; }
  .hv-sol-forms .hvsf-visual { padding-right: 0; }
  .hv-sol-forms .hvsf-app__body { padding: 20px 18px 22px; }
  .hv-sol-forms .hvsf-sig { width: 100%; }
  .hv-sol-forms .hvsf-activity { position: relative; right: auto; bottom: auto; width: auto; margin: -12px 12px 0; }
  .hv-sol-forms .hvsf-checks li { font-size: 15.5px; }
  .hv-sol-forms .hvsf-plan { padding: 22px 20px 24px; }
  .hv-sol-forms p.hvsf-btn a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-forms * { transition: none !important; } }

/* ─── Container query for editor responsiveness ─── */
.hv-sol-forms .hvsf-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hv-sol-forms .hvsf-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-forms .hvsf-plans { grid-template-columns: 1fr; max-width: 560px; }
}
@container (max-width: 575px) {
  .hv-sol-forms p.hvsf-btn a { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 03 — Email
   Namespace: .hv-sol-email  ·  class prefix: .hvse-
═══════════════════════════════════════════════════════════════ */
.hv-sol-email {
  --hvse-primary:    #fc6100;
  --hvse-primary-lt: #ff7a26;
  --hvse-primary-dk: #e05500;
  --hvse-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvse-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvse-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvse-ink:        #0b1220;
  --hvse-body:       #475569;
  --hvse-muted:      #64748b;
  --hvse-line:       #e2e8f0;
  --hvse-soft:       #f3f5f8;
  --hvse-white:      #ffffff;
  --hvse-demo:       #1f6f6b;   /* preview/mockup accent — never CTA orange */
  --hvse-demo-bg:    #e7f2f1;
  --hvse-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvse-white);
  border-top: 1px solid var(--hvse-line);
  font-family: var(--hvse-font);
  color: var(--hvse-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-email *, .hv-sol-email *::before, .hv-sol-email *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-email .hvse-container { max-width: 1240px; margin: 0 auto; }

.hv-sol-email .hvse-kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--hvse-cta); margin-bottom: 14px; }
.hv-sol-email .hvse-title { font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.hv-sol-email .hvse-title em { font-style: normal; color: var(--hvse-primary); }
.hv-sol-email .hvse-lead { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--hvse-body); max-width: 760px; }

.hv-sol-email .hvse-grid { margin-top: 40px; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 48px; align-items: start; }

/* Copy column (native Group + Paragraph blocks) */
.hv-sol-email .hvse-gap { padding: 20px 24px; background: var(--hvse-soft); border-left: 4px solid var(--hvse-primary); border-radius: 0 10px 10px 0; }
.hv-sol-email .hvse-gap .hvse-gap__label { margin-bottom: 6px; }
.hv-sol-email .hvse-gap p:not(.hvse-gap__label) { font-size: 15.5px; line-height: 1.65; color: var(--hvse-body); }
.hv-sol-email .hvse-gap__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.hv-sol-email .hvse-h3 { margin-top: 34px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.22; letter-spacing: -.015em; }
.hv-sol-email .hvse-checks { list-style: none; margin-top: 20px; display: flex; flex-direction: column; gap: 14px; }
.hv-sol-email .hvse-checks li { display: flex; align-items: center; gap: 14px; font-size: 16.5px; color: #1e293b; }
/* NATIVE BLOCK CHECKLIST — orange circle-check via ::before */
.hv-sol-email .hvse-checks li::before {
  content: '';
  width: 28px; height: 28px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E");
}
/* NATIVE BLOCK MIGRATE CTA — paragraph wrapping anchor, chat icon via ::before */
.hv-sol-email p.hvse-migrate { margin-top: 26px; }
.hv-sol-email p.hvse-migrate a,
.hv-sol-email p.hvse-migrate a:visited {
  display: flex; align-items: center; gap: 12px;
  padding: 15px 20px; border: 1px solid var(--hvse-line); border-radius: 10px; background: var(--hvse-soft);
  font-size: 15px; color: var(--hvse-body); text-decoration: none; transition: border-color .2s, color .2s;
}
.hv-sol-email p.hvse-migrate a::before {
  content: '';
  width: 20px; height: 20px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20.5l1.4-4.6A8 8 0 1 1 21 12z'/%3E%3Cpath d='M8.5 12h.01M12 12h.01M15.5 12h.01'/%3E%3C/svg%3E");
}
.hv-sol-email p.hvse-migrate a strong { font-weight: 500; color: var(--hvse-ink); }
.hv-sol-email p.hvse-migrate a:hover { border-color: rgba(252,97,0,.45); text-decoration: none; }
.hv-sol-email p.hvse-migrate a:hover strong { color: var(--hvse-cta); }

/* Inbox mockup */
.hv-sol-email .hvse-visual { position: relative; }
.hv-sol-email .hvse-mail {
  border: 1px solid var(--hvse-line); border-radius: 12px; overflow: hidden; background: #fff;
  box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 24px 50px rgba(15,23,42,.10);
}
.hv-sol-email .hvse-mail__bar { display: flex; align-items: center; gap: 8px; padding: 12px 16px; border-bottom: 1px solid var(--hvse-line); background: #fafbfc; }
.hv-sol-email .hvse-dot { width: 11px; height: 11px; border-radius: 50%; }
.hv-sol-email .hvse-mail__name { margin-left: 18px; font-size: 15px; font-weight: 600; }
.hv-sol-email .hvse-mail__search {
  margin-left: auto; display: flex; align-items: center; gap: 8px; width: 210px;
  padding: 7px 12px; border: 1px solid var(--hvse-line); border-radius: 6px; background: #fff; font-size: 12px; color: #94a3b8;
}
.hv-sol-email .hvse-mail__search svg { width: 13px; height: 13px; color: #64748b; }
.hv-sol-email .hvse-avatar { width: 30px; height: 30px; border-radius: 50%; background: #e2e8f0; display: grid; place-content: center; font-size: 11px; font-weight: 600; color: #475569; }

.hv-sol-email .hvse-mail__body { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1.1fr); min-height: 370px; }
.hv-sol-email .hvse-nav { padding: 16px 10px; border-right: 1px solid var(--hvse-line); background: #fafbfc; }
.hv-sol-email .hvse-nav div { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 6px; font-size: 13px; color: #334155; margin-bottom: 4px; }
.hv-sol-email .hvse-nav svg { width: 17px; height: 17px; color: #64748b; }
.hv-sol-email .hvse-nav .is-on { background: var(--hvse-demo-bg); color: var(--hvse-demo); font-weight: 500; }
.hv-sol-email .hvse-nav .is-on svg { color: var(--hvse-demo); }
.hv-sol-email .hvse-nav em { margin-left: auto; font-style: normal; font-size: 11px; width: 20px; height: 20px; border-radius: 50%; background: #e2e8f0; display: grid; place-content: center; }

.hv-sol-email .hvse-list { border-right: 1px solid var(--hvse-line); }
.hv-sol-email .hvse-list__head { display: flex; justify-content: space-between; padding: 14px 16px 10px; font-size: 14px; font-weight: 600; }
.hv-sol-email .hvse-list__head span { color: #94a3b8; letter-spacing: 2px; }
.hv-sol-email .hvse-msg { padding: 12px 16px; border-top: 1px solid #f1f5f9; font-size: 12px; color: #334155; }
.hv-sol-email .hvse-msg.is-on { background: var(--hvse-demo-bg); box-shadow: inset 3px 0 0 var(--hvse-demo); }
.hv-sol-email .hvse-msg__top { display: flex; justify-content: space-between; gap: 8px; color: #334155; }
.hv-sol-email .hvse-msg__top time { font-size: 11px; color: #64748b; white-space: nowrap; }
.hv-sol-email .hvse-msg b { display: block; margin-top: 2px; font-weight: 600; color: var(--hvse-ink); }
.hv-sol-email .hvse-msg p { margin-top: 2px; color: #64748b; font-size: 11.5px; }
.hv-sol-email .hvse-enc { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 11.5px; color: #334155; }
.hv-sol-email .hvse-enc svg { width: 14px; height: 14px; color: var(--hvse-demo); }

.hv-sol-email .hvse-read { padding: 14px 22px; }
.hv-sol-email .hvse-read__tools { display: flex; justify-content: flex-end; gap: 16px; color: #64748b; }
.hv-sol-email .hvse-read__tools svg { width: 16px; height: 16px; }
.hv-sol-email .hvse-read h5 { margin-top: 18px; font-size: 16px; font-weight: 600; }
.hv-sol-email .hvse-read__meta { margin-top: 6px; font-size: 11.5px; line-height: 1.6; color: #64748b; padding-bottom: 16px; border-bottom: 1px solid var(--hvse-line); }
.hv-sol-email .hvse-read__text { margin-top: 16px; font-size: 12.5px; color: #334155; }
.hv-sol-email .hvse-skel { margin-top: 12px; height: 8px; border-radius: 4px; background: #eef1f4; }

.hv-sol-email .hvse-managed {
  position: absolute; right: -14px; bottom: 34px;
  display: flex; align-items: center; gap: 14px; padding: 16px 22px;
  background: #fff; border: 1px solid var(--hvse-line); border-radius: 10px;
  box-shadow: 0 16px 40px rgba(15,23,42,.14);
}
.hv-sol-email .hvse-managed svg { width: 34px; height: 34px; color: var(--hvse-demo); flex-shrink: 0; }
.hv-sol-email .hvse-managed strong { display: block; font-size: 13.5px; font-weight: 600; }
.hv-sol-email .hvse-managed span { display: block; font-size: 12px; color: #64748b; }
.hv-sol-email .hvse-caption { margin-top: 14px; text-align: center; font-size: 13px; color: var(--hvse-muted); }

/* Plans */
/* ─── Plans (native Group blocks with Image + Paragraphs) ─── */
.hv-sol-email .hvse-plans { margin-top: 40px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hv-sol-email .hvse-plan {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px 22px;
  padding: 24px 26px; border: 1px solid var(--hvse-line); border-radius: 12px; background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.hv-sol-email .hvse-plan:hover { border-color: #cbd5e1; box-shadow: 0 12px 28px rgba(15,23,42,.07); }
/* Image block as plan icon */
.hv-sol-email .hvse-plan__icon { width: 52px; height: 52px; border-radius: 12px; background: #fff; border: 1px solid var(--hvse-line); display: grid; place-content: center; margin: 0; }
.hv-sol-email .hvse-plan__icon img { width: 32px; height: 32px; object-fit: contain; display: block; }
.hv-sol-email .hvse-plan__info .hvse-plan__name { font-size: 17px; font-weight: 600; }
.hv-sol-email .hvse-plan__info p.hvse-plan__label { font-size: 13.5px; color: var(--hvse-muted); }
.hv-sol-email .hvse-plan__info p.hvse-plan__price { margin-top: 8px; display: flex; align-items: baseline; gap: 4px; }
.hv-sol-email .hvse-plan__info p.hvse-plan__price strong { font-size: 32px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.hv-sol-email .hvse-plan__info p.hvse-plan__note { margin-top: 2px; font-size: 13px; color: var(--hvse-muted); }

/* NATIVE BLOCK CTA BUTTON — paragraph wrapping anchor, arrow via ::after */
.hv-sol-email p.hvse-btn a,
.hv-sol-email p.hvse-btn a:visited {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 24px; border-radius: 6px; white-space: nowrap;
  background: var(--hvse-cta); color: #fff; text-decoration: none;
  font-family: var(--hvse-font); font-size: 15.5px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(252,97,0,.25);
  transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-email p.hvse-btn a::after {
  content: '';
  width: 17px; height: 17px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-email p.hvse-btn a:hover,
.hv-sol-email p.hvse-btn a:focus { background: var(--hvse-cta-hover); color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.33); }
.hv-sol-email p.hvse-btn a:hover::after { transform: translateX(3px); }
.hv-sol-email p.hvse-btn a:active { background: var(--hvse-cta-active); color: #fff; transform: none; }
.hv-sol-email p.hvse-btn a:focus-visible,
.hv-sol-email p.hvse-readlink a:focus-visible,
.hv-sol-email p.hvse-migrate a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }

/* NATIVE BLOCK READ LINK — paragraph wrapping anchor, arrow via ::after */
.hv-sol-email p.hvse-readlink { margin-top: 26px; }
.hv-sol-email p.hvse-readlink a,
.hv-sol-email p.hvse-readlink a:visited {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 15.5px; font-weight: 500; color: var(--hvse-ink); text-decoration: none;
  border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s;
}
.hv-sol-email p.hvse-readlink a::after {
  content: '';
  width: 16px; height: 16px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-email p.hvse-readlink a:hover { color: var(--hvse-cta); border-color: var(--hvse-primary); text-decoration: none; }
.hv-sol-email p.hvse-readlink a:hover::after { transform: translateX(3px); }

@media (max-width: 1199.98px) {
  .hv-sol-email .hvse-grid { gap: 40px; }
  .hv-sol-email .hvse-managed { right: 8px; }
  .hv-sol-email .hvse-mail__body { grid-template-columns: 52px minmax(0, 1fr) minmax(0, 1.1fr); }
  .hv-sol-email .hvse-nav span, .hv-sol-email .hvse-nav em { display: none; }
  .hv-sol-email .hvse-nav div { justify-content: center; padding: 9px 0; }
  .hv-sol-email .hvse-mail__search { width: 160px; }
  .hv-sol-email .hvse-plan { grid-template-columns: auto minmax(0, 1fr); }
  .hv-sol-email .hvse-plan p.hvse-btn { grid-column: 1 / -1; }
}
@media (max-width: 991.98px) {
  .hv-sol-email { padding: 72px 20px 80px; }
  .hv-sol-email .hvse-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-email .hvse-managed { right: 12px; }
  .hv-sol-email .hvse-plans { grid-template-columns: 1fr; max-width: 620px; }
}
@media (max-width: 575.98px) {
  .hv-sol-email { padding: 56px 16px 64px; }
  .hv-sol-email .hvse-lead { font-size: 16.5px; }
  .hv-sol-email .hvse-checks li { font-size: 15.5px; }
  .hv-sol-email .hvse-mail__search, .hv-sol-email .hvse-read { display: none; }
  .hv-sol-email .hvse-mail__body { grid-template-columns: 48px minmax(0, 1fr); min-height: 0; }
  .hv-sol-email .hvse-list { border-right: 0; }
  .hv-sol-email .hvse-avatar { margin-left: auto; }
  .hv-sol-email .hvse-managed { position: relative; right: auto; bottom: auto; margin: 12px 0 0; }
  .hv-sol-email .hvse-plan { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-email * { transition: none !important; } }

/* ─── Container query for editor responsiveness ─── */
.hv-sol-email .hvse-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hv-sol-email .hvse-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-email .hvse-plans { grid-template-columns: 1fr; max-width: 620px; }
}
@container (max-width: 575px) {
  .hv-sol-email .hvse-plan { padding: 20px; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 04 — Fax
   Namespace: .hv-sol-fax  ·  class prefix: .hvsx-
═══════════════════════════════════════════════════════════════ */
.hv-sol-fax {
  --hvsx-primary:    #fc6100;
  --hvsx-primary-lt: #ff7a26;
  --hvsx-primary-dk: #e05500;
  --hvsx-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsx-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsx-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsx-ink:        #0b1220;
  --hvsx-body:       #475569;
  --hvsx-muted:      #64748b;
  --hvsx-line:       #e2e8f0;
  --hvsx-bg:         #f5f6f8;
  --hvsx-soft:       #eceff3;
  --hvsx-white:      #ffffff;
  --hvsx-demo:       #1f6f6b;   /* preview/mockup accent — never CTA orange */
  --hvsx-demo-bg:    #e7f2f1;
  --hvsx-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvsx-bg);
  border-top: 1px solid var(--hvsx-line);
  font-family: var(--hvsx-font);
  color: var(--hvsx-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-fax *, .hv-sol-fax *::before, .hv-sol-fax *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-fax .hvsx-container { max-width: 1240px; margin: 0 auto; }

.hv-sol-fax .hvsx-kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--hvsx-cta); margin-bottom: 14px; }
.hv-sol-fax .hvsx-kicker span { color: var(--hvsx-muted); margin: 0 6px; }
.hv-sol-fax .hvsx-title { font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.hv-sol-fax .hvsx-title em { font-style: normal; color: var(--hvsx-primary); }
.hv-sol-fax .hvsx-lead { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--hvsx-body); max-width: 760px; }

.hv-sol-fax .hvsx-grid { margin-top: 44px; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 64px; align-items: start; }

/* ─── Fax dashboard mockup ─── */
.hv-sol-fax .hvsx-visual { position: relative; padding-bottom: 8px; }
.hv-sol-fax .hvsx-app {
  background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--hvsx-line);
  box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 24px 50px rgba(15,23,42,.10);
}
.hv-sol-fax .hvsx-app__bar { display: flex; align-items: center; justify-content: space-between; padding: 12px 20px; background: var(--hvsx-ink); color: #fff; }
.hv-sol-fax .hvsx-app__brand { display: flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 500; }
.hv-sol-fax .hvsx-app__brand svg { width: 18px; height: 18px; color: #7fc9c2; }
.hv-sol-fax .hvsx-app__ws { display: flex; align-items: center; gap: 6px; font-size: 12px; color: rgba(255,255,255,.85); }
.hv-sol-fax .hvsx-app__ws svg { width: 13px; height: 13px; }
.hv-sol-fax .hvsx-app__body { padding: 22px 22px 24px; }
.hv-sol-fax .hvsx-app__body h4 { font-size: 21px; font-weight: 600; letter-spacing: -.01em; }
.hv-sol-fax .hvsx-tabs { display: flex; gap: 6px; margin-top: 14px; border-bottom: 1px solid var(--hvsx-line); }
.hv-sol-fax .hvsx-tabs span { padding: 8px 16px; font-size: 13px; color: var(--hvsx-muted); }
.hv-sol-fax .hvsx-tabs .is-on { color: var(--hvsx-ink); font-weight: 500; box-shadow: inset 0 -2px 0 var(--hvsx-demo); }

.hv-sol-fax .hvsx-table { margin-top: 14px; border: 1px solid var(--hvsx-line); border-radius: 8px; overflow: hidden; }
.hv-sol-fax .hvsx-row { display: grid; grid-template-columns: minmax(0, 1.9fr) minmax(0, .9fr) minmax(0, .7fr); align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid #eef1f4; font-size: 12.5px; color: #334155; }
.hv-sol-fax .hvsx-row--head { border-top: 0; background: #f6f7f9; font-size: 12px; font-weight: 500; color: #475569; }
.hv-sol-fax .hvsx-doc { display: flex; align-items: center; gap: 12px; min-width: 0; }
.hv-sol-fax .hvsx-doc svg { width: 20px; height: 20px; flex-shrink: 0; color: #64748b; }
.hv-sol-fax .hvsx-doc small { color: var(--hvsx-muted); font-size: 12px; }
.hv-sol-fax .hvsx-status { justify-self: start; padding: 4px 12px; border-radius: 100px; font-size: 11.5px; font-weight: 500; background: #eef1f4; color: #334155; }
.hv-sol-fax .hvsx-status--ok { background: var(--hvsx-demo-bg); color: var(--hvsx-demo); }
.hv-sol-fax .hvsx-row time { color: #64748b; }
.hv-sol-fax .hvsx-table__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-top: 1px solid #eef1f4; font-size: 12px; color: var(--hvsx-muted); }
.hv-sol-fax .hvsx-table__foot > span { display: flex; align-items: center; gap: 8px; }
.hv-sol-fax .hvsx-table__foot svg { width: 15px; height: 15px; }
.hv-sol-fax .hvsx-sendfax { white-space: nowrap; padding: 7px 20px; border-radius: 5px; border: 1.5px solid var(--hvsx-demo); color: var(--hvsx-demo); font-size: 12.5px; font-weight: 600; }

.hv-sol-fax .hvsx-port {
  position: absolute; right: -22px; bottom: -18px;
  display: flex; align-items: center; gap: 14px; padding: 14px 20px;
  background: #fff; border: 1px solid var(--hvsx-line); border-radius: 10px;
  box-shadow: 0 16px 40px rgba(15,23,42,.14);
}
.hv-sol-fax .hvsx-port svg { width: 34px; height: 34px; color: var(--hvsx-demo); flex-shrink: 0; }
.hv-sol-fax .hvsx-port strong { display: block; font-size: 13.5px; font-weight: 600; }
.hv-sol-fax .hvsx-port span { display: block; font-size: 12px; color: #64748b; }
.hv-sol-fax .hvsx-caption { margin-top: 18px; font-size: 13px; color: var(--hvsx-muted); }

/* ─── Copy column ─── */
.hv-sol-fax .hvsx-gap { padding: 20px 24px; background: var(--hvsx-soft); border-left: 4px solid var(--hvsx-primary); border-radius: 0 10px 10px 0; }
.hv-sol-fax .hvsx-gap__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.hv-sol-fax .hvsx-gap p { font-size: 15.5px; line-height: 1.65; color: var(--hvsx-body); }
.hv-sol-fax .hvsx-h3 { margin-top: 36px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.22; letter-spacing: -.015em; }
/* NATIVE BLOCK CHECKLIST — SVG icons via li::before pseudo-element */
.hv-sol-fax .hvsx-checks { list-style: none; padding: 0; margin-top: 22px; display: flex; flex-direction: column; gap: 16px; }
.hv-sol-fax .hvsx-checks li { display: flex; align-items: center; gap: 14px; font-size: 16.5px; color: #1e293b; }
.hv-sol-fax .hvsx-checks li::before {
  content: '';
  width: 28px; height: 28px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E");
}
.hv-sol-fax .hvsx-incl { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--hvsx-line); font-size: 15.5px; color: var(--hvsx-muted); }

/* ─── Plans (native Group blocks) ─── */
.hv-sol-fax .hvsx-plans { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hv-sol-fax .hvsx-plan { background: #fff; border: 1px solid var(--hvsx-line); border-radius: 10px; padding: 26px 28px 28px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hv-sol-fax .hvsx-plan:hover { border-color: #cbd5e1; box-shadow: 0 12px 28px rgba(15,23,42,.08); transform: translateY(-2px); }
.hv-sol-fax .hvsx-plan h4 { font-size: 17px; font-weight: 600; }
.hv-sol-fax .hvsx-plan__price { margin-top: 8px; display: flex; align-items: baseline; gap: 8px; font-size: 17px; color: var(--hvsx-body); }
.hv-sol-fax .hvsx-plan__price strong { font-size: 40px; font-weight: 700; letter-spacing: -.02em; line-height: 1.1; color: var(--hvsx-ink); }
.hv-sol-fax .hvsx-plan__meta { margin-top: 6px; font-size: 15px; color: var(--hvsx-body); }
/* NATIVE BLOCK PILL — paragraph wrapping anchor */
.hv-sol-fax p.hvsx-pill { margin-top: 18px; }
.hv-sol-fax p.hvsx-pill a,
.hv-sol-fax p.hvsx-pill a:visited {
  display: inline-block; padding: 6px 18px; border-radius: 100px;
  font-size: 13.5px; font-weight: 500; text-decoration: none;
  border: 1.5px solid var(--hvsx-cta); color: var(--hvsx-cta); transition: background .2s, color .2s;
}
.hv-sol-fax p.hvsx-pill a:hover,
.hv-sol-fax p.hvsx-pill a:focus { background: var(--hvsx-cta); color: #fff; }
.hv-sol-fax p.hvsx-pill a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }

.hv-sol-fax .hvsx-foot { margin-top: 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 16px 32px; }
/* NATIVE BLOCK CTA — paragraph wrapping anchor, arrow icon via ::after */
.hv-sol-fax p.hvsx-btn { margin: 0; }
.hv-sol-fax p.hvsx-btn a,
.hv-sol-fax p.hvsx-btn a:visited {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; border-radius: 6px;
  background: var(--hvsx-cta); color: #fff; text-decoration: none;
  font-family: var(--hvsx-font); font-size: 17px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(252,97,0,.28); transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-fax p.hvsx-btn a::after {
  content: '';
  width: 18px; height: 18px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-fax p.hvsx-btn a:hover,
.hv-sol-fax p.hvsx-btn a:focus { background: var(--hvsx-cta-hover); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.35); }
.hv-sol-fax p.hvsx-btn a:hover::after { transform: translateX(3px); }
.hv-sol-fax p.hvsx-btn a:active { background: var(--hvsx-cta-active); color: #fff; transform: none; }
.hv-sol-fax p.hvsx-btn a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }
/* NATIVE BLOCK READ LINK — paragraph wrapping anchor, arrow icon via ::after */
.hv-sol-fax p.hvsx-readlink { margin: 0; }
.hv-sol-fax p.hvsx-readlink a,
.hv-sol-fax p.hvsx-readlink a:visited { font-size: 15.5px; font-weight: 500; color: var(--hvsx-ink); text-decoration: none; border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s; }
.hv-sol-fax p.hvsx-readlink a::after {
  content: '';
  display: inline-block; width: 16px; height: 16px; margin-left: 6px; vertical-align: -2px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-fax p.hvsx-readlink a:hover,
.hv-sol-fax p.hvsx-readlink a:focus { color: var(--hvsx-cta); border-color: var(--hvsx-primary); }
.hv-sol-fax p.hvsx-readlink a:hover::after { transform: translateX(3px); }
.hv-sol-fax p.hvsx-readlink a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }
.hv-sol-fax .hvsx-note { font-size: 13.5px; color: var(--hvsx-muted); }

@media (max-width: 1199.98px) {
  .hv-sol-fax .hvsx-grid { gap: 48px; }
  .hv-sol-fax .hvsx-port { right: 8px; }
}
@media (max-width: 991.98px) {
  .hv-sol-fax { padding: 72px 20px 80px; }
  .hv-sol-fax .hvsx-grid { grid-template-columns: 1fr; gap: 56px; }
  .hv-sol-fax .hvsx-visual { max-width: 680px; }
  .hv-sol-fax .hvsx-plans { grid-template-columns: 1fr; max-width: 560px; }
  .hv-sol-fax .hvsx-note { flex-basis: 100%; }
}
@media (max-width: 575.98px) {
  .hv-sol-fax { padding: 56px 16px 64px; }
  .hv-sol-fax .hvsx-lead { font-size: 16.5px; }
  .hv-sol-fax .hvsx-app__body { padding: 18px 14px 20px; }
  .hv-sol-fax .hvsx-app__ws { display: none; }
  .hv-sol-fax .hvsx-row { grid-template-columns: minmax(0, 1fr) auto; padding: 11px 12px; }
  .hv-sol-fax .hvsx-row time, .hv-sol-fax .hvsx-row--head > span:last-child { display: none; }
  .hv-sol-fax .hvsx-doc small { display: none; }
  .hv-sol-fax .hvsx-tabs span { padding: 8px 10px; }
  .hv-sol-fax .hvsx-port { position: relative; right: auto; bottom: auto; margin-top: 12px; }
  .hv-sol-fax .hvsx-checks li { font-size: 15.5px; }
  .hv-sol-fax .hvsx-plan { padding: 22px 20px 24px; }
  .hv-sol-fax p.hvsx-btn a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-fax * { transition: none !important; } }

/* ─── Container query for editor responsiveness ─── */
.hv-sol-fax .hvsx-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hv-sol-fax .hvsx-grid { grid-template-columns: 1fr; gap: 56px; }
  .hv-sol-fax .hvsx-visual { max-width: 680px; }
  .hv-sol-fax .hvsx-plans { grid-template-columns: 1fr; max-width: 560px; }
}
@container (max-width: 575px) {
  .hv-sol-fax .hvsx-plan { padding: 22px 20px 24px; }
  .hv-sol-fax p.hvsx-btn a { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 05 — Servers
   Namespace: .hv-sol-srv  ·  class prefix: .hvsv-
═══════════════════════════════════════════════════════════════ */
.hv-sol-srv {
  --hvsv-primary:    #fc6100;
  --hvsv-primary-lt: #ff7a26;
  --hvsv-primary-dk: #e05500;
  --hvsv-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsv-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsv-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsv-ink:        #0b1220;
  --hvsv-body:       #475569;
  --hvsv-muted:      #64748b;
  --hvsv-line:       #e2e8f0;
  --hvsv-soft:       #f3f5f8;
  --hvsv-white:      #ffffff;
  --hvsv-demo:       #5fc7bd;   /* preview accent on dark — never CTA orange */
  --hvsv-dash:       #111827;
  --hvsv-dash-2:     #1a2232;
  --hvsv-dash-line:  rgba(255,255,255,.10);
  --hvsv-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvsv-white);
  border-top: 1px solid var(--hvsv-line);
  font-family: var(--hvsv-font);
  color: var(--hvsv-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-srv *, .hv-sol-srv *::before, .hv-sol-srv *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-srv .hvsv-container { max-width: 1240px; margin: 0 auto; }
.hv-sol-srv .hvsv-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 56px; align-items: start; }

/* Copy */
.hv-sol-srv .hvsv-kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--hvsv-cta); margin-bottom: 14px; }
.hv-sol-srv .hvsv-kicker span { color: var(--hvsv-muted); margin: 0 6px; }
.hv-sol-srv .hvsv-title { font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.hv-sol-srv .hvsv-title em { font-style: normal; color: var(--hvsv-primary); }
.hv-sol-srv .hvsv-lead { margin-top: 16px; font-size: 18px; line-height: 1.6; color: var(--hvsv-body); max-width: 560px; }
.hv-sol-srv .hvsv-gap { margin-top: 28px; padding: 20px 24px; background: var(--hvsv-soft); border-left: 4px solid var(--hvsv-primary); border-radius: 0 10px 10px 0; }
.hv-sol-srv .hvsv-gap__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.hv-sol-srv .hvsv-gap p { font-size: 15.5px; line-height: 1.65; color: var(--hvsv-body); }
.hv-sol-srv .hvsv-h3 { margin-top: 34px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.22; letter-spacing: -.015em; }
.hv-sol-srv .hvsv-h3 span { display: block; }
/* NATIVE BLOCK CHECKLIST — SVG icons via li::before pseudo-element */
.hv-sol-srv .hvsv-checks { list-style: none; padding: 0; margin-top: 20px; display: flex; flex-direction: column; gap: 14px; }
.hv-sol-srv .hvsv-checks li { display: flex; align-items: center; gap: 14px; font-size: 16.5px; color: #1e293b; }
.hv-sol-srv .hvsv-checks li::before {
  content: '';
  width: 28px; height: 28px; flex-shrink: 0;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E");
}
.hv-sol-srv .hvsv-fit { margin-top: 22px; font-size: 15.5px; font-style: italic; color: var(--hvsv-muted); }

/* Dashboard mockup */
.hv-sol-srv .hvsv-visual { margin-top: 6px; }
.hv-sol-srv .hvsv-win {
  border-radius: 12px; overflow: hidden; border: 1px solid #d9dee5;
  box-shadow: 0 2px 6px rgba(15,23,42,.06), 0 30px 60px rgba(15,23,42,.18);
}
.hv-sol-srv .hvsv-win__bar { display: flex; gap: 8px; padding: 12px 16px; background: #f1f3f6; }
.hv-sol-srv .hvsv-dot { width: 11px; height: 11px; border-radius: 50%; }
.hv-sol-srv .hvsv-dash { background: var(--hvsv-dash); color: #fff; padding: 26px 24px 18px; }
.hv-sol-srv .hvsv-dash__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.hv-sol-srv .hvsv-dash__head h4 { font-size: 22px; font-weight: 600; letter-spacing: -.01em; }
.hv-sol-srv .hvsv-chip { padding: 6px 14px; border-radius: 100px; background: rgba(255,255,255,.08); font-size: 12px; color: rgba(255,255,255,.8); white-space: nowrap; }
.hv-sol-srv .hvsv-stats { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.hv-sol-srv .hvsv-stat { display: flex; align-items: center; gap: 16px; padding: 20px 18px; border: 1px solid var(--hvsv-dash-line); border-radius: 8px; background: var(--hvsv-dash-2); }
.hv-sol-srv .hvsv-stat svg { width: 34px; height: 34px; flex-shrink: 0; color: var(--hvsv-demo); }
.hv-sol-srv .hvsv-stat small { display: block; font-size: 12px; color: rgba(255,255,255,.65); }
.hv-sol-srv .hvsv-stat strong { display: block; margin-top: 2px; font-size: 18px; font-weight: 600; line-height: 1.25; }
.hv-sol-srv .hvsv-chart { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--hvsv-dash-line); }
.hv-sol-srv .hvsv-chart h5 { font-size: 14px; font-weight: 500; }
.hv-sol-srv .hvsv-bars { margin-top: 14px; height: 74px; display: grid; grid-template-columns: repeat(7, 1fr); align-items: end; gap: 18px; padding: 0 12px; border-bottom: 1px solid var(--hvsv-dash-line); }
.hv-sol-srv .hvsv-bars i { display: block; border-radius: 3px 3px 0 0; background: rgba(95,199,189,.38); }
.hv-sol-srv .hvsv-bars i.is-hi { background: rgba(95,199,189,.62); }
.hv-sol-srv .hvsv-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px; padding: 8px 12px 0; text-align: center; font-size: 11.5px; color: rgba(255,255,255,.6); }
.hv-sol-srv .hvsv-dash__foot { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--hvsv-dash-line); display: flex; align-items: center; gap: 14px; font-size: 13px; color: rgba(255,255,255,.8); }
.hv-sol-srv .hvsv-dash__foot svg { width: 22px; height: 22px; color: rgba(255,255,255,.7); }
.hv-sol-srv .hvsv-caption { margin-top: 14px; font-size: 13px; color: var(--hvsv-muted); }

/* ─── Plans (native Group blocks with Image + Headings + Paragraphs) ─── */
.hv-sol-srv .hvsv-plans { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hv-sol-srv .hvsv-plan {
  display: grid; grid-template-columns: auto minmax(0, .75fr) minmax(0, 1.35fr); align-items: center; gap: 18px;
  padding: 24px 22px; border: 1px solid var(--hvsv-line); border-radius: 12px; background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.hv-sol-srv .hvsv-plan:hover { border-color: #cbd5e1; box-shadow: 0 12px 28px rgba(15,23,42,.07); }
.hv-sol-srv .hvsv-plan__icon { width: 56px; height: 56px; border-radius: 12px; border: 1px solid var(--hvsv-line); background: #fff; display: grid; place-content: center; margin: 0; }
.hv-sol-srv .hvsv-plan__icon img { width: 34px; height: 34px; object-fit: contain; display: block; }
.hv-sol-srv .hvsv-plan__name h4 { font-size: 18px; font-weight: 600; }
.hv-sol-srv .hvsv-plan__label { font-size: 14px; color: var(--hvsv-muted); }
.hv-sol-srv .hvsv-plan__cta { padding-left: 20px; border-left: 1px solid var(--hvsv-line); }
.hv-sol-srv .hvsv-plan__cta h5 { font-size: 17px; font-weight: 600; }
.hv-sol-srv .hvsv-plan__desc { margin-top: 2px; font-size: 13.5px; color: var(--hvsv-muted); }
/* NATIVE BLOCK CTA — paragraph wrapping anchor, arrow icon via ::after */
.hv-sol-srv p.hvsv-btn { margin-top: 14px; }
.hv-sol-srv p.hvsv-btn a,
.hv-sol-srv p.hvsv-btn a:visited {
  display: inline-flex; align-items: center; gap: 8px; padding: 13px 18px; border-radius: 6px; white-space: nowrap;
  background: var(--hvsv-cta); color: #fff; text-decoration: none;
  font-family: var(--hvsv-font); font-size: 14.5px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(252,97,0,.25); transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-srv p.hvsv-btn a::after {
  content: '';
  width: 17px; height: 17px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-srv p.hvsv-btn a:hover,
.hv-sol-srv p.hvsv-btn a:focus { background: var(--hvsv-cta-hover); color: #fff; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.33); }
.hv-sol-srv p.hvsv-btn a:hover::after { transform: translateX(3px); }
.hv-sol-srv p.hvsv-btn a:active { background: var(--hvsv-cta-active); color: #fff; transform: none; }
.hv-sol-srv p.hvsv-btn a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }

.hv-sol-srv .hvsv-foot { margin-top: 24px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
/* NATIVE BLOCK READ LINK — paragraph wrapping anchor, arrow icon via ::after */
.hv-sol-srv p.hvsv-readlink { margin: 0; }
.hv-sol-srv p.hvsv-readlink a,
.hv-sol-srv p.hvsv-readlink a:visited { font-size: 15.5px; font-weight: 500; color: var(--hvsv-ink); text-decoration: none; border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s; }
.hv-sol-srv p.hvsv-readlink a::after {
  content: '';
  display: inline-block; width: 16px; height: 16px; margin-left: 6px; vertical-align: -2px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E");
  transition: transform .2s;
}
.hv-sol-srv p.hvsv-readlink a:hover,
.hv-sol-srv p.hvsv-readlink a:focus { color: var(--hvsv-cta); border-color: var(--hvsv-primary); }
.hv-sol-srv p.hvsv-readlink a:hover::after { transform: translateX(3px); }
.hv-sol-srv p.hvsv-readlink a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; }
.hv-sol-srv .hvsv-note { font-size: 13.5px; color: var(--hvsv-muted); }

@media (max-width: 1199.98px) {
  .hv-sol-srv .hvsv-grid { gap: 40px; }
}
@media (max-width: 991.98px) {
  .hv-sol-srv { padding: 72px 20px 80px; }
  .hv-sol-srv .hvsv-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-srv .hvsv-visual { max-width: 680px; }
  .hv-sol-srv .hvsv-plans { grid-template-columns: 1fr; max-width: 620px; }
}
@media (max-width: 575.98px) {
  .hv-sol-srv { padding: 56px 16px 64px; }
  .hv-sol-srv .hvsv-lead { font-size: 16.5px; }
  .hv-sol-srv .hvsv-checks li { font-size: 15.5px; }
  .hv-sol-srv .hvsv-dash { padding: 20px 16px 16px; }
  .hv-sol-srv .hvsv-dash__head h4 { font-size: 18px; }
  .hv-sol-srv .hvsv-stats { grid-template-columns: 1fr; }
  .hv-sol-srv .hvsv-stat { padding: 14px 16px; }
  .hv-sol-srv .hvsv-bars, .hv-sol-srv .hvsv-days { gap: 8px; padding-left: 4px; padding-right: 4px; }
  .hv-sol-srv .hvsv-plan { padding: 20px; }
  .hv-sol-srv p.hvsv-btn a { width: 100%; justify-content: center; }
}
@media (max-width: 1199.98px) {
  .hv-sol-srv .hvsv-plan { grid-template-columns: auto minmax(0, 1fr); }
  .hv-sol-srv .hvsv-plan__cta { grid-column: 1 / -1; padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--hvsv-line); }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-srv * { transition: none !important; } }

/* ─── Container query for editor responsiveness ─── */
.hv-sol-srv .hvsv-container { container-type: inline-size; }
@container (max-width: 991px) {
  .hv-sol-srv .hvsv-grid { grid-template-columns: 1fr; gap: 48px; }
  .hv-sol-srv .hvsv-visual { max-width: 680px; }
  .hv-sol-srv .hvsv-plans { grid-template-columns: 1fr; max-width: 620px; }
}
@container (max-width: 575px) {
  .hv-sol-srv .hvsv-plan { padding: 20px; }
  .hv-sol-srv p.hvsv-btn a { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   SECTION 06 — Your App
   Namespace: .hv-sol-app  ·  class prefix: .hvsa-
═══════════════════════════════════════════════════════════════ */
.hv-sol-app {
  --hvsa-primary:    #fc6100;
  --hvsa-primary-lt: #ff7a26;
  --hvsa-primary-dk: #e05500;
  --hvsa-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvsa-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvsa-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvsa-ink:        #0b1220;
  --hvsa-body:       #475569;
  --hvsa-muted:      #64748b;
  --hvsa-line:       #e2e8f0;
  --hvsa-bg:         #f5f6f8;
  --hvsa-soft:       #eceff3;
  --hvsa-demo:       #1f6f6b;   /* preview/mockup accent — never CTA orange */
  --hvsa-demo-bg:    #e7f2f1;
  --hvsa-font:       'Poppins', sans-serif;

  padding: 96px 24px 104px;
  background: var(--hvsa-bg);
  border-top: 1px solid var(--hvsa-line);
  font-family: var(--hvsa-font);
  color: var(--hvsa-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-app *, .hv-sol-app *::before, .hv-sol-app *::after { box-sizing: border-box; margin: 0; padding: 0; }
.hv-sol-app .hvsa-container { max-width: 1240px; margin: 0 auto; }

.hv-sol-app .hvsa-kicker { font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--hvsa-cta); margin-bottom: 14px; }
.hv-sol-app .hvsa-kicker span { color: var(--hvsa-muted); margin: 0 6px; }
.hv-sol-app .hvsa-title { font-size: clamp(32px, 4vw, 50px); font-weight: 600; line-height: 1.12; letter-spacing: -.02em; }
.hv-sol-app .hvsa-title em { font-style: normal; color: var(--hvsa-primary); }
.hv-sol-app .hvsa-lead { margin-top: 14px; font-size: 18px; line-height: 1.6; color: var(--hvsa-body); max-width: 820px; }

.hv-sol-app .hvsa-grid { margin-top: 44px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: 64px; align-items: start; }

/* ─── Review mockup ─── */
.hv-sol-app .hvsa-visual { position: relative; }
.hv-sol-app .hvsa-stage { position: relative; }
.hv-sol-app .hvsa-app { background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--hvsa-line); box-shadow: 0 2px 6px rgba(15,23,42,.05), 0 24px 50px rgba(15,23,42,.10); }
.hv-sol-app .hvsa-app__bar { display: flex; align-items: center; gap: 8px; padding: 12px 18px; background: var(--hvsa-ink); color: #fff; }
.hv-sol-app .hvsa-dot { width: 11px; height: 11px; border-radius: 50%; background: rgba(255,255,255,.28); }
.hv-sol-app .hvsa-app__name { margin-left: 14px; font-size: 14px; font-weight: 500; }
.hv-sol-app .hvsa-chip { margin-left: auto; padding: 5px 12px; border-radius: 100px; background: rgba(255,255,255,.1); font-size: 11.5px; color: rgba(255,255,255,.8); white-space: nowrap; }
.hv-sol-app .hvsa-app__body { padding: 24px 28px 28px; }
.hv-sol-app .hvsa-app__body h4 { font-size: 23px; font-weight: 600; letter-spacing: -.01em; }
.hv-sol-app .hvsa-app__sub { margin-top: 2px; font-size: 14px; color: var(--hvsa-muted); }
.hv-sol-app .hvsa-items { list-style: none; margin-top: 16px; border-top: 1px solid var(--hvsa-line); }
.hv-sol-app .hvsa-items li { display: flex; align-items: center; gap: 16px; padding: 12px 6px; border-bottom: 1px solid var(--hvsa-line); font-size: 14px; color: #1e293b; }
.hv-sol-app .hvsa-items svg { width: 22px; height: 22px; color: #475569; flex-shrink: 0; }
.hv-sol-app .hvsa-items em { margin-left: auto; font-style: normal; padding: 5px 14px; border-radius: 100px; background: var(--hvsa-demo-bg); color: var(--hvsa-demo); font-size: 11.5px; font-weight: 500; }
.hv-sol-app .hvsa-yours { margin-top: 18px; display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 8px; background: #f3f5f8; }
.hv-sol-app .hvsa-yours svg { width: 32px; height: 32px; flex-shrink: 0; color: var(--hvsa-demo); }
.hv-sol-app .hvsa-yours strong { display: block; font-size: 14.5px; font-weight: 600; }
.hv-sol-app .hvsa-yours span { display: block; font-size: 12.5px; color: var(--hvsa-muted); }
.hv-sol-app .hvsa-talk {
  position: absolute; right: -22px; bottom: -14px;
  display: flex; align-items: center; gap: 12px; padding: 13px 20px;
  background: #fff; border: 1px solid var(--hvsa-line); border-radius: 10px;
  box-shadow: 0 16px 40px rgba(15,23,42,.14); font-size: 13.5px; font-weight: 600;
}
.hv-sol-app .hvsa-talk svg { width: 22px; height: 22px; color: var(--hvsa-demo); }
.hv-sol-app .hvsa-caption { margin-top: 44px; font-size: 13px; color: var(--hvsa-muted); }

/* ─── Copy ─── */
.hv-sol-app .hvsa-gap { padding: 20px 24px; background: var(--hvsa-soft); border-left: 4px solid var(--hvsa-primary); border-radius: 0 10px 10px 0; }
.hv-sol-app .hvsa-gap .hvsa-gap__label { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 6px; }
.hv-sol-app .hvsa-gap p { font-size: 15.5px; line-height: 1.65; color: var(--hvsa-body); }
.hv-sol-app .hvsa-h3 { margin-top: 36px; font-size: clamp(24px, 2.6vw, 32px); font-weight: 600; line-height: 1.22; letter-spacing: -.015em; }
.hv-sol-app .hvsa-checks { list-style: none; margin-top: 22px; display: flex; flex-direction: column; gap: 16px; }
.hv-sol-app .hvsa-checks li { display: flex; align-items: center; gap: 14px; font-size: 16.5px; color: #1e293b; }
.hv-sol-app .hvsa-checks li::before { content: ''; width: 28px; height: 28px; flex-shrink: 0; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m7.5 12.3 3 3 6-6.3'/%3E%3C/svg%3E"); }
.hv-sol-app .hvsa-whether { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--hvsa-line); font-size: 15.5px; line-height: 1.65; color: var(--hvsa-muted); }

/* ─── Process steps (native blocks — arrows via ::before/::after) ─── */
.hv-sol-app .hvsa-steps { margin-top: 52px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; }
.hv-sol-app .hvsa-step:nth-child(1) { grid-column: 1; grid-row: 1; }
.hv-sol-app .hvsa-step:nth-child(2) { grid-column: 3; grid-row: 1; }
.hv-sol-app .hvsa-step:nth-child(3) { grid-column: 5; grid-row: 1; }
.hv-sol-app .hvsa-steps::before,
.hv-sol-app .hvsa-steps::after { content: ''; width: 22px; height: 22px; justify-self: center; grid-row: 1; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M14 6l6 6-6 6'/%3E%3C/svg%3E"); }
.hv-sol-app .hvsa-steps::before { grid-column: 2; }
.hv-sol-app .hvsa-steps::after  { grid-column: 4; }
.hv-sol-app .hvsa-step { height: 100%; padding: 24px 26px 26px; background: #fff; border: 1px solid var(--hvsa-line); border-radius: 10px; }
.hv-sol-app .hvsa-step .hvsa-step__num { margin: 0; font-size: 13px; font-weight: 600; color: var(--hvsa-cta); }
.hv-sol-app .hvsa-step h4 { margin-top: 10px; font-size: 21px; font-weight: 600; letter-spacing: -.01em; }
.hv-sol-app .hvsa-step h5 { margin-top: 2px; font-size: 14.5px; font-weight: 600; color: #1e293b; }
.hv-sol-app .hvsa-step p  { margin-top: 10px; font-size: 14.5px; line-height: 1.6; color: var(--hvsa-body); }

/* ─── Foot — CTA + read link ─── */
.hv-sol-app .hvsa-foot { margin-top: 26px; display: flex; align-items: center; flex-wrap: wrap; gap: 16px 32px; }
.hv-sol-app p.hvsa-btn { margin: 0; }
.hv-sol-app p.hvsa-btn a {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 30px; border-radius: 6px;
  background: var(--hvsa-cta); color: #fff; text-decoration: none;
  font-family: var(--hvsa-font); font-size: 17px; font-weight: 600;
  box-shadow: 0 6px 18px rgba(252,97,0,.28); transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-app p.hvsa-btn a::after { content: ''; display: inline-block; width: 18px; height: 18px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E"); transition: transform .2s; }
.hv-sol-app p.hvsa-btn a:hover { background: var(--hvsa-cta-hover); color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 10px 24px rgba(252,97,0,.35); }
.hv-sol-app p.hvsa-btn a:hover::after { transform: translateX(3px); }
.hv-sol-app p.hvsa-btn a:active { background: var(--hvsa-cta-active); color: #fff; text-decoration: none; transform: none; }
.hv-sol-app p.hvsa-btn a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; color: #fff; text-decoration: none; }
.hv-sol-app p.hvsa-btn a:visited { color: #fff; text-decoration: none; }
.hv-sol-app p.hvsa-readlink { margin: 0; }
.hv-sol-app p.hvsa-readlink a { font-size: 15.5px; font-weight: 500; color: var(--hvsa-ink); text-decoration: none; border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s; display: inline-flex; align-items: center; gap: 6px; }
.hv-sol-app p.hvsa-readlink a::after { content: ''; display: inline-block; width: 16px; height: 16px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E"); }
.hv-sol-app p.hvsa-readlink a:hover { color: var(--hvsa-cta); border-color: var(--hvsa-primary); text-decoration: none; }
.hv-sol-app p.hvsa-readlink a:focus-visible { outline: 3px solid rgba(252,97,0,.35); outline-offset: 3px; color: var(--hvsa-ink); text-decoration: none; }
.hv-sol-app p.hvsa-readlink a:visited { color: var(--hvsa-ink); text-decoration: none; }
.hv-sol-app .hvsa-note { margin-left: auto; font-size: 13.5px; color: var(--hvsa-muted); }

@media (max-width: 1199.98px) {
  .hv-sol-app .hvsa-grid { gap: 48px; }
  .hv-sol-app .hvsa-talk { right: 8px; }
}
@media (max-width: 991.98px) {
  .hv-sol-app { padding: 72px 20px 80px; }
  .hv-sol-app .hvsa-grid { grid-template-columns: 1fr; gap: 56px; }
  .hv-sol-app .hvsa-visual { max-width: 640px; }
  .hv-sol-app .hvsa-steps { grid-template-columns: 1fr; max-width: 560px; gap: 8px; }
  .hv-sol-app .hvsa-step:nth-child(1) { grid-column: 1; grid-row: 1; }
  .hv-sol-app .hvsa-steps::before { grid-column: 1; grid-row: 2; justify-self: center; transform: rotate(90deg); }
  .hv-sol-app .hvsa-step:nth-child(2) { grid-column: 1; grid-row: 3; }
  .hv-sol-app .hvsa-steps::after  { grid-column: 1; grid-row: 4; justify-self: center; transform: rotate(90deg); }
  .hv-sol-app .hvsa-step:nth-child(3) { grid-column: 1; grid-row: 5; }
  .hv-sol-app .hvsa-note { margin-left: 0; flex-basis: 100%; }
}
@media (max-width: 575.98px) {
  .hv-sol-app { padding: 56px 16px 64px; }
  .hv-sol-app .hvsa-lead { font-size: 16.5px; }
  .hv-sol-app .hvsa-app__body { padding: 20px 16px 22px; }
  .hv-sol-app .hvsa-app__body h4 { font-size: 20px; }
  .hv-sol-app .hvsa-items li { gap: 12px; font-size: 13.5px; }
  .hv-sol-app .hvsa-talk { position: relative; right: auto; bottom: auto; margin-top: 12px; }
  .hv-sol-app .hvsa-caption { margin-top: 14px; }
  .hv-sol-app .hvsa-checks li { font-size: 15.5px; }
  .hv-sol-app .hvsa-step { padding: 20px; }
  .hv-sol-app p.hvsa-btn a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-app * { transition: none !important; } }

/* ─── Container queries — editor-responsive ─── */
.hv-sol-app .hvsa-container { container-type: inline-size; container-name: hvsa-container; }
@container hvsa-container (max-width: 991px) {
  .hv-sol-app .hvsa-grid { grid-template-columns: 1fr; gap: 56px; }
  .hv-sol-app .hvsa-visual { max-width: 640px; }
  .hv-sol-app .hvsa-steps { grid-template-columns: 1fr; max-width: 560px; gap: 8px; }
  .hv-sol-app .hvsa-step:nth-child(1) { grid-column: 1; grid-row: 1; }
  .hv-sol-app .hvsa-steps::before { grid-column: 1; grid-row: 2; justify-self: center; transform: rotate(90deg); }
  .hv-sol-app .hvsa-step:nth-child(2) { grid-column: 1; grid-row: 3; }
  .hv-sol-app .hvsa-steps::after  { grid-column: 1; grid-row: 4; justify-self: center; transform: rotate(90deg); }
  .hv-sol-app .hvsa-step:nth-child(3) { grid-column: 1; grid-row: 5; }
  .hv-sol-app .hvsa-note { margin-left: 0; flex-basis: 100%; }
}
@container hvsa-container (max-width: 575px) {
  .hv-sol-app .hvsa-lead { font-size: 16.5px; }
  .hv-sol-app .hvsa-checks li { font-size: 15.5px; }
  .hv-sol-app .hvsa-step { padding: 20px; }
  .hv-sol-app p.hvsa-btn a { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   CLOSING — Built around your practice · Testimonials · Final CTA
   Namespaces: .hv-sol-care (.hvsc-) · .hv-sol-proof (.hvsp-) · .hv-sol-cta (.hvst-)
═══════════════════════════════════════════════════════════════ */
.hv-sol-care, .hv-sol-proof, .hv-sol-cta {
  --hvz-primary:    #fc6100;
  --hvz-primary-lt: #ff7a26;
  --hvz-primary-dk: #e05500;
  --hvz-cta:        #c94c00;  /* button fill — 4.6:1 with white text */
  --hvz-cta-hover:  #b84500;  /* hover — 5.4:1 */
  --hvz-cta-active: #a83f00;  /* pressed — 6.2:1 */
  --hvz-ink:        #0b1220;
  --hvz-body:       #475569;
  --hvz-muted:      #64748b;
  --hvz-line:       #e2e8f0;
  font-family: 'Poppins', sans-serif;
  color: var(--hvz-ink);
  -webkit-font-smoothing: antialiased;
}
.hv-sol-care *, .hv-sol-proof *, .hv-sol-cta *,
.hv-sol-care *::before, .hv-sol-proof *::before, .hv-sol-cta *::before,
.hv-sol-care *::after, .hv-sol-proof *::after, .hv-sol-cta *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* shared heading pattern (centered) */
.hv-sol-care .hvsc-container, .hv-sol-proof .hvsp-container { max-width: 1240px; margin: 0 auto; }
.hv-sol-care .hvsc-kicker, .hv-sol-proof .hvsp-kicker { text-align: center; font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--hvz-cta); margin-bottom: 14px; }
.hv-sol-care .hvsc-title, .hv-sol-proof .hvsp-title { text-align: center; font-size: clamp(30px, 3.8vw, 48px); font-weight: 600; line-height: 1.15; letter-spacing: -.02em; }
.hv-sol-care .hvsc-title em, .hv-sol-proof .hvsp-title em { font-style: normal; color: var(--hvz-primary); }

/* ─── Built around your practice ─── */
.hv-sol-care { padding: 96px 24px 88px; background: #fff; border-top: 1px solid var(--hvz-line); }
.hv-sol-care .hvsc-lead { margin: 16px auto 0; max-width: 860px; text-align: center; font-size: 18px; line-height: 1.65; color: var(--hvz-body); }
.hv-sol-care p.hvsc-ther { margin: 14px auto 0; text-align: center; }
.hv-sol-care p.hvsc-ther a { display: inline-flex; align-items: center; gap: 6px; font-size: 15.5px; font-weight: 500; color: var(--hvz-ink); text-decoration: none; border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s; }
.hv-sol-care p.hvsc-ther a::after { content: ''; display: inline-block; width: 16px; height: 16px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E"); }
.hv-sol-care p.hvsc-ther a:hover { color: var(--hvz-cta); border-color: var(--hvz-primary); text-decoration: none; }
.hv-sol-care p.hvsc-ther a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; color: var(--hvz-ink); text-decoration: none; }
.hv-sol-care p.hvsc-ther a:visited { color: var(--hvz-ink); text-decoration: none; }
.hv-sol-care .hvsc-cards { margin-top: 44px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.hv-sol-care .hvsc-card { padding: 30px 24px 28px; text-align: center; background: #fff; border: 1px solid var(--hvz-line); border-radius: 12px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.hv-sol-care .hvsc-card:hover { border-color: rgba(252,97,0,.35); box-shadow: 0 12px 28px rgba(15,23,42,.07); transform: translateY(-2px); }
.hv-sol-care .hvsc-card::before { content: ''; display: block; width: 60px; height: 60px; margin: 0 auto 16px; border-radius: 14px; background-color: rgba(252,97,0,.08); background-repeat: no-repeat; background-position: center; background-size: 30px 30px; }
.hv-sol-care .hvsc-card--baa::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.hv-sol-care .hvsc-card--security::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2.5 4 5.5v6c0 5 3.4 8.8 8 10 4.6-1.2 8-5 8-10v-6z'/%3E%3Cpath d='m8.5 12 2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.hv-sol-care .hvsc-card--monitor::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E"); }
.hv-sol-care .hvsc-card--support::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='2.5' y='13' width='4' height='6' rx='1.5'/%3E%3Crect x='17.5' y='13' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19.5 19c0 1.5-2 2.5-5 2.5h-1.5'/%3E%3C/svg%3E"); }
.hv-sol-care .hvsc-card h3 { font-size: 18px; font-weight: 600; }
.hv-sol-care .hvsc-card p { margin-top: 6px; font-size: 15px; line-height: 1.55; color: var(--hvz-body); }

/* ─── Testimonials (native blocks) ─── */
.hv-sol-proof { padding: 88px 24px 88px; background: #f5f6f8; border-top: 1px solid var(--hvz-line); }
.hv-sol-proof .hvsp-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.hv-sol-proof .hvsp-quote { display: flex; flex-direction: column; justify-content: space-between; gap: 22px; padding: 28px 30px; background: #fff; border: 1px solid var(--hvz-line); border-radius: 12px; }
.hv-sol-proof .hvsp-text { position: relative; padding-left: 46px; font-size: 18px; line-height: 1.55; color: #1e293b; }
.hv-sol-proof .hvsp-text::before { content: '\201C'; position: absolute; left: 0; top: -14px; font-size: 64px; font-weight: 700; line-height: 1; color: var(--hvz-primary); }
.hv-sol-proof .hvsp-who { display: flex; align-items: center; gap: 16px; }
.hv-sol-proof .hvsp-who__info { flex: 1; width: auto; }
.hv-sol-proof .hvsp-avatar { width: 56px; height: 56px; border-radius: 50%; flex-shrink: 0; background: #e8ebf0; display: grid; place-content: center; font-size: 16px; font-weight: 600; color: #334155; margin: 0; }
.hv-sol-proof .hvsp-name { font-size: 15.5px; font-weight: 600; margin: 0; }
.hv-sol-proof .hvsp-org { font-size: 14px; color: var(--hvz-muted); margin: 0; }
.hv-sol-proof p.hvsp-more { margin: 26px auto 0; text-align: center; }
.hv-sol-proof p.hvsp-more a { display: inline-flex; align-items: center; gap: 6px; font-size: 15.5px; font-weight: 500; color: var(--hvz-ink); text-decoration: none; border-bottom: 1px solid #94a3b8; padding-bottom: 2px; transition: color .2s, border-color .2s; }
.hv-sol-proof p.hvsp-more a::after { content: ''; display: inline-block; width: 16px; height: 16px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230b1220' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E"); }
.hv-sol-proof p.hvsp-more a:hover { color: var(--hvz-cta); border-color: var(--hvz-primary); text-decoration: none; }
.hv-sol-proof p.hvsp-more a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; color: var(--hvz-ink); text-decoration: none; }
.hv-sol-proof p.hvsp-more a:visited { color: var(--hvz-ink); text-decoration: none; }

/* ─── Final CTA band (wp:cover — editable background image) ─── */
.hv-sol-cta {
  padding: 56px 24px;
  color: #fff;
  min-height: auto;
}
.hv-sol-cta .wp-block-cover__inner-container { max-width: none; width: 100%; }
.hv-sol-cta .hvst-container { max-width: 1240px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.hv-sol-cta .hvst-copy { flex: 1; min-width: 280px; width: auto; }
.hv-sol-cta h2 { font-size: clamp(24px, 2.6vw, 34px); font-weight: 600; line-height: 1.2; letter-spacing: -.015em; color: #fff; }
.hv-sol-cta .hvst-sub { margin-top: 6px; font-size: 16.5px; color: rgba(255,255,255,.75); }
.hv-sol-cta .hvst-actions { display: flex; align-items: center; gap: 28px; width: auto; flex-shrink: 0; }
.hv-sol-cta p.hvst-btn { margin: 0; }
.hv-sol-cta p.hvst-btn a {
  display: inline-flex; align-items: center; gap: 10px; padding: 16px 32px; border-radius: 6px;
  background: var(--hvz-cta); color: #fff; text-decoration: none; white-space: nowrap;
  font-family: inherit; font-size: 17px; font-weight: 600;
  box-shadow: 0 8px 22px rgba(252,97,0,.35); transition: background .2s, transform .2s, box-shadow .2s;
}
.hv-sol-cta p.hvst-btn a::after { content: ''; display: inline-block; width: 18px; height: 18px; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 8h11M9 3.5 13.5 8 9 12.5'/%3E%3C/svg%3E"); transition: transform .2s; }
.hv-sol-cta p.hvst-btn a:hover { background: var(--hvz-cta-hover); color: #fff; text-decoration: none; transform: translateY(-1px); box-shadow: 0 12px 28px rgba(252,97,0,.45); }
.hv-sol-cta p.hvst-btn a:hover::after { transform: translateX(3px); }
.hv-sol-cta p.hvst-btn a:active { background: var(--hvz-cta-active); color: #fff; text-decoration: none; transform: none; }
.hv-sol-cta p.hvst-btn a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; color: #fff; text-decoration: none; }
.hv-sol-cta p.hvst-btn a:visited { color: #fff; text-decoration: none; }
.hv-sol-cta .hvst-contact { padding-left: 28px; border-left: 1px solid rgba(255,255,255,.2); text-align: center; width: auto; }
.hv-sol-cta p.hvst-phone { margin: 0; }
.hv-sol-cta p.hvst-phone a { display: inline-flex; align-items: center; gap: 8px; font-size: 20px; font-weight: 600; color: #fff; text-decoration: none; white-space: nowrap; }
.hv-sol-cta p.hvst-phone a::before { content: ''; display: inline-block; width: 18px; height: 18px; flex-shrink: 0; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fc6100' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 1.1 4.2 2 2 0 0 1 3.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L7.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.hv-sol-cta p.hvst-phone a:hover { color: #ff8a3d; text-decoration: none; }
.hv-sol-cta p.hvst-phone a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; color: #fff; text-decoration: none; }
.hv-sol-cta p.hvst-phone a:visited { color: #fff; text-decoration: none; }
.hv-sol-cta p.hvst-check { margin-top: 4px; }
.hv-sol-cta p.hvst-check a { display: block; font-size: 13.5px; color: rgba(255,255,255,.75); text-decoration: underline; text-underline-offset: 3px; }
.hv-sol-cta p.hvst-check a:hover { color: #fff; text-decoration: underline; }
.hv-sol-cta p.hvst-check a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; color: rgba(255,255,255,.75); }
.hv-sol-cta p.hvst-check a:visited { color: rgba(255,255,255,.75); text-decoration: underline; }

.hv-sol-care a:focus-visible, .hv-sol-proof a:focus-visible, .hv-sol-cta a:focus-visible { outline: 3px solid rgba(252,97,0,.45); outline-offset: 3px; }

@media (max-width: 991.98px) {
  .hv-sol-care { padding: 72px 20px 64px; }
  .hv-sol-care .hvsc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hv-sol-proof { padding: 64px 20px; }
  .hv-sol-proof .hvsp-grid { grid-template-columns: 1fr; max-width: 680px; margin-left: auto; margin-right: auto; }
  .hv-sol-cta .hvst-container { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 575.98px) {
  .hv-sol-care { padding: 56px 16px; }
  .hv-sol-care .hvsc-lead { font-size: 16px; }
  .hv-sol-care .hvsc-cards { grid-template-columns: 1fr; }
  .hv-sol-proof { padding: 56px 16px; }
  .hv-sol-proof .hvsp-quote { padding: 22px 20px; }
  .hv-sol-proof .hvsp-text { font-size: 16.5px; padding-left: 38px; }
  .hv-sol-proof .hvsp-text::before { font-size: 52px; }
  .hv-sol-cta { padding: 48px 16px; }
  .hv-sol-cta .hvst-actions { flex-direction: column; align-items: stretch; width: 100%; gap: 18px; }
  .hv-sol-cta p.hvst-btn a { width: 100%; justify-content: center; }
  .hv-sol-cta .hvst-contact { padding-left: 0; border-left: 0; }
}
@media (prefers-reduced-motion: reduce) { .hv-sol-care *, .hv-sol-proof *, .hv-sol-cta * { transition: none !important; } }

/* ─── Container queries — editor-responsive (Care) ─── */
.hv-sol-care .hvsc-container { container-type: inline-size; container-name: hvsc-container; }
@container hvsc-container (max-width: 991px) {
  .hv-sol-care .hvsc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@container hvsc-container (max-width: 575px) {
  .hv-sol-care .hvsc-lead { font-size: 16px; }
  .hv-sol-care .hvsc-cards { grid-template-columns: 1fr; }
}

/* ─── Container queries — editor-responsive (Testimonials) ─── */
.hv-sol-proof .hvsp-container { container-type: inline-size; container-name: hvsp-container; }
@container hvsp-container (max-width: 991px) {
  .hv-sol-proof .hvsp-grid { grid-template-columns: 1fr; max-width: 680px; margin-left: auto; margin-right: auto; }
}
@container hvsp-container (max-width: 575px) {
  .hv-sol-proof .hvsp-quote { padding: 22px 20px; }
  .hv-sol-proof .hvsp-text { font-size: 16.5px; padding-left: 38px; }
  .hv-sol-proof .hvsp-text::before { font-size: 52px; }
}

/* ─── Container queries — editor-responsive (CTA) ─── */
.hv-sol-cta .hvst-container { container-type: inline-size; container-name: hvst-container; }
@container hvst-container (max-width: 575px) {
  .hv-sol-cta .hvst-actions { flex-direction: column; align-items: stretch; width: 100%; gap: 18px; }
  .hv-sol-cta p.hvst-btn a { width: 100%; justify-content: center; }
  .hv-sol-cta .hvst-contact { padding-left: 0; border-left: 0; }
}

/* ═══════════════════════════════════════════════════════════════
   v2 additions — form states, mobile layout, anchor offsets
═══════════════════════════════════════════════════════════════ */
/* Anchor offsets: the site header (.gm-wrapper) is fixed at 60px once scrolled */
#protect, .hvsh-help, .hv-sol-web, .hv-sol-forms, .hv-sol-email, .hv-sol-fax, .hv-sol-srv, .hv-sol-app, .hv-sol-help {
  scroll-margin-top: var(--hv-sol-offset, 84px);
}

/* Form validation + states */
.hvsh-help .hvsh-field input[aria-invalid="true"] { border-color: #b42318; box-shadow: 0 0 0 4px rgba(180,35,24,.10); }
.hvsh-help .hvsh-err { margin-top: 2px; font-size: 13px; line-height: 1.4; color: #b42318; }
.hvsh-help .hvsh-check em { font-style: normal; color: var(--hvsh-gray-400); }
.hvsh-help .hvsh-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.hvsh-help .hvsh-submit[disabled] { cursor: progress; opacity: .85; transform: none; }
.hvsh-help .hvsh-status { padding: 12px 14px; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.hvsh-help .hvsh-status--error { background: #fef3f2; color: #b42318; border: 1px solid #fecdca; }
.hvsh-help .hvsh-status a { color: inherit; font-weight: 600; }
.hvsh-help .hvsh-done { text-align: center; padding: 12px 4px 4px; }
.hvsh-help .hvsh-done__icon { display: inline-grid; place-content: center; width: 56px; height: 56px; border-radius: 50%; background: #ecfdf3; color: #067647; }
.hvsh-help .hvsh-done__icon svg { width: 30px; height: 30px; }
.hvsh-help .hvsh-done__title { margin-top: 14px; font-family: var(--hvsh-font-head); font-size: 22px; font-weight: 700; color: var(--hvsh-ink); outline: none; }
.hvsh-help .hvsh-done p { margin-top: 8px; font-size: 15px; line-height: 1.6; color: var(--hvsh-gray-600); }
.hvsh-help .hvsh-done a { color: var(--hvsh-cta); font-weight: 600; }
.hvsh-help.is-done .hvsh-card__title, .hvsh-help.is-done .hvsh-card__sub,
.hvsh-help.is-done .hvsh-form, .hvsh-help.is-done .hvsh-note { display: none; }
.hvsh-help:focus { outline: none; }

/* Mobile quick actions (only when the form has moved down) */
.hv-sol-hero .hvsh-quick { display: none; }
@media (max-width: 767.98px) {
  .hv-sol-hero .hvsh-quick { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
  .hv-sol-hero .hvsh-quick a {
    flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    min-height: 48px; padding: 0 14px; border-radius: 6px; text-decoration: none; white-space: nowrap;
    font-family: var(--hvsh-font-head); font-size: 15px; font-weight: 600;
  }
  .hv-sol-hero .hvsh-quick__primary { background: var(--hvsh-cta); color: #fff; }
  .hv-sol-hero .hvsh-quick__primary:hover { background: var(--hvsh-cta-hover); }
  .hv-sol-hero .hvsh-quick__call { border: 1.5px solid rgba(255,255,255,.4); color: #fff; }
  .hv-sol-hero .hvsh-quick__call:hover { border-color: #fff; }
  .hv-sol-hero .hvsh-quick__call svg { width: 18px; height: 18px; color: #ff8a3d; }
  .hv-sol-hero .hvsh-quick a:focus-visible { outline: 3px solid rgba(252,97,0,.55); outline-offset: 3px; }
}

/* Mobile home for the form */
.hv-sol-help { padding: 56px 16px; background: #f5f6f8; border-top: 1px solid #e2e8f0; }
.hv-sol-help[hidden] { display: none; }
.hv-sol-hero .hvsh-card-home:empty { display: none; }
.hv-sol-help .hvsl-container { max-width: 560px; margin: 0 auto; }
.hv-sol-help .hvsh-help { box-shadow: 0 1px 2px rgba(15,23,42,.05), 0 16px 40px rgba(15,23,42,.10); }
