/* Blue Gum Carpet and Floor Care — v1.0 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --brand:#1A56DB;
  --brand-dark:#1240A8;
  --brand-light:#EFF6FF;
  --dark:#0a0a0a;
  --text:#1e2332;
  --muted:#5e6880;
  --border:#e2e8f0;
  --white:#fff;
  --radius:12px;
  --shadow:0 4px 24px rgba(26,86,219,.12);
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:#fff;color:var(--text);line-height:1.6;font-size:16px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}

/* ── NAV ── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:center;padding:16px 20px}
.nav-pill{display:inline-flex;align-items:center;gap:32px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.8);border-radius:999px;padding:10px 20px 10px 16px;box-shadow:0 2px 16px rgba(0,0,0,.08);width:fit-content}
.nav-logo{font-size:15px;font-weight:700;color:var(--brand);letter-spacing:-.3px;white-space:nowrap}
.nav-logo span{color:var(--dark)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-links a{font-size:14px;font-weight:500;color:var(--muted);padding:6px 12px;border-radius:999px;transition:all .2s}
.nav-links a:hover{background:var(--brand-light);color:var(--brand)}
.nav-cta{background:var(--brand);color:#fff!important;border-radius:999px;padding:8px 18px!important;font-weight:600!important;font-size:14px!important;transition:background .2s!important}
.nav-cta:hover{background:var(--brand-dark)!important}
.mobile-menu-toggle{display:none;background:none;border:none;cursor:pointer;padding:4px;flex-direction:column;gap:5px}
.mobile-menu-toggle span{width:22px;height:2px;background:var(--dark);border-radius:2px;display:block}
.mobile-panel{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:200;flex-direction:column;padding:24px 20px;pointer-events:auto}
.mobile-panel.open{display:flex}
.mobile-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}
.mobile-panel-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--dark)}
.mobile-nav-links{display:flex;flex-direction:column;gap:4px;flex:1}
.mobile-nav-links a{font-size:18px;font-weight:600;color:var(--dark);padding:12px 0;border-bottom:1px solid var(--border)}
.mobile-cta-row{display:flex;gap:12px;padding-top:24px}
.mobile-cta-call{flex:1;background:var(--brand);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;text-align:center}
.mobile-cta-msg{flex:1;background:var(--dark);color:#fff;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:700;cursor:pointer;text-align:center}

@media(max-width:1023px){
  .nav-links,.nav-cta{display:none}
  .mobile-menu-toggle{display:flex}
}
@media(min-width:1024px){
  .mobile-menu-toggle{display:none!important}
  .mobile-panel{display:none!important}
}

/* ── HERO ── */
.hero{padding:140px 20px 80px;text-align:center;background:#fff}
.hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:var(--brand-light);color:var(--brand);font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:24px}
.hero h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;color:var(--dark);letter-spacing:-.03em;max-width:720px;margin:0 auto 20px}
.hero h1 em{font-style:normal;color:var(--brand)}
.hero-sub{font-size:1.1rem;color:var(--muted);max-width:520px;margin:0 auto 36px}
.hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.btn-primary{background:var(--brand);color:#fff;border-radius:999px;padding:14px 28px;font-size:15px;font-weight:700;display:inline-flex;align-items:center;gap:8px;transition:background .2s}
.btn-primary:hover{background:var(--brand-dark)}
.btn-outline{background:#fff;color:var(--dark);border:2px solid var(--border);border-radius:999px;padding:13px 24px;font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:all .2s}
.btn-outline:hover{border-color:var(--brand);color:var(--brand)}
.hero-stats{display:flex;gap:32px;justify-content:center;flex-wrap:wrap;margin-bottom:56px}
.hero-stat{text-align:center}
.hero-stat strong{display:block;font-size:2rem;font-weight:800;color:var(--brand);line-height:1}
.hero-stat span{font-size:13px;color:var(--muted);margin-top:4px}
.hero-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto;border-radius:16px;overflow:hidden}
.hero-photo{aspect-ratio:3/4;overflow:hidden;border-radius:12px}
.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.hero-photo:hover img{transform:scale(1.04)}
@media(max-width:600px){
  .hero-photos{grid-template-columns:1fr 1fr}
  .hero-photos .hero-photo:nth-child(3){display:none}
}

/* ── TRUST BAR ── */
.trust-bar{background:var(--brand-light);padding:20px;border-top:1px solid #dbeafe;border-bottom:1px solid #dbeafe}
.trust-bar-inner{max-width:900px;margin:0 auto;display:flex;gap:32px;justify-content:center;flex-wrap:wrap;align-items:center}
.trust-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--brand-dark)}
.trust-icon{width:20px;height:20px;fill:var(--brand)}

