﻿/* ============================================================
   BHA TRAFFIC CONTROL - MAIN STYLESHEET
   ============================================================ */

/* === SECTION 1: BASE & TYPOGRAPHY === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Roboto', sans-serif; font-size: 16px; color: var(--text-dark); line-height: 1.7; overflow-x: hidden; }
a { color: var(--primary); text-decoration: none; transition: all 0.3s ease; }
a:hover { color: var(--primary-dark); text-decoration: none; }
img { max-width: 100%; height: auto; }
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', sans-serif; font-weight: 700; line-height: 1.3; color: var(--text-dark); }
ul { list-style: none; padding: 0; margin: 0; }
p { margin-bottom: 1rem; }
.section-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--primary); margin-bottom: 0.5rem; display: block; }
.section-title { font-size: 2rem; font-weight: 800; margin-bottom: 1rem; }
.section-sub { font-size: 1.05rem; color: var(--text-muted); margin-bottom: 1.5rem; }

/* === SECTION 2: BUTTONS === */
.btn { border-radius: 6px; font-weight: 600; padding: 0.6rem 1.5rem; transition: all 0.3s ease; font-family: 'Montserrat', sans-serif; }
.btn-primary { background: var(--primary) !important; border-color: var(--primary) !important; color: #fff !important; }
.btn-primary:hover { background: var(--primary-dark) !important; border-color: var(--primary-dark) !important; transform: translateY(-2px); box-shadow: 0 6px 20px rgba(255,107,0,0.35); }
.btn-outline-primary { color: var(--primary) !important; border-color: var(--primary) !important; }
.btn-outline-primary:hover { background: var(--primary) !important; color: #fff !important; transform: translateY(-2px); }
.btn-light { background: #fff; color: var(--primary) !important; border-color: #fff; }
.btn-light:hover { background: var(--accent); color: var(--secondary) !important; }
.btn-outline-light { border-color: rgba(255,255,255,0.7); color: #fff !important; }
.btn-outline-light:hover { background: rgba(255,255,255,0.15); color: #fff !important; }
.btn-nav-cta { background: var(--primary); color: #fff !important; border-radius: 25px; padding: 0.45rem 1.2rem; font-size: 0.875rem; }
.btn-nav-cta:hover { background: var(--primary-dark); box-shadow: 0 4px 15px rgba(255,107,0,0.4); }

/* === SECTION 3: TOPBAR === */
.topbar { background: var(--topbar-bg); color: #fff; padding: 0.45rem 0; font-size: 0.85rem; }
.topbar a { color: rgba(255,255,255,0.9); }
.topbar a:hover { color: #fff; }
.topbar-social { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: rgba(255,255,255,0.15); border-radius: 50%; color: #fff; margin-left: 0.35rem; transition: all 0.3s; font-size: 0.75rem; }
.topbar-social:hover { background: rgba(255,255,255,0.35); color: #fff; }

/* === SECTION 4: NAVBAR === */
#mainNav { background: var(--navbar-bg) !important; padding: 0.7rem 0; transition: all 0.35s ease; box-shadow: 0 2px 20px rgba(0,0,0,0.3); }
#mainNav.scrolled { padding: 0.4rem 0; }
.navbar-brand { gap: 0; }
.logo-icon { color: var(--primary); }
.logo-name { display: block; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 1.1rem; color: #fff; line-height: 1.2; }
.logo-tagline { display: block; font-size: 0.65rem; color: rgba(255,255,255,0.55); text-transform: uppercase; letter-spacing: 0.08em; }
.navbar-nav .nav-link { color: rgba(255,255,255,0.85) !important; font-weight: 500; font-size: 0.9rem; padding: 0.5rem 0.85rem !important; font-family: 'Montserrat', sans-serif; transition: all 0.25s; position: relative; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--primary) !important; }
.navbar-nav .nav-link.active::after { content: ''; display: block; position: absolute; bottom: -2px; left: 0.85rem; right: 0.85rem; height: 2px; background: var(--primary); border-radius: 2px; }
.dropdown-menu { border: none; border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,0.18); padding: 0.5rem; animation: dropFade 0.25s ease; }
@keyframes dropFade { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.dropdown-item { border-radius: 6px; padding: 0.5rem 0.85rem; font-size: 0.875rem; font-weight: 500; transition: all 0.2s; color: var(--text-dark); }
.dropdown-item:hover { background: rgba(255,107,0,0.08); color: var(--primary); }

/* === SECTION 5: HERO === */
.hero-section { position:relative; min-height:100vh; display:flex; align-items:center; background:url('../images/hero-bg.jpg') center center/cover no-repeat; background-color: var(--secondary); }
.hero-overlay { position:absolute; inset:0; background:var(--hero-overlay); }
.hero-content { position:relative; z-index:2; padding:2rem 0; }
.hero-badge { display:inline-flex; align-items:center; background:rgba(255,107,0,0.2); border:1px solid rgba(255,107,0,0.4); color:#fff; padding:0.4rem 1rem; border-radius:25px; font-size:0.82rem; font-weight:600; margin-bottom:1.5rem; letter-spacing:0.05em; }
.hero-title { font-size:clamp(2rem,5vw,3.5rem); font-weight:900; color:#fff; margin-bottom:1rem; text-shadow:0 2px 20px rgba(0,0,0,0.3); }
.hero-subtitle { font-size:1.15rem; color:rgba(255,255,255,0.85); margin-bottom:2rem; max-width:620px; margin-left:auto; margin-right:auto; }
.hero-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.hero-stats { gap:2rem !important; }
.hero-stat-item { text-align:center; padding:1rem 1.5rem; background:rgba(255,255,255,0.1); border-radius:10px; backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,0.15); }
.hero-stat-number { font-size:2rem; font-weight:900; color:#fff; font-family:'Montserrat',sans-serif; line-height:1; }
.hero-stat-label { font-size:0.75rem; color:rgba(255,255,255,0.75); margin-top:0.25rem; text-transform:uppercase; letter-spacing:0.05em; }
.hero-scroll-down { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); z-index:2; }
.hero-scroll-down a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:2px solid rgba(255,255,255,0.4); border-radius:50%; color:#fff; font-size:0.85rem; animation:bounce 2s infinite; }
@keyframes bounce { 0%,100%{transform:translateY(0);} 50%{transform:translateY(6px);} }

/* === SECTION 6: FEATURES STRIP === */
.features-strip { background:var(--primary); padding:1.2rem 0; }
.feature-strip-item { display:flex; align-items:center; gap:1rem; padding:1rem 1.5rem; color:#fff; border-right:1px solid rgba(255,255,255,0.2); }
.feature-strip-item:last-child { border-right:none; }
.fsi-icon { font-size:1.8rem; opacity:0.9; flex-shrink:0; }
.fsi-text strong { display:block; font-weight:700; font-size:0.95rem; font-family:'Montserrat',sans-serif; }
.fsi-text span { font-size:0.8rem; opacity:0.85; }

/* === SECTION 7: PAGE BANNER === */
.page-banner { position:relative; padding:5rem 0 3rem; background:url('../images/banner-bg.jpg') center/cover no-repeat; background-color:var(--secondary); min-height:280px; display:flex; align-items:center; }
.banner-overlay { position:absolute; inset:0; background:rgba(0,0,0,0.65); }
.banner-content { position:relative; z-index:2; }
.banner-title { font-size:2.5rem; font-weight:800; margin-bottom:1rem; color:#fff !important; }
.banner-subtitle { font-size:1.1rem; color:rgba(255,255,255,0.8); margin-bottom:1rem; }
.breadcrumb { background:none; padding:0; }
.breadcrumb-item a { color:rgba(255,255,255,0.7); }
.breadcrumb-item.active { color:var(--primary); }
.breadcrumb-item+.breadcrumb-item::before { color:rgba(255,255,255,0.4); }

/* === SECTION 8: SERVICES === */
.service-card { background:#fff; border-radius:12px; padding:2rem; text-align:center; transition:all 0.3s ease; border:1px solid #eee; height:100%; }
.service-card:hover { transform:translateY(-6px); box-shadow:var(--card-hover-shadow); border-color:transparent; }
.service-card-icon { width:70px; height:70px; border-radius:16px; background:rgba(255,107,0,0.08); display:inline-flex; align-items:center; justify-content:center; margin-bottom:1.25rem; font-size:1.8rem; color:var(--primary); transition:all 0.3s; }
.service-card:hover .service-card-icon { background:var(--primary); color:#fff; }
.service-card h4 { font-size:1.1rem; margin-bottom:0.75rem; }
.service-card p { font-size:0.9rem; color:var(--text-muted); margin-bottom:1rem; }
.service-card .service-link { font-size:0.875rem; font-weight:600; color:var(--primary); }
.service-card .service-link:hover { gap:0.5rem; }
/* Full-width service cards on services.php */
.service-card-full { background:#fff; border-radius:12px; border:1px solid #eee; overflow:hidden; transition:all 0.3s; display:flex; flex-direction:column; }
.service-card-full:hover { transform:translateY(-5px); box-shadow:var(--card-hover-shadow); border-color:transparent; }
.scf-header { padding:1.5rem 1.5rem 1rem; display:flex; align-items:center; gap:1rem; border-bottom:1px solid #f0f0f0; }
.scf-icon { width:50px; height:50px; border-radius:12px; background:rgba(255,107,0,0.1); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--primary); flex-shrink:0; }
.scf-title { font-size:1.1rem; margin:0; }
.scf-body { padding:1.25rem 1.5rem; flex:1; }
.scf-features { margin-top:0.75rem; }
.scf-features li { font-size:0.875rem; color:var(--text-muted); padding:0.2rem 0; display:flex; align-items:center; }
.scf-footer { padding:1rem 1.5rem; border-top:1px solid #f0f0f0; }
/* Service detail */
.service-detail-img img { width:100%; height:380px; object-fit:cover; }
.service-features-box { background:#f8f9fa; border-radius:12px; padding:1.5rem; border-left:4px solid var(--primary); }
.sf-item { display:flex; align-items:flex-start; font-size:0.9rem; color:var(--text-dark); }
/* Process steps */
.process-step { padding:1.5rem 1rem; }
.process-num { font-size:3rem; font-weight:900; color:rgba(255,107,0,0.15); line-height:1; font-family:'Montserrat',sans-serif; }
.process-icon { font-size:2rem; color:var(--primary); margin:0.5rem 0 0.75rem; }
.process-step h5 { font-size:1rem; margin-bottom:0.5rem; }

/* === SECTION 9: STATS SECTION === */
.section-stats { background:var(--secondary); color:#fff; }
.stat-item { padding:1.5rem 1rem; }
.stat-number { font-size:2.8rem; font-weight:900; color:var(--primary); font-family:'Montserrat',sans-serif; line-height:1; display:inline; }
.stat-suffix { font-size:2rem; font-weight:900; color:var(--primary); font-family:'Montserrat',sans-serif; display:inline; }
.stat-label { font-size:0.85rem; color:rgba(255,255,255,0.7); margin-top:0.5rem; text-transform:uppercase; letter-spacing:0.05em; }

/* === SECTION 10: TESTIMONIALS === */
.testimonials-section { background:var(--bg-light); }
.testimonials-slider { position:relative; overflow:hidden; }
.testimonial-track { display:flex; transition:transform 0.5s ease; }
.testimonial-item { min-width:100%; padding:0 0.5rem; }
.testimonial-card { background:#fff; border-radius:12px; padding:2rem; box-shadow:0 4px 20px rgba(0,0,0,0.07); position:relative; }
.testi-quote { font-size:3rem; color:var(--primary); opacity:0.2; line-height:1; font-family:Georgia,serif; position:absolute; top:1rem; left:1.5rem; }
.testi-text { font-size:1rem; color:var(--text-muted); font-style:italic; margin-bottom:1.5rem; padding-top:1rem; line-height:1.8; }
.testi-author { display:flex; align-items:center; gap:1rem; }
.testi-avatar { width:50px; height:50px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.1rem; flex-shrink:0; }
.testi-name { font-weight:700; font-size:0.95rem; margin-bottom:0; }
.testi-role { font-size:0.8rem; color:var(--text-muted); }
.testi-stars { display:flex; gap:2px; margin-top:0.25rem; }
.testi-stars i { color:#FFB347; font-size:0.75rem; }
.slider-controls { display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:1.5rem; }
.slider-prev, .slider-next { width:40px; height:40px; border-radius:50%; border:2px solid var(--primary); background:transparent; color:var(--primary); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.slider-prev:hover, .slider-next:hover { background:var(--primary); color:#fff; }
.slider-dots { display:flex; gap:0.5rem; }
.slider-dot { width:8px; height:8px; border-radius:50%; background:#ddd; border:none; cursor:pointer; transition:all 0.25s; padding:0; }
.slider-dot.active { background:var(--primary); width:24px; border-radius:4px; }

/* === SECTION 11: NEWS CARDS === */
.news-card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #eee; transition:all 0.3s; }
.news-card:hover { transform:translateY(-5px); box-shadow:var(--card-hover-shadow); border-color:transparent; }
.news-card-img { position:relative; overflow:hidden; height:200px; }
.news-card-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s; }
.news-card:hover .news-card-img img { transform:scale(1.05); }
.news-card-category { position:absolute; top:0.75rem; left:0.75rem; background:var(--primary); color:#fff; font-size:0.7rem; font-weight:700; padding:0.25rem 0.65rem; border-radius:20px; text-transform:uppercase; letter-spacing:0.05em; }
.news-card-body { padding:1.25rem; }
.news-card-meta { display:flex; gap:1rem; font-size:0.78rem; color:var(--text-muted); margin-bottom:0.65rem; flex-wrap:wrap; }
.news-card-title { font-size:1rem; font-weight:700; margin-bottom:0.65rem; line-height:1.4; }
.news-card-title a { color:var(--text-dark); }
.news-card-title a:hover { color:var(--primary); }
.news-card-excerpt { font-size:0.875rem; color:var(--text-muted); margin-bottom:1rem; }
.news-card-link { font-size:0.875rem; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:0.35rem; }
.news-card-link:hover { gap:0.65rem; }
/* News article */
.news-article-title { font-size:2rem; font-weight:800; line-height:1.3; }
.na-category { background:var(--primary); color:#fff; font-size:0.75rem; font-weight:700; padding:0.25rem 0.75rem; border-radius:20px; text-transform:uppercase; margin-right:0.75rem; }
.na-date, .na-author { font-size:0.85rem; color:var(--text-muted); margin-right:0.75rem; }
.news-article-content { font-size:1rem; line-height:1.8; color:var(--text-dark); }
.news-article-content h2,.news-article-content h3,.news-article-content h4 { margin-top:1.5rem; margin-bottom:0.75rem; }
.news-article-content ul,.news-article-content ol { padding-left:1.5rem; margin-bottom:1rem; }
.news-article-content ul { list-style:disc; }
.news-article-content ol { list-style:decimal; }
.btn-share { font-size:0.8rem; font-weight:600; padding:0.35rem 0.85rem; }
.btn-facebook { background:#1877f2; color:#fff; border-color:#1877f2; }
.btn-facebook:hover { background:#1558b0; color:#fff; }
.btn-twitter { background:#1da1f2; color:#fff; border-color:#1da1f2; }
.btn-twitter:hover { background:#0d8ecf; color:#fff; }
.btn-linkedin { background:#0a66c2; color:#fff; border-color:#0a66c2; }
.btn-linkedin:hover { background:#084d91; color:#fff; }
/* News filter bar */
.news-filter { display:flex; gap:0.5rem; flex-wrap:wrap; }
.filter-btn { padding:0.4rem 1rem; border-radius:20px; border:1px solid #ddd; background:#fff; font-size:0.85rem; font-weight:500; cursor:pointer; transition:all 0.2s; color:var(--text-muted); }
.filter-btn:hover, .filter-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.filter-btn .badge { background:rgba(255,255,255,0.3); color:#fff; font-size:0.7rem; padding:0.1rem 0.4rem; border-radius:8px; margin-left:0.25rem; }

/* === SECTION 12: SIDEBAR WIDGETS === */
.sidebar-widget { background:#fff; border-radius:12px; padding:1.5rem; border:1px solid #eee; margin-bottom:1.5rem; }
.sidebar-widget-title { font-size:1rem; font-weight:700; margin-bottom:1rem; padding-bottom:0.5rem; border-bottom:2px solid var(--primary); display:inline-block; }
.sidebar-service-list li { border-bottom:1px solid #f0f0f0; }
.sidebar-service-list li:last-child { border-bottom:none; }
.sidebar-service-list a { display:flex; align-items:center; padding:0.6rem 0; font-size:0.9rem; color:var(--text-dark); transition:all 0.2s; }
.sidebar-service-list a:hover, .sidebar-service-list li.active a { color:var(--primary); padding-left:0.25rem; }
.sidebar-category-list li a { display:flex; align-items:center; justify-content:space-between; padding:0.5rem 0.75rem; border-radius:6px; font-size:0.875rem; color:var(--text-dark); transition:all 0.2s; }
.sidebar-category-list li a:hover, .sidebar-category-list li a.active { background:rgba(255,107,0,0.08); color:var(--primary); }
.sidebar-news-item { display:flex; gap:0.75rem; padding:0.65rem 0; border-bottom:1px solid #f0f0f0; }
.sidebar-news-item:last-child { border-bottom:none; }
.sni-img img { width:65px; height:48px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.sni-text a { font-size:0.85rem; color:var(--text-dark); font-weight:500; line-height:1.4; display:block; }
.sni-text a:hover { color:var(--primary); }
.sni-text span { font-size:0.75rem; color:var(--text-muted); }
.sidebar-cta-box { background:var(--primary); color:#fff; border-radius:12px; padding:1.5rem; }
.sidebar-cta-box h5 { color:#fff; margin-bottom:0.5rem; }
.sidebar-cta-box p { color:rgba(255,255,255,0.85); margin-bottom:1rem; }
.sidebar-cta-box .btn-primary { background:#fff !important; color:var(--primary) !important; border-color:#fff !important; }
.sidebar-cta-box a { color:rgba(255,255,255,0.9); }
.sidebar-cta-box a:hover { color:#fff; }

/* === SECTION 13: EQUIPMENT PAGE === */
.equipment-card { background:#fff; border-radius:12px; overflow:hidden; border:1px solid #eee; transition:all 0.3s; display:flex; flex-direction:column; }
.equipment-card:hover { transform:translateY(-5px); box-shadow:var(--card-hover-shadow); border-color:transparent; }
.equipment-img { position:relative; overflow:hidden; height:200px; background:var(--secondary); }
.equipment-img img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s; }
.equipment-card:hover .equipment-img img { transform:scale(1.05); }
.equipment-img-overlay { position:absolute; inset:0; background:linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, rgba(0,0,0,0.55) 100%); display:flex; align-items:center; justify-content:center; }
.equipment-img-title { color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.3rem; text-align:center; padding:0 1rem; text-shadow:0 2px 8px rgba(0,0,0,0.5); line-height:1.3; }
.equipment-cat-badge { position:absolute; top:0.75rem; right:0.75rem; background:var(--primary); color:#fff; font-size:0.7rem; font-weight:700; padding:0.2rem 0.6rem; border-radius:20px; z-index:2; }
.equipment-body { padding:1.25rem; flex:1; }
.equipment-icon { font-size:1.5rem; color:var(--primary); margin-bottom:0.5rem; }
.equipment-name { font-size:1rem; font-weight:700; margin-bottom:0.4rem; }
.equipment-desc { margin-bottom:0.75rem; line-height:1.5; }
.equipment-features { margin:0; }
.equipment-features li { font-size:0.8rem; color:var(--text-muted); padding:0.15rem 0; display:flex; align-items:center; }
.equipment-footer { padding:1rem 1.25rem; border-top:1px solid #f0f0f0; margin-top:auto; }
.rental-feature { display:flex; align-items:center; gap:0.5rem; font-size:0.9rem; color:var(--text-dark); }

/* === SECTION 14: CAREERS PAGE === */
.career-benefit-card { background:#fff; border-radius:12px; padding:1.5rem 1rem; text-align:center; border:1px solid #eee; transition:all 0.3s; }
.career-benefit-card:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.cbc-icon { width:60px; height:60px; border-radius:50%; background:rgba(255,107,0,0.1); display:inline-flex; align-items:center; justify-content:center; font-size:1.5rem; color:var(--primary); margin-bottom:1rem; }
.career-card { background:#fff; border-radius:12px; border:1px solid #eee; overflow:hidden; transition:all 0.3s; }
.career-card:hover { box-shadow:var(--card-hover-shadow); border-color:transparent; }
.career-card-header { padding:1.25rem 1.5rem 1rem; border-bottom:1px solid #f0f0f0; }
.career-title { font-size:1.1rem; margin-bottom:0.5rem; }
.career-meta { display:flex; gap:0.5rem; flex-wrap:wrap; }
.career-badge { background:#f0f0f0; color:var(--text-muted); font-size:0.75rem; padding:0.2rem 0.65rem; border-radius:20px; display:inline-flex; align-items:center; }
.career-salary { font-size:0.9rem; }
.career-card-body { padding:1.25rem 1.5rem; }
.career-reqs ul { padding-left:1rem; list-style:disc; }
.career-reqs li { font-size:0.85rem; color:var(--text-muted); }
.career-card-footer { padding:1rem 1.5rem; border-top:1px solid #f0f0f0; display:flex; gap:0.75rem; flex-wrap:wrap; }
.career-expanded { padding:0 1.5rem 1rem; }

/* === SECTION 15: LOCATIONS PAGE === */
.location-card { background:#fff; border-radius:12px; border:1px solid #eee; overflow:hidden; transition:all 0.3s; position:relative; }
.location-card:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.hq-card { border-color:var(--primary); }
.hq-badge { position:absolute; top:0; right:0; background:var(--primary); color:#fff; font-size:0.7rem; font-weight:700; padding:0.25rem 0.75rem; border-radius:0 12px 0 8px; }
.location-card-header { padding:1.25rem 1.25rem 0.75rem; text-align:center; border-bottom:1px solid #f0f0f0; }
.location-icon { font-size:2rem; color:var(--primary); margin-bottom:0.5rem; }
.location-city { font-size:1.1rem; margin-bottom:0.1rem; }
.location-state { font-size:0.8rem; color:var(--text-muted); }
.location-card-body { padding:1rem 1.25rem; }
.loc-info-item { display:flex; align-items:flex-start; gap:0.65rem; padding:0.35rem 0; font-size:0.85rem; }
.loc-info-item i { width:14px; flex-shrink:0; margin-top:3px; }
.loc-info-item a { color:var(--text-dark); }
.loc-info-item a:hover { color:var(--primary); }
.location-card-footer { padding:0.75rem 1.25rem 1.25rem; }
.map-placeholder { border-radius:12px; overflow:hidden; border:1px solid #eee; }
.branch-card { background:#fff; border-radius:10px; border:1px solid #eee; transition:all 0.2s; }
.branch-card:hover { border-color:var(--primary); }
.hq-branch { border-color:var(--primary); background:rgba(255,107,0,0.04); }

/* === SECTION 16: ABOUT PAGE === */
.mvv-card { background:#fff; border-radius:12px; padding:2rem; text-align:center; border:1px solid #eee; transition:all 0.3s; }
.mvv-card:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.mvv-icon { width:70px; height:70px; border-radius:50%; background:rgba(255,107,0,0.1); display:inline-flex; align-items:center; justify-content:center; font-size:1.8rem; color:var(--primary); margin-bottom:1rem; }
.mvv-list li { display:flex; align-items:center; padding:0.3rem 0; font-size:0.9rem; }
.team-card { padding:1.5rem 1rem; text-align:center; }
.team-img img { width:140px; height:140px; object-fit:cover; border:4px solid var(--primary); }
.team-name { font-size:1rem; font-weight:700; margin-bottom:0.1rem; }
.team-role { font-size:0.82rem; color:var(--primary); font-weight:600; }
.team-bio { line-height:1.5; }
.accred-item { transition:all 0.2s; }
.accred-item:hover { transform:translateY(-3px); }

/* === SECTION 17: SAFETY PAGE === */
.safety-highlight { display:flex; flex-direction:column; gap:1rem; }
.sh-item { display:flex; align-items:flex-start; gap:1rem; padding:1rem; background:#f8f9fa; border-radius:10px; }
.sh-icon { width:44px; height:44px; border-radius:10px; background:rgba(255,107,0,0.1); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--primary); flex-shrink:0; }
.sh-text strong { display:block; font-weight:700; font-size:0.9rem; }
.sh-text span { font-size:0.82rem; color:var(--text-muted); }
.safety-program-card { background:#fff; border-radius:12px; padding:1.5rem; border:1px solid #eee; transition:all 0.3s; }
.safety-program-card:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.spc-icon { font-size:2rem; color:var(--primary); margin-bottom:0.75rem; }
.spc-duration { font-size:0.8rem; font-weight:600; color:var(--primary); background:rgba(255,107,0,0.08); padding:0.25rem 0.65rem; border-radius:20px; display:inline-block; margin-top:0.75rem; }
.standard-card { background:#fff; border-radius:12px; border:1px solid #eee; padding:1.5rem; transition:all 0.3s; text-align:center; }
.standard-card:hover { border-color:var(--primary); transform:translateY(-3px); }

/* === SECTION 18: CONTACT PAGE === */
.contact-info-list { display:flex; flex-direction:column; gap:1rem; }
.ci-item { display:flex; align-items:flex-start; gap:1rem; }
.ci-icon { width:44px; height:44px; border-radius:10px; background:rgba(255,107,0,0.1); display:flex; align-items:center; justify-content:center; color:var(--primary); font-size:1.1rem; flex-shrink:0; }
.ci-text strong { display:block; font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-muted); margin-bottom:0.15rem; }
.ci-text a { color:var(--text-dark); font-size:0.9rem; }
.ci-text a:hover { color:var(--primary); }
.ci-text span { font-size:0.9rem; color:var(--text-dark); }
.contact-social { display:flex; gap:0.5rem; }
.contact-social-btn { width:40px; height:40px; border-radius:50%; background:var(--primary); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:0.9rem; transition:all 0.3s; }
.contact-social-btn:hover { transform:translateY(-3px); box-shadow:0 4px 15px rgba(255,107,0,0.4); color:#fff; }
.contact-form-box { background:#fff; border-radius:12px; padding:2rem; border:1px solid #eee; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
.form-group { position:relative; }
.error-msg { display:none; font-size:0.8rem; color:#dc3545; margin-top:0.25rem; }
.form-group.has-error .form-control { border-color:#dc3545; }
.form-group.has-error .error-msg { display:block; }
.form-success { background:#e8f5e9; color:#2e7d32; border-radius:8px; padding:1rem; margin-top:1rem; font-size:0.9rem; }
.form-error-msg { background:#ffebee; color:#c62828; border-radius:8px; padding:1rem; margin-top:1rem; font-size:0.9rem; }

/* === SECTION 19: ESTIMATE PAGE === */
.estimate-form-box { background:#fff; border-radius:12px; padding:2rem; border:1px solid #eee; box-shadow:0 4px 20px rgba(0,0,0,0.06); }
.efh-icon { width:70px; height:70px; border-radius:50%; background:rgba(255,107,0,0.1); display:inline-flex; align-items:center; justify-content:center; margin-bottom:0.5rem; }
.estimate-sidebar { background:#f8f9fa; border-radius:12px; padding:1.5rem; border:1px solid #eee; }
.es-item { display:flex; align-items:flex-start; gap:1rem; padding:0.75rem 0; border-bottom:1px solid #e9ecef; }
.es-item:last-child { border-bottom:none; }
.es-icon { width:40px; height:40px; border-radius:10px; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.es-text strong { display:block; font-size:0.9rem; font-weight:700; }
.es-text span { font-size:0.82rem; color:var(--text-muted); }
.form-section-title { font-size:0.85rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--text-muted); border-bottom:1px solid #eee; padding-bottom:0.5rem; margin-bottom:0.25rem; }

/* === SECTION 20: CTA SECTIONS === */
.section-cta { background:var(--primary); }
.cta-box { padding:3rem 2rem; }
.cta-title { font-size:2rem; font-weight:800; color:#fff; margin-bottom:0.75rem; }
.cta-subtitle { font-size:1.05rem; color:rgba(255,255,255,0.85); margin-bottom:1.5rem; }
.cta-box .btn-light:hover { background:rgba(255,255,255,0.9); }
.cta-box .btn-outline-light { border-width:2px; }

/* === SECTION 21: FOOTER === */
.footer { background:var(--footer-bg); color:rgba(255,255,255,0.75); }
.footer-top { background:var(--footer-top-bg); padding:3.5rem 0 2.5rem; }
.footer-widget { padding-right:1rem; }
.footer-brand-name { font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.1rem; color:#fff; }
.footer-brand-tagline { font-size:0.75rem; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:0.06em; }
.footer-about-text { font-size:0.875rem; color:rgba(255,255,255,0.65); line-height:1.7; }
.footer-social { display:flex; gap:0.5rem; }
.footer-social a { width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.1); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-size:0.8rem; transition:all 0.3s; }
.footer-social a:hover { background:var(--primary); transform:translateY(-3px); }
.footer-widget-title { font-size:0.95rem; font-weight:700; color:#fff; margin-bottom:1.1rem; position:relative; padding-bottom:0.6rem; }
.footer-widget-title::after { content:''; position:absolute; bottom:0; left:0; width:30px; height:2px; background:var(--primary); border-radius:2px; }
.footer-links li { padding:0.3rem 0; }
.footer-links a { font-size:0.875rem; color:rgba(255,255,255,0.65); transition:all 0.2s; display:flex; align-items:center; gap:0.35rem; }
.footer-links a:hover { color:#fff; padding-left:0.25rem; }
.footer-links i { font-size:0.65rem; color:var(--primary); }
.footer-contact-list li { display:flex; align-items:flex-start; gap:0.75rem; padding:0.4rem 0; }
.footer-contact-list i { width:14px; flex-shrink:0; margin-top:4px; }
.footer-contact-list a { color:rgba(255,255,255,0.7); font-size:0.875rem; }
.footer-contact-list a:hover { color:#fff; }
.footer-contact-list span { font-size:0.875rem; color:rgba(255,255,255,0.7); }
.footer-bottom { background:rgba(0,0,0,0.2); padding:1rem 0; font-size:0.82rem; }
.footer-bottom p { color:rgba(255,255,255,0.5); }
.footer-bottom a { color:rgba(255,255,255,0.5); }
.footer-bottom a:hover { color:var(--primary); }

/* === SECTION 22: BACK TO TOP === */
.back-to-top { position:fixed; bottom:1.5rem; right:1.5rem; width:42px; height:42px; border-radius:50%; background:var(--primary); color:#fff; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.9rem; box-shadow:0 4px 15px rgba(0,0,0,0.2); opacity:0; visibility:hidden; transition:all 0.3s; z-index:900; }
.back-to-top.visible, #back-to-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover { background:var(--primary-dark); transform:translateY(-3px); }

/* === SECTION 23: SCROLL ANIMATIONS === */
.anim-fade-up { opacity:0; transform:translateY(30px); transition:opacity 0.6s ease, transform 0.6s ease; }
.anim-fade-up.animated { opacity:1; transform:translateY(0); }
.anim-slide-left { opacity:0; transform:translateX(-40px); transition:opacity 0.6s ease, transform 0.6s ease; }
.anim-slide-left.animated { opacity:1; transform:translateX(0); }
.anim-slide-right { opacity:0; transform:translateX(40px); transition:opacity 0.6s ease, transform 0.6s ease; }
.anim-slide-right.animated { opacity:1; transform:translateX(0); }
.anim-scale-in { opacity:0; transform:scale(0.9); transition:opacity 0.5s ease, transform 0.5s ease; }
.anim-scale-in.animated { opacity:1; transform:scale(1); }
.anim-fade-in { opacity:0; transition:opacity 0.6s ease; }
.anim-fade-in.animated { opacity:1; }
/* Stagger delay for grid children */
.row .anim-fade-up:nth-child(2) { transition-delay:0.1s; }
.row .anim-fade-up:nth-child(3) { transition-delay:0.2s; }
.row .anim-fade-up:nth-child(4) { transition-delay:0.3s; }
.row .anim-fade-up:nth-child(5) { transition-delay:0.4s; }
.row .anim-fade-up:nth-child(6) { transition-delay:0.5s; }
.row .anim-scale-in:nth-child(2) { transition-delay:0.1s; }
.row .anim-scale-in:nth-child(3) { transition-delay:0.2s; }
.row .anim-scale-in:nth-child(4) { transition-delay:0.3s; }

/* === SECTION 24: INDEX PAGE SECTIONS === */
/* Why Choose Us */
.why-us-section { }
.why-us-card { background:#fff; border-radius:12px; padding:1.75rem; border:1px solid #eee; transition:all 0.3s; }
.why-us-card:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.why-icon { width:56px; height:56px; border-radius:14px; background:rgba(255,107,0,0.1); display:flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--primary); margin-bottom:1rem; }
/* Clients / Accreditation logos */
.client-logos { display:flex; align-items:center; justify-content:center; gap:2.5rem; flex-wrap:wrap; padding:2rem 0; }
.client-logo-item { opacity:0.5; filter:grayscale(1); transition:all 0.3s; font-size:1.8rem; color:var(--text-muted); }
.client-logo-item:hover { opacity:1; filter:none; color:var(--primary); }

/* === SECTION 25: PAGINATION === */
.pagination .page-link { color:var(--primary); border-color:#dee2e6; }
.pagination .page-item.active .page-link { background:var(--primary); border-color:var(--primary); color:#fff; }
.pagination .page-link:hover { background:rgba(255,107,0,0.08); color:var(--primary); }

/* === SECTION 26: ALERTS & FLASH MESSAGES === */
.alert { border-radius:10px; font-size:0.9rem; }
.alert-success { background:#e8f5e9; color:#2e7d32; border-color:#c8e6c9; }
.alert-danger { background:#ffebee; color:#c62828; border-color:#ffcdd2; }
.alert-info { background:#e3f2fd; color:#1565c0; border-color:#bbdefb; }
.alert-warning { background:#fff8e1; color:#f57f17; border-color:#ffe082; }

/* === SECTION 27: FORMS GENERAL === */
.form-control:focus, .form-select:focus { border-color:var(--primary); box-shadow:0 0 0 0.2rem rgba(255,107,0,0.15); }
.form-label { font-size:0.875rem; }
.form-control, .form-select { border-radius:8px; }

/* === SECTION 28: RESPONSIVE ADJUSTMENTS === */
@media (max-width: 991px) {
  .hero-stats { gap:1rem !important; }
  .hero-stat-item { padding:0.75rem 1rem; }
  .hero-stat-number { font-size:1.6rem; }
  .feature-strip-item { border-right:none; border-bottom:1px solid rgba(255,255,255,0.2); }
  .feature-strip-item:last-child { border-bottom:none; }
  .cta-title { font-size:1.6rem; }
  .footer-widget { padding-right:0; margin-bottom:1rem; }
}
@media (max-width: 767px) {
  .section-title { font-size:1.6rem; }
  .banner-title { font-size:1.8rem; color:#fff !important; }
  .hero-title { font-size:1.9rem; }
  .hero-stats .col-auto { flex:1 1 40%; }
  .news-article-title { font-size:1.4rem; }
  .cta-box { padding:2rem 1rem; }
  .cta-box .btn { margin-bottom:0.5rem; width:100%; }
  .slider-prev, .slider-next { display:none; }
  .contact-form-box { padding:1.25rem; }
  .estimate-form-box { padding:1.25rem; }
  .back-to-top { bottom:1rem; right:1rem; }
}
@media (max-width: 575px) {
  .topbar { display:none !important; }
  .hero-btns { flex-direction:column; align-items:center; }
  .hero-btns .btn { width:100%; max-width:300px; }
  .location-card { margin-bottom:0; }
}

/* === SECTION 29: UTILITY CLASSES === */
.text-primary { color:var(--primary) !important; }
.bg-primary { background:var(--primary) !important; }
.border-primary { border-color:var(--primary) !important; }
.shadow-hover { transition:box-shadow 0.3s; }
.shadow-hover:hover { box-shadow:0 8px 30px rgba(0,0,0,0.12); }
.rounded-xl { border-radius:16px !important; }
.img-cover { width:100%; height:100%; object-fit:cover; }
.overlay-dark { position:relative; }
.overlay-dark::before { content:''; position:absolute; inset:0; background:rgba(0,0,0,0.5); z-index:1; border-radius:inherit; }
.z-2 { position:relative; z-index:2; }

/* === SECTION 30: DASHBOARD STATS (Homepage) === */
.home-stats-section { }
.home-stat-box { background:#fff; border-radius:12px; padding:2rem; text-align:center; border:1px solid #eee; transition:all 0.3s; }
.home-stat-box:hover { transform:translateY(-4px); box-shadow:var(--card-hover-shadow); }
.home-stat-icon { width:60px; height:60px; border-radius:50%; background:rgba(255,107,0,0.1); display:inline-flex; align-items:center; justify-content:center; font-size:1.4rem; color:var(--primary); margin-bottom:0.75rem; }

/* === SECTION 31: NAV MOBILE OVERLAY === */
.nav-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,0.5); z-index:1030; }
.nav-overlay.show { display:block; }
body.menu-open { overflow:hidden; }

/* === SECTION 32: MISC COMPONENTS === */
/* Rental section icon badges */
.rental-feature { display:flex; align-items:center; gap:0.5rem; padding:0.5rem 0; font-size:0.9rem; }
/* Map container */
.map-placeholder iframe { display:block; border-radius:12px; }
/* News empty state */
.news-empty { text-align:center; padding:3rem; color:var(--text-muted); }
/* Collapse arrow for careers */
.career-card-footer .btn-outline-primary[aria-expanded="true"] { background:var(--primary); color:#fff; }
/* Profile avatar (frontend if needed) */
.profile-avatar .pa-circle { width:80px; height:80px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-size:2rem; font-weight:700; margin:0 auto; }

/* === SECTION 33: INDEX.PHP SPECIFIC SECTIONS === */
/* About intro section */
.about-img-wrap { position:relative; }
.about-img-main img { border-radius:12px; }
.about-img-badge { position:absolute; bottom:-1rem; right:-1rem; background:var(--primary); color:#fff; padding:1rem 1.5rem; border-radius:12px; text-align:center; box-shadow:0 8px 25px rgba(255,107,0,0.4); }
.about-img-badge strong { display:block; font-size:1.4rem; font-weight:900; font-family:'Montserrat',sans-serif; line-height:1; }
.about-img-badge span { font-size:0.78rem; opacity:0.85; }
.about-feature { display:flex; align-items:center; font-size:0.9rem; font-weight:500; }
.section-lead { font-size:1.05rem; color:var(--text-dark); line-height:1.7; }

/* Service card used in index.php */
.service-card-title { font-size:1.05rem; margin-bottom:0.5rem; }
.service-card-desc { font-size:0.875rem; color:var(--text-muted); margin-bottom:1rem; }
.service-card-link { font-size:0.875rem; font-weight:600; color:var(--primary); display:inline-flex; align-items:center; gap:0.35rem; transition:gap 0.2s; }
.service-card-link:hover { gap:0.65rem; }

/* Why Choose Us */
.why-list { display:flex; flex-direction:column; gap:1.25rem; }
.why-item { display:flex; align-items:flex-start; gap:1rem; }
.why-icon { width:46px; height:46px; border-radius:12px; background:rgba(255,107,0,0.1); display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--primary); flex-shrink:0; }
.why-text strong { display:block; font-weight:700; margin-bottom:0.15rem; font-size:0.95rem; }
.why-text p { font-size:0.875rem; color:var(--text-muted); margin:0; }
.why-img-wrap { position:relative; }
.why-img-cta { position:absolute; bottom:1.5rem; left:1.5rem; background:#fff; padding:1rem 1.5rem; border-radius:10px; box-shadow:0 8px 25px rgba(0,0,0,0.12); }
.why-img-cta p { font-size:0.85rem; color:var(--text-muted); margin-bottom:0.5rem; }

/* Testimonials on homepage (different from testimonials-slider above) */
.testimonial-quote { font-size:1rem; color:var(--text-muted); font-style:italic; margin-bottom:1.25rem; line-height:1.7; }
.testimonial-rating { display:flex; gap:3px; }
.testimonial-rating i { color:#FFB347; font-size:0.85rem; }
.testimonial-author { display:flex; align-items:center; gap:0.75rem; }
.ta-avatar { width:46px; height:46px; border-radius:50%; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.1rem; flex-shrink:0; }
.ta-info strong { display:block; font-size:0.9rem; font-weight:700; }
.ta-info span { font-size:0.8rem; color:var(--text-muted); }

/* Location badge strip */
.location-badge { background:#fff; border:1px solid #e0e0e0; border-radius:20px; padding:0.45rem 1.1rem; font-size:0.875rem; color:var(--text-dark); font-weight:500; }

/* === SECTION 34: ADMIN DASHBOARD (index.php extras) === */
.chart-placeholder { background:#f8f9fa; border-radius:8px; height:200px; display:flex; align-items:center; justify-content:center; color:#aaa; font-size:0.9rem; }

/* === SCROLL ANIMATIONS === */
.anim-fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.anim-fade-up.animated{opacity:1;transform:translateY(0)}
.anim-slide-left{opacity:0;transform:translateX(-40px);transition:opacity .6s ease,transform .6s ease}
.anim-slide-left.animated{opacity:1;transform:translateX(0)}
.anim-slide-right{opacity:0;transform:translateX(40px);transition:opacity .6s ease,transform .6s ease}
.anim-slide-right.animated{opacity:1;transform:translateX(0)}
.anim-scale-in{opacity:0;transform:scale(.9);transition:opacity .5s ease,transform .5s ease}
.anim-scale-in.animated{opacity:1;transform:scale(1)}
.anim-fade-in{opacity:0;transition:opacity .6s ease}
.anim-fade-in.animated{opacity:1}
.row .anim-fade-up:nth-child(2){transition-delay:.1s}
.row .anim-fade-up:nth-child(3){transition-delay:.2s}
.row .anim-fade-up:nth-child(4){transition-delay:.3s}
.row .anim-fade-up:nth-child(5){transition-delay:.4s}
.row .anim-fade-up:nth-child(6){transition-delay:.5s}
.row .anim-scale-in:nth-child(2){transition-delay:.1s}
.row .anim-scale-in:nth-child(3){transition-delay:.2s}
.row .anim-scale-in:nth-child(4){transition-delay:.3s}
/* === BACK TO TOP === */
.back-to-top,#backToTop{position:fixed;bottom:1.5rem;right:1.5rem;width:42px;height:42px;border-radius:50%;background:var(--primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;box-shadow:0 4px 15px rgba(0,0,0,.2);opacity:0;visibility:hidden;transition:all .3s;z-index:900}
.back-to-top.visible,#backToTop.visible,#back-to-top.visible{opacity:1;visibility:visible}
.back-to-top:hover,#backToTop:hover{background:var(--primary-dark);transform:translateY(-3px)}
/* === PAGINATION === */
.pagination .page-link{color:var(--primary);border-color:#dee2e6}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff}
.pagination .page-link:hover{background:rgba(255,107,0,.08);color:var(--primary)}
/* === FORM MESSAGES === */
.form-success{background:#e8f5e9;color:#2e7d32;border-radius:8px;padding:1rem;margin-top:1rem;font-size:.9rem}
.form-error-msg{background:#ffebee;color:#c62828;border-radius:8px;padding:1rem;margin-top:1rem;font-size:.9rem}
/* === SIDEBAR NEWS ITEM === */
.sni-img img{width:65px;height:48px;object-fit:cover;border-radius:6px;flex-shrink:0}
.sidebar-news-item{display:flex;gap:.75rem;padding:.65rem 0;border-bottom:1px solid #f0f0f0}
.sidebar-news-item:last-child{border-bottom:none}
.sni-text a{font-size:.85rem;color:var(--text-dark);font-weight:500;line-height:1.4;display:block}
.sni-text a:hover{color:var(--primary)}
.sni-text span{font-size:.75rem;color:var(--text-muted)}
/* === LOCATION BADGE (homepage strip) === */
.location-badge{background:#fff;border:1px solid #e0e0e0;border-radius:20px;padding:.45rem 1.1rem;font-size:.875rem;color:var(--text-dark);font-weight:500}
/* === NEWS FILTER ACTIVE STATE === */
.news-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
/* === FORM FOCUS STATES === */
.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(255,107,0,.15)}
.form-control,.form-select{border-radius:8px}
/* === NAV MOBILE OVERLAY === */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1030}
.nav-overlay.show{display:block}
body.menu-open{overflow:hidden}
/* === ALERTS === */
.alert{border-radius:10px;font-size:.9rem}
.alert-success{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}
.alert-danger{background:#ffebee;color:#c62828;border-color:#ffcdd2}
.alert-info{background:#e3f2fd;color:#1565c0;border-color:#bbdefb}
.alert-warning{background:#fff8e1;color:#f57f17;border-color:#ffe082}
/* === RESPONSIVE === */
@media(max-width:991px){.feature-strip-item{border-right:none;border-bottom:1px solid rgba(255,255,255,.2)}.feature-strip-item:last-child{border-bottom:none}.cta-title{font-size:1.6rem}.footer-widget{padding-right:0;margin-bottom:1rem}}
@media(max-width:767px){.section-title{font-size:1.6rem}.banner-title{font-size:1.8rem}.hero-title{font-size:1.9rem}.news-article-title{font-size:1.4rem}.cta-box{padding:2rem 1rem}.cta-box .btn{margin-bottom:.5rem;width:100%}.slider-prev,.slider-next{display:none}.contact-form-box{padding:1.25rem}.estimate-form-box{padding:1.25rem}.back-to-top,#backToTop{bottom:1rem;right:1rem}}
@media(max-width:575px){.topbar{display:none!important}.hero-btns{flex-direction:column;align-items:center}.hero-btns .btn{width:100%;max-width:300px}}
