/* Shared styles for all city service pages (spring/cable/opener/emergency/commercial) */
*{box-sizing:border-box;}
body{font-family:'Inter',sans-serif;color:#1b1c1c;background:#fff;}
h1,h2,h3,h4{font-family:'Work Sans',sans-serif;}
.material-symbols-outlined{font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;vertical-align:middle;}
.icon-fill{font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 24;}
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:'Work Sans',sans-serif;font-weight:700;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;padding:.8rem 1.6rem;border-radius:.5rem;transition:background .18s,transform .1s,box-shadow .18s;white-space:nowrap;text-decoration:none;border:none;cursor:pointer;}
.btn:active{transform:scale(.97);}
.btn-red{background:#b42815;color:#fff;box-shadow:0 4px 14px rgba(180,40,21,.35);}
.btn-red:hover{background:#8a1d0f;box-shadow:0 6px 20px rgba(180,40,21,.45);}
.btn-white{background:#fff;color:#001e38;}
.btn-white:hover{background:#f1f5f9;}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);}
.btn-ghost:hover{background:#fff;color:#001e38;}
.card{transition:transform .22s ease,box-shadow .22s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.12)!important;}
.eyebrow{font-family:'Work Sans',sans-serif;font-weight:700;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.fu{animation:fadeUp .6s ease both;}
.fu2{animation:fadeUp .6s .12s ease both;}
.fu3{animation:fadeUp .6s .24s ease both;}
.faq-answer.hidden{display:none;}
.faq-answer{display:block;}
/* hero background — background-image set via inline style on the element */
.hero-bg{position:relative;background-size:cover;background-position:center;background-repeat:no-repeat;}
.hero-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(0,10,24,.88) 0%,rgba(0,20,40,.72) 55%,rgba(0,30,56,.45) 100%);}
.hero-content{position:relative;z-index:1;}
/* step connector (commercial pages) */
.step-line{flex:1;height:2px;background:rgba(180,40,21,.2);margin-top:-2.5rem;display:none;}
@media(min-width:768px){.step-line{display:block;}}
