/* ============================================================
   BellSill Transport LTD - Main Stylesheet
   Website: https://bellsill.com
   ============================================================ */
:root {
  --navy:       #0d1e3d;
  --navy-dark:  #081429;
  --orange:     #f26522;
  --orange-dark:#d4541a;
  --white:      #ffffff;
  --light-gray: #f4f6f9;
  --mid-gray:   #6c757d;
  --dark-gray:  #343a40;
  --border:     #dee2e6;
  --font-main:  'Inter', sans-serif;
  --shadow-sm:  0 2px 8px rgba(0,0,0,.08);
  --shadow-md:  0 4px 20px rgba(0,0,0,.12);
  --shadow-lg:  0 8px 40px rgba(0,0,0,.16);
  --radius:     8px;
  --radius-lg:  16px;
  --transition: all .3s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-main);color:var(--dark-gray);background:var(--white);line-height:1.75;overflow-x:hidden}
a{color:var(--orange);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--orange-dark)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--navy)}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.6rem,4vw,2.4rem)}
h3{font-size:clamp(1.15rem,3vw,1.5rem)}
h4{font-size:1.1rem}
p{margin-bottom:1rem}
section{padding:80px 0}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-wide{max-width:1400px;margin:0 auto;padding:0 24px}
.text-center{text-align:center}
.text-white{color:#fff!important}
.text-orange{color:var(--orange)!important}
.bg-navy{background:var(--navy)}
.bg-light{background:var(--light-gray)}
.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}
.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:14px 32px;border-radius:var(--radius);font-weight:700;font-size:.95rem;cursor:pointer;border:2px solid transparent;transition:var(--transition);text-decoration:none;white-space:nowrap;font-family:var(--font-main)}
.btn-primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-primary:hover{background:var(--orange-dark);border-color:var(--orange-dark);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(242,101,34,.4)}
.btn-secondary{background:transparent;color:#fff;border-color:#fff}
.btn-secondary:hover{background:#fff;color:var(--navy)}
.btn-outline{background:transparent;color:var(--orange);border-color:var(--orange)}
.btn-outline:hover{background:var(--orange);color:#fff}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--navy-dark);color:#fff;transform:translateY(-2px)}
.btn-sm{padding:10px 22px;font-size:.85rem}
.btn-lg{padding:18px 44px;font-size:1.05rem}

/* SECTION HEADER */
.section-header{margin-bottom:3rem}
.section-header.center{text-align:center}
.section-header .label{display:inline-block;background:rgba(242,101,34,.12);color:var(--orange);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 18px;border-radius:50px;margin-bottom:.75rem}
.section-header h2{margin-bottom:1rem}
.section-header p{color:var(--mid-gray);max-width:650px;font-size:1.02rem}
.section-header.center p{margin:0 auto}

/* TOP BAR */
.top-bar{background:var(--navy-dark);padding:7px 0;font-size:.8rem;color:rgba(255,255,255,.72);border-bottom:1px solid rgba(255,255,255,.06)}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.top-bar a{color:rgba(255,255,255,.72)}
.top-bar a:hover{color:var(--orange)}
.top-bar-info{display:flex;gap:1.5rem;flex-wrap:wrap}
.top-bar-info span{display:flex;align-items:center;gap:.35rem}
.top-bar-social{display:flex;gap:.75rem;align-items:center}

/* HEADER / NAV */
#site-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--navy);border-bottom:3px solid var(--orange);transition:box-shadow .3s}
#site-header.scrolled{box-shadow:0 4px 30px rgba(0,0,0,.35)}
.nav-wrapper{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.logo a{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.logo img{height:54px;width:auto}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-text .name{font-size:1.15rem;font-weight:800;color:#fff;letter-spacing:.01em}
.logo-text .tag{font-size:.65rem;color:var(--orange);text-transform:uppercase;letter-spacing:.1em}
.main-nav{display:flex;align-items:center;gap:.1rem}
.main-nav>li{position:relative}
.main-nav>li>a{display:flex;align-items:center;gap:.3rem;padding:10px 13px;color:#fff;font-weight:600;font-size:.88rem;border-radius:var(--radius);transition:var(--transition)}
.main-nav>li>a:hover,.main-nav>li>a.active{color:var(--orange);background:rgba(255,255,255,.06)}
.main-nav>li>a .caret{font-size:.65rem;transition:transform .3s}
.main-nav>li:hover>a .caret{transform:rotate(180deg)}
.dropdown-menu{position:absolute;top:calc(100% + 3px);left:0;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);min-width:250px;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--transition);z-index:300;border-top:3px solid var(--orange)}
.main-nav>li:hover .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu li a{display:flex;align-items:center;gap:.5rem;padding:11px 18px;color:var(--dark-gray);font-size:.875rem;font-weight:500;border-bottom:1px solid var(--border);transition:var(--transition)}
.dropdown-menu li:last-child a{border-bottom:none}
.dropdown-menu li a:hover{color:var(--orange);background:var(--light-gray);padding-left:24px}
.dropdown-menu li a i{color:var(--orange);width:16px;font-size:.8rem}
.mega-menu{position:absolute;top:calc(100% + 3px);left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:860px;opacity:0;visibility:hidden;transition:var(--transition);z-index:300;border-top:3px solid var(--orange);padding:1.75rem}
.main-nav>li:hover .mega-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.mega-col h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--orange);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}
.mega-col ul li a{display:flex;align-items:center;gap:.4rem;padding:7px 0;color:var(--dark-gray);font-size:.85rem;font-weight:500}
.mega-col ul li a:hover{color:var(--orange)}
.mega-col ul li a i{font-size:.72rem;color:var(--orange)}
.nav-cta{display:flex;align-items:center;gap:.75rem;margin-left:.5rem}
.nav-phone{display:flex;align-items:center;gap:.4rem;color:var(--orange);font-weight:800;font-size:.95rem}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none}
.hamburger span{display:block;width:26px;height:2px;background:#fff;border-radius:2px;transition:var(--transition)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-nav{display:none;flex-direction:column;background:var(--navy-dark);max-height:0;overflow:hidden;transition:max-height .45s ease}
.mobile-nav.open{max-height:1800px}
.mobile-nav-inner{padding:.75rem 0 1.5rem}
.mobile-nav-inner a{display:flex;align-items:center;gap:.5rem;padding:11px 20px;color:#fff;font-weight:500;font-size:.92rem;border-bottom:1px solid rgba(255,255,255,.05)}
.mobile-nav-inner a:hover{color:var(--orange);background:rgba(255,255,255,.04)}
.mobile-group-title{display:block;padding:13px 20px 5px;color:var(--orange);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.mobile-sub a{padding-left:36px!important;font-size:.85rem!important;color:rgba(255,255,255,.75)!important}

/* HERO */
.hero{position:relative;display:flex;align-items:center;min-height:100vh;overflow:hidden;background:var(--navy)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(110deg,rgba(8,20,41,.93) 0%,rgba(13,30,61,.78) 55%,rgba(13,30,61,.42) 100%)}
.hero-content{position:relative;z-index:2;padding:148px 0 100px}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(242,101,34,.18);border:1px solid rgba(242,101,34,.4);color:var(--orange);padding:8px 20px;border-radius:50px;font-size:.82rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:1.5rem}
.hero h1{color:#fff;margin-bottom:1.25rem}
.hero h1 span{color:var(--orange)}
.hero .hero-desc{color:rgba(255,255,255,.82);font-size:1.1rem;max-width:590px;margin-bottom:2rem}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2.5rem;margin-top:3rem;flex-wrap:wrap;padding-top:2rem;border-top:1px solid rgba(255,255,255,.12)}
.hero-stat .num{font-size:2rem;font-weight:800;color:var(--orange);line-height:1}
.hero-stat .lbl{font-size:.78rem;color:rgba(255,255,255,.68);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}

/* PAGE HERO */
.page-hero{background-color:var(--navy);background-size:cover;background-position:center center;background-repeat:no-repeat;padding:165px 0 90px;position:relative;overflow:hidden;isolation:isolate;min-height:520px;display:flex;align-items:center}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(8,20,41,.76) 0%,rgba(13,30,61,.62) 52%,rgba(13,30,61,.28) 100%);z-index:0;pointer-events:none}
.page-hero::after{content:"";position:absolute;inset:0;background:rgba(8,20,41,.18);z-index:0;pointer-events:none}
.page-hero .hero-overlay{display:none!important;pointer-events:none!important}
.page-hero>.container,.page-hero-content{position:relative;z-index:2;width:100%}
.page-hero h1{color:#fff;margin-bottom:.9rem;text-shadow:0 2px 18px rgba(0,0,0,.45);max-width:900px}
.page-hero p,.page-hero .hero-subtitle{color:rgba(255,255,255,.94);max-width:760px;margin-top:1rem;font-size:1.08rem;text-shadow:0 1px 12px rgba(0,0,0,.55)}
.page-hero .breadcrumb,.page-hero .breadcrumb a,.page-hero .breadcrumb li{color:rgba(255,255,255,.9)}
.page-hero .hero-buttons,.page-hero .cta-buttons{position:relative;z-index:3;display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}
.page-hero .btn{position:relative;z-index:4;pointer-events:auto}
.breadcrumb{display:flex;gap:.45rem;align-items:center;color:rgba(255,255,255,.55);font-size:.85rem;flex-wrap:wrap;margin-bottom:.5rem}
.breadcrumb a{color:rgba(255,255,255,.55)}
.breadcrumb a:hover{color:var(--orange)}
.breadcrumb .current{color:var(--orange);font-weight:600}
.breadcrumb .sep{opacity:.5}

/* TRUST BAR */
.trust-bar{background:var(--orange);padding:18px 0}
.trust-bar-inner{display:flex;justify-content:space-around;align-items:center;flex-wrap:wrap;gap:1rem}
.trust-item{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;font-size:.88rem}
.trust-item i{font-size:1.1rem}

/* SERVICE CARDS */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.service-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:2rem;border:1px solid var(--border);transition:var(--transition);display:flex;flex-direction:column}
.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px);border-color:var(--orange)}
.service-card .icon-wrap{width:62px;height:62px;border-radius:14px;background:linear-gradient(135deg,var(--navy),#1a3a6e);display:flex;align-items:center;justify-content:center;font-size:1.45rem;color:var(--orange);margin-bottom:1.25rem;flex-shrink:0}
.service-card h3{margin-bottom:.6rem;font-size:1.08rem}
.service-card p{color:var(--mid-gray);font-size:.88rem;flex-grow:1;margin-bottom:1.25rem}
.service-card .card-link{color:var(--orange);font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:.35rem}
.service-card .card-link:hover{gap:.65rem}

/* PARENT CARDS */
.parent-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.75rem}
.parent-card{background:var(--navy);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);box-shadow:var(--shadow-md)}
.parent-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.parent-card .card-img{position:relative;height:210px;overflow:hidden}
.parent-card .card-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.parent-card:hover .card-img img{transform:scale(1.07)}
.parent-card .card-img .overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,30,61,.88),transparent)}
.parent-card .card-body{padding:1.5rem}
.parent-card h3{color:#fff;margin-bottom:.6rem}
.parent-card p{color:rgba(255,255,255,.72);font-size:.88rem;margin-bottom:1.25rem}
.parent-card .sub-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.parent-card .sub-tag{background:rgba(242,101,34,.2);color:var(--orange);padding:4px 12px;border-radius:50px;font-size:.76rem;font-weight:700}

/* WHY CHOOSE US */
.why-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:1.5rem}
.why-card{text-align:center;padding:2.5rem 1.5rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}
.why-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px);border-color:rgba(242,101,34,.3)}
.why-card .icon{font-size:2.4rem;color:var(--orange);margin-bottom:1rem}
.why-card h4{margin-bottom:.5rem}
.why-card p{color:var(--mid-gray);font-size:.88rem;margin:0}

/* LOCATIONS */
.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:.85rem}
.location-pill{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:11px 16px;display:flex;align-items:center;gap:.55rem;font-weight:600;font-size:.87rem;transition:var(--transition);text-decoration:none;color:var(--dark-gray)}
.location-pill:hover{border-color:var(--orange);color:var(--orange);background:rgba(242,101,34,.04);transform:translateX(3px)}
.location-pill i{color:var(--orange);font-size:.82rem}

/* TESTIMONIALS */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.testimonial-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);position:relative}
.testimonial-card::before{content:'\201C';position:absolute;top:1rem;right:1.5rem;font-size:5rem;color:rgba(242,101,34,.1);line-height:1;font-family:Georgia,serif}
.testimonial-card .stars{color:#f5a623;font-size:.88rem;margin-bottom:.75rem}
.testimonial-card p{color:var(--mid-gray);font-size:.9rem;font-style:italic;margin-bottom:1.25rem}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.testimonial-author .avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;color:var(--orange);font-weight:800;font-size:1rem}
.testimonial-author .info strong{display:block;font-size:.88rem;color:var(--navy)}
.testimonial-author .info span{font-size:.78rem;color:var(--mid-gray)}

