/* RockStack Readiness Check v2. Scoped under #rsq2. Fonts come from the Elementor kit. */
#rsq2{
  --navy:#102542; --gold:#C89B3C; --gold-hover:#B0852E; --slate:#6E7B8B;
  --paper:#FBFAF7; --white:#FFFFFF; --warm:#E4E0D8;
  --disp:"Cormorant Garamond",Georgia,serif; --body:Manrope,system-ui,sans-serif; --mono:"IBM Plex Mono",monospace;
  max-width:860px; margin:0 auto; padding:8px 4px 24px;
  font-family:var(--body); font-size:17px; line-height:1.6; color:var(--navy); text-align:left;
}
#rsq2 *,#rsq2 *::before,#rsq2 *::after{box-sizing:border-box;}
#rsq2 [hidden]{display:none !important;}

/* Steps */
#rsq2 .rsq2-step{display:none;}
#rsq2 .rsq2-step.is-active{display:block;animation:rsq2fade .3s ease;}
@keyframes rsq2fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* Progress */
#rsq2 .rsq2-progress{margin:0 0 36px;}
#rsq2 .rsq2-progress-text{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0 0 10px;font-family:var(--mono);font-weight:500;font-size:12px;line-height:1.4;letter-spacing:2px;text-transform:uppercase;color:var(--navy);}
#rsq2 .rsq2-progress-track{height:4px;background:var(--warm);}
#rsq2 .rsq2-progress-fill{height:4px;width:0;background:var(--navy);transition:width .3s ease;}

/* Type */
#rsq2 .rsq2-eyebrow{margin:0 0 18px;font-family:var(--mono);font-weight:500;font-size:12px;line-height:1.4;letter-spacing:2.4px;text-transform:uppercase;color:var(--gold);}
#rsq2 .rsq2-h1{margin:0 0 20px;font-family:var(--disp);font-weight:600;font-size:56px;line-height:1.15;letter-spacing:-0.5px;color:var(--navy);}
#rsq2 .rsq2-lede{margin:0 0 16px;max-width:62ch;font-size:23px;line-height:33px;color:var(--navy);}
#rsq2 .rsq2-support{margin:0 0 28px;max-width:62ch;font-size:17px;line-height:1.6;color:var(--navy);}
#rsq2 .rsq2-q-text{margin:0;padding:0;font-family:var(--disp);font-weight:600;font-size:40px;line-height:1.2;letter-spacing:-0.25px;color:var(--navy);}
#rsq2 .rsq2-h2{margin:0 0 12px;font-family:var(--disp);font-weight:600;font-size:40px;line-height:1.2;letter-spacing:-0.25px;color:var(--navy);}
#rsq2 .rsq2-h2 strong{font-weight:600;}
#rsq2 .rsq2-h3{margin:0 0 12px;font-family:var(--disp);font-weight:600;font-size:28px;line-height:1.3;color:var(--navy);}
#rsq2 .rsq2-p{margin:0 0 16px;max-width:68ch;font-size:17px;line-height:1.6;color:var(--navy);}
#rsq2 .rsq2-p:last-child{margin-bottom:0;}
#rsq2 a:not(.rsq2-btn){color:var(--navy);text-decoration:underline;text-underline-offset:3px;}
#rsq2 a:not(.rsq2-btn):hover{color:var(--gold-hover);}

/* Question */
#rsq2 .rsq2-fieldset{margin:0;padding:0;border:0;min-width:0;}
#rsq2 .rsq2-legend{display:block;width:100%;margin:0 0 28px;padding:0;border:0;float:none;}
#rsq2 .rsq2-answers{display:flex;flex-direction:column;gap:12px;}
#rsq2 .rsq2-ans{display:flex;align-items:flex-start;gap:14px;margin:0;padding:16px 20px;background:var(--white);border:1px solid var(--slate);border-radius:8px;font-family:var(--body);font-size:17px;line-height:1.5;font-weight:400;color:var(--navy);cursor:pointer;}
#rsq2 .rsq2-ans:hover{border-color:var(--navy);}
#rsq2 .rsq2-radio{flex:0 0 auto;width:20px;height:20px;margin:3px 0 0;accent-color:var(--navy);cursor:pointer;}
#rsq2 .rsq2-ans.is-sel{border-color:var(--navy);box-shadow:inset 4px 0 0 var(--gold),0 0 0 1px var(--navy);}
#rsq2 .rsq2-ans:focus-within{outline:2px solid var(--navy);outline-offset:3px;}
#rsq2 .rsq2-radio:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}

/* Messages */
#rsq2 .rsq2-err{margin:12px 0 0;font-size:15px;line-height:1.5;font-weight:600;color:var(--navy);}
#rsq2 .rsq2-err:empty{display:none;}
#rsq2 .rsq2-form-status{margin:14px 0 0;font-size:15px;line-height:1.5;font-weight:600;color:var(--navy);}
#rsq2 .rsq2-form-status:empty{display:none;}
#rsq2 .rsq2-loading{margin:0;font-family:var(--mono);font-size:14px;line-height:1.5;color:var(--navy);}

