
:root{
  --red:#D20A12;
  --red-dark:#98070C;
  --black:#060708;
  --charcoal:#111417;
  --steel:#7C8188;
  --silver:#C8CDD2;
  --white:#FFFFFF;
  --paper:#F4F4F2;
  --shadow:0 18px 50px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 38px));margin:auto}
.eyebrow{color:var(--red);text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.8rem}
h1,h2,h3,.nav a,.btn{font-family:Impact,"Arial Black",Arial,sans-serif;letter-spacing:.02em}
h2{font-size:clamp(2.2rem,5vw,4rem);line-height:1;margin:0 0 20px}
p{color:#d2d6da}
.topbar{background:#0c0e10;border-bottom:1px solid rgba(255,255,255,.08);font-size:.9rem}
.topbar .container{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    padding:8px 0;
    color:#d9dde0;
    position:relative;
}.site-header{position:sticky;top:0;z-index:100;background:rgba(5,6,7,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:88px}
.logo{width:min(340px,40vw)}
.nav-links{display:flex;align-items:center;gap:27px}
.nav-links a{font-family:Arial,Helvetica,sans-serif;font-weight:800;font-size:.93rem;text-transform:uppercase}
.nav-links a:not(.btn):hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border:2px solid var(--red);text-transform:uppercase;font-size:.95rem;transition:.2s;border-radius:3px}
.btn-primary{
    background: #111;
    color: #ffffff;
    border: 2px solid #c1121f;
    border-radius: 8px;
    padding: 16px 34px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    transition: all .25s ease;
}
.btn-primary:hover{
    background: #c1121f;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(193,18,31,.35);
}
.btn-ghost{background:transparent;color:#fff}
.btn-ghost:hover{background:#fff;color:#090a0b;border-color:#fff}
.mobile-toggle{display:none;border:0;background:none;color:white;font-size:1.7rem}
.hero{position:relative;min-height:710px;display:flex;align-items:center;overflow:hidden;background:
linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.9) 35%,rgba(0,0,0,.35) 68%,rgba(0,0,0,.25) 100%),
url('lawton-hero.jpg') center right/cover no-repeat}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:var(--red)}
.hero-content{
    position:relative;
    z-index:2;
    max-width:720px;
    padding:0px 0 95px;
     transform:translateY(-70px);
}
.hero h1{font-size:clamp(3.6rem,9vw,6.6rem);line-height:.88;margin:14px 0 25px;text-transform:uppercase}
.hero h1 span{display:block;color:var(--red)}
.hero p{font-size:1.2rem;max-width:610px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.trust-strip{background:#0d1012;border-bottom:1px solid rgba(255,255,255,.08)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust{padding:29px 24px;border-right:1px solid rgba(255,255,255,.12)}
.trust:last-child{border-right:0}
.trust strong{display:block;text-transform:uppercase;font-size:1.1rem}
.trust span{font-size:.88rem;color:#adb3b9}
.icon{font-size:1.7rem;color:var(--red);margin-bottom:6px}
section{padding:95px 0}
.dark-section{background:#090b0d}
.light-section{background:var(--paper);color:#121416}
.light-section p{color:#555c63}
.section-head{max-width:790px;margin:0 auto 44px;text-align:center}
.red-rule{width:88px;height:4px;background:var(--red);margin:18px auto}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service-card{background:#111417;border:1px solid rgba(255,255,255,.08);padding:32px;border-radius:5px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.service-card:before{content:"";position:absolute;left:0;top:0;width:5px;height:100%;background:var(--red)}
.service-card h3{font-size:1.65rem;margin:10px 0}
.service-card p{min-height:80px}
.price-tag{display:inline-block;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.step{background:#fff;border:1px solid #dedede;padding:28px;position:relative}
.step .num{font-size:3.1rem;color:var(--red);font-family:Impact,"Arial Black",sans-serif;line-height:1}
.step h3{font-size:1.25rem;margin:12px 0 7px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.story-img{border-radius:5px;box-shadow:var(--shadow)}
.values{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}
.value{border:1px solid rgba(255,255,255,.12);padding:16px;background:#101214}
.value b{display:block;color:#fff;text-transform:uppercase}
.coverage{background:linear-gradient(120deg,#0b0d0f,#15191d)}
.city-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.city{padding:15px;background:#0e1113;border:1px solid rgba(255,255,255,.1);text-align:center;font-weight:800}
.cta{background:linear-gradient(90deg,var(--red-dark),var(--red));padding:70px 0}
.cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta h2{margin:0;font-size:clamp(2.3rem,5vw,4.3rem)}
.form-section{background:#0c0f11}
.form-wrap{background:#f6f6f4;color:#151719;padding:36px;border-radius:5px;box-shadow:var(--shadow)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.full{grid-column:1/-1}
label{font-weight:800;text-transform:uppercase;font-size:.8rem}
input,select,textarea{width:100%;padding:14px;border:1px solid #c9cdd1;background:#fff;margin-top:6px;font:inherit;border-radius:2px}
textarea{min-height:120px}
.notice{font-size:.82rem;color:#666}
footer{background:#050607;padding:55px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:38px}
.footer-logo{width:350px}
footer a{display:block;color:#cfd3d7;margin:8px 0}
footer h4{text-transform:uppercase}
.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:30px;padding-top:20px;color:#858c92;font-size:.88rem}
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:88px;left:0;right:0;background:#090b0d;padding:22px;flex-direction:column}
  .nav-links.open{display:flex}
  .mobile-toggle{display:block}
  .logo{width:270px}
  .trust-grid,.service-grid,.process-grid,.split,.footer-grid{grid-template-columns:1fr}
  .city-grid{grid-template-columns:1fr 1fr}
  .trust{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
  .hero{min-height:620px;background-position:65% center}
  .hero h1{font-size:4.2rem}
  .cta .container{flex-direction:column;align-items:flex-start}
  .form-grid{grid-template-columns:1fr}
  .topbar .container{flex-direction:column;gap:2px}
}
@media(max-width:560px){
  .container{width:min(100% - 24px,1180px)}
  .logo{width:220px}
  .hero h1{font-size:3.5rem}
  .city-grid{grid-template-columns:1fr}
}


/* Store */
.store-hero{min-height:430px;background:
linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.72)),
url('where-it-began.jpg') center/cover}
.store-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}
.store-filters{display:flex;gap:10px;flex-wrap:wrap}
.filter-btn{border:1px solid #c7cbd0;background:#fff;padding:10px 14px;font-weight:800;text-transform:uppercase;cursor:pointer}
.filter-btn.active,.filter-btn:hover{background:var(--red);border-color:var(--red);color:white}
.cart-button{position:relative}
.cart-count{position:absolute;right:-9px;top:-10px;background:#fff;color:var(--red);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font:800 .75rem Arial}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-card{background:#fff;color:#131517;border:1px solid #d9dce0;box-shadow:0 12px 32px rgba(0,0,0,.1);display:flex;flex-direction:column}
.product-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.product-info{padding:23px;display:flex;flex-direction:column;flex:1}
.product-category{color:var(--red);font-weight:900;letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}
.product-card h3{font-family:Impact,"Arial Black",Arial,sans-serif;font-size:1.45rem;margin:7px 0}
.product-card p{color:#5e646a;margin:0 0 14px}
.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:auto}
.product-price{font-size:1.28rem;font-weight:900}
.product-card .btn{padding:10px 14px;font-size:.82rem}
.cart-drawer{position:fixed;inset:0;z-index:300;pointer-events:none}
.cart-drawer.open{pointer-events:auto}
.cart-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7);opacity:0;transition:.25s}
.cart-drawer.open .cart-overlay{opacity:1}
.cart-panel{position:absolute;right:0;top:0;height:100%;width:min(460px,100%);background:#f7f7f5;color:#151719;transform:translateX(100%);transition:.3s;display:flex;flex-direction:column}
.cart-drawer.open .cart-panel{transform:none}
.cart-head{background:#090a0b;color:white;padding:22px;display:flex;justify-content:space-between;align-items:center}
.cart-close{background:none;border:0;color:white;font-size:1.7rem;cursor:pointer}
.cart-items{padding:20px;overflow:auto;flex:1}
.cart-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid #d8dadd}
.cart-item img{width:72px;height:58px;object-fit:cover}
.cart-item h4{margin:0;font-size:.94rem}
.qty{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty button{width:26px;height:26px;border:1px solid #bbb;background:white;cursor:pointer}
.remove-item{border:0;background:none;color:var(--red);cursor:pointer;font-weight:800}
.cart-foot{padding:22px;border-top:1px solid #d7dade}
.cart-total{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:900;margin-bottom:15px}
.checkout-note{font-size:.78rem;color:#666}
.store-callout{background:#111416;padding:30px;border-left:5px solid var(--red);margin-top:45px}
.store-callout h3{font-size:1.6rem;margin:0 0 10px}
@media(max-width:900px){
 .product-grid{grid-template-columns:1fr 1fr}
 .store-toolbar{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){
 .product-grid{grid-template-columns:1fr}
}

.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:#fff;border:1px solid #d9dde1;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.blog-thumb{height:190px;background:linear-gradient(145deg,#0b0d0f,#24282d);color:var(--red);display:grid;place-items:center;font:900 5rem Impact,Arial}
.blog-body{padding:24px}.blog-meta{color:var(--red);font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.1em}
.blog-card h3{font-size:1.45rem}.article{max-width:860px}.article h2{font-size:2rem;margin-top:36px}.article p,.article li{font-size:1.05rem}
.article-note{padding:14px 18px;background:#fff4d8;border-left:4px solid #d99a00;color:#5f4a00}
.pricing-box{background:#fff;padding:28px;border:1px solid #d9dde1;box-shadow:0 12px 30px rgba(0,0,0,.08);display:grid;gap:18px}
.estimate-total{background:#111417;color:#fff;padding:22px;display:flex;align-items:center;justify-content:space-between}
.estimate-total strong{font-size:2rem;color:var(--red)}
.service-map{position:relative;min-height:500px;background:
radial-gradient(circle at 55% 50%,rgba(210,10,18,.18),transparent 25%),
linear-gradient(145deg,#111417,#24282d);border:1px solid #3a3f45;overflow:hidden}
.service-map:before,.service-map:after{content:"";position:absolute;background:rgba(255,255,255,.08)}
.service-map:before{width:120%;height:12px;left:-10%;top:48%;transform:rotate(-12deg)}
.service-map:after{width:12px;height:120%;left:53%;top:-10%;transform:rotate(18deg)}
.map-center{position:absolute;left:46%;top:43%;background:var(--red);color:#fff;padding:15px 20px;font-weight:900;z-index:2}
.map-pin{position:absolute;background:#fff;color:#111;padding:8px 11px;border-left:4px solid var(--red);font-weight:800;z-index:2}
.p1{left:50%;top:20%}.p2{left:19%;top:37%}.p3{left:70%;top:32%}.p4{left:76%;top:57%}.p5{left:26%;top:20%}.p6{left:43%;top:72%}
.error-page{min-height:72vh;display:grid;place-items:center;text-align:center;background:radial-gradient(circle,#171a1e,#050607)}
.error-code{font:900 clamp(8rem,25vw,18rem) Impact,Arial;color:var(--red);line-height:.8}.error-page h1{font-size:clamp(2rem,5vw,4rem)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}.service-map{min-height:420px}}

/* Final QC refinements */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.why-item{background:#fff;border:1px solid #d9dde1;padding:24px;border-top:4px solid var(--red)}
.why-item strong{display:block;color:#111417;margin-bottom:7px}
.why-item span{color:#5e646a;font-size:.92rem}
.nav-links{gap:20px}
.nav-links a{white-space:nowrap}
.form-wrap .notice,.portal-note{line-height:1.45}
@media(max-width:1050px){.nav-links{gap:13px}.nav-links a{font-size:.82rem}.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.why-grid{grid-template-columns:1fr}}

.service-price{font-size:1.05rem;color:#fff;margin:4px 0 14px}
.service-price strong{font-size:1.35rem;color:var(--red)}

/* Final Workbench refinements */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.service-grid{align-items:stretch}
.service-card{display:flex;flex-direction:column}
.service-card .btn{margin-top:auto}
.nav-links a{white-space:nowrap}
@media(max-width:1050px){.nav-links{gap:12px}.nav-links a{font-size:.8rem}}


/* ===============================
   ESTIMATED SERVICE COST
================================ */

.estimate-box{
    margin-top:24px;
    padding:26px 28px;
    background:#111416;
    border:1px solid #30353a;
    border-left:5px solid var(--red);
    border-radius:8px;
    color:#fff;
}

.estimate-title{
    margin-bottom:18px;
    color:var(--red);
    font-family:Impact,"Arial Black",Arial,sans-serif;
    font-size:1.25rem;
    letter-spacing:.06em;
}

.estimate-line,
.estimate-total{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:9px 0;
}

.estimate-line{
    border-bottom:1px solid rgba(255,255,255,.1);
}

.estimate-total{
    margin-top:8px;
    padding-top:16px;
    font-size:1.25rem;
    font-weight:700;
}

.estimate-total strong{
    color:var(--red);
}

.estimate-disclaimer{
    margin-top:18px;
    color:#c7ccd0;
    font-size:.9rem;
    line-height:1.6;
}

.form-grid small{
    display:block;
    margin-top:6px;
    color:#8f969d;
    font-size:.82rem;
}

/* ACTIVE PAGE IN NAVIGATION */

.nav-links a.active{
    color:#cf121f !important;
    border-bottom:3px solid #cf121f !important;
    padding-bottom:6px;
}


/* ==========================================
   BUTTON ROW
========================================== */

.button-row{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    width:100%;
    margin:30px auto;
    flex-wrap:wrap;
}

.button-row .request-action{
    width:320px;
    min-height:68px;
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    flex:0 0 320px;
}

@media(max-width:760px){
    .button-row{
        flex-direction:column;
        gap:18px;
    }

    .button-row .request-action{
        width:100%;
        max-width:320px;
        flex:0 0 auto;
    }
}
/* Center action buttons */

.form-grid .full{
    text-align:center;
}

.button-row{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:30px;
    margin:30px auto;
}

.button-row .request-action{
    width:320px;
}

/* Footer contact information */

.footer-grid span{
    display:block;
    color:#cfd3d7;
    margin:8px 0;
    line-height:1.5;
}

.footer-grid h4{
    margin-bottom:16px;
}

/* ===== Site-wide footer standardization ===== */
.footer-grid span{display:block;color:#cfd3d7;margin:8px 0;line-height:1.5}
.footer-grid h4{margin-bottom:16px}
.footer-grid a{color:#cfd3d7}
.footer-grid a:hover{color:var(--red)}

/* ==========================================
   STANDARD FOOTER LAYOUT
========================================== */

.footer-grid{
  align-items:start;
}

.footer-grid > div{
  min-width:0;
}

.footer-grid h4{
  margin:0 0 16px;
}

.footer-grid span,
.footer-grid a{
  display:block;
  margin:8px 0;
  line-height:1.5;
}

.footer-grid span{
  color:#cfd3d7;
}

.footer-grid a{
  color:#cfd3d7;
}

.footer-grid a:hover{
  color:var(--red);
}

/* Current page highlight in footer */
.footer-grid a.footer-current{
  color:var(--red) !important;
  font-weight:700;
}

.footer-grid p{
  margin-top:18px;
  max-width:560px;
}

@media(max-width:900px){
  .footer-grid{
    gap:30px;
  }
}

/* Match homepage hero button corner radius */
.hero-actions .btn-ghost{
    border-radius:8px;
}