/* CTA BANNER */
.cta-banner{background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 100%);padding:80px 0;position:relative;overflow:hidden}
.cta-banner::before{content:'';position:absolute;right:-100px;top:-100px;width:500px;height:500px;border-radius:50%;background:rgba(242,101,34,.08)}
.cta-banner .content{position:relative;z-index:1;text-align:center}
.cta-banner h2{color:#fff;margin-bottom:1rem}
.cta-banner p{color:rgba(255,255,255,.78);font-size:1.02rem;max-width:610px;margin:0 auto 2rem}
.cta-banner .btns{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}

/* FORMS */
.form-card{background:#fff;border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-md)}
.form-group{margin-bottom:1.2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.2rem}
label{display:block;font-weight:700;font-size:.84rem;color:var(--dark-gray);margin-bottom:.4rem;text-transform:uppercase;letter-spacing:.04em}
label .req{color:var(--orange);margin-left:.2rem}
input[type=text],input[type=email],input[type=tel],input[type=date],input[type=time],input[type=number],select,textarea{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.93rem;font-family:var(--font-main);color:var(--dark-gray);background:#fff;transition:var(--transition);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(242,101,34,.12)}
textarea{resize:vertical;min-height:130px}
select{cursor:pointer}
.form-note{font-size:.8rem;color:var(--mid-gray);margin-top:.3rem}
.form-msg{padding:14px 18px;border-radius:var(--radius);font-weight:600;margin-top:1rem;display:none}
.form-msg.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb;display:block}
.form-msg.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb;display:block}

/* TWO COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.two-col.reverse .col-img{order:-1}
.col-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}
.col-img img{width:100%;height:100%;object-fit:cover}
.col-text h2{margin-bottom:1rem}
.col-text p{color:var(--mid-gray)}
.check-list{margin-top:1.5rem}
.check-list li{display:flex;align-items:flex-start;gap:.6rem;padding:.5rem 0;color:var(--dark-gray);font-size:.95rem}
.check-list li i{color:var(--orange);margin-top:.25rem;flex-shrink:0}

/* FAQ */
.faq-list{max-width:880px;margin:0 auto}
.faq-item{background:#fff;border-radius:var(--radius);margin-bottom:1rem;box-shadow:var(--shadow-sm);overflow:hidden;border:1px solid var(--border)}
.faq-question{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;cursor:pointer;font-weight:700;color:var(--navy);font-size:.96rem;user-select:none;transition:var(--transition)}
.faq-question:hover{color:var(--orange)}
.faq-question .faq-icon{color:var(--orange);font-size:1rem;transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-question .faq-icon{transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-answer-inner{padding:0 1.5rem 1.25rem;color:var(--mid-gray);font-size:.92rem;line-height:1.75}

/* PROCESS STEPS */
.process-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1.5rem}
.step-card{text-align:center;padding:3.5rem 1.5rem 2rem;position:relative;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition)}
.step-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.step-num{position:absolute;top:1.5rem;left:50%;transform:translateX(-50%);width:46px;height:46px;background:var(--orange);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;box-shadow:0 4px 16px rgba(242,101,34,.35)}
.step-card h4{margin-bottom:.5rem}
.step-card p{color:var(--mid-gray);font-size:.88rem;margin:0}

/* INFO BOX */
.info-box{background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 100%);border-radius:var(--radius-lg);padding:2rem;color:#fff}
.info-box h3{color:#fff;margin-bottom:1rem}
.info-box p{color:rgba(255,255,255,.8);margin-bottom:1rem;font-size:.92rem}
.info-box-list li{display:flex;align-items:flex-start;gap:.6rem;color:rgba(255,255,255,.8);padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:.88rem}
.info-box-list li:last-child{border-bottom:none}
.info-box-list li i{color:var(--orange);margin-top:.2rem;flex-shrink:0}

/* LOCATION STATS */
.loc-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2rem}
.loc-stat-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);padding:1.25rem;text-align:center}
.loc-stat-card .num{font-size:1.75rem;font-weight:800;color:var(--orange)}
.loc-stat-card .lbl{font-size:.75rem;color:rgba(255,255,255,.7);margin-top:.25rem}

/* SITEMAP */
.sitemap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:2rem}
.sitemap-col h3{font-size:.92rem;color:var(--orange);text-transform:uppercase;letter-spacing:.07em;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}
.sitemap-col ul li{margin-bottom:.5rem}
.sitemap-col ul li a{color:var(--dark-gray);font-size:.88rem;display:flex;align-items:center;gap:.4rem}
.sitemap-col ul li a:hover{color:var(--orange)}
.sitemap-col ul li a i{font-size:.7rem;color:var(--orange)}

/* 404 */
.not-found-page{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:100px 20px 60px}
.not-found-inner{text-align:center;max-width:650px}
.not-found-inner .big-num{font-size:clamp(7rem,18vw,12rem);font-weight:900;color:var(--orange);line-height:1;opacity:.15}
.not-found-inner .message-wrap{margin-top:-3rem;position:relative;z-index:1}
.not-found-inner h1{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:1rem}
.not-found-inner p{color:var(--mid-gray);margin-bottom:2rem;font-size:1.05rem}

/* WHATSAPP FLOAT */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:9999;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 20px rgba(37,211,102,.45);transition:var(--transition);text-decoration:none;animation:pulseWA 2s infinite}
.whatsapp-float:hover{background:#1ebe5d;transform:scale(1.1);color:#fff;animation:none}
.wa-tooltip{position:absolute;right:72px;background:var(--dark-gray);color:#fff;padding:6px 14px;border-radius:var(--radius);font-size:.78rem;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--transition);font-weight:600}
.whatsapp-float:hover .wa-tooltip{opacity:1}
@keyframes pulseWA{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.45)}50%{box-shadow:0 4px 42px rgba(37,211,102,.72)}}

/* BACK TO TOP */
.back-to-top{position:fixed;bottom:24px;left:24px;z-index:9998;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;box-shadow:var(--shadow-md);transition:var(--transition);opacity:0;pointer-events:none;text-decoration:none}
.back-to-top.visible{opacity:1;pointer-events:all}
.back-to-top:hover{background:var(--orange);color:#fff;transform:translateY(-3px)}

/* FOOTER */
#site-footer{background:var(--navy-dark);color:rgba(255,255,255,.72)}
.footer-top{padding:55px 0 32px}
.footer-grid{display:grid;grid-template-columns:minmax(260px,1.35fr) minmax(300px,1fr) minmax(230px,.8fr);grid-template-areas:"company services quick" "locations locations locations";gap:2rem 2.5rem;align-items:start}
.footer-company{grid-area:company}
.footer-services{grid-area:services}
.footer-quick{grid-area:quick}
.footer-locations{grid-area:locations;border-top:1px solid rgba(255,255,255,.08);padding-top:1.75rem;margin-top:.5rem}
.footer-col h4{color:#fff;font-size:.88rem;margin-bottom:1.05rem;text-transform:uppercase;letter-spacing:.07em;position:relative;padding-bottom:.75rem}
.footer-col h4::after{content:'';position:absolute;bottom:0;left:0;width:28px;height:2px;background:var(--orange);border-radius:2px}
.footer-logo img{height:50px;margin-bottom:1rem}
.footer-desc{font-size:.85rem;line-height:1.75;margin-bottom:1.25rem}
.footer-col ul{margin:0;padding:0;list-style:none}
.footer-col ul li{margin-bottom:.42rem;break-inside:avoid}
.footer-col ul li strong{display:block;margin:.35rem 0 .25rem;color:var(--orange)!important;font-size:.72rem!important;text-transform:uppercase;letter-spacing:1px;break-after:avoid}
.footer-col ul li a{color:rgba(255,255,255,.68);font-size:.82rem;line-height:1.35;transition:var(--transition);display:flex;align-items:flex-start;gap:.35rem}
.footer-col ul li a:hover{color:var(--orange);padding-left:3px}
.footer-col ul li a i{font-size:.68rem;color:var(--orange);margin-top:.22rem;flex-shrink:0}
.footer-link-columns{column-gap:2rem}
.footer-service-links{columns:2 150px}
.footer-location-links{columns:5 170px}
.footer-quick-links{columns:1}
.footer-contact li{display:flex;gap:.6rem;font-size:.84rem;color:rgba(255,255,255,.68);margin-bottom:.75rem}
.footer-contact li i{color:var(--orange);margin-top:.22rem;flex-shrink:0}
.footer-social{display:flex;gap:.55rem;margin-top:1rem}
.footer-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.68);font-size:.88rem;transition:var(--transition)}
.footer-social a:hover{background:var(--orange);color:#fff}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.07)}
.footer-bottom{padding:18px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;font-size:.8rem}
.footer-bottom a{color:rgba(255,255,255,.58)}
.footer-bottom a:hover{color:var(--orange)}
.footer-bottom-links{display:flex;gap:1rem;flex-wrap:wrap}
/* RICH CONTENT */
.rich-content h2{margin:2.25rem 0 .85rem;color:var(--navy)}
.rich-content h3{margin:1.75rem 0 .65rem;color:var(--navy)}
.rich-content p{color:var(--mid-gray);line-height:1.85}
.rich-content ul,.rich-content ol{padding-left:1.5rem;margin-bottom:1.25rem}
.rich-content ul li,.rich-content ol li{margin-bottom:.45rem;color:var(--mid-gray)}
.rich-content strong{color:var(--dark-gray)}
.rich-content a{color:var(--orange);font-weight:600}
.rich-content blockquote{border-left:4px solid var(--orange);padding:1rem 1.5rem;background:var(--light-gray);border-radius:0 var(--radius) var(--radius) 0;margin:1.5rem 0;font-style:italic;color:var(--mid-gray)}

/* TABLE STYLES */
.data-table{width:100%;border-collapse:collapse;font-size:.9rem}
.data-table th{background:var(--navy);color:#fff;padding:12px 16px;text-align:left;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}
.data-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--dark-gray)}
.data-table tr:hover td{background:var(--light-gray)}
.data-table td i.fa-check{color:#28a745}
.data-table td i.fa-times{color:#dc3545}

/* RESPONSIVE */
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1.2fr 1fr;grid-template-areas:"company services" "quick quick" "locations locations"}
  .mega-menu{width:700px}
  .mega-menu-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:992px){
  .two-col{grid-template-columns:1fr;gap:2.5rem}
  .two-col.reverse .col-img{order:0}
  .main-nav,.nav-cta{display:none}
  .hamburger{display:flex}
  .mobile-nav{display:flex}
  .loc-stats-grid{grid-template-columns:repeat(2,1fr)}
  section{padding:60px 0}
  .footer-grid{grid-template-columns:1fr 1fr;grid-template-areas:"company services" "quick quick" "locations locations"}
  .footer-location-links{columns:3 160px}
}
@media(max-width:640px){
  .form-row,.form-row-3{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;grid-template-areas:"company" "services" "quick" "locations"}
  .footer-service-links,.footer-location-links{columns:2 145px}
  .hero-stats{gap:1.5rem}
  .services-grid{grid-template-columns:1fr}
  .locations-grid{grid-template-columns:1fr 1fr}
  .loc-stats-grid{grid-template-columns:1fr 1fr}
  section{padding:48px 0}
  .page-hero{padding:135px 0 65px;min-height:440px;background-position:center center}
  .footer-bottom{flex-direction:column;text-align:center}
  .footer-bottom-links{justify-content:center}
  .trust-bar-inner{flex-direction:column;align-items:flex-start}
  .parent-cards-grid{grid-template-columns:1fr}
}
@media(max-width:400px){
  .footer-service-links,.footer-location-links{columns:1}
  .locations-grid{grid-template-columns:1fr}
  .btn-lg{padding:15px 28px}
}

/* Mobile header cleanup: hide desktop contact strip on phones/tablets */
@media (max-width: 768px){
  #site-header .top-bar{
    display:none !important;
  }
}

/* Edmonton location-service menu and related links */
.edmonton-child-menu span{display:block;padding:.6rem 1rem;font-weight:800;color:var(--orange);font-size:.9rem;text-transform:uppercase;letter-spacing:.04em}
.edmonton-child-heading{padding:.45rem 1rem .2rem;font-size:.76rem;font-weight:800;color:var(--navy);text-transform:uppercase;background:rgba(0,0,0,.035)}
.dropdown-menu .edmonton-child-link a{padding:.48rem 1rem .48rem 1.35rem;font-size:.88rem}
.mobile-sub-heading{display:block;padding:.6rem 1rem .25rem;font-weight:800;color:var(--orange);font-size:.82rem;text-transform:uppercase}
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}
.related-card{display:flex;align-items:center;gap:.75rem;background:#fff;border-radius:12px;padding:1rem;box-shadow:var(--shadow-sm);font-weight:700;color:var(--navy);text-decoration:none;transition:.2s ease}
.related-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--orange)}
.related-card i{color:var(--orange);font-size:1.25rem}
.edmonton-service-list{columns:3;column-gap:2rem;margin-top:1rem}
.edmonton-service-list li{break-inside:avoid;margin-bottom:.45rem}
@media (max-width:768px){.edmonton-service-list{columns:1}.dropdown-menu .edmonton-child-link a{padding-left:1rem}}

