/* American Climate Services - style.css */

:root{
 --navy:#0b2d52;
 --navy-dark:#08213d;
 --red:#c62828;
 --white:#ffffff;
 --light:#f5f7fa;
 --text:#172b3a;
 --muted:#5f6b73;
 --border:#d1d5db;
 --shadow:0 12px 30px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;
 font-family:"Segoe UI",Roboto,Arial,Helvetica,sans-serif;
 color:var(--text);
 background:#fff;
 line-height:1.6;
 font-weight:500;
}
.container{width:min(1180px,92%);margin:auto}
a{text-decoration:none;color:inherit}

.topbar{
 background:var(--navy);
 color:#fff;
 font-size:.95rem;
 font-weight:800;
 letter-spacing:.01em;
}
.topbar .container{
 display:flex;
 justify-content:space-between;
 gap:1rem;
 padding:.65rem 0;
 flex-wrap:wrap;
}

.navbar{
 position:sticky;
 top:0;
 z-index:1000;
 background:#fff;
 box-shadow:0 2px 10px rgba(0,0,0,.08);
}
.navbar .container{
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:1.25rem;
 padding:1rem 0;
}
.logo img{height:72px;display:block}
.nav-links{
 display:flex;
 align-items:center;
 list-style:none;
 gap:.75rem;
 margin:0;
 padding:0;
}
.nav-links a{
 display:block;
 padding:.85rem 1.1rem;
 border-radius:10px;
 font-weight:800;
 color:var(--navy);
 transition:.2s;
}
.nav-links a:hover,
.nav-links a:focus{
 background:var(--light);
 color:var(--red);
}

