:root{
  --bg:#0c0c0e;
  --bg-alt:#141416;
  --card:#1a1a1d;
  --card-border:#2a2a2e;
  --orange:#e8622c;
  --orange-dark:#c94f1f;
  --text:#f5f5f5;
  --text-dim:#a9a9ad;
  --radius:10px;
  --maxw:1180px;
  font-size:16px;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Poppins',Arial,sans-serif;
  line-height:1.6;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{margin:0 0 .5em;font-weight:700;}
p{margin:0 0 1em;color:var(--text-dim);}
ul{list-style:none;margin:0;padding:0;}
.njgc-container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.center{text-align:center;}
.eyebrow{color:var(--orange);text-transform:uppercase;letter-spacing:1.5px;font-size:.75rem;font-weight:700;margin-bottom:8px;}
section{padding:70px 0;}
section h2{font-size:2rem;}
.subhead{max-width:600px;margin:0 auto 30px;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;border-radius:6px;font-weight:600;font-size:.95rem;
  border:2px solid transparent;cursor:pointer;transition:.2s;white-space:nowrap;
}
.btn-orange{background:var(--orange);color:#fff;}
.btn-orange:hover{background:var(--orange-dark);}
.btn-outline{background:transparent;border-color:#444;color:var(--text);}
.btn-outline:hover{border-color:var(--orange);}
.btn-block{width:100%;}
.btn-small{padding:8px 16px;font-size:.8rem;}

/* Top bar */
.njgc-topbar{background:#000;font-size:.82rem;padding:8px 0;border-bottom:1px solid var(--card-border);}
.njgc-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;}
.topbar-phone{color:#fff;font-weight:600;}
.topbar-tag{color:var(--text-dim);flex:1;text-align:center;}
.njgc-topbar-inner .btn{padding:6px 14px;}

/* Header */
.njgc-header{background:#000;padding:14px 0;position:relative;z-index:50;}
.njgc-header-inner{display:flex;align-items:center;gap:30px;}
.njgc-logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-mark{background:var(--orange);color:#fff;font-weight:800;font-size:1.1rem;padding:6px 10px;border-radius:6px;}
.logo-text{font-weight:800;font-size:1rem;line-height:1.1;color:#fff;letter-spacing:.5px;}
.logo-text span{color:var(--orange);font-size:.85em;}
.njgc-nav{flex:1;}
.nav-menu{display:flex;gap:26px;align-items:center;}
.nav-menu a{font-size:.92rem;font-weight:500;color:#ddd;padding:8px 0;}
.nav-menu li.current a,.nav-menu a:hover{color:var(--orange);}
.nav-menu li.has-dropdown{position:relative;}
.nav-menu .dropdown{position:absolute;top:100%;left:0;background:var(--card);border:1px solid var(--card-border);border-radius:8px;min-width:220px;padding:8px;display:none;flex-direction:column;gap:2px;}
.nav-menu li.has-dropdown:hover .dropdown{display:flex;}
.nav-menu .dropdown a{padding:8px 12px;border-radius:6px;display:block;}
.nav-menu .dropdown a:hover{background:var(--bg-alt);}
.mobile-toggle{display:none;background:none;border:none;color:#fff;font-size:1.4rem;cursor:pointer;}

/* Hero */
.hero{position:relative;padding:60px 0 90px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:linear-gradient(120deg,#000 0%,#1b1b1d 55%,#111 100%);z-index:-1;}
.hero-inner{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:start;}
.hero-copy h1{font-size:2.7rem;line-height:1.15;color:#fff;}
.hero-copy h1 .accent{color:var(--orange);}
.hero-copy > p{font-size:1.05rem;max-width:480px;}
.hero-buttons{display:flex;gap:14px;margin:26px 0;flex-wrap:wrap;}
.hero-badges{display:flex;flex-wrap:wrap;gap:20px;margin-top:10px;}
.hero-badges li{font-size:.85rem;color:var(--text-dim);display:flex;align-items:center;gap:6px;}
.hero-badges i{color:var(--orange);}

.hero-form{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:26px;box-shadow:0 20px 50px rgba(0,0,0,.4);}
.hero-form h3{font-size:1.15rem;margin-bottom:16px;}
.hero-form label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:14px;}
.hero-form input,.hero-form select{
  width:100%;margin-top:6px;padding:11px 12px;border-radius:6px;border:1px solid #333;
  background:#0f0f11;color:#fff;font-size:.92rem;font-family:inherit;
}
.hero-form input:focus,.hero-form select:focus{outline:none;border-color:var(--orange);}
.form-note{font-size:.75rem;color:var(--text-dim);text-align:center;margin:12px 0 0;}
.form-response{font-size:.85rem;text-align:center;color:var(--orange);min-height:1.2em;}

/* Trust bar */
.trust-bar{background:var(--bg-alt);padding:26px 0;border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);}
.trust-bar-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.trust-google{display:flex;align-items:center;gap:12px;}
.trust-google i{font-size:1.6rem;}
.trust-google .stars{color:var(--orange);display:block;font-size:.9rem;}
.trust-google strong{display:block;font-size:.85rem;}
.trust-google small{color:var(--text-dim);font-size:.72rem;}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-dim);}
.trust-item i{color:var(--orange);}

/* Services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px;}
.service-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);overflow:hidden;transition:.2s;}
.service-card:hover{transform:translateY(-4px);border-color:var(--orange);}
.service-img{height:180px;background-size:cover;background-position:center;position:relative;}
.service-icon{position:absolute;bottom:-18px;left:18px;background:var(--orange);color:#fff;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;border:3px solid var(--card);}
.service-body{padding:28px 20px 20px;}
.service-body h3{font-size:1.1rem;}
.service-body p{font-size:.9rem;margin-bottom:14px;}
.learn-more{color:var(--orange);font-size:.85rem;font-weight:600;}

/* Before / after */
.ba-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0 34px;}
.ba-slider{position:relative;height:280px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--card-border);}
.ba-after,.ba-before{position:absolute;inset:0;background-size:cover;background-position:center;}
.ba-before{overflow:hidden;border-right:2px solid var(--orange);}
.ba-label{position:absolute;top:12px;font-size:.72rem;font-weight:700;background:rgba(0,0,0,.65);padding:4px 10px;border-radius:4px;letter-spacing:.5px;}
.ba-label-before{left:12px;}
.ba-label-after{right:12px;}
.ba-range{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:85%;z-index:5;accent-color:var(--orange);}

/* Why us */
.why-us{background:var(--bg-alt);}
.why-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;margin:30px 0;text-align:center;}
.why-item{display:flex;flex-direction:column;align-items:center;gap:10px;}
.why-icon{width:56px;height:56px;border:2px solid var(--orange);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--orange);font-size:1.3rem;}
.why-item span{font-size:.85rem;font-weight:500;}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px;}
.process-card{position:relative;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:30px 20px;text-align:center;}
.process-num{position:absolute;top:-14px;left:-14px;width:30px;height:30px;background:var(--orange);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;}
.process-icon{font-size:1.6rem;color:var(--orange);margin-bottom:12px;}
.process-card h3{font-size:1rem;}
.process-card p{font-size:.85rem;margin:0;}

/* Testimonials */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:30px;}
.testimonial-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:26px;}
.testimonial-card .stars{color:var(--orange);display:block;margin-bottom:10px;}
.testimonial-card p{font-size:.9rem;color:#ddd;}
.testimonial-author{display:flex;align-items:center;gap:10px;}
.avatar{width:38px;height:38px;border-radius:50%;background:var(--bg-alt);display:flex;align-items:center;justify-content:center;color:var(--text-dim);}
.testimonial-author strong{display:block;font-size:.88rem;}
.testimonial-author small{color:var(--text-dim);font-size:.75rem;}
.more-reviews{margin-top:26px;font-size:.9rem;}
.more-reviews a{color:var(--orange);font-weight:600;}

/* Service area */
.service-area-inner{display:grid;grid-template-columns:1fr 1.2fr auto;gap:40px;align-items:center;}
.service-area-map{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);height:280px;display:flex;align-items:center;justify-content:center;}
.service-area-map i{font-size:4rem;color:var(--orange);opacity:.6;}
.county-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.county-list li{font-size:.9rem;display:flex;align-items:center;gap:8px;}
.county-list i{color:var(--orange);}
.service-area-check{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:28px 22px;text-align:center;min-width:230px;}
.service-area-check i{font-size:1.8rem;color:var(--orange);margin-bottom:10px;}
.service-area-check p{font-size:.9rem;}

/* FAQ */
.faq-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;margin-top:30px;align-items:start;}
.faq-item{border-bottom:1px solid var(--card-border);}
.faq-question{width:100%;background:none;border:none;color:#fff;padding:18px 0;display:flex;justify-content:space-between;align-items:center;font-size:.95rem;font-weight:500;cursor:pointer;text-align:left;}
.faq-question i{color:var(--orange);transition:.2s;}
.faq-item.open .faq-question i{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:.25s;}
.faq-item.open .faq-answer{max-height:200px;padding-bottom:16px;}
.faq-answer p{font-size:.88rem;margin:0;}
.faq-image{border-radius:var(--radius);background-size:cover;background-position:center;min-height:320px;}

/* Footer */
.njgc-footer{background:#000;border-top:1px solid var(--card-border);}
.footer-cta{background:var(--card);border-bottom:1px solid var(--card-border);padding:30px 0;}
.footer-cta-inner{display:flex;align-items:center;gap:24px;}
.cta-icon{font-size:1.8rem;color:var(--orange);border:2px solid var(--orange);border-radius:50%;width:60px;height:60px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.cta-text{flex:1;}
.cta-text h3{margin-bottom:4px;font-size:1.2rem;}
.cta-text p{margin:0;font-size:.9rem;}
.cta-actions{display:flex;align-items:center;gap:20px;}
.cta-phone{font-weight:600;}
.footer-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding:50px 0;}
.footer-col h4{color:#fff;font-size:1rem;margin-bottom:16px;}
.footer-col ul li{margin-bottom:9px;font-size:.88rem;}
.footer-col ul li a:hover{color:var(--orange);}
.footer-col.two-col,.two-col{grid-template-columns:1fr 1fr;display:grid;column-gap:10px;}
.and-surrounding{display:block;color:var(--orange);font-size:.82rem;margin-top:6px;}
.footer-about p{font-size:.87rem;}
.footer-checks{margin:14px 0;}
.footer-checks li{font-size:.85rem;display:flex;gap:8px;align-items:center;margin-bottom:6px;}
.footer-checks i{color:var(--orange);}
.footer-phone{color:var(--orange);font-weight:600;font-size:.9rem;}
.footer-contact li{display:flex;gap:8px;align-items:center;font-size:.87rem;margin-bottom:10px;}
.footer-contact i{color:var(--orange);}
.footer-bottom{border-top:1px solid var(--card-border);padding:22px 0;}
.footer-bottom-inner{display:flex;gap:30px;align-items:flex-start;justify-content:space-between;}
.footer-badge{display:flex;gap:14px;}
.footer-badge i{font-size:1.6rem;color:var(--orange);flex-shrink:0;}
.footer-badge p{font-size:.82rem;margin:0;max-width:640px;}
.footer-rating{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.footer-rating i{font-size:1.4rem;}
.footer-rating .stars{color:var(--orange);display:block;}
.footer-rating small{color:var(--text-dim);font-size:.72rem;}
.footer-legal{border-top:1px solid var(--card-border);padding:16px 0;background:#000;}
.footer-legal-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:.8rem;color:var(--text-dim);}
.legal-links a:hover{color:var(--orange);}
.social-icons{display:flex;gap:12px;}
.social-icons a{width:30px;height:30px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;}
.social-icons a:hover{background:var(--orange);}

/* Generic page fallback */
.generic-content{padding:70px 0;color:#fff;}

/* Responsive */
@media (max-width: 1024px){
  .services-grid,.ba-grid,.testimonial-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(3,1fr);}
  .process-grid{grid-template-columns:repeat(2,1fr);}
  .hero-inner{grid-template-columns:1fr;}
  .footer-columns{grid-template-columns:1fr 1fr;}
  .service-area-inner{grid-template-columns:1fr;}
}
@media (max-width: 768px){
  .njgc-topbar-inner{flex-wrap:wrap;justify-content:center;text-align:center;}
  .topbar-tag{order:3;width:100%;}
  .njgc-nav,.njgc-header-inner > .btn{display:none;}
  .mobile-toggle{display:block;margin-left:auto;}
  .njgc-header-inner.open .njgc-nav{display:block;position:absolute;top:100%;left:0;right:0;background:#000;padding:20px;}
  .njgc-header-inner.open .nav-menu{flex-direction:column;align-items:flex-start;gap:14px;}
  .services-grid,.ba-grid,.testimonial-grid,.why-grid,.process-grid{grid-template-columns:1fr;}
  .faq-inner{grid-template-columns:1fr;}
  .footer-columns{grid-template-columns:1fr;}
  .footer-cta-inner{flex-direction:column;text-align:center;}
  .footer-bottom-inner{flex-direction:column;}
  .hero-copy h1{font-size:2.1rem;}
}
