/*
Theme Name: Winter Landscapes
Theme URI: https://winterconstruction.uk
Author: Welch Marketing
Author URI: https://welchmarketing.co.uk
Description: Custom WordPress theme for Winter Construction & Landscapes — Driveways & Landscaping in Maidstone, Kent.
Version: 2.5.3
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: winter-landscapes
*/

/* ===== VARIABLES ===== */
:root {
  --wl-blue: #1A3FC7;
  --wl-blue-hover: #142F96;
  --wl-blue-light: #4D6FFF;
  --wl-blue-glow: rgba(26,63,199,0.10);
  --wl-charcoal: #3D4451;
  --wl-charcoal-dark: #2C313A;
  --wl-charcoal-light: #5A6270;
  --wl-white: #FFFFFF;
  --wl-off-white: #F4F5F8;
  --wl-grey-border: #E2E5EC;
  --wl-grey-mid: #9BA3B3;
  --wl-dark-bg: #1B1F27;
  --wl-dark-bg-alt: #232830;
  --wl-shadow-sm: 0 2px 8px rgba(0,0,0,0.06);
  --wl-shadow: 0 4px 20px rgba(0,0,0,0.08);
  --wl-shadow-lg: 0 12px 40px rgba(0,0,0,0.12);
  --wl-shadow-blue: 0 8px 28px rgba(26,63,199,0.25);
  --wl-radius: 8px;
  --wl-radius-lg: 14px;
  --wl-font-display: 'Outfit', sans-serif;
  --wl-font-body: 'Libre Franklin', sans-serif;
  --wl-container: 1200px;
  --wl-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --wl-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --wl-transition: 0.3s var(--wl-ease);
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--wl-font-body);font-size:16px;line-height:1.75;color:var(--wl-charcoal);background:var(--wl-white);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit;transition:color var(--wl-transition)}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ===== TYPOGRAPHY ===== */
h1,h2,h3,h4,h5,h6{font-family:var(--wl-font-display);font-weight:700;line-height:1.15;color:var(--wl-charcoal-dark);letter-spacing:-0.025em}
h1{font-size:clamp(2.4rem,5.5vw,3.6rem)}
h2{font-size:clamp(1.8rem,4vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.5vw,1.5rem)}
h4{font-size:1.1rem}
p{margin-bottom:1rem}
p:last-child{margin-bottom:0}

/* ===== LAYOUT ===== */
.wl-container{max-width:var(--wl-container);margin:0 auto;padding:0 24px}
.wl-section{padding:88px 0}
.wl-section--alt{background:var(--wl-off-white)}
.wl-section--dark{background:var(--wl-dark-bg);color:var(--wl-white)}
.wl-section--dark h2,.wl-section--dark h3,.wl-section--dark h4{color:var(--wl-white)}
.wl-section--dark p{color:rgba(255,255,255,0.7)}
.wl-section--blue{background:var(--wl-blue);color:var(--wl-white);position:relative;overflow:hidden}

/* ===== SECTION HEADERS ===== */
.wl-sh{text-align:center;margin-bottom:52px}
.wl-sh__tag{display:inline-block;font-family:var(--wl-font-display);font-size:0.75rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--wl-blue);margin-bottom:14px;padding:6px 16px;background:var(--wl-blue-glow);border-radius:100px}
.wl-section--dark .wl-sh__tag{background:rgba(255,255,255,0.07);color:rgba(255,255,255,0.5)}
.wl-section--blue .wl-sh__tag{background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.75)}
.wl-sh h2{margin-bottom:14px}
.wl-sh p{max-width:580px;margin:0 auto;color:var(--wl-charcoal-light);font-size:1.02rem}
.wl-section--dark .wl-sh p,.wl-section--blue .wl-sh p{color:rgba(255,255,255,0.6)}

