.hpoh-assessment [hidden] { display:none!important; }
.hpoh-assessment { --form-ink:#143447; --form-teal:#2a7d75; --form-line:#d9e2e3; position:relative; overflow:hidden; padding:34px; border-radius:20px; background:#fff; color:var(--form-ink); box-shadow:0 24px 70px rgba(5,25,36,.23); }
.hpoh-assessment__head h2 { margin:0 0 8px; color:var(--form-ink); font-size:2rem; }
.hpoh-assessment__head > p:not(.hpoh-assessment__kicker) { margin:0 0 18px; color:#61717a; font-size:.9rem; }
.hpoh-assessment__kicker { margin:0 0 8px; color:var(--form-teal); font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.hpoh-progress { height:5px; overflow:hidden; border-radius:10px; background:#e9eeee; }
.hpoh-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--form-teal),#55a99f); transition:width .25s ease; }
.hpoh-progress-label { display:block; margin-top:7px; color:#77868c; font-size:.7rem; font-weight:700; text-align:right; }
.hpoh-assessment__form { margin-top:21px; }
.hpoh-step { display:none; min-height:245px; }
.hpoh-step.is-active { display:block; animation:hpohStepIn .25s ease both; }
@keyframes hpohStepIn { from { opacity:0; transform:translateX(8px); } to { opacity:1; transform:none; } }
.hpoh-step fieldset { min-width:0; padding:0; border:0; margin:0; }
.hpoh-step legend { display:block; width:100%; margin:0 0 13px; color:var(--form-ink); font:700 1.25rem/1.25 Georgia,serif; }
.hpoh-step label:not(.hpoh-consent) { display:block; margin:0 0 15px; color:#304a56; font-size:.78rem; font-weight:800; }
.hpoh-step input[type=text],.hpoh-step input[type=email],.hpoh-step input[type=tel],.hpoh-step input[type=number],.hpoh-step select,.hpoh-step textarea { width:100%; margin-top:6px; padding:12px 13px; border:1px solid var(--form-line); border-radius:9px; outline:0; background:#fff; color:#152e3a; font:500 .94rem/1.35 Inter,system-ui,sans-serif; transition:border-color .2s,box-shadow .2s; }
.hpoh-step textarea { resize:vertical; }
.hpoh-step input:focus,.hpoh-step select:focus,.hpoh-step textarea:focus { border-color:var(--form-teal); box-shadow:0 0 0 3px rgba(42,125,117,.13); }
.hpoh-step .is-invalid { border-color:#bd4b3b!important; box-shadow:0 0 0 3px rgba(189,75,59,.1)!important; }
.hpoh-help { margin:0 0 15px; color:#718088; font-size:.76rem; line-height:1.45; }
.hpoh-options { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.hpoh-options label { position:relative; margin:0!important; cursor:pointer; }
.hpoh-options input { position:absolute; opacity:0; pointer-events:none; }
.hpoh-options span { display:flex; align-items:center; min-height:50px; padding:10px 12px; border:1px solid var(--form-line); border-radius:9px; color:#2c4652; background:#fff; font-size:.78rem; font-weight:750; line-height:1.25; transition:border-color .15s,background .15s,box-shadow .15s; }
.hpoh-options input:checked + span { border-color:var(--form-teal); background:#edf7f5; color:#185b55; box-shadow:inset 0 0 0 1px var(--form-teal); }
.hpoh-options input:focus-visible + span { outline:3px solid rgba(42,125,117,.25); }
.hpoh-options--checks { max-height:260px; overflow:auto; padding-right:3px; }
.hpoh-two { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.hpoh-consent { display:grid; grid-template-columns:20px 1fr; gap:9px; align-items:start; margin:12px 0; color:#405861; font-size:.74rem; line-height:1.4; }
.hpoh-consent input { width:17px; height:17px; margin:2px 0 0; accent-color:var(--form-teal); }
.hpoh-smallprint { margin:13px 0 0; color:#77868c; font-size:.67rem; line-height:1.4; }
.hpoh-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:20px; padding-top:18px; border-top:1px solid #edf0f0; }
.hpoh-back { padding:10px 4px; border:0; background:none; color:#60747c; font:700 .82rem Inter,system-ui,sans-serif; cursor:pointer; }
.hpoh-back:disabled { opacity:.25; cursor:default; }
.hpoh-next,.hpoh-submit { min-width:135px; min-height:44px; padding:10px 18px; font-size:.86rem; }
.hpoh-error { display:none; margin:14px 0 0; padding:10px 12px; border-radius:8px; background:#fff0ed; color:#9b372a; font-size:.75rem; font-weight:700; }
.hpoh-error.is-visible { display:block; }
.hpoh-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; opacity:0!important; }
.hpoh-success { padding:30px 5px; text-align:center; }
.hpoh-success__icon { display:grid; place-items:center; width:60px; height:60px; margin:0 auto 20px; border-radius:50%; background:#e7f5f2; color:var(--form-teal); font-size:1.7rem; font-weight:900; }
.hpoh-success h3 { font-size:1.8rem; }
.hpoh-success p { color:#5c6f77; font-size:.9rem; }

.hpoh-modal { position:fixed; inset:0; z-index:9999; display:none; padding:25px; place-items:center; }
.hpoh-modal.is-open { display:grid; }
.hpoh-modal__backdrop { position:absolute; inset:0; background:rgba(5,24,34,.78); backdrop-filter:blur(5px); }
.hpoh-modal__dialog { position:relative; z-index:1; width:min(100%,660px); max-height:calc(100vh - 50px); overflow:auto; border-radius:20px; }
.hpoh-modal__close { position:absolute; z-index:4; right:14px; top:11px; width:38px; height:38px; border:0; border-radius:50%; background:#f0f3f3; color:#29434e; font-size:1.55rem; line-height:1; cursor:pointer; }
.hpoh-assessment--popup { box-shadow:none; }

@media (max-width:560px) {
  .hpoh-assessment { padding:25px 20px; border-radius:15px; }
  .hpoh-assessment__head h2 { font-size:1.7rem; }
  .hpoh-options,.hpoh-two { grid-template-columns:1fr; }
  .hpoh-options--checks { max-height:295px; }
  .hpoh-step { min-height:275px; }
  .hpoh-modal { padding:8px; }
  .hpoh-modal__dialog { max-height:calc(100vh - 16px); border-radius:15px; }
}