/* Buttons: Manrope 600 14px, radius 0, padding 14/28. Backgrounds are set here because the kit forces navy otherwise. */
#rsq2 .rsq2-nav{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;}
#rsq2 .rsq2-btn{display:inline-block;margin:0;padding:14px 28px;border-radius:0;font-family:var(--body);font-weight:600;font-size:14px;line-height:1.2;letter-spacing:.5px;text-transform:none;text-decoration:none;text-align:center;cursor:pointer;box-shadow:none;transition:background-color .15s,color .15s,border-color .15s;}
#rsq2 .rsq2-btn-primary,#rsq2 .rsq2-btn-primary:focus{background:var(--gold);background-color:var(--gold);color:var(--navy);border:2px solid var(--gold);}
#rsq2 .rsq2-btn-primary:hover{background:var(--gold-hover);background-color:var(--gold-hover);color:var(--navy);border-color:var(--gold-hover);}
#rsq2 .rsq2-btn-outline,#rsq2 .rsq2-btn-outline:focus{background:transparent;background-color:transparent;color:var(--navy);border:2px solid var(--navy);}
#rsq2 .rsq2-btn-outline:hover{background:var(--navy);background-color:var(--navy);color:var(--paper);border-color:var(--navy);}
#rsq2 .rsq2-btn:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
#rsq2 .rsq2-btn[disabled]{opacity:.6;cursor:default;}

/* Results */
#rsq2 .rsq2-headline{margin:0 0 28px;}
#rsq2 .rsq2-bars{margin:0 0 28px;padding:28px;background:var(--white);border:1px solid var(--slate);border-radius:8px;}
#rsq2 .rsq2-bar-row{margin:0 0 20px;}
#rsq2 .rsq2-bar-row:last-child{margin-bottom:0;}
#rsq2 .rsq2-bar-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 8px;font-size:16px;line-height:1.4;color:var(--navy);}
#rsq2 .rsq2-bar-name{font-weight:600;}
#rsq2 .rsq2-bar-val strong{font-weight:700;}
#rsq2 .rsq2-bar-label{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:2px;text-transform:uppercase;margin-left:6px;}
#rsq2 .rsq2-bar-track{height:10px;background:var(--warm);}
#rsq2 .rsq2-bar-fill{height:10px;background:var(--navy);}
#rsq2 .rsq2-focus{margin:0 0 8px;padding:28px;background:var(--white);border:1px solid var(--slate);border-radius:8px;}
#rsq2 .rsq2-focus-name{margin:0 0 10px;font-size:17px;line-height:1.5;font-weight:700;color:var(--navy);}
#rsq2 .rsq2-actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 0;}

/* Email form */
#rsq2 .rsq2-after{margin:36px 0 0;}
#rsq2 .rsq2-form{margin:0;padding:28px;background:var(--white);border:1px solid var(--slate);border-radius:8px;}
#rsq2 .rsq2-field{margin:0 0 18px;max-width:460px;}
#rsq2 .rsq2-label{display:block;margin:0 0 6px;font-size:15px;line-height:1.4;font-weight:600;color:var(--navy);}
#rsq2 .rsq2-in{display:block;width:100%;margin:0;padding:12px 14px;background:var(--white);border:1px solid var(--slate);border-radius:0;box-shadow:none;font-family:var(--body);font-size:16px;line-height:1.4;color:var(--navy);}
#rsq2 .rsq2-in:focus,#rsq2 .rsq2-in:focus-visible{outline:2px solid var(--navy);outline-offset:2px;border-color:var(--navy);box-shadow:none;}
#rsq2 .rsq2-in[aria-invalid="true"]{border-color:var(--navy);border-width:2px;}
#rsq2 .rsq2-check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 0;font-size:15px;line-height:1.5;font-weight:400;color:var(--navy);cursor:pointer;}
#rsq2 .rsq2-check input{flex:0 0 auto;width:18px;height:18px;margin:3px 0 0;accent-color:var(--navy);}
#rsq2 .rsq2-check input:focus-visible{outline:2px solid var(--navy);outline-offset:2px;}
#rsq2 .rsq2-form .rsq2-nav{margin-top:22px;}
#rsq2 .rsq2-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
#rsq2 .rsq2-privacy{margin:14px 0 0;font-size:14px;line-height:1.6;color:var(--navy);}
#rsq2 .rsq2-disclaimer{margin:28px 0 0;padding:16px 0 0;border-top:1px solid var(--warm);font-size:14px;line-height:1.6;color:var(--navy);}

/* Headings and text that receive focus on a step change */
#rsq2 [tabindex="-1"]:focus{outline:none;}
#rsq2 [tabindex="-1"]:focus-visible{outline:2px solid var(--navy);outline-offset:4px;}

@media (max-width:767px){
  #rsq2{font-size:16px;}
  #rsq2 .rsq2-eyebrow,#rsq2 .rsq2-progress-text{font-size:11px;}
  #rsq2 .rsq2-h1{font-size:36px;line-height:1.2;}
  #rsq2 .rsq2-lede{font-size:19px;line-height:28px;}
  #rsq2 .rsq2-q-text,#rsq2 .rsq2-h2{font-size:28px;line-height:1.25;}
  #rsq2 .rsq2-h3{font-size:22px;line-height:1.35;}
  #rsq2 .rsq2-p,#rsq2 .rsq2-support,#rsq2 .rsq2-ans{font-size:16px;}
  #rsq2 .rsq2-bars,#rsq2 .rsq2-focus,#rsq2 .rsq2-form{padding:20px;}
  #rsq2 .rsq2-ans{padding:14px 16px;}
  #rsq2 .rsq2-nav .rsq2-btn,#rsq2 .rsq2-actions .rsq2-btn{flex:1 1 auto;}
}

@media (prefers-reduced-motion:reduce){
  #rsq2 .rsq2-step.is-active{animation:none;}
  #rsq2 .rsq2-progress-fill,#rsq2 .rsq2-btn{transition:none;}
}
