/* =========================================================================
   U&F Removals — refreshed site
   Design tokens sampled from the live brand (uandf.co.za): black/red/white,
   Barlow Condensed + Barlow. See build notes at the end of this file.
   ========================================================================= */
:root{
  --ink:#1E1E1E;
  --ink-2:#333333;
  --accent:#E32B24;
  --accent-dark:#B81E18;
  --accent-text:#B81E18;
  --accent-tint:#FDECEB;
  --accent-light:#F58C87;

  --slate:#6B6B6B;
  --line:#E4E4E4;
  --bg:#FFFFFF;
  --bg-alt:#F6F6F6;
  --white:#FFFFFF;
  --surface-dark:#1E1E1E;
  --header-bg:rgba(255,255,255,.94);
  --amber:#E8A93B;
  --whatsapp:#25D366;
}

/* Dark mode — follows system preference. --accent-dark stays a fixed deep
   red (it's a decorative gradient/hover color, not a contrast-driven one);
   --accent-text is the token that actually flips, since a *darker* red
   helps contrast on white but a *lighter* one is what's needed on black.
   --surface-dark stays a deliberately dark "accent band" in both themes
   (process/CTA-adjacent sections), just elevated a touch in dark mode so
   it still reads as distinct from the page background. */
@media (prefers-color-scheme:dark){
  :root{
    --ink:#F0EDE9;
    --ink-2:#D8D2CB;
    --accent-text:#FF6B62;
    --accent-tint:#3A1F1C;
    --slate:#ABA39B;
    --line:#3A3A3A;
    --bg:#121212;
    --bg-alt:#1B1B1B;
    --white:#1E1E1E;
    --surface-dark:#2A2A2A;
    --header-bg:rgba(18,18,18,.88);
  }
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:88px;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Barlow',sans-serif;
  font-size:clamp(1rem,0.976rem + 0.109vw,1.0625rem);
  line-height:1.65;-webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Barlow Condensed',sans-serif;margin:0;font-weight:700;line-height:1.1;text-transform:uppercase;text-wrap:balance;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.mono{font-family:'Barlow',sans-serif;letter-spacing:.07em;font-weight:600;text-transform:uppercase;}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--accent);color:#fff;padding:12px 20px;z-index:200;border-radius:0 0 8px 0;font-weight:700;}
.skip-link:focus{left:0;}

/* ---------------------------------------------------------------------
   Header — fixed logo size at every scroll position (no scaling bug).
   Only the background/shadow change on scroll.
   --------------------------------------------------------------------- */
header{position:sticky;top:0;z-index:80;background:var(--header-bg);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .2s ease;}
header.is-scrolled{box-shadow:0 8px 24px rgba(30,30,30,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 28px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;}
.brand img{height:44px;width:auto;flex-shrink:0;}
.brand-word{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:22px;line-height:1;text-transform:uppercase;white-space:nowrap;color:var(--ink);}
.brand-word b{color:var(--accent);}
.brand-tag{display:block;font-family:'Barlow',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.05em;color:var(--accent-text);text-transform:none;margin-top:2px;}
nav.primary-nav{display:flex;gap:28px;}
nav.primary-nav a{font-size:15.5px;font-weight:600;padding:6px 2px;border-bottom:2px solid transparent;}
nav.primary-nav a:hover,nav.primary-nav a.current{color:var(--accent);border-color:var(--accent);}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0;}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);width:42px;height:42px;border-radius:8px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.mobile-nav{display:none;flex-direction:column;background:var(--white);border-bottom:1px solid var(--line);padding:6px 28px 16px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{padding:14px 0;font-size:17px;font-weight:600;border-bottom:1px solid var(--line);}
.mobile-nav a:last-child{border-bottom:none;}

.btn{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;padding:13px 24px;border-radius:6px;border:1.5px solid transparent;cursor:pointer;transition:all .15s ease;font-family:'Barlow',sans-serif;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-dark);}
.btn-outline{border-color:var(--line);color:var(--ink);background:var(--white);}
.btn-outline:hover{border-color:var(--accent);color:var(--accent);}
.btn-whatsapp{background:var(--whatsapp);color:#fff;}
.btn-whatsapp:hover{background:#1DA851;}
.btn-block{width:100%;justify-content:center;}

/* ---------------------------------------------------------------------
   Hero
   --------------------------------------------------------------------- */
.hero{padding:64px 0 84px;background:var(--surface-dark);}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);padding:8px 16px;border-radius:30px;font-size:14px;font-weight:600;color:#D8D8D8;margin-bottom:22px;}
.pill .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);}
.hero h1{font-size:clamp(1.75rem,1.1rem + 3.4vw,3.25rem);color:#fff;}
.hero h1 .accent{color:var(--accent-light);}
.hero p.lede{font-size:clamp(1.0625rem,1.014rem + .217vw,1.1875rem);color:#B9B9B9;max-width:500px;margin:22px 0 32px;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:38px;}
.metrics{display:flex;gap:32px;flex-wrap:wrap;}
.metric b{display:block;font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.75rem,1.5rem + 1vw,2.25rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;color:#fff;}
.metric span{font-size:.9375rem;color:#B9B9B9;}
.metric span a{color:#fff;border-bottom:1px dotted #B9B9B9;}
.metric span a:hover{color:var(--accent-light);border-color:var(--accent-light);}

/* Move example card (relabelled — illustrative, not a live feed) */
.tracker{background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 50px rgba(30,30,30,.08);overflow:hidden;}
.tracker-head{background:var(--surface-dark);color:#fff;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.tracker-head .mono{font-size:.8125rem;color:var(--accent-light);letter-spacing:.1em;}
.tracker-head .tracker-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(1.1875rem,1.065rem + .543vw,1.4rem);margin-top:4px;text-transform:none;}
.tracker-tag{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(245,140,135,.22);color:#FFD9D7;padding:5px 10px;border-radius:20px;white-space:nowrap;}
.tracker-body{padding:22px 24px 24px;}
.track-line{position:relative;padding-left:26px;}
.track-item{position:relative;padding-bottom:22px;}
.track-item:last-child{padding-bottom:0;}
.track-item::before{content:"";position:absolute;left:-26px;top:2px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--white);box-shadow:0 0 0 1.5px var(--accent);}
.track-item.pending::before{background:var(--white);box-shadow:0 0 0 1.5px var(--line);}
.track-item:not(:last-child)::after{content:"";position:absolute;left:-20px;top:16px;bottom:-6px;width:2px;background:var(--line);}
.track-item b{display:block;font-size:16px;font-weight:700;}
.track-item span{font-size:.9375rem;color:var(--slate);}
.tracker-foot{padding:14px 24px;background:var(--bg-alt);border-top:1px solid var(--line);font-size:.875rem;color:var(--slate);}

/* ---------------------------------------------------------------------
   Sections
   --------------------------------------------------------------------- */
.section{padding:80px 0;}
.section-alt{background:var(--bg-alt);}
.section-head{max-width:620px;margin-bottom:44px;}
.section-head .eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:16px;font-weight:700;color:var(--accent-text);letter-spacing:.1em;text-transform:uppercase;}
.section-head h2{font-size:clamp(1.6875rem,.978rem + 3.152vw,3.25rem);margin-top:10px;}
.section-head p{color:var(--slate);font-size:clamp(1.0625rem,1.014rem + .217vw,1.09375rem);margin-top:14px;}

/* Services */
.service-group{margin-bottom:38px;}
.service-group:last-child{margin-bottom:0;}
.service-group-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.service-group-tag{font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--surface-dark);padding:7px 14px;border-radius:4px;}
.service-group-head::after{content:"";flex:1;height:1px;background:var(--line);}
.cards{display:grid;gap:20px;}
.cards-3{grid-template-columns:repeat(3,1fr);}
.cards-2{grid-template-columns:repeat(2,1fr);max-width:640px;}
.cards-5{grid-template-columns:repeat(5,1fr);}
@media (max-width:1180px) and (min-width:921px){
  .cards-5{grid-template-columns:repeat(3,1fr);}
}
.card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 22px;transition:transform .15s ease,box-shadow .15s ease;}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(30,30,30,.08);border-color:transparent;}
.card-featured{border-top:3px solid var(--accent);}
.card-icon{width:42px;height:42px;border-radius:10px;background:var(--accent-tint);color:var(--accent);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.card h3{font-size:clamp(1.2rem,1.1rem + .5vw,1.5rem);margin-bottom:9px;line-height:1.15;}
.card h3 a{color:inherit;}
.card h3 a:hover{color:var(--accent-text);}
.card p{font-size:16px;color:var(--slate);margin-bottom:16px;}
.card a{font-size:15px;font-weight:700;color:var(--accent-text);display:inline-flex;align-items:center;gap:5px;}
.card a .arrow{display:inline-block;transition:transform .15s ease;}
.card a:hover .arrow{transform:translateX(3px);}

/* Process */
.process{background:var(--surface-dark);color:#fff;}
.process .section-head p{color:#B9B9B9;}
.process .eyebrow{color:var(--accent-light);}
.progress-track{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.pstep{position:relative;text-align:left;}
.pdot{width:50px;height:50px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:21px;margin-bottom:16px;}
.pstep h3{font-size:clamp(1.2rem,1.1rem + .5vw,1.5rem);margin-bottom:9px;}
.pstep p{font-size:15.5px;color:#B9B9B9;}

/* Trust strip */
.trust{background:var(--bg-alt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px 0;}
.trust-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:22px;}
.trust-item{display:flex;flex-direction:column;gap:2px;}
.trust-item b{font-family:'Barlow Condensed',sans-serif;font-size:clamp(1.5rem,1.3rem + .8vw,2rem);font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;}
.trust-item span{font-size:.9375rem;color:var(--slate);}
.trust-item a{color:inherit;border-bottom:1px dotted var(--slate);}
.trust-item a:hover{color:var(--accent);border-color:var(--accent);}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.gtile{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--line);display:flex;align-items:flex-end;padding:14px;background:linear-gradient(135deg,#2b2b2b,#1a1a1a);isolation:isolate;}
.gtile::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.045) 0 12px,transparent 12px 24px);z-index:-1;}
.gtile svg{position:absolute;top:16px;left:16px;width:22px;height:22px;color:rgba(255,255,255,.55);}
.gtile span{color:#fff;font-size:14px;font-weight:600;line-height:1.3;}
.gtile span small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-light);margin-bottom:3px;}
.gtile-photo{background:none;cursor:pointer;}
.gtile-photo::before{display:none;}
.gtile-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,rgba(0,0,0,.15) 45%,rgba(0,0,0,0) 65%);z-index:-1;}
.gtile-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .3s ease;}
.gtile-photo:hover img{transform:scale(1.04);}
.gallery-note{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:14.5px;line-height:1.55;color:var(--slate);background:var(--bg-alt);border:1px dashed var(--line);border-radius:8px;padding:14px 16px;}
.gallery-note .gn-icon{flex-shrink:0;}
.gallery-note .gn-text{flex:1;min-width:0;}
.gallery-note code{background:var(--code-bg,#eee);padding:1px 5px;border-radius:4px;font-size:.92em;}

/* Testimonials / social proof (honest state — no invented quotes) */
/* Rotating review spotlight — real reviews (sourced via reputationhub.site/SateSys),
   presented in our own on-brand card since the vendor iframe can't be restyled
   (cross-origin) and only ever renders as a static vertical list. */
.reviews-layout{display:grid;grid-template-columns:0.8fr 1.5fr;gap:40px;align-items:stretch;}
.reviews-stat{background:var(--surface-dark);color:#fff;border-radius:16px;padding:36px 32px;display:flex;flex-direction:column;justify-content:center;gap:4px;}
.reviews-stat b{font-family:'Barlow Condensed',sans-serif;font-size:clamp(3rem,2.3rem + 2.5vw,4.25rem);line-height:1;color:#fff;display:flex;align-items:baseline;gap:6px;}
.reviews-stat b .rc-star{color:var(--amber);font-size:.55em;}
.reviews-stat-label{font-size:14px;color:#D8D8D8;font-weight:700;text-transform:uppercase;letter-spacing:.06em;}
.reviews-stat-sub{font-size:15px;color:#B5B5B5;margin-top:14px;line-height:1.6;}
.reviews-stat-link{margin-top:18px;color:#fff;font-weight:700;border-bottom:2px solid var(--accent);display:inline-flex;align-items:center;gap:6px;width:fit-content;}
.reviews-stat-link .arrow{display:inline-block;transition:transform .15s ease;}
.reviews-stat-link:hover .arrow{transform:translateX(3px);}
.review-carousel{display:flex;align-items:center;gap:14px;}
@media (max-width:820px){
  .reviews-layout{grid-template-columns:1fr;}
  .reviews-stat{padding:28px 26px;}
}
.rc-viewport{flex:1;min-width:0;}
.rc-card{
  background:var(--white);border:1px solid var(--line);border-radius:16px;
  padding:32px 34px 26px;min-height:210px;
  display:flex;flex-direction:column;justify-content:center;
  transition:opacity .2s ease,min-height .25s ease;
}
.rc-card.is-fading{opacity:0;}
.rc-quote-mark{font-family:'Barlow Condensed',sans-serif;font-size:52px;line-height:1;color:var(--accent-tint);font-weight:700;display:block;margin-bottom:-10px;}
.rc-stars{color:var(--amber);font-size:15px;letter-spacing:2px;margin-bottom:12px;}
.rc-text{font-size:18px;line-height:1.55;color:var(--ink);margin:0 0 20px;text-wrap:balance;}
.rc-meta{display:flex;align-items:center;gap:10px;}
.rc-avatar{width:34px;height:34px;border-radius:50%;background:var(--surface-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:14px;flex-shrink:0;}
.rc-meta-text b{display:block;font-size:14.5px;font-weight:700;}
.rc-meta-text span{font-size:13px;color:var(--slate);}
.rc-source{margin-left:auto;flex-shrink:0;color:var(--slate);}
.rc-dots{display:flex;justify-content:center;gap:2px;margin-top:6px;}
.rc-dot{width:32px;height:32px;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.rc-dot::before{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--line);transition:width .2s ease,border-radius .2s ease,background .2s ease;}
.rc-dot.is-active::before{background:var(--accent);width:22px;border-radius:5px;}
.rc-arrow{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--white);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,color .15s ease;}
.rc-arrow:hover{border-color:var(--accent);color:var(--accent);}
.review-source-line{text-align:center;color:var(--slate);font-size:14px;margin:22px 0 0;}
.review-source-line a{color:var(--accent-text);font-weight:700;}

/* Pricing */
.price-factors{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:30px;}
.pf{border-top:3px solid var(--accent);padding-top:16px;}
.pf-num{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--accent-text);letter-spacing:.1em;}
.pf h3{font-size:clamp(1.1875rem,1.065rem + .543vw,1.4rem);margin:8px 0;}
.pf p{font-size:15.5px;color:var(--slate);margin:0;}
.price-promise{background:var(--surface-dark);color:#E8E8E8;padding:22px 26px;border-radius:8px;font-size:17px;border-left:5px solid var(--accent);}
.price-promise strong{color:#fff;}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;}
.faq{background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.faq summary{list-style:none;cursor:pointer;padding:18px 46px 18px 20px;position:relative;font-weight:600;font-size:17px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:'Barlow Condensed',sans-serif;font-size:26px;font-weight:700;color:var(--accent);line-height:1;}
.faq[open] summary::after{content:"–";}
.faq[open] summary{color:var(--accent-text);}
.faq-body{padding:0 20px 18px;}
.faq-body p{margin:0;font-size:16px;color:var(--slate);}

/* CTA + quote form */
.cta-wrap{padding:0 0 80px;}
.cta{background:var(--surface-dark);color:#fff;padding:52px 40px;border-radius:24px;box-shadow:0 24px 60px rgba(0,0,0,.18);}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.cta h2{font-size:clamp(1.625rem,.989rem + 2.826vw,3rem);color:#fff;}
.cta-copy p{font-size:17.5px;color:rgba(255,255,255,.9);margin:16px 0 24px;max-width:420px;}
.cta-direct{display:flex;gap:12px;flex-wrap:wrap;}
.quote-form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:28px;box-shadow:0 20px 45px rgba(0,0,0,.28);backdrop-filter:blur(6px);}
.qf-row{margin-bottom:16px;}
.qf-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.quote-form label{display:block;font-size:13.5px;font-weight:700;color:rgba(255,255,255,.85);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em;}
.quote-form input,.quote-form select{width:100%;padding:12px 14px;border-radius:9px;border:1.5px solid transparent;background:#fff;color:#1E1E1E;font-family:'Barlow',sans-serif;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease;}
.quote-form input:focus,.quote-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(227,43,36,.35);}
.quote-form input.invalid,.quote-form select.invalid{border-color:#B81E18;box-shadow:0 0 0 3px rgba(184,30,24,.4);}
.qf-note{font-size:.8125rem;color:rgba(255,255,255,.55);margin:14px 0 0;text-align:center;line-height:1.5;}
.qf-error{background:rgba(227,43,36,.16);color:#FF7A72;border-radius:8px;padding:10px 12px;font-size:13.5px;font-weight:600;margin-bottom:12px;display:none;}
.qf-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.qf-error.show{display:block;}

/* Scroll reveal — armed only by JS (progressive enhancement: content is
   fully visible with no JS, or under prefers-reduced-motion). */
body.reveal-armed .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease;}
body.reveal-armed .reveal.is-visible{opacity:1;transform:none;}

footer{background:var(--bg);padding:56px 0 24px;}
.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:36px 28px;margin-bottom:36px;}
.footer-col h4{font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.09em;margin:0 0 16px;}
.footer-col a,.footer-col p{display:block;font-size:14.5px;line-height:1.85;color:var(--ink);margin:0;}
.footer-col a:hover{color:var(--accent-text);}
.fc-label{color:var(--slate);font-size:.8125rem;}
.fc-hours{color:var(--slate) !important;font-size:.875rem !important;margin-top:10px !important;}
.fc-map{margin-top:12px !important;font-weight:700 !important;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:.875rem;border:1px solid var(--line);padding:6px 12px;border-radius:20px;color:var(--slate);}
.footer-bottom{border-top:1px solid var(--line);padding-top:18px;font-size:.8125rem;color:var(--slate);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* Sticky mobile action bar */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--white);border-top:1px solid var(--line);box-shadow:0 -4px 18px rgba(0,0,0,.1);padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:9px;}
.mobile-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:14px 8px;border-radius:6px;font-weight:700;font-size:15.5px;}
.mb-call{background:var(--accent);color:#fff;}
.mb-whatsapp{background:var(--whatsapp);color:#fff;}
.mb-quote{background:var(--surface-dark);color:#fff;}

/* Simple lightbox for the gallery page */
.lightbox{position:fixed;inset:0;background:rgba(20,20,20,.92);z-index:150;display:none;align-items:center;justify-content:center;padding:32px;}
.lightbox.open{display:flex;}
.lightbox-inner{max-width:720px;width:100%;color:#fff;text-align:center;}
.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:34px;line-height:1;cursor:pointer;padding:6px 10px;}

@media (max-width:920px){
  nav.primary-nav{display:none;}
  .menu-toggle{display:flex;}
  .header-actions{display:none;}
  .hero-grid{grid-template-columns:1fr;}
  .cards-3,.cards-5{grid-template-columns:repeat(2,1fr);}
  .progress-track{grid-template-columns:1fr;}
  .price-factors{grid-template-columns:1fr 1fr;}
  .faq-grid{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .cta{padding:40px 26px;}
  .cta-inner{grid-template-columns:1fr;gap:30px;}
  .mobile-bar{display:flex;}
  body{padding-bottom:76px;}
}
@media (max-width:380px){
  .brand img{height:38px;}
}
@media (max-width:600px){
  .cards-3,.cards-2,.cards-5{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr;}
  .price-factors{grid-template-columns:1fr;}
  .review-carousel{gap:6px;}
  .rc-arrow{width:32px;height:32px;}
  .rc-slide{padding:24px 18px 20px;}
  .rc-text{font-size:16.5px;}
  .gallery-grid{grid-template-columns:1fr 1fr;}
  .cta{border-radius:16px;padding:32px 20px;}
  .qf-split{grid-template-columns:1fr;}
  .quote-form input,.quote-form select{font-size:16px;}
}

/* ---------------------------------------------------------------------
   Inner pages (services / areas / blog / about) — breadcrumb, compact
   page hero, related-links, simple article/CTA blocks.
   --------------------------------------------------------------------- */
.breadcrumb{font-size:13px;color:var(--slate);margin-bottom:18px;}
.breadcrumb a{color:var(--slate);}
.breadcrumb a:hover{color:var(--accent-text);}
.breadcrumb .sep{margin:0 6px;color:var(--ink-faint,var(--line));}
.page-hero{padding:44px 0 8px;}
.page-hero .eyebrow{display:block;font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--accent-text);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;}
.page-hero h1{font-size:clamp(1.75rem,1.35rem + 2vw,2.75rem);color:var(--ink);margin-bottom:14px;}
.page-hero .lede{font-size:17px;color:var(--slate);max-width:640px;margin-bottom:26px;}
.page-hero .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px;}

.article{max-width:760px;}
.article h2{font-size:clamp(1.3rem,1.1rem + 1vw,1.75rem);margin:0 0 12px;}
.article h2:not(:first-child){margin-top:8px;}
.article p{color:var(--slate);font-size:16px;line-height:1.7;}
.article ul{color:var(--slate);font-size:16px;line-height:1.7;padding-left:22px;margin:0 0 1em;}
.article ul li{margin-bottom:6px;}
.article .callout{background:var(--bg-alt);border-left:4px solid var(--accent);border-radius:8px;padding:16px 20px;font-size:15.5px;color:var(--ink);}

.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 40px;margin-bottom:28px;}
.story-item{border-top:3px solid var(--accent);padding-top:16px;}
.story-num{font-family:'Barlow Condensed',sans-serif;font-size:15px;font-weight:700;color:var(--accent-text);letter-spacing:.1em;}
.story-item h3{font-size:clamp(1.1875rem,1.065rem + .543vw,1.4rem);margin:8px 0;}
.story-item p{font-size:15.5px;line-height:1.7;color:var(--slate);margin:0;}
.story-callout{background:var(--bg-alt);border-left:4px solid var(--accent);border-radius:8px;padding:16px 20px;font-size:15.5px;color:var(--ink);max-width:760px;}
@media (max-width:700px){.story-grid{grid-template-columns:1fr;}}

.related-links{display:flex;flex-wrap:wrap;gap:10px;}
.related-links a{background:var(--white);border:1px solid var(--line);padding:9px 16px;border-radius:20px;font-size:14px;font-weight:600;color:var(--ink);}
.related-links a:hover{border-color:var(--accent);color:var(--accent-text);}

.mini-cta{background:var(--surface-dark);color:#fff;border-radius:16px;padding:32px 34px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.mini-cta h3{color:#fff;text-transform:none;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:clamp(1.25rem,1.1rem + 1vw,1.7rem);}
.mini-cta p{color:#D8D8D8;font-size:15px;margin-top:6px;}
.mini-cta .hero-actions{margin:0;flex-shrink:0;}

@media (max-width:600px){
  .mini-cta{flex-direction:column;align-items:flex-start;}
}

/*
BUILD NOTES — read before launch
---------------------------------
1. Gallery tiles (.gtile-photo) use real, vetted photos from
   D:\MEGA\UandF Business Website\Images — see assets/gallery/ for the
   optimized copies. Several files in that source folder are stock imagery
   (watermarked or generic) and were deliberately excluded; don't add more
   images from that folder without checking they're genuine job photos first.
2. The quote form has no server backend. On submit it assembles a WhatsApp
   message from the fields and opens wa.me — this works with zero backend,
   but if email capture is wanted instead, wire .quote-form's submit handler
   in main.js to a real endpoint (WordPress admin-ajax, Formspree, etc).
3. og:image (social share preview) is a generated brand graphic, not a job
   photo — see assets/og-image.png. Could be swapped for a real photo later.
4. Trust stats ("since <year>", "100% recommend, 5 reviews") are computed/
   sourced live in main.js from verified facts, not hardcoded, so they will
   not silently go stale.
*/
