@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap');
/*
Theme Name: Infinity Lawn & Landscaping
Version: 2.0
*/
:root {
  --green-dark: #2d4a14;
  --green-mid: #476227;
  --green-light: #6a8c3e;
  --green-accent: #8db85a;
  --cream: #f8f5f0;
  --charcoal: #1e1e1e;
  --charcoal-mid: #3a3a3a;
  --gray: #58595b;
  --gray-light: #e8e4de;
  --white: #ffffff;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', sans-serif;
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 8px 30px rgba(0,0,0,0.12);
  --radius: 4px;
  --transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box;}
body,html{height:100%;font-family:var(--font-body);margin:0;background:var(--white);color:var(--gray);-webkit-font-smoothing:antialiased;}
p{font-size:17px;line-height:1.75;margin-bottom:1em;}
img{max-width:100%;height:auto;}
a{text-decoration:none;color:var(--green-mid);transition:var(--transition);}
a:hover{color:var(--green-dark);}
div{box-sizing:border-box;}
/* Layout */
.flex-container{display:flex;max-width:1200px;margin:auto;padding:25px;}
.flex-container.with-image{display:flex;max-width:100%;margin:auto;padding:0;}
.flex-container .container{display:flex;max-width:1200px;margin:auto;padding:0;width:100%;}
.flex-item{flex:1;padding:25px;margin:20px;}
.flex-item-left{flex:1;}
.flex-item-right{flex:2;}
.colorback{background:rgba(0,0,0,0.72);margin:0!important;padding:48px;backdrop-filter:blur(2px);}
.colorback2{background:rgba(71,98,39,0.85);margin:0!important;padding:48px;}
.with-image{background-size:cover;background-position:center;color:var(--white);}
.thirds{width:33.33%;padding:25px;float:left;}
.twothirds{width:66.66%;padding:25px;float:left;}
.halves{width:50%;padding:25px;float:left;}
.quarters{width:25%;padding:25px;float:left;}
.halves img,.thirds img,.quarters img{width:100%;height:auto;}
.green{color:var(--green-mid);}
.greyback{background:var(--charcoal-mid);color:var(--white);}
cl{width:100%;height:1px;clear:both;display:block;}
.two-column-list ul{padding:0;margin:0;column-count:2;}
.two-column-list li{break-inside:avoid;}
.blog .title{font-weight:300;text-transform:uppercase;font-size:25px;}
.blog .thirds:nth-child(3n+1){clear:left;}
.category .thirds:nth-child(3n+1){clear:left;}

/* Buttons */
.button{display:inline-block;color:var(--white);background:var(--green-mid);padding:14px 28px;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:2px solid var(--green-mid);border-radius:var(--radius);transition:var(--transition);font-family:var(--font-body);}
.button:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--white);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.button2{display:inline-block;color:var(--white);background:transparent;padding:14px 28px;font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;border:2px solid rgba(255,255,255,.7);border-radius:var(--radius);transition:var(--transition);margin-left:10px;}
.button2:hover{background:rgba(255,255,255,.15);border-color:var(--white);color:var(--white);}
.button3{display:inline-block;color:var(--white);background:var(--green-mid);padding:11px 22px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:2px solid var(--green-mid);border-radius:var(--radius);transition:var(--transition);}
.button3:hover{background:var(--green-dark);border-color:var(--green-dark);color:var(--white);transform:translateY(-1px);}
.button4{display:inline-block;color:var(--white);background:transparent;padding:11px 22px;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:2px solid rgba(62,47,109,.5);border-radius:var(--radius);margin-left:10px;transition:var(--transition);}
.button4:hover{background:var(--charcoal-mid);color:var(--white);}
.services .button3{display:block;width:150px;margin:16px auto 0;text-align:center;font-size:13px;padding:10px;}
.formfooter .button{background:var(--charcoal-mid);color:var(--white);padding:12px 24px;font-size:16px;}
.formfooter .button:hover{background:var(--green-mid);color:var(--white);}

/* Header */
header{background:var(--white);height:80px;position:fixed;top:0;z-index:10000;width:100%;box-shadow:0 1px 0 rgba(0,0,0,0.08);}
header .container{margin:0 auto;padding:0 20px;max-width:100%;height:100%;}
#logo{width:auto;height:100%;float:left;}
#logo img {
    width: auto;
    height: 70%;
	margin-top: 5%;}
.two-column-list ul{padding:0;margin:0;column-count:2;}
.two-column-list li{break-inside:avoid;}
nav{width:auto;float:left;width:calc(100% - 220px);height:80px;}
nav ul{display:inline-block;list-style:none;margin:0 2px;padding:0;width:100%;}
nav ul li{flex:1;text-align:center;float:right;padding-right:24px;padding-left:24px;}
nav ul li a{text-decoration:none;padding:0;display:block;white-space:nowrap;}
nav li a{text-decoration:none;text-align:center;color:var(--charcoal-mid);text-transform:uppercase;line-height:80px;font-weight:600;font-size:13px;letter-spacing:.06em;cursor:pointer;position:relative;}
nav li a:hover{color:var(--green-mid);}
.schedulebutton a{background:var(--green-mid);color:var(--white);padding:0 20px;display:block;box-sizing:border-box;position:relative;margin-right:90px;margin-left:50px;line-height:17px;height:60px!important;padding-top:20px;margin-top:10px;width:200px;right:0;position:absolute;text-align:center;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:var(--radius);}
.schedulebutton a:hover{background:var(--green-dark);}
.schedulebutton a span{font-weight:900;}
.cta_menu{background:var(--green-mid);}
.cta_menu a{color:var(--white);}
.cta_menu:hover{opacity:.88;}
.cta_menu:hover a{color:var(--white);opacity:.88;}
.menu-item-has-children{position:relative;}
nav li li{display:block;}
.sub-menu{display:none;position:absolute;top:80px;width:230px;left:-10px;background:var(--white);box-shadow:var(--shadow-md);border-top:3px solid var(--green-mid);}
.sub-menu li{display:block;margin:0;padding:0;width:100%;}
.sub-menu li a{display:block;width:100%;position:static;text-align:left;border-bottom:1px solid var(--gray-light);box-sizing:border-box;padding:13px 20px!important;font-size:13px!important;line-height:1!important;background:var(--white);}
.sub-menu li a:hover{background:var(--cream);color:var(--green-mid);}

/* Hero */
#hero{width:100%;background-position:center;background-size:cover!important;height:100vh;min-height:600px;color:var(--white);box-sizing:border-box;position:relative;}
.coloroverlay{width:100%;height:100%;background:linear-gradient(135deg,rgba(0,0,0,.55) 0%,rgba(30,50,15,.4) 60%,rgba(0,0,0,.25) 100%);display:flex;align-items:center;justify-content:center;}
#herowrap{width:100%;max-width:900px;padding:50px 40px;text-align:center;}
#hero h1{font-family:var(--font-display);font-weight:900;font-size:clamp(2.8rem,6vw,5.5rem);line-height:1.05;margin-bottom:12px;text-shadow:0 2px 20px rgba(0,0,0,.3);}
#hero h2{font-family:var(--font-body);font-weight:300;font-size:clamp(1rem,2.2vw,1.5rem);line-height:1.4;margin-top:0;margin-bottom:16px;text-transform:uppercase;letter-spacing:.2em;opacity:.92;}
#hero p{font-size:clamp(1rem,1.6vw,1.25rem);margin:0 auto 40px;max-width:600px;line-height:1.65;opacity:.9;}
.hero-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* Intro section */
.home-intro{display:flex;max-width:1200px;margin:0 auto;padding:80px 40px;gap:60px;align-items:center;}
.home-intro-text{flex:1;}
.home-intro-text h2{font-family:var(--font-display);font-size:clamp(1.6rem,2.8vw,2.4rem);color:var(--charcoal);line-height:1.2;margin-bottom:20px;font-weight:700;}
.home-intro-image{flex:1;border-radius:6px;overflow:hidden;min-height:380px;background-size:cover;background-position:center;}

