
:root{
--blue:#1769e8;--blue2:#0757cc;--cyan:#06b6e9;--navy:#07182b;
--ink:#0f2740;--muted:#65768b;--bg:#f5f9ff;--line:#dfe8f2;
--green:#10a66b;--white:#fff;--orange:#f59e0b;
--shadow:0 22px 65px rgba(7,31,56,.12);--softshadow:0 8px 30px rgba(7,31,56,.06);
--radius:24px;--max:1220px
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.65}
body.no-scroll{overflow:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}
.container{width:min(var(--max),92%);margin:auto}.hidden{display:none!important}

/* top */
.topline{background:var(--navy);color:#cbd9e8;font-size:12px}
.topline .container{min-height:37px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.topline a{color:#fff;font-weight:800}

/* header — rebuilt responsive premium navigation */
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid #e5ebf2;box-shadow:0 5px 24px rgba(20,42,70,.05)}
.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo{display:flex;align-items:center;gap:11px;min-width:max-content;position:relative;z-index:2}
.logo-badge{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;display:grid;place-items:center;font-weight:950;box-shadow:0 8px 22px rgba(23,105,232,.22)}
.logo-text strong{display:block;font-size:17px;line-height:1.1;letter-spacing:-.35px}.logo-text small{display:block;font-size:10px;color:var(--muted);margin-top:4px;letter-spacing:.1px}
.navlinks{display:flex;align-items:center;justify-content:flex-end;gap:2px;margin-left:auto}
.navlinks>a,.dropbtn{border:0;background:transparent;color:var(--ink);padding:10px 11px;border-radius:9px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease}
.navlinks>a:hover,.dropbtn:hover,.dropdown.open>.dropbtn{color:var(--blue);background:#edf5ff}
.booknav{background:var(--blue)!important;color:#fff!important;padding:11px 15px!important;margin-left:7px;box-shadow:0 8px 20px rgba(23,105,232,.20)}
.booknav:hover{background:var(--blue2)!important;color:#fff!important;transform:translateY(-1px)}.booknav span{font-size:15px;margin-left:4px}
.dropdown{position:relative}.chevron{display:inline-block;font-size:15px;line-height:0;margin-left:3px;transition:transform .2s ease}.dropdown.open>.dropbtn .chevron{transform:rotate(180deg)}
.dropmenu{display:none;position:absolute;top:calc(100% + 9px);left:0;width:285px;max-height:72vh;overflow:auto;background:#fff;border:1px solid #e1e8f0;border-radius:14px;padding:8px;box-shadow:0 18px 45px rgba(24,49,82,.14)}
.dropdown:hover .dropmenu,.dropdown:focus-within .dropmenu{display:grid}.dropdown.open .dropmenu{display:grid}
.dropmenu a{padding:10px 11px;border-radius:9px;font-size:12.5px;font-weight:750}.dropmenu a:hover{background:#edf5ff;color:var(--blue)}
.citymenu{width:245px;grid-template-columns:1fr 1fr}.menu-toggle{display:none;width:44px;height:44px;flex:0 0 44px;border:1px solid #dce5ee;background:#fff;border-radius:11px;cursor:pointer;padding:0;position:relative;z-index:1101}
.menu-toggle span{position:absolute;left:12px;width:20px;height:2px;border-radius:2px;background:var(--navy);transition:transform .25s ease,opacity .2s ease,top .25s ease}.menu-toggle span:nth-child(1){top:14px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:28px}
.menu-toggle.active span:nth-child(1){top:21px;transform:rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){top:21px;transform:rotate(-45deg)}
@media(max-width:1120px) and (min-width:1001px){.nav{gap:14px}.navlinks>a,.dropbtn{padding:9px 7px;font-size:12px}.booknav{padding:10px 11px!important;margin-left:3px}.logo-text small{display:none}}
@media(max-width:1000px){
 .nav{min-height:68px;gap:15px}.menu-toggle{display:block}
 .navlinks{position:absolute;top:calc(100% + 1px);left:4%;right:4%;width:auto;margin:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:10px;background:#fff;border:1px solid #e1e8f0;border-radius:0 0 16px 16px;box-shadow:0 20px 40px rgba(20,42,70,.13);max-height:calc(100vh - 80px);overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
 .navlinks.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
 .navlinks>a,.dropbtn{width:100%;box-sizing:border-box;text-align:left;padding:13px 13px;font-size:14px;border-radius:9px}
 .dropdown{width:100%}.dropbtn{display:flex;align-items:center;justify-content:space-between}.dropmenu{position:static;width:auto!important;max-height:none;display:none;grid-template-columns:1fr!important;margin:2px 0 5px;padding:5px;background:#f7faff;border:1px solid #e6edf6;border-radius:10px;box-shadow:none}.dropdown.open .dropmenu{display:grid}.dropmenu a{padding:10px 12px;font-size:13px}.booknav{margin:6px 0 2px!important;text-align:center!important;padding:13px!important}.navlinks>a:hover,.dropbtn:hover{background:#f1f6fc}
}
@media(max-width:560px){.logo-badge{width:40px;height:40px;border-radius:11px}.logo-text strong{font-size:15px}.logo-text small{font-size:9px}.menu-toggle{width:42px;height:42px;flex-basis:42px}.menu-toggle span{left:11px}.navlinks{left:3%;right:3%}}

/* hero */
.hero{position:relative;overflow:hidden;padding:88px 0 72px;background:#edf6ff}
.hero-bg-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;isolation:isolate}
.hero-bg-photo picture{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-bg-photo img{position:absolute;inset:-1%;width:102%;height:102%;display:block;object-fit:cover;object-position:center;filter:blur(2px);opacity:.78;transform:scale(1.01)}
.hero-bg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,252,255,.48) 0%,rgba(248,252,255,.27) 42%,rgba(248,252,255,.12) 70%,rgba(248,252,255,.22) 100%);pointer-events:none}
.hero-bg-shade{position:absolute;z-index:1;inset:0;background:transparent;pointer-events:none}
.hero:before,.hero:after{content:"";position:absolute;border:1px solid #1769e817;border-radius:50%;pointer-events:none}
.hero:before{width:560px;height:560px;right:-290px;top:-240px}.hero:after{width:290px;height:290px;right:110px;bottom:-220px}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:55px;align-items:center}
.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid #c7def7;background:#fff;color:var(--blue);border-radius:999px;font-size:12px;font-weight:900}
.hero h1{font-size:clamp(43px,5.5vw,74px);line-height:1.0;letter-spacing:-3.4px;margin:18px 0 18px}
.hero h1 em{font-style:normal;color:var(--blue)}.lead{max-width:730px;color:var(--muted);font-size:18px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:27px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:12px;border:1px solid var(--line);font-weight:900;font-size:14px;cursor:pointer;transition:.2s}
.btn:hover{transform:translateY(-2px)}.primary{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 10px 27px #1769e82d}.primary:hover{background:var(--blue2)}.dark{background:var(--navy);border-color:var(--navy);color:#fff}.white{background:#fff}
.points{display:grid;gap:8px;color:#40546a;font-size:14px}.points span{color:var(--green);font-weight:950}
.hero-visual{position:relative;min-height:470px}.device-card{position:absolute;inset:20px 5px 20px 35px;background:linear-gradient(145deg,#fff,#eef7ff);border:1px solid #d4e5f5;border-radius:35px;box-shadow:var(--shadow);overflow:hidden}
.device-top{padding:20px 23px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5edf5}.status{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:850}.dot{width:8px;height:8px;border-radius:50%;background:var(--green)}
.device-body{padding:25px}.device-body h3{font-size:25px;line-height:1.15;margin:0 0 8px}.device-body p{color:var(--muted);font-size:13px}
.icon-ring{width:105px;height:105px;border-radius:32px;background:#e9f5ff;display:grid;place-items:center;margin-bottom:22px}.icon-ring img{width:72px;height:72px}
.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dash-item{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;font-size:12px;font-weight:850;display:flex;align-items:center;gap:9px}.dash-item img{width:29px;height:29px;border-radius:9px}
.float-card{position:absolute;right:-4px;top:58px;background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:16px;box-shadow:var(--shadow);font-size:12px;font-weight:900}.float-card strong{display:block;font-size:18px;color:var(--blue)}
.float-card2{position:absolute;left:-5px;bottom:38px;background:#07182b;color:#fff;padding:15px 17px;border-radius:17px;box-shadow:var(--shadow);font-size:12px}.float-card2 b{display:block;color:#bfe5ff;font-size:17px}

@media(max-width:650px){
  .hero{padding:55px 0 58px;background:#eef5fb}
  .hero-bg-photo{left:0;right:0;width:100%;height:100%;top:0}
  .hero-bg-photo img{width:102%;height:102%;left:-1%;top:-1%;object-fit:cover;object-position:center center;filter:blur(2px);opacity:.74;transform:scale(1.01)}
  .hero-bg-photo::after{background:linear-gradient(180deg,rgba(248,252,255,.34) 0%,rgba(248,252,255,.20) 35%,rgba(238,247,255,.40) 72%,rgba(238,247,255,.58) 100%)}
  .hero-bg-shade{background:transparent}
}

/* stats */
.stats{border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;padding:23px 15px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:24px;display:block;line-height:1.2}.stat span{color:var(--muted);font-size:12px}

/* sections */
section{padding:84px 0}.section-head{text-align:center;max-width:790px;margin:0 auto 42px}.section-head h2{font-size:clamp(31px,4vw,46px);line-height:1.1;letter-spacing:-1.4px;margin:9px 0 11px}.section-head p{color:var(--muted);font-size:15px}

/* service cards */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.service-card{position:relative;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--softshadow);transition:.25s;overflow:hidden}
.service-card:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:#eef6ff;right:-65px;top:-65px}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.service-icon{position:relative;z-index:2;width:62px;height:62px;border-radius:18px;overflow:hidden}.service-icon img{width:100%;height:100%}
.service-card h3{font-size:19px;margin:17px 0 7px;position:relative;z-index:2}.service-card p{min-height:72px;color:var(--muted);font-size:13px;position:relative;z-index:2}
.card-bottom{position:relative;z-index:2;border-top:1px solid #edf1f5;padding-top:15px;margin-top:18px;display:flex;align-items:center;justify-content:space-between}.tag{font-size:12px;color:var(--blue);font-weight:900}.more{font-size:12px;color:var(--blue);font-weight:950}

/* dark feature */
.feature{background:#07182b;color:#fff}.feature-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:55px;align-items:center}.feature h2{font-size:clamp(32px,4vw,47px);line-height:1.1;letter-spacing:-1.3px;margin:12px 0}.feature p{color:#b9cce0}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.feature-list div{padding:14px;border:1px solid #24405d;border-radius:13px;background:#0c2540;font-size:13px;font-weight:800}.feature-list span{color:#62d5a5}
.feature-panel{background:linear-gradient(145deg,#102f50,#0b2440);border:1px solid #294866;padding:28px;border-radius:27px}.bar{display:flex;justify-content:space-between;font-size:12px;color:#c8d7e7;margin:12px 0 7px}.progress{height:9px;background:#183650;border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));border-radius:inherit}.feature-stat{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.feature-stat div{padding:15px;background:#0b2036;border-radius:14px;text-align:center}.feature-stat b{display:block;font-size:21px}.feature-stat small{color:#9fb4ca}

/* process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-card{padding:24px;background:#fff;border:1px solid var(--line);border-radius:19px}.number{width:43px;height:43px;display:grid;place-items:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:950}.process-card h3{margin:15px 0 6px;font-size:17px}.process-card p{color:var(--muted);font-size:13px}

/* cities */
.coverage-grid{display:grid;grid-template-columns:1fr .75fr;gap:45px;align-items:start}.city-list{display:flex;flex-wrap:wrap;gap:9px}.city-pill{padding:9px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:850;color:#344b63;transition:.2s}.city-pill:hover{color:var(--blue);border-color:#9fc8f2;transform:translateY(-2px)}
.coverage-box{padding:34px;border-radius:27px;color:#fff;background:linear-gradient(135deg,#07182b,#155fc8);box-shadow:var(--shadow)}.coverage-box h2{font-size:30px;line-height:1.12}.coverage-box p{color:#c4d6e9;font-size:14px}

/* why / brands */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.why-card{padding:25px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.2s}.why-card:hover{transform:translateY(-4px);box-shadow:var(--softshadow)}.why-icon{font-size:26px}.why-card h3{margin:10px 0 5px;font-size:18px}.why-card p{color:var(--muted);font-size:13px}
.brands{background:#f6f9fd}.brandcloud{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.brand{padding:11px 16px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:800;color:#465970}

/* reviews */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.review{padding:25px;border:1px solid var(--line);border-radius:20px}.stars{letter-spacing:2px;color:#f4a400}.review p{color:#506177;font-size:14px}.review strong{display:block;margin-top:15px;font-size:13px}

/* booking */
.booking{background:linear-gradient(135deg,#07182b,#155fc8);color:#fff}.booking-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center}.booking h2{font-size:clamp(33px,4vw,47px);line-height:1.08;margin:12px 0}.booking-copy p{color:#c3d5e8}.booking-form{background:#fff;color:var(--ink);padding:28px;border-radius:24px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-group{margin-bottom:14px}.form-group label{display:block;color:#516277;font-size:11px;font-weight:900;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 13px;border:1px solid #d7e0eb;border-radius:10px;outline:0;background:#fff;color:var(--ink)}.form-group textarea{min-height:95px;resize:vertical}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#72aaf0;box-shadow:0 0 0 3px #1769e812}

/* FAQ */
.faq-list{max-width:900px;margin:auto}.faq{border-bottom:1px solid var(--line)}.faq button{width:100%;border:0;background:none;padding:19px 0;display:flex;justify-content:space-between;gap:20px;text-align:left;color:var(--ink);font-weight:850;cursor:pointer}.faq-answer{display:none;padding:0 40px 18px 0;color:var(--muted);font-size:14px}.faq.open .faq-answer{display:block}.faq-symbol{font-size:20px;transition:.2s}.faq.open .faq-symbol{transform:rotate(45deg)}

/* footer */
.final{background:#edf6ff;text-align:center;padding:65px 0}.final h2{font-size:40px;line-height:1.1;margin:0}.final p{color:var(--muted);margin:10px 0 23px}
.footer{background:#06182b;color:#b9c9da;padding:58px 0 20px}.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:30px}.footer h3{color:#fff;font-size:15px;margin:0 0 11px}.footer p{font-size:13px}.footer a{display:block;padding:4px 0;font-size:13px}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid #1d3853;margin-top:30px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px}

/* floating */
.floating{position:fixed;right:19px;bottom:18px;z-index:500;display:flex;flex-direction:column;gap:9px}.float{width:53px;height:53px;display:grid;place-items:center;border-radius:50%;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.2);font-size:21px}.call{background:var(--blue)}.wa{background:#12a66b}

/* responsive */
@media(max-width:1000px){
.navlinks{display:none;position:absolute;top:74px;left:4%;right:4%;max-height:calc(100vh - 88px);overflow:auto;flex-direction:column;align-items:stretch;background:#fff;padding:12px;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}
.navlinks.active{display:flex}.navlinks>a,.dropbtn{text-align:left;width:100%;padding:13px}.menu-toggle{display:block}.dropmenu{position:static;display:none;width:100%;max-height:270px;box-shadow:none;border:0;background:#f7fbff}.dropdown.open .dropmenu{display:grid}.hero-grid,.feature-grid,.coverage-grid,.booking-grid{grid-template-columns:1fr}.hero-visual{min-height:510px}.service-grid,.why-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
.topline .container{justify-content:center}.topline span:nth-child(2){display:none}.nav{min-height:68px}.navlinks{top:68px}.hero{padding:57px 0}.hero h1{letter-spacing:-2px}.lead{font-size:16px}.hero-visual{min-height:460px}.device-card{inset:10px 0 10px 0}.float-card{right:2px}.float-card2{left:2px}.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.stat{border-bottom:1px solid var(--line)}section{padding:59px 0}.service-grid,.process-grid,.why-grid,.review-grid,.form-row,.feature-list{grid-template-columns:1fr}.feature-stat{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}.floating{right:12px;bottom:12px}.float{width:49px;height:49px}
}

/* =========================================================
   REFERENCE-STYLE LOWER SECTIONS — IssueRepair.com
   Closely follows the clean section rhythm shown in the
   supplied reference video while retaining IssueRepair branding.
   ========================================================= */
.reference-why{position:relative;overflow:hidden;padding:92px 0 88px;color:#fff;background:linear-gradient(135deg,#101c3c 0%,#172653 48%,#0c1835 100%)}
.reference-why:before{content:"";position:absolute;inset:0;opacity:.12;background:radial-gradient(circle at 18% 30%,#fff 0 1px,transparent 1px),radial-gradient(circle at 80% 70%,#fff 0 1px,transparent 1px);background-size:44px 44px,58px 58px;pointer-events:none}
.reference-why .container,.reference-services .container,.reference-gallery .container,.reference-contact .container,.reference-faq .container{position:relative;z-index:1}
.ref-heading{text-align:center;max-width:820px;margin:0 auto 48px}
.ref-heading.light{color:#fff}
.ref-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:13px;color:#1769e8}
.reference-why .ref-kicker{color:#9dbbff}
.ref-heading h2{margin:0;font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-.7px;color:#172033}
.ref-heading.light h2{color:#fff}
.ref-heading p{margin:14px auto 0;max-width:720px;line-height:1.8;color:#6d7483;font-size:15px}
.ref-heading.light p{color:#c8d1e6}
.why-ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 65px;max-width:1030px;margin:auto}
.why-ref-card{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}
.ref-round{width:44px;height:44px;border:1px solid rgba(156,190,255,.35);border-radius:50%;display:grid;place-items:center;color:#9dbbff;background:rgba(255,255,255,.045);font-weight:800;box-shadow:0 8px 25px rgba(0,0,0,.12)}
.why-ref-card h3{font-size:15px;margin:2px 0 7px;color:#a9c3ff;font-weight:800}
.why-ref-card p{font-size:13px;line-height:1.75;color:#c5cee0;margin:0}
.reference-services{padding:94px 0 100px;background:#fff}
.service-ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 42px;max-width:1080px;margin:auto}
.service-ref-card{display:block;text-align:center;padding:16px 20px 30px;text-decoration:none;color:inherit;transition:transform .25s ease}
.service-ref-card:hover{transform:translateY(-5px)}
.service-ref-card img{width:64px;height:64px;object-fit:contain;display:block;margin:0 auto 17px}
.service-ref-card h3{font-size:16px;margin:0 0 9px;color:#20283a}
.service-ref-card p{font-size:13px;line-height:1.65;color:#7a8190;margin:0 auto;max-width:260px}
.reference-stats{padding:42px 0;background:linear-gradient(135deg,#182b61,#394aa8);color:#fff;box-shadow:0 15px 40px rgba(25,48,120,.18)}
.ref-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.ref-stat{position:relative;padding:5px 20px}
.ref-stat:not(:last-child):after{content:"";position:absolute;right:0;top:8px;height:52px;width:1px;background:rgba(255,255,255,.22)}
.ref-stat strong{display:block;font-size:30px;line-height:1.1;font-weight:900;letter-spacing:-.5px}
.ref-stat span{display:block;margin-top:7px;font-size:11px;letter-spacing:.5px;color:#dbe2ff;text-transform:uppercase}
.reference-cta{padding:66px 0;background:linear-gradient(135deg,#4f4fc5,#6c6de1);color:#fff}
.cta-ref-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}
.reference-cta .ref-kicker{color:#d8dbff}
.reference-cta h2{margin:4px 0 9px;font-size:clamp(25px,3vw,36px);line-height:1.2;color:#fff}
.reference-cta p{margin:0;color:#e4e5ff;font-size:14px;line-height:1.7}
.cta-ref-actions{display:flex;gap:12px;flex:none}
.ref-btn{display:inline-flex;align-items:center;justify-content:center;min-width:145px;padding:13px 21px;border-radius:999px;text-decoration:none;font-size:13px;font-weight:800;transition:.2s ease}
.light-btn{background:#fff;color:#4146a9}.light-btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.16)}
.outline-btn{border:1px solid rgba(255,255,255,.7);color:#fff;background:transparent}.outline-btn:hover{background:rgba(255,255,255,.1)}
.reference-contact{padding:92px 0 96px;background:#fff}
.contact-ref-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:58px;align-items:center}
.contact-ref-copy .ref-kicker{color:#5264d6}.contact-ref-copy h2{font-size:clamp(30px,4vw,43px);margin:0 0 14px;color:#20273a}.contact-ref-copy>p{max-width:520px;color:#747b8a;line-height:1.8;font-size:14px;margin:0 0 28px}
.contact-lines{display:grid;gap:14px}
.contact-lines>a,.contact-lines>div{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}
.contact-lines>a>span,.contact-lines>div>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#f0f3ff;color:#5364d7;font-weight:800}
.contact-lines small{display:block;color:#8b91a0;font-size:11px;margin-bottom:3px}.contact-lines strong{display:block;color:#252c3e;font-size:13px}
.map-ref-wrap{height:380px;border-radius:4px;overflow:hidden;box-shadow:0 14px 45px rgba(27,42,74,.13);border:1px solid #e7eaf0;background:#eef1f5}.map-ref-wrap iframe{width:100%;height:100%;border:0}
.reference-faq{padding:85px 0;background:#f7f8fc}.ref-faq-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px}.ref-faq-grid details{background:#fff;border:1px solid #e7eaf1;border-radius:8px;padding:0 18px}.ref-faq-grid summary{cursor:pointer;list-style:none;padding:19px 3px;font-size:14px;font-weight:800;color:#242b3c}.ref-faq-grid summary::-webkit-details-marker{display:none}.ref-faq-grid p{font-size:13px;line-height:1.7;color:#707887;padding:0 3px 18px;margin:0}
@media(max-width:850px){.why-ref-grid,.service-ref-grid,.ref-faq-grid{grid-template-columns:1fr 1fr}.gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-ref-inner{flex-direction:column;align-items:flex-start}.contact-ref-grid{grid-template-columns:1fr}.map-ref-wrap{height:330px}}
@media(max-width:620px){.reference-why,.reference-services,.reference-gallery,.reference-contact{padding:70px 0}.why-ref-grid,.service-ref-grid,.gallery-ref-grid,.ref-faq-grid{grid-template-columns:1fr}.why-ref-grid{gap:25px}.ref-stats-grid{grid-template-columns:1fr 1fr;row-gap:25px}.ref-stat:nth-child(2):after{display:none}.gallery-ref-item{aspect-ratio:16/9;height:auto}.cta-ref-actions{width:100%;flex-wrap:wrap}.ref-btn{flex:1}.map-ref-wrap{height:300px}}


/* IssueRepair.com — reference-style About section */
.reference-about{padding:86px 0 88px;background:#fff;border-top:1px solid #f0f2f6}
.about-ref-grid{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.about-ref-visual{min-height:485px;border-radius:4px;position:relative;overflow:hidden;padding:34px;background:
 radial-gradient(circle at 15% 12%,rgba(255,255,255,.95),transparent 30%),
 linear-gradient(145deg,#f1f4fb 0%,#e8edf8 52%,#dfe7f5 100%);
 box-shadow:0 16px 48px rgba(25,42,78,.12);border:1px solid #e5eaf3}
.about-ref-visual:before{content:"";position:absolute;inset:0;background:
 linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px),
 linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px);background-size:34px 34px;opacity:.45}
.about-visual-top{position:relative;z-index:1;text-align:center;margin-bottom:24px}
.about-visual-top span{display:block;font-size:10px;font-weight:900;letter-spacing:2.5px;color:#4e6fce;margin-bottom:8px}
.about-visual-top strong{display:block;font-size:25px;line-height:1.15;color:#1c263a}
.about-icon-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:13px}
.about-icon-grid>div{min-height:132px;background:rgba(255,255,255,.88);border:1px solid rgba(218,225,238,.95);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 9px 22px rgba(34,54,93,.08);transition:transform .25s ease,box-shadow .25s ease}
.about-icon-grid>div:hover{transform:translateY(-4px);box-shadow:0 15px 28px rgba(34,54,93,.13)}
.about-icon-grid img{width:70px;height:70px;object-fit:contain;margin-bottom:5px}
.about-icon-grid span{font-size:11px;font-weight:800;color:#4b5568}
.about-visual-badge{position:relative;z-index:2;margin:18px auto 0;width:max-content;max-width:100%;display:flex;gap:12px;align-items:center;background:#fff;border-radius:5px;padding:10px 16px;box-shadow:0 12px 28px rgba(35,54,93,.13)}
.about-visual-badge b{font-size:21px;color:#1c2f66}
.about-visual-badge span{font-size:11px;color:#71798a}
.about-ref-copy{padding-right:5px}
.about-ref-copy .ref-kicker{margin-bottom:10px}
.about-ref-copy h2{font-size:clamp(30px,4vw,43px);line-height:1.08;letter-spacing:-.8px;color:#30323a;margin:0 0 18px;font-weight:850}
.about-ref-copy p{font-size:14px;line-height:1.9;color:#41454f;margin:0 0 15px}
.about-ref-copy .ref-btn{margin-top:7px;display:inline-flex}

@media(max-width:850px){
 .about-ref-grid{grid-template-columns:1fr;gap:42px}
 .about-ref-visual{max-width:680px;width:100%;margin:auto}
 .about-ref-copy{padding:0}
}
@media(max-width:620px){
 .reference-about{padding:70px 0}
 .about-ref-visual{padding:23px 16px;min-height:auto}
 .about-icon-grid{gap:9px}
 .about-icon-grid>div{min-height:108px}
 .about-icon-grid img{width:55px;height:55px}
 .about-visual-top strong{font-size:22px}
 .about-ref-copy h2{font-size:31px}
}

/* Requested About Us image treatment */
.about-image-only{padding:0!important;background:#f5f7fb!important;min-height:485px!important}
.about-image-only>img{display:block;width:100%;height:100%;min-height:485px;object-fit:cover}
@media(max-width:850px){
 .about-image-only,.about-image-only>img{min-height:390px!important}
}
@media(max-width:620px){
 .about-image-only,.about-image-only>img{min-height:300px!important}
}

@media(max-width:850px){.gallery-overlay{padding:7px 10px}.gallery-overlay span{font-size:10px}.gallery-overlay strong{font-size:9px}}
@media(max-width:620px){.gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.gallery-ref-item{aspect-ratio:16/9}.gallery-overlay{height:30%;padding:5px 7px;gap:2px}.gallery-overlay span{font-size:7px;line-height:1.1}.gallery-overlay strong{font-size:6.5px;line-height:1.1}}

/* Final Gallery: six separate cards, 16:9, bottom-up blue hover panel */
.reference-gallery{padding:94px 0 100px;background:#fff}
.gallery-ref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1080px;margin:42px auto 0}
.gallery-ref-item{position:relative;overflow:hidden;aspect-ratio:16/9;width:100%;border-radius:9px;background:#e9edf5;border:1px solid #e4e9f1;box-shadow:0 12px 28px rgba(21,37,69,.10);isolation:isolate;cursor:pointer}
.gallery-ref-item>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;z-index:0;transition:transform .55s ease,filter .4s ease}
.gallery-ref-item:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.18));pointer-events:none}
.gallery-overlay{position:absolute;left:0;right:0;bottom:0;z-index:3;width:100%;height:52%;box-sizing:border-box;padding:18px 20px 17px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#fff;background:linear-gradient(180deg,rgba(35,91,190,.78),rgba(30,76,173,.98));transform:translateY(102%);opacity:0;transition:transform .46s cubic-bezier(.22,.72,.2,1),opacity .28s ease;box-shadow:0 -12px 28px rgba(18,51,120,.18)}
.gallery-overlay .gallery-mini{font-size:8px;line-height:1;letter-spacing:1.8px;font-weight:900;opacity:.72;margin-bottom:6px}
.gallery-overlay strong{font-size:17px;line-height:1.18;font-weight:850;color:#fff}
.gallery-overlay small{font-size:11px;line-height:1.3;color:rgba(255,255,255,.90);margin-top:5px}
.gallery-features{font-size:10px;line-height:1.3;font-weight:800;color:rgba(255,255,255,.96);margin-top:6px}
.gallery-overlay a{display:inline-flex;margin-top:10px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.48);background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-size:10px;font-weight:800}
.gallery-ref-item:hover>img,.gallery-ref-item.is-active>img{transform:scale(1.045);filter:brightness(.78) saturate(.9)}
.gallery-ref-item:hover .gallery-overlay,.gallery-ref-item.is-active .gallery-overlay{transform:translateY(0);opacity:1}
@media(max-width:850px){
 .gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .gallery-overlay{height:54%;padding:14px 14px 13px}
 .gallery-overlay strong{font-size:14px}.gallery-overlay small{font-size:9px}.gallery-features{font-size:8px}.gallery-overlay a{font-size:9px;padding:6px 9px;margin-top:7px}
}
@media(max-width:620px){
 .reference-gallery{padding:70px 0 76px}
 .gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:30px}
 .gallery-ref-item{border-radius:7px;aspect-ratio:16/9}
 .gallery-overlay{height:60%;padding:8px 9px 8px}
 .gallery-overlay .gallery-mini{font-size:5.5px;letter-spacing:1px;margin-bottom:3px}
 .gallery-overlay strong{font-size:9px;line-height:1.1}.gallery-overlay small{font-size:6.8px;margin-top:3px}.gallery-features{font-size:6.5px;margin-top:3px;line-height:1.12}
 .gallery-overlay a{font-size:6.5px;padding:4px 6px;margin-top:4px}
}


/* FINAL GALLERY TEXT VISIBILITY OVERRIDES */
.gallery-ref-item{aspect-ratio:16/9!important;height:auto!important;overflow:hidden!important}
.gallery-overlay{height:68%!important;min-height:0!important;box-sizing:border-box!important;padding:18px 20px 17px!important;justify-content:flex-end!important;overflow:hidden!important}
.gallery-overlay .gallery-mini{font-size:8px!important;line-height:1.1!important;margin:0 0 5px!important}
.gallery-overlay strong{font-size:17px!important;line-height:1.18!important;margin:0!important}
.gallery-overlay small{font-size:11px!important;line-height:1.25!important;margin:5px 0 0!important}
.gallery-features{display:block!important;font-size:10px!important;line-height:1.2!important;margin:5px 0 0!important;color:#fff!important;font-weight:800!important}
.gallery-overlay a{margin-top:9px!important;font-size:10px!important;padding:7px 11px!important;line-height:1!important;white-space:nowrap!important}
.gallery-ref-item:hover .gallery-overlay,.gallery-ref-item.is-active .gallery-overlay{transform:translateY(0)!important;opacity:1!important}
@media(max-width:850px){
 .gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
 .gallery-overlay{height:70%!important;padding:13px 13px 12px!important}
 .gallery-overlay .gallery-mini{font-size:7px!important}
 .gallery-overlay strong{font-size:13px!important}
 .gallery-overlay small{font-size:9px!important}
 .gallery-features{font-size:8px!important}
 .gallery-overlay a{font-size:8px!important;padding:6px 9px!important;margin-top:6px!important}
}
@media(max-width:620px){
 .gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 .gallery-ref-item{aspect-ratio:16/9!important}
 .gallery-overlay{height:72%!important;padding:8px 8px 7px!important}
 .gallery-overlay .gallery-mini{font-size:5px!important;margin-bottom:2px!important}
 .gallery-overlay strong{font-size:9px!important;line-height:1.08!important}
 .gallery-overlay small{font-size:6.5px!important;margin-top:2px!important}
 .gallery-features{font-size:6px!important;margin-top:2px!important;line-height:1.1!important}
 .gallery-overlay a{font-size:6px!important;padding:4px 6px!important;margin-top:3px!important}
}

/* USER REQUEST: gallery hover blue panel = exactly 40% of card height */
.gallery-ref-item .gallery-overlay{height:40%!important;min-height:0!important;padding:10px 18px 10px!important;justify-content:center!important;overflow:hidden!important}
.gallery-ref-item .gallery-overlay .gallery-mini{font-size:7px!important;margin:0 0 3px!important}
.gallery-ref-item .gallery-overlay strong{font-size:15px!important;line-height:1.1!important}
.gallery-ref-item .gallery-overlay small{font-size:9px!important;line-height:1.1!important;margin:3px 0 0!important}
.gallery-ref-item .gallery-overlay .gallery-features{font-size:8px!important;line-height:1.1!important;margin:3px 0 0!important}
.gallery-ref-item .gallery-overlay a{font-size:8px!important;padding:5px 9px!important;margin-top:5px!important;line-height:1!important}
@media(max-width:850px){
 .gallery-ref-item .gallery-overlay{height:40%!important;padding:7px 10px!important}
 .gallery-ref-item .gallery-overlay .gallery-mini{font-size:5.5px!important}
 .gallery-ref-item .gallery-overlay strong{font-size:11px!important}
 .gallery-ref-item .gallery-overlay small{font-size:7px!important}
 .gallery-ref-item .gallery-overlay .gallery-features{font-size:6.5px!important}
 .gallery-ref-item .gallery-overlay a{font-size:6.5px!important;padding:4px 7px!important;margin-top:3px!important}
}
@media(max-width:620px){
 .gallery-ref-item .gallery-overlay{height:40%!important;padding:5px 7px!important}
 .gallery-ref-item .gallery-overlay .gallery-mini{font-size:4.5px!important;margin-bottom:1px!important}
 .gallery-ref-item .gallery-overlay strong{font-size:8px!important;line-height:1.05!important}
 .gallery-ref-item .gallery-overlay small{font-size:5.5px!important;margin-top:2px!important}
 .gallery-ref-item .gallery-overlay .gallery-features{font-size:5px!important;margin-top:2px!important}
 .gallery-ref-item .gallery-overlay a{font-size:5.5px!important;padding:3px 5px!important;margin-top:2px!important}
}


/* FINAL USER REQUEST — compact 40% gallery hover + mobile 2-column */
.gallery-ref-item .gallery-overlay{
  height:40%!important;
  min-height:0!important;
  padding:9px 14px 9px!important;
  justify-content:center!important;
  gap:0!important;
  overflow:hidden!important;
}
.gallery-ref-item .gallery-overlay .gallery-mini{font-size:7px!important;line-height:1!important;margin:0 0 3px!important}
.gallery-ref-item .gallery-overlay strong{font-size:14px!important;line-height:1.05!important;margin:0!important;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.gallery-ref-item .gallery-overlay small{font-size:8px!important;line-height:1.05!important;margin:3px 0 0!important;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.gallery-ref-item .gallery-overlay .gallery-features{font-size:7px!important;line-height:1.05!important;margin:3px 0 0!important;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.gallery-ref-item .gallery-overlay a{font-size:7px!important;line-height:1!important;padding:4px 8px!important;margin-top:4px!important;white-space:nowrap}

/* Mobile must remain 2 cards side-by-side. */
@media(max-width:620px){
  .gallery-ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .gallery-ref-item{aspect-ratio:16/9!important;height:auto!important}
  .gallery-ref-item .gallery-overlay{height:40%!important;padding:5px 7px!important;justify-content:center!important}
  .gallery-ref-item .gallery-overlay .gallery-mini{font-size:4px!important;margin-bottom:1px!important}
  .gallery-ref-item .gallery-overlay strong{font-size:7.5px!important;line-height:1!important}
  .gallery-ref-item .gallery-overlay small{font-size:5.5px!important;margin-top:2px!important}
  .gallery-ref-item .gallery-overlay .gallery-features{display:none!important}
  .gallery-ref-item .gallery-overlay a{font-size:5px!important;padding:3px 5px!important;margin-top:2px!important}
}

/* About Us — KNOW MORE is a real animated button, not plain text. */
.about-ref-copy .ref-btn-primary{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:148px!important;
  height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.28)!important;
  background:linear-gradient(135deg,#5570d8,#3f56bd)!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px!important;
  font-weight:850!important;
  letter-spacing:.3px!important;
  overflow:hidden!important;
  box-shadow:0 9px 22px rgba(64,83,187,.24)!important;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease!important;
}
.about-ref-copy .ref-btn-primary:before{
  content:"";
  position:absolute;
  top:-40%;left:-75%;
  width:45%;height:180%;
  transform:rotate(20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);
  transition:left .65s ease;
}
.about-ref-copy .ref-btn-primary:after{
  content:"→";
  margin-left:9px;
  transition:transform .25s ease;
}
.about-ref-copy .ref-btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px rgba(64,83,187,.32)!important;
  filter:brightness(1.04);
}
.about-ref-copy .ref-btn-primary:hover:before{left:135%}
.about-ref-copy .ref-btn-primary:hover:after{transform:translateX(4px)}
.about-ref-copy .ref-btn-primary:active{transform:translateY(-1px) scale(.98)}
@media(max-width:620px){.about-ref-copy .ref-btn-primary{min-width:135px!important;height:42px!important;font-size:11px!important}}


/* =========================================================
   MOBILE NAV — FULL-SCREEN LIGHT PREMIUM MENU
   Compact 2-column Services + City dropdowns.
   ========================================================= */
@media(max-width:1000px){
  body.nav-open{overflow:hidden!important;overscroll-behavior:none}

  .header{background:#fff!important;border-bottom:1px solid #e6edf5!important;box-shadow:0 5px 24px rgba(20,42,70,.07)!important;transition:background .25s ease,border-color .25s ease}
  .nav{position:relative;z-index:1201;min-height:72px}
  .logo{z-index:1202}
  .logo-text strong{color:var(--ink)!important}
  .logo-text small{color:var(--muted)!important}
  .menu-toggle{z-index:1203;background:#fff!important;border:1px solid #dce5ee!important;box-shadow:0 5px 16px rgba(21,57,95,.08);transition:background .25s ease,border-color .25s ease,transform .2s ease}
  .menu-toggle span{background:var(--navy)!important}
  .menu-toggle.active{background:#f3f7fc!important;border-color:#cdd9e7!important}

  /* Full viewport menu */
  .navlinks,
  .navlinks.active{
    position:fixed!important;
    inset:0!important;
    z-index:1200!important;
    width:100%!important;
    height:100dvh!important;
    max-height:none!important;
    margin:0!important;
    padding:88px 18px 22px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:#fff!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-10px)!important;
    transition:opacity .22s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .22s ease!important;
  }
  .navlinks.active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  /* Main menu rows */
  .navlinks>a:not(.booknav),
  .navlinks .dropbtn{
    position:relative;
    width:100%!important;
    min-height:49px!important;
    padding:13px 0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#26384d!important;
    text-align:left!important;
    font-size:13.5px!important;
    font-weight:800!important;
    letter-spacing:.02px;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    box-shadow:none!important;
  }
  .navlinks>a:not(.booknav):after,
  .navlinks .dropdown:after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;
    height:1px;
    background:#e8eef5;
  }
  .navlinks>a:not(.booknav):hover,
  .navlinks .dropbtn:hover,
  .navlinks .dropdown.open>.dropbtn{
    color:var(--blue)!important;
    background:transparent!important;
  }
  .navlinks .dropdown{position:relative;width:100%!important}
  .navlinks .chevron{
    color:#708198!important;
    font-size:15px!important;
    margin-left:auto!important;
    transition:transform .22s ease,color .22s ease;
  }
  .navlinks .dropdown.open .chevron{color:var(--blue)!important}

  /* Compact premium 2-column dropdown cards */
  .navlinks .dropmenu,
  .navlinks .dropdown:hover .dropmenu,
  .navlinks .dropdown:focus-within .dropmenu,
  .navlinks .dropdown.open .dropmenu{
    position:static!important;
    width:100%!important;
    max-height:none!important;
    margin:0 0 7px!important;
    padding:7px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;
    background:#f6f9fd!important;
    border:1px solid #e2eaf3!important;
    border-radius:11px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 5px 18px rgba(26,67,110,.06)!important;
    overflow:visible!important;
  }
  .navlinks .dropdown:not(.open) .dropmenu{display:none!important}
  .navlinks .dropmenu a{
    min-width:0!important;
    min-height:36px!important;
    padding:8px 9px!important;
    display:flex!important;
    align-items:center!important;
    border:1px solid transparent!important;
    border-radius:8px!important;
    background:#fff!important;
    color:#3d5067!important;
    font-size:11px!important;
    line-height:1.25!important;
    font-weight:750!important;
    box-shadow:0 1px 2px rgba(24,55,91,.03)!important;
    transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
  }
  .navlinks .dropmenu a:hover,
  .navlinks .dropmenu a:focus-visible{
    background:#edf5ff!important;
    border-color:#cfe2f8!important;
    color:var(--blue)!important;
    transform:translateY(-1px);
    outline:none;
  }

  /* CTA */
  .navlinks>a.booknav{
    order:50!important;
    width:100%!important;
    min-height:46px!important;
    margin:14px 0 0!important;
    padding:12px 16px!important;
    border-radius:9px!important;
    background:var(--blue)!important;
    border:1px solid var(--blue)!important;
    color:#fff!important;
    font-size:12.5px!important;
    font-weight:850!important;
    box-shadow:0 8px 20px rgba(23,105,232,.18)!important;
    display:flex!important;
    justify-content:center!important;
  }
  .navlinks>a.booknav:hover{background:var(--blue2)!important;color:#fff!important;transform:translateY(-1px)!important}

  /* Footer area inside the full-screen menu */
  .mobile-menu-footer{
    display:block!important;
    margin-top:15px!important;
    padding-top:15px!important;
    border-top:1px solid #e8eef5!important;
  }
  .mobile-footer-links{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 24px;
    padding:0 0 10px!important;
    border:0!important;
  }
  .mobile-footer-links a{
    min-height:30px;
    display:flex;
    align-items:center;
    color:#718095!important;
    font-size:10.5px!important;
    font-weight:700!important;
  }
  .mobile-footer-links a:hover{color:var(--blue)!important}
  .mobile-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:5px}
  .mobile-footer-actions a{
    min-height:40px;
    border-radius:8px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 7px;
    font-size:10.5px!important;
    font-weight:800!important;
  }
  .mobile-primary-action{background:#eef5ff;color:var(--blue)!important;border:1px solid #d5e6fa}
  .mobile-primary-action span{margin-left:6px;font-size:13px;color:#6e9fe0}
  .mobile-secondary-action{background:#fff;color:#40556d!important;border:1px solid #dce5ee}
  .mobile-footer-note{padding-top:11px;text-align:center;color:#a1adbb;font-size:8.5px;letter-spacing:.15px}
}

@media(max-width:520px){
  .navlinks,.navlinks.active{padding-left:14px!important;padding-right:14px!important;padding-top:84px!important}
  .navlinks>a:not(.booknav),.navlinks .dropbtn{min-height:47px!important;font-size:13px!important}
  .navlinks .dropmenu{padding:6px!important;gap:4px!important}
  .navlinks .dropmenu a{min-height:35px!important;padding:7px 8px!important;font-size:10.5px!important}
  .mobile-footer-actions{grid-template-columns:1fr 1fr}
}

@media(max-width:370px){
  .navlinks,.navlinks.active{padding-left:12px!important;padding-right:12px!important}
  .navlinks .dropmenu a{font-size:10px!important;padding-left:7px!important;padding-right:7px!important}
  .mobile-footer-links{gap:0 14px}
}

@media(min-width:1001px){.mobile-menu-footer{display:none!important}}

/* HERO QUICK BOOKING FORM */
.hero-booking-visual{min-height:0;display:flex;align-items:center}
.hero-booking-card{width:100%;background:rgba(255,255,255,.94);border:1px solid #dce8f5;border-radius:24px;box-shadow:0 24px 65px rgba(24,70,120,.14);padding:20px;position:relative;overflow:hidden}
.hero-booking-card:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-100px;top:-105px;background:#e8f3ff;pointer-events:none}
.hero-booking-head{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;border-bottom:1px solid #e8eef5}
.hero-booking-kicker{font-size:9px;letter-spacing:1.7px;font-weight:950;color:var(--blue)}
.hero-booking-head h3{font-size:23px;line-height:1.15;margin:3px 0 4px;color:var(--ink);letter-spacing:-.5px}
.hero-booking-head p{margin:0;color:var(--muted);font-size:11px;line-height:1.5;max-width:390px}
.hero-booking-status{white-space:nowrap;font-size:9px;font-weight:900;color:#31516e;background:#f3fbf7;border:1px solid #d9f0e5;border-radius:999px;padding:6px 8px}
.hero-booking-status i{display:inline-block;width:6px;height:6px;background:#1da46c;border-radius:50%;margin-right:4px}
.hero-booking-form{position:relative;z-index:1;padding-top:14px}
.hero-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hero-form-group{margin-bottom:10px;min-width:0}
.hero-form-group label{display:block;font-size:9px;line-height:1.2;font-weight:900;color:#52667d;margin:0 0 4px}
.hero-form-group input,.hero-form-group select,.hero-form-group textarea{width:100%;border:1px solid #d9e4ef;background:#fff;color:var(--ink);border-radius:9px;padding:9px 10px;outline:0;font-size:11px;min-height:36px}
.hero-form-group select{cursor:pointer}
.hero-form-group textarea{min-height:57px;resize:vertical;line-height:1.45}
.hero-form-group input:focus,.hero-form-group select:focus,.hero-form-group textarea:focus{border-color:#7aaef0;box-shadow:0 0 0 3px rgba(23,105,232,.08)}
.hero-booking-submit{width:100%;border:0;border-radius:10px;background:linear-gradient(135deg,var(--blue),#2c83ee);color:#fff;font-size:12px;font-weight:950;padding:11px 13px;cursor:pointer;box-shadow:0 9px 20px rgba(23,105,232,.2);transition:.2s}
.hero-booking-submit:hover{transform:translateY(-1px);background:linear-gradient(135deg,var(--blue2),var(--blue))}
.hero-booking-submit span{margin-left:5px;font-size:14px}
.hero-booking-note{display:block;text-align:center;color:#8392a3;font-size:8px;margin-top:6px;line-height:1.35}
@media(max-width:1000px){.hero-booking-card{padding:17px;border-radius:20px}.hero-booking-head h3{font-size:21px}.hero-form-row{gap:8px}.hero-form-group{margin-bottom:8px}}
@media(max-width:650px){.hero-booking-visual{min-height:0}.hero-booking-card{padding:14px;border-radius:18px}.hero-booking-head{padding-bottom:10px}.hero-booking-kicker{font-size:8px}.hero-booking-head h3{font-size:18px}.hero-booking-head p{font-size:9px;line-height:1.35}.hero-booking-status{font-size:8px;padding:5px 7px}.hero-booking-form{padding-top:10px}.hero-form-row{grid-template-columns:1fr 1fr;gap:7px}.hero-form-group label{font-size:8px}.hero-form-group input,.hero-form-group select{font-size:10px;padding:8px 8px;min-height:34px}.hero-form-group textarea{font-size:10px;min-height:48px}.hero-booking-submit{padding:9px;font-size:11px}.hero-booking-note{font-size:7px}}


/* ===== FINAL NAVBAR UX OVERRIDES ===== */
.chevron{
  width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);display:inline-block;margin:0 1px 3px 7px;transition:transform .2s ease;
}
.dropdown.open>.dropbtn .chevron{transform:rotate(225deg);margin-bottom:-1px}
@media (min-width:1001px){
  .dropdown:hover>.dropmenu,.dropdown:focus-within>.dropmenu,.dropdown.open>.dropmenu{display:grid}
  .dropbtn{display:inline-flex;align-items:center;justify-content:center}
  .navlinks .dropdown{padding-bottom:8px;margin-bottom:-8px}
  .dropmenu{z-index:1200}
}

@media (max-width:1000px){
  body.nav-open{overflow:hidden!important}
  .header{z-index:2000}
  .nav{position:relative;z-index:2102}
  .logo,.menu-toggle{z-index:2103}
  .navlinks,.navlinks.active{
    position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;
    width:100vw!important;height:100dvh!important;max-height:none!important;
    margin:0!important;padding:82px 14px 22px!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    background:rgba(255,255,255,.985)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    z-index:2100!important;
  }
  .navlinks{opacity:0;visibility:hidden;transform:translateY(-12px);pointer-events:none}
  .navlinks.active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
  .navlinks>a:not(.booknav),.navlinks .dropbtn{
    min-height:45px!important;padding:11px 2px!important;border-radius:0!important;
    border-bottom:1px solid #e8eef5!important;background:transparent!important;
    color:#142a42!important;font-size:13px!important;font-weight:850!important;
  }
  .navlinks>a:not(.booknav):hover,.navlinks .dropbtn:hover,.dropdown.open>.dropbtn{
    color:var(--blue)!important;background:#f8fbff!important;
  }
  .navlinks .dropbtn{padding-left:2px!important;padding-right:4px!important}
  .navlinks .dropdown{width:100%!important}
  .navlinks .dropmenu{
    position:static!important;width:100%!important;max-height:none!important;
    display:none;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;
    margin:5px 0 7px!important;padding:7px!important;
    background:#f7faff!important;border:1px solid #e2ebf5!important;border-radius:12px!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 20px rgba(20,55,95,.05)!important;
  }
  .navlinks .dropdown.open>.dropmenu{display:grid!important}
  .navlinks .dropmenu a{
    min-height:36px!important;padding:7px 8px!important;border:1px solid #e1eaf4!important;
    border-radius:8px!important;background:#fff!important;display:flex!important;align-items:center!important;
    font-size:10.5px!important;line-height:1.25!important;font-weight:750!important;color:#40556d!important;
  }
  .navlinks .dropmenu a:hover{background:#edf5ff!important;color:var(--blue)!important;border-color:#cfe2f8!important}
  .navlinks>a.booknav{display:none!important}
  .mobile-menu-footer{
    display:block!important;margin:13px 0 0!important;padding:14px 0 0!important;
    border-top:1px solid #e7edf4!important;
  }
  .mobile-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:12px}
  .mobile-contact-actions a{
    min-height:39px;display:flex;align-items:center;justify-content:center;border-radius:9px;
    font-size:10px!important;font-weight:850!important;border:1px solid #dce6f0!important;
  }
  .mobile-call-action{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important;box-shadow:0 7px 16px rgba(23,105,232,.15)}
  .mobile-wa-action{background:#fff!important;color:#1d3249!important}
  .mobile-booking-wrap{margin-bottom:9px}
  .mobile-booking-title span{display:block;font-size:8px;letter-spacing:1.3px;font-weight:950;color:var(--blue)}
  .mobile-booking-title strong{display:block;font-size:18px;line-height:1.15;margin:2px 0;color:#102943;letter-spacing:-.3px}
  .mobile-booking-title small{display:block;color:#74859a;font-size:9px;line-height:1.35}
  .mobile-booking-form{padding-top:4px!important}
  .mobile-booking-form .hero-form-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .mobile-booking-form .hero-form-group{margin-bottom:7px!important}
  .mobile-booking-form .hero-form-group label{font-size:7.5px!important;margin-bottom:3px!important}
  .mobile-booking-form .hero-form-group input,
  .mobile-booking-form .hero-form-group select,
  .mobile-booking-form .hero-form-group textarea{
    min-height:34px!important;padding:7px 8px!important;font-size:9.5px!important;border-radius:8px!important;
  }
  .mobile-booking-form .hero-form-group textarea{min-height:49px!important}
  .mobile-booking-form .hero-booking-submit{min-height:40px!important;padding:9px!important;font-size:11px!important;border-radius:9px!important}
  .mobile-booking-form .hero-booking-note{font-size:7px!important;margin-top:4px!important}
  .mobile-booking-form .hero-service-group select{font-size:9px!important}
  .mobile-booking-note{text-align:center;color:#9aa7b5;font-size:7.5px;margin-top:9px;padding-bottom:2px}
}
@media (max-width:520px){
  .navlinks,.navlinks.active{padding:78px 14px 18px!important}
  .navlinks .dropmenu{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:370px){
  .navlinks,.navlinks.active{padding-left:11px!important;padding-right:11px!important}
  .navlinks .dropmenu a{font-size:9.5px!important;padding-left:6px!important;padding-right:6px!important}
  .mobile-booking-title strong{font-size:16px}
  .mobile-booking-title small{font-size:8.5px}
}

/* =========================================================
   FINAL HERO COMPACT + SOFT FULL-SITE APPLIANCE BACKDROP
   ========================================================= */
body{position:relative;background:#fff;}
.topline,.header,main,.footer,.floating{position:relative;z-index:1;}

/* Compact desktop hero typography */
.hero{padding:68px 0 58px;background:linear-gradient(135deg,rgba(248,252,255,.90),rgba(234,244,255,.84));}
.hero-grid{gap:40px;}
.hero h1{font-size:clamp(38px,4.55vw,61px);line-height:.98;letter-spacing:-2.6px;margin:15px 0 15px;}
.lead{max-width:680px;font-size:16px;line-height:1.7;}
.actions{gap:10px;margin:21px 0;}
.btn{padding:11px 16px;border-radius:2px;font-size:13px;}
.points{gap:7px;font-size:13px;}
.hero-booking-card{border-radius:2px;padding:18px;box-shadow:0 20px 52px rgba(24,70,120,.13);}
.hero-booking-head h3{font-size:21px;}
.hero-form-group input,.hero-form-group select,.hero-form-group textarea{border-radius:2px;}
.hero-booking-submit{border-radius:2px;}

/* Keep the requested 1–2px visual language across rectangular UI */
.topline,.header,.dropmenu,.navlinks,.booknav,.service-card,.why-card,.process-card,.coverage-box,.booking-form,.feature-panel,.feature-list div,.city-pill,.hero-booking-card,.ir-provider-card,.ir-service-tags > span,.ir-more-services,.ir-chat,.ir-call,.ir-enquiry,.gallery-ref-item,.ref-faq-grid details,.map-ref-wrap,.contact-lines>a,.mobile-contact-actions a,.mobile-booking-form input,.mobile-booking-form select,.mobile-booking-form textarea,.mobile-booking-form .hero-booking-submit{border-radius:2px!important;}

/* Let the soft backdrop remain visible through light sections */
.ir-services-ultra,.reference-gallery,.reference-contact,.reference-about{background:rgba(255,255,255,.90)!important;}
.reference-faq{background:rgba(247,248,252,.90)!important;}

@media(max-width:1000px){
  .hero{padding:52px 0 48px;}
  .hero h1{font-size:clamp(34px,7.6vw,52px);letter-spacing:-2px;}
  .lead{font-size:15px;line-height:1.65;}
  .points{font-size:12px;}
  .hero-booking-card{padding:16px;}
}
@media(max-width:650px){
  .hero{padding:45px 0 42px;}
  .hero h1{font-size:clamp(31px,9.4vw,42px);line-height:1;letter-spacing:-1.6px;margin:13px 0 13px;}
  .lead{font-size:14px;line-height:1.62;}
  .actions{margin:17px 0;}
  .points{font-size:11.5px;gap:6px;}
}

/* Final footer + floating action cleanup */
.footer-legal{border-top:1px solid #1d3853;margin-top:26px;padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;color:#91a5ba;font-size:11px;font-weight:650;}
.footer-legal span{white-space:nowrap;transition:color .2s ease;}
.footer-legal span:hover{color:#fff;}
.floating{position:fixed!important;right:19px!important;left:auto!important;bottom:18px!important;z-index:5000!important;}
@media(max-width:650px){.footer-legal{gap:7px 16px;font-size:10px;}.floating{right:12px!important;bottom:12px!important;}}

/* FINAL HERO ONLY — separate desktop/mobile appliance images */
body{position:relative;background:#fff;}
body::before{display:none!important;content:none!important;}
.hero{position:relative;overflow:hidden;background:#edf6ff;}
.hero-bg-photo{position:absolute;z-index:0;inset:0!important;width:100%!important;height:100%!important;overflow:hidden;pointer-events:none;isolation:isolate;}
.hero-bg-photo picture{position:absolute;inset:0;display:block;width:100%;height:100%;}
.hero-bg-photo img{position:absolute;inset:-1%;width:102%;height:102%;display:block;object-fit:cover;object-position:center center;filter:blur(2px);opacity:.70;transform:scale(1.01);}
.hero-bg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,252,255,.42) 0%,rgba(248,252,255,.22) 45%,rgba(248,252,255,.12) 72%,rgba(248,252,255,.20) 100%),linear-gradient(180deg,rgba(255,255,255,.04),rgba(225,241,255,.18));pointer-events:none;}
.hero-bg-shade{position:absolute;z-index:1;inset:0;background:transparent!important;pointer-events:none;}
@media(max-width:650px){
  .hero{background:#edf6ff;}
  .hero-bg-photo{inset:0!important;width:100%!important;height:100%!important;}
  .hero-bg-photo img{inset:-1.5%;width:103%;height:103%;object-fit:cover;object-position:center center;filter:blur(2px);opacity:.66;transform:scale(1.015);}
  .hero-bg-photo::after{background:linear-gradient(180deg,rgba(248,252,255,.28) 0%,rgba(248,252,255,.16) 34%,rgba(238,247,255,.32) 68%,rgba(238,247,255,.48) 100%);}
}

/* FINAL MOBILE NAV BUG FIX: active state must override hidden state */
@media (max-width:1000px){
  .navlinks{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-12px)!important;}
  .navlinks.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;}
  .menu-toggle{cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
  .navlinks{z-index:2100!important;}
  .menu-toggle,.logo{position:relative!important;z-index:2103!important;}
}

/* ===== HARD MOBILE NAV VISIBILITY FIX ===== */
@media (max-width:1000px){
  .header{isolation:isolate!important;}
  .navlinks{
    display:none!important;
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;bottom:0!important;
    width:100vw!important;height:100dvh!important;max-height:none!important;
    margin:0!important;padding:82px 14px 22px!important;
    background:#fff!important;
    border:0!important;border-radius:0!important;
    box-shadow:none!important;
    overflow-y:auto!important;
    z-index:99999!important;
    opacity:0!important;visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
  }
  .navlinks.active{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    opacity:1!important;visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .navlinks>a,.navlinks .dropdown,.navlinks .mobile-menu-footer{flex:0 0 auto!important;}
  .navlinks>a:not(.booknav),.navlinks .dropbtn{display:flex!important;visibility:visible!important;opacity:1!important;}
  .navlinks .dropdown .dropmenu{display:none!important;}
  .navlinks .dropdown.open .dropmenu{display:grid!important;}
  .menu-toggle{position:relative!important;z-index:100000!important;}
  .logo{position:relative!important;z-index:100000!important;}
}

/* =========================================================
   LAST NAVBAR STABILITY PATCH — single source of truth
   ========================================================= */
.menu-toggle{display:none;align-items:center;justify-content:center;position:relative;z-index:10001;cursor:pointer;touch-action:manipulation;}
@media (min-width:1001px){
  .navlinks{display:flex!important;position:static!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;}
  .navlinks .dropdown{position:relative!important;}
  .navlinks .dropmenu{display:none!important;position:absolute!important;top:calc(100% + 8px)!important;left:0!important;width:285px!important;z-index:10000!important;}
  .navlinks .citymenu{width:300px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .navlinks .dropdown:hover>.dropmenu,
  .navlinks .dropdown:focus-within>.dropmenu,
  .navlinks .dropdown.open>.dropmenu{display:grid!important;}
  .navlinks .dropbtn{display:inline-flex!important;align-items:center!important;justify-content:center!important;}
}
@media (max-width:1000px){
  body.nav-open{overflow:hidden!important;height:100dvh!important;}
  .header{position:sticky!important;top:0!important;z-index:10000!important;background:#fff!important;isolation:isolate!important;}
  .nav{position:relative!important;z-index:10002!important;}
  .logo,.menu-toggle{position:relative!important;z-index:10004!important;}
  .menu-toggle{display:flex!important;width:42px!important;height:42px!important;flex:0 0 42px!important;border:1px solid #dce5ee!important;background:#fff!important;border-radius:2px!important;}
  .menu-toggle span{position:absolute!important;left:11px!important;width:20px!important;height:2px!important;background:var(--navy)!important;border-radius:2px!important;transition:transform .22s ease,opacity .18s ease,top .22s ease!important;}
  .menu-toggle span:nth-child(1){top:13px!important}.menu-toggle span:nth-child(2){top:20px!important}.menu-toggle span:nth-child(3){top:27px!important}
  .menu-toggle.active span:nth-child(1){top:20px!important;transform:rotate(45deg)!important}.menu-toggle.active span:nth-child(2){opacity:0!important}.menu-toggle.active span:nth-child(3){top:20px!important;transform:rotate(-45deg)!important}

  .navlinks,
  .navlinks.active{
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    position:fixed!important;left:0!important;right:0!important;top:0!important;bottom:0!important;
    width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;
    padding:82px 14px 22px!important;gap:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    background:#fff!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    z-index:10003!important;transition:opacity .2s ease,visibility .2s ease,transform .22s ease!important;
  }
  .navlinks{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-10px)!important;}
  .navlinks.active{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;}
  .navlinks>a:not(.booknav),.navlinks .dropbtn{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:47px!important;padding:12px 0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#26384d!important;text-align:left!important;font-size:13px!important;font-weight:800!important;}
  .navlinks>a:not(.booknav){position:relative!important;}
  .navlinks>a:not(.booknav)::after,.navlinks .dropdown::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#e8eef5;}
  .navlinks .dropdown{position:relative!important;width:100%!important;}
  .navlinks .dropbtn .chevron{margin-left:auto!important;transform:rotate(0deg)!important;}
  .navlinks .dropdown.open>.dropbtn .chevron{transform:rotate(180deg)!important;}

  .navlinks .dropdown .dropmenu,
  .navlinks .dropdown:hover .dropmenu,
  .navlinks .dropdown:focus-within .dropmenu{display:none!important;position:static!important;}
  .navlinks .dropdown.open .dropmenu{display:grid!important;position:static!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important;margin:5px 0 7px!important;padding:7px!important;background:#f7faff!important;border:1px solid #e2ebf5!important;border-radius:2px!important;box-shadow:none!important;}
  .navlinks .dropmenu a{min-width:0!important;min-height:35px!important;display:flex!important;align-items:center!important;padding:7px 8px!important;border:1px solid #e1eaf4!important;border-radius:2px!important;background:#fff!important;color:#40556d!important;font-size:10px!important;line-height:1.2!important;font-weight:750!important;}
  .navlinks .dropmenu a:hover,.navlinks .dropmenu a:focus-visible{background:#edf5ff!important;color:var(--blue)!important;border-color:#cfe2f8!important;outline:none!important;}

  .navlinks>a.booknav{display:none!important;}
  .mobile-menu-footer{display:block!important;flex:0 0 auto!important;margin:13px 0 0!important;padding:14px 0 0!important;border-top:1px solid #e7edf4!important;}
  .mobile-contact-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-bottom:12px!important;}
  .mobile-contact-actions a{min-height:39px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:2px!important;font-size:10px!important;font-weight:850!important;}
  .mobile-booking-wrap{margin-bottom:9px!important;}
  .mobile-booking-form{padding-top:4px!important;}
}
@media(max-width:520px){
  .navlinks,.navlinks.active{padding:78px 12px 18px!important;}
  .navlinks .dropmenu a{font-size:9.5px!important;padding:7px 6px!important;}
}

/* FINAL NAVBAR POLISH: opaque white header + reliable desktop dropdowns */
.header{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;opacity:1!important;}
@media (min-width:1001px){
  .navlinks{display:flex!important;align-items:center!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;position:static!important;}
  .navlinks .dropdown{position:relative!important;}
  .navlinks .dropmenu{position:absolute!important;top:calc(100% + 6px)!important;left:0!important;display:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;background:#fff!important;border:1px solid #dfe7f0!important;border-radius:2px!important;padding:7px!important;box-shadow:0 16px 38px rgba(7,31,56,.16)!important;z-index:99999!important;}
  .navlinks .dropdown:first-of-type .dropmenu{width:300px!important;grid-template-columns:1fr 1fr!important;gap:4px!important;}
  .navlinks .dropdown .citymenu{width:310px!important;grid-template-columns:1fr 1fr!important;gap:4px!important;}
  .navlinks .dropdown:hover>.dropmenu,
  .navlinks .dropdown:focus-within>.dropmenu,
  .navlinks .dropdown.open>.dropmenu{display:grid!important;}
  .navlinks .dropmenu a{display:flex!important;align-items:center!important;min-height:35px!important;padding:7px 9px!important;border:1px solid #e4ebf3!important;border-radius:2px!important;background:#fff!important;color:#40556d!important;font-size:11px!important;line-height:1.2!important;font-weight:750!important;}
  .navlinks .dropmenu a:hover{background:#edf5ff!important;color:#1769e8!important;border-color:#cfe0f4!important;}
  .navlinks .dropbtn{position:relative!important;z-index:100000!important;}
}
@media (max-width:1000px){
  .header{background:#fff!important;}
  .navlinks,.navlinks.active{background:#fff!important;}
}

/* ===== FINAL NAVBAR DESKTOP/MOBILE STABILITY OVERRIDE ===== */
@media (min-width:1001px){
  .header{background:#fff!important;opacity:1!important;z-index:10000!important;}
  .nav{position:relative!important;z-index:10001!important;}
  .navlinks{position:static!important;display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;overflow:visible!important;}
  .navlinks .dropdown{position:relative!important;}
  .navlinks .dropmenu{
    display:none!important;position:absolute!important;top:calc(100% + 2px)!important;left:0!important;
    width:290px!important;max-height:70vh!important;overflow:auto!important;
    padding:8px!important;background:#fff!important;border:1px solid #dce6f0!important;
    border-radius:2px!important;box-shadow:0 16px 36px rgba(20,42,70,.16)!important;
    z-index:999999!important;pointer-events:auto!important;
  }
  .navlinks .citymenu{width:310px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .navlinks .dropdown:hover>.dropmenu,
  .navlinks .dropdown:focus-within>.dropmenu,
  .navlinks .dropdown.open>.dropmenu{display:grid!important;}
  .navlinks .dropmenu a{display:flex!important;align-items:center!important;min-height:36px!important;padding:8px 9px!important;border-radius:2px!important;color:#33475d!important;background:#fff!important;}
  .navlinks .dropmenu a:hover{background:#edf5ff!important;color:#416de0!important;}
  .navlinks .dropbtn{position:relative!important;z-index:2!important;}
  .mobile-menu-footer{display:none!important;}
}
@media (max-width:1000px){
  .header{background:#fff!important;opacity:1!important;}
}

/* Final hero readability + compact SEO typography */
.hero .lead{color:#111827;font-weight:550;}
.hero .lead strong{color:#111827;font-weight:750;}
.hero .points{color:#111827;}
.hero .points div{color:#111827;font-weight:550;}
.hero .points div span{color:#111827;font-weight:900;}
.hero h1{font-size:clamp(40px,5vw,66px);line-height:1.02;letter-spacing:-2.8px;}
@media(max-width:700px){.hero h1{font-size:clamp(34px,9vw,48px);letter-spacing:-1.8px}.hero .lead{font-size:14px;line-height:1.55}.hero .points div{font-size:11px;line-height:1.45}}


/* =========================================================
   MOVED INLINE COMPONENT CSS — SERVICES + BOOK ELEMENT
   ========================================================= */
.ir-services-ultra{width:100%;padding:62px 24px 76px;background:#fff;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;}
.ir-services-ultra *, .ir-services-ultra *::before, .ir-services-ultra *::after{box-sizing:border-box;}
.ir-services-title{text-align:center;max-width:760px;margin:0 auto 32px;}
.ir-services-title span{display:inline-block;margin-bottom:8px;font-size:11px;line-height:1;font-weight:900;letter-spacing:1.8px;color:#416de0;}
.ir-services-title h2{margin:0;color:#14233d;font-size:32px;line-height:1.15;font-weight:900;letter-spacing:-.7px;}
.ir-services-title p{margin:10px auto 0;max-width:650px;color:#70809a;font-size:13px;line-height:1.6;font-weight:500;}
.ir-service-list{width:100%;max-width:1320px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.ir-provider-card{width:100%;min-width:0;border:1px solid #e1e5eb;border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 3px 14px rgba(15,23,42,.055);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;padding:24px 24px 20px;}
.ir-provider-card:hover{transform:translateY(-3px);border-color:#d2dcf3;box-shadow:0 12px 30px rgba(15,23,42,.11);}
.ir-provider-main{min-height:160px;display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:start;}
.ir-provider-image{position:relative;width:160px;height:160px;overflow:hidden;background:#e9eef7;border-radius:14px;flex:none;}
.ir-provider-image img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transition:transform .45s ease;}
.ir-provider-card:hover .ir-provider-image img{transform:scale(1.035);}
.ir-provider-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.04),transparent 55%,rgba(0,0,0,.14));pointer-events:none;}
.ir-experience{position:absolute;left:0;right:0;bottom:0;z-index:3;width:126px;margin:0 auto;padding:7px 8px 8px;background:#fff;color:#6b7280;border-radius:30px 30px 12px 12px;text-align:center;box-shadow:0 -2px 8px rgba(15,23,42,.08);}
.ir-experience b{display:block;color:#e77c2f;font-size:20px;line-height:1;font-weight:900;}
.ir-experience span{display:block;margin-top:3px;color:#687385;font-size:10px;line-height:1.05;font-weight:500;}
.ir-provider-details{min-width:0;display:flex;flex-direction:column;padding:0;}
.ir-meta-line{min-width:0;display:flex;align-items:center;gap:18px;}
.ir-provider-details h3{min-width:0;margin:6px 0 0;color:#111827;font-size:19px;line-height:1.22;font-weight:900;letter-spacing:-.3px;}
.ir-verified-inline{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;color:#3c8b54;font-size:13px;line-height:1.2;font-weight:700;white-space:nowrap;}
.ir-score{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:0;color:#d96f2c;background:transparent;border:0;font-size:13px;line-height:1.2;font-weight:600;white-space:nowrap;}
.ir-rating-text{color:#d96f2c;font-size:13px;font-weight:600;}
.ir-score b{color:#f28a2e;font-size:15px;}
.ir-available{display:flex;align-items:center;gap:6px;margin-top:9px;color:#2d7d43;font-size:13px;line-height:1.35;font-weight:600;}
.ir-available i{width:7px;height:7px;flex:0 0 7px;display:block;border-radius:50%;background:#1ea44c;box-shadow:0 0 0 3px rgba(30,164,76,.10);}
.ir-locations{margin-top:7px;color:#6b7280;font-size:13px;line-height:1.4;font-weight:500;}
.ir-service-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;}
.ir-service-tags > span{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border:1px solid #e2e6ec;border-radius:5px;background:#f8fafc;color:#5b6575;font-size:11px;line-height:1;font-weight:600;}
.ir-hidden-services{display:none !important;}
.ir-service-tags.ir-expanded .ir-hidden-services{display:inline-flex !important;}
.ir-more-services{min-width:29px;height:26px;padding:0 7px;border:1px solid #d6dff1;border-radius:5px;background:#f2f5fc;color:#416de0;font-family:inherit;font-size:11px;line-height:1;font-weight:900;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;}
.ir-more-services:hover{background:#416de0;color:#fff;transform:translateY(-1px);}
.ir-description{margin:12px 0 0;color:#626d7d;font-size:13px;line-height:1.55;font-weight:500;}
.ir-actions{display:flex;align-items:center;gap:8px;margin-top:16px;padding-top:0;}
.ir-chat{position:relative;min-width:96px;height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #2f8b4b !important;border-radius:6px !important;background:#fff !important;color:#267a3e !important;font-family:inherit;font-size:13px;font-weight:800;cursor:pointer;overflow:hidden;isolation:isolate;transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.ir-whatsapp-icon{width:19px;height:19px;flex:none;display:block;fill:#2f8b4b;}
.ir-chat::before{content:"";position:absolute;inset:-20%;background:linear-gradient(90deg,transparent,rgba(37,211,102,.18),transparent);transform:translateX(-120%) skewX(-18deg);animation:irGreenSweep 3.2s ease-in-out infinite;pointer-events:none;z-index:0;} .ir-chat > *{position:relative;z-index:1;} .ir-chat:hover{background:#f3fbf5 !important;transform:translateY(-2px);box-shadow:0 7px 18px rgba(37,128,67,.18),0 0 0 3px rgba(37,211,102,.07);}
.ir-chat:active{transform:scale(.97);}
.ir-call{position:relative;min-width:145px;height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #596579 !important;border-radius:6px !important;background:#fff !important;color:#344054 !important;font-family:inherit;font-size:13px;font-weight:700 !important;cursor:pointer;overflow:hidden;isolation:isolate;animation:irRedPulse 3s ease-in-out infinite;transition:transform .2s ease,background .2s ease,box-shadow .2s ease,border-color .2s ease;}
.ir-call::before{content:"";position:absolute;top:0;bottom:0;left:-55%;width:32%;background:linear-gradient(90deg,transparent,rgba(220,55,55,.18),transparent);transform:skewX(-20deg);animation:irRedSweep 3.6s ease-in-out infinite;pointer-events:none;} .ir-call::after{content:"";position:absolute;inset:1px;border:1px solid rgba(220,55,55,.12);border-radius:5px;pointer-events:none;} .ir-call > span,.ir-call > b{position:relative;z-index:1;} .ir-call > span{font-size:15px;line-height:1;}
.ir-call > b{font-weight:800;}
.ir-call:hover{background:#f8fafc !important;border-color:#416de0 !important;transform:translateY(-2px);box-shadow:0 6px 14px rgba(15,23,42,.09);}
.ir-enquiry{margin-left:auto;min-width:140px;height:40px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(228,91,82,.55) !important;border-radius:6px !important;background:rgba(228,91,82,.88) !important;color:#fff !important;font-family:inherit;font-size:13px;line-height:1.15;font-weight:850;cursor:pointer;box-shadow:0 5px 16px rgba(228,91,82,.16);backdrop-filter:blur(5px);transition:transform .2s ease,background .2s ease,box-shadow .2s ease;}
.ir-enquiry:hover{background:rgba(217,78,69,.94) !important;border-color:rgba(217,78,69,.7) !important;transform:translateY(-2px);box-shadow:0 8px 20px rgba(228,91,82,.25),0 0 0 3px rgba(228,91,82,.07);}
.ir-enquiry:active{transform:scale(.97);}
@media(max-width:980px){
  .ir-service-list{grid-template-columns:1fr;max-width:820px;}
}
@media(max-width:620px){
  .ir-services-ultra{padding:45px 12px 55px;}
  .ir-services-title{margin-bottom:22px;}
  .ir-services-title span{font-size:10px;}
  .ir-services-title h2{font-size:25px;letter-spacing:-.45px;}
  .ir-services-title p{font-size:12px;}
  .ir-provider-card{padding:14px 12px 14px;border-radius:9px;}
  .ir-provider-main{grid-template-columns:92px minmax(0,1fr);gap:11px;min-height:92px;}
  .ir-provider-image{width:92px;height:92px;border-radius:10px;}
  .ir-experience{width:78px;padding:5px 4px 6px;border-radius:20px 20px 8px 8px;}
  .ir-experience b{font-size:14px;}
  .ir-experience span{font-size:7px;margin-top:2px;}
  .ir-meta-line{gap:8px;flex-wrap:wrap;}
  .ir-provider-details h3{font-size:14px;line-height:1.2;margin-top:4px;}
  .ir-verified-inline{font-size:9px;}
  .ir-score{font-size:9px;}
  .ir-rating-text{font-size:9px;}
  .ir-score b{font-size:11px;}
  .ir-available{margin-top:4px;font-size:9px;}
  .ir-locations{margin-top:4px;font-size:8px;line-height:1.3;}
  .ir-service-tags{gap:3px;margin-top:6px;}
  .ir-service-tags > span{font-size:7.5px;min-height:20px;padding:4px 5px;}
  .ir-more-services{height:20px;min-width:24px;font-size:8px;}
  .ir-description{font-size:9px;line-height:1.45;margin-top:9px;}
  .ir-actions{gap:5px;margin-top:11px;}
  .ir-chat{min-width:0;flex:0 0 27%;height:34px;padding:0 6px;gap:4px;font-size:9px;}
  .ir-whatsapp-icon{width:14px;height:14px;}
  .ir-call{min-width:0;flex:1;height:34px;padding:0 5px;font-size:9px !important;}
  .ir-call > span{font-size:11px;}
  .ir-call > b{font-size:8px;}
  .ir-enquiry{min-width:0;flex:0 0 30%;height:34px;padding:0 5px;font-size:8px;line-height:1.05;}
}
@media(prefers-reduced-motion:reduce){
  .ir-provider-card,.ir-provider-image img,.ir-chat,.ir-call,.ir-enquiry{transition:none !important;} .ir-chat::before,.ir-call::before,.ir-call::after,.ir-call{animation:none !important;}
}

.book-element-mount{width:100%;}
.book-element-popup{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(11,25,44,.42);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);}
.book-element-popup.is-open{display:flex;animation:bookOverlayIn .18s ease both;}
.book-element-popup .hero-booking-card{position:relative;width:min(560px,100%);max-height:min(92vh,760px);overflow:auto;margin:0;box-shadow:0 24px 80px rgba(8,30,60,.24);}
.book-element-popup .book-popup-close{position:absolute;right:12px;top:12px;height:34px;padding:0 11px;border:1px solid #d8e2ee;border-radius:18px;background:#fff;color:#23344b;font-size:13px;font-weight:800;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;z-index:3;box-shadow:0 5px 16px rgba(8,30,60,.10);transition:background .18s ease,transform .18s ease,box-shadow .18s ease;}.book-element-popup .book-popup-close span{font-size:20px;font-weight:500;line-height:0;transform:translateY(-1px);}
.book-element-popup .book-popup-close:hover{background:#f4f8fc;transform:translateY(-1px);box-shadow:0 7px 18px rgba(8,30,60,.14);}
.book-element-popup .book-popup-status{margin-left:auto;}
.book-element-result{display:none;margin-top:8px;padding:8px 10px;border-radius:2px;font-size:10px;line-height:1.4;font-weight:800;}
.book-element-result.success{display:block;background:#effaf3;color:#16733a;border:1px solid #ccebd7;}
.book-element-result.error{display:block;background:#fff3f3;color:#a32929;border:1px solid #f1cccc;}
.book-element-loading{opacity:.7;pointer-events:none;}
body.book-element-lock{overflow:hidden;}
@keyframes bookOverlayIn{from{opacity:0}to{opacity:1}}
@media(max-width:650px){.book-element-popup{padding:10px;align-items:flex-end}.book-element-popup .hero-booking-card{max-height:94vh;border-radius:10px!important}.book-element-popup .book-popup-close{right:9px;top:9px}.book-element-popup .hero-booking-head{padding-right:82px}}
@media(prefers-reduced-motion:reduce){.book-element-popup,.book-element-popup .book-popup-close{animation:none!important;transition:none!important}}

/* Footer logo visibility fix */
.footer .logo-text strong{color:#fff!important;}
.footer .logo-text small{color:#8fa8c0!important;}
.footer .logo{color:#b9c9da;}
.footer .logo:hover .logo-text strong{color:#fff!important;}
.footer .logo:hover .logo-text small{color:#a9bfd3!important;}

/* =========================================================
   DESKTOP DROPDOWN CLICK TOGGLE — click opens, second click closes
   Hover/focus must not force the menu back open after a click.
   ========================================================= */
@media (min-width:1001px){
  html.ir-navbar-click-dropdowns .navlinks .dropdown:hover > .dropmenu,
  html.ir-navbar-click-dropdowns .navlinks .dropdown:focus-within > .dropmenu{
    display:none!important;
  }
  html.ir-navbar-click-dropdowns .navlinks .dropdown.open > .dropmenu{
    display:grid!important;
  }
}

/* Real WhatsApp icon system */
.ir-wa-real-icon{width:18px;height:18px;display:inline-block;flex:0 0 18px;fill:currentColor;vertical-align:middle}
.btn.white .ir-wa-real-icon,.outline-btn .ir-wa-real-icon,.mobile-wa-action .ir-wa-real-icon{color:#25D366}
.mobile-wa-action{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}
.mobile-wa-action .ir-wa-real-icon{width:16px;height:16px;flex-basis:16px}
.contact-lines>a .contact-wa-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#25D366;color:#fff;flex:0 0 28px}
.contact-lines>a .contact-wa-icon .ir-wa-real-icon{width:17px;height:17px;fill:#fff}
.floating .float.wa{display:grid;place-items:center}
.floating .float.wa .ir-wa-real-icon{width:25px;height:25px;fill:#fff}
.footer .footer-brand-col .logo-text strong{white-space:nowrap}
