
:root{--blue:#25146f;--blue2:#34218b;--navy:#10182b;--pale:#f3f5fb;--ink:#161b2b;--muted:#687084;--line:#dce1ee;--white:#fff;--max:1240px;--shadow:0 24px 70px rgba(25,35,70,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.55}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}
.topbar{background:var(--blue);color:#fff;font-size:13px}.topbar .container{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(15px);border-bottom:1px solid rgba(37,20,111,.1)}.nav-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:26px}
.logo{display:flex;align-items:center;gap:12px;min-width:0}.logo img{width:70px;height:70px;object-fit:contain}.logo strong{font-size:15px;line-height:1.05;letter-spacing:-.02em}.logo small{display:block;color:var(--blue);font-size:9px;letter-spacing:.16em;margin-top:5px}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:800}.nav-links a:hover{color:var(--blue)}.menu{display:none;border:0;background:none;font-size:27px;color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 13px 28px rgba(37,20,111,.22)}.btn-primary:hover{background:var(--blue2);transform:translateY(-2px)}.btn-light{background:#fff;color:var(--blue)}
.hero{min-height:760px;display:flex;align-items:center;position:relative;color:#fff;overflow:hidden;background:#111}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,31,.92) 0%,rgba(15,20,40,.76) 43%,rgba(15,20,40,.16) 75%),url('../assets/images/css-background.webp') center/cover}.hero .container{position:relative;padding:105px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:#cbc4ff}.eyebrow::before{content:"";width:34px;height:2px;background:currentColor}h1,h2,h3{margin:0;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(48px,7vw,92px);max-width:900px}h2{font-size:clamp(36px,5vw,66px)}h3{font-size:23px}p{margin:0}.hero p{font-size:clamp(18px,2vw,22px);max-width:690px;color:#e1e4ed;margin-top:26px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-notes{display:flex;flex-wrap:wrap;gap:18px;margin-top:36px;font-size:13px;font-weight:850}.hero-notes span::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#fff;margin-right:8px}
.trust{background:var(--blue);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:25px 24px;border-right:1px solid rgba(255,255,255,.18)}.trust-item:last-child{border:0}.trust-item b{display:block}.trust-item span{font-size:13px;color:#d7d2f1}
section{padding:100px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:44px}.section-head p{max-width:530px;color:var(--muted);font-size:17px}.section-head .eyebrow{color:var(--blue)}
.services{background:var(--pale)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.service{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:0 7px 20px rgba(20,30,60,.04)}.service-toggle{width:100%;border:0;background:#fff;padding:24px 26px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left;cursor:pointer;color:var(--ink)}.service-toggle:hover{background:#fafbff}.service-title{display:flex;align-items:center;gap:16px}.service-icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#eeeafd;color:var(--blue);font-size:22px;flex:0 0 auto}.service-toggle b{font-size:18px}.plus{font-size:28px;color:var(--blue);transition:.25s}.service.open .plus{transform:rotate(45deg)}.service-details{max-height:0;overflow:hidden;opacity:0;background:#f0eef9;padding:0 26px;transition:max-height .4s,opacity .3s,padding .35s}.service.open .service-details{max-height:360px;opacity:1;padding:23px 26px 26px}.service-details p,.service-details li{color:#555d71}.service-details ul{margin:13px 0 0;padding-left:20px}.service-details li+li{margin-top:6px}
.feature{background:var(--navy);color:#fff}.feature-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:65px;align-items:center}.feature-photo{min-height:630px;border-radius:24px 110px 24px 24px;background:url('../assets/images/range-rover-undergoing-major-engine-work.webp') center/cover;box-shadow:var(--shadow)}.feature-copy>p{margin:24px 0 28px;color:#b9c0d0;font-size:18px}.checks{display:grid;gap:14px}.check{display:grid;grid-template-columns:34px 1fr;gap:13px;padding-bottom:14px;border-bottom:1px solid #2d374d}.check i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-style:normal}.check span{color:#aeb6c8;font-size:14px}
.brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.brand{min-height:210px;border:1px solid var(--line);border-radius:20px;background:var(--pale);display:grid;place-items:center;text-align:center;padding:26px}.brand strong{font-size:clamp(25px,3vw,39px);color:var(--blue);letter-spacing:.05em}.brand span{display:block;color:var(--muted);font-size:14px;margin-top:8px}
.gallery{background:var(--pale)}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:285px 285px 260px;gap:14px}.photo{position:relative;overflow:hidden;border-radius:18px;background:#dce1ea;margin:0}.photo img{width:100%;height:100%;object-fit:cover;transition:.45s}.photo:hover img{transform:scale(1.045)}.photo:nth-child(1){grid-row:span 2}.photo:nth-child(7){grid-column:span 2}.photo::after{content:attr(data-label);position:absolute;left:15px;bottom:15px;background:rgba(10,18,35,.78);color:#fff;padding:8px 11px;border-radius:10px;font-size:12px;font-weight:800;backdrop-filter:blur(8px)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.location-photo{height:560px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.location-photo img{width:100%;height:100%;object-fit:cover}.contact-card{padding:42px;border-radius:22px;background:var(--blue);color:#fff}.contact-card p{color:#dbd8ee;margin-top:16px}.contact-list{display:grid;gap:14px;margin:28px 0}.contact-list b{display:block}.contact-list span{color:#d7d2ef;font-size:14px}
.cta{padding:70px 0;background:linear-gradient(135deg,var(--blue),#4630a3);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta p{color:#dcd7f5;margin-top:10px}
footer{background:#0d1425;color:#fff;padding:45px 0 22px}.footer-grid{display:grid;grid-template-columns:1.35fr .65fr .8fr;gap:45px}footer .logo img{width:63px;height:63px}footer p,footer a{color:#aeb5c5}footer h4{margin:0 0 13px}.footer-links{display:grid;gap:8px}.copy{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #293247;margin-top:35px;padding-top:20px;color:#7f899d;font-size:12px}
.reveal{opacity:1;transform:none}.reveal.visible{opacity:1;transform:none}
@media(max-width:950px){.nav-links{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:22px 20px;box-shadow:0 20px 35px rgba(0,0,0,.12);flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.menu{display:block}.nav-links .btn{width:100%}.feature-grid,.location-grid{grid-template-columns:1fr}.brands-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,260px)}.photo:nth-child(1),.photo:nth-child(7){grid-row:auto;grid-column:span 2}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.container{width:min(calc(100% - 28px),var(--max))}.topbar .container span:first-child{display:none}.logo strong{font-size:12px}.logo img{width:58px;height:58px}.nav-inner{min-height:76px}.nav-links{top:76px}.hero{min-height:690px}.hero::before{background:linear-gradient(rgba(9,15,31,.78),rgba(9,15,31,.9)),url('../assets/images/css-background.webp') center/cover}.hero .container{padding:80px 0}section{padding:76px 0}.section-head{display:block}.section-head p{margin-top:18px}.services-grid{grid-template-columns:1fr}.service-toggle{padding:21px 20px}.service-details{padding-left:20px;padding-right:20px}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.feature-photo{min-height:430px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:repeat(8,235px)}.photo:nth-child(1),.photo:nth-child(7){grid-column:auto}.location-photo{height:430px}.contact-card{padding:30px 24px}.cta-inner{display:block}.cta .btn{margin-top:24px}.footer-grid{grid-template-columns:1fr}.copy{display:block}.copy span{display:block;margin-top:8px}}

.map-section{background:#f3f5fb;padding:100px 0}
.map-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px;align-items:stretch}
.map-card{background:#25146f;color:#fff;border-radius:24px;padding:42px;display:flex;flex-direction:column;justify-content:center}
.map-card p{color:#dcd8f0;margin-top:16px}
.map-details{display:grid;gap:18px;margin:28px 0}
.map-details b{display:block;color:#fff}
.map-details span{color:#d9d4ef}
.map-frame{min-height:520px;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(25,35,70,.16);background:#ddd}
.map-frame iframe{width:100%;height:100%;min-height:520px;border:0}
@media(max-width:950px){.map-wrap{grid-template-columns:1fr}.map-frame,.map-frame iframe{min-height:430px}}


/* Mobile and local-file preview hardening */
@media(max-width:950px){
  .reveal{opacity:1!important;transform:none!important}
  .gallery-grid,.services-grid,.feature-grid,.location-grid,.map-wrap{visibility:visible!important}
  .photo img,.location-photo img{display:block!important;opacity:1!important}
}


/* Mobile reliability */
.reveal{opacity:1!important;transform:none!important}
.photo img{loading:eager}
@media(max-width:650px){
  .gallery-grid{display:grid!important;grid-template-columns:1fr!important;grid-auto-rows:230px!important;height:auto!important}
  .photo,.photo:nth-child(1),.photo:nth-child(7){grid-column:auto!important;grid-row:auto!important;display:block!important;min-height:230px!important}
  .photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
  .feature-photo{display:block!important;min-height:430px!important}
  .section-head,.feature-grid,.location-grid,.map-wrap{display:grid!important;grid-template-columns:1fr!important}
}

:root{--blue:#0f6b4f!important;--blue2:#17825f!important;--navy:#0c2118!important;--pale:#eef8f3!important;--ink:#17231e!important;--muted:#65716b!important;--line:#d7e8df!important}
body{background:#fff!important}
.topbar,.trust,.contact-card,.map-card{background:#0f6b4f!important}
.nav{border-bottom:1px solid #d7e8df!important}
.btn-primary{background:#0f6b4f!important;box-shadow:0 13px 28px rgba(15,107,79,.22)!important}
.btn-primary:hover{background:#17825f!important}
.eyebrow,.section-head .eyebrow,.logo small,.plus,.service-icon,.brand strong{color:#0f6b4f!important}
.services,.gallery,.map-section{background:#eef8f3!important}
.service{border-color:#d7e8df!important;border-radius:14px!important}
.service-icon{background:#dff3e9!important}
.service-details{background:#f7fcf9!important}
.feature{background:#0c2118!important}
.check i{background:#0f6b4f!important}
.brand{background:#fff!important;border-color:#d7e8df!important;border-radius:14px!important;box-shadow:0 15px 35px rgba(15,107,79,.08)!important}
.photo{border-radius:14px!important}
.photo::after{background:rgba(9,54,39,.8)!important}
.cta{background:linear-gradient(135deg,#0f6b4f,#1d8a65)!important}
footer{background:#091711!important}
.btn{border-radius:10px!important}


/* Accordion masonry fix: each service card keeps its own height. */
.services-grid{
  display:block !important;
  column-count:2;
  column-gap:14px;
}
.services-grid .service{
  display:inline-block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 14px !important;
  vertical-align:top;
  break-inside:avoid;
  -webkit-column-break-inside:avoid;
  page-break-inside:avoid;
}
.services-grid .service-details{
  display:none !important;
  max-height:none !important;
}
.services-grid .service.open .service-details{
  display:block !important;
  max-height:none !important;
}
@media(max-width:650px){
  .services-grid{column-count:1;}
}


/* Smooth accordion animation while preserving independent masonry columns */
.services-grid .service-details{
  display:block !important;
  max-height:0 !important;
  opacity:0;
  overflow:hidden;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transition:max-height .38s ease, opacity .24s ease, padding-top .38s ease, padding-bottom .38s ease;
}
.services-grid .service.open .service-details{
  display:block !important;
  opacity:1;
}
.services-grid .service.open .plus{
  transform:rotate(45deg);
}


/* Final accordion layout and animation */
.services-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
  column-count:unset !important;
}
.services-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
.services-grid .service{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  align-self:auto !important;
  break-inside:auto !important;
}
.services-grid .service-details{
  display:grid !important;
  grid-template-rows:0fr;
  max-height:none !important;
  opacity:1 !important;
  overflow:hidden;
  padding:0 !important;
  transition:grid-template-rows .48s cubic-bezier(.22,.61,.36,1);
}
.services-grid .service-details-inner{
  min-height:0;
  overflow:hidden;
  padding:0 24px;
  opacity:0;
  transform:translateY(-8px);
  transition:
    padding .48s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease,
    transform .48s cubic-bezier(.22,.61,.36,1);
}
.services-grid .service.open .service-details{
  grid-template-rows:1fr;
}
.services-grid .service.open .service-details-inner{
  padding-top:22px;
  padding-bottom:24px;
  opacity:1;
  transform:translateY(0);
}
.services-grid .plus{
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
}
.services-grid .service.open .plus{
  transform:rotate(45deg);
}
@media(max-width:650px){
  .services-grid{
    grid-template-columns:1fr !important;
  }
}

/* Native mobile-safe accordion: works even when JavaScript is blocked */
.services-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
}
.services-column{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
details.service{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  overflow:hidden;
}
details.service summary{
  list-style:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
details.service summary::-webkit-details-marker{
  display:none;
}
details.service .service-toggle{
  pointer-events:none;
}
details.service .service-details{
  display:grid !important;
  grid-template-rows:0fr;
  max-height:none !important;
  opacity:1 !important;
  overflow:hidden;
  padding:0 !important;
  transition:grid-template-rows .48s cubic-bezier(.22,.61,.36,1);
}
details.service .service-details-inner{
  min-height:0;
  overflow:hidden;
  padding:0 24px;
  opacity:0;
  transform:translateY(-8px);
  transition:
    padding .48s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease,
    transform .48s cubic-bezier(.22,.61,.36,1);
}
details.service[open] .service-details{
  grid-template-rows:1fr;
}
details.service[open] .service-details-inner{
  padding-top:22px;
  padding-bottom:24px;
  opacity:1;
  transform:translateY(0);
}
details.service .plus{
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
}
details.service[open] .plus{
  transform:rotate(45deg);
}
@media(max-width:650px){
  .services-grid{
    grid-template-columns:1fr !important;
  }
}

/* FINAL MOBILE-SAFE SERVICE ACCORDION */
.reveal{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}

.services-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
  column-count:unset !important;
}

.services-column{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-width:0 !important;
}

details.service{
  display:block !important;
  position:relative !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  overflow:hidden !important;
}

details.service > summary.service-toggle{
  display:flex !important;
  width:100% !important;
  min-height:88px !important;
  align-items:center !important;
  justify-content:space-between !important;
  cursor:pointer !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
  list-style:none !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:2 !important;
}

details.service > summary.service-toggle::-webkit-details-marker{
  display:none !important;
}

details.service > summary.service-toggle::marker{
  display:none !important;
  content:"" !important;
}

details.service .service-title,
details.service .service-icon,
details.service .plus,
details.service summary b{
  pointer-events:none !important;
}

details.service .service-details{
  display:grid !important;
  grid-template-rows:0fr !important;
  max-height:none !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:hidden !important;
  padding:0 !important;
  transition:grid-template-rows .42s cubic-bezier(.22,.61,.36,1) !important;
}

details.service .service-details-inner{
  min-height:0 !important;
  overflow:hidden !important;
  padding:0 24px !important;
  opacity:0 !important;
  transform:translateY(-6px) !important;
  transition:
    padding-top .42s cubic-bezier(.22,.61,.36,1),
    padding-bottom .42s cubic-bezier(.22,.61,.36,1),
    opacity .25s ease,
    transform .42s cubic-bezier(.22,.61,.36,1) !important;
}

details.service[open] .service-details{
  grid-template-rows:1fr !important;
}

details.service[open] .service-details-inner{
  padding-top:22px !important;
  padding-bottom:24px !important;
  opacity:1 !important;
  transform:translateY(0) !important;
}

details.service .plus{
  transition:transform .32s ease !important;
}

details.service[open] .plus{
  transform:rotate(45deg) !important;
}

@media(max-width:650px){
  .services-grid{
    grid-template-columns:1fr !important;
  }

  .services-column{
    display:contents !important;
  }

  details.service{
    width:100% !important;
  }

  details.service > summary.service-toggle{
    min-height:82px !important;
    padding:20px !important;
  }

  details.service .service-details-inner{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Fallback for reduced-motion and limited preview engines */
@media(prefers-reduced-motion:reduce){
  details.service .service-details,
  details.service .service-details-inner,
  details.service .plus{
    transition:none !important;
  }
}

.reveal{opacity:1!important;transform:none!important;visibility:visible!important}
.services-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;align-items:start!important}
.services-column{display:flex!important;flex-direction:column!important;gap:14px!important;min-width:0!important}
details.service{display:block!important;width:100%!important;height:auto!important;margin:0!important;overflow:hidden!important}
details.service>summary.service-toggle{display:flex!important;width:100%!important;min-height:86px!important;align-items:center!important;justify-content:space-between!important;cursor:pointer!important;list-style:none!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}
details.service>summary.service-toggle::-webkit-details-marker{display:none!important}
details.service>summary.service-toggle::marker{content:""!important}
details.service .service-title,details.service .service-icon,details.service .plus,details.service summary b{pointer-events:none!important}
details.service .service-details{display:block!important;height:0;overflow:hidden!important;opacity:0;padding:0!important;will-change:height,opacity}
details.service .service-details-inner{padding:0 24px;transform:translateY(-6px);opacity:0;transition:transform .34s cubic-bezier(.22,.61,.36,1),opacity .24s ease,padding-top .34s cubic-bezier(.22,.61,.36,1),padding-bottom .34s cubic-bezier(.22,.61,.36,1)}
details.service.is-opening .service-details,details.service[open] .service-details{opacity:1}
details.service.is-opening .service-details-inner,details.service[open] .service-details-inner{padding-top:22px;padding-bottom:24px;transform:translateY(0);opacity:1}
details.service .plus{transition:transform .34s cubic-bezier(.22,.61,.36,1)!important}
details.service.is-opening .plus,details.service[open] .plus{transform:rotate(45deg)!important}
@media(max-width:650px){.services-grid{grid-template-columns:1fr!important}.services-column{display:contents!important}details.service>summary.service-toggle{min-height:82px!important;padding:20px!important}details.service .service-details-inner{padding-left:20px;padding-right:20px}}

/* FINAL NO-JAVASCRIPT ACCORDION — mobile-safe */
.services-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
}
.services-column{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-width:0 !important;
}
.service{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.service-check{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.service-toggle{
  display:flex !important;
  width:100% !important;
  min-height:86px !important;
  align-items:center !important;
  justify-content:space-between !important;
  cursor:pointer !important;
  user-select:none !important;
  -webkit-user-select:none !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:manipulation !important;
  position:relative !important;
  z-index:2 !important;
}
.service-title,
.service-icon,
.plus,
.service-toggle b{
  pointer-events:none !important;
}
.service-details{
  display:block !important;
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  padding:0 !important;
  transition:
    max-height .48s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease !important;
}
.service-details-inner{
  padding:0 24px !important;
  transform:translateY(-7px);
  opacity:0;
  transition:
    padding-top .48s cubic-bezier(.22,.61,.36,1),
    padding-bottom .48s cubic-bezier(.22,.61,.36,1),
    transform .38s cubic-bezier(.22,.61,.36,1),
    opacity .28s ease !important;
}
.service-check:checked ~ .service-details{
  max-height:420px !important;
  opacity:1 !important;
}
.service-check:checked ~ .service-details .service-details-inner{
  padding-top:22px !important;
  padding-bottom:24px !important;
  transform:translateY(0);
  opacity:1;
}
.plus{
  transition:transform .36s cubic-bezier(.22,.61,.36,1) !important;
}
.service-check:checked + .service-toggle .plus{
  transform:rotate(45deg) !important;
}
.service-check:focus-visible + .service-toggle{
  outline:3px solid rgba(24,79,60,.28);
  outline-offset:-3px;
}
@media(max-width:650px){
  .services-grid{
    grid-template-columns:1fr !important;
  }
  .services-column{
    display:contents !important;
  }
  .service-toggle{
    min-height:82px !important;
    padding:20px !important;
  }
  .service-details-inner{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* Accordion copied from the previously working site */
.services-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  align-items:start !important;
  column-count:unset !important;
}
.services-column{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  min-width:0 !important;
}
.service{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  align-self:flex-start !important;
  overflow:hidden !important;
}
.service-toggle{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  cursor:pointer !important;
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}
.service-details{
  display:block !important;
  max-height:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  transition:
    max-height .4s ease,
    opacity .3s ease,
    padding-top .35s ease,
    padding-bottom .35s ease !important;
}
.service.open .service-details{
  max-height:420px !important;
  opacity:1 !important;
  padding-top:23px !important;
  padding-bottom:26px !important;
}
.plus{
  transition:transform .25s ease !important;
}
.service.open .plus{
  transform:rotate(45deg) !important;
}
@media(max-width:650px){
  .services-grid{
    grid-template-columns:1fr !important;
  }
  .services-column{
    display:contents !important;
  }
  .service{
    align-self:stretch !important;
  }
}

/* FINAL AUTHORITATIVE ACCORDION STATE — must remain last */
.services-grid .services-column .service > .service-details{
  display:block !important;
  max-height:0 !important;
  opacity:0 !important;
  overflow:hidden !important;
  padding:0 26px !important;
  transition:
    max-height .42s cubic-bezier(.22,.61,.36,1),
    opacity .26s ease,
    padding-top .38s cubic-bezier(.22,.61,.36,1),
    padding-bottom .38s cubic-bezier(.22,.61,.36,1) !important;
}

.services-grid .services-column .service.open > .service-details{
  max-height:420px !important;
  opacity:1 !important;
  padding:23px 26px 26px !important;
}

.services-grid .services-column .service .plus{
  transition:transform .3s cubic-bezier(.22,.61,.36,1) !important;
}

.services-grid .services-column .service.open .plus{
  transform:rotate(45deg) !important;
}

@media(max-width:650px){
  .services-grid .services-column .service > .service-details{
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .services-grid .services-column .service.open > .service-details{
    padding-top:20px !important;
    padding-bottom:22px !important;
  }
}

/* FINAL MOBILE ADAPTATION */
@media(max-width:700px){
  html,body{
    width:100%;
    overflow-x:hidden;
  }

  .container{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .topbar{
    display:none !important;
  }

  .nav{
    position:sticky !important;
    top:0 !important;
    z-index:999 !important;
  }

  .nav-inner{
    min-height:72px !important;
    gap:10px !important;
  }

  .logo{
    min-width:0 !important;
    max-width:calc(100% - 56px) !important;
  }

  .logo img{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
  }

  .logo strong{
    font-size:11px !important;
    line-height:1.05 !important;
  }

  .logo small{
    font-size:8px !important;
  }

  .menu{
    display:block !important;
    width:44px !important;
    height:44px !important;
    padding:0 !important;
    flex:0 0 44px !important;
    position:relative !important;
    z-index:1001 !important;
    cursor:pointer !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:transparent !important;
  }

  .nav-links{
    display:none !important;
    position:absolute !important;
    top:72px !important;
    left:0 !important;
    right:0 !important;
    background:#fff !important;
    padding:18px 14px 22px !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:6px !important;
    box-shadow:0 18px 35px rgba(0,0,0,.14) !important;
    z-index:1000 !important;
  }

  .nav-links.open{
    display:flex !important;
  }

  .nav-links a{
    display:block !important;
    width:100% !important;
    padding:14px 12px !important;
  }

  .nav-links .btn{
    width:100% !important;
  }

  .hero{
    min-height:640px !important;
  }

  .hero .container{
    padding-top:76px !important;
    padding-bottom:76px !important;
  }

  .hero h1{
    font-size:clamp(42px,13vw,62px) !important;
  }

  .hero p{
    font-size:17px !important;
  }

  .hero-notes{
    display:grid !important;
    gap:10px !important;
  }

  .trust-grid{
    grid-template-columns:1fr !important;
  }

  .trust-item{
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.16) !important;
  }

  section{
    padding-top:68px !important;
    padding-bottom:68px !important;
  }

  .section-head{
    display:block !important;
    margin-bottom:28px !important;
  }

  .section-head p{
    margin-top:16px !important;
  }

  .services-grid{
    display:block !important;
    grid-template-columns:none !important;
  }

  .services-column{
    display:block !important;
  }

  .services-column + .services-column{
    margin-top:14px !important;
  }

  .service{
    display:block !important;
    width:100% !important;
    margin:0 0 14px !important;
    position:relative !important;
    z-index:1 !important;
    overflow:hidden !important;
  }

  .service-toggle{
    display:flex !important;
    width:100% !important;
    min-height:80px !important;
    padding:18px 18px !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:14px !important;
    position:relative !important;
    z-index:3 !important;
    cursor:pointer !important;
    touch-action:manipulation !important;
    -webkit-tap-highlight-color:rgba(15,107,79,.12) !important;
    pointer-events:auto !important;
  }

  .service-toggle *{
    pointer-events:none !important;
  }

  .service-title{
    min-width:0 !important;
    flex:1 1 auto !important;
  }

  .service-title b{
    font-size:16px !important;
    line-height:1.2 !important;
  }

  .service-icon{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .plus{
    flex:0 0 auto !important;
    font-size:26px !important;
  }

  .services-grid .services-column .service > .service-details{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    max-height:0 !important;
    opacity:0 !important;
    overflow:hidden !important;
    padding:0 18px !important;
    pointer-events:none !important;
  }

  .services-grid .services-column .service.open > .service-details{
    max-height:520px !important;
    opacity:1 !important;
    padding:18px 18px 22px !important;
    pointer-events:auto !important;
  }

  .feature-grid,
  .location-grid,
  .map-wrap{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }

  .feature-photo,
  .location-photo,
  .map-frame,
  .map-frame iframe{
    min-height:390px !important;
    height:390px !important;
  }

  .brands-grid{
    grid-template-columns:1fr !important;
  }

  .gallery-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:none !important;
    grid-auto-rows:230px !important;
  }

  .gallery-grid .photo{
    grid-column:auto !important;
    grid-row:auto !important;
  }

  .contact-card,
  .map-card{
    padding:28px 22px !important;
  }

  .cta-inner{
    display:block !important;
  }

  .cta .btn{
    margin-top:22px !important;
  }

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:30px !important;
  }

  .copy{
    display:block !important;
  }
}

/* VARIANT 1 — PREMIUM STATIC CARDS */
.static-services{background:#eef7f2}
.static-services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.static-service-card{background:#fff;border:1px solid #d8e7df;border-radius:18px;padding:28px;min-height:330px;box-shadow:0 14px 35px rgba(15,107,79,.07);display:flex;flex-direction:column}
.static-service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.static-service-icon{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#e4f4eb;color:#0f6b4f;font-size:22px}
.service-number{font-size:12px;font-weight:900;letter-spacing:.16em;color:#8ba99b}
.static-service-card h3{font-size:23px;margin-bottom:14px}
.static-service-card p{color:#5f6b65;min-height:78px}
.static-service-card ul{margin:22px 0 0;padding-left:19px;color:#50605a}
.static-service-card li+li{margin-top:7px}
@media(max-width:1050px){.static-services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.static-services-grid{grid-template-columns:1fr}.static-service-card{min-height:0}}

/* SERVICE CATALOG — inspired by clear category-based service pages */
.services-catalog{
  background:#f2f8f5;
}
.catalog-heading{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:48px;
  align-items:end;
  margin-bottom:34px;
}
.catalog-heading p{
  color:#64716b;
  font-size:17px;
}
.catalog-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
}
.catalog-filter{
  border:1px solid #cfe1d8;
  background:#fff;
  color:#174f3c;
  border-radius:999px;
  min-height:44px;
  padding:0 18px;
  font-weight:800;
  cursor:pointer;
  transition:.2s ease;
}
.catalog-filter:hover,
.catalog-filter.active{
  background:#174f3c;
  color:#fff;
  border-color:#174f3c;
}
.catalog-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.catalog-card{
  background:#fff;
  border:1px solid #d9e7df;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(19,78,57,.07);
  transition:transform .25s ease,box-shadow .25s ease,opacity .2s ease;
}
.catalog-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 46px rgba(19,78,57,.12);
}
.catalog-card.is-hidden{
  display:none;
}
.catalog-photo{
  height:215px;
  position:relative;
  overflow:hidden;
  background:#dfe9e3;
}
.catalog-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.catalog-card:hover .catalog-photo img{
  transform:scale(1.04);
}
.catalog-category{
  position:absolute;
  left:16px;
  top:16px;
  background:rgba(255,255,255,.94);
  color:#174f3c;
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.catalog-body{
  padding:24px;
}
.catalog-body h3{
  font-size:24px;
  margin-bottom:12px;
}
.catalog-body p{
  color:#64716b;
  min-height:102px;
}
.catalog-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:22px;
  color:#0f6b4f;
  font-weight:900;
}
.catalog-link span{
  transition:transform .2s ease;
}
.catalog-link:hover span{
  transform:translateX(4px);
}
.catalog-cta{
  margin-top:34px;
  padding:30px;
  border-radius:18px;
  background:#174f3c;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.catalog-cta p{
  color:#d7e7df;
  margin-top:7px;
}
.catalog-cta .btn-primary{
  background:#fff;
  color:#174f3c;
  box-shadow:none;
  flex:0 0 auto;
}
@media(max-width:1050px){
  .catalog-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:760px){
  .catalog-heading{
    grid-template-columns:1fr;
    gap:18px;
  }
  .catalog-toolbar{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:5px;
    scrollbar-width:none;
  }
  .catalog-toolbar::-webkit-scrollbar{
    display:none;
  }
  .catalog-filter{
    flex:0 0 auto;
  }
  .catalog-grid{
    grid-template-columns:1fr;
  }
  .catalog-photo{
    height:225px;
  }
  .catalog-body p{
    min-height:0;
  }
  .catalog-cta{
    display:block;
  }
  .catalog-cta .btn{
    width:100%;
    margin-top:22px;
  }
}

.catalog-icon-panel{
display:flex;align-items:center;justify-content:center;
background:linear-gradient(135deg,#eef7f2,#dfeee5);
height:190px;
}
.catalog-big-icon{
width:88px;height:88px;border-radius:22px;
display:flex;align-items:center;justify-content:center;
background:#174f3c;color:#fff;
font-size:42px;
box-shadow:0 12px 30px rgba(23,79,60,.18);
}
.catalog-card:hover .catalog-big-icon{transform:translateY(-2px) scale(1.03);transition:.2s}
.catalog-photo img{display:none!important;}

.catalog-cta .btn-primary{
  background:#fff !important;
  color:#145c46 !important;
  border:2px solid #fff !important;
  padding:18px 42px !important;
  border-radius:14px !important;
  font-size:18px !important;
  font-weight:800 !important;
  box-shadow:0 14px 30px rgba(0,0,0,.22) !important;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition:all .25s ease;
}
.catalog-cta .btn-primary::before{
  content:"☎";
}
.catalog-cta .btn-primary:hover{
  background:#1b7b5d !important;
  color:#fff !important;
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 20px 40px rgba(0,0,0,.28);
}


/* Services are intentionally displayed as a static card grid. */
.catalog-grid{margin-top:34px}
.catalog-toolbar{display:none!important}


/* Featured Discovery Sport timing-chain repair */
.case-study{padding:100px 0;background:#fff}
.case-study-heading{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:end;margin-bottom:42px}
.case-study-heading p{color:#64716b;font-size:17px}
.case-study-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.case-photo{position:relative;margin:0;min-height:520px;overflow:hidden;border-radius:20px;background:#e5eee9}
.case-photo img{width:100%;height:100%;object-fit:cover}
.case-photo figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 13px;border-radius:10px;background:rgba(10,38,28,.82);color:#fff;font-size:12px;font-weight:800}
.case-study-copy{grid-column:1/-1;display:grid;grid-template-columns:.72fr 1fr;gap:30px 50px;padding:36px;border-radius:20px;background:#eef7f2;border:1px solid #d4e6dc}
.case-study-copy h3{font-size:34px}
.case-study-copy p{color:#5e6b65;font-size:17px}
.case-study-copy ul{grid-column:1;margin:0;padding-left:20px;color:#405149}
.case-study-copy li+li{margin-top:8px}
.case-tags{grid-column:2;display:flex;flex-wrap:wrap;align-content:start;gap:9px}
.case-tags span{padding:8px 12px;border-radius:999px;background:#174f3c;color:#fff;font-size:12px;font-weight:800}
@media(max-width:800px){
  .case-study{padding:72px 0}
  .case-study-heading{grid-template-columns:1fr;gap:16px}
  .case-study-grid{grid-template-columns:1fr}
  .case-photo{min-height:420px}
  .case-study-copy{grid-column:auto;grid-template-columns:1fr;padding:26px 22px}
  .case-study-copy ul,.case-tags{grid-column:auto}
}
@media(max-width:520px){
  .case-photo{min-height:350px}
  .case-study-copy h3{font-size:28px}
}


/* Discovery Sport project inside Our Work */
.work-project-card{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  overflow:hidden;
  border-radius:18px;
  background:#174f3c;
  color:#fff;
  min-height:340px;
}
.work-project-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}
.work-project-images figure{
  margin:0;
  min-height:340px;
  overflow:hidden;
}
.work-project-images img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.work-project-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:36px;
}
.work-project-copy span{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#b8ddca;
}
.work-project-copy h3{
  margin-top:10px;
  font-size:34px;
}
.work-project-copy p{
  margin-top:16px;
  color:#d7e8df;
}
@media(max-width:850px){
  .work-project-card{
    grid-template-columns:1fr;
  }
  .work-project-copy{
    padding:28px 22px;
  }
}
@media(max-width:560px){
  .work-project-images{
    grid-template-columns:1fr;
  }
  .work-project-images figure{
    min-height:300px;
  }
  .work-project-copy h3{
    font-size:28px;
  }
}

/* Production enhancements */
.scroll-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease, transform .65s ease;
}
.scroll-reveal.is-visible{
  opacity:1;
  transform:none;
}
@media(prefers-reduced-motion:reduce){
  .scroll-reveal{
    opacity:1;
    transform:none;
    transition:none;
  }
}


/* Font Awesome service icons */
.catalog-big-icon{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#ffffff !important;
  line-height:1 !important;
}
.service-fa-icon{
  display:inline-block !important;
  color:#ffffff !important;
  font-size:42px !important;
  line-height:1 !important;
  width:auto !important;
  height:auto !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
.catalog-card:hover .service-fa-icon{
  transform:scale(1.06) !important;
  transition:transform .2s ease;
}

/* Mobile icon and card safeguards */
@media(max-width:760px){
  .catalog-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
  .catalog-card{
    width:100% !important;
    min-width:0 !important;
  }
  .catalog-icon-panel{
    height:170px !important;
  }
  .catalog-big-icon{
    width:78px !important;
    height:78px !important;
    border-radius:20px !important;
  }
  .service-fa-icon{
    font-size:36px !important;
  }
  .catalog-body{
    padding:22px 20px !important;
  }
  .catalog-body h3{
    font-size:22px !important;
  }
}

/* If the icon font is still loading, preserve the icon box dimensions. */
.catalog-big-icon:empty::after{
  content:"";
  width:28px;
  height:28px;
  border:3px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:50%;
  animation:icon-loading-spin .8s linear infinite;
}
@keyframes icon-loading-spin{
  to{transform:rotate(360deg)}
}