/* Services */
#services{background:var(--cream);padding:80px 40px;}
#services h2,#ourstory h2{font-family:var(--font-display);text-align:center;font-size:clamp(2rem,4vw,3rem);color:var(--charcoal);margin-bottom:12px;text-transform:none;}
#services h2 span,#ourstory h2 span{color:var(--green-mid);display:block;}
#services>p{text-align:center;max-width:600px;margin:0 auto 48px;color:var(--gray);}
#services h3{font-family:var(--font-body);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--charcoal);margin:16px 0 10px;}
#serviceswrap{display:flex;justify-content:center;flex-wrap:wrap;align-items:stretch;max-width:1200px;margin:0 auto;gap:20px;}
.services{width:calc(33.33% - 20px);min-width:220px;text-align:center;position:relative;cursor:pointer;border:1px solid var(--gray-light);background:var(--white);padding:32px 24px;border-radius:6px;transition:var(--transition);box-shadow:var(--shadow-sm);}
.services:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--green-accent);}
.services img{height:64px;width:auto;margin:0 auto 8px;display:block;}

/* Why Infinity */
.why-infinity-section{display:flex;max-width:100%;min-height:460px;}
.why-infinity-image{flex:1;background-size:cover;background-position:center;}
.why-infinity-content{flex:1;background:var(--green-dark);padding:72px 64px;display:flex;flex-direction:column;justify-content:center;}
.why-infinity-content h2{font-family:var(--font-display);color:var(--white);font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:28px;font-weight:700;}
.why-list{list-style:none;padding:0;margin:0;}
.why-list li{display:flex;gap:16px;margin-bottom:20px;color:rgba(255,255,255,.92);font-size:16px;line-height:1.5;}
.why-list li::before{content:'checkmark';display:flex;align-items:center;justify-content:center;min-width:26px;height:26px;background:var(--green-accent);color:var(--white);font-weight:700;font-size:11px;border-radius:50%;margin-top:2px;flex-shrink:0;content:'\2713';}
.why-list li strong{color:var(--white);font-weight:600;}

/* Reviews Slider */
#reviews-section{background:var(--cream);padding:80px 40px;overflow:hidden;position:relative;}
#reviews-section::before{content:'"';font-family:var(--font-display);font-size:280px;color:rgba(71,98,39,.06);position:absolute;top:-60px;left:40px;line-height:1;pointer-events:none;}
.reviews-header{text-align:center;margin-bottom:48px;}
.reviews-header h2{font-family:var(--font-display);font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--charcoal);margin-bottom:8px;}
.reviews-header p{color:var(--gray);font-size:16px;}
.google-badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--gray-light);border-radius:24px;padding:6px 16px;font-size:14px;color:var(--charcoal-mid);font-weight:500;margin-top:12px;box-shadow:var(--shadow-sm);}
.reviews-slider-wrap{position:relative;max-width:1100px;margin:0 auto;}
.reviews-slider{overflow:hidden;position:relative;}
.reviews-track{display:flex;transition:transform .5s cubic-bezier(0.4,0,0.2,1);will-change:transform;}
.review-card{min-width:100%;padding:0 12px;box-sizing:border-box;}
.review-inner{background:var(--white);border-radius:8px;padding:32px 28px;box-shadow:var(--shadow-sm);border:1px solid var(--gray-light);height:100%;display:flex;flex-direction:column;transition:var(--transition);}
.review-inner:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.review-stars{display:flex;gap:3px;margin-bottom:16px;}
.review-stars span{color:#F59E0B;font-size:18px;}
.review-text{font-size:15px;line-height:1.7;color:var(--charcoal-mid);flex:1;font-style:italic;margin-bottom:20px;}
.review-author{display:flex;align-items:center;gap:12px;border-top:1px solid var(--gray-light);padding-top:16px;}
.review-avatar{width:40px;height:40px;border-radius:50%;background:var(--green-mid);display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:700;font-size:16px;flex-shrink:0;}
.review-name{font-weight:600;font-size:14px;color:var(--charcoal);display:block;}
.review-via{font-size:12px;color:var(--gray);display:flex;align-items:center;gap:4px;margin-top:2px;}
.slider-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:36px;}
.slider-btn{width:44px;height:44px;border-radius:50%;background:var(--white);border:2px solid var(--gray-light);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--charcoal-mid);transition:var(--transition);box-shadow:var(--shadow-sm);}
.slider-btn:hover{background:var(--green-mid);border-color:var(--green-mid);color:var(--white);}
.slider-dots{display:flex;gap:8px;}
.slider-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-light);cursor:pointer;transition:var(--transition);}
.slider-dot.active{background:var(--green-mid);width:24px;border-radius:4px;}
.reviews-loading{text-align:center;padding:60px 20px;color:var(--gray);}
.reviews-loading .spinner{width:40px;height:40px;border:3px solid var(--gray-light);border-top-color:var(--green-mid);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px;}
@keyframes spin{to{transform:rotate(360deg);}}
.reviews-manual-note{text-align:center;font-size:13px;color:var(--gray);margin:20px auto 0;padding:12px;background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-light);max-width:600px;}

@media(min-width:640px){.review-card{min-width:50%;}}
@media(min-width:1024px){.review-card{min-width:33.333%;}}

/* Gallery section */
.gallery-section{padding:80px 40px;max-width:1200px;margin:0 auto;}
.gallery-section h2{font-family:var(--font-display);text-align:center;font-size:clamp(1.8rem,3.5vw,2.8rem);color:var(--charcoal);margin-bottom:8px;}
.gallery-section>p{text-align:center;color:var(--gray);margin-bottom:40px;}

/* Blog */
#blog{padding:80px 40px;}
#blog h2{font-family:var(--font-display);text-align:center;font-size:clamp(2rem,4vw,3rem);color:var(--charcoal);}
#blog h2 span{clear:both;display:block;color:var(--green-mid);}
.blogwrap{display:flex;justify-content:center;flex-wrap:wrap;align-items:stretch;max-width:1200px;margin:auto;gap:24px;}
.post{position:relative;cursor:pointer;background:var(--white);flex-basis:calc(33.33% - 24px);border:1px solid var(--gray-light);box-sizing:border-box;border-radius:6px;overflow:hidden;transition:var(--transition);box-shadow:var(--shadow-sm);}
.post:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.post h3{color:var(--charcoal);text-align:left;padding:16px 20px 8px;line-height:1.4;text-transform:none;font-size:16px;font-weight:600;margin:0;}
#blogimage{height:220px;background-size:cover!important;background-position:center!important;}
.post .button{font-size:13px;margin:8px 20px 20px;display:inline-block;}
.newswrap{text-align:center;}
.newswrap p{text-align:left;}