.btn{
 display:inline-block;
 padding:14px 26px;
 border-radius:8px;
 font-weight:800;
 transition:.25s;
 text-align:center;
}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-secondary{border:2px solid #fff;color:#fff;background:transparent}
.btn-navy{background:var(--navy-dark);color:#fff;border:2px solid var(--navy-dark)}
.btn-navy:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.btn-outline-navy{border:2px solid var(--navy);color:var(--navy);background:#fff}
.btn-outline-navy:hover{transform:translateY(-2px);box-shadow:var(--shadow)}

.hero{
 position:relative;
 min-height:74vh;
 display:flex;
 align-items:center;
 background:linear-gradient(rgba(11,45,82,.72),rgba(11,45,82,.72)),url("../images/hero-bg.jpg") center/cover;
 color:#fff;
}
.hero-content{position:relative;z-index:2;max-width:760px;padding:5rem 0}
.hero h1{font-size:3.4rem;line-height:1.1;margin:.3em 0;font-weight:900;letter-spacing:-.025em}
.hero h3{font-weight:850}
.lead{font-size:1.25rem;font-weight:600}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}
.centered-buttons{justify-content:center}

.trust-bar{background:var(--navy);color:#fff}
.trust-bar .container{
 display:grid;
 grid-template-columns:repeat(5,1fr);
 text-align:center;
 padding:1rem 0;
 gap:1rem;
 font-weight:850;
}

.intro{padding:5rem 0;background:var(--light)}
.intro h2,.section h2{font-size:2.4rem;margin-bottom:1rem;text-align:center;font-weight:900;letter-spacing:-.02em}
.intro > .container > p{max-width:860px;margin:0 auto 2rem;text-align:center}
.cards{
 display:grid;
 grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
 gap:2rem;
 margin-top:3rem;
}
.card,.service-card,.contact-copy,.service-form,.cta-card{
 background:#fff;
 border-radius:14px;
 box-shadow:var(--shadow);
}
.card{padding:2rem;transition:.3s}
.card:hover{transform:translateY(-8px)}
.card h3,.service-card h3,.contact-copy h3{color:var(--navy);font-weight:900}
.section{padding:4rem 0}

.site-footer{background:var(--navy);color:#fff;padding:2rem 0}
.footer-grid{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-weight:600}
.footer-grid strong{font-weight:900}

/* Interior pages */
.page-intro{
 background:var(--light);
 padding:3.25rem 0 2.25rem;
 border-bottom:1px solid #e5e7eb;
}
.page-intro h1{
 font-size:2.75rem;
 line-height:1.1;
 margin:.2rem 0 1rem;
 color:var(--navy-dark);
 font-weight:900;
 letter-spacing:-.025em;
}
.page-intro p{
 max-width:860px;
 margin:0;
 font-size:1.12rem;
 font-weight:600;
}
.notice-box{
 background:#fff7e6;
 border-left:6px solid var(--red);
 padding:1rem 1.25rem;
 border-radius:10px;
 margin:1.5rem 0 0;
 font-weight:750;
 color:#263238;
 max-width:980px;
}
.required-note{color:var(--red);font-weight:900}

.form-layout{
 display:grid;
 grid-template-columns:.85fr 1.45fr;
 gap:2rem;
 align-items:start;
}
.contact-copy{padding:2rem}
.contact-copy p{margin:.5rem 0 0}
.service-form{
 display:grid;
 gap:1rem;
 padding:2rem;
}
.form-grid{
 display:grid;
 grid-template-columns:repeat(2,1fr);
 gap:1rem;
}
.full-field{grid-column:1/-1}
.service-form label{display:block;font-weight:800;color:var(--navy)}
.service-form span{display:block;margin-bottom:.45rem}
.service-form input,.service-form textarea,.service-form select{
 width:100%;
 padding:1rem;
 border:1px solid var(--border);
 border-radius:10px;
 font:inherit;
 color:var(--text);
 background:#fff;
}
.service-form input:focus,.service-form textarea:focus,.service-form select:focus{
 outline:3px solid rgba(11,45,82,.14);
 border-color:var(--navy);
}
.service-form textarea{resize:vertical}
.service-form select{appearance:auto}
.service-form small{display:block;color:var(--muted);margin-top:.35rem;font-weight:500}
.service-form button{border:0;cursor:pointer;font-weight:850;width:fit-content;margin-top:.5rem}
.success-message,.error-message{
 padding:1rem 1.25rem;
 border-radius:10px;
 margin-bottom:.75rem;
 font-weight:800;
 grid-column:1/-1;
}
.success-message{background:#e8f5e9;color:#1b5e20}
.error-message{background:#ffebee;color:#b71c1c}
.website-field{
 position:absolute!important;
 left:-10000px!important;
 width:1px!important;
 height:1px!important;
 overflow:hidden!important;
 opacity:0!important;
 pointer-events:none!important;
}
.verification-field{max-width:360px}

/* Services page */
.services-section p{max-width:860px;margin:0 auto 2rem;text-align:center;font-size:1.08rem}
.equipment-grid{
 display:grid;
 grid-template-columns:repeat(3,1fr);
 gap:1.5rem;
 margin-top:2rem;
}
.equipment-card{
 background:#fff;
 border-radius:16px;
 box-shadow:var(--shadow);
 padding:1.4rem;
 display:flex;
 align-items:center;
 gap:1rem;
 min-height:118px;
 transition:.25s;
}
.equipment-card:hover{transform:translateY(-5px)}
.equipment-thumb{
 width:74px;
 height:74px;
 border-radius:14px;
 background:var(--light);
 border:1px solid #e5e7eb;
 display:flex;
 align-items:center;
 justify-content:center;
 font-size:2.15rem;
 flex:0 0 auto;
}
.equipment-card h3{margin:0;color:var(--navy);font-size:1.08rem;font-weight:900;line-height:1.25}

.cta-section{background:var(--light)}
.cta-card{padding:3rem;text-align:center}
.cta-card p{max-width:760px;margin:0 auto 1.5rem}

@media(max-width:1000px){
 .equipment-grid{grid-template-columns:repeat(2,1fr)}
 .form-layout{grid-template-columns:1fr}
}
@media(max-width:900px){
 .navbar .container{align-items:flex-start;flex-direction:column}
 .nav-links{width:100%;flex-wrap:wrap}
 .nav-links a{background:var(--light)}
 .hero h1{font-size:2.5rem}
 .trust-bar .container{grid-template-columns:1fr 1fr}
 .form-grid{grid-template-columns:1fr}
 .service-form{padding:1.5rem}
 .page-intro h1{font-size:2.25rem}
 .cta-card{padding:2rem}
}
@media(max-width:640px){
 .equipment-grid{grid-template-columns:1fr}
 .hero-buttons .btn{width:100%}
 .topbar .container{justify-content:center;text-align:center}
 .logo img{height:64px}
}


/* V3 refinements */
.topbar a,.topbar span{font-weight:900}
.required-star{color:var(--red);font-weight:950}
.compact-services{padding-top:2.5rem}
.image-equipment-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.image-equipment-card{display:block;text-align:center;padding:1.25rem;min-height:0;border:1px solid #e5e7eb}
.image-equipment-card h3{font-size:1.15rem;margin:0 0 1rem;color:var(--navy-dark)}
.image-equipment-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;border-radius:12px;background:var(--light);border:1px solid #e5e7eb}
@media(max-width:760px){.image-equipment-grid{grid-template-columns:1fr 1fr}.image-equipment-card{padding:1rem}.image-equipment-card h3{font-size:1rem}}
@media(max-width:520px){.image-equipment-grid{grid-template-columns:1fr}}