/* ===== BUTTONS ===== */
.wl-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:var(--wl-font-display);font-size:0.9rem;font-weight:600;border-radius:var(--wl-radius);transition:all var(--wl-transition);border:2px solid transparent}
.wl-btn--primary{background:var(--wl-blue);color:var(--wl-white);border-color:var(--wl-blue)}
.wl-btn--primary:hover{background:var(--wl-blue-hover);border-color:var(--wl-blue-hover);transform:translateY(-2px);box-shadow:var(--wl-shadow-blue)}
.wl-btn--outline{background:transparent;color:var(--wl-white);border-color:rgba(255,255,255,0.35)}
.wl-btn--outline:hover{background:var(--wl-white);color:var(--wl-charcoal-dark);border-color:var(--wl-white)}
.wl-btn--dark{background:var(--wl-charcoal-dark);color:var(--wl-white);border-color:var(--wl-charcoal-dark)}
.wl-btn--dark:hover{background:var(--wl-charcoal);transform:translateY(-2px)}
.wl-btn--white{background:var(--wl-white);color:var(--wl-blue);border-color:var(--wl-white)}
.wl-btn--white:hover{background:var(--wl-off-white);transform:translateY(-2px);box-shadow:var(--wl-shadow)}
.wl-btn svg{width:18px;height:18px;transition:transform var(--wl-transition)}
.wl-btn:hover svg{transform:translateX(3px)}

/* ===== TOPBAR ===== */
.wl-topbar{background:var(--wl-charcoal-dark);color:rgba(255,255,255,0.75);font-size:0.8rem;padding:7px 0}
.wl-topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.wl-topbar a{color:var(--wl-white);font-weight:600}
.wl-topbar a:hover{color:var(--wl-blue-light)}

/* ===== HEADER ===== */
.wl-header{background:var(--wl-white);position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--wl-grey-border);transition:all var(--wl-transition)}
.wl-header--scrolled{box-shadow:0 2px 20px rgba(0,0,0,0.08);border-bottom-color:transparent}
.wl-header__inner{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;max-width:var(--wl-container);margin:0 auto}
.wl-logo{display:flex;align-items:center;flex-shrink:0}
.wl-logo img,.wl-logo .custom-logo,.wl-logo .custom-logo-link img,.custom-logo-link img{height:38px!important;width:auto!important;max-height:38px!important;object-fit:contain}
.wl-logo .custom-logo-link,.custom-logo-link{display:flex;align-items:center}
.wl-nav{display:flex;align-items:center;gap:4px}
.wl-nav a{padding:9px 16px;font-family:var(--wl-font-display);font-size:0.88rem;font-weight:600;color:var(--wl-charcoal);border-radius:var(--wl-radius);transition:all var(--wl-transition)}
.wl-nav a:hover,.wl-nav a.current-menu-item,.wl-nav a.current{color:var(--wl-blue);background:var(--wl-blue-glow)}
/* HEADER CTA BUTTON — white text on blue, always readable */
.wl-nav .wl-btn{margin-left:12px;padding:10px 24px;background:var(--wl-blue)!important;color:#FFFFFF!important;border-color:var(--wl-blue)!important;font-size:0.85rem}
.wl-nav .wl-btn:hover{background:var(--wl-blue-hover)!important;border-color:var(--wl-blue-hover)!important;transform:translateY(-1px);box-shadow:var(--wl-shadow-blue)}
.wl-nav__social{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--wl-charcoal)!important;background:var(--wl-off-white);transition:all var(--wl-transition);margin-left:4px}
.wl-nav__social:hover{color:var(--wl-blue)!important;background:var(--wl-blue-glow);transform:scale(1.08)}
.wl-nav__social svg{width:18px;height:18px}
.wl-menu-toggle{display:none;flex-direction:column;gap:5px;padding:8px}
.wl-menu-toggle span{display:block;width:22px;height:2px;background:var(--wl-charcoal-dark);border-radius:2px;transition:all var(--wl-transition)}

