:root{
  --crux:#00a8aa;
  --crux-dark:#008e90;
  --crux-soft:#e9fbfb;
  --ink:#0b1226;
  --muted:#4c5968;
  --line:#d8e0e5;
  --bg:#f3f9fc;
  --danger:#b42318;
}

.crux-ha,
.crux-ha *{box-sizing:border-box}

/* Break the quiz out of narrow WP/Elementor content columns so it behaves like the reference quiz page. */
.crux-ha{
  width:100vw!important;
  max-width:100vw!important;
  min-height:100vh;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  padding:42px 60px 56px;
  overflow-x:hidden;
}

.crux-ha-form,
.crux-ha-shell,
.crux-ha-main{
  width:100%!important;
  max-width:1420px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:block!important;
}
.crux-ha-shell{min-height:100vh}
.crux-ha-main{padding:0 0 36px!important}

.crux-ha-logo-row{
  height:108px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding-bottom:18px;
}
.crux-ha-logo{
  color:var(--crux);
  font-size:35px;
  line-height:1;
  letter-spacing:.02em;
  font-weight:950;
}

.crux-ha-topbar{
  width:100%!important;
  display:flex!important;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  min-height:36px;
  margin:0 0 6px!important;
}
.crux-ha-backlink{
  border:0!important;
  background:transparent!important;
  color:var(--ink)!important;
  font-size:21px!important;
  line-height:1.1!important;
  font-weight:500!important;
  cursor:pointer;
  padding:0!important;
  margin:0!important;
  text-align:left;
  box-shadow:none!important;
  min-width:auto!important;
  text-transform:none!important;
}
.crux-ha-backlink:hover{color:var(--crux)!important;transform:none!important}
.crux-ha-count{
  flex:0 0 auto;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  font-size:18px!important;
  line-height:1.1!important;
  color:var(--ink);
  text-align:left;
  min-width:74px;
}
.crux-ha-promise{
  margin-left:auto;
  white-space:nowrap;
  font-size:13px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:.03em;
  text-align:right;
  color:var(--ink);
}

.crux-ha-progress{
  width:100%!important;
  height:8px;
  border-radius:999px;
  background:#d9dde0;
  overflow:hidden;
  margin:0 0 8px!important;
}
.crux-ha-progress span{
  display:block;
  height:100%;
  width:0;
  background:var(--crux);
  transition:width .25s ease;
}

.crux-ha-step{display:none!important;animation:cruxFade .18s ease}
.crux-ha-step.active{display:block!important}
@keyframes cruxFade{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}

