@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto:wght@300;400;500;700&display=swap');

:root{--y:#FFD600;--k:#000;--d:#111;--g:#666;--l:#f7f7f7}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Roboto',sans-serif;font-size:16px;color:var(--g);line-height:1.7;background:#fff;overflow-x:hidden}
h1,h2,h3,h4,h5{font-family:'Inter',sans-serif;color:var(--k);line-height:1.25;font-weight:600}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;display:block}
.container{width:100%;max-width:1170px;margin:0 auto;padding:0 15px}
.yellow{color:var(--y)}
.img-slot{background-color:#1c1c1c;background-size:cover;background-position:center}

/* top bar */
.topbar{background:#0d0d0d;color:#fff;font-size:13px;height:44px;display:flex;align-items:center}
.topbar .container{display:flex;gap:0;align-items:center}
.topbar span{display:flex;align-items:center;gap:10px;padding-right:15px}
.topbar span+span{border-left:1px solid #333;padding-left:15px}
.topbar i{color:var(--y);font-style:normal;font-size:12px}

/* header */
.header{background:#fff;height:100px;display:flex;align-items:center}
.header .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{width:285px;height:80px;background:url(../assets/logo.png) left center/contain no-repeat;display:block;flex:none}
.logo span{position:absolute;left:-9999px}
.nav{display:flex;gap:30px;margin-left:80px;flex:1}
.nav a{font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;letter-spacing:1.3px;text-transform:uppercase;color:#111}
.nav a.active{color:var(--y)}
.consult{border-left:1px solid #eee;height:100%;padding-left:45px;display:flex;align-items:center;gap:15px;font-size:14px;line-height:1.5}
.consult b{display:block;color:#000;font-weight:500;font-family:'Inter',sans-serif;font-size:15px}
.consult i{color:var(--y);font-style:normal;font-size:28px}
.menu-btn{display:none;background:none;border:0;font-size:28px;cursor:pointer}

/* buttons */
.btn{display:inline-block;background:var(--y);color:#000;font-family:'Inter',sans-serif;font-weight:600;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;padding:16px 28px;border:0;cursor:pointer}

/* page banner */
.banner{height:360px;background-color:#222;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.banner:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.55)}
.banner>div{position:relative}
.banner h1{color:#fff;font-size:56px;font-weight:700;margin-bottom:8px}
.crumbs{font-size:15px;color:#fff;display:flex;gap:14px;justify-content:center}
.crumbs i{color:var(--y);font-style:normal}

/* section titles */
.sub{display:inline-flex;align-items:center;gap:20px;font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:2px;text-transform:uppercase;color:#111;font-weight:500;margin-bottom:10px}
.sub:after{content:"";width:100px;height:2px;background:var(--y)}
.title{font-size:34px;font-weight:600}
.center{text-align:center}
.light .sub,.light .title{color:#fff}

/* about */
.about{padding:110px 0 100px}
.about .container{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about .title{font-size:32px;letter-spacing:-.3px}
.about-img{position:relative;height:590px}
.about-img .big{position:absolute;left:0;top:0;width:420px;height:590px}
.about-img:before{content:"";position:absolute;left:420px;top:32px;width:54px;height:70px;background:var(--y);z-index:0}
.about-img:after{content:"";position:absolute;left:420px;bottom:32px;width:54px;height:70px;background:var(--y)}
.about-img .small{position:absolute;left:246px;top:120px;width:300px;height:380px;border:14px solid #fff;box-shadow:0 0 0 0;z-index:2}
.about-img .small:before{content:"";position:absolute;inset:-14px;border:14px solid #fff}
.about p.lead{font-size:14.5px;margin:20px 0 28px;line-height:1.8}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 0;font-size:14.5px;margin-bottom:34px}
.checks li:before{content:"✔";display:inline-block;width:16px;height:16px;border-radius:50%;background:#f5a623;color:#fff;font-size:9px;text-align:center;line-height:16px;margin-right:10px}
.quote{background:var(--l);border-left:4px solid var(--y);padding:24px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}
.quote p{font-style:italic;font-size:14.5px;max-width:300px}
.quote b{display:block;margin-top:14px;font-style:normal;font-weight:500;color:#000;font-size:14px}
.quote .qm{font-family:Georgia,serif;font-size:130px;color:var(--y);line-height:.6;height:60px;font-weight:700}

/* why choose (about page) */
.why{display:grid;grid-template-columns:1fr 1fr;background:#000;min-height:900px}
.why-l{padding:140px 60px 100px 144px;color:#fff;max-width:960px;margin-left:auto}
.why-l .title{color:#fff;margin-bottom:26px;font-size:34px}
.why-l p{font-size:14.5px;line-height:1.8;color:#fff}
.vm{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:50px 0}
.vm i{display:block;font-style:normal;color:var(--y);font-size:44px;margin-bottom:22px}
.vm h3{color:#fff;font-size:26px;margin-bottom:12px;font-weight:600}
.vm p{font-size:14.5px}
.why-r{position:relative;min-height:900px;background-color:#222;background-size:cover;background-position:center}
.helpbox{position:absolute;left:68px;bottom:60px;background:var(--y);padding:34px 25px 20px;width:460px}
.helpbox h4{font-size:20px;font-weight:500;margin-bottom:20px}
.helpbox div{display:flex;align-items:center;gap:15px;font-size:19px;font-weight:500;color:#000;font-family:'Inter',sans-serif}
.circle{width:46px;height:46px;border-radius:50%;background:#000;color:var(--y);display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
.circle.y{background:var(--y);color:#000}

/* team */
.team{padding:110px 0 90px}
.team .intro{max-width:600px;margin:12px auto 54px;font-size:14.5px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.member{height:440px;background:#222 url(../assets/team.png) center/cover no-repeat}

/* cta video band */
.cta{height:600px;background:#111 url(../assets/Locksmith-Services.jpg) center/cover;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.cta:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.72)}
.cta>div{position:relative;max-width:820px}
.play{width:70px;height:70px;border-radius:50%;background:#fff;color:var(--y);display:flex;align-items:center;justify-content:center;margin:0 auto 40px;font-size:24px}
.cta h2{color:#fff;font-size:36px;margin-bottom:30px;font-weight:600}
.cta p{font-size:14.5px;color:#fff;margin-bottom:36px;max-width:660px;margin-left:auto;margin-right:auto}

/* footer */
.footer{background:#0f0f0f url(../assets/footer-darks.png) center/cover;color:#fff;padding:100px 0 0;position:relative}
.footer:before{content:"";position:absolute;inset:0;background:rgba(10,10,10,.85)}
.footer .container{position:relative}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:30px}
.flogo{width:285px;height:80px;background:url(../assets/logo-white.png) left center/contain no-repeat;margin-bottom:12px}
.fgrid p{font-size:14.5px;line-height:1.8;color:#ddd;max-width:330px}
.fgrid h4{color:#fff;font-size:18px;font-weight:500;margin-bottom:24px;padding-bottom:18px;position:relative}
.fgrid h4:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:var(--y)}
.fgrid li{font-size:14.5px;margin-bottom:12px;color:#fff}
.nl-p{max-width:none!important}
.nl{display:flex;margin-top:28px}
.nl input{flex:1;padding:0 20px;height:53px;border:0;font-size:14.5px;font-family:'Roboto',sans-serif}
.nl button{background:var(--y);border:0;font-weight:600;font-size:11.5px;letter-spacing:1.2px;padding:0 22px;cursor:pointer;font-family:'Inter',sans-serif}
.finfo{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:70px}
.fbox{background:#fff;color:#000;height:112px;display:flex;align-items:center;padding:0 40px;gap:14px;font-family:'Inter',sans-serif;font-size:17px;font-weight:500;line-height:1.35}
.fbox small{display:block;font-size:14px;color:#888;font-family:'Roboto',sans-serif;font-weight:400}
.fbox.y{background:var(--y)}
.fbox.y small{color:#6b5a00}
.fbox.y .circle{background:#000;color:var(--y)}
.fbox .circle{background:var(--y);color:#000;width:44px;height:44px}
.copy{border-top:1px solid #333;margin-top:60px;padding:30px 0;display:flex;justify-content:space-between;font-size:13px;color:#fff}
.wa{position:fixed;right:20px;bottom:25px;background:#25d366;color:#fff;border-radius:30px;padding:10px 22px;font-size:15px;font-family:'Inter',sans-serif;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.3)}

/* HOME */
.hero{display:grid;grid-template-columns:1fr 1fr;height:790px;position:relative}
.hero-l{background:#0b0b0b url(../assets/keys-bg.jpg) center/cover;position:relative;color:#fff;display:flex;align-items:center;justify-content:flex-end;padding-right:60px}
.hero-l:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.75)}
.hero-l>div{position:relative;width:480px;margin-right:0}
.hero-l h1{color:#fff;font-size:44px;font-weight:700;line-height:1.25;margin:15px 0 20px}
.hero-l p{font-size:14.5px;color:#fff;margin-bottom:28px;max-width:440px}
.hero-r{background:var(--y) url(../assets/hero-key.png) center/cover no-repeat;position:relative}
.stats-y{position:absolute;left:46px;bottom:-145px;width:520px;height:200px;background:var(--y);display:flex;padding:40px 30px;gap:60px;z-index:3}
.stats-y div{font-size:14px;color:#6b5a00;line-height:1.4}
.stats-y b{display:block;font-size:34px;color:#000;font-weight:500;font-family:'Inter',sans-serif;margin-bottom:10px}
.exp{padding:110px 0 80px}
.exp .container{display:flex;align-items:center;gap:30px}
.exp .yr{font-size:60px;color:var(--y);font-family:'Inter',sans-serif;font-weight:500}
.exp .t{font-size:30px;font-weight:600;color:#000}
.stats-dark{background:#111 url(../assets/phone-bg.jpg) center/cover;color:#fff;position:relative;padding:110px 0 230px}
.stats-dark:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.78)}
.stats-dark .container{position:relative}
.stats-dark h2{color:#fff;font-size:34px;margin:10px 0 18px}
.stats-dark .sub{color:#fff}
.sd-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:70px;align-items:end}
.bars li{margin-bottom:12px;color:#fff;font-weight:500;font-size:14px}
.bars li:after{content:"";display:block;height:6px;background:#fff;margin-top:6px}
.counters{display:grid;grid-template-columns:1fr 1fr;text-align:center}
.counters div{padding:30px 0;border-left:1px solid #333;border-bottom:1px solid #333;font-size:15px}
.counters b{display:block;font-size:34px;font-weight:500;font-family:'Inter',sans-serif}
.counters b:after{content:" +";color:var(--y);font-size:16px}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:-100px;position:relative;z-index:3}
.feat>div{background:#fff;padding:30px;display:flex;gap:18px;font-size:13.5px;line-height:1.6;min-height:200px}
.feat>div.y{background:var(--y);color:#333}
.feat>div.k{background:#111;color:#ddd}
.feat h4{font-size:17px;font-weight:500;margin-bottom:8px}
.feat .k h4{color:#fff}
.services{padding:90px 0 100px}
.sv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.sv-grid.s6{grid-template-columns:repeat(3,1fr);gap:30px}
.card{background:#fff;box-shadow:0 0 25px rgba(0,0,0,.08);padding:40px 35px;min-height:300px;font-size:14.5px}
.card .ic{color:var(--y);font-size:46px;margin-bottom:24px;height:60px;line-height:1}
.card h3{font-size:22px;font-weight:500;margin-bottom:12px}
.card a{display:block;color:var(--y);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-top:20px;font-family:'Inter',sans-serif}
.card.k{background:#000;color:#ddd}
.card.k h3{color:#fff}
.sv-head{padding:0}
.sv-head p{font-size:14.5px;margin:15px 0 26px}
.appt{background:#222 url(../assets/appt-bg.jpg) center/cover;position:relative;padding:150px 0 0;color:#fff;text-align:center}
.appt:before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.75)}
.appt>.container{position:relative}
.appt h2{color:#fff;font-size:34px;margin-bottom:10px}
.appt p{font-size:14.5px;color:#fff}
.appt-wrap{position:relative;background:#fff;margin-top:80px;padding:60px 45px;display:grid;grid-template-columns:.9fr 1.5fr;gap:50px;text-align:left;margin-bottom:-170px;z-index:3}
.appt-dark{background:#111 url(../assets/Moody-Padlock.png) center/cover;color:#ddd;padding:35px 30px;font-size:14px}
.appt-dark h3{color:#fff;font-size:21px;font-weight:500;margin-bottom:18px}
.appt-dark ul li{margin:12px 0}
.appt-dark ul li:before{content:"●";color:var(--y);margin-right:10px;font-size:12px}
.form label{display:block;font-size:13.5px;color:#000;font-weight:500;margin-bottom:6px;font-family:'Inter',sans-serif}
.form input,.form select,.form textarea{width:100%;border:1px solid #e5e5e5;padding:0 18px;height:50px;font-size:14px;font-family:'Roboto',sans-serif;margin-bottom:18px;color:#666;background:#fff}
.form textarea{height:130px;padding-top:15px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.after-appt{height:170px}
.testi{padding:80px 0 90px}
.testi .container{display:grid;grid-template-columns:1fr 1fr;gap:60px}
.testi p.q{font-style:italic;font-size:19px;color:#555;line-height:1.7}
.who{display:flex;gap:15px;align-items:center;margin-top:25px;font-size:13px}
.who b{display:block;color:#000;font-weight:500;font-size:15px}

/* CONTACT */
.contact{padding:110px 0 120px;background:#fff}
.contact .title{margin-bottom:16px}
.contact .intro{max-width:600px;margin:0 auto 50px;font-size:14.5px}
.cgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:90px}
.cbox{height:250px;text-align:center;padding-top:44px;box-shadow:0 0 15px rgba(0,0,0,.07);background:#fff;font-size:14.5px}
.cbox .circle{margin:0 auto 22px}
.cbox h3{font-size:22px;font-weight:500;margin-bottom:8px}
.cbox.y{background:var(--y);color:#444;padding-top:55px}
.cbox.y .circle{background:#000;color:var(--y)}
.cbox.k{background:#000;color:#ddd;padding-top:55px}
.cbox.k h3{color:#fff}
.cform{background:#fff;box-shadow:0 0 15px rgba(0,0,0,.07);padding:65px 0 65px 0;display:grid;grid-template-columns:600px 1fr;gap:50px}
.cform .map{height:522px;background:#e9edf0;margin-left:0}
.cform .fields{padding-right:60px}
.cform input,.cform textarea{width:100%;border:1px solid #e8e8e8;height:60px;padding:0 25px;font-size:15px;margin-bottom:22px;font-family:'Roboto',sans-serif}
.cform textarea{height:150px;padding-top:20px;margin-bottom:38px}
.cform .btn{padding:20px 42px;font-size:13px}

/* FAQ */
.faq{padding:90px 0 100px}
.faq .intro{max-width:560px;margin:12px auto 50px;font-size:14.5px}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.fq{background:#fff;box-shadow:0 0 15px rgba(0,0,0,.07)}
.fq button{width:100%;text-align:left;background:none;border:0;padding:0 25px;height:68px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:500;color:#000;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.fq.open button{background:var(--y)}
.fq .a{display:none;padding:35px 25px;font-size:14px}
.fq.open .a{display:block}
.fq button:after{content:"⌄";font-size:20px}
.fq.open button:after{content:"⌃"}

@media(max-width:991px){
 .nav,.consult{display:none}
 .menu-btn{display:block}
 .nav.show{display:flex;position:absolute;top:144px;left:0;right:0;background:#fff;flex-direction:column;padding:20px;margin:0;z-index:20;gap:15px}
 .about .container,.why,.hero,.sd-grid,.testi .container,.appt-wrap,.cform{grid-template-columns:1fr}
 .why-l{padding:70px 20px}
 .why-r{min-height:520px}
 .helpbox{left:20px;right:20px;width:auto}
 .team-grid,.sv-grid,.feat,.finfo,.cgrid,.faq-grid{grid-template-columns:1fr}
 .fgrid{grid-template-columns:1fr 1fr}
 .banner h1{font-size:40px}
 .hero{height:auto}.hero-l{padding:70px 20px}.hero-r{height:420px}
 .stats-y{position:relative;left:0;bottom:0;width:auto}
 .about-img{height:480px}.about-img .big{width:300px;height:480px}.about-img .small{left:140px;width:220px;height:290px}
 .about-img:before,.about-img:after{left:300px}
 .cform .map{height:350px}.cform .fields{padding:0 20px}
 .copy{flex-direction:column;gap:8px}
}
@media(max-width:575px){.fgrid{grid-template-columns:1fr}.topbar{display:none}.title{font-size:26px}.cta h2{font-size:26px}.logo{width:200px}}
