/* CurbTek site styles — layout lives inline (from the approved mockup); this file adds behavior, accessibility and small-screen rules. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;color:#252525}
img{max-width:100%}
a{color:#b00a0a}
a:hover{color:#7d0707}
:focus-visible{outline:3px solid #b00a0a;outline-offset:3px}
.util-bar :focus-visible,footer :focus-visible,section[style*="#252525"] :focus-visible{outline-color:#ffffff}
section[style*="background: #b00a0a"] :focus-visible{outline-color:#ffffff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#252525;color:#fff;padding:12px 16px;border-radius:4px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px;color:#fff}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
[id]{scroll-margin-top:16px}

/* Header + mobile menu */
.menu-btn{display:none;align-items:center;justify-content:center;width:48px;height:48px;border:2px solid #252525;border-radius:4px;background:#fff;color:#252525;cursor:pointer;padding:0}
@media (max-width:1000px){
  .site-nav,.hdr-cta{display:none!important}
  .menu-btn{display:flex}
  .site-header.open .site-nav{display:flex!important;flex-direction:column!important;width:100%;gap:0!important;order:3}
  .site-header.open .site-nav a{padding:14px 0!important;border-bottom:1px solid #ededed!important;font-size:17px}
  .site-header.open .hdr-cta{display:flex!important;width:100%;order:4}
  .site-header.open .hdr-cta a{flex:1 1 200px;text-align:center}
}

/* Forms */
.lead-form input,.lead-form select,.lead-form textarea{width:100%;color:#252525}
.lead-form input:focus-visible,.lead-form select:focus-visible,.lead-form textarea:focus-visible{outline:3px solid #b00a0a;outline-offset:1px}
.lead-form [aria-invalid="true"]{border-color:#b00a0a!important;border-width:2px!important}
.lead-form button[disabled]{opacity:.6;cursor:progress}
.form-status{margin:0;font-size:15px;line-height:1.5;font-weight:600}
.form-status:empty{display:none}
.form-status.is-error{color:#b00a0a}
.form-note{margin:0;font-size:14px;color:#565656}
.form-done{display:flex;flex-direction:column;gap:12px}
.form-done h3{margin:0;font-size:24px;font-weight:900;text-transform:uppercase}
.form-done p{margin:0;font-size:16px;line-height:1.6;color:#565656}
details summary{min-height:28px}

/* Small screens: tame display sizes and section spacing set inline */
@media (max-width:700px){
  h1{font-size:38px!important;line-height:1.08!important}
  h2{font-size:28px!important}
  main section>div{padding-top:56px!important;padding-bottom:56px!important;padding-left:20px!important;padding-right:20px!important}
  .util-bar>div>span:first-child{display:none}
  .util-bar>div{justify-content:center!important}
  .fmc-tile{flex:1 1 calc(50% - 6px)!important;height:88px!important;padding:12px!important}
  .fmc-tile img{transform:scale(.72)}
  footer>div{padding-left:20px!important;padding-right:20px!important}
}
@media (max-width:700px){
  span[style*="font-size: 30px; font-weight: 900"]{font-size:22px!important}
}
