/*
Theme Name: 1Touch Appliance Repairs
Theme URI: https://example.com/
Author: Webzee Australia
Description: Premium one-page appliance repair business theme based on the 1Touch Appliance Repairs HTML design.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: 1touch-appliance
*/


:root{
  --navy:#061b39;
  --navy2:#09264c;
  --blue:#0758a8;
  --orange:#ffbd18;
  --orange2:#f6a800;
  --light:#f2f8fd;
  --text:#10213b;
  --muted:#68758a;
  --white:#fff;
  --shadow:0 15px 45px rgba(5,28,57,.12);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55;overflow-x:hidden}
/* Requested Typography */
p{font-family:Inter,Arial,sans-serif;font-size:15px !important;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:Archivo,Inter,sans-serif;font-weight:700}

img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea,select{font:inherit}
.container{width:min(1180px,92%);margin:auto}
.section{padding:82px 0}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--orange2);display:flex;gap:7px;align-items:center;margin-bottom:10px}
.eyebrow:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--orange)}
h1,h2,h3{font-family:Archivo,Inter,sans-serif;font-weight:700;line-height:1.12}
h2{font-size:40px;color:var(--navy)}
.highlight{color:var(--orange)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;padding:13px 19px;background:var(--orange);color:#071b35;font-weight:800;font-size:12px;cursor:pointer;transition:.25s}
.btn:hover{transform:translateY(-2px);background:#ffc936}
.btn.dark{background:var(--navy);color:#fff}
.btn.small{padding:9px 13px;font-size:10px}

/* component-copy-sizing */
.footer-col a,.footer-col div,.field input,.field select,.field textarea{font-size:10px}

/* Header */
header{height:78px;background:#fff;display:flex;align-items:center;position:relative;z-index:20;box-shadow:0 1px 8px rgba(0,0,0,.05)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;align-items:center;gap:8px;font-weight:900;color:var(--navy)}
.logo-mark{width:53px;height:38px;position:relative;display:grid;place-items:center}
.logo-mark .one{font-size:28px;font-weight:900;font-style:italic;color:#1265a8}
.logo-mark:after{content:"";position:absolute;width:38px;height:11px;border:2px solid var(--orange);border-top:0;border-radius:0 0 50% 50%;bottom:2px;left:9px}
.logo-text{font-size:12px;line-height:1.05;text-transform:uppercase}
.logo-text b{display:block;font-size:15px}
.logo-text span{font-size:8px;letter-spacing:1px;color:#777}
.navlinks{display:flex;align-items:center;gap:27px;font-size:11px;font-weight:600}
.navlinks a{transition:.2s}.navlinks a:hover,.navlinks a.active{color:#e9a900}
.phone{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800}
.phone i{width:31px;height:31px;border-radius:50%;background:#e9f1f9;color:var(--blue);display:grid;place-items:center}
.phone small{display:block;color:#657084;font-weight:500}
.mobile-toggle{display:none;background:none;border:0;font-size:23px;color:var(--navy)}

/* Hero */
.hero{min-height:490px;background:linear-gradient(90deg,rgba(3,15,30,.92) 0%,rgba(3,15,30,.78) 45%,rgba(3,15,30,.38) 100%),url("https://placehold.co/1800x700/18283a/ffffff?text=Hero+Background") center/cover;display:flex;align-items:center;color:#fff}
.hero-grid{display:grid;grid-template-columns:1.45fr .78fr;gap:70px;align-items:center}
.hero h1{font-size:40px;max-width:690px;margin-bottom:14px}
.hero p{font-size:12px;color:#d7dee8;max-width:550px;margin-bottom:26px}
.pill{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:30px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:9px;margin-bottom:16px}
.hero-actions{display:flex;align-items:center;gap:18px}
.call{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800}
.call i{color:var(--orange)}
.rating{display:flex;align-items:center;gap:7px;font-size:10px}
.rating .g{font-size:23px;font-weight:900;color:#4285f4}
.stars{color:#ffc107;letter-spacing:-2px}
.quote-card{background:rgba(7,28,56,.82);border:1px solid rgba(255,255,255,.15);padding:21px;border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.25);backdrop-filter:blur(7px)}
.quote-card h3{font-size:15px;margin-bottom:3px}
.quote-card>p{font-size:8px;color:#b9c4d2;margin-bottom:13px}
.field{height:34px;border:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.09);border-radius:5px;margin-bottom:8px;display:flex;align-items:center;padding:0 10px;gap:8px}
.field i{font-size:9px;color:#c5d1e0}
.field input,.field select,.field textarea{width:100%;background:none;border:0;outline:0;color:#fff;font-size:9px}
.field input::placeholder,.field textarea::placeholder{color:#c4ccd8}
.field select{color:#c4ccd8}
.field select option{color:#111}
.field.message{height:53px;align-items:flex-start;padding-top:9px}
.quote-card .btn{width:100%;margin-top:3px}

/* About */
.about{background:var(--light)}
.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:75px;align-items:center}
.about-photo{position:relative;padding:0 35px 30px 0}
.about-photo img{height:340px;width:100%;object-fit:cover;border-radius:150px 150px 45px 45px}
.experience{position:absolute;right:0;bottom:0;width:92px;height:92px;border-radius:50%;background:var(--navy);border:5px solid #dceaf6;color:#fff;display:grid;place-content:center;text-align:center}
.experience strong{font-size:18px;color:var(--orange);line-height:1}
.experience span{font-size:7px;margin-top:3px}
.about h2{font-size:40px;margin-bottom:15px}
.about-copy{font-size:11px;color:#657287;max-width:610px;margin-bottom:18px}
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 25px;margin-bottom:22px}
.check{font-size:9px;font-weight:600;display:flex;gap:7px;align-items:center}
.check i{color:#f2b000}

/* Services */
.services{position:relative;overflow:hidden}
.services-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;align-items:center}
.service-heading h2{font-size:40px}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{height:205px;border-radius:12px;overflow:hidden;position:relative;box-shadow:var(--shadow);background-size:cover;background-position:center;display:flex;align-items:flex-end}
.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 22%,rgba(4,19,39,.92) 100%)}
.service-card:nth-child(1){background-image:url("https://placehold.co/800x600/cfdce4/17365d?text=Dishwasher+Repair")}
.service-card:nth-child(2){background-image:url("https://placehold.co/800x600/d7e1e7/17365d?text=Cooktop+Repair")}
.service-card:nth-child(3){background-image:url("https://placehold.co/800x600/c8d7df/17365d?text=Appliance+Repair")}
.service-content{position:relative;color:#fff;padding:17px}
.service-content h3{font-size:13px;margin-bottom:5px}
.service-content p{font-size:8px;color:#dbe1e9;margin-bottom:10px}
.read{font-size:8px;background:#fff;color:#071b35;border-radius:20px;padding:7px 11px;font-weight:800;display:inline-block}
.service-dots{text-align:center;margin-top:13px}.service-dots span{display:inline-block;width:6px;height:6px;background:#aabed1;border-radius:50%;margin:0 3px}.service-dots span:first-child{background:#1566a8}

/* Why */
.why{background:var(--navy);color:#fff}
.why h2{color:#fff;text-align:center;font-size:40px;margin-bottom:35px}
.why-grid{display:grid;grid-template-columns:1.05fr 1fr 1fr;grid-template-rows:145px 105px;gap:12px}
.why-box{border-radius:12px;overflow:hidden;position:relative;background:#123a68;padding:22px}
.why-box.orange{background:#df8c00;color:#061b39}
.why-box.photo{background:url("https://placehold.co/900x700/25394b/ffffff?text=Technician") center/cover}
.why-box.photo2{background:url("https://placehold.co/900x700/30475a/ffffff?text=Repair+Service") center/cover}
.why-box.photo:after,.why-box.photo2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,27,55,.85),rgba(5,27,55,.05))}
.why-box.photo>*{position:relative;z-index:1}.why-box.photo2>*{position:relative;z-index:1}
.why-box h3{font-size:12px;margin-bottom:8px}.why-box p{font-size:8px;line-height:1.45}
.why-box i.arrow{position:absolute;right:12px;bottom:12px;background:#0b5c9f;color:#fff;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:9px;z-index:2}
.stat-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;background:#09274d;border-radius:8px;padding:14px}
.stat{text-align:center}.stat strong{display:block;color:var(--orange);font-size:13px}.stat span{font-size:7px;color:#d6e0eb}

/* CTA */
.cta{min-height:160px;background:linear-gradient(90deg,rgba(5,24,48,.93),rgba(5,24,48,.65)),url("https://placehold.co/1800x500/18283a/ffffff?text=CTA+Background") center/cover;color:#fff;display:flex;align-items:center}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{color:#fff;font-size:40px}.cta p{font-size:9px;color:#d0d8e2;max-width:680px;margin-top:8px}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:65px;align-items:center}
.faq-list{margin-top:17px}
.faq-item{border-radius:20px;margin-bottom:10px;box-shadow:0 4px 15px rgba(10,33,59,.07);overflow:hidden}
.faq-q{padding:12px 17px;display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;cursor:pointer;background:#fff}
.faq-q i{font-size:9px}
.faq-a{display:none;padding:0 17px 14px;font-size:9px;color:#68758a}
.faq-item.active{background:#f2f8fd}.faq-item.active .faq-a{display:block}.faq-item.active .faq-q{color:#0a3c70}
.faq-img{height:360px;border-radius:25px;overflow:hidden}.faq-img img{width:100%;height:100%;object-fit:cover}

/* Testimonials */
.testimonials{padding-top:35px}
.testimonial-title{text-align:center;margin-bottom:25px}
.testimonial-title h2{font-size:40px}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.testimonial{background:#fff;border-radius:8px;padding:20px;box-shadow:0 8px 30px rgba(7,34,65,.08);position:relative}
.quote-icon{font-size:24px;color:#123e6e;line-height:1}
.t-rating{position:absolute;right:15px;top:15px;background:#eef5fb;border-radius:20px;padding:4px 8px;font-size:8px;color:#123e6e;font-weight:800}
.testimonial p{font-size:9px;color:#677388;margin:9px 0 15px}
.testimonial-date{font-size:7px;color:#8994a4}
.person{display:flex;align-items:center;gap:8px;margin-top:10px}.avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.person strong{font-size:8px;display:block}.person span{font-size:7px;color:#8792a0}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:50px}
.gallery img{width:100%;height:155px;object-fit:cover}

/* Footer */
footer{background:#031630;color:#fff;padding:42px 0 15px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px}
.footer-logo{margin-bottom:15px}.footer-logo .logo-text{color:#fff}
.footer-desc{font-size:8px;color:#aebdce;max-width:230px;margin-bottom:15px}
.socials{display:flex;gap:7px}.socials a{width:25px;height:25px;border-radius:50%;background:#fff;color:#1265a8;display:grid;place-items:center;font-size:11px}
.footer-col{border-left:1px solid rgba(255,255,255,.13);padding-left:22px}
.footer-col h4{color:var(--orange);font-size:10px;text-transform:uppercase;margin-bottom:13px}
.footer-col a,.footer-col div{display:block;color:#d5dee9;font-size:8px;margin-bottom:9px}
.footer-col a:before{content:"›";color:var(--orange);margin-right:6px;font-size:13px}
.contact-line{display:flex!important;gap:8px;align-items:flex-start}.contact-line i{color:var(--orange);width:11px;margin-top:2px}
.copyright{border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#91a1b5;font-size:7px;padding-top:14px;margin-top:30px}

/* Floating */
.float-call{position:fixed;right:18px;bottom:18px;width:48px;height:48px;border-radius:50%;background:var(--orange);color:#061b39;display:grid;place-items:center;box-shadow:0 10px 25px rgba(0,0,0,.2);z-index:30}


/* ===== EXACT REFERENCE: ABOUT + SERVICES ===== */
.exact-about{background:#f1f8fd;padding:82px 0}
.exact-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:105px;align-items:center}
.exact-about-photo{position:relative;width:100%;max-width:520px}
.exact-about-photo img{width:100%;height:480px;object-fit:cover;border-radius:250px 250px 70px 70px}
.exact-experience{position:absolute;right:-38px;bottom:-40px;width:150px;height:150px;border-radius:50%;background:#06244f;border:0;color:#fff;display:grid;place-content:center;text-align:center;box-shadow:none}
.exact-experience strong{font-family:Archivo,Inter,sans-serif;font-size:38px;line-height:1;color:#ffbf1f}
.exact-experience span{font-family:Inter,sans-serif;font-size:12px;line-height:1.35;margin-top:8px;font-weight:700}
.exact-about-content{padding-top:4px}
.exact-about-content .eyebrow{font-size:12px;color:#06244f;margin-bottom:25px}
.exact-about-content h2{font-family:Archivo,Inter,sans-serif;font-size:40px;line-height:1.12;color:#06244f;margin-bottom:28px}
.exact-about-content .highlight{color:#ff9d18}
.exact-about-content>p{font-family:Inter,Arial,sans-serif;font-size:15px!important;line-height:1.6;color:#68758a;max-width:640px;margin-bottom:25px}
.exact-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 35px;margin-bottom:30px}
.exact-check-grid div{font:600 14px/1.3 Inter,Arial,sans-serif;color:#06244f}
.exact-check-grid i{color:#ffbd18;margin-right:9px}
.exact-about-content .btn{padding:14px 22px;border-radius:10px}

.exact-services{background:#fff;padding:0;min-height:735px}
.exact-services-wrap{display:grid;grid-template-columns:1fr 1fr;position:relative;min-height:735px}
.exact-services-left{padding:100px 0 70px 0;position:relative;z-index:3}
.exact-services-left .eyebrow{font-size:15px;color:#a7adb5;margin-bottom:25px}
.exact-services-left .eyebrow:before{width:14px;height:14px;background:#ffbd18}
.exact-services-left h2{font-family:Archivo,Inter,sans-serif;font-size:40px;line-height:1.14;color:#292929;margin-bottom:50px}
.exact-services-left h2 .highlight{color:#ff9d18}
.exact-service-cards{display:grid;grid-template-columns:1fr 1fr;gap:30px;width:800px;position:relative;z-index:4}
.exact-service-card{height:340px;border-radius:28px;overflow:hidden;position:relative;background:#111;box-shadow:0 8px 25px rgba(0,0,0,.13);border:7px solid #fff}
.service-card-bg{position:absolute;inset:0;background-position:center;background-size:cover}
.bg-dishwasher{background-image:url("https://placehold.co/1000x700/cfdce4/17365d?text=Dishwasher+Repair")}
.bg-cooktop{background-image:url("https://placehold.co/1000x700/d7e1e7/17365d?text=Cooktop+Repair")}
.service-card-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.82) 100%)}
.exact-card-content{position:absolute;inset:0;padding:62px 38px 27px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.exact-card-content .card-icon{position:absolute;left:38px;top:68px;font-size:34px;color:#fff;line-height:1}
.exact-card-content h3{font:700 24px/1.15 Archivo,Inter,sans-serif;margin-bottom:17px}
.exact-card-content p{font:400 15px/1.55 Inter,Arial,sans-serif!important;color:#e3e3e3;margin-bottom:25px;max-width:300px}
.exact-card-content .read{align-self:flex-start;border-radius:30px;padding:15px 24px;font:700 14px Inter,Arial,sans-serif;color:#161616;background:#fff}
.exact-card-content .read span{font-size:20px;margin-left:8px}
.exact-dots{display:flex;justify-content:center;gap:15px;width:800px;margin-top:25px}
.exact-dots span{width:18px;height:18px;border-radius:50%;background:#91aec2}
.exact-dots span.active{background:#12608e}
.exact-services-feature{position:absolute;right:0;top:0;width:52%;height:100%;overflow:hidden}
.exact-services-feature>img{width:100%;height:100%;object-fit:cover}
.feature-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.05),rgba(0,0,0,.05))}
.feature-arrow{position:absolute;right:25px;top:105px;width:72px;height:72px;border-radius:50%;background:#0871ae;color:#fff;display:grid;place-items:center;font-size:42px}
.feature-bottom{position:absolute;left:27%;bottom:95px;color:#fff;max-width:390px}
.feature-bottom strong{font:700 45px/1 Archivo,Inter,sans-serif;display:block;margin-bottom:28px}
.feature-bottom h3{font:700 20px/1.2 Archivo,Inter,sans-serif;margin-bottom:13px}
.feature-bottom p{font:400 15px/1.55 Inter,Arial,sans-serif!important;color:#e4e4e4}


/* ===== BANNER SLIDER ===== */
.banner-slider{position:relative!important;min-height:650px!important;padding:0!important;overflow:hidden;background:#071b35}
.banner-slides{position:absolute;inset:0}
.banner-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease}
.banner-slide.active{opacity:1;visibility:visible}
.banner-slide .hero-inner{height:650px}
.hero-form-fixed{position:absolute;z-index:10;right:max(5%,calc((100% - 1280px)/2));top:50%;transform:translateY(-50%)}
.banner-arrow{position:absolute;z-index:15;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(3,20,40,.45);color:#fff;font-size:30px;cursor:pointer}
.banner-prev{left:20px}.banner-next{right:20px}
.banner-dots{position:absolute;z-index:15;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px}
.banner-dots button{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}
.banner-dots button.active{width:28px;border-radius:10px;background:#ffbd18}

/* ===== SERVICES SLIDER ===== */
.service-slider{width:800px;overflow:hidden}
.service-track{display:flex;gap:30px;transition:transform .55s ease}
.service-track .exact-service-card{flex:0 0 385px}
.service-slider-arrows{display:flex;gap:10px;margin-top:15px}
.service-slider-arrows button{width:42px;height:42px;border-radius:50%;border:1px solid #dce5ec;background:#fff;color:#0a3159;cursor:pointer;font-weight:800}
.service-slider-arrows button:hover{background:#ffbd18;border-color:#ffbd18}
.service-dots-slider{width:800px}
.service-dots-slider button{width:14px;height:14px;border:0;border-radius:50%;background:#91aec2;cursor:pointer}
.service-dots-slider button.active{background:#12608e}

/* ===== EXACT WHY / CTA / FAQ REFERENCE SECTIONS ===== */
.exact-why{background:#031a37;color:#fff;padding:92px 0 82px}
.exact-why-heading{text-align:center;margin-bottom:30px}
.exact-why-heading .eyebrow{justify-content:center;color:#ffbd18;font-size:13px}
.exact-why-heading h2{font:700 40px/1.12 Archivo,Inter,sans-serif;color:#fff}
.exact-why-heading .highlight{color:#ff9d18}
.why-layout{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:350px 228px;gap:30px}
.why-box{position:relative;border-radius:30px;overflow:hidden}
.why-quality{background:#db8600;color:#061b39;padding:202px 50px 35px}
.why-quality h3{font:700 24px/1.2 Archivo,Inter,sans-serif;margin-bottom:12px}
.why-quality p{font:400 16px/1.6 Inter,Arial,sans-serif!important;max-width:350px}
.why-corner{position:absolute;right:27px;top:25px;font-size:36px}
.why-photo img{width:100%;height:100%;object-fit:cover}
.why-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.18))}
.why-photo-arrow{position:absolute;left:0;bottom:0;width:77px;height:77px;border-radius:0 27px 0 0;background:#12679a;color:#fff;display:grid;place-items:center;font-size:38px;z-index:2}
.why-trusted{grid-column:1 / 2;background:#17385c}
.why-trusted>img{width:100%;height:100%;object-fit:cover}
.trusted-overlay{position:absolute;inset:0;padding:95px 85px 25px;background:linear-gradient(90deg,rgba(3,20,40,.85),rgba(3,20,40,.25))}
.trusted-overlay h3{font:700 20px Archivo,Inter,sans-serif;margin-bottom:9px}
.trusted-overlay p{font:400 14px/1.55 Inter,Arial,sans-serif!important;color:#dbe3eb;max-width:510px}
.why-small{background:#15557e;padding:48px 30px 25px}
.why-small.blue{background:#0879bc}
.why-small i{font-size:30px;margin-bottom:18px}
.why-small h3{font:700 20px Archivo,Inter,sans-serif;margin-bottom:10px}
.why-small p{font:400 15px/1.55 Inter,Arial,sans-serif!important;color:#d9e7f0}
.why-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:47px;background:#0a2548;border-radius:10px;padding:28px 20px}
.why-stats>div{text-align:center}
.why-stats strong{display:block;color:#ffbd18;font:700 29px Archivo,Inter,sans-serif}
.why-stats span{display:block;color:#d0d9e4;font:400 13px Inter,Arial,sans-serif;margin-top:5px}

.exact-cta{min-height:210px;background:linear-gradient(90deg,rgba(3,18,36,.86),rgba(3,18,36,.64)),url("CTA-Banner.jpg") center/cover!important}
.exact-cta .cta-inner{min-height:210px}
.exact-cta h2{font:700 38px/1.2 Archivo,Inter,sans-serif;color:#fff}
.exact-cta p{font:400 15px/1.5 Inter,Arial,sans-serif!important;color:#d5dde7;max-width:820px;margin-top:13px}

.exact-faq{background:#fff;position:relative;overflow:hidden;padding:92px 0}
.exact-faq:before{content:"";position:absolute;left:0;top:0;width:52%;height:100%;background-image:radial-gradient(#dce3e8 1.2px,transparent 1.2px);background-size:17px 17px;opacity:.7;pointer-events:none}
.exact-faq .container{position:relative;z-index:1}
.exact-faq .faq-grid{grid-template-columns:1.08fr .92fr;gap:60px}
.exact-faq .faq-copy h2{font:700 40px/1.12 Archivo,Inter,sans-serif;color:#2d2d2d;margin-bottom:42px}
.exact-faq .faq-copy .eyebrow{color:#9aa2aa;font-size:13px}
.exact-faq .faq-copy .eyebrow:before{background:#ffbd18;width:14px;height:14px}
.exact-faq .faq-item{margin-bottom:15px;border-radius:30px;background:#fff;box-shadow:0 10px 30px rgba(8,31,54,.07)}
.exact-faq .faq-q{padding:18px 27px;font:700 16px Inter,Arial,sans-serif;color:#313131;border-radius:30px}
.exact-faq .faq-item.active .faq-q{background:#062752;color:#fff}
.exact-faq .faq-a{padding:4px 27px 20px;font:400 15px/1.6 Inter,Arial,sans-serif!important;color:#707982}
.exact-faq .faq-img{height:710px;border-radius:25px;overflow:hidden}
.exact-faq .faq-img img{width:100%;height:100%;object-fit:cover}

@media(max-width:900px){
  .why-layout{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .why-quality{padding:80px 30px 30px}
  .why-trusted{grid-column:1/-1}
  .why-stats{grid-template-columns:1fr 1fr;gap:20px}
  .exact-faq .faq-grid{grid-template-columns:1fr}
  .exact-faq:before{width:100%}
  .exact-faq .faq-img{height:480px}
}
@media(max-width:600px){
  .exact-why{padding:65px 0}
  .exact-why-heading h2,.exact-faq .faq-copy h2{font-size:32px}
  .why-layout{grid-template-columns:1fr}
  .why-quality,.why-trusted{grid-column:auto}
  .why-photo{height:300px}
  .why-trusted{height:240px}
  .why-small{min-height:220px}
  .why-stats{grid-template-columns:1fr 1fr}
  .why-stats strong{font-size:23px}
  .exact-cta h2{font-size:30px}
  .exact-cta .cta-inner{padding:45px 0}
  .exact-faq .faq-img{height:360px}
}

/* ===== EXACT TESTIMONIALS ===== */
.exact-testimonials{background:#fff;padding:70px 0 75px}
.exact-testimonials .testimonial-title{text-align:center;margin-bottom:35px}
.testimonial-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid #d8dde3;border-radius:30px;padding:10px 18px;font:500 14px Inter,Arial,sans-serif;color:#17365d;margin-bottom:15px}
.testimonial-pill span{width:6px;height:6px;border-radius:50%;background:#ffbd18}
.exact-testimonials .testimonial-title h2{font:700 40px/1.15 Archivo,Inter,sans-serif;color:#062752}
.exact-testimonials .testimonial-title .highlight{color:#ff9d18}
.testimonial-slider{overflow:hidden}
.testimonial-track{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}
.exact-testimonial-card{min-height:240px;border-radius:0 0 15px 15px;background:linear-gradient(135deg,#fff 0%,#fff 70%,#eaf5fb 100%);box-shadow:0 12px 35px rgba(6,35,64,.09);padding:30px 32px 20px;position:relative}
.exact-testimonial-card:after{content:"";position:absolute;right:0;top:0;width:75px;height:110px;background:linear-gradient(135deg,transparent 20%,#eaf5fb 21%);opacity:.9}
.exact-testimonial-card .quote-mark{font:700 65px/0.65 Georgia,serif;color:#062752;position:relative;z-index:2}
.exact-testimonial-card .t-rating{top:30px;right:32px;z-index:3;background:#062752;color:#fff;padding:10px 14px;border-radius:25px;font:600 13px Inter,Arial,sans-serif}
.exact-testimonial-card .t-rating b{color:#ffbd18;font-size:17px}
.exact-testimonial-card p{font:400 15px/1.6 Inter,Arial,sans-serif!important;color:#626b74;margin:20px 0 17px;position:relative;z-index:2}
.exact-testimonial-card .testimonial-date{font:500 14px Inter,Arial,sans-serif;color:#062752}
.exact-testimonial-card .person{margin-top:16px}
.exact-testimonial-card .person strong{font:700 16px Archivo,Inter,sans-serif;color:#062752}
.exact-testimonial-card .person span{font:400 14px Inter,Arial,sans-serif;color:#087bd0;margin-top:4px}
.exact-testimonial-card .avatar{width:48px;height:48px}

/* ===== AUTO GALLERY ===== */
.gallery-auto-slider{width:100%;overflow:hidden;display:block!important;margin-top:0;background:#fff;padding:0!important}
.gallery-track{display:flex;width:max-content;gap:18px;animation:galleryScroll 25s linear infinite}
.gallery-slide{width:285px;height:315px;flex:0 0 285px;overflow:hidden;border-radius:0}
.gallery-slide img{width:100%;height:100%;object-fit:cover}
@keyframes galleryScroll{
  0%{transform:translateX(0)}
  100%{transform:translateX(calc(-303px * 3))}
}
.gallery-auto-slider:hover .gallery-track{animation-play-state:paused}

/* ===== EXACT FOOTER ===== */
.exact-footer{background:#00132f;color:#fff;padding:55px 0 0}
.exact-footer-grid{grid-template-columns:1.35fr .85fr 1fr 1.55fr;gap:35px;padding-bottom:42px}
.footer-brand{padding-right:10px}
.footer-logo-custom{display:flex;align-items:center;gap:7px;color:#fff;margin-bottom:28px}
.footer-logo-one{font:900 76px/0.75 Archivo,Inter,sans-serif;font-style:italic;color:#fff;text-shadow:3px 3px 0 #ffbd18}
.footer-logo-custom strong{display:block;font:800 40px/0.9 Archivo,Inter,sans-serif;font-style:italic}
.footer-logo-custom span{display:block;font:700 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.8px;margin-top:7px}
.exact-socials{gap:12px}
.exact-socials a{width:48px;height:48px;font-size:24px}
.exact-footer-col{border-left:1px solid rgba(255,255,255,.35);padding-left:34px}
.exact-footer-col h4{display:inline-block;background:#ff9d18;color:#fff;border-radius:10px;padding:15px 28px;font:700 17px Archivo,Inter,sans-serif;letter-spacing:.3px;margin-bottom:20px;text-transform:uppercase}
.exact-footer-col a{font:500 15px Inter,Arial,sans-serif!important;color:#fff;margin-bottom:17px}
.exact-footer-col a:before{content:"»";color:#ffbd18;font-size:20px;margin-right:10px}
.footer-contact{display:flex!important;align-items:center;gap:16px;color:#fff;margin:0 0 20px!important;font:500 15px Inter,Arial,sans-serif!important}
.footer-contact i{width:38px;height:38px;border-radius:50%;background:#ff9d18;color:#fff;display:grid;place-items:center;flex:none}
.exact-copyright{margin-top:0!important;padding:25px 0!important;border-top:1px solid rgba(255,255,255,.18)!important;font:400 15px Inter,Arial,sans-serif!important;color:#fff}
.exact-copyright strong{color:#ff9d18}

/* responsive */
@media(max-width:900px){
  .testimonial-track{display:flex;gap:20px}
  .exact-testimonial-card{flex:0 0 calc(50% - 10px)}
  .exact-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .exact-testimonials{padding:55px 0}
  .exact-testimonials .testimonial-title h2{font-size:32px}
  .testimonial-track{display:flex}
  .exact-testimonial-card{flex:0 0 100%}
  .gallery-slide{width:220px;height:250px;flex-basis:220px}
  .gallery-track{gap:10px}
  .exact-footer-grid{grid-template-columns:1fr}
  .exact-footer-col{border-left:0;padding-left:0}
  .footer-logo-one{font-size:60px}
  .footer-logo-custom strong{font-size:32px}
}

/* =========================================================
   PREMIUM CREATIVE UPGRADE
   ========================================================= */
:root{--navy:#031a37;--navy2:#061f42;--blue:#0879bc;--gold:#ffbd18;--orange:#ff9d18;--white:#fff}

/* Global motion */
html{scroll-behavior:smooth}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}
.reveal.revealed{opacity:1;transform:none}
a,button,.why-interactive,.why-info-card,.reference-form,.exact-testimonial-card{transition:all .35s cubic-bezier(.2,.7,.2,1)}
.reference-book:hover,.reference-submit:hover,.btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(255,189,24,.28)}

/* Hero premium treatment */
.banner-slider{isolation:isolate}
.banner-slide:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 45%,rgba(255,157,24,.10),transparent 35%),linear-gradient(0deg,rgba(1,13,29,.18),transparent 35%);pointer-events:none}
.banner-slide .hero-inner,.hero-form-fixed{z-index:2}
.reference-copy h1{letter-spacing:-1.6px;text-shadow:0 4px 25px rgba(0,0,0,.25)}
.reference-copy h1 span{background:linear-gradient(90deg,#ffbd18,#ff9d18,#ffc62e);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.reference-badge{backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0,0,0,.18)}
.hero-form-fixed{filter:drop-shadow(0 20px 50px rgba(0,0,0,.28))}
.reference-form{backdrop-filter:blur(20px)!important;background:linear-gradient(145deg,rgba(10,29,54,.94),rgba(4,18,36,.87))!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:inset 0 1px rgba(255,255,255,.08),0 25px 70px rgba(0,0,0,.35)!important}
.ref-field{transition:border .25s,transform .25s,background .25s!important}
.ref-field:focus-within{border-color:#ffbd18!important;background:rgba(255,255,255,.10)!important;transform:translateX(3px)}
.banner-arrow:hover{background:#ffbd18;color:#061b39;border-color:#ffbd18;transform:translateY(-50%) scale(1.08)}
.banner-dots button{transition:all .3s}.banner-dots button:hover{transform:scale(1.5)}

/* Why Choose Us */
.creative-why{background:radial-gradient(circle at 75% 15%,rgba(13,89,140,.18),transparent 28%),#031a37!important;position:relative;overflow:hidden}
.creative-why:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,black,transparent);pointer-events:none}
.creative-why .container{position:relative;z-index:1}
.why-intro{max-width:640px;margin:12px auto 0!important;color:#9fb0c1!important;font:400 15px/1.6 Inter,Arial,sans-serif!important}
.creative-why-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:350px 225px;gap:20px}
.why-interactive,.why-info-card{border-radius:28px;overflow:hidden;position:relative;min-width:0}
.why-interactive{cursor:pointer}
.why-default{position:absolute;inset:0;overflow:hidden}
.why-number{position:absolute;left:28px;top:24px;font:600 12px Inter,Arial,sans-serif;letter-spacing:2px;opacity:.65}
.why-corner{position:absolute;right:28px;top:22px;font-size:32px;transition:transform .4s}
.why-default-content{position:absolute;left:48px;right:35px;bottom:38px}
.mini-label{display:block;font:700 10px Inter,Arial,sans-serif;letter-spacing:1.5px;margin-bottom:10px;opacity:.8}
.why-default-content h3{font:700 25px/1.12 Archivo,Inter,sans-serif;margin:0 0 10px}
.why-default-content p{font:400 15px/1.55 Inter,Arial,sans-serif!important;margin:0;max-width:370px}
.why-one{background:linear-gradient(145deg,#e28a00,#c97500);color:#061a32}
.why-four{background:linear-gradient(145deg,#0a0d12,#171b22);color:#fff}
.why-hover-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.12);transition:opacity .55s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.why-hover-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,14,29,.05),rgba(2,14,29,.88))}
.why-hover-content{position:absolute;left:32px;right:28px;bottom:30px;color:#fff;transform:translateY(18px);opacity:0;transition:.45s ease}
.why-hover-content span,.why-hover-card span{font:700 10px Inter,Arial,sans-serif;letter-spacing:1.5px;color:#ffbd18}
.why-hover-content h3{font:700 24px/1.1 Archivo,Inter,sans-serif;margin:8px 0}
.why-hover-content p{font:400 14px/1.5 Inter,Arial,sans-serif!important;color:#d6e1eb}
.why-interactive:hover .why-hover-media{opacity:1;transform:scale(1)}
.why-interactive:hover .why-hover-content{opacity:1;transform:none}
.why-interactive:hover .why-corner{transform:rotate(45deg) scale(1.15)}
.why-two img,.why-three img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.why-two:after,.why-three:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.45))}
.why-two:hover img,.why-three:hover img{transform:scale(1.08)}
.why-arrow{position:absolute;left:0;bottom:0;width:76px;height:76px;background:#12679a;color:#fff;border-radius:0 25px 0 0;display:grid;place-items:center;font-size:34px;z-index:3;transition:.4s}
.why-two:hover .why-arrow,.why-three:hover .why-arrow{background:#ffbd18;color:#061a32;width:90px;height:90px}
.why-hover-card{position:absolute;left:20px;right:20px;bottom:20px;z-index:4;padding:20px;border-radius:18px;background:rgba(3,20,40,.83);backdrop-filter:blur(14px);transform:translateY(25px);opacity:0;transition:.45s ease;color:#fff}
.why-hover-card h3{font:700 19px Archivo,Inter,sans-serif;margin:7px 0}.why-hover-card p{font:400 13px/1.45 Inter,Arial,sans-serif!important;color:#d8e2eb;margin:0}
.why-two:hover .why-hover-card,.why-three:hover .why-hover-card{opacity:1;transform:none}
.why-info-card{background:linear-gradient(145deg,#14567e,#0d456b);padding:32px;color:#fff;border:1px solid rgba(255,255,255,.07)}
.why-info-card.blue-info{background:linear-gradient(145deg,#087fc5,#0766a0)}
.why-info-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(0,0,0,.22)}
.why-icon{width:48px;height:48px;border:1px solid rgba(255,255,255,.25);border-radius:14px;display:grid;place-items:center;font-size:21px;margin-bottom:24px}
.why-info-card h3{font:700 21px Archivo,Inter,sans-serif;margin:0 0 10px}.why-info-card p{font:400 14px/1.55 Inter,Arial,sans-serif!important;color:#dce8f0}
.creative-stats{margin-top:25px!important;background:linear-gradient(90deg,#0a2548,#0b315b)!important;border:1px solid rgba(255,255,255,.05);box-shadow:0 15px 40px rgba(0,0,0,.12)}
.counter-item strong{display:block;min-width:100px}.counter-item{position:relative}.counter-item:not(:last-child):after{content:"";position:absolute;right:0;top:8px;height:48px;width:1px;background:rgba(255,255,255,.1)}

/* FAQ accordion */
.exact-faq .faq-item{overflow:hidden}
.exact-faq .faq-q{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}
.exact-faq .faq-q i{transition:transform .35s}
.exact-faq .faq-a{max-height:0!important;overflow:hidden;padding-top:0!important;padding-bottom:0!important;opacity:0;transition:max-height .45s ease,padding .35s ease,opacity .35s ease}
.exact-faq .faq-item.active .faq-a{max-height:220px!important;padding-top:5px!important;padding-bottom:22px!important;opacity:1}
.exact-faq .faq-item.active .faq-q i{transform:rotate(180deg)}

/* Google-style reviews */
.creative-testimonials{background:linear-gradient(180deg,#fff,#f7fafc)!important;padding:85px 0 90px!important}
.google-summary{margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;color:#17365d;font:400 13px Inter,Arial,sans-serif}
.google-summary .google-g{font-size:25px;font-weight:800;color:#4285f4}
.google-summary strong{font-size:14px}.google-summary>b{font-size:18px}.google-stars{color:#fbbc04;letter-spacing:2px}.google-summary small{color:#7b8792}
.testimonial-viewport{overflow:hidden}
.creative-testimonial-track{display:flex;gap:22px;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.google-card{flex:0 0 calc((100% - 44px)/3);min-height:260px!important;padding:25px!important;border:1px solid #e4e8ed;box-shadow:0 12px 32px rgba(20,49,78,.07)!important;border-radius:18px!important}
.google-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(20,49,78,.12)!important}
.review-top{display:flex;align-items:center;justify-content:space-between}.reviewer{display:flex;align-items:center;gap:11px}.reviewer strong{display:block;color:#17365d;font:700 15px Archivo,Inter,sans-serif}.reviewer small{display:block;color:#8b949c;font:400 11px Inter,Arial,sans-serif;margin-top:2px}
.review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#17365d,#4285f4);color:#fff;font:700 12px Inter,Arial,sans-serif}.review-avatar.alt{background:linear-gradient(135deg,#ff9d18,#ffbd18)}.review-avatar.third{background:linear-gradient(135deg,#00897b,#26a69a)}.review-avatar.fourth{background:linear-gradient(135deg,#6a1b9a,#ab47bc)}
.google-mini{font:800 22px Arial;color:#4285f4}.review-stars{color:#fbbc04;font-size:14px;margin-top:18px}.review-stars small{color:#7a858f;font:400 11px Inter,Arial,sans-serif;margin-left:5px}
.google-card p{font:400 14px/1.6 Inter,Arial,sans-serif!important;color:#596673;margin:16px 0 22px!important}.review-bottom{display:flex;justify-content:space-between;align-items:center;color:#8b949c;font:400 11px Inter,Arial,sans-serif}.review-bottom i{font-size:18px;color:#4285f4}
.testimonial-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:28px}.testimonial-controls button{border:0;cursor:pointer}.test-prev,.test-next{width:42px;height:42px;border-radius:50%;background:#fff;border:1px solid #dbe2e8!important;color:#17365d;font-size:18px}.test-prev:hover,.test-next:hover{background:#ffbd18;border-color:#ffbd18!important}.test-dots{display:flex;gap:7px}.test-dots button{width:7px;height:7px;border-radius:50%;background:#b7c2cb}.test-dots button.active{width:25px;border-radius:8px;background:#17365d}

/* Footer creative */
.exact-footer{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(8,121,188,.18),transparent 28%),#00132f!important}
.exact-footer:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:55px 55px;pointer-events:none}
.exact-footer .container{position:relative;z-index:1}.footer-logo-custom{transition:transform .4s}.footer-brand:hover .footer-logo-custom{transform:translateY(-4px)}
.exact-socials a{position:relative;overflow:hidden}.exact-socials a:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);transform:translateY(100%);transition:.35s}.exact-socials a:hover:after{transform:none}.exact-socials a:hover{transform:translateY(-5px) scale(1.08);box-shadow:0 10px 25px rgba(0,0,0,.3)}
.exact-footer-col h4{box-shadow:0 8px 20px rgba(255,157,24,.15);transition:.3s}.exact-footer-col h4:hover{transform:translateY(-3px)}
.footer-contact i{transition:.3s}.footer-contact:hover i{transform:rotate(8deg) scale(1.1);box-shadow:0 8px 20px rgba(255,157,24,.25)}
.exact-footer-col a:hover{color:#ffbd18!important;transform:translateX(5px)}.exact-footer-col a:hover:before{margin-right:15px}

/* Scroll reveal helpers */
@media(max-width:900px){
  .creative-why-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 300px 210px}
  .why-one,.why-four{grid-column:auto}
  .why-info-card{min-height:210px}
  .google-card{flex-basis:calc((100% - 22px)/2)}
}
@media(max-width:600px){
  .creative-why-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .why-interactive{height:300px}.why-info-card{min-height:200px}
  .why-default-content{left:28px;bottom:28px}.why-default-content h3{font-size:22px}
  .creative-stats{grid-template-columns:1fr 1fr!important}
  .counter-item:not(:last-child):after{display:none}
  .google-card{flex-basis:100%}
  .creative-testimonials{padding:60px 0!important}
}


/* Final gallery polish */
.gallery-auto-slider .gallery-track{gap:15px!important}
.gallery-auto-slider .gallery-slide{border-radius:10px!important}
.gallery-auto-slider .gallery-slide img{border-radius:10px!important}


/* =========================================================
   FINAL POLISH / INTERACTION FIXES
   ========================================================= */

/* About: cinematic scroll reveal + animated 25+ badge */
.exact-about{overflow:hidden;position:relative}
.exact-about:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 50%,rgba(255,189,24,.08),transparent 24%);pointer-events:none}
.exact-about-grid{position:relative;z-index:1}
.exact-about-photo{opacity:0;transform:translateX(-70px) scale(.94);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
.exact-about-photo.about-visible{opacity:1;transform:none}
.exact-about-photo img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.exact-about-photo:hover img{transform:scale(1.035);filter:saturate(1.08)}
.exact-about-content{opacity:0;transform:translateX(70px);transition:opacity .9s .12s ease,transform 1s .12s cubic-bezier(.2,.7,.2,1)}
.exact-about-content.about-visible{opacity:1;transform:none}
.exact-experience{transform:scale(.55) rotate(-18deg);opacity:0;transition:transform .9s .35s cubic-bezier(.2,.8,.2,1),opacity .7s .35s ease}
.exact-about-photo.about-visible .exact-experience{transform:scale(1) rotate(0);opacity:1}
.about-counter{font-variant-numeric:tabular-nums}

/* Services: remove navigation arrows and create smooth continuous motion */
.auto-service-slider{overflow:hidden}
.auto-service-slider .service-track{will-change:transform;transition:transform .8s cubic-bezier(.22,.61,.36,1)!important}
.service-slider-arrows{display:none!important}
.auto-service-slider .exact-service-card{transition:transform .45s ease,box-shadow .45s ease}
.auto-service-slider .exact-service-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(5,29,53,.18)}
.service-dots-slider{margin-top:22px}
.service-dots-slider button{transition:transform .3s,background .3s}
.service-dots-slider button:hover{transform:scale(1.25)}

/* FAQ: correct layout, no giant empty bottom space */
.exact-faq{padding:75px 0 70px!important;min-height:0!important}
.exact-faq .faq-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;align-items:start!important;gap:60px!important}
.exact-faq .faq-copy{min-width:0;max-width:100%}
.exact-faq .faq-copy h2{max-width:100%;font-size:40px!important;line-height:1.1!important;margin-bottom:32px!important;white-space:normal!important;overflow:visible!important}
.exact-faq .faq-list{max-width:100%}
.exact-faq .faq-item{height:auto!important}
.exact-faq .faq-img{height:500px!important;max-height:500px!important}
.exact-faq .faq-a{max-height:0!important;display:block!important;overflow:hidden!important;padding-top:0!important;padding-bottom:0!important;opacity:0!important;transition:max-height .42s ease,padding .35s ease,opacity .3s ease!important}
.exact-faq .faq-item.active .faq-a{max-height:180px!important;padding-top:4px!important;padding-bottom:20px!important;opacity:1!important}
.exact-faq .faq-q{min-height:58px}
.exact-faq .faq-q i{transition:transform .35s ease}
.exact-faq .faq-item.active .faq-q i{transform:rotate(180deg)}
@media(max-width:900px){
  .exact-faq .faq-grid{grid-template-columns:1fr!important;gap:35px!important}
  .exact-faq .faq-img{height:420px!important;max-height:420px!important}
}
@media(max-width:600px){
  .exact-faq{padding:55px 0!important}
  .exact-faq .faq-copy h2{font-size:32px!important}
  .exact-faq .faq-img{height:340px!important;max-height:340px!important}
}

/* Google-review-style testimonial */
.creative-testimonials{padding:72px 0 72px!important;background:linear-gradient(180deg,#fff 0%,#f7fafd 100%)!important}
.creative-testimonials .testimonial-title{margin-bottom:34px!important}
.creative-testimonials .testimonial-pill{background:#fff;box-shadow:0 5px 18px rgba(17,47,78,.06)}
.google-summary{padding:12px 20px;border:1px solid #e4e8ed;border-radius:999px;background:#fff;box-shadow:0 7px 24px rgba(20,49,78,.06);width:max-content;max-width:100%;margin:18px auto 0}
.google-summary .google-g{font-family:Arial,sans-serif;font-weight:800;background:linear-gradient(90deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.google-card{background:#fff!important;border:1px solid #e2e7ec!important;border-radius:14px!important;box-shadow:0 7px 22px rgba(30,55,80,.07)!important;min-height:275px!important}
.google-card:before{content:"";position:absolute;right:0;top:0;width:80px;height:80px;background:#eaf4fb;clip-path:polygon(100% 0,100% 100%,0 0)}
.google-card:hover{transform:translateY(-8px)!important;box-shadow:0 20px 42px rgba(30,55,80,.13)!important}
.google-mini{position:relative;z-index:2;font-size:22px!important;font-weight:800;background:linear-gradient(90deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 75%,#ea4335 75%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.review-avatar{box-shadow:0 0 0 3px #fff,0 3px 10px rgba(0,0,0,.12)}
.review-stars{letter-spacing:2px!important;font-size:15px!important}
.review-bottom{border-top:1px solid #eef1f3;padding-top:13px;margin-top:auto}
.review-bottom i{background:#fff}

/* Footer: alignment + more refined structure */
.exact-footer{padding:65px 0 0!important}
.exact-footer-grid{grid-template-columns:1.35fr .85fr 1.05fr 1.35fr!important;gap:0!important;align-items:stretch!important}
.footer-brand{padding:0 38px 35px 0;display:flex;flex-direction:column;justify-content:center}
.exact-footer-col{padding:0 34px!important;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.exact-footer-col h4{margin:0 0 26px!important;min-width:142px;text-align:center;white-space:nowrap;line-height:1.1}
.exact-footer-col a{width:100%;display:flex!important;align-items:center;line-height:1.35;margin-bottom:17px!important;white-space:nowrap}
.exact-footer-col a:before{flex:0 0 auto}
.footer-contact{width:100%;align-items:center!important;line-height:1.4!important;margin-bottom:20px!important}
.footer-contact span{min-width:0;overflow-wrap:anywhere}
.exact-copyright{text-align:center!important}
@media(max-width:900px){
  .exact-footer-grid{grid-template-columns:1fr 1fr!important;gap:25px!important}
  .footer-brand{padding-right:20px}
  .exact-footer-col{padding:20px!important}
}
@media(max-width:600px){
  .exact-footer-grid{grid-template-columns:1fr!important}
  .footer-brand,.exact-footer-col{padding:20px 0!important}
  .exact-footer-col a{white-space:normal}
}

/* More subtle hover micro-interactions */
.exact-about .exact-check-grid div{transition:transform .25s,color .25s}
.exact-about .exact-check-grid div:hover{transform:translateX(5px);color:#ff9d18}

/* Responsive */
@media(max-width:900px){
  .navlinks,.phone{display:none}.mobile-toggle{display:block}
  .nav{position:relative}.navlinks.open{display:flex;position:absolute;top:62px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px;box-shadow:0 10px 25px rgba(0,0,0,.1)}
  .hero{min-height:auto;padding:75px 0}.hero-grid,.about-grid,.services-grid,.faq-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:40px}.quote-card{max-width:500px}
  .service-cards{max-width:750px}
  .why-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.why-box:first-child{grid-column:1/-1}.stat-row{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .section{padding:60px 0}h2{font-size:32px}.hero h1{font-size:32px}.about h2,.service-heading h2,.why h2,.cta h2,.testimonial-title h2{font-size:32px}
  .hero-actions{flex-wrap:wrap}.check-grid,.service-cards,.testimonial-grid{grid-template-columns:1fr}
  .service-card{height:230px}.why-grid{grid-template-columns:1fr}.why-box:first-child{grid-column:auto}.stat-row{grid-template-columns:1fr 1fr}
  .cta-inner{flex-direction:column;align-items:flex-start}.cta{padding:55px 0}
  .faq-img{height:300px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:150px}.gallery img:last-child{display:none}
  .footer-grid{grid-template-columns:1fr;gap:25px}.footer-col{border-left:0;padding-left:0}
}

/* ===== Exact Reference Header + Hero ===== */
.site-header{
  height:117px;
  background:#fff;
  display:flex;
  align-items:center;
  position:relative;
  z-index:50;
  box-shadow:0 1px 5px rgba(0,0,0,.03);
}
.site-header .container{
  width:min(1280px,92%);
  height:100%;
  display:flex;
  align-items:center;
  margin:auto;
}
.site-logo{
  width:245px;
  height:116px;
  object-fit:contain;
  object-position:left center;
  display:block;
}
.site-nav{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:49px;
}
.site-nav a{
  font-family:Inter,Arial,sans-serif;
  font-size:16px;
  font-weight:700;
  color:#071d42;
  transition:.2s;
}
.site-nav a:hover,.site-nav a.active{color:#ffb914}
.header-contact{
  margin-left:67px;
  display:flex;
  align-items:center;
  gap:13px;
}
.header-contact .phone-icon{
  width:39px;height:39px;border-radius:50%;
  display:grid;place-items:center;
  background:#09639d;color:#fff;font-size:16px;
}
.header-contact small{
  display:block;
  font-size:16px;
  line-height:1.05;
  color:#071d42;
  font-weight:500;
}
.header-contact strong{
  display:block;
  font-size:19px;
  line-height:1.05;
  color:#071d42;
  font-weight:800;
}
.header-btn{
  margin-left:25px;
  height:43px;
  padding:0 24px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ffbe19;
  color:#071d42;
  font-size:14px;
  font-weight:800;
  font-family:Inter,Arial,sans-serif;
}
.header-mobile-toggle{display:none;background:none;border:0;font-size:24px;color:#071d42}.site-nav.open{display:flex;position:absolute;top:86px;left:4%;right:4%;background:#fff;flex-direction:column;align-items:flex-start;gap:18px;padding:22px;box-shadow:0 15px 30px rgba(0,0,0,.12);border-radius:0 0 12px 12px}

/* Hero */
.reference-hero{
  min-height:683px;
  background-image:linear-gradient(90deg,rgba(2,13,28,.78) 0%,rgba(2,13,28,.67) 48%,rgba(2,13,28,.52) 100%),url("assets/hero.jpg");
  background-size:cover;
  background-position:center;
  color:#fff;
  display:flex;
  align-items:center;
}
.reference-hero .hero-inner{
  width:min(1280px,92%);
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:80px;
  align-items:center;
}
.reference-copy{
  padding-bottom:2px;
}
.reference-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 13px;
  border-radius:20px;
  background:rgba(255,255,255,.11);
  border:1px solid rgba(255,255,255,.09);
  font-size:12px;
  font-weight:700;
  margin-bottom:36px;
}
.reference-badge i{color:#ffbd18}
.reference-copy h1{
  font-family:Archivo,Inter,sans-serif;
  font-size:54px;
  line-height:1.13;
  font-weight:700;
  letter-spacing:-1.5px;
  max-width:850px;
  margin:0 0 19px;
  color:#fff;
}
.reference-copy h1 span{color:#ffbd19}
.reference-copy p{
  font-family:Inter,Arial,sans-serif;
  font-size:15px !important;
  line-height:1.7;
  color:#e3e8ef;
  max-width:690px;
  margin:0 0 43px;
}
.reference-actions{
  display:flex;
  align-items:center;
  gap:18px;
}
.reference-book{
  height:53px;
  padding:0 28px;
  border-radius:11px;
  background:#ffbe19;
  color:#061a38;
  font-size:14px;
  font-weight:800;
  display:inline-flex;
  align-items:center;
  gap:13px;
}
.reference-book i{font-size:14px}
.reference-call{
  display:flex;
  flex-direction:column;
  gap:1px;
  font-family:Inter,Arial,sans-serif;
}
.reference-call small{font-size:11px;color:#e6ebf1}
.reference-call strong{font-size:15px;color:#fff}
.google-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:18px;
}
.google-g{
  width:48px;height:48px;
  display:grid;place-items:center;
  font-family:Arial,sans-serif;
  font-size:47px;
  line-height:1;
  font-weight:800;
  color:#4285f4;
  text-shadow:-2px 0 #ea4335,2px 0 #34a853,0 2px #fbbc05;
}
.google-rating-text{line-height:1.05}
.google-rating-text strong{font-size:18px;font-weight:500;color:#fff;display:block}
.google-rating-text span{font-size:17px;color:#fff}
.google-rating-text .stars{color:#ffc107;letter-spacing:1px}

/* Form */
.reference-form{
  width:100%;
  background:rgba(7,25,53,.88);
  border:1px solid rgba(255,255,255,.17);
  border-radius:22px;
  padding:31px;
  box-shadow:0 22px 55px rgba(0,0,0,.24);
  backdrop-filter:blur(7px);
}
.reference-form h2{
  font-family:Archivo,Inter,sans-serif;
  font-size:25px;
  font-weight:700;
  color:#fff;
  margin:0 0 6px;
}
.reference-form>p{
  font-family:Inter,Arial,sans-serif;
  font-size:15px !important;
  line-height:1.5;
  color:#d5dce6;
  margin:0 0 22px;
}
.ref-field{
  height:45px;
  margin-bottom:14px;
  padding:0 14px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.07);
  display:flex;
  align-items:center;
  gap:11px;
}
.ref-field i{font-size:14px;color:#d4dce7;width:16px}
.ref-field input,.ref-field select,.ref-field textarea{
  border:0;outline:0;background:transparent;width:100%;
  color:#fff;font-family:Inter,Arial,sans-serif;font-size:14px;
}
.ref-field input::placeholder,.ref-field textarea::placeholder{color:#d2d8e0}
.ref-field select{color:#d2d8e0}
.ref-field select option{color:#111}
.ref-field.message{height:45px}
.reference-submit{
  width:100%;height:51px;border:0;border-radius:11px;
  background:#ffbe19;color:#061a38;
  font-family:Inter,Arial,sans-serif;
  font-size:14px;font-weight:800;
  cursor:pointer;margin-top:9px;
}
.desktop-only{display:block}
@media(max-width:600px){.desktop-only{display:none}}
@media(max-width:1100px){
  .site-nav{gap:27px}.header-contact{margin-left:28px}
  .reference-hero .hero-inner{gap:40px}
  .reference-copy h1{font-size:46px}
}
@media(max-width:900px){
  .site-header{height:86px}
  .site-logo{width:190px;height:85px}
  .site-nav,.header-contact,.header-btn{display:none}
  .header-mobile-toggle{display:block;margin-left:auto}
  .reference-hero{padding:70px 0;min-height:auto}
  .reference-hero .hero-inner{grid-template-columns:1fr;gap:45px}
  .reference-copy h1{font-size:42px}
  .reference-form{max-width:520px}
}
@media(max-width:600px){
  .site-logo{width:170px}
  .reference-copy h1{font-size:34px;letter-spacing:-.7px}
  .reference-copy p{font-size:15px !important}
  .reference-actions{flex-wrap:wrap;gap:15px}
  .google-rating{margin-left:0}
  .reference-form{padding:22px}
}


@media(max-width:1100px){
  .exact-about-grid{gap:55px}
  .exact-service-cards,.exact-dots{width:680px}
  .exact-service-card{height:310px}
  .exact-card-content{padding-left:28px;padding-right:28px}
  .exact-card-content .card-icon{left:28px}
}
@media(max-width:900px){
  .exact-about-grid{grid-template-columns:1fr;gap:55px}
  .exact-about-photo{margin:auto}
  .exact-about-content{padding-bottom:25px}
  .exact-services{min-height:auto}
  .exact-services-wrap{display:block;min-height:auto}
  .exact-services-left{padding:70px 0}
  .exact-service-cards,.exact-dots{width:100%}
  .exact-services-feature{position:relative;width:100%;height:500px}
  .feature-bottom{left:12%;bottom:70px}
}
@media(max-width:600px){
  .exact-about{padding:60px 0}
  .exact-about-photo img{height:360px}
  .exact-experience{width:115px;height:115px;right:-10px;bottom:-25px}
  .exact-experience strong{font-size:30px}
  .exact-experience span{font-size:9px}
  .exact-about-content h2,.exact-services-left h2{font-size:32px}
  .exact-check-grid{grid-template-columns:1fr;gap:11px}
  .exact-service-cards{grid-template-columns:1fr}
  .exact-service-card{height:330px}
  .exact-services-feature{height:430px}
  .feature-arrow{width:55px;height:55px;font-size:30px;top:30px;right:20px}
  .feature-bottom{left:12%;bottom:45px}
}


@media(max-width:1100px){
  .hero-form-fixed{right:3%}
  .service-slider,.service-dots-slider{width:680px}
  .service-track .exact-service-card{flex-basis:325px}
}
@media(max-width:900px){
  .banner-slider{min-height:850px!important}
  .banner-slide .hero-inner{height:850px}
  .hero-form-fixed{top:auto;bottom:50px;transform:none;left:50%;right:auto;translate:-50% 0}
  .banner-arrow{top:45%}
  .service-slider,.service-dots-slider{width:100%}
  .service-track .exact-service-card{flex-basis:calc(50% - 15px)}
}
@media(max-width:600px){
  .banner-slider{min-height:920px!important}
  .banner-slide .hero-inner{height:920px}
  .hero-form-fixed{bottom:35px;width:92%}
  .banner-arrow{width:38px;height:38px;font-size:24px}
  .banner-prev{left:8px}.banner-next{right:8px}
  .service-track .exact-service-card{flex-basis:100%}
  .service-slider-arrows{justify-content:center}
}




/* =========================================================
   1TOUCH APPLIANCE REPAIRS — FINAL GOLDEN TOUCH
   Premium appliance-service visual language
   ========================================================= */
:root{
  --tg-navy:#031a37;
  --tg-navy2:#06264d;
  --tg-blue:#0879bc;
  --tg-gold:#ffbd18;
  --tg-gold2:#ff9d18;
  --tg-light:#f5f9fc;
  --tg-text:#18324f;
}

/* Scroll progress */
body:before{
  content:"";
  position:fixed;
  top:0;left:0;
  width:100%;height:3px;
  z-index:99999;
  background:linear-gradient(90deg,var(--tg-gold),var(--tg-gold2));
  transform:scaleX(0);
  transform-origin:left;
  animation:tgScrollProgress linear;
  animation-timeline:scroll(root);
}
@keyframes tgScrollProgress{to{transform:scaleX(1)}}

/* Premium selection */
::selection{background:var(--tg-gold);color:var(--tg-navy)}

/* Section breathing room */
.exact-about,.exact-services,.exact-why,.exact-faq,.creative-testimonials,.exact-footer{
  position:relative;
}

/* Gold micro-label */
.eyebrow{
  letter-spacing:1.8px!important;
  font-weight:800!important;
}
.eyebrow:before{
  box-shadow:0 0 0 5px rgba(255,189,24,.10),0 0 18px rgba(255,189,24,.28);
}

/* =========================================================
   HEADER — polished, premium, service-business feel
   ========================================================= */
.site-header{
  transition:background .35s,box-shadow .35s,transform .35s;
}
.site-header:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,#ffbd18,transparent);
  opacity:.28;
}
.site-nav a{
  position:relative;
}
.site-nav a:after{
  content:"";
  position:absolute;
  left:50%;right:50%;bottom:-10px;
  height:2px;
  background:linear-gradient(90deg,var(--tg-gold),var(--tg-gold2));
  border-radius:20px;
  transition:left .3s,right .3s;
}
.site-nav a:hover:after,.site-nav a.active:after{left:0;right:0}

/* =========================================================
   HERO — subtle moving light / glass / appliance-service feel
   ========================================================= */
.banner-slider{
  overflow:hidden;
}
.banner-slide{
  overflow:hidden;
}
.banner-slide:before{
  content:"";
  position:absolute;
  width:480px;height:480px;
  left:-220px;top:-180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,189,24,.15),transparent 68%);
  filter:blur(8px);
  animation:tgHeroOrb 9s ease-in-out infinite alternate;
  pointer-events:none;
}
.banner-slide:after{
  background:
    linear-gradient(90deg,rgba(1,13,29,.58),rgba(1,13,29,.14) 55%,rgba(1,13,29,.38)),
    linear-gradient(0deg,rgba(1,13,29,.18),transparent 45%)!important;
}
@keyframes tgHeroOrb{
  from{transform:translate3d(0,0,0) scale(1)}
  to{transform:translate3d(150px,80px,0) scale(1.25)}
}
.reference-copy h1{
  animation:tgHeroText .9s cubic-bezier(.2,.7,.2,1) both;
}
@keyframes tgHeroText{
  from{opacity:0;transform:translateY(22px)}
  to{opacity:1;transform:none}
}
.reference-copy h1 span{
  position:relative;
}
.reference-copy h1 span:after{
  content:"";
  position:absolute;
  left:0;bottom:-7px;width:70%;
  height:3px;border-radius:5px;
  background:linear-gradient(90deg,var(--tg-gold),transparent);
  opacity:.7;
}
.reference-form{
  border-radius:24px!important;
}
.reference-form:before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:23px;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 28%,transparent 70%,rgba(255,189,24,.08));
}
.reference-submit,.reference-book,.btn{
  position:relative;
  overflow:hidden;
}
.reference-submit:before,.reference-book:before,.btn:before{
  content:"";
  position:absolute;
  top:-80%;left:-35%;
  width:30%;height:260%;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transition:left .65s ease;
}
.reference-submit:hover:before,.reference-book:hover:before,.btn:hover:before{left:125%}

/* =========================================================
   ABOUT — image frame + gold energy
   ========================================================= */
.exact-about{
  background:
    radial-gradient(circle at 5% 45%,rgba(255,189,24,.08),transparent 22%),
    linear-gradient(180deg,#f3f9fd,#edf6fb)!important;
}
.exact-about-photo:before{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px solid rgba(255,189,24,.35);
  border-radius:260px 260px 82px 82px;
  transform:rotate(-2deg);
  transition:transform .6s ease;
  pointer-events:none;
}
.exact-about-photo:hover:before{transform:rotate(1deg) scale(1.015)}
.exact-about-photo:after{
  content:"";
  position:absolute;
  left:-30px;bottom:15%;
  width:90px;height:90px;
  border:1px solid rgba(255,189,24,.35);
  border-radius:50%;
  box-shadow:0 0 35px rgba(255,189,24,.12);
  animation:tgFloat 4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes tgFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)}
}
.exact-experience{
  border:5px solid #f4f9fc!important;
  box-shadow:0 18px 45px rgba(3,26,55,.22)!important;
}
.exact-experience:after{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:50%;
  border:1px solid rgba(255,189,24,.6);
  animation:tgSpin 12s linear infinite;
}
@keyframes tgSpin{to{transform:rotate(360deg)}}
.exact-check-grid div{
  padding:8px 9px;
  border-radius:10px;
  transition:background .3s,transform .3s,box-shadow .3s;
}
.exact-check-grid div:hover{
  background:rgba(255,189,24,.09);
  box-shadow:0 8px 20px rgba(3,26,55,.06);
}

/* =========================================================
   SERVICES — cards feel tactile, image-led
   ========================================================= */
.exact-services{
  background:
    radial-gradient(circle at 95% 10%,rgba(8,121,188,.07),transparent 24%),
    #fff!important;
}
.exact-service-card{
  transform:translateZ(0);
}
.exact-service-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:21px;
  border:1px solid rgba(255,255,255,.20);
  pointer-events:none;
}
.exact-service-card:after{
  content:"";
  position:absolute;
  width:180px;height:180px;
  right:-90px;top:-90px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,189,24,.35),transparent 68%);
  opacity:0;
  transition:opacity .45s,transform .45s;
  z-index:3;
  pointer-events:none;
}
.exact-service-card:hover:after{
  opacity:1;
  transform:translate(-35px,35px);
}
.service-card-bg{
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s;
}
.exact-service-card:hover .service-card-bg{
  transform:scale(1.08);
  filter:saturate(1.12) contrast(1.03);
}
.exact-card-content{
  z-index:4;
}
.exact-card-content .card-icon{
  width:48px;height:48px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:14px;
  display:grid;place-items:center;
  backdrop-filter:blur(8px);
  background:rgba(3,26,55,.22);
  transition:transform .35s,background .35s;
}
.exact-service-card:hover .card-icon{
  transform:rotate(8deg) scale(1.08);
  background:rgba(255,189,24,.22);
}
.exact-card-content .read{
  box-shadow:0 8px 22px rgba(0,0,0,.14);
  transition:transform .3s,background .3s,box-shadow .3s;
}
.exact-card-content .read:hover{
  transform:translateX(6px);
  background:var(--tg-gold)!important;
  box-shadow:0 12px 25px rgba(255,189,24,.28);
}
.auto-service-slider .service-track{will-change:transform}

/* =========================================================
   WHY CHOOSE US — interactive tiles
   ========================================================= */
.exact-why{
  background:
    radial-gradient(circle at 78% 20%,rgba(8,121,188,.18),transparent 28%),
    radial-gradient(circle at 15% 85%,rgba(255,189,24,.07),transparent 25%),
    #031a37!important;
}
.why-box{
  transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;
}
.why-box:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 45px rgba(0,0,0,.20);
}
.why-quality{
  position:relative;
  overflow:hidden;
}
.why-quality:before{
  content:"";
  position:absolute;
  width:230px;height:230px;
  right:-100px;top:-100px;
  border-radius:50%;
  border:1px solid rgba(3,26,55,.20);
  box-shadow:0 0 0 18px rgba(3,26,55,.035),0 0 0 36px rgba(3,26,55,.025);
  transition:transform .7s;
}
.why-quality:hover:before{transform:scale(1.18)}
.why-photo-arrow{
  transition:width .35s,height .35s,background .35s;
}
.why-photo:hover .why-photo-arrow{
  width:88px;height:88px;
  background:var(--tg-gold);
  color:var(--tg-navy);
}
.why-trusted .trusted-overlay{
  transition:background .4s;
}
.why-trusted:hover .trusted-overlay{
  background:linear-gradient(90deg,rgba(3,20,40,.94),rgba(3,20,40,.28));
}
.why-small{
  transition:background .35s,transform .35s;
}
.why-small:hover{
  background:linear-gradient(145deg,#1b658f,#0d4d73)!important;
}
.why-small.blue:hover{
  background:linear-gradient(145deg,#0d8bce,#0879bc)!important;
}
.why-stats{
  overflow:hidden;
}
.counter-item strong{
  text-shadow:0 0 20px rgba(255,189,24,.16);
}
.counter-item{
  position:relative;
  transition:transform .3s;
}
.counter-item:hover{transform:translateY(-4px)}
.counter-item:after{
  opacity:.18!important;
}

/* =========================================================
   FAQ — premium active state
   ========================================================= */
.exact-faq{
  background:linear-gradient(180deg,#fff,#f9fbfd)!important;
}
.exact-faq .faq-item{
  border:1px solid #edf1f4;
  transition:box-shadow .35s,transform .35s,border-color .35s;
}
.exact-faq .faq-item:hover{
  transform:translateX(4px);
  box-shadow:0 13px 30px rgba(8,31,54,.09)!important;
}
.exact-faq .faq-item.active{
  border-color:rgba(255,189,24,.35);
  box-shadow:0 15px 32px rgba(8,31,54,.11)!important;
}
.exact-faq .faq-item.active .faq-q{
  background:linear-gradient(105deg,#062752,#0a3969)!important;
}
.exact-faq .faq-q i{
  width:28px;height:28px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#f2f6f9;
  color:#163b60;
}
.exact-faq .faq-item.active .faq-q i{
  background:var(--tg-gold);
  color:var(--tg-navy);
}

/* =========================================================
   TESTIMONIALS — polished review cards
   ========================================================= */
.google-card{
  position:relative!important;
  overflow:hidden;
}
.google-card:after{
  content:"";
  position:absolute;
  left:-120%;top:0;
  width:70%;height:100%;
  transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
  transition:left .8s ease;
  pointer-events:none;
}
.google-card:hover:after{left:150%}
.review-avatar{
  transition:transform .35s;
}
.google-card:hover .review-avatar{transform:scale(1.08)}
.test-prev,.test-next{
  transition:transform .3s,background .3s,box-shadow .3s!important;
}
.test-prev:hover,.test-next:hover{
  transform:translateY(-3px) scale(1.08);
  box-shadow:0 10px 22px rgba(255,189,24,.22);
}

/* =========================================================
   GALLERY — showroom strip
   ========================================================= */
.gallery-auto-slider{
  position:relative;
}
.gallery-auto-slider:before,.gallery-auto-slider:after{
  content:"";
  position:absolute;
  top:0;bottom:0;width:100px;
  z-index:3;
  pointer-events:none;
}
.gallery-auto-slider:before{
  left:0;background:linear-gradient(90deg,#fff,transparent);
}
.gallery-auto-slider:after{
  right:0;background:linear-gradient(-90deg,#fff,transparent);
}
.gallery-slide{
  box-shadow:0 8px 24px rgba(3,26,55,.08);
  transition:transform .45s,box-shadow .45s;
}
.gallery-slide:hover{
  transform:translateY(-7px) scale(1.015);
  box-shadow:0 18px 35px rgba(3,26,55,.16);
}

/* =========================================================
   CTA / FLOAT CALL
   ========================================================= */
.exact-cta{
  overflow:hidden;
}
.exact-cta:before{
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-100px;top:-150px;
  border-radius:50%;
  border:1px solid rgba(255,189,24,.25);
  box-shadow:0 0 0 20px rgba(255,189,24,.035),0 0 0 45px rgba(255,189,24,.02);
  animation:tgFloat 6s ease-in-out infinite;
}
.float-call{
  box-shadow:0 10px 28px rgba(255,157,24,.35)!important;
  transition:transform .3s,box-shadow .3s!important;
}
.float-call:hover{
  transform:translateY(-5px) rotate(-8deg) scale(1.08);
  box-shadow:0 16px 34px rgba(255,157,24,.45)!important;
}
.float-call:before{
  content:"";
  position:absolute;
  inset:-7px;
  border:1px solid rgba(255,157,24,.35);
  border-radius:50%;
  animation:tgPulse 2.2s infinite;
}
@keyframes tgPulse{
  0%,100%{transform:scale(.9);opacity:.8}
  70%{transform:scale(1.25);opacity:0}
}

/* =========================================================
   FOOTER — premium service-company finish
   ========================================================= */
.exact-footer{
  background:
    radial-gradient(circle at 88% 12%,rgba(8,121,188,.20),transparent 25%),
    radial-gradient(circle at 10% 100%,rgba(255,189,24,.07),transparent 22%),
    #00132f!important;
}
.exact-footer:after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,#ffbd18 20%,#ff9d18 50%,#ffbd18 80%,transparent);
  opacity:.8;
}
.exact-socials a{
  position:relative;
  border:1px solid rgba(255,255,255,.12);
  transition:transform .3s,background .3s,color .3s,box-shadow .3s;
}
.exact-socials a:hover{
  background:var(--tg-gold)!important;
  color:var(--tg-navy)!important;
  box-shadow:0 12px 28px rgba(255,189,24,.25)!important;
}
.exact-footer-col h4{
  position:relative;
  box-shadow:0 8px 24px rgba(255,157,24,.18)!important;
}
.exact-footer-col h4:after{
  content:"";
  position:absolute;
  left:18px;right:18px;bottom:5px;height:1px;
  background:rgba(255,255,255,.28);
}
.exact-footer-col a{
  transition:color .25s,transform .25s!important;
}
.footer-contact i{
  transition:transform .3s,background .3s!important;
}
.footer-contact:hover i{
  background:#fff!important;
  color:var(--tg-gold2)!important;
  transform:scale(1.08) rotate(4deg)!important;
}
.exact-copyright{
  background:rgba(255,255,255,.015);
}

/* Reduce motion for accessibility */
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
  }
}



/* ===== FINAL ALIGNMENT + PREMIUM POLISH ===== */
.exact-about-grid{align-items:center!important}
.exact-about-photo{
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 45px 38px 0!important;
}
.exact-about-photo img{
  width:100%!important;
  max-width:520px!important;
  height:430px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:220px 220px 70px 70px!important;
}
.exact-experience{
  width:118px!important;
  height:118px!important;
  right:5px!important;
  bottom:0!important;
}
.exact-experience strong{
  font-family:Archivo,Inter,sans-serif!important;
  font-size:34px!important;
  line-height:1!important;
  display:block;
  min-width:0!important;
}
.exact-experience span{
  font-family:Inter,Arial,sans-serif!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
.exact-about-content h2{
  max-width:650px!important;
}
.exact-about-content>p{
  max-width:680px!important;
  margin-bottom:18px!important;
}
.exact-check-grid{
  align-items:start!important;
}
.exact-check-grid div{
  font-family:Inter,Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.35!important;
  min-height:38px;
  display:flex!important;
  align-items:center!important;
}
.exact-check-grid i{font-size:14px!important;flex:0 0 14px}

/* ===== SERVICES: mouse/trackpad dragging ===== */
.auto-service-slider{
  cursor:grab;
  user-select:none;
  touch-action:pan-y;
}
.auto-service-slider.dragging{cursor:grabbing}
.auto-service-slider .service-track{
  transition:transform .65s cubic-bezier(.2,.7,.2,1)!important;
}
.auto-service-slider .exact-service-card{
  flex-shrink:0!important;
}

/* ===== CTA: premium appliance-repair conversion banner ===== */
.premium-cta{
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 86% 20%,rgba(255,189,24,.18),transparent 18%),
    radial-gradient(circle at 20% 110%,rgba(8,121,188,.22),transparent 30%),
    linear-gradient(110deg,#031a37 0%,#06264d 58%,#031a37 100%)!important;
  padding:74px 0!important;
}
.premium-cta:before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(3,26,55,.88),rgba(3,26,55,.55)),
    url("CTA-Banner.jpg") center/cover;
  opacity:.5;
  mix-blend-mode:screen;
  pointer-events:none;
}
.premium-cta:after{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:linear-gradient(90deg,transparent,#ffbd18 20%,#ff9d18 50%,#ffbd18 80%,transparent);
}
.premium-cta-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:50px;
  padding:38px 44px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:30px;
  background:rgba(3,19,39,.45);
  backdrop-filter:blur(10px);
  box-shadow:0 30px 70px rgba(0,0,0,.24);
}
.premium-cta-copy .eyebrow{color:#ffbd18}
.premium-cta-copy h2{
  color:#fff!important;
  font-size:42px!important;
  max-width:820px;
  margin:0 0 12px;
}
.premium-cta-copy h2 span{color:#ffbd18}
.premium-cta-copy p{
  color:#d3deea!important;
  max-width:750px;
  margin:0 0 18px!important;
}
.cta-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
}
.cta-trust-row span{
  color:#dce7f2;
  font:600 11px Inter,Arial,sans-serif;
}
.cta-trust-row i{color:#ffbd18;margin-right:5px}
.premium-cta-btn{
  min-width:170px;
  min-height:55px;
  border-radius:14px!important;
  font-size:13px!important;
  box-shadow:0 15px 35px rgba(255,189,24,.22);
}
.cta-appliance-icons{
  position:absolute;
  right:235px;
  top:18px;
  display:flex;
  gap:10px;
  opacity:.16;
  pointer-events:none;
}
.cta-appliance-icons span{
  width:48px;height:48px;
  display:grid;place-items:center;
  border:1px solid #fff;
  border-radius:14px;
  color:#fff;
  transform:rotate(-8deg);
}
.cta-appliance-icons span:nth-child(2){transform:translateY(18px) rotate(6deg)}
.cta-appliance-icons span:nth-child(3){transform:translateY(-5px) rotate(12deg)}
.cta-glow{position:absolute;border-radius:50%;filter:blur(3px);pointer-events:none}
.cta-glow-one{width:220px;height:220px;right:-80px;bottom:-100px;background:rgba(255,189,24,.15)}
.cta-glow-two{width:180px;height:180px;left:-70px;top:-80px;background:rgba(8,121,188,.18)}
@media(max-width:800px){
  .premium-cta-inner{grid-template-columns:1fr;padding:30px 24px;gap:25px}
  .premium-cta-copy h2{font-size:32px!important}
  .premium-cta-btn{width:100%}
  .cta-appliance-icons{display:none}
}

/* ===== TESTIMONIALS: remove summary/footer metadata and add clean hierarchy ===== */
.creative-testimonials .testimonial-title{margin-bottom:42px!important}
.creative-testimonials .google-summary{display:none!important}
.google-card{
  min-height:285px!important;
  padding:27px!important;
}
.google-card .review-bottom{display:none!important}
.google-card .review-stars{margin-top:22px!important}
.google-card p{
  margin:18px 0 0!important;
  padding-top:18px;
  border-top:1px solid #eef1f3;
}
.google-card .review-top{
  position:relative;
  z-index:2;
}
.google-card:before{
  opacity:.65;
}

/* ===== FAQ: guaranteed working accordion + no broken layout ===== */
.exact-faq{
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
}
.exact-faq .faq-grid{
  align-items:start!important;
}
.exact-faq .faq-list{
  height:auto!important;
}
.exact-faq .faq-item{
  height:auto!important;
  min-height:0!important;
}
.exact-faq .faq-a{
  display:block!important;
  height:auto!important;
  max-height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  padding:0 30px!important;
  transition:max-height .45s ease,opacity .3s ease,padding .35s ease!important;
}
.exact-faq .faq-item.active .faq-a{
  max-height:180px!important;
  opacity:1!important;
  padding:3px 30px 24px!important;
}
.exact-faq .faq-q{
  position:relative;
  z-index:2;
}
.exact-faq .faq-q i{
  flex:0 0 30px!important;
}
.exact-faq .faq-img{
  overflow:hidden!important;
}
.exact-faq .faq-img img{
  transition:transform .8s ease,filter .5s ease!important;
}
.exact-faq .faq-img:hover img{
  transform:scale(1.04)!important;
  filter:saturate(1.05)!important;
}

/* ===== Gallery exact spacing ===== */
.gallery-auto-slider .gallery-track{gap:15px!important}
.gallery-auto-slider .gallery-slide,
.gallery-auto-slider .gallery-slide img{
  border-radius:10px!important;
}

/* ===== Responsive About ===== */
@media(max-width:900px){
  .exact-about-photo{min-height:360px}
  .exact-about-photo img{height:360px!important}
}
@media(max-width:600px){
  .exact-about-grid{gap:42px!important}
  .exact-about-photo{min-height:310px;padding:0 25px 30px 0!important}
  .exact-about-photo img{height:310px!important}
  .exact-experience{width:96px!important;height:96px!important}
  .exact-experience strong{font-size:28px!important}
  .exact-check-grid{grid-template-columns:1fr!important}
}



/* =========================================================
   RESPONSIVE HERO FIX
   Prevent the quote form from overlapping hero content.
   Desktop keeps the two-column layout; tablet/mobile stacks
   content and form naturally.
   ========================================================= */

/* Tablet */
@media (max-width: 900px){
  .reference-hero{
    min-height:0!important;
    height:auto!important;
    display:block!important;
    overflow:hidden;
  }

  .reference-hero .banner-slides{
    position:relative!important;
    inset:auto!important;
    width:100%;
    min-height:0!important;
  }

  .reference-hero .banner-slide{
    position:absolute!important;
    inset:0!important;
    min-height:0!important;
  }

  .reference-hero .banner-slide.active{
    position:relative!important;
    inset:auto!important;
    opacity:1!important;
    visibility:visible!important;
    display:block!important;
    min-height:0!important;
  }

  .reference-hero .banner-slide .hero-inner{
    width:min(720px,88%)!important;
    height:auto!important;
    min-height:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    padding:70px 0 48px!important;
    align-items:start!important;
  }

  .reference-copy{
    width:100%!important;
    max-width:720px!important;
    padding:0!important;
  }

  .reference-badge{
    margin-bottom:22px!important;
  }

  .reference-copy h1{
    font-size:42px!important;
    line-height:1.08!important;
    letter-spacing:-1.1px!important;
    max-width:680px!important;
  }

  .reference-copy p{
    max-width:650px!important;
    margin-bottom:25px!important;
  }

  /* IMPORTANT: form is now in normal document flow */
  .reference-hero .hero-form-fixed{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    left:auto!important;
    bottom:auto!important;
    transform:none!important;
    translate:none!important;
    width:min(520px,88%)!important;
    margin:0 auto 70px!important;
    z-index:20!important;
  }

  .reference-hero .reference-form{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
  }

  .reference-hero .banner-arrow{
    z-index:30!important;
    top:27%!important;
  }

  .reference-hero .banner-dots{
    z-index:30!important;
    bottom:18px!important;
  }
}

/* Mobile */
@media (max-width:600px){
  .reference-hero{
    min-height:0!important;
    padding:0!important;
  }

  .reference-hero .banner-slide .hero-inner{
    width:calc(100% - 36px)!important;
    padding:48px 0 28px!important;
    gap:20px!important;
  }

  .reference-badge{
    font-size:10px!important;
    padding:7px 10px!important;
    margin-bottom:18px!important;
  }

  .reference-copy h1{
    font-size:33px!important;
    line-height:1.08!important;
    letter-spacing:-.7px!important;
    margin-bottom:14px!important;
  }

  .reference-copy p{
    font-size:13px!important;
    line-height:1.55!important;
    margin-bottom:20px!important;
  }

  .reference-copy p .desktop-only{
    display:none!important;
  }

  .reference-actions{
    display:flex!important;
    align-items:flex-start!important;
    flex-wrap:wrap!important;
    gap:13px!important;
  }

  .reference-book{
    height:48px!important;
    padding:0 19px!important;
    font-size:12px!important;
  }

  .reference-call{
    min-width:125px!important;
  }

  .reference-call small{
    font-size:9px!important;
  }

  .reference-call strong{
    font-size:13px!important;
  }

  .google-rating{
    width:100%!important;
    margin-left:0!important;
    margin-top:2px!important;
  }

  .google-g{
    width:34px!important;
    height:34px!important;
    font-size:34px!important;
  }

  /* Quote form sits BELOW the hero copy instead of overlaying it */
  .reference-hero .hero-form-fixed{
    width:calc(100% - 28px)!important;
    margin:0 auto 58px!important;
  }

  .reference-hero .reference-form{
    padding:23px 18px!important;
    border-radius:18px!important;
  }

  .reference-form h2{
    font-size:25px!important;
    line-height:1.15!important;
    margin-bottom:5px!important;
  }

  .reference-form>p{
    font-size:12px!important;
    line-height:1.45!important;
    margin-bottom:14px!important;
  }

  .ref-field{
    min-height:45px!important;
    height:45px!important;
    margin-bottom:9px!important;
  }

  .ref-field input,
  .ref-field select{
    font-size:12px!important;
  }

  .ref-field.message{
    height:52px!important;
  }

  .reference-submit{
    min-height:49px!important;
    font-size:12px!important;
  }

  .reference-hero .banner-arrow{
    top:28%!important;
    width:36px!important;
    height:36px!important;
    font-size:24px!important;
  }

  .reference-hero .banner-prev{left:7px!important}
  .reference-hero .banner-next{right:7px!important}

  .reference-hero .banner-dots{
    bottom:14px!important;
  }
}

/* Very small phones */
@media (max-width:380px){
  .reference-hero .banner-slide .hero-inner{
    width:calc(100% - 28px)!important;
    padding-top:40px!important;
  }

  .reference-copy h1{
    font-size:29px!important;
  }

  .reference-actions{
    gap:10px!important;
  }

  .reference-call strong{
    font-size:12px!important;
  }

  .reference-hero .hero-form-fixed{
    width:calc(100% - 20px)!important;
  }
}

/* Respect reduced-motion settings */
@media (prefers-reduced-motion:reduce){
  .reference-hero *{
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
  }
}

/* =========================================================
   HEADER FIX
========================================================= */

.site-header {
    position: relative;
    z-index: 1000;
}

.site-header .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}


/* LOGO */

.site-branding {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    text-decoration: none;
}

.site-branding .custom-logo-link {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.site-branding .custom-logo {
    width: 220px;
    max-width: 220px;
    height: auto;
    max-height: 80px;
    object-fit: contain;
    display: block;
}

.site-title {
    font-family: "Archivo", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #09284a;
    text-decoration: none;
}


/* NAVIGATION */

.site-nav {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.site-nav .primary-menu {
    display: flex !important;
    align-items: center;
    gap: 28px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-nav .primary-menu li {
    list-style: none !important;
    margin: 0;
    padding: 0;
}

.site-nav .primary-menu li::before,
.site-nav .primary-menu li::marker {
    display: none !important;
    content: none !important;
}

.site-nav .primary-menu a {
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #09284a;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
    transition: color .3s ease;
}

.site-nav .primary-menu a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -7px;
    width: 0;
    height: 2px;
    background: #f5b51b;
    transition: width .3s ease;
}

.site-nav .primary-menu a:hover {
    color: #e6a900;
}

.site-nav .primary-menu a:hover::after {
    width: 100%;
}


/* PHONE */

.header-contact {
    flex-shrink: 0;
}

.header-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #09284a;
}

.header-phone .phone-icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #0569a8;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}

.header-phone small {
    display: block;
    font-size: 12px;
    color: #536273;
    line-height: 1.2;
}

.header-phone strong {
    display: block;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 800;
    color: #09284a;
}


/* BOOK BUTTON */

.header-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 23px;
    border-radius: 12px;
    background: #ffb91c;
    color: #09284a !important;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background .3s ease;
}

.header-btn:hover {
    background: #ffc83d;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(255,185,28,.25);
}


/* MOBILE BUTTON */

.header-mobile-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 10px;
    background: #09284a;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .site-header .container {
        gap: 18px;
    }

    .site-branding .custom-logo {
        width: 180px;
        max-width: 180px;
    }

    .site-nav .primary-menu {
        gap: 17px;
    }

    .site-nav .primary-menu a {
        font-size: 14px;
    }

    .header-phone strong {
        font-size: 15px;
    }

    .header-btn {
        padding: 0 17px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 900px) {

    .site-header .container {
        min-height: 78px;
    }

    .site-branding .custom-logo {
        width: 175px;
        max-width: 175px;
        max-height: 65px;
    }

    .header-contact,
    .header-btn {
        display: none;
    }

    .header-mobile-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: auto;
    }

    .site-nav {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 15px 20px 20px;
        display: none;
        box-shadow: 0 15px 30px rgba(0,0,0,.12);
    }

    .site-nav.open {
        display: block;
    }

    .site-nav .primary-menu {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 0;
        width: 100%;
    }

    .site-nav .primary-menu li {
        width: 100%;
    }

    .site-nav .primary-menu a {
        width: 100%;
        padding: 13px 5px;
        font-size: 15px;
    }

    .site-nav .primary-menu a::after {
        display: none;
    }
}

/* =========================================================
   FINAL WORDPRESS HEADER / DYNAMIC LOGO + MENU OVERRIDES
   Added after all previous CSS so older header rules cannot
   break the WordPress menu markup.
========================================================= */

.site-header {
    width: 100%;
    height: 117px;
    background: #fff;
    position: relative;
    z-index: 9999;
    display: flex;
    align-items: center;
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
}

.site-header .container {
    width: min(1280px, 92%);
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 0;
}

/* Dynamic logo wrapper */
.site-branding {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}

.site-branding .custom-logo-link,
.site-branding .site-logo-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}

.site-branding .custom-logo,
.site-branding img.site-logo {
    display: block;
    width: 220px;
    max-width: 220px;
    height: auto;
    max-height: 88px;
    object-fit: contain;
    object-position: left center;
}

.site-title-link {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.site-title {
    color: #071d42;
    font-family: Archivo, Arial, sans-serif;
    font-size: 24px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
}

/* Dynamic WordPress menu */
.site-nav {
    margin-left: auto;
    display: flex;
    align-items: center;
    min-width: 0;
}

.site-nav > .primary-menu,
.site-nav ul.primary-menu {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 30px;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-nav .primary-menu li,
.site-nav .primary-menu .menu-item {
    position: relative;
    display: block;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.site-nav .primary-menu li::before,
.site-nav .primary-menu li::after,
.site-nav .primary-menu li::marker {
    content: none !important;
    display: none !important;
}

.site-nav .primary-menu a {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    padding: 8px 0;
    color: #071d42 !important;
    text-decoration: none !important;
    font-family: Inter, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.2;
    font-weight: 700;
    white-space: nowrap;
    transition: color .25s ease;
}

.site-nav .primary-menu a::after {
    content: "";
    position: absolute;
    left: 50%;
    right: 50%;
    bottom: -4px;
    height: 2px;
    border-radius: 99px;
    background: linear-gradient(90deg, #ffb914, #f59e0b);
    transition: left .25s ease, right .25s ease;
}

.site-nav .primary-menu a:hover,
.site-nav .primary-menu .current-menu-item > a,
.site-nav .primary-menu .current_page_item > a,
.site-nav .primary-menu a.active {
    color: #e9a900 !important;
}

.site-nav .primary-menu a:hover::after,
.site-nav .primary-menu .current-menu-item > a::after,
.site-nav .primary-menu .current_page_item > a::after,
.site-nav .primary-menu a.active::after {
    left: 0;
    right: 0;
}

/* Optional WordPress submenu */
.site-nav .primary-menu .sub-menu {
    position: absolute;
    top: calc(100% + 14px);
    left: -18px;
    min-width: 190px;
    margin: 0 !important;
    padding: 10px !important;
    background: #fff;
    border-radius: 12px;
    list-style: none !important;
    box-shadow: 0 16px 35px rgba(7,29,66,.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.site-nav .primary-menu .menu-item-has-children:hover > .sub-menu,
.site-nav .primary-menu .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.site-nav .primary-menu .sub-menu li {
    width: 100%;
}

.site-nav .primary-menu .sub-menu a {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
}

.site-nav .primary-menu .sub-menu a:hover {
    background: #f6f8fb;
}

.site-nav .primary-menu .sub-menu a::after {
    display: none;
}

/* Phone */
.header-contact {
    margin-left: 38px;
    flex: 0 0 auto;
}

.header-phone {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
}

.header-phone .phone-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #08669f;
    color: #fff;
    font-size: 16px;
}

.header-phone .phone-copy small,
.header-phone .phone-copy strong {
    display: block;
}

.header-phone .phone-copy small {
    color: #071d42;
    font-family: Inter, Arial, sans-serif;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 500;
}

.header-phone .phone-copy strong {
    color: #071d42;
    font-family: Inter, Arial, sans-serif;
    font-size: 17px;
    line-height: 1.2;
    font-weight: 800;
    white-space: nowrap;
}

/* CTA */
.site-header .header-btn {
    margin-left: 24px;
    min-height: 44px;
    padding: 0 22px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: #ffbe19;
    color: #071d42 !important;
    font-family: Inter, Arial, sans-serif;
    font-size: 14px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.site-header .header-btn:hover {
    background: #ffc83d;
    transform: translateY(-2px);
    box-shadow: 0 12px 26px rgba(255,190,25,.24);
}

/* Mobile menu button */
.header-mobile-toggle {
    display: none;
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: #071d42;
    color: #fff;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.header-mobile-toggle:hover {
    background: #0b315c;
}

/* =========================================================
   RESPONSIVE HEADER
========================================================= */
@media (max-width: 1180px) {
    .site-branding .custom-logo,
    .site-branding img.site-logo {
        width: 195px;
        max-width: 195px;
    }

    .site-nav > .primary-menu,
    .site-nav ul.primary-menu {
        gap: 20px;
    }

    .header-contact {
        margin-left: 24px;
    }

    .site-header .header-btn {
        margin-left: 16px;
        padding: 0 17px;
    }
}

@media (max-width: 980px) {
    .site-header {
        height: 86px;
    }

    .site-branding .custom-logo,
    .site-branding img.site-logo {
        width: 185px;
        max-width: 185px;
        max-height: 70px;
    }

    .site-nav,
    .header-contact,
    .site-header .header-btn {
        display: none;
    }

    .header-mobile-toggle {
        display: inline-flex;
    }

    .site-nav.open {
        position: absolute;
        top: 86px;
        left: 4%;
        right: 4%;
        width: auto;
        margin: 0;
        padding: 12px;
        display: block !important;
        background: #fff;
        border-radius: 0 0 14px 14px;
        box-shadow: 0 18px 40px rgba(7,29,66,.16);
    }

    .site-nav.open > .primary-menu,
    .site-nav.open ul.primary-menu {
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        width: 100%;
    }

    .site-nav.open .primary-menu li,
    .site-nav.open .primary-menu .menu-item {
        width: 100%;
    }

    .site-nav.open .primary-menu a {
        width: 100%;
        padding: 13px 12px;
        border-radius: 8px;
    }

    .site-nav.open .primary-menu a:hover {
        background: #f6f8fb;
    }

    .site-nav.open .primary-menu a::after {
        display: none;
    }

    .site-nav.open .primary-menu .sub-menu {
        position: static;
        min-width: 0;
        padding: 0 0 5px 12px !important;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: block;
    }
}

@media (max-width: 600px) {
    .site-header .container {
        width: min(100% - 30px, 1280px);
    }

    .site-branding .custom-logo,
    .site-branding img.site-logo {
        width: 165px;
        max-width: 165px;
        max-height: 64px;
    }

    .site-title {
        font-size: 20px;
    }

    .site-nav.open {
        left: 15px;
        right: 15px;
    }
}