/* Form */
.formfooter{background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-mid) 100%);padding:24px;width:100%;color:var(--white);}
.formfooter h2{color:var(--white);font-family:var(--font-display);font-weight:700;text-align:center;font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.2;text-transform:none;}
.formfooter p{text-align:center;opacity:.88;}
input{border:1px solid var(--gray-light);background:var(--white);padding:12px 16px!important;margin:0;color:var(--charcoal-mid);border-radius:var(--radius);font-family:var(--font-body);font-size:15px;width:100%;transition:border-color .2s ease;}
input:focus{outline:none;border-color:var(--green-mid);box-shadow:0 0 0 3px rgba(71,98,39,.12);}
input[type="submit"]{background:var(--green-mid);color:var(--white);font-weight:600;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border:none;font-size:15px;padding:14px 28px!important;}
input[type="submit"]:hover{background:var(--green-dark);}
.flex-item input{border:1px solid var(--gray-light);background:var(--white);padding:12px 16px!important;margin:0;color:var(--charcoal-mid);width:100%;}
fieldset{margin-left:0!important;}
::placeholder{color:var(--gray);opacity:1;}

/* Inner pages */
#innerhero{width:100%;background-position:center!important;background-size:cover!important;height:auto;padding:0;color:var(--white);position:relative;background-size:cover!important;}
#innerhero .coloroverlay{padding:100px;padding-top:125px;}
.single-post #innerhero h1{font-weight:900;font-size:3vw;line-height:3.5vw;margin-bottom:0;margin-top:51px;text-align:center;}
.single-post h2{text-transform:uppercase;}
.post-categories,.tags{margin-top:25px;margin-left:0;padding-left:0;}
.post-categories li,.tags li{background:var(--green-mid);color:var(--white);padding:10px;list-style:none;display:inline;border-radius:3px;}
.post-categories li a,.tags li a{color:var(--white);}
.post-categories li a:hover,.tags li a:hover{color:#ddd;}
#innerhero h1{font-family:var(--font-display);font-weight:700;font-size:4vw;line-height:4vw;margin-bottom:0;margin-top:0;text-align:center;}
#innerhero h2{margin-top:0;text-transform:uppercase;font-weight:400;margin-bottom:50px;}
.features-body li{
	margin-bottom:10px;
}


/* Footer */
.footerquote{width:100%;height:auto;text-align:center;background:var(--green-dark);padding:14px;}
.footerquote h3{color:var(--white);font-family:var(--font-body);font-weight:400;text-transform:uppercase;font-size:14px;letter-spacing:.12em;margin:0;}
.footerwrap{background:var(--charcoal);display:flex;max-width:100%;padding:48px 40px;}
.footerwrap li a{color:rgba(255,255,255,.75);text-transform:uppercase;font-weight:500;font-size:13px;letter-spacing:.05em;transition:var(--transition);padding:0;}
.footerwrap li a:hover{color:var(--green-accent);}
.footerwrap li{color:rgba(255,255,255,.6);margin-bottom:10px;font-size:13px;list-style:none;}
.footerwrap ul{list-style:none;padding:0;margin:0;}
.footerphone{text-align:left;font-weight:700;font-size:22px;width:100%;display:block;color:var(--white);margin-bottom:20px;font-family:var(--font-display);}
footer{width:100%;height:auto;background:var(--charcoal);text-align:center;margin-top:0;padding:24px 40px 40px;border-top:1px solid rgba(255,255,255,.07);}
#footerwrap{max-width:1200px;margin:auto;}
footer h3{color:var(--white);text-align:left;text-transform:uppercase;font-size:13px;letter-spacing:.06em;}
footer h4{color:var(--white);text-align:center;text-transform:uppercase;font-weight:400;}
footer .green{font-weight:800;}
.socialwrap{margin:0;text-align:left;}
.socialwrap img{width:auto;height:24px;filter:brightness(0) invert(1);opacity:.7;transition:var(--transition);}
.socialwrap img:hover{opacity:1;}
.socialwrap a{padding:6px;display:inline-block;}
.footerterms{text-align:center;margin-top:32px;padding:10px;}
.footerterms a{font-weight:400;text-transform:capitalize;color:rgba(255,255,255,.5);font-size:12px;}
footer a{text-decoration:none;color:rgba(255,255,255,.75);padding:6px;font-weight:500;text-transform:uppercase;font-size:13px;}
footer a:hover{color:var(--green-accent);}
footer .button{background:var(--green-mid);color:var(--white);padding:15px 30px;font-size:15px;border-radius:6px;display:block;width:100%;box-sizing:border-box;margin:auto;max-width:100%;cursor:pointer;text-align:center;text-transform:uppercase;box-shadow:var(--shadow-md);}
footer .button:hover{background:var(--green-dark);color:var(--white);}
footer p{color:rgba(255,255,255,.6);font-size:14px;margin-top:0;margin-bottom:0;}

/* Service pages */
#serviceheader{width:100%;height:600px;padding:40px;box-sizing:border-box;background-size:cover!important;background-position:top right!important;position:relative;}
.page-id-1239 #serviceheader{background-position:center center!important;}
#servicesinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:1200px;margin:auto;width:100%;padding:40px;}
#serviceheader h1{color:var(--white);font-family:var(--font-display);text-transform:uppercase;margin-bottom:0;font-size:50px;font-weight:700;}
#serviceheader h2{margin-top:0;font-weight:400;color:var(--white);width:50%;}
#serviceheader .button{background:var(--green-mid);color:var(--white);padding:15px 19px;font-size:15px;border-radius:10px;display:block;width:235px;margin:0;max-width:100%;cursor:pointer;text-align:center;text-transform:uppercase;box-shadow:var(--shadow-md);}
#serviceguide,#servicesteps{width:100%;overflow:auto;height:auto;}
#guideinner,#stepsinner{width:100%;overflow:auto;height:auto;padding:40px;max-width:1200px;margin:auto;}
#serviceguide h1,#servicesteps h1{font-family:var(--font-display);text-align:center;text-transform:uppercase;font-weight:700;}
#serviceguide h2,#servicesteps h2{text-align:center;text-transform:uppercase;}
#serviceguide p,#servicesteps p{text-align:center;}
.guideicon{background:var(--green-mid);width:100px;height:100px;border-radius:50%;color:var(--white);position:relative;margin:auto;}
.guideicon svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px!important;height:40px!important;}
#serviceguide h3{text-align:center;font-weight:400;margin-bottom:45px;clear:both;}
#servicestestimonial{padding:120px 60px;color:var(--white);background:linear-gradient(135deg,var(--green-dark) 0%,var(--green-mid) 100%);overflow:auto;}
#servicestestimonial #testimonialwrap{max-width:980px;margin:auto;}
#servicestestimonial p{text-align:center;line-height:30px;}
#servicestestimonial h3{text-align:center;text-transform:uppercase;font-weight:800;margin-bottom:0;margin-top:20px;}
#servicestestimonial h4{text-align:center;text-transform:uppercase;font-weight:400;margin-top:0;}
#servicestestimonial img{width:50%;margin:auto;display:block;margin-top:50px;}
#servicesteps{width:100%;overflow:auto;height:auto;}
.stepsicon{width:100px;height:100px;color:var(--green-mid);position:relative;margin:auto;}
.stepsicon svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%!important;height:90%!important;}
.readmore{text-align:center;display:block;margin:20px;cursor:pointer;color:var(--green-mid);font-weight:600;}
#readmore{max-width:1200px;margin:auto;padding:40px;display:none;}
.thirds:nth-child(4n+1){content:'';clear:left;}

