/*
Theme Name: Griffith Property Maintenance
Author: Griffith Property Maintenance
Description: Responsive business website for Griffith Property Maintenance with 3D service cards, gallery, booking request and animated client counter.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: griffith-property-maintenance
*/

:root{--green:#68d43a;--lime:#a6e35e;--gold:#e9a927;--bg:#090b09;--panel:#141714;--line:#30372f;--ink:#f7f9f4;--muted:#adb6a9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}section{scroll-margin-top:90px}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.ticker{height:35px;background:linear-gradient(90deg,#428b21,#5daa29);color:#fff;overflow:hidden;display:flex;align-items:center;white-space:nowrap;font-size:11px;font-weight:900;letter-spacing:.2em}.ticker-track{display:flex;gap:30px;min-width:max-content;animation:marquee 32s linear infinite}.ticker-track span:after{content:'✦';color:#e7f6d5;margin-left:30px;font-size:9px}@keyframes marquee{to{transform:translateX(-50%)}}.nav{position:sticky;top:0;z-index:50;background:#090b09ed;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff22}.nav-row{height:93px;display:grid;grid-template-columns:180px 1fr 170px;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:148px;height:88px;object-fit:contain}.brand span{font-size:12px;line-height:1.12;letter-spacing:.08em;font-weight:950;text-transform:uppercase}.nav-links{display:flex;gap:22px;justify-content:center;align-items:center}.nav-links a{font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.11em;color:#e2e7dc}.nav-links a:hover{color:var(--lime)}.btn{border:1px solid transparent;border-radius:10px;min-height:49px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;font-size:11px;transition:transform .2s,box-shadow .2s,border-color .2s}.btn:hover{transform:translateY(-3px)}.primary{background:linear-gradient(135deg,#78db39,#398e24);color:#081008;box-shadow:0 14px 30px #38972942}.primary:hover{box-shadow:0 18px 38px #56bb3580}.outline{border-color:#8ccd6a;background:#0b0d0bba;color:#f7fff3}.outline:hover{border-color:var(--lime)}.menu{display:none;width:45px;height:45px;border:1px solid #77876f;border-radius:8px;background:#171d16;color:#fff;font-size:24px}.hero{min-height:680px;display:flex;align-items:center;background-image:linear-gradient(90deg,#080a09f9 3%,#080a09e8 34%,#080a0970 66%,#080a0925 100%),linear-gradient(0deg,#090b09,transparent 32%),url('assets/photo-5f29d9fdb8e7f657.jpg');background-position:center,center,50% 48%;background-size:cover;position:relative}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--green),transparent)}.hero-content{position:relative;z-index:1;padding:100px 0 112px}.eyebrow,.kicker{font-size:11px;text-transform:uppercase;color:var(--lime);letter-spacing:.22em;font-weight:900}.eyebrow:before{content:'';display:inline-block;width:30px;height:2px;vertical-align:middle;margin-right:12px;background:var(--green)}h1,h2,h3,p{margin-top:0}h1{max-width:850px;font-size:clamp(34px,5.3vw,72px);letter-spacing:-.06em;line-height:1.04;margin:25px 0;overflow-wrap:anywhere}.accent{color:var(--lime)}.hero p{max-width:545px;font-size:18px;color:#d4dad0}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap;margin:29px 0 38px}.checks{display:flex;flex-wrap:wrap;gap:13px 26px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.checks span:before{content:'✓';color:var(--green);margin-right:8px}.quickbar{background:#151a14;border-bottom:1px solid #353c33}.quickbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.quickbar div{padding:24px 23px;border-right:1px solid #3a4337}.quickbar div:first-child{padding-left:0}.quickbar div:last-child{border:0}.quickbar strong{display:block;font-size:17px}.quickbar small{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.section{padding:105px 0}.section-heading{max-width:690px}.section-heading h2,.split h2{font-size:clamp(34px,4.2vw,59px);letter-spacing:-.05em;line-height:1.08;margin:15px 0 18px}.section-heading p,.split p{color:var(--muted);font-size:16px}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:72px}.about-photo{position:relative}.about-photo img{width:100%;height:510px;object-fit:cover;border-radius:18px;border:1px solid #526649}.about-photo:after{content:'LICENSED & INSURED';position:absolute;right:-15px;bottom:26px;background:#66c83c;color:#071007;border-radius:9px;padding:15px 20px;font-weight:950;font-size:12px;letter-spacing:.1em;box-shadow:0 20px 40px #0008}.feature{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:24px 0 30px}.feature span{border-left:2px solid var(--green);padding:5px 11px;font-weight:800;font-size:13px}.services-section{background:#101410}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:34px}.section-head .section-heading h2{margin-bottom:0}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service{border:1px solid #374334;border-radius:14px;background:#181d17;overflow:hidden;transition:transform .25s,border-color .25s,box-shadow .25s}.service:hover{transform:translateY(-7px) rotateX(2deg);border-color:var(--green);box-shadow:0 24px 35px #0008}.service-media{overflow:hidden}.service img{width:100%;height:205px;object-fit:cover;transition:transform .4s}.service:hover img{transform:scale(1.055)}.service-body{padding:20px}.small-rule{display:block;height:2px;width:30px;background:var(--green);margin-bottom:14px}.service h3{font-size:20px;letter-spacing:-.03em;margin-bottom:8px}.service p{font-size:13px;color:var(--muted);min-height:82px}.service a{color:#f7fff5;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.service a span{color:var(--lime);margin-left:5px}.note{font-size:12px;color:#8f9c8d;margin-top:17px}.why{background:radial-gradient(circle at 100% 0%,#357a1b33,transparent 38%),#090c09}.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.why-cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.why-card{padding:25px;background:#171d16;border:1px solid #354433;border-radius:13px}.why-card i{display:block;width:25px;height:3px;background:var(--green);margin-bottom:25px}.why-card h3{font-size:18px;margin-bottom:8px}.why-card p{font-size:13px;color:var(--muted);margin:0}.gallery-section{background:#121712;overflow:hidden}.gallery-head{text-align:center;max-width:720px;margin:0 auto 45px}.coverflow{perspective:1100px;height:430px;position:relative;max-width:1000px;margin:auto;touch-action:pan-y}.slide{position:absolute;top:20px;left:50%;width:56%;height:355px;transform-origin:center;overflow:hidden;background:#181c17;color:#fff;border:1px solid #8b9c815c;border-radius:15px;padding:0;box-shadow:0 22px 45px #0009;transition:transform .45s,opacity .45s,filter .45s;backface-visibility:hidden}.slide img{width:100%;height:100%;object-fit:cover}.slide:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#000c)}.slide span{position:absolute;bottom:17px;left:20px;z-index:1;text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.12em}.slide[data-pos="0"]{transform:translateX(-50%) translateZ(130px);z-index:5;opacity:1}.slide[data-pos="-1"]{transform:translateX(-104%) rotateY(38deg) scale(.78);z-index:4;opacity:.8;filter:brightness(.72)}.slide[data-pos="1"]{transform:translateX(4%) rotateY(-38deg) scale(.78);z-index:4;opacity:.8;filter:brightness(.72)}.slide[data-pos="hidden"]{transform:translateX(-50%) scale(.5);z-index:1;opacity:0;pointer-events:none}.gallery-controls{display:flex;justify-content:center;gap:16px;align-items:center}.round{width:48px;height:48px;border:1px solid #699c55;background:#1c281a;color:#fff;border-radius:50%;font-size:24px}.round:hover{background:#4f9c2e}.count{font-size:12px;letter-spacing:.14em;color:#b7c4b0;min-width:80px;text-align:center}.gallery-hint{text-align:center;color:#aab5a6;font-size:12px;margin-top:16px}.form-section{background:radial-gradient(circle at 90% 0%,#306c1f35,transparent 30%),#090c09}.form-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:74px}.panel{background:#171d16;border:1px solid #40513b;border-radius:17px;padding:32px;box-shadow:0 24px 70px #0005}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{text-transform:uppercase;color:#cbd9c5;letter-spacing:.12em;font-size:11px;font-weight:900}.field input,.field select,.field textarea{background:#0b100b;color:#fff;border:1px solid #475545;border-radius:8px;outline:0;width:100%;min-height:47px;padding:12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green)}.field textarea{min-height:114px;resize:vertical}.panel .btn{width:100%}.form-note{color:#9faa9b;font-size:12px;margin:12px 0 0}.contact{background:#121712}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-row{padding:16px 0;border-top:1px solid #364034}.contact-row small{display:block;color:var(--lime);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.contact-row strong{font-size:18px;overflow-wrap:anywhere}.footer{background:#070907;border-top:1px solid #384533;padding:55px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:34px}.footer img{width:200px;height:120px;object-fit:contain;object-position:left}.footer h3{text-transform:uppercase;letter-spacing:.12em;font-size:12px;margin:14px 0 18px}.footer p,.footer a{font-size:13px;color:#a9b4a4}.footer a{display:block;margin:8px 0}.footer a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #2c3529;margin-top:35px;padding-top:19px;display:flex;justify-content:space-between;gap:12px;color:#95a090;font-size:12px}.footer-bottom b{color:var(--green)}.lightbox{position:fixed;inset:0;z-index:100;background:#030603f2;display:none;align-items:center;justify-content:center;padding:54px 70px}.lightbox.open{display:flex}.lightbox figure{margin:0;max-width:min(100%,1100px);max-height:100%;display:flex;flex-direction:column;align-items:center;gap:10px}.lightbox img{max-height:calc(100vh - 130px);max-width:100%;object-fit:contain;border-radius:9px;box-shadow:0 28px 80px #000}.lightbox figcaption{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:900}.lightbox button{position:absolute;border:1px solid #89af77;background:#182317;color:white;border-radius:50%;width:48px;height:48px;font-size:24px}.lightbox .close{top:18px;right:20px}.lightbox .prev{left:18px}.lightbox .next{right:18px}@media(max-width:1100px){.nav-row{grid-template-columns:160px 1fr 156px;gap:10px}.nav-links{gap:11px}.nav-links a{font-size:10px}.services-grid{grid-template-columns:repeat(2,1fr)}.service p{min-height:45px}}@media(max-width:760px){.wrap{width:min(100% - 32px,580px)}.nav-row{height:76px;grid-template-columns:1fr auto}.brand img{height:66px;width:100px}.brand span{font-size:11px}.menu{display:block}.nav-call{display:none}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;background:#0e140d;padding:12px 18px 20px;box-shadow:0 25px 45px #000c;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid #4d6347}.nav-links.open{display:flex}.nav-links a{padding:12px 7px;font-size:12px;border-bottom:1px solid #ffffff1a}.mobile-call{display:block!important;background:#458f2d;border-radius:8px;text-align:center;margin-top:12px}.hero{min-height:630px;background-position:center,center,48% center;background-image:linear-gradient(90deg,#080a09e8,#080a09a0),linear-gradient(0deg,#090b09,transparent 34%),url('assets/photo-5f29d9fdb8e7f657.jpg')}.hero-content{padding:88px 0}.hero p{font-size:16px}h1{font-size:clamp(42px,11vw,65px)}.quickbar .wrap{grid-template-columns:1fr 1fr}.quickbar div{padding:20px 12px}.quickbar div:last-child{display:none}.quickbar strong{font-size:14px}.quickbar small{font-size:9px}.section{padding:72px 0}.about-grid,.why-grid,.form-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.about-photo img{height:330px}.about-photo:after{right:8px;bottom:8px}.section-head{display:block}.services-grid{grid-template-columns:1fr}.service img{height:240px}.service p{min-height:0}.coverflow{height:310px}.slide{width:76%;height:245px;top:10px}.slide[data-pos="0"]{transform:translateX(-50%) translateZ(60px)}.slide[data-pos="-1"]{transform:translateX(-90%) rotateY(35deg) scale(.75)}.slide[data-pos="1"]{transform:translateX(-10%) rotateY(-35deg) scale(.75)}.footer-grid{grid-template-columns:repeat(3,1fr);gap:18px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid a{font-size:11px;overflow-wrap:anywhere}.footer-bottom{flex-direction:column}.lightbox{padding:50px 15px}.lightbox .prev{left:5px}.lightbox .next{right:5px}.lightbox button{width:40px;height:40px;background:#182317dc}}@media(max-width:430px){.hero-buttons .btn{width:100%}.fields{grid-template-columns:1fr}.panel{padding:22px}.why-cards{gap:8px}.why-card{padding:16px}.why-card h3{font-size:15px}.why-card p{font-size:12px}.footer-grid{gap:9px}.footer h3{font-size:10px}.slide{width:83%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*{transition:none!important}}

/* Scroll entrance motion — V2 pronounced four-direction effects */
@keyframes heroSlideIn{from{opacity:0;transform:translate3d(-90px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes heroRiseIn{from{opacity:0;transform:translate3d(0,55px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.hero .eyebrow,.hero h1{animation:heroSlideIn 1.05s both}.hero h1{animation-delay:.16s}.hero p,.hero-buttons,.hero .checks{animation:heroRiseIn .95s both}.hero p{animation-delay:.34s}.hero-buttons{animation-delay:.48s}.hero .checks{animation-delay:.62s}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero h1,.hero p,.hero-buttons,.hero .checks{animation:none}}
.motion-ready .reveal{opacity:0;filter:blur(7px);transition:opacity 1.05s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1),filter 1.05s ease;transition-delay:var(--reveal-delay,0ms);will-change:transform,opacity}
.motion-ready .reveal-from-left{transform:translate3d(-155px,0,0) rotateY(-14deg)}
.motion-ready .reveal-from-right{transform:translate3d(155px,0,0) rotateY(14deg)}
.motion-ready .reveal-from-up{transform:translate3d(0,-110px,0) rotateX(12deg)}
.motion-ready .reveal-from-down{transform:translate3d(0,115px,0) rotateX(-12deg)}
.motion-ready .reveal.is-visible{opacity:1;filter:none;transform:translate3d(0,0,0) rotateX(0) rotateY(0);will-change:auto}
@media(max-width:760px){.motion-ready .reveal-from-left{transform:translate3d(-45px,0,0)}.motion-ready .reveal-from-right{transform:translate3d(45px,0,0)}.motion-ready .reveal-from-up{transform:translate3d(0,-42px,0)}.motion-ready .reveal-from-down{transform:translate3d(0,48px,0)}}
@media(prefers-reduced-motion:reduce){.motion-ready .reveal{opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}
.hero-client-count{display:inline-flex;align-items:center;gap:15px;margin-top:26px;padding:12px 20px;border:1px solid #78c84766;border-radius:18px;background:#101b13d9;box-shadow:0 16px 42px #0006}.hero-client-count strong{font-size:clamp(32px,4vw,48px);line-height:1;color:#a6e35e}.hero-client-count>span{font-size:13px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#fff}@media(max-width:760px){.hero-client-count{margin-top:20px}}

