/* ==========================================================================
   Legacy Lawn And Landscape LLC — Global Stylesheet
   ========================================================================== */

:root{
  /* Brand */
  --red:#a91d2e;
  --red-dark:#7f1521;
  --red-bright:#c0392b;
  --red-soft:rgba(192,57,43,.12);

  /* Neutrals */
  --black:#0d0d0d;
  --near-black:#161616;
  --panel:#1c1c1c;
  --gray-bg:#f4f4f2;
  --gray-alt:#eceae6;
  --line:#e3e1dd;
  --text:#1c1c1c;
  --muted:#5c5c5c;
  --white:#ffffff;

  /* Type */
  --head:'Oswald', Impact, sans-serif;
  --body:'Inter', -apple-system, Segoe UI, sans-serif;

  /* Layout */
  --maxw:1280px;
  --pad:24px;
  --shadow-sm:0 4px 14px rgba(0,0,0,.06);
  --shadow-md:0 10px 30px rgba(0,0,0,.10);
  --shadow-lg:0 22px 50px rgba(0,0,0,.18);
  --radius:6px;
  --ease:cubic-bezier(.4,0,.2,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:var(--body);
  color:var(--text);
  line-height:1.6;
  background:var(--white);
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,select,textarea{font-family:inherit;}

.container{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);}
.red{color:var(--red-bright);}
.center{text-align:center;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ===================== HEADER / TOP BAR ================================== */
.site-header{position:sticky;top:0;z-index:300;}

.top-bar{
  background:linear-gradient(90deg,#7f1521 0%,#a91d2e 45%,#7f1521 100%);
  color:#fff;font-size:13px;letter-spacing:.03em;
}
.top-bar .container{
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-wrap:wrap;padding:9px var(--pad);
}
.top-bar .tb-left,.top-bar .tb-mid{display:flex;align-items:center;gap:9px;}
.top-bar .sep{opacity:.45;padding:0 6px;}
.top-bar i{opacity:.9;}
.top-bar .tb-phone{display:flex;align-items:center;gap:9px;font-weight:600;font-size:15px;}
.top-bar .tb-phone:hover{opacity:.85;}

/* ===================== NAVBAR ============================================ */
.navbar{background:var(--black);}
.navbar .container{
  display:flex;align-items:stretch;justify-content:space-between;
  gap:26px;max-width:none;width:100%;padding:0 var(--pad);
}

/* Angled white logo plate (recreates the mockup's brand panel) */
.logo-wrap{
  position:relative;display:flex;align-items:stretch;
  margin-left:calc(var(--pad) * -1);
  flex:0 0 auto;
}
.logo-wrap::before{           /* red bevel revealed along the diagonal */
  content:"";position:absolute;top:0;bottom:0;left:0;right:-13px;
  background:linear-gradient(180deg,var(--red-bright),var(--red-dark));
  clip-path:polygon(0 0, calc(100% - 38px) 0, 100% 100%, 0 100%);
}
.logo-plate{
  position:relative;z-index:2;
  display:flex;align-items:center;
  background:var(--white);
  padding:12px 52px 12px 26px;
  clip-path:polygon(0 0, calc(100% - 38px) 0, 100% 100%, 0 100%);
}
.logo-plate img{
  height:70px;width:auto;
  transition:height .3s var(--ease);
}
.site-header.scrolled .logo-plate img{height:54px;}

/* Desktop nav */
.main-nav{
  display:flex;align-items:center;gap:32px;
  font-family:var(--head);font-size:14px;font-weight:500;letter-spacing:.06em;
  margin-left:auto;
}
.main-nav > a,.main-nav .dropdown > a{
  color:#e9e9e9;padding:28px 0;position:relative;
  display:flex;align-items:center;gap:7px;transition:color .2s;
}
.main-nav a:hover{color:#fff;}
.main-nav a.active{color:var(--red-bright);}
.main-nav a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:22px;height:2px;background:var(--red-bright);
}
.main-nav .dropdown{position:relative;}
.main-nav .dropdown-menu{
  position:absolute;top:100%;left:-14px;min-width:250px;
  background:#111;padding:8px 0;box-shadow:var(--shadow-lg);
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:all .22s var(--ease);
  border-top:2px solid var(--red-bright);
}
.main-nav .dropdown:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.main-nav .dropdown-menu a{
  display:block;padding:11px 20px;color:#cfcfcf;font-size:13px;letter-spacing:.03em;
}
.main-nav .dropdown-menu a:hover{color:#fff;background:#1d1d1d;padding-left:24px;}

.nav-cta{
  align-self:center;flex:0 0 auto;
  background:var(--red);color:#fff;font-family:var(--head);font-weight:600;
  font-size:14px;letter-spacing:.06em;padding:14px 30px;border-radius:var(--radius);
  transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap;
}
.nav-cta:hover{background:var(--red-bright);transform:translateY(-2px);box-shadow:0 8px 20px rgba(192,57,43,.35);}

.mobile-toggle{display:none;color:#fff;font-size:22px;padding:12px;}

/* Mobile drawer */
.mobile-nav{display:none;flex-direction:column;background:#111;padding:6px var(--pad) 20px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{
  color:#eee;padding:13px 2px;border-bottom:1px solid #262626;
  font-family:var(--head);letter-spacing:.05em;font-size:14.5px;
}
.mobile-nav a.sub{padding-left:18px;font-size:13px;color:#b9b9b9;font-family:var(--body);}
.mobile-nav .nav-cta{margin-top:16px;text-align:center;display:block;border-bottom:none;}

/* ===================== BUTTONS =========================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--head);font-weight:600;font-size:14.5px;letter-spacing:.05em;
  padding:16px 30px;border-radius:var(--radius);transition:all .22s var(--ease);
}
.btn-red{background:var(--red);color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.18);}
.btn-red:hover{background:var(--red-bright);transform:translateY(-2px);}
.btn-outline{border:2px solid rgba(255,255,255,.85);color:#fff;}
.btn-outline:hover{background:#fff;color:var(--black);transform:translateY(-2px);}
.btn-dark{background:var(--black);color:#fff;}
.btn-dark:hover{background:var(--red);transform:translateY(-2px);}
.btn-lg{padding:18px 38px;font-size:15.5px;}

/* ===================== HERO (HOME) ======================================= */
.hero{
  position:relative;color:#fff;padding:92px 0 74px;
  background:
    linear-gradient(100deg,rgba(8,8,8,.90) 0%,rgba(8,8,8,.62) 42%,rgba(8,8,8,.18) 68%,rgba(8,8,8,0) 80%),
    url('https://images.unsplash.com/photo-1707228700996-5862513fe7de?auto=format&fit=crop&w=1900&q=80') center/cover no-repeat;
}
.hero .container{display:flex;align-items:flex-start;justify-content:space-between;gap:44px;}
.hero-content{flex:1 1 560px;max-width:620px;}

.eyebrow{
  display:flex;align-items:center;gap:14px;
  font-family:var(--head);font-size:13px;letter-spacing:.2em;font-weight:500;
  color:#e8c8cc;margin-bottom:18px;text-transform:uppercase;
}
.eyebrow::before,.eyebrow::after{content:"";flex:0 0 28px;height:2px;background:var(--red-bright);}
.eyebrow.left-only::after{display:none;}

h1{
  font-family:var(--head);font-weight:700;text-transform:uppercase;
  font-size:clamp(34px,5vw,58px);line-height:1.04;letter-spacing:.01em;margin-bottom:18px;
}
.hero-lead{font-family:var(--head);font-weight:500;font-size:19px;margin-bottom:14px;}
.hero-desc{color:#dcdcdc;font-size:15.5px;max-width:520px;margin-bottom:30px;}
.hero-buttons{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:42px;}

.trust-badges{display:flex;gap:34px;flex-wrap:wrap;}
.trust-badge{display:flex;align-items:center;gap:12px;max-width:210px;}
.trust-badge .circle{
  flex:0 0 44px;height:44px;width:44px;border-radius:50%;
  border:2px solid var(--red);display:flex;align-items:center;justify-content:center;
  color:var(--red-bright);font-size:17px;background:rgba(0,0,0,.25);
}
.trust-badge span{
  font-family:var(--head);font-size:12.5px;font-weight:500;letter-spacing:.04em;
  text-transform:uppercase;line-height:1.35;
}

/* Quote card */
.quote-card{
  flex:0 0 382px;max-width:382px;
  background:rgba(10,10,10,.93);border:1px solid #2b2b2b;
  padding:30px;box-shadow:var(--shadow-lg);border-radius:4px;
}
.quote-card h3{
  font-family:var(--head);font-size:22px;font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;margin-bottom:4px;color:#fff;
}
.quote-card .sub{color:#c4c4c4;font-size:14px;margin-bottom:20px;}
.field{
  display:flex;align-items:center;gap:10px;background:#fff;color:#333;
  padding:13px 15px;margin-bottom:11px;border-radius:4px;font-size:14px;
}
.field i{color:#8a8a8a;width:16px;text-align:center;}
.field input,.field select,.field textarea{
  border:none;outline:none;width:100%;font-size:14px;background:transparent;color:#222;
}
.field.textarea{align-items:flex-start;}
.field textarea{resize:vertical;min-height:72px;}
.field select{appearance:none;-webkit-appearance:none;}
.submit-btn{
  width:100%;background:var(--red);color:#fff;padding:16px;
  font-family:var(--head);font-weight:600;font-size:14.5px;letter-spacing:.05em;
  margin-top:6px;border-radius:var(--radius);transition:background .2s;
}
.submit-btn:hover{background:var(--red-bright);}
.hp-field{position:absolute;left:-9999px;}
.form-note{font-size:12px;color:#9a9a9a;margin-top:10px;text-align:center;}
.form-msg{
  display:none;margin-top:12px;padding:11px 13px;border-radius:4px;
  font-size:13.5px;background:rgba(46,160,67,.15);color:#8fe3a0;border:1px solid rgba(46,160,67,.4);
}
.form-msg.show{display:block;}

/* ===================== PAGE HERO (SUBPAGES) ============================== */
.page-hero{
  position:relative;color:#fff;text-align:center;
  padding:96px 0 82px;background-position:center;background-size:cover;
}
.page-hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,8,8,.86),rgba(8,8,8,.66));
}
.page-hero .container{position:relative;z-index:2;}
.page-hero .eyebrow{justify-content:center;}
.page-hero h1{font-size:clamp(30px,4.4vw,50px);margin-bottom:14px;}
.page-hero p{color:#dcdcdc;max-width:640px;margin:0 auto;font-size:15.5px;}
.breadcrumb{
  margin-top:20px;font-family:var(--head);font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#bdbdbd;
}
.breadcrumb a:hover{color:var(--red-bright);}
.breadcrumb span{color:var(--red-bright);}

.ph-about{background-image:url('https://images.unsplash.com/photo-1558904541-efa843a96f01?auto=format&fit=crop&w=1900&q=80');}
.ph-services{background-image:url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1900&q=80');}
.ph-gallery{background-image:url('https://images.unsplash.com/photo-1595880500386-4b33ab0a4c4a?auto=format&fit=crop&w=1900&q=80');}
.ph-reviews{background-image:url('https://images.unsplash.com/photo-1591857177580-dc82b9ac4e1e?auto=format&fit=crop&w=1900&q=80');}
.ph-contact{background-image:url('https://images.unsplash.com/photo-1416879595882-3373a0480b5b?auto=format&fit=crop&w=1900&q=80');}

/* ===================== SECTION SHELL ===================================== */
.section{padding:84px 0;}
.section.tight{padding:64px 0;}
.section.gray{background:var(--gray-bg);}
.section.dark{background:var(--near-black);color:#e6e6e6;}

.section-heading{text-align:center;max-width:660px;margin:0 auto 48px;}
.section-heading .eyebrow-line{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:8px;}
.section-heading .eyebrow-line::before,
.section-heading .eyebrow-line::after{content:"";width:44px;height:2px;background:var(--red);}
.section-heading h2{
  font-family:var(--head);font-size:clamp(27px,3.8vw,38px);font-weight:700;
  text-transform:uppercase;letter-spacing:.02em;color:#161616;line-height:1.15;
}
.section.dark .section-heading h2{color:#fff;}
.section-heading p{color:var(--muted);font-size:15px;margin-top:10px;}
.section.dark .section-heading p{color:#b5b5b5;}

/* ===================== SERVICES =========================================== */
.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:24px;}
.service-card{
  background:#fff;box-shadow:var(--shadow-sm);text-align:center;padding-bottom:26px;
  border-radius:4px;overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease);
}
.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);}
.service-card .thumb{height:132px;overflow:hidden;}
.service-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.service-card:hover .thumb img{transform:scale(1.07);}
.service-card .icon-badge{
  width:54px;height:54px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:20px;
  margin:-27px auto 14px;position:relative;z-index:2;border:4px solid #fff;
}
.service-card h3{
  font-family:var(--head);font-size:15px;font-weight:600;letter-spacing:.03em;
  text-transform:uppercase;margin:0 14px 8px;line-height:1.25;
}
.service-card p{font-size:13px;color:var(--muted);margin:0 16px;}

/* Detailed service rows (services.html) */
.service-row{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  padding:52px 0;border-bottom:1px solid var(--line);
}
.service-row:last-child{border-bottom:none;}
.service-row.flip .sr-media{order:2;}
.sr-media img{width:100%;height:100%;min-height:330px;object-fit:cover;border-radius:4px;box-shadow:var(--shadow-md);}
.sr-copy .tag{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--head);
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--red-bright);margin-bottom:12px;
}
.sr-copy h3{
  font-family:var(--head);font-size:clamp(23px,3vw,31px);font-weight:700;
  text-transform:uppercase;margin-bottom:14px;line-height:1.15;
}
.sr-copy p{color:var(--muted);font-size:15px;margin-bottom:18px;}
.check-list li{display:flex;gap:11px;align-items:flex-start;margin-bottom:10px;font-size:14.5px;}
.check-list i{color:var(--red);margin-top:4px;font-size:13px;}

/* ===================== FEATURES BAR ====================================== */
.features-bar{background:var(--black);color:#fff;}
.features-bar .container{display:flex;padding:0 var(--pad);}
.feature-item{
  flex:1;display:flex;align-items:center;gap:14px;padding:26px 22px;border-right:1px solid #2a2a2a;
}
.feature-item:last-child{border-right:none;}
.feature-item i{font-size:24px;color:var(--red-bright);}
.feature-item span{
  font-family:var(--head);font-size:13px;font-weight:500;letter-spacing:.03em;
  line-height:1.35;text-transform:uppercase;
}

/* ===================== ABOUT / SPLIT ===================================== */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
.split-copy h2{
  font-family:var(--head);font-size:clamp(27px,3.8vw,38px);font-weight:700;
  text-transform:uppercase;line-height:1.14;margin-bottom:16px;
}
.split-copy p{color:var(--muted);font-size:15.2px;margin-bottom:16px;}
.split-media{position:relative;}
.split-media img{width:100%;border-radius:4px;box-shadow:var(--shadow-md);}
.split-media .badge-float{
  position:absolute;bottom:-22px;left:-22px;background:var(--red);color:#fff;
  padding:20px 26px;border-radius:4px;box-shadow:var(--shadow-lg);text-align:center;
}
.split-media .badge-float strong{
  display:block;font-family:var(--head);font-size:34px;line-height:1;
}
.split-media .badge-float span{
  font-family:var(--head);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
}

.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.value-card{
  background:#fff;padding:32px 26px;border-radius:4px;box-shadow:var(--shadow-sm);
  border-top:3px solid var(--red);transition:transform .25s var(--ease);
}
.value-card:hover{transform:translateY(-5px);}
.value-card i{font-size:26px;color:var(--red);margin-bottom:14px;display:block;}
.value-card h4{
  font-family:var(--head);text-transform:uppercase;font-size:16px;letter-spacing:.03em;margin-bottom:9px;
}
.value-card p{font-size:14px;color:var(--muted);}

.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
.stat strong{
  display:block;font-family:var(--head);font-size:clamp(30px,4vw,44px);
  color:var(--red-bright);line-height:1;
}
.stat span{
  font-family:var(--head);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:#c9c9c9;
}

/* Process steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.step{background:#fff;padding:30px 24px;border-radius:4px;box-shadow:var(--shadow-sm);position:relative;}
.step .num{
  font-family:var(--head);font-size:40px;line-height:1;color:var(--red-soft);
  position:absolute;top:14px;right:18px;font-weight:700;
}
.step i{font-size:24px;color:var(--red);margin-bottom:12px;display:block;}
.step h4{font-family:var(--head);text-transform:uppercase;font-size:15.5px;letter-spacing:.03em;margin-bottom:8px;}
.step p{font-size:13.8px;color:var(--muted);}

/* ===================== GALLERY =========================================== */
.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:34px;}
.filters button{
  font-family:var(--head);font-size:13px;letter-spacing:.07em;text-transform:uppercase;
  padding:11px 22px;border:1px solid var(--line);border-radius:40px;background:#fff;
  color:#333;transition:all .2s;
}
.filters button:hover{border-color:var(--red);color:var(--red);}
.filters button.active{background:var(--red);border-color:var(--red);color:#fff;}

.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.gal-item{
  position:relative;overflow:hidden;border-radius:4px;cursor:pointer;
  aspect-ratio:4/3;box-shadow:var(--shadow-sm);
}
.gal-item.tall{aspect-ratio:3/4;}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease);}
.gal-item:hover img{transform:scale(1.08);}
.gal-item .overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:20px;color:#fff;opacity:0;transition:opacity .3s var(--ease);
  background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.82));
}
.gal-item:hover .overlay{opacity:1;}
.gal-item .overlay h4{
  font-family:var(--head);text-transform:uppercase;font-size:15.5px;letter-spacing:.04em;
}
.gal-item .overlay span{font-size:12.5px;color:#d8d8d8;}
.gal-item.hide{display:none;}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(6,6,6,.94);z-index:500;
  display:none;align-items:center;justify-content:center;padding:32px;
}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:82vh;border-radius:4px;box-shadow:var(--shadow-lg);}
.lb-close,.lb-prev,.lb-next{
  position:absolute;color:#fff;font-size:26px;width:52px;height:52px;border-radius:50%;
  background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:var(--red);}
.lb-close{top:26px;right:26px;}
.lb-prev{left:26px;top:50%;transform:translateY(-50%);}
.lb-next{right:26px;top:50%;transform:translateY(-50%);}
.lb-caption{
  position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#ddd;
  font-family:var(--head);letter-spacing:.08em;text-transform:uppercase;font-size:13px;
}

/* ===================== TESTIMONIALS ====================================== */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.review-card{
  background:#fff;padding:30px 28px;border-radius:4px;box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;gap:14px;border-left:3px solid var(--red);
}
.review-card .stars{color:#e8a020;font-size:13.5px;letter-spacing:2px;}
.review-card p{font-size:14.6px;color:#3a3a3a;font-style:italic;flex:1;}
.review-card .who{display:flex;align-items:center;gap:12px;}
.review-card .avatar{
  width:44px;height:44px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--head);font-size:17px;
}
.review-card .who strong{display:block;font-family:var(--head);letter-spacing:.04em;font-size:14.5px;text-transform:uppercase;}
.review-card .who span{font-size:12.5px;color:var(--muted);}

.review-cta{
  background:var(--gray-bg);border:1px solid var(--line);border-radius:4px;
  padding:40px 32px;text-align:center;
}
.review-cta h3{font-family:var(--head);text-transform:uppercase;font-size:22px;margin-bottom:8px;}
.review-cta p{color:var(--muted);font-size:14.5px;margin-bottom:20px;}

/* ===================== CONTACT =========================================== */
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start;}
.info-card{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:26px;
  display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;box-shadow:var(--shadow-sm);
}
.info-card .ic{
  flex:0 0 46px;height:46px;border-radius:50%;background:var(--red);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:17px;
}
.info-card h4{font-family:var(--head);text-transform:uppercase;font-size:14.5px;letter-spacing:.05em;margin-bottom:5px;}
.info-card p,.info-card a{font-size:14.3px;color:var(--muted);}
.info-card a:hover{color:var(--red);}

.contact-form{
  background:var(--near-black);padding:34px;border-radius:4px;box-shadow:var(--shadow-md);
}
.contact-form h3{
  font-family:var(--head);color:#fff;text-transform:uppercase;font-size:23px;margin-bottom:6px;
}
.contact-form .sub{color:#bbb;font-size:14px;margin-bottom:22px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.map-embed{border:0;width:100%;height:400px;display:block;filter:grayscale(.25);}

/* ===================== CTA STRIP ========================================= */
.cta-strip{
  position:relative;background:#fdfdfc;padding:58px var(--pad) 50px;text-align:center;
  border-top:1px solid var(--line);overflow:hidden;
}
.cta-strip h2{
  font-family:var(--head);font-style:italic;font-weight:600;
  font-size:clamp(22px,3vw,31px);color:#161616;margin-bottom:8px;
}
.cta-strip p{color:var(--muted);font-size:14.6px;margin-bottom:22px;}
.cta-strip::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:6px;
  background:linear-gradient(90deg,var(--red-dark),var(--red-bright),var(--red-dark));
}

.cta-band{
  background:linear-gradient(100deg,#7f1521,#a91d2e 55%,#7f1521);color:#fff;
  padding:54px var(--pad);text-align:center;
}
.cta-band h2{font-family:var(--head);text-transform:uppercase;font-size:clamp(24px,3.4vw,34px);margin-bottom:10px;}
.cta-band p{opacity:.9;margin-bottom:24px;font-size:15px;}
.cta-band .btn-outline:hover{color:var(--red);}

/* ===================== FOOTER ============================================ */
footer{background:var(--near-black);color:#bbb;padding:54px 0 0;}
.footer-grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:34px;
  padding-bottom:40px;border-bottom:1px solid #2a2a2a;
}
.footer-col h4{
  font-family:var(--head);color:#fff;font-size:14px;letter-spacing:.07em;
  text-transform:uppercase;margin-bottom:16px;
}
.footer-col p,.footer-col a{font-size:13.6px;color:#a5a5a5;line-height:2;}
.footer-col a:hover{color:var(--red-bright);}
.footer-brand .flogo{background:#fff;display:inline-block;padding:10px 16px;border-radius:4px;margin-bottom:16px;}
.footer-brand .flogo img{height:56px;width:auto;}
.footer-brand p{line-height:1.75;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{
  width:36px;height:36px;border:1px solid #3a3a3a;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;
}
.footer-social a:hover{background:var(--red);border-color:var(--red);color:#fff;}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
  padding:22px 0;font-size:12.5px;color:#777;
}

/* ===================== REVEAL ANIMATION ================================== */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}

/* ===================== RESPONSIVE ======================================== */
@media (max-width:1180px){
  .services-grid{grid-template-columns:repeat(3,1fr);}
  .main-nav{gap:24px;font-size:13.5px;}
  .logo-plate{padding:12px 46px 12px 22px;}
  .logo-plate img{height:62px;}
}
@media (max-width:992px){
  .main-nav,.navbar .nav-cta{display:none;}
  .mobile-toggle{display:block;}
  .navbar .container{align-items:center;}
  .logo-wrap::before{right:-10px;}
  .logo-plate{padding:10px 40px 10px 20px;}
  .logo-plate img{height:48px;}
  .site-header.scrolled .logo-plate img{height:44px;}

  .hero .container{flex-direction:column;}
  .quote-card{flex:1 1 auto;max-width:520px;width:100%;}
  .split,.contact-layout{grid-template-columns:1fr;gap:38px;}
  .split-media .badge-float{left:0;bottom:-18px;}
  .service-row{grid-template-columns:1fr;gap:26px;padding:40px 0;}
  .service-row.flip .sr-media{order:0;}
  .value-grid,.steps,.review-grid,.gallery-grid{grid-template-columns:repeat(2,1fr);}
  .stats-bar{grid-template-columns:repeat(2,1fr);gap:32px;}
  .features-bar .container{flex-wrap:wrap;}
  .feature-item{flex:1 1 50%;border-right:none;border-bottom:1px solid #2a2a2a;}
}
@media (max-width:760px){
  .top-bar .tb-mid{display:none;}
  .section{padding:62px 0;}
  .hero{padding:60px 0 50px;}
  .trust-badges{gap:20px;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  :root{--pad:18px;}
  .services-grid,.value-grid,.steps,.review-grid,.gallery-grid{grid-template-columns:1fr;}
  .gal-item,.gal-item.tall{aspect-ratio:4/3;}
  .footer-grid{grid-template-columns:1fr;}
  .logo-wrap{margin-left:calc(var(--pad) * -1);}
  .logo-plate{padding:9px 32px 9px 16px;clip-path:polygon(0 0,calc(100% - 26px) 0,100% 100%,0 100%);}
  .logo-wrap::before{clip-path:polygon(0 0,calc(100% - 26px) 0,100% 100%,0 100%);right:-8px;}
  .logo-plate img{height:42px;}
  .btn{width:100%;}
  .hero-buttons{flex-direction:column;align-items:stretch;}
  .lb-prev,.lb-next{width:44px;height:44px;font-size:20px;}
}