/* Mobile nav overlay */
.wl-mobile-overlay{display:none;position:fixed;inset:0;background:var(--wl-white);z-index:9999;flex-direction:column;padding:80px 28px 28px;overflow-y:auto}
.wl-mobile-overlay.active{display:flex}
.wl-mobile-overlay a{font-family:var(--wl-font-display);font-size:1.3rem;font-weight:700;padding:16px 0;border-bottom:1px solid var(--wl-grey-border);color:var(--wl-charcoal-dark)}
.wl-mobile-overlay a:hover{color:var(--wl-blue)}
.wl-mobile-overlay .wl-btn{font-size:1rem;padding:16px 24px;text-align:center;justify-content:center;border-radius:var(--wl-radius);margin-top:24px;border-bottom:none}
.wl-mobile-overlay .wl-btn.wl-btn--primary{background:var(--wl-blue);color:var(--wl-white)!important;border:none}
.wl-mobile-close{position:absolute;top:20px;right:20px;font-size:2rem;color:var(--wl-charcoal);line-height:1}

/* ===== HERO ===== */
.wl-hero{position:relative;min-height:80vh;display:flex;align-items:center;background:var(--wl-dark-bg);overflow:hidden}
.wl-hero .wl-container{width:100%;max-width:var(--wl-container);margin:0 auto;padding:0 24px}
.wl-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
/* STRONG dark overlay for text readability */
.wl-hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,24,32,0.92) 0%,rgba(20,24,32,0.78) 35%,rgba(20,24,32,0.45) 70%,rgba(20,24,32,0.3) 100%)}
.wl-hero__content{position:relative;z-index:2;max-width:620px;padding:80px 0 72px}
.wl-hero__tag{display:block;font-family:var(--wl-font-display);font-size:0.72rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-bottom:16px}
.wl-hero__tag svg{display:none}
.wl-hero h1{color:var(--wl-white);margin-bottom:20px}
.wl-hero h1 span{color:var(--wl-blue-light)}
.wl-hero__text{font-size:1.08rem;color:rgba(255,255,255,0.7);margin-bottom:36px;line-height:1.8;max-width:500px}
.wl-hero__btns{display:flex;gap:14px;flex-wrap:wrap}
.wl-hero__stats{display:flex;gap:40px;margin-top:48px;padding-top:28px;border-top:1px solid rgba(255,255,255,0.1)}
.wl-hero__stat{text-align:left}
.wl-hero__stat-num{font-family:var(--wl-font-display);font-size:2rem;font-weight:800;color:var(--wl-white);line-height:1}
.wl-hero__stat-label{font-size:0.78rem;color:rgba(255,255,255,0.45);margin-top:4px}

/* Hero entrance animations */
.wl-hero__content .wl-hero__tag,
.wl-hero__content h1,
.wl-hero__content .wl-hero__text,
.wl-hero__content .wl-hero__btns,
.wl-hero__content .wl-hero__stats{opacity:0;transform:translateY(30px);animation:wl-hero-in 0.8s var(--wl-ease) forwards}
.wl-hero__content .wl-hero__tag{animation-delay:0.15s}
.wl-hero__content h1{animation-delay:0.3s}
.wl-hero__content .wl-hero__text{animation-delay:0.5s}
.wl-hero__content .wl-hero__btns{animation-delay:0.65s}
.wl-hero__content .wl-hero__stats{animation-delay:0.8s}
@keyframes wl-hero-in{to{opacity:1;transform:translateY(0)}}

/* ===== TRUST BAR ===== */
.wl-trustbar{background:var(--wl-white);padding:22px 0;border-bottom:1px solid var(--wl-grey-border)}
.wl-trustbar__inner{display:flex;justify-content:center;gap:40px;flex-wrap:wrap}
.wl-trustbar__item{display:flex;align-items:center;gap:11px;font-family:var(--wl-font-display);font-weight:600;font-size:0.88rem;color:var(--wl-charcoal)}
.wl-trustbar__icon{width:40px;height:40px;background:var(--wl-blue-glow);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--wl-blue)}
.wl-trustbar__icon svg{width:18px;height:18px}

/* ===== ACCREDITATION BADGE ===== */
.wl-trustbar__accred{gap:10px}
.wl-trustbar__accred img{height:36px;width:auto;object-fit:contain}
.wl-footer__accred{margin-top:18px}
.wl-footer__accred img{height:44px;width:auto;object-fit:contain;opacity:0.8;transition:opacity var(--wl-transition)}
.wl-footer__accred img:hover{opacity:1}

