:root{--red:#ff3131;--paper:#f2f2f2;--ink:#111;--white:#fff;--line:rgba(17,17,17,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:"DM Sans",Arial,sans-serif;color:var(--ink);min-height:100vh}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.mini-header{display:flex;justify-content:space-between;align-items:center;padding:28px clamp(20px,5vw,70px)}.brand{display:flex;flex-direction:column;color:var(--red);font-family:"Archivo Black";font-size:31px;line-height:.65;letter-spacing:-.09em}.brand span:last-child{font-family:"DM Sans";font-weight:400;font-size:.9em}.back-link{font-weight:700;border-bottom:1px solid}main{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:40px 0 80px}.intro{min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.eyebrow{color:var(--red);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.intro h1,.form-step h2,.success h2{font-family:"Archivo Black";letter-spacing:-.07em;line-height:.88;margin:14px 0 26px}.intro h1{font-size:clamp(58px,9vw,126px)}.intro h1 span{color:transparent;-webkit-text-stroke:2px var(--red)}.intro-copy{font-size:20px;max-width:650px;color:#444;margin:0 0 32px}.privacy-note{font-size:13px;color:#666;margin-top:18px}.primary,.secondary{border:0;padding:16px 24px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--red);color:#fff}.secondary{background:transparent;border:1px solid var(--line)}.form-shell{background:#fff;border-radius:24px;padding:clamp(28px,5vw,70px);box-shadow:0 25px 80px rgba(0,0,0,.08);position:relative}.progress{height:4px;background:#e6e6e6;margin-bottom:22px}.progress span{display:block;height:100%;width:20%;background:var(--red);transition:width .3s}.step-count{position:absolute;right:clamp(28px,5vw,70px);top:clamp(28px,5vw,70px);font-weight:700;color:#777}.form-step{display:none}.form-step.active{display:block}.form-step h2{font-size:clamp(42px,6vw,76px);max-width:850px}.fields{display:grid;gap:20px}.two-cols{grid-template-columns:1fr 1fr}label,legend{font-size:13px;font-weight:700}label{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}input,textarea{border:0;border-bottom:1px solid #aaa;background:transparent;padding:12px 0;outline:none;resize:vertical;font-size:17px}input:focus,textarea:focus{border-color:var(--red)}fieldset{border:0;padding:0;margin:0 0 28px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.choice-grid label{margin:0}.choice-grid input,.rating input,.consent input{position:absolute;opacity:0;pointer-events:none}.choice-grid span{display:block;border:1px solid var(--line);padding:16px;border-radius:12px;cursor:pointer}.choice-grid input:checked+span{background:var(--red);color:#fff;border-color:var(--red)}.rating{display:flex;gap:12px;margin:25px 0 38px}.rating label{margin:0}.rating span{width:70px;height:70px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-family:"Archivo Black";font-size:25px;cursor:pointer}.rating input:checked+span{background:var(--red);color:#fff;border-color:var(--red);transform:scale(1.08)}.consent-list,.radio-list{display:grid;gap:10px;margin-top:14px}.consent{margin:0;display:grid;grid-template-columns:28px 1fr;align-items:start;gap:12px;font-size:15px;font-weight:500;cursor:pointer}.consent span:before{content:"";display:inline-grid;place-items:center;width:20px;height:20px;border:1px solid #999;margin-right:12px;vertical-align:-4px}.consent input:checked+span:before{content:"✓";background:var(--red);border-color:var(--red);color:#fff}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.form-error{color:#b00020;font-weight:700}.honeypot{position:absolute;left:-9999px}.success{min-height:72vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.success h2{font-size:clamp(52px,8vw,110px)}.success p{font-size:20px;max-width:650px;color:#444;margin:0 0 30px}footer{text-align:center;padding:25px;color:#777;font-size:13px}@media(max-width:700px){.two-cols,.choice-grid{grid-template-columns:1fr}.form-shell{border-radius:16px}.step-count{position:static;margin-bottom:20px}.rating{gap:8px}.rating span{width:54px;height:54px}.mini-header{padding:20px}.back-link{font-size:13px}}
/* V11 fixes */
[hidden]{display:none!important}
.form-shell{padding-top:clamp(56px,7vw,92px)}
.step-count{right:clamp(34px,5vw,78px);top:clamp(34px,5vw,78px);padding:6px 8px;background:#fff;border-radius:8px;line-height:1}
.progress{margin-top:4px;margin-bottom:34px}
.consent{display:block;font-size:15px;font-weight:500;line-height:1.45}
.consent span{display:block;max-width:none}
.consent span:before{margin-right:12px}
.consent-list,.radio-list{gap:16px}
.form-step[data-step="5"] fieldset{max-width:820px}
.form-step[data-step="5"]>label.consent{max-width:900px;margin-bottom:34px}
.form-actions{align-items:center}
.form-actions [data-submit]{margin-left:auto}
.choice-grid span{min-height:74px;display:flex;align-items:center}
@media(max-width:700px){
  .form-shell{padding-top:64px}
  .step-count{position:absolute;right:22px;top:22px;margin:0}
  .form-actions{flex-wrap:wrap}
  .form-actions .primary,.form-actions .secondary{width:100%}
}

/* V14 — mobile readability for the private client experience */
@media (max-width: 700px) {
  html, body { overflow-x: hidden; }
  body { -webkit-text-size-adjust: 100%; }
  .mini-header { padding: 16px 16px 10px; gap: 14px; }
  .brand { font-size: 24px; }
  .back-link { font-size: 12px; text-align: right; }
  main { width: calc(100% - 24px); padding: 18px 0 54px; }

  .intro { min-height: auto; padding: 48px 0 70px; }
  .intro h1 { font-size: clamp(46px, 15vw, 68px); line-height: .9; }
  .intro-copy { font-size: 17px; line-height: 1.5; }
  .primary, .secondary { width: 100%; min-height: 52px; }

  .form-shell {
    border-radius: 14px;
    padding: 58px 18px 24px;
    box-shadow: 0 14px 42px rgba(0,0,0,.07);
  }
  .progress { margin: 0 0 26px; }
  .step-count { right: 16px; top: 18px; font-size: 13px; padding: 4px 6px; }
  .form-step { width: 100%; min-width: 0; }
  .form-step h2 {
    font-size: clamp(38px, 12vw, 54px);
    line-height: .94;
    letter-spacing: -.06em;
    margin: 10px 0 26px;
    overflow-wrap: normal;
    word-break: normal;
  }
  .fields, .two-cols, .choice-grid { grid-template-columns: 1fr; gap: 14px; }
  label { margin-bottom: 16px; }
  label, legend { font-size: 13px; line-height: 1.35; }
  input, textarea { width: 100%; min-width: 0; font-size: 16px; padding: 10px 0; }
  textarea { min-height: 110px; }

  .choice-grid span { min-height: 60px; padding: 14px; font-size: 15px; }
  .rating { flex-wrap: wrap; gap: 8px; margin: 18px 0 28px; }
  .rating span { width: 48px; height: 48px; font-size: 20px; }

  .consent-list, .radio-list { gap: 14px; }
  .consent { font-size: 14px; line-height: 1.45; }
  .consent span { width: 100%; overflow-wrap: break-word; }
  .consent span:before { width: 19px; height: 19px; margin-right: 10px; }
  .form-step[data-step="5"] fieldset,
  .form-step[data-step="5"] > label.consent { max-width: 100%; }

  .form-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 24px; }
  .form-actions .primary, .form-actions .secondary, .form-actions [data-submit] { width: 100%; margin-left: 0; }
  .form-error { font-size: 14px; line-height: 1.4; }

  .success { min-height: auto; padding: 70px 0; }
  .success h2 { font-size: clamp(44px, 14vw, 66px); line-height: .92; }
  .success p { font-size: 17px; line-height: 1.5; }
}

@media (max-width: 380px) {
  main { width: calc(100% - 18px); }
  .form-shell { padding-left: 14px; padding-right: 14px; }
  .form-step h2 { font-size: 36px; }
  .rating span { width: 44px; height: 44px; }
}