/* ── SECTION BASICS ── */
.section{padding:80px 20px}
.section-inner{max-width:1080px;margin:0 auto}
.section-label{font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.section-title{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;color:var(--dark);line-height:1.15;letter-spacing:-.02em;margin-bottom:16px}
.section-sub{font-size:1rem;color:var(--muted);max-width:560px;margin-bottom:48px}
.section-dark{background:var(--dark);color:#fff}
.section-dark .section-title{color:#fff}
.section-dark .section-sub{color:rgba(255,255,255,.65)}
.section-blue{background:var(--brand);color:#fff}
.section-blue .section-title{color:#fff}

/* ── SERVICES ── */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.service-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:all .25s;cursor:pointer}
.service-card:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-3px)}
.service-icon{width:48px;height:48px;border-radius:12px;background:var(--brand-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.service-icon svg{width:24px;height:24px;fill:var(--brand)}
.service-card h3{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.service-card p{font-size:.9rem;color:var(--muted);line-height:1.5}
.service-card-link{display:inline-flex;align-items:center;gap:4px;margin-top:16px;font-size:13px;font-weight:600;color:var(--brand)}

/* ── PROCESS ── */
.process-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}
.process-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px}
.process-num{font-size:2.5rem;font-weight:900;color:var(--brand);opacity:.15;line-height:1;margin-bottom:12px}
.process-card h3{font-size:1rem;font-weight:700;color:var(--dark);margin-bottom:8px}
.process-card p{font-size:.875rem;color:var(--muted)}
.process-cta-card{background:var(--brand);border-radius:var(--radius);padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between}
.process-cta-card h3{font-size:1.2rem;font-weight:800;color:#fff;margin-bottom:16px;line-height:1.3}
.process-cta-btn{background:#fff;color:var(--brand);border-radius:999px;padding:12px 20px;font-size:14px;font-weight:700;display:inline-flex;align-items:center;gap:6px;width:fit-content;transition:opacity .2s}
.process-cta-btn:hover{opacity:.9}

/* ── GALLERY ── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gallery-item{aspect-ratio:4/3;overflow:hidden;border-radius:10px}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item.tall{aspect-ratio:3/4}
@media(max-width:600px){.gallery-grid{grid-template-columns:1fr 1fr}}

/* ── REVIEWS (G4 template1 marquee) ── */
.gr-section{padding:72px 0;background:#fff;overflow:hidden}
.gr-section-header{padding:0 20px;max-width:1080px;margin:0 auto 36px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.gr-summary{display:flex;align-items:center;gap:16px;background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:16px 20px;width:fit-content}
.gr-g-logo{width:24px;height:24px;flex-shrink:0}
.gr-score{font-size:1.5rem;font-weight:800;color:var(--dark)}
.gr-stars-row{display:flex;gap:2px}
.gr-stars-row svg{width:14px;height:14px;fill:#FBBC04}
.gr-count{font-size:13px;color:var(--muted)}
.gr-gbp-pill{background:var(--brand-light);color:var(--brand);font-size:12px;font-weight:700;padding:6px 14px;border-radius:999px;white-space:nowrap;transition:background .2s}
.gr-gbp-pill:hover{background:#dbeafe}
.gr-marquee{overflow:hidden;position:relative;margin-bottom:16px}
.gr-marquee::before,.gr-marquee::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none}
.gr-marquee::before{left:0;background:linear-gradient(to right,#fff,transparent)}
.gr-marquee::after{right:0;background:linear-gradient(to left,#fff,transparent)}
.gr-track{display:flex;gap:16px;width:max-content;animation:gr-scroll 40s linear infinite}
.gr-marquee-reverse .gr-track{animation-direction:reverse}
.gr-track:hover{animation-play-state:paused}
@keyframes gr-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gr-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:20px;width:300px;flex-shrink:0}
.gr-card-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.gr-avatar{width:38px;height:38px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:#fff;flex-shrink:0;position:relative}
.gr-g-mark{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.gr-author{font-size:13px;font-weight:700;color:var(--dark)}
.gr-date{font-size:11px;color:var(--muted)}
.gr-card-stars{display:flex;gap:2px;margin-bottom:8px}
.gr-card-stars svg{width:13px;height:13px;fill:#FBBC04}
.gr-card-text{font-size:13px;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}

/* ── ABOUT ── */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.about-img{border-radius:12px;overflow:hidden;aspect-ratio:3/4}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-img.offset{margin-top:24px}
.about-text .section-label{margin-bottom:8px}
.about-text h2{font-size:clamp(1.6rem,3vw,2.4rem);font-weight:800;color:var(--dark);line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}
.about-text p{font-size:.95rem;color:var(--muted);margin-bottom:16px}
@media(max-width:768px){
  .about-split{grid-template-columns:1fr}
  .about-images{order:-1}
}

/* ── SERVICE AREAS ── */
.areas-grid{display:flex;flex-wrap:wrap;gap:10px}
.area-pill{background:var(--brand-light);color:var(--brand);font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px}

/* ── CONTACT ── */
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:24px}
.contact-item{display:flex;gap:16px;align-items:flex-start}
.contact-icon{width:44px;height:44px;background:var(--brand-light);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon svg{width:22px;height:22px;fill:var(--brand)}
.contact-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:4px}
.contact-val{font-size:1rem;font-weight:700;color:var(--dark)}
.contact-form{background:var(--brand-light);border-radius:var(--radius);padding:32px}
.contact-form h3{font-size:1.2rem;font-weight:800;color:var(--dark);margin-bottom:20px}
.form-group{margin-bottom:16px}
.form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;transition:border .2s;color:var(--text)}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brand)}
.form-group textarea{resize:vertical;min-height:100px}
.form-hp{display:none}
.form-submit{width:100%;background:var(--brand);color:#fff;border:none;border-radius:8px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;transition:background .2s}
.form-submit:hover{background:var(--brand-dark)}
@media(max-width:768px){.contact-split{grid-template-columns:1fr}}

/* ── LOCATION CARD (G24 - no iframe) ── */
.location-card{background:var(--brand-light);border-radius:16px;padding:40px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.location-map-graphic{width:180px;height:180px;border-radius:50%;background:var(--brand);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;box-shadow:0 0 0 16px rgba(26,86,219,.12)}
.location-map-graphic svg{width:80px;height:80px;fill:#fff;opacity:.9}
.location-info h3{font-size:1.4rem;font-weight:800;color:var(--dark);margin-bottom:8px}
.location-info p{font-size:.95rem;color:var(--muted);margin-bottom:16px}
.nap-block{font-style:normal;display:flex;flex-direction:column;gap:4px;font-size:.9rem;color:var(--text)}

/* ── FAQ ── */
.faq-list{max-width:760px}
details{border-bottom:1px solid var(--border);padding:20px 0}
details:first-child{border-top:1px solid var(--border)}
summary{font-size:1rem;font-weight:700;color:var(--dark);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::after{content:'+';font-size:1.5rem;font-weight:400;color:var(--brand);flex-shrink:0;transition:transform .2s}
details[open] summary::after{content:'-'}
details p{font-size:.9rem;color:var(--muted);line-height:1.6;padding-top:12px}

/* ── CTA BAND ── */
.cta-band{background:var(--brand);padding:72px 20px;text-align:center}
.cta-band h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:#fff;margin-bottom:16px}
.cta-band p{font-size:1rem;color:rgba(255,255,255,.8);margin-bottom:32px}
.cta-band-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-white{background:#fff;color:var(--brand);border-radius:999px;padding:14px 28px;font-size:15px;font-weight:700}
.btn-white-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:999px;padding:13px 24px;font-size:15px;font-weight:600}

/* ── FOOTER ── */
.site-footer{background:var(--dark);color:rgba(255,255,255,.7);padding:56px 20px 32px}
.footer-inner{max-width:1080px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand{font-size:17px;font-weight:800;color:#fff;margin-bottom:12px}
.footer-brand span{color:var(--brand)}
.footer-tagline{font-size:.875rem;color:rgba(255,255,255,.5);margin-bottom:20px;max-width:280px}
.footer-social a{display:inline-flex;width:36px;height:36px;background:rgba(255,255,255,.08);border-radius:8px;align-items:center;justify-content:center;transition:background .2s}
.footer-social a:hover{background:var(--brand)}
.footer-social svg{width:18px;height:18px;fill:#fff}
.footer-col h4{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:rgba(255,255,255,.4);margin-bottom:16px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:8px}
.footer-col a{font-size:14px;color:rgba(255,255,255,.6);transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:gap;gap:12px;font-size:13px}
.footer-credit a{color:var(--brand)}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* ── MOBILE STICKY CTA (G8) ── */
.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:90;display:none;height:64px}
.sticky-cta-call{flex:1;background:var(--brand);color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center}
.sticky-cta-msg{flex:1;background:#0a0a0a;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;text-decoration:none;display:flex;align-items:center;justify-content:center}
@media(max-width:1023px){.sticky-cta{display:flex}}

/* ── INNER PAGE HERO ── */
.page-hero{background:linear-gradient(135deg,var(--brand-light) 0%,#fff 100%);padding:120px 20px 56px;text-align:center}
.page-hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:var(--dark);margin-bottom:12px}
.page-hero p{font-size:1rem;color:var(--muted);max-width:560px;margin:0 auto}
.breadcrumbs{display:flex;gap:6px;justify-content:center;font-size:13px;color:var(--muted);margin-bottom:16px}
.breadcrumbs a{color:var(--brand)}
.breadcrumbs span{opacity:.5}

/* ── SERVICE PAGE ── */
.service-detail{display:grid;grid-template-columns:2fr 1fr;gap:48px;align-items:start}
.service-detail-img{border-radius:16px;overflow:hidden;aspect-ratio:4/3}
.service-detail-img img{width:100%;height:100%;object-fit:cover}
.service-sidebar{background:var(--brand-light);border-radius:var(--radius);padding:28px;position:sticky;top:100px}
.service-sidebar h3{font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:16px}
.sidebar-phone{display:flex;align-items:center;gap:10px;background:var(--brand);color:#fff;border-radius:10px;padding:14px 16px;font-size:1rem;font-weight:700;margin-bottom:12px}
.sidebar-phone svg{width:18px;height:18px;fill:#fff}
@media(max-width:768px){.service-detail{grid-template-columns:1fr}}
