.heri-wrap {
  --heri-accent:#158989; --heri-navy:#193b54; --heri-ink:#173047;
  --heri-muted:#627284; --heri-line:#dce7eb;
  color:var(--heri-ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5; background:linear-gradient(155deg,#eff8f6,#f7fafb 45%,#eef5f7);
  padding:142px 16px 80px; min-height:75vh;
}
.heri-wrap * { box-sizing:border-box; }
.heri-shell { max-width:1160px; margin:auto; }
.heri-wrap h1,.heri-wrap h2,.heri-wrap h3,.heri-wrap p { margin-top:0; }
.heri-wrap h1 { font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:3px; color:var(--heri-navy); }
.heri-wrap h2 { font-size:clamp(1.45rem,2.6vw,2rem); line-height:1.18; color:var(--heri-navy); margin-bottom:9px; }
.heri-wrap h3 { font-size:1.1rem; line-height:1.3; color:var(--heri-navy); }
.heri-wrap p { color:var(--heri-muted); }
.heri-wrap a { color:var(--heri-accent); text-decoration:none; }
.heri-wrap a:hover { text-decoration:underline; }
.heri-header { display:flex; align-items:center; gap:16px; margin:0 0 30px; }
.heri-header p { margin:0; }
.heri-mark { width:66px; height:66px; flex:none; display:grid; place-items:center; border-radius:16px;
  background:#fff; border:1px solid var(--heri-line); box-shadow:0 10px 24px #193b5414; padding:7px; }
.heri-mark img { display:block; width:100%; height:100%; object-fit:contain; }
.heri-eyebrow,.heri-kicker { display:block; text-transform:uppercase; letter-spacing:.14em; font-weight:750;
  font-size:.71rem; color:var(--heri-accent); margin-bottom:7px; }
.heri-card { background:#fff; border:1px solid var(--heri-line); box-shadow:0 12px 42px #1a52650e;
  border-radius:20px; padding:28px; }
.heri-auth { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; max-width:980px; margin:55px auto; }
.heri-auth-intro { padding:25px; }
.heri-auth-intro h2 { font-size:clamp(2.2rem,4vw,3.7rem); max-width:460px; }
.heri-auth-intro p { font-size:1.07rem; max-width:440px; }
.heri-note { border-left:3px solid var(--heri-accent); padding:12px 16px; margin-top:28px;
  background:#e9f6f4; border-radius:0 9px 9px 0; font-size:.9rem; }
.heri-auth .heri-card { padding:38px; }
.heri-auth .heri-card>p { margin-bottom:24px; }
.heri-field { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; font-weight:600;
  font-size:.91rem; color:var(--heri-ink); }
.heri-field b { color:#b5434b; }
.heri-password-wrap { position:relative; display:block; }
.heri-password-wrap input { padding-right:52px; }
.heri-password-toggle { position:absolute; right:5px; top:50%; transform:translateY(-50%);
  width:38px; height:38px; display:grid; place-items:center; border:0; border-radius:8px;
  color:var(--heri-muted); background:transparent; cursor:pointer; }
.heri-password-toggle:hover,.heri-password-toggle:focus-visible { background:#e9f6f4; color:var(--heri-navy); }
.heri-password-toggle.is-visible::after { content:""; position:absolute; width:21px; height:2px;
  background:currentColor; transform:rotate(-42deg); }
.heri-field input,.heri-field select,.heri-field textarea { width:100%; min-height:46px; border:1px solid #cbd9df;
  border-radius:10px; padding:11px 13px; background:#fff; color:var(--heri-ink); font:inherit;
  font-weight:400; box-shadow:none; }
.heri-field textarea { min-height:100px; resize:vertical; }
.heri-field input:focus,.heri-field select:focus,.heri-field textarea:focus {
  outline:3px solid #15898930; border-color:var(--heri-accent); }
.heri-field[hidden] { display:none; }
.heri-invalid input,.heri-invalid select,.heri-invalid textarea { border-color:#bd3443; }
.heri-check { display:flex; gap:9px; font-size:.85rem; margin-bottom:18px; color:var(--heri-muted); }
.heri-check input { margin-top:4px; }
.heri-btn { border:1px solid var(--heri-accent); background:var(--heri-accent); color:#fff!important;
  border-radius:10px; padding:12px 18px; min-height:45px; display:inline-flex; align-items:center;
  justify-content:center; gap:9px; font-family:inherit; font-size:.93rem; font-weight:700;
  cursor:pointer; text-decoration:none!important; transition:transform .15s,box-shadow .15s,background .15s; }
.heri-btn:hover { background:#0e7375; box-shadow:0 7px 18px #1589892b; transform:translateY(-1px); }
.heri-btn-light { background:#edf6f6; color:var(--heri-navy)!important; border-color:#dcebec; }
.heri-btn-light:hover { background:#e2f2f1; }
.heri-btn-outline { background:#fff; color:var(--heri-accent)!important; }
.heri-btn-outline:hover { background:#eef8f7; }
.heri-auth .heri-btn { width:100%; }
.heri-switch { margin:20px 0 0!important; font-size:.89rem; text-align:center; }
.heri-alert { border-radius:10px; padding:14px 17px; margin:16px 0 24px; background:#e3f5ed;
  color:#206643; border:1px solid #bde5d0; }
.heri-alert-error { background:#fff0ef; border-color:#f4c6c1; color:#a23031; }
.heri-nav { display:flex; align-items:center; gap:24px; background:#fff; border:1px solid var(--heri-line);
  border-radius:12px; padding:12px 20px; margin-bottom:36px; }
.heri-nav a,.heri-nav button { font-size:.9rem; font-weight:700; }
.heri-nav form { margin-left:auto; }
.heri-nav button { border:0; background:none; color:var(--heri-muted); cursor:pointer; }
.heri-section-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.heri-section-head p { margin-bottom:0; }
.heri-later { margin-top:44px; }
.heri-pill { display:inline-block; padding:5px 11px; border-radius:30px; background:#fff2df;
  color:#8b6015; font-size:.73rem; font-weight:750; white-space:nowrap; }
.heri-pill.is-submitted { background:#e2f5ee; color:#237b55; }
.heri-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.heri-form-card { display:flex; flex-direction:column; align-items:flex-start; min-height:245px; }
.heri-form-card h3 { font-size:1.28rem; margin-bottom:8px; }
.heri-form-card p { flex:1; }
.heri-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:10px;
  background:#e4f4f2; color:var(--heri-accent); font-size:1.3rem; margin-bottom:18px; }
.heri-records { display:grid; gap:12px; }
.heri-record { display:flex; justify-content:space-between; gap:22px; align-items:center;
  background:#fff; border:1px solid var(--heri-line); border-radius:15px; padding:21px 24px; }
.heri-record h3 { margin:8px 0 4px; }
.heri-record p { margin:0; font-size:.86rem; }
.heri-record-side { min-width:215px; text-align:right; font-size:.82rem; color:var(--heri-muted); font-weight:700; }
.heri-progress { height:7px; background:#e8eff1; border-radius:9px; overflow:hidden; margin:7px 0 10px; }
.heri-progress i { display:block; height:100%; background:var(--heri-accent); border-radius:9px; }
.heri-actions { display:flex; gap:15px; justify-content:flex-end; }
.heri-empty { padding:36px; border:1px dashed #bfd2d8; border-radius:14px;
  text-align:center; color:var(--heri-muted); }
.heri-profile { max-width:680px; }
.heri-form-top { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:26px; }
.heri-form-top p { margin:0; }
.heri-back { display:block; margin-bottom:22px; font-size:.9rem; }
.heri-completion { width:103px; height:103px; flex:none; display:flex; flex-direction:column;
  align-items:center; justify-content:center; border:7px solid #d9efed; border-radius:100%;
  background:#fff; color:var(--heri-accent); }
.heri-completion strong { font-size:1.55rem; line-height:1; }
.heri-completion span { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.heri-assessment { display:grid; grid-template-columns:245px minmax(0,1fr); gap:20px; align-items:start; }
.heri-steps { display:grid; gap:5px; background:#fff; border:1px solid var(--heri-line);
  border-radius:16px; padding:11px; position:sticky; top:20px; max-height:80vh; overflow:auto; }
.heri-step { border:0; background:transparent; color:var(--heri-muted); text-align:left;
  padding:10px; border-radius:9px; display:flex; align-items:center; gap:11px;
  font-family:inherit; font-size:.82rem; font-weight:650; cursor:pointer; }
.heri-step:hover { background:#f2f8f8; }
.heri-step.is-active { background:#e9f6f4; color:var(--heri-navy); }
.heri-step span { display:grid; place-items:center; flex:none; width:25px; height:25px;
  border-radius:7px; background:#e8eff1; color:var(--heri-navy); font-size:.73rem; }
.heri-step.is-active span { background:var(--heri-accent); color:#fff; }
.heri-stage { background:#fff; border:1px solid var(--heri-line); border-radius:18px; padding:30px; min-width:0; scroll-margin-top:130px; }
.heri-panel[hidden] { display:none; }
.heri-panel-head { border-bottom:1px solid var(--heri-line); padding-bottom:16px; margin-bottom:24px; }
.heri-panel-head span { font-size:.74rem; color:var(--heri-accent); font-weight:750;
  text-transform:uppercase; letter-spacing:.1em; }
.heri-panel-head h3 { font-size:1.6rem; margin:5px 0 0; }
.heri-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px; }
.heri-choices { display:flex; flex-wrap:wrap; gap:8px; }
.heri-choices label { display:inline-flex; gap:7px; align-items:center; padding:7px 10px;
  border:1px solid var(--heri-line); border-radius:9px; font-weight:500; font-size:.82rem; cursor:pointer; }
.heri-choices input { width:auto; min-height:0; accent-color:var(--heri-accent); }
.heri-field:has(.heri-choices),.heri-field:has(textarea) { grid-column:1/-1; }
.heri-form-footer { border-top:1px solid var(--heri-line); padding-top:18px;
  display:flex; justify-content:space-between; align-items:center; gap:20px; }
.heri-micro { font-size:.78rem; color:var(--heri-muted); max-width:160px; }
.heri-footer-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.heri-footer-actions [hidden] { display:none; }
@media(max-width:820px) {
  .heri-auth { grid-template-columns:1fr; gap:12px; margin:15px auto; }
  .heri-auth-intro { padding:10px; }
  .heri-assessment { grid-template-columns:1fr; }
  .heri-steps { display:flex; position:static; overflow-x:auto; white-space:nowrap; max-height:none; }
  .heri-step { flex:none; }
  .heri-stage { padding:22px; }
}
@media(max-width:580px) {
  .heri-wrap { padding:120px 12px 50px; }
  .heri-stage { scroll-margin-top:105px; }
  .heri-header { margin-bottom:20px; }
  .heri-mark { width:50px; height:50px; padding:5px; }
  .heri-header p { font-size:.83rem; }
  .heri-auth .heri-card { padding:25px; }
  .heri-grid,.heri-fields { grid-template-columns:1fr; }
  .heri-record { display:block; }
  .heri-record-side { text-align:left; margin-top:16px; }
  .heri-actions { justify-content:flex-start; }
  .heri-form-top { align-items:center; }
  .heri-completion { width:75px; height:75px; border-width:5px; }
  .heri-completion strong { font-size:1.1rem; }
  .heri-completion span { font-size:.58rem; }
  .heri-form-footer { display:block; }
  .heri-micro { max-width:none; margin-bottom:13px; }
  .heri-footer-actions { justify-content:stretch; }
  .heri-footer-actions .heri-btn { flex:1 1 45%; }
  .heri-nav { gap:14px; padding:11px; }
  .heri-nav a,.heri-nav button { font-size:.79rem; }
}