/* ===== SERVICE CARDS ===== */
.wl-services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.wl-svc-card{background:var(--wl-white);border-radius:var(--wl-radius-lg);overflow:hidden;box-shadow:var(--wl-shadow-sm);border:1px solid var(--wl-grey-border);transition:all 0.4s var(--wl-ease)}
.wl-svc-card:hover{transform:translateY(-8px);box-shadow:var(--wl-shadow-lg);border-color:var(--wl-blue)}
.wl-svc-card__img{height:200px;background-size:cover;background-position:center;position:relative;transition:all 0.5s var(--wl-ease)}
.wl-svc-card:hover .wl-svc-card__img{transform:scale(1.04)}
.wl-svc-card__img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:linear-gradient(to top,rgba(0,0,0,0.2),transparent)}
.wl-svc-card__body{padding:26px}
.wl-svc-card__body h3{margin-bottom:10px}
.wl-svc-card__body p{color:var(--wl-charcoal-light);font-size:0.92rem;margin-bottom:16px}
.wl-svc-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--wl-font-display);font-weight:600;font-size:0.86rem;color:var(--wl-blue);transition:gap 0.3s var(--wl-ease)}
.wl-svc-link:hover{gap:14px}
.wl-svc-link svg{width:16px;height:16px}

/* ===== ABOUT SPLIT ===== */
.wl-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.wl-about__img{border-radius:var(--wl-radius-lg);overflow:hidden;position:relative}
.wl-about__img img{width:100%;display:block;border-radius:var(--wl-radius-lg);object-fit:cover;max-height:550px}
.wl-about__img>div{width:100%;min-height:350px;border-radius:var(--wl-radius-lg)}
.wl-about__badge{position:absolute;bottom:16px;left:16px;background:var(--wl-blue);color:var(--wl-white);padding:10px 16px;border-radius:var(--wl-radius);font-family:var(--wl-font-display);font-weight:700;font-size:0.75rem;box-shadow:var(--wl-shadow-lg);z-index:2;line-height:1.3}
.wl-about__badge strong{display:block;font-size:1.4rem;line-height:1}
.wl-about__content .wl-sh__tag{margin-bottom:14px}
.wl-about__content h2{margin-bottom:16px}
.wl-about__content p{color:var(--wl-charcoal-light);font-size:0.98rem}
.wl-checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 28px}
.wl-check{display:flex;align-items:center;gap:9px;font-family:var(--wl-font-display);font-weight:600;font-size:0.86rem;color:var(--wl-charcoal-dark)}
.wl-check svg{width:17px;height:17px;color:var(--wl-blue);flex-shrink:0}

/* ===== WHY CHOOSE US ===== */
.wl-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.wl-why-card{background:var(--wl-white);padding:32px 24px;border-radius:var(--wl-radius-lg);border:1px solid var(--wl-grey-border);text-align:center;transition:all 0.4s var(--wl-ease)}
.wl-why-card:hover{border-color:var(--wl-blue);transform:translateY(-6px);box-shadow:var(--wl-shadow)}
.wl-why-icon{width:50px;height:50px;background:var(--wl-blue-glow);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--wl-blue);transition:all 0.4s var(--wl-ease)}
.wl-why-card:hover .wl-why-icon{background:var(--wl-blue);color:var(--wl-white);transform:scale(1.1)}
.wl-why-icon svg{width:21px;height:21px}
.wl-why-card h4{margin-bottom:8px}
.wl-why-card p{color:var(--wl-charcoal-light);font-size:0.88rem}