/* Default pages */
#bannerheader{width:100%;height:600px;padding:40px;box-sizing:border-box;background-size:cover!important;background-position:top right!important;position:relative;}
#bannerinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:1200px;margin:auto;width:100%;padding:40px;}
#bannerheader h1{color:var(--white);font-family:var(--font-display);text-transform:uppercase;margin-bottom:0;font-size:50px;font-weight:700;}
.wrapper{width:100%;max-width:1200px;padding:40px;margin:auto;}
#content{max-width:1200px;margin:auto;padding:50px;font-size:18px;}
#custom-bg{width:100%;height:200px;background-size:cover;background-position:center center;}
.blogcategory ul{padding:0;}
.blogcategory li{list-style:none;padding:10px;background:var(--cream);width:auto;display:inline;float:left;font-size:13px;font-weight:300;margin:1%;}
.next-page,.past-page{width:50%;height:60px;background:var(--cream);padding:20px;float:left;border:2px solid var(--white);}
#pagination{width:100%;clear:both;}
.next-page{text-align:right;}
.alignright{float:right;padding:20px;padding-right:0;}
.aligncenter{clear:both;width:100%;height:auto;}

/* Schedule/Testimonials legacy */
.schedulewrap{display:flex;justify-content:center;flex-wrap:wrap;align-items:stretch;max-width:1200px;margin:auto;}
.schedule{width:47%;text-align:left;position:relative;cursor:pointer;align-items:center;display:flex;}
span.strategy{font-weight:900;color:var(--white);font-size:3.95vw;text-transform:uppercase;width:100%;display:block;line-height:2vw;}
span.centered{font-weight:900;color:var(--green-mid);font-size:3.9vw;text-transform:uppercase;width:100%;display:block;line-height:3.9vw;}
span.marketing{font-weight:900;color:var(--white);font-size:3.55vw;text-transform:uppercase;width:100%;display:block;line-height:2vw;}
.quote{position:absolute;bottom:0;right:29px;background:url(/wp-content/uploads/2023/03/quote.png);height:134px;width:85px;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;}
#testimonials{display:flex;justify-content:center;flex-wrap:wrap;align-items:stretch;max-width:1200px;margin:auto;}
.testimonial{width:47%;text-align:left;position:relative;cursor:pointer;background:var(--charcoal-mid);padding:20px;border-radius:6px;}

.mobilemenu{display:none;}

/* Tablet */
@media only screen and (max-width:1080px){nav li a{font-size:10px;}}
@media only screen and (max-width:980px){
.desktopmenu{display:none;}
.schedulewrap,.blogwrap,#testimonials,#serviceswrap,.contentwrap{flex-direction:column;}
.blogwrap{max-width:100%;}
.schedulewrap,#serviceswrap{max-width:80%;}
.schedule,.blog,.testimonial,.services{flex:none;width:100%;margin-bottom:5%;}
.schedule h2{text-align:center;margin:auto;}
#ourstory h2{text-align:center;font-size:8vw;line-height:0vw;text-transform:uppercase;color:var(--charcoal);margin-top:73px;}
#innerhero h1{text-transform:uppercase;font-weight:900;font-size:7vw;line-height:7vw;margin-bottom:0;text-align:center;}
#innerhero h2{margin-top:0;text-transform:uppercase;font-weight:400;margin-bottom:50px;font-size:4vw;line-height:4vw;margin-top:20px;}
.button{font-size:15px;}
.button2{font-size:15px;margin-left:10px;}
.footerwrap ul{list-style:none;text-align:left;padding:0;}
.flex-container{flex-direction:column;}
.flex-item.with-image{background-size:cover;background-position:center;color:white;height:250px!important;flex:none;}
#innerhero .coloroverlay{padding:25px;padding-top:75px;padding-bottom:75px;}
.flex-container .container{display:flex;max-width:1200px;margin:auto;padding:0;flex-direction:column;}
.flex-container .container .flex-item{padding:0;margin:0;display:none;}
.flex-container .container .colorback{padding:40px!important;margin:0;display:block!important;}
.flex-item-right{display:block!important;padding:25px!important;}
.flex-item{padding:0;}
.formfooter h2{font-size:5vw;line-height:5vw;}
input[type="submit"]{font-size:15px;}
#hero{height:50%;}
#hero h2{font-size:3.5vw;line-height:3.5vw;margin-top:10px;margin-bottom:32px;}
#services h2{font-size:5vw;line-height:5vw;margin-top:50px;}
.schedulebutton{display:none;}
span.strategy{font-size:8.95vw;line-height:2vw;text-align:center;margin-top:50px;}
span.centered{font-size:8.9vw;line-height:12.9vw;}
span.marketing{font-size:8.55vw;line-height:2vw;}
nav{display:none;}
#nav-icon2{width:40px;height:30px;position:absolute;right:25px;top:25px;margin:0;transform:rotate(0deg);transition:.5s ease-in-out;cursor:pointer;}
#nav-icon2 span{display:block;position:absolute;height:6px;width:50%;background:var(--green-mid);opacity:1;transform:rotate(0deg);transition:.25s ease-in-out;}
#nav-icon2 span:nth-child(even){left:50%;border-radius:0 0px 0px 0;}
#nav-icon2 span:nth-child(odd){left:0;border-radius:0px 0 0 0px;}
#nav-icon2 span:nth-child(1),#nav-icon2 span:nth-child(2){top:0;}
#nav-icon2 span:nth-child(3),#nav-icon2 span:nth-child(4){top:12px;}
#nav-icon2 span:nth-child(5),#nav-icon2 span:nth-child(6){top:24px;}
#nav-icon2.open span:nth-child(1),#nav-icon2.open span:nth-child(6){transform:rotate(45deg);}
#nav-icon2.open span:nth-child(2),#nav-icon2.open span:nth-child(5){transform:rotate(-45deg);}
#nav-icon2.open span:nth-child(1){left:5px;top:7px;}
#nav-icon2.open span:nth-child(2){left:calc(50% - 5px);top:7px;}
#nav-icon2.open span:nth-child(3){left:-50%;opacity:0;}
#nav-icon2.open span:nth-child(4){left:100%;opacity:0;}
#nav-icon2.open span:nth-child(5){left:5px;top:17px;}
#nav-icon2.open span:nth-child(6){left:calc(50% - 5px);top:17px;}
nav{width:100%;float:none;height:auto;margin:0;position:absolute;left:0;top:75px;background:var(--white);padding:15px;text-align:center;box-sizing:border-box;}
nav ul{list-style:none;margin:0 2px;padding:10px;box-sizing:border-box;display:block;width:100%;}
nav li{display:block;width:100%;padding:5px;text-align:center;margin:0;margin-bottom:15px;margin-top:15px;}
nav li a{color:var(--gray);text-transform:uppercase;line-height:35px;font-size:13px;}
.steps{width:33.33%;float:left;}
.sub-menu{display:none;position:static;width:100%;}
.footerwrap{flex-direction:column;padding:32px 24px;}
.quarters{width:100%;float:none;padding:12px 0;}
}

/* Phone */
@media only screen and (max-width:767px){
.thirds,.halves,.twothirds,.quarters{width:100%;float:none;}
#innerhero{width:100%;background-position:center!important;background-size:cover!important;height:auto;padding:0;color:var(--white);position:relative;padding-top:75px;}
.button3{font-size:15px;padding:7px 14px;}
.button4{font-size:15px;padding:7px 14px;margin-left:10px;}
#mainheader h1{color:var(--white);font-size:50px;text-transform:uppercase;font-weight:800;line-height:50px;}
.steps{width:100%;float:none;}
#questions h2{text-align:center;font-weight:800;font-size:30px;text-transform:uppercase;margin-bottom:0;}
#threesteps{height:auto;}
.review-card{min-width:100%;}
.home-intro{flex-direction:column;padding:40px 20px;}
.why-infinity-section{flex-direction:column;}
.why-infinity-content{padding:48px 24px;}
}

