/* ── Accordion steps ── */
  .steps-section h2.section-title{color:#003366;font-size:1.6rem;margin-bottom:.35rem;}
  .steps-section p.section-sub{margin-bottom:2rem;max-width:44rem;}
  ol.stepper{list-style:none; padding-left:0;}
  ol.stepper>li{position:relative;padding:0 0 1.25rem 0;}
  ol.stepper>li:last-child{padding-bottom:0;}
  /* connecting rail */
  .step-marker{
    position:absolute;left:0;top:0;width:3rem;height:3rem;border-radius:50%;
    background:#003366;color:#fff;font-weight:700;font-size:1.15rem;
    display:flex;align-items:center;justify-content:center;flex:0 0 auto;
    border:3px solid #fff;box-shadow:0 2px 6px rgba(19,48,92,.25);
  }

  .step-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px rgba(19,48,92,.12);overflow:hidden;}

  /* Accordion trigger button */
  h2.step-head-heading{margin:0;}
  button.step-head{
    display:flex;flex-wrap:wrap;align-items:center;gap:1rem;width:100%;
    padding:1rem 1.4rem;border:0;border-bottom:1px solid #ff6600;
    background:#fff;cursor:pointer;text-align:left;font:inherit;
  }
  button.step-head[aria-expanded="false"]{border-bottom-color:transparent;}
  button.step-head:hover{background:#f5f7f9;}
  button.step-head:focus-visible{outline:3px solid #003366;outline-offset:-3px;}
  .step-head .step-marker{position:static;box-shadow:none;border-width:2px;}
  .step-title{flex:1 1 auto;min-width:0;}
  .step-title h2, .step-title{color:#003366;font-size:1.2rem;margin-bottom:0;}
  .step-head .eyebrow{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#000;}
  .chevron-icon{width:1.35rem;height:1.35rem;flex:0 0 auto;fill:none;stroke:#003366;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease;}
  button.step-head[aria-expanded="true"] .chevron-icon{transform:rotate(180deg);}

  .step-body{padding:1.25rem 1.4rem 1.4rem;}
  .step-body[hidden]{display:none;}
  .step-body h3{font-size:.98rem;color:#003366;margin:1.1rem 0 .35rem;}
  .step-body h3:first-child{margin-top:0;}
  .step-body ul{padding-left:1.25rem;}
  .step-body li{margin-bottom:.4rem;}
  .callout{
    background:rgb(238 123 48 / 15%);border-left:5px solid #ff6600;
    padding:.85rem 1.1rem;border-radius:0 8px 8px 0;margin-top:1rem;
  }

  /* ── Questions / footer ── */
  .questions{background:#d6e8ee;color:#003366;padding:2.5rem 0;text-align:center;}
  .questions h2{font-size:1.5rem;margin-bottom:.5rem;}
  .questions a{text-decoration:underline;}
  .questions p{font-size:.95rem;margin-bottom:.3rem;}

  @media (max-width:640px){
    ol.stepper>li{padding-left:3.4rem;}
    .step-marker{width:2.4rem;height:2.4rem;font-size:.95rem;}
    button.step-head{padding:.9rem 1rem;}
  }
  @media (prefers-reduced-motion:reduce){
    .chevron-icon{transition:none;}
  }

  /* ── Tip callout ── */
.steps-section .step-body p.tip{
  background:#f0f2f4;
  border-radius:8px;
  padding:.85rem 1.1rem;
  margin:0 0 .75rem 1.25rem;
  line-height:1.5;
  color:#000;
}

@media (max-width:640px){
  .steps-section  .step-body p.tip{
    float:none;
    width:auto;
    max-width:none;
    margin:0 0 1rem;
  }
}