/* Banner readability and clickability fix */
@media (max-width: 768px){
  .page-hero{padding:115px 0 52px;min-height:420px;background-position:center center}
  .page-hero h1{font-size:clamp(1.85rem,8vw,2.45rem)}
  .page-hero p,.page-hero .hero-subtitle{font-size:1rem;max-width:100%}
  .page-hero .hero-buttons,.page-hero .cta-buttons{gap:.75rem}
  .page-hero .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
}

/* STANDARD BREADCRUMBS FIX - keeps hero breadcrumbs readable and removes ol numbering */
.breadcrumb-nav,
.page-hero .breadcrumb-nav{
  display:block;
  margin:0 0 1.15rem 0;
  position:relative;
  z-index:4;
}

.breadcrumb,
ol.breadcrumb,
ul.breadcrumb,
nav.breadcrumb{
  display:flex !important;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
  list-style:none !important;
  margin:0 0 .9rem 0 !important;
  padding:0 !important;
  font-size:.92rem;
  line-height:1.4;
  color:rgba(255,255,255,.86);
}

.breadcrumb li,
ol.breadcrumb li,
ul.breadcrumb li{
  display:flex;
  align-items:center;
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  color:rgba(255,255,255,.86);
}

.breadcrumb li::marker,
ol.breadcrumb li::marker,
ul.breadcrumb li::marker{
  content:"";
  font-size:0;
}

.breadcrumb li + li::before{
  content:"›";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 .6rem;
  color:var(--orange);
  font-weight:800;
  opacity:.95;
}

.breadcrumb a,
.page-hero .breadcrumb a{
  color:rgba(255,255,255,.9) !important;
  text-decoration:none;
  font-weight:700;
  transition:var(--transition);
}

.breadcrumb a:hover,
.page-hero .breadcrumb a:hover{
  color:var(--orange) !important;
}

.breadcrumb [aria-current="page"],
.breadcrumb .current,
.page-hero .breadcrumb [aria-current="page"],
.page-hero .breadcrumb .current{
  color:#fff !important;
  font-weight:800;
}

.breadcrumb .sep{
  display:inline-flex;
  margin:0 .6rem;
  color:var(--orange);
  font-weight:800;
  opacity:.95;
}

.page-hero .breadcrumb,
.page-hero ol.breadcrumb,
.page-hero ul.breadcrumb,
.page-hero nav.breadcrumb{
  max-width:100%;
  text-shadow:0 1px 10px rgba(0,0,0,.55);
}

@media (max-width:768px){
  .breadcrumb,
  ol.breadcrumb,
  ul.breadcrumb,
  nav.breadcrumb{
    font-size:.8rem;
    margin-bottom:.7rem !important;
  }
  .breadcrumb li + li::before,
  .breadcrumb .sep{
    margin:0 .42rem;
  }
}