/* ═══════════════════════════════════════════════════════════════════════════════
   MEGA MENU STYLES — append to end of style.css
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Top utility bar ───────────────────────────────────────────────────────── */
.topmenu {
  background: var(--charcoal);
  color: rgba(255,255,255,0.7);
  font-size: 13px;
  line-height: 36px;
  height: 36px;
}
.topmenu .wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topmenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 20px;
}
.topmenu li { display: inline-block; }
.topmenu a {
  color: rgba(255,255,255,0.7);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.topmenu a:hover { color: var(--green-accent); }
.topmenu .socials {
  display: flex;
  gap: 12px;
  align-items: center;
}
.topmenu .socials img {
  height: 16px;
  width: auto;
  filter: brightness(0) invert(1);
  opacity: 0.7;
  transition: opacity 0.2s;
}
.topmenu .socials img:hover { opacity: 1; }
.topbar-info {
  display: flex;
  gap: 24px;
  align-items: center;
}
.topbar-info a {
  color: var(--green-accent);
  font-weight: 600;
}

/* ── Adjust header for top bar ─────────────────────────────────────────────── */
.topmenu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10001;
}
header.site-header {
  top: 36px !important; /* pushed down below fixed topmenu */
}
body {
  padding-top: 116px !important; /* 80px header + 36px topmenu */
}

/* ── Header wrap ───────────────────────────────────────────────────────────── */
header .wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  align-items: center;
  height: 100%;
}

/* ── Desktop nav base ──────────────────────────────────────────────────────── */
.desktopmenu {
  flex: 1;
  display: flex !important;
  justify-content: flex-end;
  height: 80px;
}
.desktopmenu > div > ul,
.desktopmenu > ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  align-items: center;
  height: 100%;
}
.desktopmenu > div > ul > li,
.desktopmenu > ul > li {
  position: relative;
  float: none;
  padding: 0 16px;
}
.desktopmenu > div > ul > li > a,
.desktopmenu > ul > li > a {
  line-height: 80px;
}

/* ── Mega menu parent positioning ──────────────────────────────────────────── */
.desktopmenu li.mega-menu-parent {
  position: static;
}

/* ── Mega panel (hidden by default) ────────────────────────────────────────── */
.desktopmenu li.mega-menu-parent > .mega-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background: rgba(30, 30, 30, 0.97);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
  z-index: 999;
  height: 220px;
  display: none;
  opacity: 0;
  visibility: hidden;
  flex-direction: row;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  border-top: 3px solid var(--green-mid);
}

/* ── Show on hover ─────────────────────────────────────────────────────────── */
.desktopmenu li.mega-menu-parent > a:hover + .mega-menu,
.desktopmenu li.mega-menu-parent > a:focus + .mega-menu,
.desktopmenu li.mega-menu-parent > .mega-menu:hover {
  display: flex;
  opacity: 1;
  visibility: visible;
}

/* ── Center mega panel to header ───────────────────────────────────────────── */
.site-header .desktopmenu > div > ul > li.mega-menu-parent > .mega-menu,
.site-header .desktopmenu > ul > li.mega-menu-parent > .mega-menu {
  left: 50%;
  transform: translateX(-50%);
}

/* ── Three columns ─────────────────────────────────────────────────────────── */
.desktopmenu .mega-col {
  flex: 1 1 33.333%;
  padding: 24px;
  box-sizing: border-box;
}

/* ── Left image column ─────────────────────────────────────────────────────── */
.desktopmenu .mega-col-image {
  padding: 0;
  flex: 0 0 30%;
}
.desktopmenu .mega-image-bg {
  width: 100%;
  height: 100%;
  min-height: 220px;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.desktopmenu .mega-image-bg--empty {
  background: var(--charcoal-mid);
}

/* ── Middle links columns (auto-split into 2 balanced columns) ─────────────── */
.desktopmenu .mega-col-links {
  flex: 1 1 auto;
  display: flex;
  align-items: flex-start;
  padding-top: 16px;
}
.desktopmenu .mega-col-links .sub-menu,
.desktopmenu .mega-col-links .mega-sub-menu {
  margin: 0;
  padding: 0;
  display: block !important;
  position: static !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-top: none !important;
  width: 100%;
  top: auto !important;
}
.desktopmenu .mega-col-links .sub-menu > li,
.desktopmenu .mega-col-links .mega-sub-menu > li {
  display: block;
  float: none;
  padding: 0;
  margin: 0;
  width: 100%;
}
.desktopmenu .mega-menu .mega-col-links .sub-menu > li > a,
.desktopmenu .mega-menu .mega-col-links .mega-sub-menu > li > a {
  display: block;
  text-decoration: none;
  font-weight: 500;
  padding: 10px 16px !important;
  color: rgba(255,255,255,0.85) !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  text-transform: none;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  border-top: none !important;
  box-shadow: none !important;
  transition: all 0.15s ease;
}
.desktopmenu .mega-menu .mega-col-links .sub-menu > li > a:hover,
.desktopmenu .mega-menu .mega-col-links .mega-sub-menu > li > a:hover {
  color: var(--green-accent) !important;
  padding-left: 22px !important;
  background: rgba(255,255,255,0.04) !important;
}

/* ── Mobile hamburger ──────────────────────────────────────────────────────── */
.nav-toggle {
  display: none;
  width: 30px;
  height: 22px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10001;
}
.nav-toggle span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: var(--charcoal);
  border-radius: 2px;
  opacity: 1;
  left: 0;
  transition: 0.25s ease-in-out;
}
.nav-toggle span:nth-child(1) { top: 0; }
.nav-toggle span:nth-child(2) { top: 9px; }
.nav-toggle span:nth-child(3) { top: 18px; }
.nav-toggle.is-open span:nth-child(1) {
  top: 9px;
  transform: rotate(135deg);
}
.nav-toggle.is-open span:nth-child(2) {
  opacity: 0;
  left: -30px;
}
.nav-toggle.is-open span:nth-child(3) {
  top: 9px;
  transform: rotate(-135deg);
}

/* ── Mobile nav — Drill-down panels ─────────────────────────────────────────── */
.mobilemenu {
  display: none;
  position: fixed;
  top: 116px; /* below topmenu (36px) + header (80px) — overridden to 80px on mobile */
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--white);
  z-index: 9999;
  overflow: hidden;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  flex-direction: column;
}
.mobilemenu.is-open {
  display: flex;
  transform: translateX(0);
}

/* ── CTA bar at top ────────────────────────────────────────────────────────── */
.mob-cta-bar {
  display: flex;
  gap: 10px;
  padding: 16px 20px;
  background: var(--cream);
  border-bottom: 1px solid var(--gray-light);
  flex-shrink: 0;
}
.mob-phone {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--charcoal);
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  padding: 10px 14px;
  border: 2px solid var(--gray-light);
  border-radius: var(--radius);
  transition: var(--transition);
}
.mob-phone:hover {
  border-color: var(--green-mid);
  color: var(--green-mid);
}
.mob-phone svg {
  flex-shrink: 0;
}
.mob-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  background: var(--green-mid);
  color: var(--white) !important;
  font-weight: 600;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 10px 16px;
  border-radius: var(--radius);
  transition: var(--transition);
}
.mob-cta-btn:hover {
  background: var(--green-dark);
  color: var(--white) !important;
}

