/* Reset & Base */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:var(--primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--primary-dark)}
ul{list-style:none}
h1,h2,h3,h4{line-height:1.3;color:var(--text)}
h1{font-size:2rem}
h2{font-size:1.5rem;margin-bottom:1rem}
h3{font-size:1.2rem}

/* Container */
.container{max-width:1200px;margin:0 auto;padding:0 1rem}

/* Header */
.site-header{background:var(--bg);box-shadow:0 1px 3px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:70px;gap:1rem}
.logo{flex-shrink:0;max-width:350px}
.logo img{width:100%;height:auto;display:block}
.main-nav ul{display:flex;gap:.25rem}
.main-nav a{padding:.5rem .75rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--text);transition:background .2s,color .2s}
.main-nav a:hover{background:var(--bg-light);color:var(--primary)}
.header-phone{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;white-space:nowrap;transition:background .2s}
.header-phone:hover{background:var(--primary-dark);color:#fff}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:24px;height:2px;background:var(--text);transition:transform .3s}

/* Hero */
.hero{background-size:cover;background-position:center;min-height:500px;display:flex;align-items:center;position:relative}
.hero-overlay{background:linear-gradient(135deg,rgba(0,0,0,.65) 0%,rgba(0,0,0,.3) 100%);width:100%;padding:4rem 0}
.hero-content{color:#fff;max-width:700px}
.hero h1{font-size:2.5rem;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}
.hero-desc{font-size:1.1rem;margin-bottom:2rem;opacity:.95}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}

/* Page Hero (subpages) */
.page-hero{background:var(--primary);color:#fff;padding:2.5rem 0 2rem}
.page-hero h1{font-size:2rem;color:#fff}
.page-hero p{opacity:.9}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:all .2s;text-align:center}
.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn-primary:hover{background:var(--primary-dark);border-color:var(--primary-dark);color:#fff}
.btn-secondary{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.4)}
.btn-secondary:hover{background:rgba(255,255,255,.25);color:#fff}
.btn-outline{border-color:var(--primary);color:var(--primary)}
.btn-outline:hover{background:var(--primary);color:#fff}
.btn-lg{padding:1rem 2rem;font-size:1.05rem}
.btn-block{display:block;width:100%;text-align:center}
.btn svg{flex-shrink:0}

/* Services Grid */
.services-overview{padding:4rem 0;background:var(--bg-light)}
.services-overview h2{text-align:center;margin-bottom:2rem}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.service-card{background:var(--bg);padding:2rem 1.5rem;border-radius:var(--radius);text-align:center;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;display:block;color:var(--text)}
.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);color:var(--text)}
.service-icon{margin-bottom:1rem}
.service-card h3{font-size:1rem;margin-bottom:.5rem}
.service-card p{font-size:.85rem;color:var(--text-light)}

/* Why Us / Features */
.why-us{padding:4rem 0}
.why-us h2{text-align:center;margin-bottom:2rem}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.feature{text-align:center;padding:1.5rem}
.feature strong{display:block;font-size:1rem;margin-bottom:.5rem;color:var(--primary)}
.feature p{font-size:.9rem;color:var(--text-light)}

/* Service Areas */
.service-areas{padding:4rem 0;background:var(--bg-light);text-align:center}
.areas-list{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:1.5rem}
.area-tag{background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.85rem;font-weight:500}

/* CTA Section */
.cta-section{background:var(--primary);color:#fff;padding:3rem 0;text-align:center}
.cta-section h2{color:#fff;font-size:1.8rem;margin-bottom:.5rem}
.cta-section p{opacity:.9;margin-bottom:1.5rem}
.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.cta-section .btn-primary{background:#fff;color:var(--primary);border-color:#fff}
.cta-section .btn-primary:hover{background:var(--bg-light);color:var(--primary-dark)}
.cta-section .btn-secondary{border-color:rgba(255,255,255,.5)}

/* Content Layout (with sidebar) */
.content-layout{display:grid;grid-template-columns:1fr 320px;gap:2rem;padding:3rem 0}
.main-content{min-width:0}
.lead{font-size:1.1rem;line-height:1.7;color:var(--text)}

/* Sidebar */
.sidebar-card{background:var(--bg-light);padding:1.5rem;border-radius:var(--radius);margin-bottom:1rem}
.sidebar-card h3{font-size:1rem;margin-bottom:1rem;color:var(--primary)}
.sidebar-nav li{margin-bottom:.5rem}
.sidebar-nav li.active a{color:var(--primary);font-weight:600}
.sidebar-nav a{color:var(--text);font-size:.9rem}
.sidebar-nav a:hover{color:var(--primary)}
.cta-card{background:var(--primary);color:#fff;text-align:center}
.cta-card h3{color:#fff}
.cta-card .btn-primary{background:#fff;color:var(--primary);margin-bottom:.5rem}
.cta-card .btn-outline{border-color:rgba(255,255,255,.5);color:#fff}

/* Cross-link box */
.cross-link-box{background:var(--bg-light);border-left:4px solid var(--primary);padding:1rem 1.5rem;margin:2rem 0;border-radius:0 var(--radius) var(--radius) 0}

/* Route Links */
.route-links{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0 2rem}
.route-link{background:var(--bg-light);padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--text);border:1px solid #e0e0e0;transition:all .2s}
.route-link:hover{background:var(--primary);color:#fff;border-color:var(--primary)}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;padding:3rem 0}
.blog-card{background:var(--bg);border-radius:var(--radius);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06);transition:transform .2s}
.blog-card:hover{transform:translateY(-4px)}
.blog-card img{width:100%;height:200px;object-fit:cover}
.blog-card-body{padding:1.5rem}
.blog-card time{font-size:.8rem;color:var(--text-light)}
.blog-card h2{font-size:1.1rem;margin:.5rem 0}
.blog-card h2 a{color:var(--text)}
.blog-card h2 a:hover{color:var(--primary)}
.blog-card p{font-size:.9rem;color:var(--text-light);margin-bottom:.75rem}
.read-more{font-size:.9rem;font-weight:600;color:var(--primary)}
.blog-hero-img{width:100%;border-radius:var(--radius);margin:1.5rem 0}
.article-body{line-height:1.8;font-size:1rem}
.article-body p{margin-bottom:1rem}
.article-body strong{color:var(--text)}

/* Contact */
.contact-form{max-width:600px}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;margin-bottom:.5rem;font-weight:600;font-size:.9rem;color:var(--text)}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #ddd;border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,0,0,.05)}
.success-message{text-align:center;padding:3rem 0}
.success-message h2{color:var(--primary);margin-bottom:1rem}

/* Map */
.map-section{line-height:0}
.map-section iframe{width:100%;height:400px}

/* Footer */
.site-footer{background:#212121;color:#bdbdbd;padding:3rem 0 1rem}
.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}
.footer-col h3{color:#fff;font-size:1rem;margin-bottom:1rem}
.footer-col p,.footer-col li{font-size:.85rem;margin-bottom:.5rem}
.footer-col a{color:#bdbdbd}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid #424242;padding-top:1rem;text-align:center;font-size:.8rem}
.developer-credit{margin-top:.5rem;font-size:.75rem;color:#757575}
.developer-credit a{color:#9e9e9e;font-weight:600;transition:color .2s}
.developer-credit a:hover{color:#fff}

/* Sticky Buttons */
.sticky-call-btn{position:fixed;bottom:1.5rem;right:1.5rem;background:var(--primary);color:#fff;padding:.85rem 1.5rem;border-radius:2rem;font-weight:600;font-size:.95rem;box-shadow:0 4px 16px rgba(0,0,0,.2);display:flex;align-items:center;gap:.5rem;z-index:200;transition:transform .2s,background .2s}
.sticky-call-btn:hover{transform:scale(1.05);background:var(--primary-dark);color:#fff}
.sticky-call-btn svg{flex-shrink:0}
.sticky-wp-btn{position:fixed;bottom:1.5rem;left:1.5rem;background:#25D366;color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);z-index:200;transition:transform .2s,background .2s}
.sticky-wp-btn:hover{transform:scale(1.1);background:#1ebe57;color:#fff}
.sticky-wp-btn svg{flex-shrink:0}

/* Error Page */
.error-page{padding:6rem 0;text-align:center}
.error-page h1{font-size:5rem;color:var(--primary);margin-bottom:1rem}
.error-page h2{margin-bottom:1rem}
.error-page p{color:var(--text-light);margin-bottom:2rem}
.error-actions{display:flex;gap:1rem;justify-content:center}

/* Legal / About */
.legal-content,.about-content{padding:3rem 0}
.legal-content h2,.legal-content h3{margin-top:2rem;margin-bottom:.75rem}
.legal-content p,.about-content p{margin-bottom:1rem;line-height:1.7}

/* Breadcrumb */
.breadcrumb-nav{font-size:.85rem;margin-top:.5rem}
.breadcrumb-nav a{color:rgba(255,255,255,.8)}
.breadcrumb-nav a:hover{color:#fff}

/* Responsive: Tablet */
@media(max-width:1024px){
.services-grid,.features-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr}
.content-layout{grid-template-columns:1fr}
.hero h1{font-size:2rem}
}

/* Responsive: Mobile */
@media(max-width:768px){
.logo{max-width:260px}
.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);box-shadow:0 4px 16px rgba(0,0,0,.1);padding:1rem;z-index:99}
.main-nav.active{display:block}
.main-nav ul{flex-direction:column;gap:0}
.main-nav a{display:block;padding:.75rem 1rem}
.menu-toggle{display:flex}
.header-phone{display:none}
.hero{min-height:400px}
.hero h1{font-size:1.75rem}
.hero-desc{font-size:1rem}
.hero-cta .btn{width:100%;justify-content:center}
.services-grid{grid-template-columns:1fr 1fr}
.features-grid{grid-template-columns:1fr}
.blog-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.cta-buttons{flex-direction:column;align-items:center}
.sticky-call-btn{bottom:1rem;right:1rem;padding:.75rem 1.25rem;font-size:.85rem}
.services-overview,.why-us,.service-areas,.cta-section{padding:2.5rem 0}
}

/* Responsive: Small Mobile */
@media(max-width:480px){
.services-grid{grid-template-columns:1fr}
.hero{min-height:350px}
.hero h1{font-size:1.5rem}
h1{font-size:1.5rem}
h2{font-size:1.25rem}
}

/* Text alignment utility */
.text-center{text-align:center}