/* ===== REVIEWS ===== */
.wl-reviews-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}
.wl-reviews-stars{display:flex;gap:3px;color:#F5B731}
.wl-reviews-stars svg{width:20px;height:20px;fill:#F5B731}
.wl-reviews-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.wl-review{background:var(--wl-white);border-radius:var(--wl-radius-lg);padding:28px;border:1px solid var(--wl-grey-border);transition:all 0.35s var(--wl-ease);position:relative}
.wl-review:hover{box-shadow:var(--wl-shadow);border-color:var(--wl-blue);transform:translateY(-4px)}
.wl-review__top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.wl-review__avatar{width:40px;height:40px;border-radius:50%;background:var(--wl-blue);color:var(--wl-white);display:flex;align-items:center;justify-content:center;font-family:var(--wl-font-display);font-weight:700;font-size:0.95rem;flex-shrink:0}
.wl-review__name{font-family:var(--wl-font-display);font-weight:700;font-size:0.9rem;color:var(--wl-charcoal-dark)}
.wl-review__date{font-size:0.75rem;color:var(--wl-grey-mid)}
.wl-review__stars{display:flex;gap:2px;color:#F5B731;margin-bottom:10px}
.wl-review__stars svg{width:14px;height:14px;fill:#F5B731}
.wl-review__text{font-size:0.9rem;color:var(--wl-charcoal-light);line-height:1.7}

/* ===== CTA BANNER ===== */
.wl-cta{position:relative;overflow:hidden}
.wl-cta::before{content:'';position:absolute;top:-40%;right:-8%;width:500px;height:500px;background:rgba(255,255,255,0.04);border-radius:50%}
.wl-cta::after{content:'';position:absolute;bottom:-25%;left:-5%;width:350px;height:350px;background:rgba(255,255,255,0.03);border-radius:50%}
.wl-cta__inner{position:relative;z-index:2;text-align:center;padding:72px 24px}
.wl-cta h2{color:var(--wl-white);margin-bottom:14px}
.wl-cta p{color:rgba(255,255,255,0.8);font-size:1.05rem;max-width:500px;margin:0 auto 32px}
.wl-cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ===== PAGE HERO ===== */
.wl-page-hero{background:var(--wl-dark-bg);padding:100px 0 56px;position:relative;overflow:hidden}
.wl-page-hero::before{content:'';position:absolute;top:0;right:0;width:35%;height:100%;background:linear-gradient(135deg,transparent,rgba(26,63,199,0.06))}
.wl-page-hero--has-bg{padding:120px 0 64px}
.wl-page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.wl-page-hero__bg::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(20,24,32,0.92) 0%,rgba(20,24,32,0.75) 40%,rgba(20,24,32,0.5) 100%)}
.wl-page-hero .wl-container{position:relative;z-index:2}
.wl-page-hero .wl-sh__tag{margin-bottom:16px}
.wl-page-hero h1{color:var(--wl-white);margin-bottom:14px}
.wl-page-hero p{color:rgba(255,255,255,0.6);max-width:560px;font-size:1.05rem}
.wl-page-hero .wl-breadcrumbs{margin-bottom:28px;font-size:0.75rem;color:rgba(255,255,255,0.35);padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.08)}
.wl-page-hero .wl-breadcrumbs a{color:rgba(255,255,255,0.5)}
.wl-page-hero .wl-breadcrumbs a:hover{color:var(--wl-blue-light)}
.wl-page-hero .wl-breadcrumbs span{margin:0 8px}

/* ===== SERVICE CONTENT ===== */
.wl-svc-content{padding:72px 0}
.wl-svc-content h2{margin-bottom:18px}
.wl-svc-content p{color:var(--wl-charcoal-light);font-size:1rem;max-width:780px}
.wl-svc-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin:32px 0}
.wl-svc-item{display:flex;align-items:flex-start;gap:14px;padding:22px;background:var(--wl-off-white);border-radius:var(--wl-radius);transition:all 0.35s var(--wl-ease);border:1px solid transparent}
.wl-svc-item:hover{background:var(--wl-white);box-shadow:var(--wl-shadow-sm);border-color:var(--wl-grey-border);transform:translateX(6px)}
.wl-svc-item svg{width:20px;height:20px;color:var(--wl-blue);flex-shrink:0;margin-top:3px}
.wl-svc-item h4{margin-bottom:4px;font-size:0.96rem}
.wl-svc-item p{font-size:0.86rem;margin:0}