/* ── Panels wrapper ────────────────────────────────────────────────────────── */
.mob-panels {
  display: flex;
  flex-wrap: nowrap;
  flex: 1;
  overflow: visible;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Individual panel ──────────────────────────────────────────────────────── */
.mob-panel {
  flex: 0 0 100%;
  min-width: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: flex;
  flex-direction: column;
}

/* ── Sub-panel header (back button + title) ────────────────────────────────── */
.mob-panel-header {
  display: flex;
  align-items: center;
  padding: 0;
  border-bottom: 2px solid var(--green-mid);
  background: var(--cream);
  flex-shrink: 0;
}
.mob-back {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 16px 20px;
  color: var(--green-mid) !important;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.mob-back:hover {
  color: var(--green-dark) !important;
}
.mob-back svg {
  flex-shrink: 0;
}
.mob-panel-title {
  flex: 1;
  text-align: right;
  padding-right: 20px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--charcoal);
}

/* ── "View All" link ───────────────────────────────────────────────────────── */
.mob-view-all {
  display: block;
  padding: 14px 20px;
  font-size: 13px;
  font-weight: 600;
  color: var(--green-mid) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 1px solid var(--gray-light);
  background: rgba(71, 98, 39, 0.04);
}
.mob-view-all:hover {
  background: rgba(71, 98, 39, 0.08);
}

/* ── Menu list ─────────────────────────────────────────────────────────────── */
.mob-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mob-list-item {
  border-bottom: 1px solid var(--gray-light);
}
.mob-list-item a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  font-size: 16px;
  font-weight: 600;
  color: var(--charcoal) !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: var(--transition);
  background: transparent !important;
  line-height: 1.3 !important;
  width: auto !important;
  min-width: 0;
  white-space: normal !important;
}
.mob-list-item a:hover,
.mob-list-item a:active {
  color: var(--green-mid) !important;
  background: var(--cream) !important;
}

/* Sub-panel links are lighter weight */
.mob-panel:not(.mob-panel--root) .mob-list-item a {
  font-weight: 500;
  text-transform: none;
  font-size: 15px;
}

/* Arrow icon on drill items */
.mob-arrow {
  flex-shrink: 0;
  color: var(--gray);
  transition: transform 0.2s;
}
.mob-drill:hover .mob-arrow {
  transform: translateX(3px);
  color: var(--green-mid);
}

/* ── Social icons at bottom ────────────────────────────────────────────────── */
.mob-social {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  padding: 20px;
  border-top: 1px solid var(--gray-light);
  flex-shrink: 0;
  margin-top: auto;
}
.mob-social img {
  height: 24px;
  width: auto;
  opacity: 0.5;
  transition: opacity 0.2s;
}
.mob-social a:hover img {
  opacity: 0.8;
}

body.nav-open {
  overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   SERVICE PAGE TEMPLATE STYLES
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Service inner hero ────────────────────────────────────────────────────── */
.service-hero {
  width: 100%;
  min-height: 420px;
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.service-hero .coloroverlay {
  width: 100%;
  min-height: 420px;
}
.service-hero .container {
  text-align: center;
  color: var(--white);
  padding: 60px 20px;
}
.service-hero h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  margin-bottom: 12px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.3);
}
.service-hero .subtitle {
  font-size: clamp(1rem, 2vw, 1.2rem);
  opacity: 0.9;
  margin-bottom: 28px;
  font-weight: 300;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Service intro section ─────────────────────────────────────────────────── */
.service-intro {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 25px;
  display: flex;
  gap: 40px;
  align-items: stretch;
}
.service-intro-text {
  flex: 1;
}
.service-intro-text h2 {
  font-family: var(--font-display);
  font-size: 2rem;
  color: var(--charcoal);
  margin-bottom: 16px;
}
.service-intro-image {
  flex: 1;
  background-size: cover;
  background-position: center;
  border-radius: var(--radius);
}

/* ── Features section ──────────────────────────────────────────────────────── */
.service-features {
  background-size: cover;
  background-position: center;
  color: var(--white);
  position: relative;
}
.service-features .colorback {
  padding: 60px 40px;
  max-width: 700px;
}
.service-features h3 {
  font-family: var(--font-display);
  font-size: 1.6rem;
  margin-bottom: 20px;
  color: var(--green-accent);
}

/* ── Service CTA banner ────────────────────────────────────────────────────── */
.service-cta-banner {
  background: var(--green-mid);
  color: var(--white);
  text-align: center;
  padding: 48px 20px;
}
.service-cta-banner h3 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  margin-bottom: 12px;
}
.service-cta-banner p {
  font-size: 1.05rem;
  margin-bottom: 24px;
  opacity: 0.9;
}
.service-cta-banner .button {
  background: var(--white);
  color: var(--green-mid);
  border-color: var(--white);
}
.service-cta-banner .button:hover {
  background: var(--cream);
  color: var(--green-dark);
}

/* ── Service gallery section ───────────────────────────────────────────────── */
.service-gallery-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 25px;
  text-align: center;
}
.service-gallery-section h2 {
  font-family: var(--font-display);
  font-size: 2rem;
  color: var(--charcoal);
  margin-bottom: 32px;
}

/* ── Process section ───────────────────────────────────────────────────────── */
.service-process {
  background: var(--cream);
  padding: 60px 20px;
}
.service-process .container {
  max-width: 1200px;
  margin: 0 auto;
}
.service-process h2 {
  font-family: var(--font-display);
  font-size: 2rem;
  text-align: center;
  color: var(--charcoal);
  margin-bottom: 40px;
}
.process-steps {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
}
.process-step {
  flex: 1;
  min-width: 200px;
  max-width: 320px;
  text-align: center;
  padding: 20px;
}
.process-step .step-number {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--green-mid);
  color: var(--white);
  font-size: 22px;
  font-weight: 700;
  line-height: 56px;
  margin: 0 auto 16px;
  font-family: var(--font-display);
}
.process-step h4 {
  font-size: 1.1rem;
  color: var(--charcoal);
  margin-bottom: 8px;
}
.process-step p {
  font-size: 0.95rem;
  color: var(--gray);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
  .topmenu { display: none !important; }
  header.site-header { top: 0 !important; }
  body { padding-top: 80px !important; }
  .mobilemenu { top: 80px; }

  .desktopmenu { display: none !important; }
  .nav-toggle { display: block; }

  .service-intro { flex-direction: column; }
  .service-intro-image { min-height: 250px; width: 100%; }
  .service-features .flex-container.with-image .container { flex-direction: column; }
  .process-steps { flex-direction: column; align-items: center; }
}

@media (min-width: 961px) {
  .mobilemenu { display: none !important; }
  .nav-toggle { display: none !important; }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   BLOG STYLES
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Blog page hero ────────────────────────────────────────────────────────── */
#innerhero .subtitle {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 1.1rem;
  opacity: 0.85;
  margin-top: 8px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Blog wrap ─────────────────────────────────────────────────────────────── */
.blog-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 80px;
}