.crux-ha-card{
  width:100%!important;
  max-width:var(--cha-max-width,940px)!important;
  min-width:0!important;
  margin:64px auto 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  text-align:center!important;
  padding:0!important;
}
.crux-ha-welcome{max-width:760px!important;margin-top:84px!important}
.crux-ha-kicker{
  color:var(--crux)!important;
  text-transform:uppercase!important;
  letter-spacing:.15em!important;
  font-size:var(--cha-kicker-size,14px)!important;
  line-height:1.4!important;
  font-weight:950!important;
  margin:0 0 28px!important;
  text-align:center!important;
}
.crux-ha h2,
.crux-ha h3,
.crux-ha .crux-ha-subq{
  max-width:none!important;
  width:auto!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:var(--ink)!important;
  font-family:inherit!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  line-height:1.12!important;
  text-align:center!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  white-space:normal!important;
}
.crux-ha h2{font-size:clamp(28px,3.4vw,var(--cha-question-size,42px))!important;max-width:780px!important}
.crux-ha h3{font-size:clamp(24px,2.6vw,var(--cha-question-size,36px))!important;max-width:860px!important}
.crux-ha p{
  max-width:760px!important;
  margin:22px auto!important;
  color:#252a31!important;
  font-size:var(--cha-subtitle-size,18px)!important;
  line-height:1.55!important;
  text-align:center!important;
}
.crux-ha-help{color:#252a31!important;margin:22px auto 64px!important;font-size:var(--cha-subtitle-size,18px)!important;max-width:760px!important}
.crux-ha-subq{margin-top:36px!important;margin-bottom:8px!important;font-size:24px!important}

.crux-ha-options{
  display:grid!important;
  gap:16px!important;
  margin:0 auto 8px!important;
  max-width:920px!important;
  width:100%!important;
}
.crux-ha-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.crux-ha-inline{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-width:760px!important}
.crux-ha-options label{cursor:pointer!important;display:block!important;min-width:0!important;margin:0!important;padding:0!important}
.crux-ha-options input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.crux-ha-options label > .crux-ha-option-card{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:118px!important;
  border:1.5px solid var(--line)!important;
  border-radius:var(--cha-radius,8px)!important;
  padding:28px 38px 24px!important;
  background:#fff!important;
  transition:.16s ease!important;
  font-size:18px!important;
  line-height:1.2!important;
  font-weight:850!important;
  color:var(--ink)!important;
  text-align:center!important;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
}
.crux-ha-options label > .crux-ha-option-card:before{
  content:"+";
  position:absolute;
  top:14px;
  right:16px;
  color:#8b8f94;
  font-size:28px;
  line-height:1;
  font-weight:350;
}
.crux-ha-options input:checked + .crux-ha-option-card{
  border-color:#6c747a!important;
  background:#fff!important;
  box-shadow:0 0 0 1px #6c747a inset!important;
}
.crux-ha-options input:checked + .crux-ha-option-card:before{
  content:"✓";
  color:var(--crux);
  font-size:24px;
  font-weight:950;
}
.crux-ha-options label > .crux-ha-option-card:hover{border-color:#aeb8bf!important;transform:translateY(-1px)}

.crux-ha-field{
  display:block!important;
  max-width:560px!important;
  margin:24px auto!important;
  color:var(--ink)!important;
  font-size:18px!important;
  font-weight:850!important;
  text-align:left!important;
}
.crux-ha-field input,
.crux-ha-field select,
.crux-ha-field textarea{
  display:block!important;
  width:100%!important;
  margin-top:9px!important;
  border:1.5px solid var(--line)!important;
  border-radius:8px!important;
  padding:17px 18px!important;
  font:inherit!important;
  font-weight:650!important;
  line-height:1.3!important;
  background:#fff!important;
  color:var(--ink)!important;
  min-height:58px!important;
  transition:.16s ease!important;
  -webkit-text-fill-color:var(--ink)!important;
}
.crux-ha-field select{
  appearance:auto!important;
  -webkit-appearance:menulist!important;
  opacity:1!important;
}
.crux-ha-field input:focus,
.crux-ha-field select:focus,
.crux-ha-field textarea:focus{
  outline:3px solid rgba(0,168,170,.16)!important;
  border-color:var(--crux)!important;
}
.crux-ha-field select option{color:var(--ink)!important;background:#fff!important}

.crux-ha-range-wrap{
  max-width:720px!important;
  margin:60px auto 12px!important;
  padding:20px 0!important;
  background:transparent!important;
  border:0!important;
}
.crux-ha-range-wrap input{width:100%!important;accent-color:var(--crux)!important}
.crux-ha-range-wrap strong{display:block;text-align:center;font-size:34px;color:var(--crux);margin-top:18px}

.crux-ha-nav{
  display:flex!important;
  justify-content:center!important;
  gap:12px!important;
  margin:74px auto 0!important;
  max-width:520px!important;
  width:100%!important;
}
.crux-ha-btn{
  border:0!important;
  background:var(--crux)!important;
  color:#fff!important;
  border-radius:4px!important;
  padding:17px 34px!important;
  font-size:var(--cha-button-size,16px)!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  min-width:390px!important;
  box-shadow:none!important;
  transition:.16s ease!important;
  text-align:center!important;
}
.crux-ha-btn:hover{background:var(--crux-dark)!important;transform:translateY(-1px)}
.crux-ha-secondary{background:#fff!important;color:var(--crux)!important;border:1.5px solid var(--crux)!important;min-width:160px!important}
.crux-ha-secondary:hover{background:var(--crux-soft)!important;color:var(--crux)!important}
.crux-ha-welcome .crux-ha-btn{margin-top:24px!important}

.hidden{display:none!important}
.crux-ha-error{color:var(--danger)!important;font-weight:800!important;min-height:24px;margin:18px auto 0!important;text-align:center!important;max-width:720px!important}

.crux-ha-result{text-align:left!important;max-width:860px!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:38px!important;margin-top:42px!important}
.crux-ha-result h2{text-align:left!important;color:var(--crux)!important;font-size:clamp(30px,4vw,44px)!important}
.crux-ha-result h3{margin-top:26px!important;color:var(--ink)!important;font-size:24px!important;letter-spacing:-.025em!important;text-align:left!important}
.crux-ha-result p{font-size:17px!important;color:#222!important;margin:14px 0!important;text-align:left!important;max-width:none!important}
.crux-ha-result ul{padding-left:0!important;list-style:none!important;line-height:1.7!important;display:grid!important;gap:8px!important}
.crux-ha-result li{position:relative!important;padding-left:28px!important;font-size:16px!important}
.crux-ha-result li:before{content:"✓";position:absolute;left:0;color:var(--crux);font-weight:900}
.crux-ha-invite{background:var(--crux-soft)!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:22px!important;margin-top:26px!important}
.crux-ha-invite h3{margin-top:0!important;color:var(--ink)!important}

@media(max-width:1020px){
  .crux-ha{padding:0 24px 34px!important}
  .crux-ha-topbar{gap:14px!important}
  .crux-ha-promise{font-size:11px!important;white-space:normal!important;max-width:420px!important}
  .crux-ha-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .crux-ha-inline{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media(max-width:680px){
  .crux-ha{padding:24px 16px 26px!important;min-height:100vh}
  .crux-ha-progress{height:7px!important;margin-bottom:12px!important}
  .crux-ha-topbar{display:flex!important;align-items:flex-start!important;gap:8px!important;margin-bottom:8px!important}
  .crux-ha-backlink{font-size:18px!important;margin-bottom:0!important}
  .crux-ha-count{font-size:16px!important;min-width:60px!important}
  .crux-ha-promise{display:none!important}
  .crux-ha-card{margin-top:34px!important}
  .crux-ha-welcome{margin-top:52px!important}
  .crux-ha h2{font-size:36px!important;max-width:100%!important}
  .crux-ha h3{font-size:27px!important;max-width:100%!important}
  .crux-ha p,.crux-ha-help{font-size:18px!important}
  .crux-ha-help{margin-bottom:34px!important}
  .crux-ha-grid,.crux-ha-inline{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}
  .crux-ha-options{gap:10px!important}
  .crux-ha-options label > .crux-ha-option-card{min-height:128px!important;justify-content:center!important;text-align:center!important;padding:24px 28px 18px!important;font-size:var(--cha-option-size,16px)!important;flex-direction:column!important;gap:10px!important}
  .crux-ha-option-img{width:54px!important;height:54px!important;margin:0!important;object-fit:contain!important}
  .crux-ha-options label > .crux-ha-option-card:before{top:12px;right:12px;transform:none}
  .crux-ha-field{max-width:100%!important;font-size:16px!important}
  .crux-ha-nav{position:sticky!important;bottom:0;background:rgba(243,249,252,.96)!important;padding:12px 0!important;margin-top:34px!important;z-index:3!important}
  .crux-ha-btn{width:100%!important;min-width:0!important;padding:16px 18px!important;font-size:15px!important}
  .crux-ha-result{padding:24px 18px!important;border-radius:12px!important}
}

/* Tight snapshot visual refresh — v1.5.1 */
.crux-ha-result{max-width:960px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
.crux-ha-snapshot-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--crux) 0%,#087f81 100%);color:#fff;border-radius:22px;padding:42px 44px;margin-bottom:22px;box-shadow:0 18px 45px rgba(0,168,170,.18)}
.crux-ha-snapshot-hero:after{content:"";position:absolute;width:220px;height:220px;border:38px solid rgba(255,255,255,.09);border-radius:50%;right:-80px;top:-100px}
.crux-ha-snapshot-eyebrow,.crux-ha-section-label{display:block;font-size:12px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.crux-ha-snapshot-hero h2{position:relative;z-index:1;color:#fff!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.1!important;margin:12px 0 14px!important}
.crux-ha-snapshot-hero p{position:relative;z-index:1;color:rgba(255,255,255,.92)!important;font-size:17px!important;line-height:1.7!important;margin:0!important;max-width:720px!important}
.crux-ha-snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.crux-ha-snapshot-panel,.crux-ha-next-step-card,.crux-ha-support-card,.crux-ha-invite{background:#fff!important;border:1px solid #dce9ed!important;border-radius:18px!important;padding:28px!important;box-shadow:0 10px 30px rgba(22,48,66,.06)!important}
.crux-ha-snapshot-panel{position:relative;padding-top:66px!important}
.crux-ha-panel-icon{position:absolute;top:24px;left:28px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:16px;background:#e7f9f5;color:#087f81}
.crux-ha-panel-attention .crux-ha-panel-icon{background:#fff4df;color:#a85d00}
.crux-ha-result .crux-ha-snapshot-panel h3,.crux-ha-result .crux-ha-next-step-card h3,.crux-ha-result .crux-ha-support-card h3,.crux-ha-result .crux-ha-invite h3{font-size:21px!important;line-height:1.3!important;margin:0 0 14px!important;color:var(--ink)!important}
.crux-ha-result .crux-ha-snapshot-panel ul,.crux-ha-result .crux-ha-support-card ul{margin:0!important}
.crux-ha-result .crux-ha-snapshot-panel li{padding-left:24px!important;line-height:1.55!important;color:#344657!important}
.crux-ha-result .crux-ha-positive-list li:before{content:"✓"!important;color:var(--crux)!important}
.crux-ha-result .crux-ha-attention-list li:before{content:"•"!important;color:#d88916!important;font-size:22px;line-height:16px}
.crux-ha-next-step-card{background:linear-gradient(135deg,#eefafa,#fff)!important;border-color:rgba(0,168,170,.28)!important;margin-bottom:20px!important}
.crux-ha-next-step-card .crux-ha-section-label,.crux-ha-support-card .crux-ha-section-label,.crux-ha-invite .crux-ha-section-label{color:#087f81!important;margin-bottom:10px!important}
.crux-ha-next-step-card h3{font-size:27px!important;color:#087f81!important}
.crux-ha-next-step-card p,.crux-ha-support-card p,.crux-ha-invite p{line-height:1.7!important;color:#425466!important;margin-bottom:0!important}
.crux-ha-support-card{display:grid;grid-template-columns:minmax(220px,.9fr) 1.1fr;gap:28px;align-items:start;margin-bottom:20px!important}
.crux-ha-support-list{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.crux-ha-support-list li{background:#f5f9fa;border:1px solid #e1ecef;border-radius:10px;padding:12px 14px 12px 36px!important;line-height:1.35!important}
.crux-ha-support-list li:before{left:14px!important;top:11px!important}
.crux-ha-invite{background:#14213d!important;border-color:#14213d!important;color:#fff!important}
.crux-ha-result .crux-ha-invite h3,.crux-ha-result .crux-ha-invite p{color:#fff!important}
.crux-ha-invite .crux-ha-section-label{color:#72e3e4!important}
@media(max-width:720px){.crux-ha-snapshot-hero{padding:30px 24px;border-radius:16px}.crux-ha-snapshot-grid{grid-template-columns:1fr}.crux-ha-snapshot-panel,.crux-ha-next-step-card,.crux-ha-support-card,.crux-ha-invite{padding:22px!important;border-radius:14px!important}.crux-ha-snapshot-panel{padding-top:60px!important}.crux-ha-support-card{grid-template-columns:1fr;gap:10px}.crux-ha-support-list{grid-template-columns:1fr!important}}

.crux-ha-option-label{font-style:normal!important}.crux-ha-option-card em{font-style:normal!important}.crux-ha-invite-button{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:12px 22px;border-radius:7px;background:var(--crux);color:#fff!important;text-decoration:none!important;font-weight:700}.crux-ha-invite-button:hover{filter:brightness(.95)}

/* v1.5.3: prevent nested option labels from inheriting card borders/checkmarks */
.crux-ha-options .crux-ha-option-label{display:block!important;position:static!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;font-style:normal!important;font-size:var(--cha-option-size,16px)!important;line-height:1.25!important;font-weight:850!important;color:var(--ink)!important;text-align:center!important}
.crux-ha-options .crux-ha-option-label:before,.crux-ha-options .crux-ha-option-label:after{content:none!important;display:none!important}

/* v1.5.4: stable option images and two-column mobile cards */
@media (max-width:680px){
  .crux-ha-grid,.crux-ha-inline{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .crux-ha-options{gap:10px!important}
  .crux-ha-options label > .crux-ha-option-card{width:100%!important;min-width:0!important}
  .crux-ha-option-label{overflow-wrap:anywhere!important}
}

/* Tight option image layout fix — v1.5.5
 * Keep uploaded option images above their labels on every viewport.
 */
.crux-ha-options label > .crux-ha-option-card{
  flex-direction:column!important;
  gap:12px!important;
}
.crux-ha-option-img{
  display:block!important;
  width:72px!important;
  height:72px!important;
  max-width:100%!important;
  margin:0 auto!important;
  object-fit:contain!important;
  flex:0 0 auto!important;
}
.crux-ha-option-label{
  display:block!important;
  width:100%!important;
  text-align:center!important;
}

@media (max-width:680px){
  .crux-ha-option-img{
    width:54px!important;
    height:54px!important;
  }
}

/* Website back navigation — positioned after pagination in the quiz top bar. */
.crux-ha-siteback{background:none!important;border:0!important;padding:0!important;color:#667085!important;font:inherit!important;font-weight:500!important;cursor:pointer!important;white-space:nowrap!important}
.crux-ha-siteback:hover{color:var(--crux)!important}