/* ===== CONTACT ===== */
.wl-contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start}
.wl-contact-info h3{margin-bottom:16px}
.wl-contact-info>p{color:var(--wl-charcoal-light);margin-bottom:28px}
.wl-contact-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.wl-contact-icon{width:42px;height:42px;background:var(--wl-blue-glow);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--wl-blue);flex-shrink:0;transition:all 0.3s var(--wl-ease)}
.wl-contact-row:hover .wl-contact-icon{background:var(--wl-blue);color:var(--wl-white);transform:scale(1.08)}
.wl-contact-icon svg{width:18px;height:18px}
.wl-contact-row .wl-contact-label{font-size:0.78rem;color:var(--wl-grey-mid)}
.wl-contact-row a,.wl-contact-row strong{font-weight:600;color:var(--wl-charcoal-dark);display:block}
.wl-contact-row a:hover{color:var(--wl-blue)}
.wl-expect{margin-top:32px;padding:26px;background:var(--wl-off-white);border-radius:var(--wl-radius-lg)}
.wl-expect h4{margin-bottom:14px}
.wl-expect li{display:flex;align-items:center;gap:10px;margin-bottom:9px;font-size:0.88rem}
.wl-expect li svg{width:16px;height:16px;color:var(--wl-blue);flex-shrink:0}
.wl-form{background:var(--wl-white);padding:38px;border-radius:var(--wl-radius-lg);box-shadow:var(--wl-shadow);border:1px solid var(--wl-grey-border)}
.wl-form h3{margin-bottom:22px}
.wl-form__group{margin-bottom:18px}
.wl-form label{display:block;font-family:var(--wl-font-display);font-weight:600;font-size:0.84rem;margin-bottom:5px;color:var(--wl-charcoal-dark)}
.wl-form input,.wl-form select,.wl-form textarea{width:100%;padding:12px 16px;font-family:var(--wl-font-body);font-size:0.92rem;border:1px solid var(--wl-grey-border);border-radius:var(--wl-radius);background:var(--wl-off-white);color:var(--wl-charcoal-dark);transition:all var(--wl-transition)}
.wl-form input:focus,.wl-form select:focus,.wl-form textarea:focus{outline:none;border-color:var(--wl-blue);background:var(--wl-white);box-shadow:0 0 0 3px var(--wl-blue-glow)}
.wl-form textarea{min-height:110px;resize:vertical}
.wl-form__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* ===== PROJECTS ===== */
.wl-gallery-hero-img{border-radius:var(--wl-radius-lg);overflow:hidden;max-width:900px;margin:0 auto}
.wl-gallery-hero-img img{width:100%;display:block}
.wl-gallery-masonry{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:40px}
.wl-gallery-item{display:block;border-radius:var(--wl-radius);overflow:hidden;cursor:pointer;aspect-ratio:4/3}
.wl-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s var(--wl-ease)}
.wl-gallery-item:hover img{transform:scale(1.06)}
.wl-lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:99999;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
.wl-lightbox.active{display:flex}
.wl-lightbox img{max-width:92%;max-height:92%;object-fit:contain;border-radius:8px}
.wl-lightbox-close{position:absolute;top:24px;right:32px;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1}
.wl-project-card{display:block;border-radius:var(--wl-radius-lg);overflow:hidden;background:var(--wl-white);border:1px solid var(--wl-grey-border);transition:all 0.4s var(--wl-ease)}
.wl-project-card:hover{transform:translateY(-6px);box-shadow:var(--wl-shadow-lg);border-color:var(--wl-blue)}
.wl-project-card__img{position:relative;overflow:hidden;height:260px}
.wl-project-card__img img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s var(--wl-ease)}
.wl-project-card:hover .wl-project-card__img img{transform:scale(1.06)}
.wl-project-card__overlay{position:absolute;inset:0;background:rgba(26,63,199,0.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.35s var(--wl-ease)}
.wl-project-card:hover .wl-project-card__overlay{opacity:1}
.wl-project-card__overlay span{display:flex;align-items:center;gap:8px;color:var(--wl-white);font-family:var(--wl-font-display);font-weight:700;font-size:0.9rem}
.wl-project-card__overlay svg{width:16px;height:16px}
.wl-project-card__body{padding:22px}
.wl-project-card__body h3{margin-bottom:4px;font-size:1.05rem;color:var(--wl-charcoal-dark)}
.wl-project-card__body p{font-size:0.82rem;color:var(--wl-charcoal-light);margin:0}

/* ===== LOCATION PAGES ===== */
.wl-locations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.wl-loc-card{display:block;padding:28px;background:var(--wl-white);border-radius:var(--wl-radius-lg);border:1px solid var(--wl-grey-border);transition:all 0.35s var(--wl-ease);text-align:center;color:var(--wl-charcoal)}
.wl-loc-card:hover{border-color:var(--wl-blue);box-shadow:var(--wl-shadow);transform:translateY(-4px)}
.wl-loc-card svg{width:22px;height:22px;color:var(--wl-blue);margin:0 auto 10px;transition:transform 0.35s var(--wl-ease-spring)}
.wl-loc-card:hover svg{transform:scale(1.2)}
.wl-loc-card h4{margin-bottom:5px;color:var(--wl-charcoal-dark)!important}
.wl-loc-card p{font-size:0.82rem;color:var(--wl-charcoal-light)!important}
.wl-section--dark .wl-loc-card{border-color:rgba(255,255,255,0.1)}

/* ===== INSTAGRAM BAR ===== */
.wl-instagram-bar{background:var(--wl-dark-bg-alt);padding:0;border-bottom:1px solid rgba(255,255,255,0.06)}
.wl-instagram-link{display:flex;align-items:center;gap:16px;padding:22px 0;color:var(--wl-white);transition:all var(--wl-transition)}
.wl-instagram-link:hover{opacity:0.85}
.wl-instagram-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#833AB4,#E1306C,#F77737);display:flex;align-items:center;justify-content:center;color:var(--wl-white);flex-shrink:0;transition:transform 0.35s var(--wl-ease)}
.wl-instagram-link:hover .wl-instagram-icon{transform:scale(1.08)}
.wl-instagram-icon svg{width:22px;height:22px}
.wl-instagram-icon img{border-radius:0!important}
.wl-instagram-text{flex:1}
.wl-instagram-label{display:block;font-family:var(--wl-font-display);font-weight:700;font-size:0.95rem;color:var(--wl-white)}
.wl-instagram-handle{display:block;font-size:0.82rem;color:rgba(255,255,255,0.5);margin-top:2px}
.wl-instagram-arrow{color:rgba(255,255,255,0.3);transition:all var(--wl-transition)}
.wl-instagram-arrow svg{width:20px;height:20px}
.wl-instagram-link:hover .wl-instagram-arrow{color:var(--wl-white);transform:translateX(4px)}

/* ===== FOOTER ===== */
.wl-footer{background:var(--wl-dark-bg);color:rgba(255,255,255,0.6);padding:60px 0 0}
.wl-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,0.07)}
.wl-footer__brand img,.wl-footer__brand .custom-logo,.wl-footer__brand .custom-logo-link img{height:32px!important;width:auto!important;max-height:32px!important;margin-bottom:16px}
.wl-footer__brand .custom-logo-link{display:inline-flex;margin-bottom:16px}
.wl-footer__brand p{font-size:0.86rem;line-height:1.7}
.wl-footer h4{color:var(--wl-white);font-size:0.85rem;margin-bottom:16px;text-transform:uppercase;letter-spacing:1.5px}
.wl-footer ul li{margin-bottom:8px}
.wl-footer ul li a{font-size:0.86rem;transition:all var(--wl-transition)}
.wl-footer ul li a:hover{color:var(--wl-blue-light);padding-left:4px}
.wl-footer__bar{padding:18px 0;font-size:0.76rem;text-align:center;color:rgba(255,255,255,0.3)}
.wl-footer__legal{display:flex;gap:20px;justify-content:center;margin-bottom:10px;flex-wrap:wrap}
.wl-footer__legal a{color:rgba(255,255,255,0.5)}
.wl-footer__legal a:hover{color:var(--wl-blue-light)}
.wl-footer__bar a{color:rgba(255,255,255,0.45)}
.wl-footer__bar a:hover{color:var(--wl-blue-light)}
.wl-footer-socials{display:flex;gap:10px;margin-top:16px}
.wl-footer-socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,0.07);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);transition:all var(--wl-transition)}
.wl-footer-socials a:hover{background:var(--wl-blue);color:var(--wl-white);transform:scale(1.1)}
.wl-footer-socials a svg{width:16px;height:16px}