/* ── Featured post (latest) ────────────────────────────────────────────────── */
.blog-featured {
  margin-bottom: 48px;
}
.blog-featured-inner {
  display: flex;
  background: var(--white);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  text-decoration: none;
  color: var(--charcoal);
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.blog-featured-inner:hover {
  box-shadow: 0 12px 40px rgba(0,0,0,0.15);
  transform: translateY(-2px);
}
.blog-featured-image {
  flex: 0 0 50%;
  min-height: 360px;
  background-size: cover;
  background-position: center;
}
.blog-featured-content {
  flex: 1;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.blog-label {
  display: inline-block;
  background: var(--green-mid);
  color: var(--white);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 12px;
  border-radius: 2px;
  margin-bottom: 16px;
  width: fit-content;
}
.blog-featured-content h2 {
  font-family: var(--font-display);
  font-size: 1.8rem;
  line-height: 1.25;
  color: var(--charcoal);
  margin: 0 0 12px;
}
.blog-meta {
  font-size: 13px;
  color: var(--gray);
  margin-bottom: 16px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.blog-meta-sep {
  color: var(--gray-light);
}
.blog-featured-content p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--gray);
  margin-bottom: 16px;
}
.blog-read-more {
  font-weight: 600;
  color: var(--green-mid);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.blog-featured-inner:hover .blog-read-more {
  color: var(--green-dark);
}

/* ── Blog card grid ────────────────────────────────────────────────────────── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.blog-card {
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow-sm);
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
.blog-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.blog-card a {
  text-decoration: none;
  color: var(--charcoal);
  display: block;
}
.blog-card-image {
  width: 100%;
  height: 200px;
  background-size: cover;
  background-position: center;
}
.blog-card-image--empty {
  background: var(--cream);
}
.blog-card-body {
  padding: 20px 24px 24px;
}
.blog-card-cat {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--green-mid);
  margin-bottom: 8px;
}
.blog-card-body h3 {
  font-family: var(--font-display);
  font-size: 1.2rem;
  line-height: 1.3;
  margin: 0 0 8px;
  color: var(--charcoal);
}
.blog-card-body time {
  font-size: 12px;
  color: var(--gray);
  display: block;
  margin-bottom: 8px;
}
.blog-card-body p {
  font-size: 14px;
  line-height: 1.55;
  color: var(--gray);
  margin: 0;
}

/* ── Pagination ────────────────────────────────────────────────────────────── */
.blog-pagination {
  text-align: center;
  padding: 48px 0 0;
}
.blog-pagination a,
.blog-pagination span {
  display: inline-block;
  padding: 8px 16px;
  margin: 0 4px;
  border-radius: var(--radius);
  font-size: 14px;
  font-weight: 600;
  transition: var(--transition);
}
.blog-pagination a {
  color: var(--charcoal);
  border: 1px solid var(--gray-light);
}
.blog-pagination a:hover {
  background: var(--green-mid);
  color: var(--white);
  border-color: var(--green-mid);
}
.blog-pagination .current {
  background: var(--green-mid);
  color: var(--white);
  border: 1px solid var(--green-mid);
}

/* ── Empty state ───────────────────────────────────────────────────────────── */
.blog-empty {
  text-align: center;
  padding: 80px 20px;
}
.blog-empty h2 {
  font-family: var(--font-display);
  color: var(--charcoal);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   SINGLE POST STYLES
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Single hero ───────────────────────────────────────────────────────────── */
.single-hero {
  width: 100%;
  min-height: 340px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-hero .coloroverlay {
  width: 100%;
  min-height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.single-hero .container {
  text-align: center;
  color: var(--white);
  padding: 60px 20px;
  max-width: 800px;
}
.single-hero h1 {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: clamp(2rem, 4.5vw, 3rem);
  line-height: 1.15;
  margin-bottom: 16px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.3);
}
.single-hero-meta {
  font-size: 14px;
  opacity: 0.85;
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

/* ── Content + Sidebar layout ──────────────────────────────────────────────── */
.single-layout {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 20px 80px;
  display: flex;
  gap: 48px;
  align-items: flex-start;
}

/* ── Main article column ───────────────────────────────────────────────────── */
.single-main {
  flex: 1;
  min-width: 0;
}
.single-body {
  font-size: 17px;
  line-height: 1.8;
  color: var(--gray);
}
.single-body h2,
.single-body h3,
.single-body h4 {
  font-family: var(--font-display);
  color: var(--charcoal);
  margin-top: 2em;
  margin-bottom: 0.5em;
}
.single-body h2 { font-size: 1.6rem; }
.single-body h3 { font-size: 1.3rem; }
.single-body h4 { font-size: 1.1rem; }
.single-body p { margin-bottom: 1.25em; }
.single-body img {
  border-radius: var(--radius);
  margin: 1.5em 0;
}
.single-body blockquote {
  border-left: 4px solid var(--green-mid);
  padding: 16px 24px;
  margin: 1.5em 0;
  background: var(--cream);
  border-radius: 0 var(--radius) var(--radius) 0;
  font-style: italic;
  color: var(--charcoal);
}
.single-body ul,
.single-body ol {
  padding-left: 24px;
  margin-bottom: 1.25em;
}
.single-body li { margin-bottom: 0.5em; }

/* ── CTA box (inline) ─────────────────────────────────────────────────────── */
.single-cta-box {
  background: var(--cream);
  border-radius: var(--radius);
  padding: 32px;
  text-align: center;
  margin: 40px 0;
  border: 1px solid var(--gray-light);
}
.single-cta-box h4 {
  font-family: var(--font-display);
  font-size: 1.3rem;
  color: var(--charcoal);
  margin: 0 0 8px;
}
.single-cta-box p {
  font-size: 14px;
  color: var(--gray);
  margin-bottom: 16px;
}

/* ── Prev / Next — simple inline ───────────────────────────────────────────── */
.single-prevnext {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-top: 32px;
  border-top: 1px solid var(--gray-light);
  float: none !important;
  width: 100% !important;
  height: auto !important;
}
.single-prevnext-link {
  font-size: 14px;
  font-weight: 600;
  color: var(--green-mid);
  text-decoration: none;
  transition: color 0.2s;
}
.single-prevnext-link:hover {
  color: var(--green-dark);
}
.single-prevnext-next {
  text-align: right;
  margin-left: auto;
}

/* ── Sidebar ───────────────────────────────────────────────────────────────── */
.single-sidebar {
  flex: 0 0 280px;
  position: sticky;
  top: 130px;
}

/* Sidebar widgets */
.sidebar-widget {
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--gray-light);
}
.sidebar-widget:last-child {
  border-bottom: none;
}
.sidebar-widget h4 {
  font-family: var(--font-display);
  font-size: 1.1rem;
  color: var(--charcoal);
  margin: 0 0 16px;
}

/* Recent posts list */
.sidebar-posts {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sidebar-posts li {
  margin-bottom: 14px;
}
.sidebar-posts li:last-child {
  margin-bottom: 0;
}
.sidebar-posts a {
  display: flex;
  gap: 12px;
  align-items: center;
  text-decoration: none;
  color: var(--charcoal);
  transition: color 0.2s;
}
.sidebar-posts a:hover {
  color: var(--green-mid);
}
.sidebar-post-thumb {
  width: 56px;
  height: 56px;
  border-radius: var(--radius);
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.sidebar-post-info {
  flex: 1;
  min-width: 0;
}
.sidebar-post-title {
  display: block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 2px;
}
.sidebar-posts time {
  font-size: 12px;
  color: var(--gray);
}

/* Categories list */
.sidebar-categories {
  list-style: none;
  margin: 0;
  padding: 0;
}
.sidebar-categories li {
  margin-bottom: 8px;
}
.sidebar-categories a {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--charcoal);
  text-decoration: none;
  padding: 6px 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  transition: color 0.2s;
}
.sidebar-categories a:hover {
  color: var(--green-mid);
}
.sidebar-categories span {
  color: var(--gray);
  font-size: 12px;
}

/* Sidebar CTA widget */
.sidebar-cta {
  background: var(--green-mid);
  color: var(--white);
  padding: 24px;
  border-radius: var(--radius);
  text-align: center;
  border-bottom: none;
}
.sidebar-cta h4 {
  color: var(--white);
  margin-bottom: 8px;
}
.sidebar-cta p {
  font-size: 13px;
  color: rgba(255,255,255,0.85);
  margin-bottom: 16px;
}
.sidebar-cta .button3 {
  background: var(--white);
  color: var(--green-mid);
  border-color: var(--white);
}
.sidebar-cta .button3:hover {
  background: var(--cream);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   BLOG RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
  .blog-featured-inner {
    flex-direction: column;
  }
  .blog-featured-image {
    min-height: 220px;
    flex: none;
  }
  .blog-featured-content {
    padding: 28px 24px;
  }
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  /* Single post — stack sidebar below content */
  .single-layout {
    flex-direction: column;
  }
  .single-sidebar {
    flex: none;
    width: 100%;
    position: static;
  }
  .single-prevnext {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }
  .blog-featured-content h2 {
    font-size: 1.4rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   HOMEPAGE — SERVICES SECTIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ── Shared header ─────────────────────────────────────────────────────────── */
.home-services-header {
  text-align: center;
  margin-bottom: 40px;
}
.home-services-header h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: 12px;
}
.home-services-header p {
  max-width: 600px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.65;
}

/* ═══ HARDSCAPES — Dark / Premium ═══════════════════════════════════════════ */
.home-services-hard {
  background: var(--charcoal);
  color: var(--white);
  padding: 80px 20px;
}
.home-services-hard-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.home-services-hard .home-services-header h2 {
  color: var(--white);
}
.home-services-hard .home-services-header p {
  color: rgba(255,255,255,0.7);
}

/* ── Hardscape image card grid ─────────────────────────────────────────────── */
.hard-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.hard-card {
  position: relative;
  height: 260px;
  background-size: cover;
  background-position: center;
  border-radius: var(--radius);
  overflow: hidden;
  text-decoration: none;
  display: block;
}
.hard-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0) 100%);
  display: flex;
  align-items: flex-end;
  padding: 24px;
  transition: background 0.3s ease;
}
.hard-card:hover .hard-card-overlay {
  background: linear-gradient(0deg, rgba(45,74,20,0.85) 0%, rgba(45,74,20,0.3) 60%, rgba(0,0,0,0) 100%);
}
.hard-card h3 {
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* ═══ HOMEPAGE SERVICES RESPONSIVE ═════════════════════════════════════════ */
@media (max-width: 960px) {
  .hard-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .hard-grid {
    grid-template-columns: 1fr;
  }
  .hard-card {
    height: 200px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════════
   SIMPLE REVIEWS SLIDER (for service pages)
   ═══════════════════════════════════════════════════════════════════════════════ */
.simple-reviews {
  background: var(--white);
  padding: 60px 20px;
  text-align: center;
}
.simple-reviews-inner {
  max-width: 800px;
  margin: 0 auto;
}
.simple-reviews h3 {
  font-family: var(--font-display);
  font-size: 1.6rem;
  color: var(--charcoal);
  margin-bottom: 32px;
}
.simple-reviews-slider {
  position: relative;
  min-height: 160px;
}
.simple-review {
  display: none;
  animation: srFadeIn 0.5s ease;
}
.simple-review.active {
  display: block;
}
@keyframes srFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}
.simple-review blockquote {
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.7;
  color: var(--charcoal);
  font-style: italic;
  margin: 0 0 16px;
  padding: 0;
  border: none;
  background: none;
}
.simple-review cite {
  font-style: normal;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--green-mid);
}

/* Dots */
.simple-reviews-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 24px;
}
.sr-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--gray-light);
  cursor: pointer;
  transition: background 0.2s;
}
.sr-dot.active {
  background: var(--green-mid);
}
.sr-dot:hover {
  background: var(--green-accent);
}

/* ═══════════════════════════════════════════════════════════════════════════════
   BEFORE & AFTER PAGE
   ═══════════════════════════════════════════════════════════════════════════════ */

.ba-intro {
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 20px 40px;
  text-align: center;
}
.ba-intro h2 {
  font-family: var(--font-display);
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--charcoal);
  margin-bottom: 12px;
}
.ba-intro p {
  color: var(--gray);
  font-size: 16px;
  line-height: 1.65;
}

