/* Landeros Fence & Construction — Styles */
/* Google Fonts loaded via <link> in HTML head for faster rendering */

*{margin:0;padding:0;box-sizing:border-box}:root{--g:#1a1a1a;--go:#CC0000;--dk:#1a1a1a;--gr:#555;--lt:#f5f5f5;--bd:#e0e0e0;--f:'Montserrat',sans-serif;--b:'Open Sans',sans-serif}.sk-link{position:absolute;top:-100px;left:50%;transform:translateX(-50%);background:var(--g);color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;font:700 14px var(--f);z-index:9999;transition:top .2s;text-decoration:none}.sk-link:focus{top:0}*:focus-visible{outline:3px solid var(--go);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--go);outline-offset:2px;border-radius:4px}

/* Top Bar */
.tb{background:var(--g);color:#fff;font:600 13px var(--b);padding:8px 0;text-align:center}.tb a{color:var(--go);text-decoration:none;font-weight:700}

/* Navigation */
.nv{background:#fff;border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:100}.nvi{max-width:1400px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:space-between;height:66px}.nvl{font:900 22px var(--f);color:var(--g);cursor:pointer;text-decoration:none}.nvl span{color:var(--go)}.nvk{display:flex;align-items:center;gap:2px}.nb{font:600 13px var(--f);color:var(--dk);padding:8px 12px;border:none;background:none;cursor:pointer;border-radius:8px;display:flex;align-items:center;gap:3px;text-decoration:none;min-height:40px;transition:background .2s,color .2s}.nb:hover{background:var(--lt);color:var(--go)}.nc{background:var(--go);color:#fff;padding:10px 20px;border-radius:8px;font:700 13px var(--f);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;transition:background .2s,transform .1s}.nc:hover{background:#990000}.nc:active{transform:scale(.97)}.np{display:flex;align-items:center;gap:6px;color:var(--g);font:700 13px var(--f);text-decoration:none;margin-left:6px;white-space:nowrap;padding:8px 12px;border-radius:8px;min-height:40px;transition:background .2s}.np:hover{background:var(--lt)}

/* Dropdowns */
.dd{position:relative}.dm{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--bd);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.1);min-width:220px;padding:4px;z-index:99;max-height:400px;overflow-y:auto}.dd:hover .dm{display:block}.di{display:block;width:100%;text-align:left;padding:9px 12px;border:none;background:none;font:500 13px var(--f);color:var(--dk);cursor:pointer;border-radius:5px;text-decoration:none}.di:hover{background:rgba(204,0,0,.06);color:var(--g)}

/* Mobile Menu */
.mb{display:none;background:none;border:none;cursor:pointer;color:var(--dk);width:44px;height:44px;border-radius:8px;align-items:center;justify-content:center;transition:background .2s}.mb:hover{background:var(--lt)}.mb:active{background:var(--bd)}
.mm{position:fixed;inset:0;z-index:200;background:#fff;overflow-y:auto;display:none;flex-direction:column}.mm.open{display:flex}
.mm-head{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--bd)}
.mc{background:none;border:none;cursor:pointer;color:var(--dk);width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s}.mc:hover{background:var(--lt)}.mc:active{background:var(--bd)}
.mm-links{flex:1;padding:8px 20px;overflow-y:auto}
.ml{display:flex;align-items:center;width:100%;text-align:left;padding:14px 0;border:none;border-bottom:1px solid var(--bd);background:none;font:600 15px var(--f);color:var(--dk);cursor:pointer;text-decoration:none;min-height:48px;transition:color .2s}.ml:hover{color:var(--go)}.ml:active{color:var(--go)}
.mm-cta{padding:16px 20px;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--bd)}
.mm-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border-radius:8px;font:700 15px var(--f);text-decoration:none;text-align:center;min-height:48px;transition:opacity .2s}.mm-btn:active{opacity:.8}
.mm-btn-red{background:var(--go);color:#fff}.mm-btn-dark{background:var(--dk);color:#fff}.mm-btn-outline{background:none;color:var(--dk);border:2px solid var(--bd)}
.mm-social{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 20px 24px}
.mm-social a{color:var(--gr);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--lt);transition:color .2s,background .2s}.mm-social a:hover{color:var(--go);background:rgba(204,0,0,.08)}
.nv-mob-social{display:flex;align-items:center;gap:8px;margin-left:12px}
.nv-mob-social a{color:var(--dk);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:color .2s,background .2s}.nv-mob-social a:hover{color:var(--go);background:rgba(204,0,0,.06)}
@media(max-width:900px){.nvk{display:none}.mb{display:flex}}