/* ===== SCROLL ANIMATIONS ===== */
.wl-anim{opacity:0;transform:translateY(32px);transition:opacity 0.7s var(--wl-ease),transform 0.7s var(--wl-ease)}
.wl-anim--left{transform:translateX(-40px)}
.wl-anim--right{transform:translateX(40px)}
.wl-anim--scale{transform:scale(0.92);opacity:0}
.wl-anim.wl-visible{opacity:1;transform:translateY(0) translateX(0) scale(1)}
/* Legacy class support */
.wl-fade-up{opacity:0;transform:translateY(32px);transition:opacity 0.7s var(--wl-ease),transform 0.7s var(--wl-ease)}
.wl-fade-up.wl-visible{opacity:1;transform:translateY(0)}

/* Stagger delays — applied by JS */
.wl-stagger-1{transition-delay:0.05s}
.wl-stagger-2{transition-delay:0.1s}
.wl-stagger-3{transition-delay:0.15s}
.wl-stagger-4{transition-delay:0.2s}
.wl-stagger-5{transition-delay:0.25s}
.wl-stagger-6{transition-delay:0.3s}

/* Counter animation target */
.wl-counter{display:inline-block}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
  .wl-nav{display:none}
  .wl-menu-toggle{display:flex}
  .wl-about-grid,.wl-contact-grid{grid-template-columns:1fr;gap:36px}
  .wl-footer__grid{grid-template-columns:1fr 1fr;gap:28px}
  /* Stats — always 3 columns on mobile */
  .wl-hero__stats{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;flex-direction:unset!important}
  .wl-hero__stat-num{font-size:1.6rem}
  .wl-hero__stat-label{font-size:0.72rem}
  /* Trustbar — 2x2 grid */
  .wl-trustbar__inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;flex-direction:unset!important}
  /* Mobile menu button fix */
  .wl-mobile-overlay .wl-btn{font-size:1rem!important;padding:18px 24px!important;text-align:center!important;justify-content:center!important;border-radius:var(--wl-radius)!important;margin-top:24px!important;border-bottom:none!important;display:flex!important;width:100%!important}
  .wl-mobile-overlay .wl-btn.wl-btn--primary{background:var(--wl-blue)!important;color:#FFFFFF!important;border:none!important}
}
@media(max-width:640px){
  .wl-section{padding:56px 0}
  .wl-hero{min-height:auto}
  .wl-hero__content{padding:48px 0}
  .wl-hero__stat-num{font-size:1.4rem}
  .wl-hero__stat-label{font-size:0.68rem}
  .wl-services-grid,.wl-reviews-grid{grid-template-columns:1fr}
  .wl-checks{grid-template-columns:1fr}
  .wl-form{padding:22px}
  .wl-form__row{grid-template-columns:1fr}
  .wl-footer__grid{grid-template-columns:1fr}
  .wl-topbar{display:none}
}

/* ===== WP OVERRIDES ===== */
body .wl-hero .wl-container{text-align:left!important}
body .wl-hero .wl-hero__content{text-align:left!important}
.wp-site-blocks .wl-hero .wl-container,
.is-layout-constrained .wl-hero .wl-container,
.is-layout-flow .wl-hero .wl-container{max-width:var(--wl-container)!important;margin:0 auto!important;padding:0 24px!important}