/* ── Grid of pairs ─────────────────────────────────────────────────────────── */
.ba-grid {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px 60px;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
.ba-pair {
  width: 100%;
}
.ba-caption {
  font-family: var(--font-display);
  font-size: 1.3rem;
  color: var(--charcoal);
  text-align: center;
  margin-bottom: 16px;
}

/* ── Side by side ──────────────────────────────────────────────────────────── */
.ba-side-by-side {
  display: flex;
  gap: 20px;
}
.ba-side {
  flex: 1;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.ba-side img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Labels */
.ba-label {
  position: absolute;
  top: 12px;
  left: 12px;
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 3px;
  z-index: 2;
  background: rgba(0,0,0,0.55);
  color: #fff;
}
.ba-label-after {
  left: auto;
  right: 12px;
  background: var(--green-mid);
}

/* ── Responsive ────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .ba-side-by-side {
    flex-direction: column;
    gap: 12px;
  }
  .ba-label {
    font-size: 10px;
    padding: 4px 10px;
  }
}


/* ═══════════════════════════════════════════════════════════════════════════════
   GRAVITY FORMS — Checkbox & Radio Fix
   The global `input { width: 100% }` rule causes checkbox/radio inputs to
   stretch full-width instead of sitting inline next to their labels.
   ═══════════════════════════════════════════════════════════════════════════════ */
 
/* Reset width for checkbox and radio inputs */
.gfield_checkbox input[type="checkbox"],
.gfield_radio input[type="radio"] {
  width: auto !important;
  display: inline-block !important;
  margin-right: 8px;
  vertical-align: middle;
  padding: 0 !important;
}
 
/* Ensure labels sit inline next to the input */
.gfield_checkbox label.gform-field-label--type-inline,
.gfield_radio label.gform-field-label--type-inline {
  display: inline !important;
  vertical-align: middle;
}
 
/* Fix the choice wrapper to use flexbox for clean alignment */
.gfield_checkbox .gchoice,
.gfield_radio .gchoice {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
}
 
/* Make sure the input doesn't grow inside flex */
.gfield_checkbox .gchoice input,
.gfield_radio .gchoice input {
  flex: 0 0 auto;
  width: auto !important;
}
 
/* Label takes remaining space */
.gfield_checkbox .gchoice label,
.gfield_radio .gchoice label {
  flex: 1;
  line-height: 1.4;
}

.gform_wrapper.gravity-theme fieldset {
    margin-top: 25px !important;
}

.gform_wrapper.gravity-theme .gfield_label {
    font-size: 20px !important;
}
.gform_wrapper.gravity-theme .field_sublabel_above .gfield_description {
    margin-top: 0px !important;
    padding-top: 0px !important;
}