/* FINAL HERO AND BREADCRUMB OVERRIDE - fixes unreadable banner and broken breadcrumbs site-wide */
.page-hero{position:relative!important;overflow:hidden!important;isolation:isolate!important;min-height:520px!important;padding:155px 0 88px!important;display:flex!important;align-items:center!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;background-color:#081429!important}
.page-hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:linear-gradient(90deg,rgba(8,20,41,.78) 0%,rgba(8,20,41,.58) 48%,rgba(8,20,41,.30) 100%)!important}
.page-hero::after{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;pointer-events:none!important;background:rgba(0,0,0,.08)!important}
.page-hero .hero-overlay{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;z-index:-1!important}
.page-hero>.container,.page-hero .container,.page-hero-content{position:relative!important;z-index:5!important}
.page-hero h1,.page-hero .container h1{color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:0 3px 18px rgba(0,0,0,.65)!important;max-width:980px!important}
.page-hero p,.page-hero .hero-subtitle,.page-hero .container p{color:#fff!important;opacity:1!important;visibility:visible!important;text-shadow:0 2px 14px rgba(0,0,0,.75)!important;max-width:790px!important}
.page-hero .hero-buttons,.page-hero .cta-buttons{position:relative!important;z-index:10!important;pointer-events:auto!important;display:flex!important;flex-wrap:wrap!important;gap:1rem!important;margin-top:1.8rem!important}
.page-hero .btn,.page-hero a.btn,.page-hero .hero-buttons a,.page-hero .cta-buttons a{position:relative!important;z-index:11!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important}
.breadcrumb-nav,.page-hero .breadcrumb-nav{display:block!important;position:relative!important;z-index:12!important;margin:0 0 1.1rem 0!important;padding:0!important}
.breadcrumb,ol.breadcrumb,ul.breadcrumb,nav.breadcrumb,.page-hero .breadcrumb,.page-hero ol.breadcrumb,.page-hero ul.breadcrumb{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:0!important;list-style:none!important;margin:0!important;padding:0!important;color:#fff!important;font-size:.9rem!important;line-height:1.45!important;opacity:1!important;text-shadow:0 2px 12px rgba(0,0,0,.75)!important}
.breadcrumb li,ol.breadcrumb li,ul.breadcrumb li,.page-hero .breadcrumb li{display:flex!important;align-items:center!important;list-style:none!important;margin:0!important;padding:0!important;color:#fff!important;opacity:1!important}
.breadcrumb li::marker,ol.breadcrumb li::marker,ul.breadcrumb li::marker{content:""!important;font-size:0!important}
.breadcrumb li+li::before,.page-hero .breadcrumb li+li::before{content:"›"!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0 .58rem!important;color:#f26522!important;font-weight:900!important;opacity:1!important}
.breadcrumb a,.page-hero .breadcrumb a{color:#fff!important;text-decoration:none!important;font-weight:700!important;opacity:1!important;pointer-events:auto!important}
.breadcrumb a:hover,.page-hero .breadcrumb a:hover{color:#f26522!important}
.breadcrumb [aria-current="page"],.breadcrumb .current,.page-hero .breadcrumb [aria-current="page"],.page-hero .breadcrumb .current{color:#fff!important;font-weight:800!important;opacity:1!important}
@media (max-width:768px){.page-hero{min-height:430px!important;padding:120px 0 56px!important;background-position:center center!important}.page-hero h1{font-size:clamp(1.85rem,8vw,2.55rem)!important}.page-hero p,.page-hero .hero-subtitle{font-size:1rem!important}.breadcrumb,.page-hero .breadcrumb{font-size:.78rem!important}.breadcrumb li+li::before{margin:0 .4rem!important}.page-hero .btn{width:100%!important;justify-content:center!important;text-align:center!important}}

/* LOCATION MEGA MENU FIX - keeps the Locations menu on screen */
.main-nav > li.locations-nav-item{position:static}
.locations-mega-menu{width:min(1120px, calc(100vw - 48px));left:50%;max-height:calc(100vh - 155px);overflow-y:auto;padding:1.4rem 1.5rem}
.locations-mega-grid{grid-template-columns:1.05fr 1.2fr 1.15fr 1fr;gap:1.25rem}
.locations-mega-menu .mega-col h4{margin-top:0;margin-bottom:.65rem;color:var(--orange);border-bottom:2px solid rgba(255,98,24,.18)}
.locations-mega-menu .mega-col h4.mega-subtitle{margin-top:1rem}
.locations-mega-menu .mega-col ul{margin:0 0 .25rem;padding:0;list-style:none}
.locations-mega-menu .mega-col ul li a{padding:6px 0;line-height:1.25;white-space:normal}
.locations-mega-menu .mega-col ul li a i{width:17px;text-align:center;flex:0 0 17px}
.mega-menu-cta{margin-top:1rem;padding:1rem;border-radius:var(--radius);background:linear-gradient(135deg, rgba(255,98,24,.12), rgba(9,30,63,.08));border:1px solid rgba(255,98,24,.22)}
.mega-menu-cta strong{display:block;color:var(--navy);font-size:.95rem;margin-bottom:.35rem}
.mega-menu-cta span{display:block;color:var(--dark-gray);font-size:.84rem;line-height:1.45;margin-bottom:.75rem}
.mega-menu-cta a{display:inline-flex;align-items:center;gap:.35rem;color:var(--orange);font-weight:800;font-size:.86rem}
@media(max-width:1200px){.locations-mega-menu{width:calc(100vw - 28px);padding:1.2rem}.locations-mega-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:992px){.main-nav > li.locations-nav-item{position:relative}.locations-mega-menu{display:none}}

/* LOCATION HERO IMAGE + BREADCRUMB CONSISTENCY FIX */
.page-hero{
  background-image:url('/images/hero-banner.jpg');
}
.page-hero[style*="background-image"]{
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
.page-hero nav.breadcrumb > a,
.page-hero nav.breadcrumb > span,
.page-hero .breadcrumb > a,
.page-hero .breadcrumb > span{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  color:#fff!important;
  opacity:1!important;
  text-decoration:none!important;
  text-shadow:0 2px 12px rgba(0,0,0,.75)!important;
}
.page-hero nav.breadcrumb > a,
.page-hero .breadcrumb > a{font-weight:700!important;pointer-events:auto!important;}
.page-hero nav.breadcrumb > a:hover,
.page-hero .breadcrumb > a:hover{color:#f26522!important;}
.page-hero nav.breadcrumb > span,
.page-hero .breadcrumb > span{font-weight:800!important;}
.page-hero nav.breadcrumb > span:not(:last-child),
.page-hero .breadcrumb > span:not(:last-child),
.page-hero nav.breadcrumb > .sep,
.page-hero .breadcrumb > .sep{margin:0 .58rem!important;color:#f26522!important;}
.page-hero nav.breadcrumb > a + a::before,
.page-hero nav.breadcrumb > a + span::before,
.page-hero nav.breadcrumb > span + a::before,
.page-hero nav.breadcrumb > span + span::before,
.page-hero .breadcrumb > a + a::before,
.page-hero .breadcrumb > a + span::before,
.page-hero .breadcrumb > span + a::before,
.page-hero .breadcrumb > span + span::before{content:''!important;}
@media (max-width:768px){
  .page-hero nav.breadcrumb > span:not(:last-child),
  .page-hero .breadcrumb > span:not(:last-child),
  .page-hero nav.breadcrumb > .sep,
  .page-hero .breadcrumb > .sep{margin:0 .4rem!important;}
}

/* ============================================================
   Site-wide FAQ accordion fix
   Keeps FAQ buttons full-width, readable, and clickable on all pages.
   ============================================================ */
.faq-section .faq-list,
section .faq-list{
  width:100%;
  max-width:980px;
  margin:2rem auto 0;
}
.faq-list .faq-item{
  width:100%;
  background:#fff;
  border:1px solid rgba(10,31,68,.12);
  border-radius:10px;
  margin:0 0 1rem;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(10,31,68,.08);
}
.faq-list .faq-question,
.faq-item > button.faq-question{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.15rem 1.35rem;
  border:0;
  outline:0;
  background:#fff;
  color:var(--navy,#061b3a);
  text-align:left;
  font-family:inherit;
  font-size:1rem;
  font-weight:800;
  line-height:1.45;
  cursor:pointer;
  box-shadow:none;
}
.faq-list .faq-question:hover,
.faq-list .faq-question:focus-visible{
  background:#f7f9fc;
  color:var(--orange,#f26522);
}
.faq-list .faq-question i,
.faq-list .faq-question .faq-icon{
  margin-left:auto;
  flex:0 0 auto;
  width:34px;
  height:34px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(242,101,34,.12);
  color:var(--orange,#f26522);
  font-size:14px;
  line-height:1;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.faq-list .faq-item.open .faq-question,
.faq-list .faq-item.active .faq-question{
  color:var(--orange,#f26522);
}
.faq-list .faq-item.open .faq-question i,
.faq-list .faq-item.open .faq-question .faq-icon,
.faq-list .faq-item.active .faq-question i,
.faq-list .faq-item.active .faq-question .faq-icon{
  transform:rotate(45deg);
  background:var(--orange,#f26522);
  color:#fff;
}
.faq-list .faq-answer{
  max-height:0;
  overflow:hidden;
  background:#fff;
  color:var(--mid-gray,#4b5563);
  transition:max-height .35s ease;
}
.faq-list .faq-answer-inner,
.faq-list .faq-answer > p,
.faq-list .faq-answer > div{
  padding:0 1.35rem 1.35rem;
  margin:0;
  color:var(--mid-gray,#4b5563);
  font-size:.96rem;
  line-height:1.75;
}
.faq-list .faq-answer a{
  color:var(--orange,#f26522);
  font-weight:700;
}
@media (max-width:768px){
  .faq-section .faq-list,
  section .faq-list{
    margin-top:1.25rem;
  }
  .faq-list .faq-question,
  .faq-item > button.faq-question{
    min-height:auto;
    padding:1rem;
    font-size:.94rem;
  }
  .faq-list .faq-question i,
  .faq-list .faq-question .faq-icon{
    width:30px;
    height:30px;
  }
  .faq-list .faq-answer-inner,
  .faq-list .faq-answer > p,
  .faq-list .faq-answer > div{
    padding:0 1rem 1rem;
    font-size:.92rem;
  }
}

/* ============================================================
   Final site-wide FAQ cleanup for legacy and accordion FAQ blocks
   Covers old markup: .faq-item > .faq-q + .faq-a
   and newer markup: .faq-question + .faq-answer.
   ============================================================ */
.faq-section,
section:has(.faq-list){
  padding-top:clamp(3rem,6vw,5rem);
  padding-bottom:clamp(3rem,6vw,5rem);
}
.faq-section h2,
section:has(.faq-list) h2,
.faq-title{
  color:var(--navy,#061b3a)!important;
  font-size:clamp(1.8rem,3vw,2.6rem)!important;
  line-height:1.15!important;
  font-weight:900!important;
  margin:0 auto 1.75rem!important;
  text-align:center!important;
  max-width:980px!important;
}
.faq-list{
  width:100%!important;
  max-width:980px!important;
  margin:1.5rem auto 0!important;
  display:grid!important;
  gap:1rem!important;
}
.faq-list .faq-item{
  width:100%!important;
  display:block!important;
  background:#fff!important;
  border:1px solid rgba(10,31,68,.12)!important;
  border-radius:12px!important;
  margin:0!important;
  overflow:hidden!important;
  box-shadow:0 8px 24px rgba(10,31,68,.08)!important;
}
/* Legacy FAQ question headings */
.faq-list .faq-item > .faq-q,
.faq-list .faq-item > h3.faq-q{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  width:100%!important;
  min-height:auto!important;
  margin:0!important;
  padding:1.15rem 1.35rem!important;
  background:#fff!important;
  color:var(--navy,#061b3a)!important;
  border:0!important;
  font-size:clamp(1rem,1.45vw,1.18rem)!important;
  line-height:1.4!important;
  font-weight:850!important;
  text-align:left!important;
}
.faq-list .faq-item > .faq-q::after,
.faq-list .faq-item > h3.faq-q::after{
  content:"+"!important;
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(242,101,34,.12)!important;
  color:var(--orange,#f26522)!important;
  font-size:1.2rem!important;
  font-weight:900!important;
  line-height:1!important;
  margin-left:auto!important;
}
.faq-list .faq-item > .faq-a,
.faq-list .faq-item > p.faq-a{
  display:block!important;
  margin:0!important;
  padding:0 1.35rem 1.25rem!important;
  background:#fff!important;
  color:var(--mid-gray,#4b5563)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
.faq-list .faq-item > .faq-a a,
.faq-list .faq-item > p.faq-a a{
  color:var(--orange,#f26522)!important;
  font-weight:800!important;
  text-decoration:none!important;
}
/* Modern accordion FAQ question buttons */
.faq-list .faq-question,
.faq-list button.faq-question{
  width:100%!important;
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:1rem!important;
  margin:0!important;
  padding:1.15rem 1.35rem!important;
  background:#fff!important;
  color:var(--navy,#061b3a)!important;
  border:0!important;
  box-shadow:none!important;
  font-size:clamp(1rem,1.45vw,1.18rem)!important;
  line-height:1.4!important;
  font-weight:850!important;
  text-align:left!important;
  cursor:pointer!important;
}
.faq-list .faq-question i,
.faq-list .faq-question .faq-icon{
  flex:0 0 34px!important;
  width:34px!important;
  height:34px!important;
  margin-left:auto!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(242,101,34,.12)!important;
  color:var(--orange,#f26522)!important;
  font-size:.9rem!important;
  line-height:1!important;
}
.faq-list .faq-answer{
  background:#fff!important;
  color:var(--mid-gray,#4b5563)!important;
}
.faq-list .faq-answer p,
.faq-list .faq-answer-inner{
  margin:0!important;
  padding:0 1.35rem 1.25rem!important;
  color:var(--mid-gray,#4b5563)!important;
  font-size:1rem!important;
  line-height:1.75!important;
}
/* Make light-outline buttons readable on light sections */
section:not(.page-hero) .btn-outline,
section:not(.page-hero) a.btn-outline,
.nearby-section .btn-outline,
.location-links .btn-outline{
  color:var(--navy,#061b3a)!important;
  border:2px solid var(--navy,#061b3a)!important;
  background:#fff!important;
}
section:not(.page-hero) .btn-outline:hover,
section:not(.page-hero) a.btn-outline:hover,
.nearby-section .btn-outline:hover,
.location-links .btn-outline:hover{
  color:#fff!important;
  background:var(--navy,#061b3a)!important;
}
@media (max-width:768px){
  .faq-list{gap:.85rem!important;}
  .faq-list .faq-item > .faq-q,
  .faq-list .faq-item > h3.faq-q,
  .faq-list .faq-question,
  .faq-list button.faq-question{
    padding:1rem!important;
    font-size:1rem!important;
  }
  .faq-list .faq-item > .faq-q::after,
  .faq-list .faq-item > h3.faq-q::after,
  .faq-list .faq-question i,
  .faq-list .faq-question .faq-icon{
    flex-basis:30px!important;
    width:30px!important;
    height:30px!important;
  }
  .faq-list .faq-item > .faq-a,
  .faq-list .faq-item > p.faq-a,
  .faq-list .faq-answer p,
  .faq-list .faq-answer-inner{
    padding:0 1rem 1rem!important;
    font-size:.95rem!important;
  }
}


/* ============================================================
   FAQ toggle behavior fix for legacy location pages
   Makes .faq-q / .faq-a FAQs collapse and expand like the newer pages.
   ============================================================ */
.faq-list .faq-item > .faq-q,
.faq-list .faq-item > h3.faq-q{
  cursor:pointer!important;
  user-select:none!important;
}
.faq-list .faq-item.open > .faq-q::after,
.faq-list .faq-item.open > h3.faq-q::after{
  content:"−"!important;
  transform:none!important;
}
.faq-list .faq-item > .faq-a,
.faq-list .faq-item > p.faq-a{
  max-height:0;
  overflow:hidden!important;
  padding-top:0!important;
  padding-bottom:0!important;
  transition:max-height .35s ease, padding .25s ease!important;
}
.faq-list .faq-item.open > .faq-a,
.faq-list .faq-item.open > p.faq-a{
  padding-top:.15rem!important;
  padding-bottom:1.25rem!important;
}
.faq-list .faq-item.open .faq-question i,
.faq-list .faq-item.open .faq-question .faq-icon{
  transform:rotate(45deg)!important;
}

/* Sherwood Park nearby Edmonton CTA fix: make secondary buttons readable on light backgrounds */
section:not(.page-hero) .btn-secondary,
section:not(.page-hero) a.btn-secondary,
.bg-light .btn-secondary,
.bg-light a.btn-secondary,
.nearby-section .btn-secondary,
.nearby-section a.btn-secondary,
.location-links .btn-secondary,
.location-links a.btn-secondary{
  color:var(--navy,#061b3a)!important;
  border:2px solid var(--navy,#061b3a)!important;
  background:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
section:not(.page-hero) .btn-secondary:hover,
section:not(.page-hero) a.btn-secondary:hover,
.bg-light .btn-secondary:hover,
.bg-light a.btn-secondary:hover,
.nearby-section .btn-secondary:hover,
.nearby-section a.btn-secondary:hover,
.location-links .btn-secondary:hover,
.location-links a.btn-secondary:hover{
  color:#fff!important;
  background:var(--navy,#061b3a)!important;
  border-color:var(--navy,#061b3a)!important;
}

/* ============================================================
   Site-wide section spacing and legacy stats fix
   Fixes blank white gaps caused by old .bg-orange/.stats-grid sections
   ============================================================ */
.section-pad{
  padding:60px 0!important;
}
.bg-orange{
  background:var(--orange)!important;
}
.bg-orange h1,.bg-orange h2,.bg-orange h3,.bg-orange h4,.bg-orange p,.bg-orange span,.bg-orange li,
.text-white h1,.text-white h2,.text-white h3,.text-white h4,.text-white p,.text-white span,.text-white li{
  color:#fff!important;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1.25rem;
  align-items:stretch;
}
.stat-item{
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  border-radius:14px;
  padding:1.35rem 1rem;
  text-align:center;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}
.stat-num{
  display:block;
  font-size:clamp(1.5rem,3vw,2.35rem);
  line-height:1.1;
  font-weight:800;
  color:#fff!important;
  margin-bottom:.35rem;
}
.stat-label{
  display:block;
  color:rgba(255,255,255,.94)!important;
  font-weight:700;
  font-size:.92rem;
  line-height:1.35;
}
/* Keep old content sections from creating oversized gaps */
.content-block,
.two-col-grid,
.faq-section,
.service-content,
.location-content{
  margin-top:0;
  margin-bottom:0;
}
section:empty,
.section-pad:empty,
div:empty[class*="spacer"],
div:empty[class*="placeholder"]{
  display:none!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
}
@media (max-width:900px){
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .section-pad{padding:46px 0!important;}
}
@media (max-width:560px){
  .stats-grid{grid-template-columns:1fr;}
  .section-pad{padding:38px 0!important;}
}

/* ============================================================
   FINAL SITE-WIDE READABILITY SAFETY PATCH
   Prevents hidden white text on normal white/light sections.
   White text is kept only for dark hero/header/footer/nav/CTA areas
   and for sections that are explicitly forced to a dark/orange bg.
   ============================================================ */
main, main section, .page-content, .content-section, .location-content, .service-content, .section-pad, .bg-light{
  color:var(--navy,#061b3a)!important;
}
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) h1,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) h2,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) h3,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) h4,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) p,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) li,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) span,
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) div{
  color:inherit;
}
main section:not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section):not(.site-footer):not(.main-footer):not(.bg-orange):not(.bg-navy):not(.bg-dark) a:not(.btn):not(.btn-primary):not(.btn-secondary):not(.btn-navy){
  color:var(--orange,#f26522)!important;
}
section.bg-orange,
main section.bg-orange,
.section-pad.bg-orange,
section[class*="bg-orange"]{
  background:var(--orange,#f26522)!important;
  background-color:var(--orange,#f26522)!important;
  color:#fff!important;
  padding:48px 0!important;
  min-height:0!important;
}
section.bg-orange h1,section.bg-orange h2,section.bg-orange h3,section.bg-orange h4,section.bg-orange p,section.bg-orange li,section.bg-orange span,section.bg-orange div,
main section.bg-orange h1,main section.bg-orange h2,main section.bg-orange h3,main section.bg-orange h4,main section.bg-orange p,main section.bg-orange li,main section.bg-orange span,main section.bg-orange div{
  color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
}
section.bg-orange .stats-grid,
main section.bg-orange .stats-grid{
  margin:0!important;
}
section.bg-orange .stat-item,
main section.bg-orange .stat-item{
  background:rgba(0,27,58,.16)!important;
  border:1px solid rgba(255,255,255,.35)!important;
  color:#fff!important;
}
/* If a legacy section has text-white but no dark/orange background, make it readable instead of invisible. */
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section){
  color:var(--navy,#061b3a)!important;
  background:#fff!important;
}
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) h1,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) h2,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) h3,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) h4,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) p,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) li,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) span,
main section.text-white:not(.bg-orange):not(.bg-navy):not(.bg-dark):not(.hero):not(.page-hero):not(.cta-banner):not(.cta-section) div{
  color:var(--navy,#061b3a)!important;
}

/* ============================================================
   GLOBAL CONTACT / FAQ LAYOUT PATCH
   Fixes pages where the WhatsApp button appeared as plain text
   and FAQ labels/headings were placed awkwardly beside contact content.
   ============================================================ */
.two-col-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:3rem!important;
  align-items:start!important;
}
.contact-info-list{
  list-style:none!important;
  margin:1.5rem 0 0!important;
  padding:0!important;
}
.contact-info-list li{
  display:flex!important;
  align-items:flex-start!important;
  gap:.55rem!important;
  margin-bottom:.55rem!important;
  color:var(--navy,#061b3a)!important;
  line-height:1.5!important;
}
.contact-info-list i{
  color:var(--navy,#061b3a)!important;
  width:18px!important;
  flex:0 0 18px!important;
  margin-top:.2rem!important;
}
section:not(.page-hero) .btn-whatsapp,
section:not(.page-hero) a.btn-whatsapp,
.bg-light .btn-whatsapp,
.bg-light a.btn-whatsapp,
.contact-info-list + div .btn-whatsapp{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.55rem!important;
  padding:14px 28px!important;
  min-height:52px!important;
  border-radius:var(--radius,8px)!important;
  background:#25d366!important;
  border:2px solid #25d366!important;
  color:#fff!important;
  font-weight:800!important;
  text-decoration:none!important;
  line-height:1!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  box-shadow:0 8px 20px rgba(37,211,102,.22)!important;
  vertical-align:middle!important;
}
section:not(.page-hero) .btn-whatsapp:hover,
section:not(.page-hero) a.btn-whatsapp:hover,
.bg-light .btn-whatsapp:hover,
.bg-light a.btn-whatsapp:hover{
  background:#1ebe5d!important;
  border-color:#1ebe5d!important;
  color:#fff!important;
  transform:translateY(-2px)!important;
}
section:not(.page-hero) .btn-whatsapp i,
section:not(.page-hero) a.btn-whatsapp i{
  color:#fff!important;
}
.two-col-grid .section-header{
  text-align:center!important;
  margin:0 0 1.5rem!important;
}
.two-col-grid .section-header .section-label,
.section-header .section-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:0 auto .65rem!important;
  padding:6px 16px!important;
  border-radius:999px!important;
  background:rgba(242,101,34,.12)!important;
  color:var(--orange,#f26522)!important;
  font-size:.78rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.two-col-grid .section-header h2{
  margin:0!important;
}
@media (max-width:900px){
  .two-col-grid{
    grid-template-columns:1fr!important;
    gap:2rem!important;
  }
  .contact-info-list + div{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:.75rem!important;
  }
  .contact-info-list + div .btn-whatsapp{
    margin-left:0!important;
  }
}
@media (max-width:560px){
  .contact-info-list + div .btn,
  .contact-info-list + div .btn-whatsapp{
    width:100%!important;
  }
}


/* Final Locations mega menu rebuild: wide, complete, readable */
@media (min-width: 1025px){
  .locations-nav-item{position:static!important;}
  .locations-nav-item .locations-mega-menu,
  .locations-nav-item .mega-menu-wide{left:50%!important;right:auto!important;transform:translateX(-50%)!important;width:min(96vw,1450px)!important;max-width:1450px!important;max-height:78vh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:22px!important;z-index:99999!important;}
  .locations-mega-grid-full{display:grid!important;grid-template-columns:260px repeat(3,1fr)!important;gap:18px!important;align-items:start!important;}
  .locations-mega-grid-full .mega-col{min-width:0!important;}
  .locations-mega-grid-full .mega-col h4{font-size:1rem!important;margin:0 0 10px!important;color:#0b2344!important;}
  .locations-mega-grid-full .mega-col h4 a{color:#0b2344!important;text-decoration:none!important;}
  .locations-mega-grid-full .mega-col ul{margin:0!important;padding:0!important;list-style:none!important;}
  .locations-mega-grid-full .mega-col li{margin:0!important;padding:0!important;}
  .locations-mega-grid-full .mega-col a{display:flex!important;align-items:center!important;gap:7px!important;padding:6px 8px!important;color:#24364b!important;font-size:.87rem!important;line-height:1.22!important;border-radius:8px!important;text-decoration:none!important;white-space:normal!important;}
  .locations-mega-grid-full .mega-col a:hover{background:#fff4ed!important;color:#f45b16!important;}
  .locations-mega-grid-full .mega-col a i{width:16px!important;flex:0 0 16px!important;color:#f45b16!important;}
  .location-main-col .mega-menu-cta{margin-top:14px!important;padding:14px!important;border-radius:12px!important;background:#fff4ed!important;border:1px solid rgba(244,91,22,.22)!important;}
  .location-main-col .mega-menu-cta strong,.location-main-col .mega-menu-cta span{display:block!important;color:#0b2344!important;margin-bottom:6px!important;}
  .location-main-col .mega-menu-cta a{display:inline-flex!important;background:#f45b16!important;color:#fff!important;padding:8px 12px!important;border-radius:8px!important;font-weight:700!important;}
}
@media (max-width: 1024px){.mobile-nav{max-height:calc(100vh - 80px)!important;overflow-y:auto!important;}.mobile-sub-heading{display:block!important;padding:10px 14px 5px!important;color:#ff6a21!important;font-weight:800!important;font-size:.88rem!important;text-transform:uppercase!important;letter-spacing:.03em!important;}.mobile-group-title{display:block!important;padding:12px 14px!important;font-weight:800!important;color:#fff!important;background:rgba(255,255,255,.06)!important;}}

/* === SITE-WIDE DARK CARD READABILITY + PROFESSIONAL FOOTER REBUILD === */
.bg-navy,.bg-dark,.card.bg-navy,.card.bg-dark,.help-card,.booking-help,.sidebar-card,.contact-help-card,.need-help-card,.booking-sidebar .card,.quote-help,.cta-card.dark,.dark-card,section.bg-navy,section.bg-dark{color:rgba(255,255,255,.9)!important;}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5,.bg-navy h6,.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,.help-card h1,.help-card h2,.help-card h3,.help-card h4,.booking-help h1,.booking-help h2,.booking-help h3,.booking-help h4,.sidebar-card h1,.sidebar-card h2,.sidebar-card h3,.sidebar-card h4,.contact-help-card h1,.contact-help-card h2,.contact-help-card h3,.contact-help-card h4,.need-help-card h1,.need-help-card h2,.need-help-card h3,.need-help-card h4,.booking-sidebar .card h1,.booking-sidebar .card h2,.booking-sidebar .card h3,.booking-sidebar .card h4,.dark-card h1,.dark-card h2,.dark-card h3,.dark-card h4{color:#fff!important;}
.bg-navy p,.bg-navy li,.bg-navy span,.bg-dark p,.bg-dark li,.bg-dark span,.help-card p,.help-card li,.help-card span,.booking-help p,.booking-help li,.booking-help span,.sidebar-card p,.sidebar-card li,.sidebar-card span,.contact-help-card p,.contact-help-card li,.contact-help-card span,.need-help-card p,.need-help-card li,.need-help-card span,.booking-sidebar .card p,.booking-sidebar .card li,.booking-sidebar .card span,.dark-card p,.dark-card li,.dark-card span{color:rgba(255,255,255,.82)!important;}
.bg-navy a,.bg-dark a,.help-card a,.booking-help a,.sidebar-card a,.contact-help-card a,.need-help-card a,.booking-sidebar .card a,.dark-card a{color:var(--orange)!important;font-weight:700;}
.service-card .service-icon,.service-card .icon,.service-card-icon,.service-icon,.icon-box,.card-icon{background:var(--orange)!important;color:#fff!important;border-radius:14px;}
.service-card .service-icon i,.service-card .icon i,.service-card-icon i,.service-icon i,.icon-box i,.card-icon i{color:#fff!important;opacity:1!important;}
#site-footer{background:#071226!important;color:rgba(255,255,255,.78)!important;border-top:4px solid var(--orange);}
#site-footer .footer-top{padding:42px 0 24px!important;}
#site-footer .footer-grid{display:grid!important;grid-template-columns:minmax(280px,1.25fr) minmax(260px,.95fr) minmax(260px,.95fr)!important;grid-template-areas:"company services quick" "locations locations locations" "canada canada canada"!important;gap:1.75rem 2rem!important;align-items:start!important;}
#site-footer .footer-company{grid-area:company;}#site-footer .footer-services{grid-area:services;}#site-footer .footer-quick{grid-area:quick;}#site-footer .footer-locations{grid-area:locations;}#site-footer .footer-canada-wide{grid-area:canada;}
#site-footer .footer-locations,#site-footer .footer-canada-wide{border-top:1px solid rgba(255,255,255,.11)!important;padding-top:1.4rem!important;margin-top:.25rem!important;}
#site-footer h4{color:#fff!important;font-size:.9rem!important;letter-spacing:.08em!important;margin:0 0 .95rem!important;}
#site-footer .footer-desc,#site-footer .footer-contact li{color:rgba(255,255,255,.76)!important;}
#site-footer a{color:rgba(255,255,255,.78)!important;text-decoration:none!important;}#site-footer a:hover{color:var(--orange)!important;}
#site-footer li{break-inside:avoid!important;page-break-inside:avoid!important;margin-bottom:.34rem!important;}
#site-footer li strong,#site-footer li strong[style]{color:var(--orange)!important;display:block!important;margin:.55rem 0 .25rem!important;font-size:.74rem!important;letter-spacing:.09em!important;}
#site-footer .footer-service-links{columns:2 150px!important;column-gap:1.5rem!important;}
#site-footer .footer-location-links{columns:5 165px!important;column-gap:1.5rem!important;}
#site-footer .footer-canada-wide ul{columns:6 150px!important;column-gap:1.45rem!important;}
#site-footer .footer-quick-links{columns:1!important;}
#site-footer .footer-col ul li a{font-size:.82rem!important;line-height:1.32!important;display:flex!important;align-items:flex-start!important;gap:.32rem!important;}
#site-footer .footer-col ul li a i{color:var(--orange)!important;margin-top:.22rem!important;flex:0 0 auto!important;}
#site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:16px!important;}
#site-footer .footer-bottom p{color:rgba(255,255,255,.72)!important;}
@media (max-width:1200px){#site-footer .footer-location-links{columns:4 160px!important;}#site-footer .footer-canada-wide ul{columns:4 150px!important;}}
@media (max-width:900px){#site-footer .footer-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"company company" "services quick" "locations locations" "canada canada"!important;}#site-footer .footer-location-links{columns:3 150px!important;}#site-footer .footer-canada-wide ul{columns:3 150px!important;}}
@media (max-width:640px){#site-footer .footer-grid{grid-template-columns:1fr!important;grid-template-areas:"company" "services" "quick" "locations" "canada"!important;}#site-footer .footer-service-links,#site-footer .footer-location-links,#site-footer .footer-canada-wide ul{columns:2 135px!important;column-gap:1rem!important;}}
@media (max-width:420px){#site-footer .footer-service-links,#site-footer .footer-location-links,#site-footer .footer-canada-wide ul{columns:1!important;}}

/* === TARGETED MOBILE MENU + FOOTER COLUMN FIXES 2026-04-25 === */
@media (max-width:1024px){
  .mobile-nav{display:flex!important;max-height:0!important;overflow:hidden!important;transition:max-height .35s ease!important;}
  .mobile-nav.open{max-height:calc(100vh - 76px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
  body.mobile-menu-open{overflow:hidden!important;}
  .mobile-nav-inner{width:100%!important;padding:.65rem 0 1.25rem!important;}
  .mobile-nav-inner a{color:#fff!important;text-decoration:none!important;}
  .mobile-group-title{width:100%!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;text-align:left!important;font-family:inherit!important;}
  .mobile-group-title::after{content:"\f107";font-family:"Font Awesome 6 Free";font-weight:900;transition:transform .2s ease;}
  .mobile-group-title.open::after{transform:rotate(180deg);}
  .mobile-sub{max-height:0!important;overflow:hidden!important;transition:max-height .32s ease!important;background:rgba(0,0,0,.14)!important;}
  .mobile-sub.open{max-height:none!important;overflow:visible!important;}
  .mobile-sub a{padding-left:30px!important;}
  .mobile-sub-heading{padding-left:30px!important;}
}
#site-footer .footer-link-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:1.1rem 1.45rem!important;align-items:start!important;}
#site-footer .footer-link-panel{break-inside:avoid!important;page-break-inside:avoid!important;}
#site-footer .footer-link-panel h5{color:var(--orange)!important;font-size:.74rem!important;line-height:1.2!important;letter-spacing:.09em!important;text-transform:uppercase!important;margin:0 0 .45rem!important;padding:0!important;}
#site-footer .footer-link-panel ul{columns:1!important;margin:0!important;padding:0!important;list-style:none!important;}
#site-footer .footer-link-panel li{margin-bottom:.34rem!important;}
#site-footer .footer-canada-wide ul{columns:1!important;}
#site-footer .footer-canada-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;}
@media (min-width:1200px){#site-footer .footer-canada-grid{grid-template-columns:repeat(7,minmax(135px,1fr))!important;}}
@media (max-width:900px){#site-footer .footer-canada-grid{grid-template-columns:repeat(3,minmax(135px,1fr))!important;}}
@media (max-width:640px){#site-footer .footer-canada-grid{grid-template-columns:repeat(2,minmax(130px,1fr))!important;}}
@media (max-width:420px){#site-footer .footer-canada-grid{grid-template-columns:1fr!important;}}

/* Keep non-clickable mobile section labels from displaying accordion arrows */
@media (max-width:1024px){
  .mobile-nav-inner span.mobile-group-title{cursor:default!important;justify-content:flex-start!important;}
  .mobile-nav-inner span.mobile-group-title::after{content:none!important;}
  .mobile-nav-inner button.mobile-group-title{appearance:none!important;-webkit-appearance:none!important;}
}

/* === 2026-04-25 TARGETED FOOTER + MOBILE MENU REBUILD OVERRIDE ===
   Only footer and mobile navigation are touched in this block. */
#site-footer,
#site-footer .footer-top,
#site-footer .footer-bottom{
  background:var(--navy-dark)!important;
  color:rgba(255,255,255,.78)!important;
}
#site-footer .footer-col h4{
  color:#fff!important;
}
#site-footer .footer-desc,
#site-footer .footer-contact li,
#site-footer .footer-contact li span,
#site-footer .footer-bottom p{
  color:rgba(255,255,255,.78)!important;
}
#site-footer a,
#site-footer .footer-col ul li a,
#site-footer .footer-bottom a,
#site-footer .footer-contact a{
  color:rgba(238,246,255,.9)!important;
}
#site-footer a:hover,
#site-footer .footer-col ul li a:hover,
#site-footer .footer-bottom a:hover{
  color:var(--orange)!important;
}
#site-footer .footer-col ul li a i,
#site-footer .footer-contact li i{
  color:var(--orange)!important;
}
#site-footer .footer-grid{
  grid-template-columns:minmax(260px,1.2fr) minmax(260px,1fr) minmax(230px,.8fr)!important;
  grid-template-areas:"company services quick" "locations locations locations" "canada canada canada"!important;
}
#site-footer .footer-canada-wide{
  grid-area:canada!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding-top:1.75rem!important;
  margin-top:.5rem!important;
}
#site-footer .footer-location-links,
#site-footer .footer-service-links,
#site-footer .footer-quick-links{
  columns:initial!important;
  column-count:initial!important;
  column-width:auto!important;
  display:grid!important;
  grid-template-rows:repeat(15,auto)!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(150px,1fr)!important;
  gap:.34rem 1.6rem!important;
  align-items:start!important;
}
#site-footer .footer-location-links li,
#site-footer .footer-service-links li,
#site-footer .footer-quick-links li{
  margin:0!important;
  min-width:0!important;
}
#site-footer .footer-location-links a,
#site-footer .footer-service-links a,
#site-footer .footer-quick-links a,
#site-footer .footer-canada-grid a{
  font-size:.86rem!important;
  line-height:1.35!important;
  padding:1px 0!important;
  text-decoration:none!important;
  break-inside:avoid!important;
}
#site-footer .footer-canada-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:1.2rem 1.55rem!important;
  align-items:start!important;
}
#site-footer .footer-link-panel{
  min-width:0!important;
}
#site-footer .footer-link-panel h5{
  color:var(--orange)!important;
  font-size:.76rem!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin:0 0 .52rem!important;
}
#site-footer .footer-link-panel ul{
  display:grid!important;
  grid-template-rows:repeat(15,auto)!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(150px,1fr)!important;
  gap:.34rem 1.55rem!important;
  columns:initial!important;
}
#site-footer .footer-link-panel li{
  margin:0!important;
}
@media (min-width:1400px){
  #site-footer .footer-location-links{grid-auto-columns:minmax(165px,1fr)!important;}
  #site-footer .footer-canada-grid{grid-template-columns:repeat(6,minmax(150px,1fr))!important;}
}
@media (max-width:1100px){
  #site-footer .footer-grid{grid-template-columns:1fr 1fr!important;grid-template-areas:"company services" "quick quick" "locations locations" "canada canada"!important;}
  #site-footer .footer-location-links{grid-template-rows:repeat(15,auto)!important;grid-auto-columns:minmax(145px,1fr)!important;overflow-x:auto!important;padding-bottom:.5rem!important;}
}
@media (max-width:640px){
  #site-footer .footer-grid{grid-template-columns:1fr!important;grid-template-areas:"company" "services" "quick" "locations" "canada"!important;}
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links,
  #site-footer .footer-link-panel ul{
    grid-template-rows:repeat(15,auto)!important;
    grid-auto-columns:minmax(145px,1fr)!important;
    overflow-x:auto!important;
  }
  #site-footer .footer-canada-grid{grid-template-columns:1fr!important;}
}

@media (max-width:1024px){
  body.mobile-menu-open{overflow:hidden!important;}
  .hamburger{position:relative!important;z-index:100002!important;}
  .hamburger span{transition:transform .25s ease,opacity .2s ease!important;}
  .hamburger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)!important;}
  .hamburger.open span:nth-child(2){opacity:0!important;}
  .hamburger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)!important;}
  .mobile-nav{
    display:block!important;
    position:fixed!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(88vw,420px)!important;
    max-height:none!important;
    height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#07182f!important;
    box-shadow:-18px 0 45px rgba(0,0,0,.35)!important;
    transform:translateX(105%)!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:transform .28s ease,opacity .28s ease,visibility .28s ease!important;
    z-index:100001!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .mobile-nav.open{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
  }
  .mobile-nav::before{
    content:"Menu"!important;
    display:block!important;
    padding:20px 22px!important;
    color:#fff!important;
    font-size:1.1rem!important;
    font-weight:800!important;
    letter-spacing:.02em!important;
    border-bottom:1px solid rgba(255,255,255,.1)!important;
  }
  .mobile-nav-inner{padding:10px 0 32px!important;}
  .mobile-nav-inner a,
  .mobile-nav-inner button.mobile-group-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:46px!important;
    padding:12px 22px!important;
    color:#f4f8ff!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    font-family:inherit!important;
    font-size:.96rem!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:left!important;
    text-decoration:none!important;
    cursor:pointer!important;
  }
  .mobile-nav-inner a{justify-content:flex-start!important;gap:.65rem!important;font-weight:600!important;}
  .mobile-nav-inner a:hover,
  .mobile-nav-inner button.mobile-group-title:hover{background:rgba(255,255,255,.06)!important;color:#fff!important;}
  .mobile-nav-inner button.mobile-group-title{color:#fff!important;background:rgba(255,255,255,.045)!important;text-transform:none!important;letter-spacing:0!important;}
  .mobile-nav-inner button.mobile-group-title::after{content:"\f107"!important;font-family:"Font Awesome 6 Free"!important;font-weight:900!important;color:var(--orange)!important;transition:transform .22s ease!important;}
  .mobile-nav-inner button.mobile-group-title.open::after{transform:rotate(180deg)!important;}
  .mobile-sub{
    display:block!important;
    max-height:0!important;
    overflow:hidden!important;
    background:rgba(0,0,0,.18)!important;
    transition:max-height .3s ease!important;
  }
  .mobile-sub.open{max-height:70vh!important;overflow-y:auto!important;}
  .mobile-sub a{padding-left:34px!important;font-size:.9rem!important;font-weight:600!important;color:#eaf2ff!important;}
  .mobile-sub-heading{display:block!important;padding:12px 34px 6px!important;color:var(--orange)!important;font-size:.78rem!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
  .mobile-nav-inner span.mobile-group-title{display:block!important;padding:12px 34px 6px!important;color:var(--orange)!important;background:transparent!important;border:0!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.06em!important;}
}
@media (max-width:1024px){
  .mobile-nav-backdrop{display:block!important;position:fixed!important;inset:0!important;background:rgba(2,10,24,.58)!important;border:0!important;padding:0!important;opacity:0!important;visibility:hidden!important;transition:opacity .25s ease,visibility .25s ease!important;z-index:100000!important;}
  .mobile-nav-backdrop.open{opacity:1!important;visibility:visible!important;}
}
@media (min-width:1025px){.mobile-nav-backdrop{display:none!important;}}

/* === FINAL VERIFIED MOBILE MENU + FOOTER READABILITY FIX 2026-04-25 ===
   Targeted only to mobile navigation and footer. */
@media (max-width:1024px){
  #site-header{z-index:999990!important;overflow:visible!important;}
  #site-header .hamburger{display:flex!important;position:relative!important;z-index:1000001!important;background:transparent!important;border:0!important;}
  #site-header .hamburger span{background:#fff!important;}
  #site-header .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)!important;}
  #site-header .hamburger.open span:nth-child(2){opacity:0!important;}
  #site-header .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)!important;}
  #site-header .mobile-nav{
    display:none!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:86px!important;
    bottom:0!important;
    width:100vw!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#071226!important;
    box-shadow:0 24px 45px rgba(0,0,0,.45)!important;
    z-index:1000000!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #site-header .mobile-nav.open{display:block!important;}
  #site-header .mobile-nav::before{content:none!important;display:none!important;}
  #site-header .mobile-nav-inner{display:block!important;width:100%!important;padding:10px 0 28px!important;margin:0!important;}
  #site-header .mobile-nav-inner>a,
  #site-header .mobile-nav-inner button.mobile-group-title{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    min-height:48px!important;
    padding:13px 22px!important;
    margin:0!important;
    color:#ffffff!important;
    background:transparent!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    font-family:inherit!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.25!important;
    text-align:left!important;
    text-decoration:none!important;
    opacity:1!important;
  }
  #site-header .mobile-nav-inner>a{justify-content:flex-start!important;gap:10px!important;font-weight:600!important;}
  #site-header .mobile-nav-inner>a i{width:20px!important;color:#f26522!important;text-align:center!important;}
  #site-header .mobile-nav-inner>a:hover,
  #site-header .mobile-nav-inner button.mobile-group-title:hover{background:rgba(255,255,255,.07)!important;color:#ffffff!important;}
  #site-header .mobile-nav-inner button.mobile-group-title{cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;}
  #site-header .mobile-nav-inner button.mobile-group-title::after{content:"\f107"!important;font-family:"Font Awesome 6 Free"!important;font-weight:900!important;color:#f26522!important;margin-left:auto!important;transition:transform .2s ease!important;}
  #site-header .mobile-nav-inner button.mobile-group-title.open::after{transform:rotate(180deg)!important;}
  #site-header .mobile-sub{display:none!important;max-height:none!important;overflow:visible!important;background:rgba(0,0,0,.20)!important;}
  #site-header .mobile-sub.open{display:block!important;}
  #site-header .mobile-sub a{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 22px 11px 42px!important;color:#eef5ff!important;font-size:15px!important;font-weight:600!important;border-bottom:1px solid rgba(255,255,255,.07)!important;text-decoration:none!important;}
  #site-header .mobile-sub a i{width:18px!important;color:#f26522!important;text-align:center!important;}
  #site-header .mobile-sub-heading{display:block!important;padding:12px 22px 6px 42px!important;color:#f26522!important;background:transparent!important;border:0!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
  #site-header .mobile-nav-inner span.mobile-group-title{display:block!important;padding:12px 22px 6px 42px!important;color:#f26522!important;background:transparent!important;border:0!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
  body.mobile-menu-open{overflow:hidden!important;}
}
@media (max-width:480px){#site-header .mobile-nav{top:84px!important;}}

#site-footer,
#site-footer p,
#site-footer li,
#site-footer span,
#site-footer .footer-desc,
#site-footer .footer-contact li,
#site-footer .footer-bottom p{color:rgba(255,255,255,.86)!important;}
#site-footer h4,
#site-footer .footer-brand h3{color:#ffffff!important;}
#site-footer a,
#site-footer .footer-col ul li a{color:#f5f8ff!important;opacity:1!important;}
#site-footer a:hover,
#site-footer .footer-col ul li a:hover{color:#f26522!important;}
#site-footer .footer-link-panel h5,
#site-footer li strong,
#site-footer li strong[style]{color:#f26522!important;}
#site-footer .footer-link-grid,
#site-footer .footer-canada-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))!important;gap:1rem 1.55rem!important;align-items:start!important;}
#site-footer .footer-link-panel ul{display:block!important;columns:1!important;}
#site-footer .footer-link-panel li{break-inside:avoid!important;margin-bottom:.36rem!important;}
@media (min-width:1200px){#site-footer .footer-canada-grid{grid-template-columns:repeat(7,minmax(135px,1fr))!important;}}

/* FINAL MOBILE MENU REBUILD - native details dropdowns for Services and Locations */
@media (max-width:1024px){
  #site-header .mobile-nav{display:none!important;position:fixed!important;top:84px!important;right:0!important;bottom:0!important;left:auto!important;width:min(420px,calc(100vw - 28px))!important;max-height:none!important;height:calc(100vh - 84px)!important;overflow-y:auto!important;background:#07182e!important;z-index:100002!important;border-left:1px solid rgba(255,255,255,.12)!important;box-shadow:-18px 0 40px rgba(0,0,0,.35)!important;-webkit-overflow-scrolling:touch!important;}
  #site-header .mobile-nav.open{display:block!important;}
  #site-header .mobile-nav-inner{display:block!important;padding:10px 0 34px!important;}
  #site-header .mobile-dropdown{display:block!important;margin:0!important;padding:0!important;border:0!important;}
  #site-header .mobile-dropdown summary{list-style:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;min-height:52px!important;padding:0 22px!important;color:#ffffff!important;background:rgba(255,255,255,.045)!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font-family:inherit!important;font-size:16px!important;font-weight:800!important;cursor:pointer!important;}
  #site-header .mobile-dropdown summary::-webkit-details-marker{display:none!important;}
  #site-header .mobile-dropdown summary i{color:#f26522!important;transition:transform .2s ease!important;}
  #site-header .mobile-dropdown[open] summary i{transform:rotate(180deg)!important;}
  #site-header .mobile-dropdown>.mobile-sub{display:none!important;max-height:none!important;overflow:visible!important;background:rgba(0,0,0,.24)!important;}
  #site-header .mobile-dropdown[open]>.mobile-sub{display:block!important;}
  #site-header .mobile-dropdown>.mobile-sub a{display:flex!important;align-items:center!important;gap:10px!important;padding:11px 22px 11px 42px!important;color:#eef5ff!important;font-size:15px!important;font-weight:600!important;border-bottom:1px solid rgba(255,255,255,.07)!important;text-decoration:none!important;}
  #site-header .mobile-dropdown>.mobile-sub a:hover{background:rgba(255,255,255,.07)!important;color:#ffffff!important;}
  #site-header .mobile-dropdown>.mobile-sub a i{width:18px!important;color:#f26522!important;text-align:center!important;}
  #site-header .mobile-dropdown .mobile-sub-heading,
  #site-header .mobile-dropdown span.mobile-group-title{display:block!important;padding:12px 22px 6px 42px!important;color:#f26522!important;background:transparent!important;border:0!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
}
@media (max-width:480px){#site-header .mobile-nav{top:84px!important;width:calc(100vw - 26px)!important;height:calc(100vh - 84px)!important;}}

/* === TARGETED RESPONSIVE + BUTTON VISIBILITY FIX 2026-04-25 ===
   Keeps existing site styling, fixes hidden CTA button text and mobile two-column overflow. */
.bg-navy a.btn,
.bg-dark a.btn,
section.bg-navy a.btn,
section.bg-dark a.btn,
.text-white a.btn,
.cta-banner a.btn,
.cta-section a.btn,
.cta-buttons a.btn{
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
  font-size:inherit!important;
}
.bg-navy a.btn-primary,
.bg-dark a.btn-primary,
section.bg-navy a.btn-primary,
section.bg-dark a.btn-primary,
.text-white a.btn-primary,
.cta-banner a.btn-primary,
.cta-section a.btn-primary,
.cta-buttons a.btn-primary{
  background:var(--orange)!important;
  border-color:var(--orange)!important;
  color:#ffffff!important;
}
.bg-navy a.btn-primary *,
.bg-dark a.btn-primary *,
section.bg-navy a.btn-primary *,
section.bg-dark a.btn-primary *,
.text-white a.btn-primary *,
.cta-buttons a.btn-primary *{color:#ffffff!important;}
.bg-navy a.btn-orange,
.bg-dark a.btn-orange,
section.bg-navy a.btn-orange,
section.bg-dark a.btn-orange,
.text-white a.btn-orange,
.cta-buttons a.btn-orange{
  background:transparent!important;
  border:2px solid var(--orange)!important;
  color:var(--orange)!important;
}
.bg-navy a.btn-orange i,
.bg-dark a.btn-orange i,
section.bg-navy a.btn-orange i,
section.bg-dark a.btn-orange i,
.text-white a.btn-orange i,
.cta-buttons a.btn-orange i{color:var(--orange)!important;}

@media (max-width:768px){
  main{overflow-x:hidden!important;}
  main section > .container > div[style*="grid-template-columns:1.6fr 1fr"],
  main section > .container > div[style*="grid-template-columns:1fr 1.6fr"]{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.5rem!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .form-card,
  .booking-help,
  .booking-sidebar,
  .sidebar-card,
  .contact-help-card,
  .need-help-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .form-row{
    grid-template-columns:1fr!important;
    gap:1rem!important;
  }
  input,select,textarea{
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .cta-buttons,
  .hero-buttons,
  .cta-banner .btns{
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    max-width:420px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .cta-buttons .btn,
  .hero-buttons .btn,
  .cta-banner .btns .btn{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    min-height:48px!important;
  }
}
@media (max-width:480px){
  .form-card{padding:1.5rem!important;}
  main section > .container > div[style*="grid-template-columns"]{gap:1.25rem!important;}
}

/* === 2026-04-25 MOBILE FOOTER RESPONSIVE FIX ===
   Keep the desktop footer column system, but stop mobile footer link groups from
   overflowing sideways. On phones the links wrap inside the screen in readable
   two-column rows, then one column on very small screens. */
@media (max-width: 768px){
  #site-footer{
    overflow-x:hidden!important;
  }
  #site-footer .container,
  #site-footer .footer-top,
  #site-footer .footer-grid,
  #site-footer .footer-col,
  #site-footer .footer-locations,
  #site-footer .footer-canada-wide{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  #site-footer .footer-top{
    padding-left:0!important;
    padding-right:0!important;
  }
  #site-footer .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"company" "services" "quick" "locations" "canada"!important;
    gap:1.55rem!important;
  }
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links,
  #site-footer .footer-link-panel ul{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-columns:auto!important;
    gap:.55rem 1rem!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    padding-bottom:0!important;
    columns:initial!important;
    column-count:initial!important;
    column-width:auto!important;
  }
  #site-footer .footer-canada-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:1.2rem!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #site-footer .footer-link-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #site-footer .footer-location-links li,
  #site-footer .footer-service-links li,
  #site-footer .footer-quick-links li,
  #site-footer .footer-link-panel li{
    min-width:0!important;
    width:auto!important;
  }
  #site-footer .footer-location-links a,
  #site-footer .footer-service-links a,
  #site-footer .footer-quick-links a,
  #site-footer .footer-canada-grid a{
    display:flex!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    font-size:.88rem!important;
  }
  #site-footer .footer-bottom{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    text-align:left!important;
    gap:.8rem!important;
  }
  #site-footer .footer-bottom-links{
    justify-content:flex-start!important;
    gap:.75rem 1rem!important;
  }
}
@media (max-width: 430px){
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links,
  #site-footer .footer-link-panel ul{
    grid-template-columns:1fr!important;
  }
}

/* === FINAL MOBILE FOOTER REPROGRAM: one clean stack on tablets/phones ===
   This override is intentionally limited to the footer. It prevents the Canada-wide
   link panels from staying in desktop columns on mobile and removes horizontal scroll. */
@media screen and (max-width: 991px){
  html, body{overflow-x:hidden!important;max-width:100%!important;}
  #site-footer,
  #site-footer *{box-sizing:border-box!important;}
  #site-footer{width:100%!important;max-width:100%!important;overflow:hidden!important;}
  #site-footer .container{width:100%!important;max-width:100%!important;padding-left:24px!important;padding-right:24px!important;margin:0 auto!important;overflow:hidden!important;}
  #site-footer .footer-grid{display:block!important;width:100%!important;max-width:100%!important;}
  #site-footer .footer-col{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 28px!important;overflow:hidden!important;}
  #site-footer .footer-link-columns,
  #site-footer .footer-service-links,
  #site-footer .footer-location-links,
  #site-footer .footer-quick-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 18px!important;columns:auto!important;column-count:1!important;column-width:auto!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
  #site-footer .footer-canada-grid{display:block!important;width:100%!important;max-width:100%!important;overflow:visible!important;}
  #site-footer .footer-link-panel{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0 0 22px!important;padding:0!important;overflow:hidden!important;}
  #site-footer .footer-link-panel h5{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 10px!important;color:#f26522!important;font-size:.8rem!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  #site-footer .footer-link-panel ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px 18px!important;columns:auto!important;column-count:1!important;column-width:auto!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;}
  #site-footer li{width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;break-inside:avoid!important;}
  #site-footer a{max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;}
}
@media screen and (max-width: 560px){
  #site-footer .container{padding-left:20px!important;padding-right:20px!important;}
  #site-footer .footer-link-columns,
  #site-footer .footer-service-links,
  #site-footer .footer-location-links,
  #site-footer .footer-quick-links,
  #site-footer .footer-link-panel ul{grid-template-columns:1fr!important;gap:7px 0!important;}
  #site-footer .footer-canada-grid{display:block!important;}
  #site-footer .footer-link-panel{margin-bottom:20px!important;}
}

/* === 2026-04-25 FINAL MOBILE HEADER + FOOTER HARDENING ===
   Targeted only to header/mobile menu/footer. Prevents mobile horizontal overflow
   and stacks footer location panels cleanly on phone/tablet screens. */
@media screen and (max-width: 1024px){
  html, body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  #site-header, #site-header *{box-sizing:border-box!important;}
  #site-header{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  #site-header > .container{width:100%!important;max-width:100%!important;padding-left:18px!important;padding-right:18px!important;}
  #site-header .nav-wrapper{width:100%!important;max-width:100%!important;min-height:82px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;overflow:hidden!important;}
  #site-header .logo{min-width:0!important;max-width:calc(100% - 72px)!important;overflow:hidden!important;}
  #site-header .logo a{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;max-width:100%!important;text-decoration:none!important;}
  #site-header .logo img{width:54px!important;height:54px!important;flex:0 0 54px!important;object-fit:contain!important;}
  #site-header .logo-text{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important;}
  #site-header .logo-text .name{display:block!important;font-size:18px!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  #site-header .logo-text .tag{display:block!important;font-size:10px!important;line-height:1.1!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;letter-spacing:.08em!important;}
  #site-header .mobile-menu-toggle{flex:0 0 52px!important;width:52px!important;height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin-left:auto!important;border:0!important;background:transparent!important;color:#fff!important;font-size:28px!important;z-index:100004!important;}
  #site-header .mobile-nav{left:auto!important;right:0!important;width:min(420px,100vw)!important;max-width:100vw!important;top:82px!important;height:calc(100dvh - 82px)!important;max-height:calc(100dvh - 82px)!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media screen and (max-width: 520px){
  #site-header > .container{padding-left:14px!important;padding-right:14px!important;}
  #site-header .nav-wrapper{min-height:78px!important;}
  #site-header .logo{max-width:calc(100% - 62px)!important;}
  #site-header .logo img{width:50px!important;height:50px!important;flex-basis:50px!important;}
  #site-header .logo-text .name{font-size:17px!important;}
  #site-header .logo-text .tag{font-size:9px!important;}
  #site-header .mobile-menu-toggle{width:48px!important;height:48px!important;flex-basis:48px!important;font-size:26px!important;}
  #site-header .mobile-nav{top:78px!important;height:calc(100dvh - 78px)!important;max-height:calc(100dvh - 78px)!important;width:100vw!important;}
}
@media screen and (max-width: 360px){
  #site-header .logo img{width:44px!important;height:44px!important;flex-basis:44px!important;}
  #site-header .logo-text .name{font-size:15px!important;}
  #site-header .logo-text .tag{font-size:8px!important;}
}

@media screen and (max-width: 1024px){
  #site-footer,
  #site-footer *{box-sizing:border-box!important;}
  #site-footer{width:100%!important;max-width:100vw!important;overflow:hidden!important;}
  #site-footer .container,
  #site-footer .footer-top,
  #site-footer .footer-grid,
  #site-footer .footer-col,
  #site-footer .footer-locations,
  #site-footer .footer-canada-wide,
  #site-footer .footer-canada-grid,
  #site-footer .footer-link-grid,
  #site-footer .footer-link-panel,
  #site-footer .footer-link-panel ul,
  #site-footer .footer-link-columns,
  #site-footer .footer-service-links,
  #site-footer .footer-location-links,
  #site-footer .footer-quick-links{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    transform:none!important;
  }
  #site-footer .container{padding-left:22px!important;padding-right:22px!important;overflow:hidden!important;}
  #site-footer .footer-grid{display:block!important;grid-template-columns:1fr!important;}
  #site-footer .footer-col{display:block!important;margin-bottom:30px!important;}
  #site-footer .footer-canada-grid,
  #site-footer .footer-link-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-columns:unset!important;
    grid-auto-flow:row!important;
    gap:22px!important;
  }
  #site-footer .footer-link-panel{display:block!important;margin:0!important;padding:0!important;}
  #site-footer .footer-link-panel h5{white-space:normal!important;overflow-wrap:anywhere!important;max-width:100%!important;}
  #site-footer .footer-link-panel ul,
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-columns:unset!important;
    column-count:1!important;
    column-width:auto!important;
    columns:auto!important;
    gap:8px 16px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  #site-footer .footer-link-panel li,
  #site-footer .footer-location-links li,
  #site-footer .footer-service-links li,
  #site-footer .footer-quick-links li{width:auto!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important;}
  #site-footer .footer-link-panel a,
  #site-footer .footer-location-links a,
  #site-footer .footer-service-links a,
  #site-footer .footer-quick-links a{display:flex!important;align-items:flex-start!important;gap:6px!important;max-width:100%!important;min-width:0!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;line-height:1.35!important;}
}
@media screen and (max-width: 640px){
  #site-footer .container{padding-left:24px!important;padding-right:24px!important;}
  #site-footer .footer-link-panel ul,
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links{grid-template-columns:1fr!important;gap:7px 0!important;}
}

/* === 2026-04-25 TRUE FINAL FOOTER RESPONSIVE COLUMN RESET ===
   Footer only. Desktop uses maximum 4 columns; tablet uses 2; phone stacks to 1.
   This removes all old auto-flow/auto-column behavior that caused sideways overflow. */
#site-footer{
  max-width:100vw!important;
  overflow-x:hidden!important;
}
#site-footer,
#site-footer *{
  box-sizing:border-box!important;
}
#site-footer .container{
  width:100%!important;
  max-width:1200px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow-x:hidden!important;
}
#site-footer .footer-grid{
  width:100%!important;
  min-width:0!important;
  overflow:visible!important;
}
#site-footer .footer-location-links,
#site-footer .footer-service-links,
#site-footer .footer-quick-links,
#site-footer .footer-canada-grid,
#site-footer .footer-link-grid,
#site-footer .footer-link-panel ul{
  columns:initial!important;
  column-count:initial!important;
  column-width:initial!important;
  column-gap:initial!important;
  grid-auto-flow:row!important;
  grid-auto-columns:initial!important;
  grid-template-rows:none!important;
  overflow:visible!important;
  max-width:100%!important;
  min-width:0!important;
}
#site-footer .footer-location-links{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:.5rem 1.35rem!important;
}
#site-footer .footer-service-links{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.5rem 1.35rem!important;
}
#site-footer .footer-quick-links{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.5rem!important;
}
#site-footer .footer-canada-grid,
#site-footer .footer-link-grid.footer-canada-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1.35rem 1.65rem!important;
  align-items:start!important;
}
#site-footer .footer-link-panel,
#site-footer .footer-link-panel ul,
#site-footer .footer-link-panel li,
#site-footer .footer-location-links li,
#site-footer .footer-service-links li,
#site-footer .footer-quick-links li{
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
  break-inside:avoid!important;
}
#site-footer .footer-link-panel ul{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.42rem!important;
  margin:0!important;
  padding:0!important;
}
#site-footer .footer-link-panel h5,
#site-footer .footer-col h4{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
}
#site-footer .footer-col a,
#site-footer .footer-link-panel a,
#site-footer .footer-location-links a,
#site-footer .footer-service-links a,
#site-footer .footer-quick-links a{
  display:flex!important;
  align-items:flex-start!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
@media screen and (max-width: 1100px){
  #site-footer .footer-location-links,
  #site-footer .footer-canada-grid,
  #site-footer .footer-link-grid.footer-canada-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media screen and (max-width: 900px){
  #site-footer .container{
    max-width:100%!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  #site-footer .footer-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"company" "services" "quick" "locations" "canada"!important;
    gap:1.6rem!important;
  }
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-canada-grid,
  #site-footer .footer-link-grid.footer-canada-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media screen and (max-width: 600px){
  #site-footer .container{
    padding-left:24px!important;
    padding-right:24px!important;
  }
  #site-footer .footer-location-links,
  #site-footer .footer-service-links,
  #site-footer .footer-quick-links,
  #site-footer .footer-canada-grid,
  #site-footer .footer-link-grid.footer-canada-grid,
  #site-footer .footer-link-panel ul{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:.55rem!important;
  }
  #site-footer .footer-link-panel{
    margin-bottom:1.25rem!important;
  }
  #site-footer .footer-link-panel:last-child{
    margin-bottom:0!important;
  }
  #site-footer .footer-col h4{
    font-size:.95rem!important;
  }
  #site-footer .footer-link-panel h5{
    font-size:.78rem!important;
    line-height:1.25!important;
  }
}

/* === BOOKING PAGE MOBILE RESPONSIVE FIX 2026-04-25 === */
.booking-page-grid{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr)!important;gap:3rem!important;align-items:start!important;width:100%!important;max-width:100%!important;min-width:0!important;}
.booking-page-grid>*,.booking-page-grid .form-card,.booking-page-grid .info-box,.booking-page-grid input,.booking-page-grid select,.booking-page-grid textarea{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
.booking-page-grid input,.booking-page-grid select,.booking-page-grid textarea{width:100%!important;}
@media (max-width:900px){.booking-page-grid{grid-template-columns:1fr!important;gap:1.5rem!important;}.booking-page-grid>div:nth-child(2){width:100%!important;max-width:100%!important;}}
@media (max-width:600px){html,body{overflow-x:hidden!important;}section .container,main .container{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important;}.booking-page-grid{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;}.booking-page-grid .form-card,.booking-page-grid .info-box{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;margin-bottom:1.25rem!important;padding:1.35rem!important;border-radius:16px!important;overflow:hidden!important;}.booking-page-grid .form-row,.booking-page-grid .form-row-3{display:block!important;}.booking-page-grid .process-steps,.booking-page-grid .step-card{width:100%!important;max-width:100%!important;}.booking-page-grid ul,.booking-page-grid li{max-width:100%!important;}}
@media (max-width:380px){section .container,main .container{padding-left:12px!important;padding-right:12px!important;}.booking-page-grid .form-card,.booking-page-grid .info-box{padding:1rem!important;}}

/* Booking page only refinements after the general mobile rule above. */
.booking-page-section{overflow:hidden!important;}
@media (max-width:600px){.booking-page-section>.container{width:100%!important;max-width:100%!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box!important;}}
@media (max-width:380px){.booking-page-section>.container{padding-left:12px!important;padding-right:12px!important;}}

/* === FINAL SITE-WIDE DARK BOX READABILITY FIX 2026-04-25 ===
   Fixes dark navy help/contact/sidebar panels whose text was inherited as dark text,
   including booking.php Need Help Booking card and similar info boxes site-wide. */
.info-box,
.info-box *,
.info-box-list,
.info-list,
.booking-page-grid .info-box,
.booking-page-grid .info-box *{
  box-sizing:border-box!important;
}
.info-box,
.booking-page-grid .info-box{
  background:linear-gradient(135deg,var(--navy) 0%,#1a3a6e 100%)!important;
  color:#ffffff!important;
}
.info-box h1,.info-box h2,.info-box h3,.info-box h4,.info-box h5,.info-box h6,
.booking-page-grid .info-box h1,.booking-page-grid .info-box h2,.booking-page-grid .info-box h3,.booking-page-grid .info-box h4{
  color:#ffffff!important;
  opacity:1!important;
}
.info-box p,.info-box li,.info-box span,
.booking-page-grid .info-box p,.booking-page-grid .info-box li,.booking-page-grid .info-box span{
  color:rgba(255,255,255,.86)!important;
  opacity:1!important;
}
.info-box a,
.booking-page-grid .info-box a{
  color:#ffffff!important;
  opacity:1!important;
  font-weight:700!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
}
.info-box a:hover,
.booking-page-grid .info-box a:hover{
  color:var(--orange)!important;
}
.info-box i,
.booking-page-grid .info-box i{
  color:var(--orange)!important;
  opacity:1!important;
}
.info-box .info-list,
.info-box .info-box-list,
.booking-page-grid .info-box .info-list,
.booking-page-grid .info-box .info-box-list{
  list-style:none!important;
  padding-left:0!important;
  margin-left:0!important;
}
.info-box .info-list li,
.info-box .info-box-list li,
.booking-page-grid .info-box .info-list li,
.booking-page-grid .info-box .info-box-list li{
  display:flex!important;
  align-items:flex-start!important;
  gap:.55rem!important;
  max-width:100%!important;
}
@media (max-width:768px){
  .booking-page-grid .info-box{
    padding:1.5rem!important;
    border-radius:16px!important;
  }
}

/* === 2026-04-25 WEBSITE-WIDE CTA BUTTON + DARK SECTION READABILITY HOTFIX ===
   Fixes orange buttons with invisible labels and navy/dark cards/sections with dark text.
   This is intentionally appended last so it overrides earlier accidental text-color rules. */
.btn,
a.btn,
button.btn,
input.btn{
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}
.btn-primary,
a.btn-primary,
button.btn-primary,
input.btn-primary,
.cta-buttons .btn-primary,
.cta-banner .btn-primary,
.cta-section .btn-primary,
.bg-navy .btn-primary,
.bg-dark .btn-primary,
.text-white .btn-primary{
  background:var(--orange,#f26522)!important;
  border-color:var(--orange,#f26522)!important;
  color:#ffffff!important;
}
.btn-primary *,
a.btn-primary *,
button.btn-primary *,
input.btn-primary *,
.cta-buttons .btn-primary *,
.cta-banner .btn-primary *,
.cta-section .btn-primary *,
.bg-navy .btn-primary *,
.bg-dark .btn-primary *,
.text-white .btn-primary *{
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
}
.btn-outline-white,
a.btn-outline-white,
button.btn-outline-white,
.bg-navy .btn-outline-white,
.bg-dark .btn-outline-white,
.text-white .btn-outline-white{
  background:transparent!important;
  border:2px solid rgba(255,255,255,.95)!important;
  color:#ffffff!important;
}
.btn-outline-white *,
a.btn-outline-white *,
button.btn-outline-white *{
  color:#ffffff!important;
}
.btn-orange,
a.btn-orange,
button.btn-orange,
.bg-navy .btn-orange,
.bg-dark .btn-orange,
.text-white .btn-orange{
  background:transparent!important;
  border:2px solid var(--orange,#f26522)!important;
  color:var(--orange,#f26522)!important;
}
.btn-orange *,
a.btn-orange *,
button.btn-orange *{
  color:var(--orange,#f26522)!important;
}

/* Dark navy panels and CTA sections must always use readable white text. */
.bg-navy,
.bg-dark,
.text-white.bg-navy,
.text-white.bg-dark,
section.bg-navy,
section.bg-dark,
section.text-white.bg-navy,
section.text-white.bg-dark,
.info-box,
.need-help-card,
.help-card,
.booking-help,
.sidebar-card,
.contact-help-card,
.dark-card,
.booking-page-grid .info-box{
  color:#ffffff!important;
}
.bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-navy h5,.bg-navy h6,
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4,.bg-dark h5,.bg-dark h6,
.text-white h1,.text-white h2,.text-white h3,.text-white h4,.text-white h5,.text-white h6,
.info-box h1,.info-box h2,.info-box h3,.info-box h4,.info-box h5,.info-box h6,
.need-help-card h1,.need-help-card h2,.need-help-card h3,.need-help-card h4,
.help-card h1,.help-card h2,.help-card h3,.help-card h4,
.booking-help h1,.booking-help h2,.booking-help h3,.booking-help h4,
.sidebar-card h1,.sidebar-card h2,.sidebar-card h3,.sidebar-card h4,
.contact-help-card h1,.contact-help-card h2,.contact-help-card h3,.contact-help-card h4,
.dark-card h1,.dark-card h2,.dark-card h3,.dark-card h4,
.booking-page-grid .info-box h1,.booking-page-grid .info-box h2,.booking-page-grid .info-box h3,.booking-page-grid .info-box h4{
  color:#ffffff!important;
  opacity:1!important;
  visibility:visible!important;
}
.bg-navy p,.bg-navy li,.bg-navy span,.bg-navy div:not(.btn):not(.btn *),
.bg-dark p,.bg-dark li,.bg-dark span,.bg-dark div:not(.btn):not(.btn *),
.text-white p,.text-white li,.text-white span,
.info-box p,.info-box li,.info-box span,.info-box div:not(.btn):not(.btn *),
.need-help-card p,.need-help-card li,.need-help-card span,
.help-card p,.help-card li,.help-card span,
.booking-help p,.booking-help li,.booking-help span,
.sidebar-card p,.sidebar-card li,.sidebar-card span,
.contact-help-card p,.contact-help-card li,.contact-help-card span,
.dark-card p,.dark-card li,.dark-card span,
.booking-page-grid .info-box p,.booking-page-grid .info-box li,.booking-page-grid .info-box span,.booking-page-grid .info-box div:not(.btn):not(.btn *){
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
  visibility:visible!important;
}
.bg-navy a:not(.btn),
.bg-dark a:not(.btn),
.text-white a:not(.btn),
.info-box a:not(.btn),
.need-help-card a:not(.btn),
.help-card a:not(.btn),
.booking-help a:not(.btn),
.sidebar-card a:not(.btn),
.contact-help-card a:not(.btn),
.dark-card a:not(.btn),
.booking-page-grid .info-box a:not(.btn){
  color:#ffffff!important;
  font-weight:800!important;
  opacity:1!important;
  visibility:visible!important;
}
.info-box [style*="color"],
.need-help-card [style*="color"],
.help-card [style*="color"],
.booking-help [style*="color"],
.sidebar-card [style*="color"],
.contact-help-card [style*="color"],
.dark-card [style*="color"],
.bg-navy [style*="color"],
.bg-dark [style*="color"]{
  color:inherit!important;
}
.info-box i,
.need-help-card i,
.help-card i,
.booking-help i,
.sidebar-card i,
.contact-help-card i,
.dark-card i,
.bg-navy i,
.bg-dark i{
  color:var(--orange,#f26522)!important;
  opacity:1!important;
}

/* Keep dark CTA button rows professional and responsive. */
.bg-navy .cta-buttons,
.bg-dark .cta-buttons,
.text-white .cta-buttons,
.cta-banner .btns,
.cta-section .cta-buttons{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:1rem!important;
}
@media (max-width:768px){
  .bg-navy .cta-buttons,
  .bg-dark .cta-buttons,
  .text-white .cta-buttons,
  .cta-banner .btns,
  .cta-section .cta-buttons{
    flex-direction:column!important;
    align-items:stretch!important;
    max-width:420px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .bg-navy .cta-buttons .btn,
  .bg-dark .cta-buttons .btn,
  .text-white .cta-buttons .btn,
  .cta-banner .btns .btn,
  .cta-section .cta-buttons .btn{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
  }
}

/* Safety duplicate using simple selectors for older mobile browsers. */
.bg-navy p,.bg-navy li,.bg-navy span,
.bg-dark p,.bg-dark li,.bg-dark span,
.text-white p,.text-white li,.text-white span,
.info-box p,.info-box li,.info-box span,
.need-help-card p,.need-help-card li,.need-help-card span,
.help-card p,.help-card li,.help-card span,
.booking-help p,.booking-help li,.booking-help span,
.sidebar-card p,.sidebar-card li,.sidebar-card span,
.contact-help-card p,.contact-help-card li,.contact-help-card span,
.dark-card p,.dark-card li,.dark-card span{
  color:rgba(255,255,255,.88)!important;
  opacity:1!important;
  visibility:visible!important;
}
.info-box h3,.info-box h4,.info-box h5,.info-box h6,
.need-help-card h3,.help-card h3,.booking-help h3,.sidebar-card h3,.contact-help-card h3,.dark-card h3,
.bg-navy h2,.bg-navy h3,.bg-navy h4,.bg-dark h2,.bg-dark h3,.bg-dark h4{
  color:#fff!important;
}
.info-box a:not(.btn),.need-help-card a:not(.btn),.help-card a:not(.btn),.booking-help a:not(.btn),.sidebar-card a:not(.btn),.contact-help-card a:not(.btn),.dark-card a:not(.btn),.bg-navy a:not(.btn),.bg-dark a:not(.btn){
  color:#fff!important;
}
button.btn-primary,button.btn-primary i,button.btn-primary span,
a.btn-primary,a.btn-primary i,a.btn-primary span{
  color:#fff!important;
}