/* Hero */
.hr{min-height:70vh;background:linear-gradient(135deg,#1a1a1a 0%,#2a2a2a 50%,#333 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background-size:cover;background-position:center}.hrb{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.35),rgba(0,0,0,.6))}.hrc{position:relative;z-index:2;text-align:center;padding:24px;max-width:780px}.hbd{display:inline-block;background:rgba(204,0,0,.15);border:1px solid rgba(204,0,0,.4);padding:5px 16px;border-radius:50px;color:#ff4444;font:700 12px var(--f);letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}.hrc h1{font:900 46px/1.1 var(--f);color:#fff;margin-bottom:10px;text-shadow:0 2px 8px rgba(0,0,0,.3)}.hrc h1 em{font-style:normal;color:#ff4444}.hrc>p{font:400 17px/1.6 var(--b);color:rgba(255,255,255,.95);margin-bottom:26px;text-shadow:0 1px 6px rgba(0,0,0,.3)}.hbt{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Buttons */
.bg{background:var(--go);color:#fff;padding:13px 26px;border-radius:6px;font:700 14px var(--f);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.bg:hover{background:#990000}.bo{background:transparent;color:#fff;padding:13px 26px;border-radius:6px;font:700 14px var(--f);border:2px solid rgba(255,255,255,.35);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.bo:hover{border-color:#fff}.bd{background:var(--g);color:#fff;padding:13px 26px;border-radius:6px;font:700 14px var(--f);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px}.bd:hover{background:#111}.bw{background:#fff;color:var(--g);padding:13px 26px;border-radius:6px;font:700 14px var(--f);border:none;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:7px}

/* Quick Section (Home split layout) */
.qs{background:var(--lt);padding:48px 20px}.qi{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}@media(max-width:900px){.qi{grid-template-columns:1fr}}.qt h2{font:800 32px var(--f);color:var(--g);margin-bottom:10px}.qt p{font:400 15px/1.7 var(--b);color:var(--gr);margin-bottom:12px}

/* Stats */
.sts{display:flex;gap:28px;margin-top:18px}.stn{font:900 32px var(--f);color:var(--go)}.stl{font:500 11px var(--b);color:var(--gr);text-transform:uppercase;letter-spacing:.06em}

/* Contact Form */
.fc{background:#fff;border-radius:10px;padding:26px;box-shadow:0 4px 16px rgba(0,0,0,.06);border:1px solid var(--bd)}.fc h3{font:700 18px var(--f);color:var(--g);margin-bottom:16px;text-align:center}.fc input,.fc select,.fc textarea{width:100%;padding:11px 13px;border:1px solid var(--bd);border-radius:6px;font:400 14px var(--b);margin-bottom:10px;background:#fff;color:var(--dk)}.fc input:focus,.fc select:focus,.fc textarea:focus{outline:none;border-color:var(--g);box-shadow:0 0 0 3px rgba(204,0,0,.1)}.fc textarea{min-height:80px;resize:vertical}.fs{width:100%;background:var(--go);color:#fff;padding:13px;border:none;border-radius:6px;font:700 14px var(--f);cursor:pointer}.fs:hover{background:#990000}.fs:disabled{opacity:.6;cursor:not-allowed}.fok{text-align:center;padding:28px}.fok h3{font:700 20px var(--f);color:var(--g);margin-bottom:6px}.fok p{color:var(--gr);font:400 14px var(--b)}

/* Section Headers */
.sh{text-align:center;margin-bottom:32px}.sh h2{font:800 36px var(--f);color:var(--dk)}.sh p{color:var(--gr);font:400 16px var(--b);margin-top:8px}

/* Services Section */
.sc{padding:72px 20px;background:#fff}.si{max-width:1400px;margin:0 auto}.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}@media(max-width:900px){.sg{grid-template-columns:1fr}}.sk{border-radius:12px;overflow:hidden;border:1px solid var(--bd);cursor:pointer;transition:.3s;background:#fff}.sk:hover{transform:translateY(-3px);box-shadow:0 10px 28px rgba(0,0,0,.08)}.ski{height:280px;background:var(--g);position:relative;display:flex;align-items:center;justify-content:center}.ski span{color:rgba(255,255,255,.12);font:900 44px var(--f)}.ski .bd2{position:absolute;top:10px;right:10px;background:var(--go);color:#fff;font:700 11px var(--f);padding:4px 10px;border-radius:50px}.skb{padding:24px}.skb h3{font:700 22px var(--f);margin-bottom:8px}.skb p{font:400 15px/1.6 var(--b);color:var(--gr);margin-bottom:12px}.skl{color:var(--g);font:700 14px var(--f);display:flex;align-items:center;gap:5px;border:none;background:none;cursor:pointer}

/* Why Choose Section */
.wy{padding:72px 20px;background:var(--lt)}.wyi{max-width:1400px;margin:0 auto}.wyg{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}@media(max-width:900px){.wyg{grid-template-columns:1fr}}.wyc{background:#fff;border-radius:10px;padding:32px;border:1px solid var(--bd)}.wyc:hover{border-color:var(--go)}.wyci{width:48px;height:48px;background:rgba(204,0,0,.08);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}.wyc h4{font:700 18px var(--f);margin-bottom:6px}.wyc p{font:400 15px/1.6 var(--b);color:var(--gr)}

/* Areas Section */
.ar{padding:48px 20px;background:var(--g);color:#fff;text-align:center}.ari{max-width:1000px;margin:0 auto}.ar h2{font:800 26px var(--f);margin-bottom:6px}.ars{font:400 15px var(--b);color:rgba(255,255,255,.7);margin-bottom:20px}.art{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:20px}.at{padding:7px 16px;border-radius:50px;border:1px solid rgba(255,255,255,.25);font:600 12px var(--f);color:#fff;cursor:pointer;background:none;text-decoration:none}.at:hover{border-color:var(--go);color:var(--go)}

/* Reviews Section */
.rv{padding:56px 20px;background:var(--lt)}.rvi{max-width:1200px;margin:0 auto}.rvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:28px}.rc{background:#fff;border-radius:8px;padding:22px;border:1px solid var(--bd)}.rcs{display:flex;gap:2px;margin-bottom:10px}.rct{font:italic 400 14px/1.7 var(--b);color:#444;margin-bottom:12px}.rca{font:700 14px var(--f);color:var(--dk)}.rcc{font:400 12px var(--b);color:var(--gr);margin-top:2px}

/* CTA Section */
.ct{padding:48px 20px;background:var(--go);text-align:center}.ct h2{font:800 28px var(--f);color:#fff;margin-bottom:10px}.ct p{font:400 15px var(--b);color:rgba(255,255,255,.9);margin-bottom:20px}.ctb{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Service Pages */
.sp{padding:48px 20px 70px;max-width:900px;margin:0 auto;background:#fff}.sp h2{font:800 24px var(--f);color:var(--dk);margin:32px 0 12px}.sp p{font:400 15px/1.8 var(--b);color:#333;margin-bottom:12px}.spl{margin:14px 0 20px;padding:0;list-style:none}.spl li{padding:10px 14px;margin-bottom:5px;background:var(--lt);border-radius:6px;font:400 14px/1.6 var(--b);display:flex;align-items:start;gap:8px;color:#333}

/* Comparison Table */
table.cm{width:100%;border-collapse:collapse;margin:16px 0 26px;font:400 14px var(--b);color:#222}table.cm th{background:var(--g);color:#fff;padding:11px 14px;text-align:left;font:700 13px var(--f)}table.cm td{padding:10px 14px;border-bottom:1px solid var(--bd);color:#333}table.cm tr:nth-child(even) td{background:#fafaf8}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:16px 0 26px}.table-wrap table.cm{margin:0;min-width:480px}

/* Photos */
.ph{border-radius:10px;overflow:hidden;margin:20px 0;border:1px solid var(--bd)}img.phi{width:100%;height:240px;object-fit:cover;display:block;cursor:zoom-in;transition:opacity .2s}img.phi:hover{opacity:.9}img.phi.tall{height:300px}.phg{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}@media(max-width:600px){.phg{grid-template-columns:1fr}}
/* Gallery */
@media(max-width:900px){#gallery{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:500px){#gallery{grid-template-columns:1fr!important}}

/* Footer */
.ft{background:var(--dk);color:rgba(255,255,255,.7);padding:40px 20px 18px;font-family:var(--b)}.fti{max-width:1200px;margin:0 auto}.ftg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px;margin-bottom:28px}@media(max-width:900px){.ftg{grid-template-columns:1fr}}.ftl{font:900 20px var(--f);color:#fff;margin-bottom:8px}.ftl span{color:var(--go)}.ftd{font-size:13px;line-height:1.7;margin-bottom:8px}.fth{color:#fff;font:700 12px var(--f);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.fk{display:block;font-size:13px;padding:3px 0;color:rgba(255,255,255,.6);background:none;border:none;cursor:pointer;font-family:var(--b);text-align:left;text-decoration:none}.fk:hover{color:var(--go)}.fts{display:flex;gap:12px;margin-top:12px}.ftsi{color:rgba(255,255,255,.5);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.08);border:none;text-decoration:none;transition:color .2s,background .2s}.ftsi:hover{color:#fff;background:rgba(255,255,255,.15)}.ftb{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;text-align:center;font-size:12px}

/* Floating Phone Button */
.flt{position:fixed;bottom:18px;right:18px;z-index:99;background:var(--go);color:#fff;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(204,0,0,.4);animation:p 2s ease infinite;transition:background .2s,transform .2s}.flt:hover{background:#990000;transform:scale(1.05)}.flt:active{transform:scale(.95)}@keyframes p{0%{box-shadow:0 0 0 0 rgba(204,0,0,.4)}70%{box-shadow:0 0 0 12px rgba(204,0,0,0)}100%{box-shadow:0 0 0 0 rgba(204,0,0,0)}}

/* Contact Info Items */
.ci{display:flex;align-items:center;gap:10px;padding:10px 0}.cii{width:38px;height:38px;border-radius:8px;background:rgba(204,0,0,.08);display:flex;align-items:center;justify-content:center;color:#CC0000;flex-shrink:0}.cil{font:400 12px var(--b);color:var(--gr)}.civ{font:700 15px var(--f);color:var(--dk)}

/* Google Reviews Widget */
.grw{background:#fff;border-radius:12px;border:1px solid var(--bd);padding:24px 28px;display:flex;align-items:center;gap:20px;margin:0 auto 32px;max-width:600px;box-shadow:0 2px 12px rgba(0,0,0,.04)}.grw-stars{display:flex;gap:2px}.grw-info{flex:1}.grw-rating{font:900 36px var(--f);color:var(--dk);line-height:1}.grw-sub{font:500 13px var(--b);color:var(--gr);margin-top:2px}.grw-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font:700 13px var(--f);color:var(--g);text-decoration:none;padding:6px 14px;border:1px solid var(--bd);border-radius:6px}.grw-link:hover{border-color:var(--g);background:rgba(204,0,0,.04)}.grw-g{width:20px;height:20px;flex-shrink:0}

/* Touch-friendly dropdowns */
.dd.open .dm{display:block}

/* Sticky Mobile CTA Bar */
.mob-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:98;background:#fff;border-top:1px solid var(--bd);padding:8px 12px;box-shadow:0 -2px 12px rgba(0,0,0,.1)}
.mob-cta-inner{display:flex;gap:8px;max-width:500px;margin:0 auto}
.mob-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:8px;font:700 14px var(--f);text-decoration:none;text-align:center}
.mob-cta .mob-call{background:var(--g);color:#fff}
.mob-cta .mob-text{background:var(--go);color:#fff}
@media(max-width:768px){.mob-cta{display:block}.flt{bottom:72px}.ft{padding-bottom:80px}}

/* Tablet breakpoint */
@media(max-width:1024px){
.sg{grid-template-columns:repeat(2,1fr)}
.wyg{grid-template-columns:repeat(2,1fr)}
.ftg{grid-template-columns:1fr 1fr}
.si [style*="grid-template-columns:repeat(3"]{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:600px){
.si [style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important}
}

/* Mobile breakpoint */
@media(max-width:768px){
.sh h2{font-size:28px}
.qt h2{font-size:26px}
.ct h2{font-size:22px}
.ar h2{font-size:22px}
.sp h2{font-size:20px}
.skb h3{font-size:18px}
.sts{gap:18px;flex-wrap:wrap}
.stn{font-size:26px}
.grw{flex-direction:column;text-align:center;padding:20px;gap:12px}
.grw-stars{justify-content:center}
.rvg{grid-template-columns:1fr}
.fk{padding:8px 0;font-size:14px}
.ml{padding:16px 0;min-height:52px}
.at{padding:10px 18px;min-height:44px}
.hrc h1{font-size:30px}
.hr{min-height:380px}
}

/* Small phone breakpoint */
@media(max-width:480px){
.hrc h1{font-size:26px}
.hrc>p{font-size:15px}
.sh h2{font-size:24px}
.qt h2{font-size:22px}
.bg,.bo,.bd,.bw{padding:12px 20px;font-size:13px}
.hbt{flex-direction:column;align-items:center}
.qs{padding:32px 16px}
.sc{padding:48px 16px}
.wy{padding:48px 16px}
.rv{padding:40px 16px}
.sp{padding:32px 16px 60px}
.ct{padding:32px 16px}
.ar{padding:32px 16px}
.fc{padding:20px}
.wyc{padding:24px}
.rc{padding:18px}
.skb{padding:18px}
.grw-rating{font-size:28px}
}

@media(prefers-reduced-motion:reduce){.flt{animation:none}*{transition-duration:0s!important}}
