*{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  body{font-family:'Geist',system-ui,sans-serif;background:#EAF1FF;-webkit-font-smoothing:antialiased;color:#071A33;}
  ::selection{background:rgba(37,99,255,0.18);}
  a{text-decoration:none;color:inherit;}
  @keyframes rb-sweep{to{transform:rotate(360deg);}}
  @keyframes rb-pulse{0%{transform:scale(0.35);opacity:0.55;}80%{opacity:0;}100%{transform:scale(1.05);opacity:0;}}
  @keyframes rb-blip{0%,100%{transform:scale(1);opacity:0.35;}45%{transform:scale(1.9);opacity:1;box-shadow:0 0 14px 3px rgba(96,165,250,0.9);}}
  @keyframes rb-drift{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
  @keyframes rb-drift2{0%,100%{transform:translateY(0);}50%{transform:translateY(12px);}}
  @keyframes rb-glow{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,0.9),0 18px 50px -12px rgba(37,99,255,0.55),0 0 60px rgba(96,165,250,0.5);}50%{box-shadow:0 0 0 1px rgba(255,255,255,0.95),0 18px 60px -10px rgba(37,99,255,0.8),0 0 90px rgba(96,165,250,0.75);}}
  @keyframes rb-trail{0%{transform:translateX(0);opacity:0;}30%{opacity:0.7;}100%{transform:translateX(120px);opacity:0;}}
  @keyframes rb-spin-slow{to{transform:rotate(360deg);}}
  @keyframes rb-trailflow{to{stroke-dashoffset:-340;}}
  @keyframes rb-ringspin{to{transform:rotate(360deg);}}
  @keyframes rb-ringspin-rev{to{transform:rotate(-360deg);}}
  @keyframes rb-drift3{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
  @keyframes rb-wave{0%,100%{transform:translateX(0);}50%{transform:translateX(-26px);}}
  @keyframes rb-corepulse{0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,0.9),0 24px 70px -16px rgba(37,99,255,0.6),0 0 70px rgba(120,170,255,0.65);}50%{box-shadow:0 0 0 1px rgba(255,255,255,0.95),0 26px 80px -14px rgba(37,99,255,0.85),0 0 110px rgba(120,170,255,0.9);}}
  [data-motion="off"] *{animation-play-state:paused!important;}
  @media (max-width:980px){
    .rb-nav-links,.rb-nav-cta,.rb-hero-phone-hide{display:none!important;}
    .rb-burger{display:flex!important;}
    .rb-hero-grid{display:block!important;grid-template-columns:1fr!important;gap:36px!important;}
    .rb-hero-copy{text-align:center;align-items:center!important;}
    .rb-hero-h1{font-size:52px!important;}
    .rb-radar{transform:scale(0.82);margin-top:-20px!important;margin-bottom:-20px!important;}
    .rb-2col,.rb-3col,.rb-4col,.rb-6col,.rb-split{grid-template-columns:1fr!important;}
    .rb-section{padding:64px 0!important;}
    .rb-pad{padding-left:22px!important;padding-right:22px!important;}
    .rb-h2{font-size:34px!important;}
    .rb-flex-wrap{flex-wrap:wrap!important;}
    .rb-final-grid{grid-template-columns:1fr!important;}
    .rb-trust-strip{flex-wrap:wrap!important;gap:22px!important;justify-content:center!important;}
  }
  @media (max-width:980px){
    .rb-hero-h1{font-size:46px!important;}
    .rb-radar{transform:scale(0.82)!important;}
    .rb-core-wrap{height:auto!important;flex-direction:column!important;margin-top:6px;}
    .rb-hero-cards-mobile{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;width:100%;}
    .rb-trail-svg{height:300px!important;}
    .rb-hero-sec{min-height:0!important;padding:30px 0 44px!important;}
    .rb-trustchips{justify-content:center!important;gap:16px 18px!important;}
  }
  @media (min-width:981px){.rb-burger{display:none!important;}}
  summary{list-style:none;cursor:pointer;}
  summary::-webkit-details-marker{display:none;}
  details[open] .rb-faq-chev{transform:rotate(180deg);}
  .rb-faq-chev{transition:transform 0.25s ease;}
  details .rb-faq-a{max-height:0;overflow:hidden;opacity:0;transition:max-height 0.3s ease,opacity 0.3s ease,padding 0.3s ease;}
  details[open] .rb-faq-a{max-height:280px;opacity:1;}
  .rb-icard{transition:background .28s ease,box-shadow .28s ease,transform .28s ease,border-color .28s ease;cursor:pointer;}
  .rb-icard:hover{box-shadow:0 18px 42px -24px rgba(13,46,114,0.4);}
  .rb-icard[data-active="1"]{background:linear-gradient(135deg,#2563FF,#0E2E72)!important;border-color:transparent!important;box-shadow:0 22px 54px -18px rgba(37,99,255,0.5)!important;transform:translateY(-4px)!important;}
  .rb-icard[data-active="1"] h3,.rb-icard[data-active="1"] .rb-lbl{color:#fff!important;}
  .rb-icard[data-active="1"] p{color:#CFE0FF!important;}
  .rb-icard[data-active="1"] .rb-ico{background:rgba(255,255,255,0.16)!important;}
  .rb-icard[data-active="1"] .rb-ico svg{stroke:#fff!important;}
  .rb-icard[data-active="1"] > span{color:#fff!important;}
  .rb-icard[data-active="1"] .rb-step{color:#fff!important;}
  .rb-radio{cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease;}
  .rb-radio:hover{border-color:rgba(37,99,255,0.4)!important;}
  .rb-radio[data-active="1"]{background:#EEF4FF!important;border-color:#2563FF!important;box-shadow:0 0 0 1px #2563FF inset!important;}
  .rb-radio .rb-dot::after{content:"";width:10px;height:10px;border-radius:50%;background:#2563FF;transform:scale(0);transition:transform .18s ease;}
  .rb-radio[data-active="1"] .rb-dot{border-color:#2563FF!important;}
  .rb-radio[data-active="1"] .rb-dot::after{transform:scale(1);}
  .rb-seg{cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;}
  .rb-seg:hover{border-color:rgba(37,99,255,0.4)!important;}
  .rb-seg[data-active="1"]{background:#2563FF!important;border-color:#2563FF!important;color:#fff!important;}
  .rb-root{transition:filter .35s ease;}
  .rb-root[data-theme="dark"]{filter:invert(1) hue-rotate(180deg);}
  .rb-root[data-theme="dark"] .rb-keepdark{filter:invert(1) hue-rotate(180deg);}
  .rb-root[data-theme="dark"] .rb-keepchip{filter:invert(1) hue-rotate(180deg);}
  .rb-themebtn .rb-sun{display:none!important;}
  .rb-themebtn[data-dark="1"] .rb-sun{display:inline-flex!important;}
  .rb-themebtn[data-dark="1"] .rb-moon{display:none!important;}
  .rb-parallax-bg{will-change:transform;transform:scale(1.08);}
  @media (max-width:767px){
    .rb-parallax-bg{transform:none!important;background-size:cover!important;background-position:center top!important;}
    .rb-sec-bg{background-position:58% top!important;}
    .rb-why-bg{background-position:42% top!important;}
    .rb-om-bg{background-position:center top!important;}
  }
  @media (prefers-reduced-motion: reduce){
    .rb-parallax-bg{transform:scale(1.04)!important;}
  }
/* ============================================================
   RunnerBoys production additions (a11y, form, mobile menu,
   sticky header, form states). Base above is the design CSS.
   ============================================================ */

/* --- Accessibility: visible keyboard focus --- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,
summary:focus-visible,.rb-radio:focus-visible,.rb-seg:focus-visible,[tabindex]:focus-visible{
  outline:3px solid #1D4FD8;outline-offset:2px;border-radius:6px;
}
.rb-root[data-theme="dark"] a:focus-visible,
.rb-root[data-theme="dark"] button:focus-visible{outline-color:#9CC3FF;}
/* Anchor scroll offset under the sticky header */
section[id],h2[id],#assessment{scroll-margin-top:96px;}
/* Skip link */
.rb-skip{position:absolute;left:-9999px;top:0;z-index:200;background:#2563FF;color:#fff;
  padding:12px 18px;border-radius:0 0 10px 0;font-weight:600;font-size:14px;}
.rb-skip:focus{left:0;}

/* --- Real form fields styled to match the design mock --- */
.rb-input,.rb-textarea{
  width:100%;border-radius:11px;border:1px solid rgba(7,26,51,0.12);background:#F7FAFF;
  padding:0 14px;font-size:14px;color:#071A33;font-family:'Geist',system-ui,sans-serif;
  -webkit-appearance:none;appearance:none;
}
.rb-input{height:46px;}
.rb-textarea{min-height:78px;padding:12px 14px;line-height:1.5;resize:vertical;}
.rb-input::placeholder,.rb-textarea::placeholder{color:#A6B2C8;}
.rb-input:focus,.rb-textarea:focus{border-color:#2563FF;background:#fff;outline-offset:0;}
/* native radios kept invisible but accessible; visual = .rb-radio / .rb-seg */
.rb-choice-input,.rb-emp-input{position:absolute;opacity:0;width:1px;height:1px;}
.rb-radio,.rb-seg{user-select:none;}
.rb-radio{-webkit-tap-highlight-color:transparent;}
/* Checked state mirrors the design's [data-active="1"] styling, no JS needed */
.rb-choice-input:checked + .rb-radio{background:#EEF4FF!important;border-color:#2563FF!important;box-shadow:0 0 0 1px #2563FF inset!important;}
.rb-choice-input:checked + .rb-radio .rb-dot{border-color:#2563FF!important;}
.rb-choice-input:checked + .rb-radio .rb-dot::after{content:"";width:10px;height:10px;border-radius:50%;background:#2563FF;}
.rb-emp-input:checked + .rb-seg{background:#2563FF!important;border-color:#2563FF!important;color:#fff!important;}
.rb-choice-input:focus-visible + .rb-radio,
.rb-emp-input:focus-visible + .rb-seg{outline:3px solid #1D4FD8;outline-offset:2px;}

/* --- Honeypot (spam trap): hidden from humans, visible to bots --- */
.rb-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;
  overflow:hidden;opacity:0;pointer-events:none;}

/* --- Form submit states --- */
.rb-form-status{display:none;font-size:14px;line-height:1.5;border-radius:11px;padding:13px 15px;font-weight:500;}
.rb-form-status.is-error{display:block;background:#FEF1F0;border:1px solid rgba(226,72,58,0.3);color:#B42318;}
.rb-form[data-state="sending"] .rb-submit{opacity:0.7;pointer-events:none;}
.rb-form[data-state="success"] .rb-form-body{display:none;}
.rb-form-success{display:none;text-align:center;padding:18px 6px;}
.rb-form[data-state="success"] .rb-form-success{display:block;}

/* --- Sticky header scroll elevation --- */
header.rb-scrolled{box-shadow:0 8px 30px -18px rgba(13,46,114,0.45);}

/* --- Mobile navigation menu --- */
.rb-mobile-menu{display:none;}
.rb-mobile-menu.open{display:block;}
@media (max-width:980px){
  .rb-mobile-menu.open{
    display:flex;flex-direction:column;gap:4px;padding:14px 22px 20px;
    background:rgba(244,248,255,0.98);backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(37,99,255,0.12);
  }
  .rb-mobile-menu a{padding:13px 6px;font-size:16px;font-weight:600;color:#23324F;
    border-bottom:1px solid rgba(37,99,255,0.08);min-height:44px;display:flex;align-items:center;}
  .rb-mobile-menu .rb-mm-cta{margin-top:12px;justify-content:center;background:#2563FF;color:#fff;
    border-radius:12px;border:none;box-shadow:0 12px 26px -10px rgba(37,99,255,0.7);}
  .rb-mobile-menu .rb-mm-call{justify-content:center;border:1px solid rgba(37,99,255,0.2);border-radius:12px;color:#071A33;}
}
@media (min-width:981px){.rb-mobile-menu{display:none!important;}}

/* --- Tap targets >=44px for nav/footer links --- */
.rb-nav-links a{display:inline-flex;align-items:center;min-height:44px;}
.rb-footlink{display:inline-flex;align-items:center;min-height:32px;color:inherit;}
.rb-footlink:hover{color:#fff;}
/* Keep header controls full-size (don't let flex squeeze them) */
.rb-themebtn,.rb-burger{flex:none;}
/* On small screens the 58px logo crowds the header — scale it so controls stay full size */
@media (max-width:600px){header a[aria-label] img{height:46px!important;width:auto!important;}}
/* >=44px tap targets on touch viewports (desktop keeps the design's 42px) */
@media (max-width:980px){.rb-themebtn,.rb-burger{min-width:44px;min-height:44px;width:44px;height:44px;}}

/* --- Fine breakpoint <=480 / <=375 : prevent overflow, tighten --- */
@media (max-width:480px){
  .rb-hero-h1{font-size:40px!important;}
  .rb-h2{font-size:30px!important;}
  .rb-pad{padding-left:18px!important;padding-right:18px!important;}
  .rb-section{padding:54px 0!important;}
  .rb-final-grid{grid-template-columns:1fr 1fr!important;gap:26px!important;}
  .rb-trust-strip{gap:18px!important;}
}
@media (max-width:380px){
  .rb-hero-h1{font-size:36px!important;}
  .rb-final-grid{grid-template-columns:1fr!important;}
}

.v2-card{transition:background .28s ease,box-shadow .28s ease,transform .28s ease,border-color .28s ease;cursor:pointer;}
.v2-card[data-active="1"]{background-image:linear-gradient(135deg, rgb(37, 99, 255), rgb(14, 46, 114));box-shadow:rgba(37, 99, 255, 0.5) 0px 22px 54px -18px;transform:translateY(-4px);}
.v2-card[data-active="1"] h3{color:#fff;}
.v2-card[data-active="1"] p{color:rgb(207, 224, 255);}
.v2-card[data-active="1"] .v2-ic{background-color:rgba(255,255,255,0.16);}
