:root{--ink:#0b120c;--deep:#1f5a24;--deeper:#123a16;--green:#5a9e2f;--lime:#7cc04a;--tan:#c9b48f;--off:#f7f4ee;--D:"Montserrat","Archivo Black",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:var(--D);font-weight:600;background:var(--ink);color:#fff;line-height:1.5;-webkit-font-smoothing:antialiased;padding-bottom:76px}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1180px;margin:auto;padding:0 18px}
h1,h2,h3{font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.98}
h1{font-size:clamp(2.6rem,9vw,5rem)}h2{font-size:clamp(2.1rem,6.5vw,3.6rem);margin:8px 0 14px}h3{font-size:1.25rem}
.hl{color:var(--lime)}.lead{font-size:1.08rem;font-weight:600;max-width:640px;color:#fff}
.kick{display:inline-block;background:var(--tan);color:var(--ink);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;padding:6px 12px;transform:skewX(-10deg)}
.ph{background:#ffe066;color:#111;font-weight:800;padding:0 4px;border-radius:3px}
.pi{width:1em;height:1em;fill:currentColor;flex:none}
.num{font-family:"Archivo Black","Montserrat",sans-serif;font-weight:900;letter-spacing:-.03em;line-height:1;white-space:nowrap;text-shadow:0 3px 0 rgba(0,0,0,.35)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 26px;border-radius:12px;font-weight:900;text-transform:uppercase;font-size:1rem;letter-spacing:.02em;border:3px solid transparent}
.btn.pri{background:var(--lime);color:var(--ink);border-color:var(--ink);box-shadow:0 5px 0 var(--ink)}
.btn.alt{background:transparent;border-color:#fff;color:#fff}
header{position:sticky;top:0;z-index:30;background:var(--deeper);border-bottom:5px solid var(--lime)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:10px}
.logo{background:#fff;border-radius:10px;padding:4px 8px}.logo img{height:40px;width:auto}
.links{display:none;gap:22px;font-weight:800;text-transform:uppercase;font-size:.9rem}.links a:hover{color:var(--lime)}
.hcall{display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);font-weight:900;text-transform:uppercase;padding:10px 14px;border-radius:10px;border:3px solid var(--ink);font-size:.95rem}
.hcall span{display:none}.hcall .pi{width:22px;height:22px}
.hero{position:relative;background:linear-gradient(160deg,var(--deep) 0 60%,var(--deeper) 60%);padding:22px 0 70px;overflow:hidden}
.hgrid{display:grid;gap:22px}.htext{position:relative;z-index:2}
.hero .kick{margin-bottom:12px}.hero h1{margin-bottom:14px}
.hnum{display:block;background:#fff;color:var(--deep);border:4px solid var(--ink);border-radius:16px;padding:12px 14px;box-shadow:0 7px 0 var(--ink);margin:6px 0 20px}
.hnum .cn,.fnum .cn{display:flex;align-items:center;gap:8px;font-weight:900;text-transform:uppercase;font-size:1rem;color:var(--ink)}
.hnum .num{display:block;font-size:clamp(2.2rem,11.5vw,4.6rem);color:var(--deep);text-shadow:none}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.note{font-weight:700}
.hphoto{position:relative;margin:0;border:5px solid #fff;border-radius:18px;overflow:hidden;transform:rotate(-1.5deg);box-shadow:0 14px 0 var(--lime)}
.hphoto img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
figcaption{position:absolute;left:0;bottom:0;background:var(--ink);color:#fff;font-size:.72rem;font-weight:800;padding:4px 8px;text-transform:uppercase}
.swoosh{position:absolute;left:-5%;right:-5%;bottom:-2px;height:60px;background:var(--lime);clip-path:ellipse(60% 100% at 50% 100%)}
.swoosh:after{content:"";position:absolute;inset:14px 0 0;background:var(--tan);clip-path:ellipse(60% 100% at 50% 100%)}
.trust-strip{background:var(--tan);color:var(--ink);padding:18px 0;border-bottom:6px solid var(--ink)}
.tgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tgrid div{display:flex;align-items:center;gap:10px;text-transform:uppercase;font-size:.85rem;line-height:1.15}
.tb{width:44px;height:44px;flex:none;border-radius:50%;background:var(--deep);color:#fff;display:grid;place-items:center;border:3px solid var(--ink);font-size:1.15rem}
section{padding:64px 0;position:relative}
#services{background:var(--deep);clip-path:polygon(0 0,100% 30px,100% 100%,0 100%);margin-top:-1px}
.cards{display:grid;gap:14px;margin-top:24px}
.svc{display:flex;gap:16px;align-items:flex-start;background:var(--deeper);border:4px solid var(--lime);border-radius:16px;padding:18px}
.badge{width:68px;height:68px;flex:none;border-radius:50%;background:var(--lime);border:4px solid #fff;display:grid;place-items:center;font-size:1.9rem;box-shadow:0 4px 0 var(--ink)}
.badge.sm{width:50px;height:50px;font-size:1.3rem;color:var(--ink)}.badge .pi{width:24px;height:24px}
.svc h3{margin-bottom:6px}.svc p{font-weight:600}
.pgrid{display:grid;gap:14px;margin-top:22px}.pgrid img{border:5px solid #fff;border-radius:16px;width:100%;aspect-ratio:16/10;object-fit:cover}
.rc{background:var(--lime);color:var(--ink);padding:34px 0;transform:skewY(-3deg);margin:20px 0;border-top:8px solid var(--ink);border-bottom:8px solid var(--ink)}
.rc .wrap{transform:skewY(3deg);text-align:center}.rc h2{margin:0;font-size:clamp(2rem,8vw,4rem)}.rc h2 span{color:#fff;-webkit-text-stroke:2px var(--ink)}
.rc p{font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.light{background:var(--off);color:var(--ink)}.light .lead{color:var(--ink)}
.steps{display:grid;gap:14px;margin-top:24px}
.step{background:#fff;border:4px solid var(--ink);border-left:14px solid var(--deep);border-radius:12px;padding:18px}
.step b{font-family:"Archivo Black";font-size:2.4rem;color:var(--green);line-height:1}
#work{background:var(--ink)}
.ba{display:grid;gap:14px;margin-top:22px}
.slot{min-height:200px;border:4px dashed var(--lime);border-radius:16px;display:grid;place-items:center;text-align:center;font-weight:800;padding:20px;background:var(--deeper);color:#fff}
.slot i{display:block;font-style:normal;font-weight:900;color:var(--lime);font-size:1.4rem}
.about{display:grid;gap:22px}.trust{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.trust div{border:3px solid var(--ink);border-radius:10px;padding:10px;background:#fff}.trust strong{display:block;text-transform:uppercase;font-weight:900}
.area{background:var(--deeper);border-top:8px solid var(--tan)}
.callnow{display:block;background:var(--lime);color:var(--ink);padding:34px 0;border-top:8px solid var(--ink);border-bottom:8px solid var(--ink)}
.callnow .wrap{display:flex;align-items:center;gap:16px}
.cbadge{width:84px;height:84px;flex:none;border-radius:50%;background:var(--deep);border:5px solid #fff;color:#fff;display:grid;place-items:center;box-shadow:0 5px 0 var(--ink)}.cbadge .pi{width:40px;height:40px}
.callnow small{display:block;font-weight:900;text-transform:uppercase;font-size:1.3rem}
.callnow .num{display:block;font-size:clamp(2rem,10.5vw,5.5rem);color:#fff;-webkit-text-stroke:2px var(--ink);text-shadow:0 5px 0 var(--ink)}
.callnow em{font-style:normal;font-weight:800}
#contact{background:var(--deep)}.contact{display:grid;gap:24px}
.cline{display:flex;gap:14px;align-items:center;margin-top:14px}.cline small{display:block;text-transform:uppercase;font-weight:900;color:var(--tan)}.cline a{font-weight:900;font-size:1.15rem;word-break:break-all}
form{background:#fff;color:var(--ink);border:4px solid var(--ink);border-radius:16px;padding:18px;display:grid;gap:10px}
input,select,textarea{font:inherit;font-weight:600;padding:13px;border:3px solid var(--ink);border-radius:10px;width:100%}
footer{position:relative;background:var(--deeper);padding:80px 0 30px}
footer .swoosh.top{top:-2px;bottom:auto;transform:rotate(180deg)}
.fnum{display:block;text-align:center;margin-bottom:34px}.fnum .cn{justify-content:center;color:var(--tan);font-size:1.2rem}.fnum .num{display:block;font-size:clamp(2.2rem,11vw,5rem);color:var(--lime)}
.fgrid{display:grid;gap:22px}.fgrid strong{text-transform:uppercase;font-weight:900;color:var(--tan)}
.flogo{display:inline-block;background:#fff;border-radius:10px;padding:6px}.fgrid p{margin-top:8px}
.copy{margin-top:30px;border-top:4px solid var(--deep);padding-top:16px;font-weight:700}.copy a{color:var(--lime);font-weight:900}
.mcall{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--lime);color:var(--ink);font-family:"Archivo Black",var(--D);font-size:1.3rem;padding:16px;border-top:5px solid var(--ink);text-transform:uppercase}
.mcall .pi{width:26px;height:26px}
.wa{position:fixed;right:14px;bottom:86px;z-index:40;width:56px;height:56px;border-radius:50%;background:#25d366;display:grid;place-items:center;border:3px solid var(--ink)}
@media(min-width:480px){.hcall span{display:inline}}
@media(min-width:760px){.cards,.pgrid,.steps{grid-template-columns:1fr 1fr}.ba{grid-template-columns:repeat(3,1fr)}.tgrid{grid-template-columns:repeat(4,1fr)}.contact,.about{grid-template-columns:1fr 1fr;align-items:start}.fgrid{grid-template-columns:2fr 1fr 1fr}}
@media(min-width:960px){body{padding-bottom:0}.mcall{display:none}.wa{bottom:20px}.links{display:flex}.hgrid{grid-template-columns:1.1fr .9fr;align-items:center}.hero{padding:50px 0 100px}.steps{grid-template-columns:repeat(4,1fr)}.hcall{font-size:1.1rem;padding:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.hgrid{grid-template-columns:minmax(0,1fr)}.hgrid>*{min-width:0}
.hnum .num{font-size:clamp(1.9rem,9.6vw,4.6rem)}
footer,main{overflow-x:clip}
.callnow .wrap{flex-direction:column;text-align:center}.callnow .num{font-size:clamp(2rem,10vw,5.5rem)}
@media(min-width:760px){.callnow .wrap{flex-direction:row;text-align:left}}
@media(min-width:960px){.hgrid{grid-template-columns:1.1fr .9fr}}

/* ===== flyer word art (10/29) — set --wa-l1/--wa-l2 fill, --wa-dk outline/shadow, --wa-bn banner ===== */
.wa-banner{display:inline-block;font-family:Montserrat,sans-serif;font-weight:900;color:#fff!important;-webkit-text-fill-color:#fff;background:var(--wa-bn);border-radius:16px;padding:.18em .7em .14em;letter-spacing:.06em;text-transform:uppercase;border:0!important;box-shadow:0 0 0 4px var(--wa-l1)}
.wa-2t{display:block;font-family:Montserrat,sans-serif;font-weight:900;text-transform:uppercase;color:var(--wa-bn)}
.wa-2t b,.wa-2t span,.wa-2t em{font-style:normal;color:var(--wa-l2);-webkit-text-stroke:.03em var(--wa-dk);paint-order:stroke fill;text-shadow:.04em .05em 0 var(--wa-dk)}
.wa-script{position:relative;display:inline-block;font-family:"Kaushan Script",cursive!important;font-style:normal!important;font-weight:400!important;text-transform:none;transform:rotate(-4deg);padding-bottom:.18em}
.wa-script:after{content:"";position:absolute;left:-4%;right:-6%;bottom:-.05em;height:.32em;background:var(--wa-l1);border-radius:50% 50% 50% 50%/100% 100% 0 0;transform:skewX(-20deg) rotate(-1.5deg);z-index:-1;opacity:.95}
.wa-num{position:relative;display:inline-block;font-family:"Baloo 2","Lilita One",Montserrat,sans-serif!important;font-weight:800!important;letter-spacing:0;line-height:1;color:var(--wa-l2)!important;-webkit-text-fill-color:var(--wa-l2);background:none;-webkit-text-stroke:0;filter:none;padding:0;
text-shadow:.035em 0 0 var(--wa-dk),-.035em 0 0 var(--wa-dk),0 .035em 0 var(--wa-dk),0 -.035em 0 var(--wa-dk),.025em .025em 0 var(--wa-dk),-.025em .025em 0 var(--wa-dk),.025em -.025em 0 var(--wa-dk),-.025em -.025em 0 var(--wa-dk),.07em .08em 0 var(--wa-dk),.06em .07em 0 var(--wa-dk),.05em .06em 0 var(--wa-dk)}
.wa-num:after{content:attr(data-t);position:absolute;left:0;top:0;right:0;text-shadow:none;background:linear-gradient(180deg,var(--wa-l1) 15%,var(--wa-l2) 85%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;pointer-events:none}
:root{--wa-l1:#c8f08f;--wa-l2:#7cc04a;--wa-dk:#0b120c;--wa-bn:#123a16}
/* 10/29 CALL NOW band: Steven-size, flyer word art */
.callnow{background:var(--deeper)!important;color:#fff!important;padding:80px 0 88px!important;border:0!important;clip-path:polygon(0 4vw,100% 0,100% calc(100% - 4vw),0 100%);text-decoration:none}
.callnow .wrap{flex-direction:column!important;text-align:center!important;gap:0!important}
.callnow .cbadge{display:none}
.callnow>.wrap>span{display:flex;flex-direction:column;align-items:center}
.callnow small.wa-banner{font-size:clamp(2rem,6.5vw,3.8rem)!important;box-shadow:0 0 0 5px var(--lime)}
.callnow .num.wa-num{font-size:clamp(2.7rem,12vw,6rem)!important;margin:18px 0 14px;white-space:nowrap;-webkit-text-stroke:0}
.callnow em{color:#fff;font-size:clamp(1rem,2.6vw,1.4rem);font-weight:800}
.callnow .dom{display:block;color:var(--tan);font-weight:900;font-size:clamp(1rem,2.6vw,1.5rem);margin-top:8px}
.hero .wa-script{color:#fff;font-size:clamp(1.7rem,6vw,2.6rem);margin:0 0 10px}
.hero h1 .hl{color:var(--wa-l2)!important;-webkit-text-fill-color:var(--wa-l2);background:none!important;text-shadow:.03em 0 0 var(--wa-dk),-.03em 0 0 var(--wa-dk),0 .03em 0 var(--wa-dk),0 -.03em 0 var(--wa-dk),.06em .07em 0 var(--wa-dk)}
/* 10/29 4:50PM aspect fix */
img{object-fit:contain}
.mbar .wa-num,.mcall .wa-num,.callbar .wa-num{font-size:1.7rem!important;line-height:1.05;margin:0!important;white-space:nowrap}
.mcall{background:var(--deeper)!important;color:#fff!important;border-top:4px solid var(--lime)}.mcall .pi{fill:#fff;color:#fff}
