:root{
  --c-bg:#0B1F0C;
  --c-bg-2:#0F2E10;
  --c-surface:#143C14;
  --c-surface-2:#194C19;
  --c-accent:#B7DA55;
  --c-accent-bright:#D3ED7C;
  --c-ink:#12210F;
  --c-cream:#F6F7F0;
  --c-cream-2:#ECEFE2;
  --c-white:#FFFFFF;
  --c-line:rgba(183,218,85,0.18);
  --font-display:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;
  --font-body:'Work Sans',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
}

.tt{font-family:var(--font-body);color:var(--c-ink);}
.tt *,.tt *::before,.tt *::after{box-sizing:border-box;}
.tt img{max-width:100%;display:block;}
.tt a{text-decoration:none;}
.tt h1,.tt h2,.tt h3{font-family:var(--font-display);text-wrap:balance;margin:0;line-height:1;}
.tt-wrap{max-width:1280px;margin:0 auto;padding:0 24px;}

.tt-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-body);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}
.tt-eyebrow::before{
  content:"";
  width:28px;
  height:2px;
  background:currentColor;
  display:inline-block;
}

.tt-hero{
  position:relative;
  min-height:min(92vh,880px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--c-bg);
  padding-top:200px;
}
.tt-hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
.tt-hero-scrim{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(11,31,12,0.20) 0%, rgba(11,31,12,0.10) 42%, rgba(11,31,12,0.62) 100%),
    linear-gradient(90deg, rgba(11,31,12,0.50) 0%, rgba(11,31,12,0.06) 62%);
  z-index:1;
}
.tt-hero-inner{
  position:relative;
  z-index:2;
  width:100%;
  padding:64px 24px 110px;
}
.tt-hero-eyebrow{color:var(--c-accent-bright);}
.tt-hero-title{
  color:var(--c-white);
  font-size:clamp(48px,7vw,104px);
  font-weight:700;
  letter-spacing:0.01em;
  text-transform:uppercase;
  margin:18px 0 22px;
  max-width:900px;
}
.tt-hero-sub{
  font-size:19px;
  line-height:1.6;
  color:rgba(255,255,255,0.86);
  max-width:560px;
  margin:0 0 36px;
}
.tt-hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.tt-btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:16px 32px;
  border-radius:2px;
  font-weight:700;
  font-size:14px;
  letter-spacing:0.03em;
  text-transform:uppercase;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
  border:2px solid transparent;
}
.tt-btn-primary{
  background:var(--c-accent);
  color:var(--c-ink);
}
.tt-btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(183,218,85,0.3);background:var(--c-accent-bright);}
.tt-btn-outline{
  border-color:rgba(255,255,255,0.55);
  color:var(--c-white);
}
.tt-btn-outline:hover{border-color:var(--c-accent);color:var(--c-accent-bright);transform:translateY(-2px);}

.tt-section{padding:96px 0;}
.tt-section-dark{background:var(--c-bg-2);color:var(--c-white);}
.tt-section-cream{background:var(--c-cream);}
.tt-section-white{background:var(--c-white);}

.tt-finder{
  background:var(--c-cream);
  padding:80px 0;
}

.tt-why{
  background:var(--c-bg-2);
  padding:80px 0;
}
.tt-why-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:56px;
  flex-wrap:wrap;
}
.tt-why-eyebrow{color:var(--c-accent-bright);}
.tt-why-title{
  color:var(--c-white);
  font-size:clamp(28px,3.4vw,44px);
  text-transform:uppercase;
  max-width:640px;
}
.tt-why-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  background:var(--c-line);
  border:1px solid var(--c-line);
}
.tt-why-item{
  background:var(--c-bg-2);
  padding:40px 24px;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:18px;
}
.tt-why-icon{
  width:56px;
  height:56px;
  color:var(--c-accent);
}
.tt-why-icon svg{width:100%;height:100%;}
.tt-why-label{
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  color:var(--c-cream);
  line-height:1.4;
}

.tt-cta-strip{
  background:var(--c-surface);
  padding:44px 0;
}
.tt-cta-strip-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.tt-cta-strip-title{
  color:var(--c-white);
  font-family:var(--font-display);
  font-size:clamp(22px,2.6vw,32px);
  text-transform:uppercase;
  max-width:640px;
}

.tt-services{background:var(--c-cream);}
.tt-services-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:2px;
  background:rgba(20,60,20,0.1);
}
.tt-service-card{
  background:var(--c-white);
  padding:36px 32px;
  display:flex;
  flex-direction:column;
  gap:14px;
  transition:background .2s ease;
}
.tt-service-card:hover{background:var(--c-surface);}
.tt-service-card:hover .tt-service-title,
.tt-service-card:hover .tt-service-desc{color:var(--c-white);}
.tt-service-card:hover .tt-service-link{color:var(--c-accent-bright);}
.tt-service-title{
  font-size:22px;
  text-transform:uppercase;
  color:var(--c-ink);
  transition:color .2s ease;
}
.tt-service-desc{
  font-size:15px;
  line-height:1.6;
  color:#4A5A46;
  flex-grow:1;
  transition:color .2s ease;
}
.tt-service-link{
  font-weight:700;
  font-size:13px;
  letter-spacing:0.05em;
  text-transform:uppercase;
  color:var(--c-surface-2);
  transition:color .2s ease;
}
.tt-service-link::after{content:" \2192";}

.tt-brands{background:var(--c-white);padding:64px 0;}
.tt-brands-head{
  display:flex;
  align-items:center;
  gap:32px;
  flex-wrap:wrap;
  margin-bottom:32px;
}
.tt-brands-title{
  font-size:clamp(20px,2.4vw,28px);
  text-transform:uppercase;
  max-width:420px;
}
.tt-brands-track{
  display:flex;
  gap:48px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:none;
}
.tt-brands-track::-webkit-scrollbar{display:none;}

.tt-brands-track a{
  display:flex;
  align-items:center;
  flex:none;
  height:60px;
}
.tt-brands-track img{
  height:60px;
  width:auto;
  max-width:190px;
  flex:none;
  object-fit:contain;
  filter:grayscale(1) opacity(0.55);
  transition:filter .2s ease;
}
.tt-brands-track a:hover img,
.tt-brands-track img:hover{filter:grayscale(0) opacity(1);}

.tt-calc{background:var(--c-surface-2);color:var(--c-white);padding:96px 0;}
.tt-calc-inner{max-width:900px;margin:0 auto;text-align:center;}
.tt-calc-title{
  font-size:clamp(26px,3vw,36px);
  text-transform:uppercase;
  color:var(--c-white);
  margin-bottom:18px;
}
.tt-calc-sub{
  font-size:16px;
  line-height:1.7;
  color:rgba(255,255,255,0.82);
  max-width:640px;
  margin:0 auto 40px;
}
.tt-calc-box{
  background:var(--c-white);
  border-radius:4px;
  padding:32px;
  text-align:left;
  color:var(--c-ink);
}
.tt-calc-box .acr-select{
  border-radius:4px;
  border:1px solid rgba(20,60,20,0.2);
  padding:12px 14px;
  width:100%;
  font-family:var(--font-body);
}
.tt-calc-box .acr-1{margin-bottom:16px;}

.tt-reviews{background:var(--c-bg-2);padding:96px 0;}
.tt-reviews-head{text-align:center;margin-bottom:48px;}
.tt-reviews-title{
  color:var(--c-white);
  font-size:clamp(28px,3.4vw,42px);
  text-transform:uppercase;
}

.tt-showcase{background:var(--c-ink);padding:96px 0;}
.tt-showcase-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:48px;
}
.tt-showcase-title{
  color:var(--c-white);
  font-size:clamp(28px,3.4vw,42px);
  text-transform:uppercase;
  max-width:600px;
}
.tt-showcase-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
}
@media (max-width:800px){
  .tt-showcase-grid{grid-template-columns:1fr;}
}

@media (max-width:900px){
  .tt-hero{min-height:auto;padding-top:170px;}
  .tt-hero-inner{padding:40px 20px 104px;text-align:left;}
  .tt-calc,.tt-reviews,.tt-showcase{padding:64px 0;}
  .tt-why-grid{grid-template-columns:repeat(2,1fr);}
  .tt-why-head{flex-direction:column;align-items:flex-start;}
  .tt-cta-strip-inner{flex-direction:column;align-items:flex-start;}
  .tt-brands-head{flex-direction:column;align-items:flex-start;}
}
@media (max-width:520px){
  .tt-why-grid{grid-template-columns:1fr;}
}

.tt-hero-title,
.tt-hero-sub{
  text-shadow:0 2px 22px rgba(11,31,12,0.65);
}

.tt-showcase-grid{
  justify-items:center;
}
.tt .tuner-video-card{
  max-width:480px;
}

@media (min-width:760px){
  .tt-calc-box .acr-div.acr-shadow{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px 18px;
    align-items:start;
  }
  .tt-calc-box .acr-div.acr-shadow .acr-1{
    margin-bottom:0;
  }
}

@media (min-width:1356px){
  .tt-services-grid{grid-template-columns:repeat(5,1fr);}
  .tt-service-card:last-child{grid-column:span 2;}
}

.grecaptcha-badge{
  visibility:hidden;
}

.tt-ico{
  flex:none;
  display:inline-block;
  vertical-align:middle;
}

#site-topbar.site-topbar{
  background:#081508;
  border-bottom:1px solid rgba(183,218,85,0.22);
  font-size:13.5px;
}
#site-topbar .site-topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:44px;
}
#site-topbar .topbar-text{
  flex:0 1 auto;
  padding:0;
  margin:0;
  line-height:1.4;
  color:rgba(246,247,240,0.72);
}
#site-topbar .topbar-text a{
  color:#fff;
  font-weight:600;
  transition:color .2s ease;
}
#site-topbar .topbar-text a:hover{
  color:var(--c-accent);
}
.tt-bar-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:rgba(246,247,240,0.72);
  line-height:1.4;
}
.tt-bar-item .tt-ico{
  color:var(--c-accent);
}
.tt-bar-contact{
  display:flex;
  align-items:center;
  gap:26px;
  flex:none;
}
.tt-bar-contact a.tt-bar-item{
  transition:color .2s ease;
}
.tt-bar-contact a.tt-bar-item:hover{
  color:var(--c-accent);
}

.site-header,
.site-header-sticky{
  background:rgba(255,255,255,0.94);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 10px 30px rgba(11,31,12,0.10);
}
#site-header .site-header-inner,
#site-header-sticky .site-header-inner{
  min-height:82px;
  gap:32px;
}

#site-header .site-header-inner .header-brand{
  margin:18px 0;
}

#site-header .header-brand img{
  height:44px;
  width:auto;
  max-width:none;
}

#site-header .menu-primary,
#site-header-sticky .menu-primary{
  justify-content:flex-end;
  align-items:center;

  flex-wrap:wrap;
  gap:0 26px;
}
#site-header .menu-primary > li,
#site-header-sticky .menu-primary > li{
  flex:0 0 auto;
}
#site-header .menu-primary > li > a,
#site-header-sticky .menu-primary > li > a{
  position:relative;
  cursor:pointer;
  font-size:15px;
  font-weight:600;
  letter-spacing:0.005em;
  padding-top:6px;
  padding-bottom:6px;
  transition:color .2s ease;
}
#site-header .menu-primary > li:not(.button) > a:hover,
#site-header .menu-primary > li:not(.button):hover > a,
#site-header-sticky .menu-primary > li:not(.button) > a:hover,
#site-header-sticky .menu-primary > li:not(.button):hover > a{
  color:var(--c-surface-2);
}

#site-header .menu-primary > li > a::after,
#site-header-sticky .menu-primary > li > a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:2px;
  height:3px;
  border-radius:2px;
  background:var(--c-accent);
  transition:right .25s ease;
}
#site-header .menu-primary > li > a:hover::after,
#site-header .menu-primary > li:hover > a::after,
#site-header .menu-primary > li.current-menu-item > a::after,
#site-header-sticky .menu-primary > li > a:hover::after,
#site-header-sticky .menu-primary > li:hover > a::after,
#site-header-sticky .menu-primary > li.current-menu-item > a::after{
  right:0;
}

#site-header .menu-primary > li.menu-item-has-children > a,
#site-header-sticky .menu-primary > li.menu-item-has-children > a{
  padding-right:17px;
}
#site-header .menu-primary > li.menu-item-has-children > a::before,
#site-header-sticky .menu-primary > li.menu-item-has-children > a::before{
  content:"";
  position:absolute;
  right:1px;
  top:50%;
  width:6px;
  height:6px;
  margin-top:-5px;
  border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;
  transform:rotate(45deg);
  opacity:0.45;
  transition:transform .25s ease, opacity .25s ease;
}
#site-header .menu-primary > li.menu-item-has-children:hover > a::before,
#site-header-sticky .menu-primary > li.menu-item-has-children:hover > a::before{
  transform:rotate(-135deg);
  opacity:1;
}

#site-header .menu-primary li.button,
#site-header-sticky .menu-primary li.button{
  width:auto;
  margin-left:14px;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
#site-header .menu-primary li.button > a,
#site-header-sticky .menu-primary li.button > a{
  width:auto;
  display:inline-block;
  color:var(--c-ink);
  padding:13px 30px;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:0.045em;
  text-transform:uppercase;
  border-radius:3px;
}
#site-header .menu-primary li.button:hover,
#site-header-sticky .menu-primary li.button:hover{
  background:var(--c-accent-bright);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(183,218,85,0.45);
}

#site-header .menu-primary > li > .sub-menu,
#site-header-sticky .menu-primary > li > .sub-menu{
  background:#fff;
  border-top:3px solid var(--c-accent);
  border-radius:0 0 12px 12px;
  box-shadow:0 20px 44px rgba(11,31,12,0.20);
}
#site-header .menu-primary .sub-menu::before,
#site-header-sticky .menu-primary .sub-menu::before{
  display:none;
}
#site-header .menu-primary .sub-menu li::after,
#site-header-sticky .menu-primary .sub-menu li::after{
  display:none;
}
#site-header .menu-primary .sub-menu li > a::after,
#site-header-sticky .menu-primary .sub-menu li > a::after{
  background:transparent;
}
#site-header .menu-primary > li:not(.megamenu) > .sub-menu,
#site-header-sticky .menu-primary > li:not(.megamenu) > .sub-menu{
  padding:10px;
  min-width:250px;
}
#site-header .menu-primary > li:not(.megamenu) > .sub-menu > li > a,
#site-header-sticky .menu-primary > li:not(.megamenu) > .sub-menu > li > a{
  padding:11px 16px;
  border-radius:8px;
  color:var(--c-ink);
  font-weight:500;
  transition:background .2s ease, color .2s ease;
}
#site-header .menu-primary > li:not(.megamenu) > .sub-menu > li > a::before,
#site-header-sticky .menu-primary > li:not(.megamenu) > .sub-menu > li > a::before{
  display:none;
}
#site-header .menu-primary > li:not(.megamenu) > .sub-menu > li > a:hover,
#site-header-sticky .menu-primary > li:not(.megamenu) > .sub-menu > li > a:hover{
  background:rgba(183,218,85,0.20);
  color:var(--c-surface-2);
}
#site-header .menu-primary > li.megamenu > .sub-menu,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu{
  padding:18px 12px;
  border-radius:0 0 14px 14px;
}
#site-header .menu-primary > li.megamenu > .sub-menu > li,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li{
  border:0 !important;
}
#site-header .menu-primary > li.megamenu > .sub-menu > li > a,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li > a{
  padding:16px 8px;
  border-radius:10px;
  color:var(--c-ink);
  font-weight:600;
  font-size:13.5px;
  line-height:1.35;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
#site-header .menu-primary > li.megamenu > .sub-menu > li > a:hover,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li > a:hover{
  background:rgba(183,218,85,0.18);
  color:var(--c-surface-2);
  transform:translateY(-3px);
}
#site-header .menu-primary > li.megamenu > .sub-menu > li > a img,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li > a img{
  transition:transform .2s ease;
}
#site-header .menu-primary > li.megamenu > .sub-menu > li > a:hover img,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li > a:hover img{
  transform:scale(1.07);
}
#site-header .menu-primary > li.menu-item-1854 > .sub-menu,
#site-header-sticky .menu-primary > li.menu-item-1854 > .sub-menu{
  display:grid;
  grid-template-columns:repeat(11,minmax(0,1fr));
  gap:2px;
}
#site-header .menu-primary > li.menu-item-1854 > .sub-menu > li,
#site-header-sticky .menu-primary > li.menu-item-1854 > .sub-menu > li{
  width:auto;
}
#site-header .menu-primary > li.menu-item-1854 > .sub-menu > li > a,
#site-header-sticky .menu-primary > li.menu-item-1854 > .sub-menu > li > a{
  height:100%;
  box-sizing:border-box;
  padding:12px 4px;
  font-size:12px;
  line-height:1.3;
  white-space:normal;
  overflow-wrap:break-word;
  hyphens:auto;
}
#site-header .menu-primary > li.menu-item-1854 .tt-menu-ico,
#site-header-sticky .menu-primary > li.menu-item-1854 .tt-menu-ico{
  width:44px;
  height:44px;
  margin:0 auto 8px;
  border-radius:12px;
}
#site-header .menu-primary > li.menu-item-1854 .tt-menu-ico svg,
#site-header-sticky .menu-primary > li.menu-item-1854 .tt-menu-ico svg{
  width:23px;
  height:23px;
}
#site-header .menu-primary .tt-menu-ico,
#site-header-sticky .menu-primary .tt-menu-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  margin:4px auto 12px;
  border-radius:16px;
  background:rgba(183,218,85,0.22);
  color:var(--c-surface-2);
  transition:background .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
#site-header .menu-primary .tt-menu-ico svg,
#site-header-sticky .menu-primary .tt-menu-ico svg{
  display:block;
  width:30px;
  height:30px;
}
#site-header .menu-primary > li.megamenu > .sub-menu > li > a:hover .tt-menu-ico,
#site-header-sticky .menu-primary > li.megamenu > .sub-menu > li > a:hover .tt-menu-ico{
  background:var(--c-accent);
  color:var(--c-ink);
  transform:scale(1.06);
  box-shadow:0 8px 18px rgba(18,33,15,0.18);
}

#site-header-sticky .site-header-inner{
  min-height:68px;
}
#site-header-sticky .site-header-inner .header-brand{
  margin:14px 0;
}
#site-header-sticky .header-brand img{
  height:36px;
  width:auto;
  max-width:none;
}

.site-footer{
  background:var(--c-bg);
  border-top:4px solid var(--c-accent);
}
body.home .site-footer{
  margin-top:0;
}
#site .site-footer .content-bottom-widgets{
  background:var(--c-bg);
  padding:52px 0;
}
#site .site-footer .footer-widgets{
  background:var(--c-bg-2);
  padding:64px 0 56px;
}
.footer-copyright{
  background:#081508;
  padding-bottom:24px;
}
.tt-at-footer .aichat-widget,
.tt-at-footer #simple-chat-button--container{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.aichat-widget,
#simple-chat-button--container{
  transition:opacity .25s ease, visibility .25s ease;
}
#site .site-footer .widget{
  margin:0 0 34px;
}
#site .site-footer .widget:last-child{
  margin-bottom:0;
}

#site .site-footer .footer-aside-wrap,
#site .site-footer .content-bottom-aside-wrap{
  margin-left:0;
  margin-right:0;
}

.site-footer .content-bottom-aside-wrap aside:empty{
  display:none;
}

#site .site-footer .content-bottom-aside-wrap aside{
  width:100%;
  float:none;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:44px;
  align-items:start;
}
#site .site-footer .content-bottom-aside-wrap .widget{
  margin:0;
}
.site-footer .content-bottom-aside-wrap{
  color:rgba(246,247,240,0.8);
}
.site-footer .content-bottom-aside-wrap h3{
  font-family:var(--font-body);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--c-accent);
  margin:0 0 10px;
}
.site-footer .content-bottom-aside-wrap h2{
  font-family:var(--font-display);
  font-size:clamp(28px,3vw,38px);
  line-height:1;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 12px;
}
.site-footer .content-bottom-aside-wrap .textwidget p{
  margin:0;
  font-size:15px;
  line-height:1.65;
  max-width:46ch;
}
.site-footer .content-bottom-aside-wrap strong{
  color:#fff;
}
.site-footer .content-bottom-aside-wrap a{
  color:rgba(246,247,240,0.85);
  transition:color .2s ease;
}
.site-footer .content-bottom-aside-wrap a:hover{
  color:var(--c-accent);
}

.site-footer .infoBox{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:28px 40px;
}

#site .site-footer .infoBox li{
  padding-left:0;
  margin:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:0 12px;
  align-items:start;
}
.site-footer .infoBox li::before{
  display:none;
}
.site-footer .infoBox li > svg{
  color:var(--c-accent);
  margin-top:2px;
}
.site-footer .infoBox strong{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#fff;
  line-height:1.2;
}
.site-footer .infoBox p{
  grid-column:2;
  margin:6px 0 0;
  font-size:15px;
  line-height:1.6;
  white-space:pre-line;
}

.site-footer .infoBox p span{
  display:block;
  padding-left:0;
  margin-left:0;
}
.site-footer .infoBox p span::before{
  display:none;
}

#site .site-footer .footer-aside-wrap{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:44px 40px;
}
#site .site-footer .footer-aside-wrap::before,
#site .site-footer .footer-aside-wrap::after{
  display:none;
}
#site .site-footer .footer-aside-wrap aside[data-width]{
  width:auto;
  float:none;
  padding:0;
}

#site .site-footer .footer-widgets .widget-title,
#site .site-footer .footer-widgets h3{
  position:relative;
  color:#fff;
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
  padding-bottom:12px;
  margin-bottom:20px;
}
.footer-widgets .widget-title::after,
.footer-widgets h3::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:34px;
  height:3px;
  background:var(--c-accent);
}
.footer-widgets aside{
  color:rgba(246,247,240,0.72);
}
.footer-widgets aside strong{
  color:#fff;
}
.footer-widgets .textwidget p{
  margin:0;
  font-size:14.5px;
  line-height:1.7;
}
.footer-widgets .menu{
  list-style:none;
  margin:0;
  padding:0;
}
.footer-widgets .menu li{
  margin:0 0 11px;
}
.footer-widgets .menu li:last-child{
  margin-bottom:0;
}
.footer-widgets .menu li::before,
.footer-widgets .menu li::after{
  display:none;
}
.footer-widgets .menu a{
  display:inline-block;
  font-size:14.5px;
  line-height:1.45;
}

.footer-widgets a{
  color:rgba(246,247,240,0.85);
  transition:color .2s ease, transform .2s ease;
}
.footer-widgets a:hover{
  color:var(--c-accent);
  padding-left:0;
  transform:translateX(3px);
}

#site .site-footer .footer-copyright .copyright-bar{
  box-sizing:border-box;
  width:100%;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:14px 24px;

  padding:20px 78px 20px 0;
}
#site .site-footer .footer-copyright .copyright-content{
  order:0;
  color:rgba(246,247,240,0.65);
  font-size:14px;
  line-height:1.5;
  margin:0;
}
#site .site-footer .footer-copyright .social-icons{
  order:1;
  position:static;
  left:auto;
  top:auto;
  transform:none;
  display:flex;
  align-items:center;
  gap:10px;
}
#site .site-footer .footer-copyright .social-icons a{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  background:transparent;
  border:1px solid rgba(183,218,85,0.45);
  color:var(--c-accent);
  border-radius:50%;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
#site .site-footer .footer-copyright .social-icons a:hover{
  background:var(--c-accent);
  border-color:var(--c-accent);
  color:var(--c-ink);
}
.footer-copyright .go-to-top a{
  background:var(--c-accent);
  color:var(--c-ink);
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  transition:background .2s ease, transform .2s ease;
}
.footer-copyright .go-to-top a:hover{
  background:var(--c-accent-bright);
  transform:translateY(-50%) scale(1.06);
}

.footer-copyright .go-to-top a > span{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

.tt-hero-eyebrow::before{
  display:none;
}

@media (max-width:1180px){
  .tt-bar-addr{display:none;}
}

@media (max-width:1100px){
  #site .site-footer .footer-aside-wrap{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:900px){
  #site-topbar .tt-bar-contact{display:none;}
  #site-topbar .site-topbar-inner{justify-content:center;}
  #site-topbar .topbar-text{text-align:left;}
  .tt-bar-lead{align-items:flex-start;}
  .tt-bar-lead .tt-ico{margin-top:2px;}
  #site-header .site-header-inner{min-height:70px;}
  #site-header .header-brand img{height:36px;}
  #site .site-footer .content-bottom-widgets{padding:40px 0;}
  #site .site-footer .footer-widgets{padding:48px 0 40px;}
  #site .site-footer .content-bottom-aside-wrap aside{
    grid-template-columns:minmax(0,1fr);
    gap:32px;
  }
}

@media (max-width:620px){
  #site .site-footer .footer-aside-wrap{grid-template-columns:minmax(0,1fr);gap:36px;}
  .site-footer .infoBox{gap:22px;}
  #site .site-footer .footer-copyright .copyright-bar{
    flex-direction:column;
    justify-content:center;
    text-align:center;
    gap:16px;
    padding:20px 0 68px;
  }
  .footer-copyright .go-to-top a{
    top:auto;
    bottom:14px;
    right:50%;
    transform:translateX(50%);
  }
  .footer-copyright .go-to-top a:hover{
    transform:translateX(50%) scale(1.06);
  }
}

@media (min-width:1025px) and (max-width:1365px){
  #site-header .menu-primary,
  #site-header-sticky .menu-primary{gap:0 18px;}
  #site-header .menu-primary li.button,
  #site-header-sticky .menu-primary li.button{margin-left:10px;}
  #site-header .menu-primary li.button > a,
  #site-header-sticky .menu-primary li.button > a{padding:12px 22px;}
}

@media (min-width:1025px) and (max-width:1199px){
  #site-header .site-header-inner,
  #site-header-sticky .site-header-inner{gap:20px;}
  #site-header .header-brand img{height:36px;}
  #site-header-sticky .header-brand img{height:32px;}
  #site-header .menu-primary,
  #site-header-sticky .menu-primary{gap:0 12px;}
  #site-header .menu-primary > li > a,
  #site-header-sticky .menu-primary > li > a{font-size:13.5px;}
  #site-header .menu-primary li.button,
  #site-header-sticky .menu-primary li.button{margin-left:6px;}
  #site-header .menu-primary li.button > a,
  #site-header-sticky .menu-primary li.button > a{padding:11px 16px;font-size:12.5px;}
}

::selection{
  background:var(--c-accent);
  color:var(--c-ink);
}
.breadcrumbs a{
  transition:color .2s ease;
}
.breadcrumbs a:hover{
  color:var(--c-surface-2);
}
.main-content p a,
.main-content li a,
.main-content h2 a,
.main-content h3 a{
  color:inherit;
  text-decoration:none;
  box-shadow:inset 0 -1px 0 rgba(183,218,85,0.6);
  transition:box-shadow .2s ease,color .2s ease;
}
.main-content p a:hover,
.main-content li a:hover,
.main-content h2 a:hover,
.main-content h3 a:hover{
  color:var(--c-surface-2);
  box-shadow:inset 0 -2px 0 var(--c-accent);
}
.button.white:hover{
  background:var(--c-cream-2);
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(11,31,12,0.12);
}
.elementor-widget-html a{
  transition:color .2s ease, padding-left .2s ease;
}
.elementor-widget-html a:hover{
  color:var(--c-surface-2);
  padding-left:4px;
}

.menu-item-244.button.primary{
  background:var(--c-ink) !important;
  border-radius:2px;
  box-shadow:none !important;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.menu-item-244.button.primary > a{
  color:var(--c-accent) !important;
}
.menu-item-244.button.primary:hover{
  background:var(--c-accent) !important;
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(18,33,15,0.25) !important;
}
.menu-item-244.button.primary:hover > a{
  color:var(--c-ink) !important;
}

@media (min-width:1025px){
  .site-header .header-content,
  .site-header-sticky .header-content{
    display:flex;
    align-items:center;
    height:100%;
  }

  .site-header .navigator,
  .site-header-sticky .navigator{
    margin-top:0 !important;
    flex:1;
  }
}

.tt-subpages{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:24px;
  margin:0 0 56px;
}
.tt-subpage-card{
  display:flex;
  flex-direction:column;
  background:var(--c-white);
  border:1px solid rgba(20,60,20,0.1);
  text-decoration:none;
  overflow:hidden;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.tt-subpage-card:hover{
  transform:translateY(-3px);
  border-color:var(--c-accent);
  box-shadow:0 12px 28px rgba(18,33,15,0.12);
}
.tt-subpage-media{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--c-cream);
}
.tt-subpage-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
}
.tt-subpage-card:hover .tt-subpage-media img{
  transform:scale(1.04);
}
#site .tt-subpage-title{
  margin:0;
  padding:18px 20px;
  font-family:var(--font-display);
  font-size:20px;
  line-height:1.2;
  text-transform:uppercase;
  color:var(--c-ink);
}
#site .tt-subpage-title::after{
  content:" \2192";
  color:var(--c-surface-2);
}

.tt-page-ico{
  display:flex;
  align-items:center;
  justify-content:center;
  width:88px;
  height:88px;
  margin:0 auto 16px;
  border-radius:20px;
  background:rgba(183,218,85,0.22);
  color:var(--c-surface-2);
}
.tt-page-ico svg{
  display:block;
  width:46px;
  height:46px;
}

.site-content .content-header.content-header-featured{
  background-color:var(--c-bg);
}
.site-content .content-header.content-header-featured::before{
  background:linear-gradient(90deg, rgba(11,31,12,0.95) 0%, rgba(11,31,12,0.85) 40%, rgba(11,31,12,0.55) 100%);
  opacity:1;
}
.site-content .content-header-center.content-header-featured::before{
  height:auto;
  bottom:0;
}
.site-content .content-header.content-header-featured::after{
  display:none;
}
.site-content .content-header.content-header-featured .content-header-inner{
  position:relative;
  z-index:1;
}
#site .content-header.content-header-featured .page-title-inner{
  color:var(--c-white);
}
#site .content-header.content-header-featured .subtitle{
  color:rgba(246,247,240,0.85);
}
#site .content-header.content-header-featured .breadcrumbs,
#site .content-header.content-header-featured .breadcrumbs a{
  color:rgba(246,247,240,0.7);
}
#site .content-header.content-header-featured .breadcrumbs a:hover{
  color:var(--c-accent);
}

.tt-offer{
  position:relative;
  z-index:11;
  background:var(--c-accent);
  color:var(--c-ink);
  font-family:var(--font-body);
}
.tt-offer-closed .tt-offer{
  display:none;
}
.tt-offer .tt-offer-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:44px;
  padding-top:6px;
  padding-bottom:6px;
  padding-right:56px;
}
.tt-offer .tt-offer-main{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:4px 12px;
  color:var(--c-ink);
  font-size:14px;
  line-height:1.3;
  text-decoration:none;
}
.tt-offer .tt-offer-main:hover .tt-offer-title{
  text-decoration:underline;
}
.tt-offer-badge{
  padding:3px 8px;
  border-radius:2px;
  background:var(--c-ink);
  color:var(--c-accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
.tt-offer-title{
  font-weight:700;
  letter-spacing:0.02em;
  text-transform:uppercase;
}
.tt-offer-was{
  text-decoration:line-through;
  opacity:0.7;
}
.tt-offer-now{
  font-weight:800;
}
.tt-offer-save{
  font-weight:700;
}
.tt-offer .tt-offer-call{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex:none;
  padding:7px 14px;
  border-radius:2px;
  background:var(--c-ink);
  color:var(--c-accent);
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.tt-offer .tt-offer-call:hover{
  background:var(--c-surface);
  color:var(--c-accent-bright);
}
.tt-offer .tt-offer-call svg{
  width:15px;
  height:15px;
  flex:none;
}
.tt-offer .tt-offer-close{
  position:absolute;
  top:50%;
  right:12px;
  width:32px;
  height:32px;
  margin:0;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  border:0;
  border-radius:50%;
  background:transparent;
  box-shadow:none;
  color:var(--c-ink);
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.tt-offer .tt-offer-close:hover{
  background:rgba(18,33,15,0.12);
}

@media (max-width:900px){
  .tt-offer-badge,
  .tt-offer-was{
    display:none;
  }
}

@media (max-width:620px){
  .tt-offer .tt-offer-inner{
    justify-content:flex-start;
    gap:10px;
    padding-left:12px;
    padding-right:48px;
  }
  .tt-offer .tt-offer-main{
    flex-wrap:nowrap;
    gap:6px;
    font-size:13px;
  }
  .tt-offer-title,
  .tt-offer-call-label{
    display:none;
  }
  .tt-offer .tt-offer-call{
    padding:6px 10px;
    font-size:12px;
  }
  .tt-offer .tt-offer-close{
    right:6px;
  }
}

.single-post #site .post-content,
body:not(.home) #site .site-content .elementor-widget-text-editor{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.75;
}
.single-post #site .post-content{
  color:#34412F;
}
:where(body:not(.home) #site .site-content) .elementor-widget-text-editor{
  color:#34412F;
}
.single-post #site .post-content p,
body:not(.home) #site .site-content .elementor-widget-text-editor p{
  font-size:inherit;
  line-height:inherit;
  margin:0 0 1.15em;
}
.single-post #site .post-content p{
  color:inherit;
}
.single-post #site .post-content > p:first-child{
  font-size:20px;
  line-height:1.6;
  font-weight:500;
  color:var(--c-ink);
}
.single-post #site .post-content h2,
body:not(.home) #site .site-content .elementor-widget-text-editor h2{
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(28px,3.2vw,38px);
  line-height:1.04;
  letter-spacing:0.005em;
  text-transform:uppercase;
  color:var(--c-ink);
  margin:1.9em 0 0.55em;
  text-wrap:balance;
}
.single-post #site .post-content h2::before,
body:not(.home) #site .site-content .elementor-widget-text-editor h2::before{
  content:"";
  display:block;
  width:44px;
  height:4px;
  border-radius:2px;
  background:var(--c-accent);
  margin:0 0 14px;
}
.single-post #site .post-content h3,
body:not(.home) #site .site-content .elementor-widget-text-editor h3{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(22px,2.3vw,27px);
  line-height:1.15;
  letter-spacing:0.005em;
  text-transform:none;
  color:var(--c-surface);
  margin:1.6em 0 0.5em;
  text-wrap:balance;
}
.single-post #site .post-content h3::before,
body:not(.home) #site .site-content .elementor-widget-text-editor h3::before{
  content:"";
  display:inline-block;
  width:9px;
  height:0.72em;
  margin-right:12px;
  background:var(--c-accent);
  transform:skewX(-18deg);
  vertical-align:0.02em;
}
.single-post #site .post-content h4,
body:not(.home) #site .site-content .elementor-widget-text-editor h4{
  font-family:var(--font-body);
  font-weight:700;
  font-size:14px;
  line-height:1.45;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#3F6B2C;
  margin:1.7em 0 0.5em;
}
.single-post #site .post-content > :first-child,
body:not(.home) #site .site-content .elementor-widget-text-editor .elementor-widget-container > :first-child,
body:not(.home) #site .site-content .elementor-widget-text-editor .elementor-widget-container > div:first-child > :first-child,
body:not(.home) #site .site-content .elementor-widget-text-editor > :first-child{
  margin-top:0;
}
.single-post #site .post-content strong,
.single-post #site .post-content b,
body:not(.home) #site .site-content .elementor-widget-text-editor strong,
body:not(.home) #site .site-content .elementor-widget-text-editor b{
  font-weight:600;
  color:inherit;
  background:linear-gradient(transparent 62%,rgba(183,218,85,0.5) 62%);
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
  padding:0 0.08em;
}
.single-post #site .post-content strong,
.single-post #site .post-content b{
  color:var(--c-ink);
}
.single-post #site .post-content h2 strong,
.single-post #site .post-content h3 strong,
.single-post #site .post-content h4 strong,
.single-post #site .post-content th strong,
body:not(.home) #site .site-content .elementor-widget-text-editor h2 strong,
body:not(.home) #site .site-content .elementor-widget-text-editor h3 strong,
body:not(.home) #site .site-content .elementor-widget-text-editor h4 strong{
  background:none;
  padding:0;
  font-weight:inherit;
}
.single-post #site .post-content a,
body:not(.home) #site .site-content .elementor-widget-text-editor a{
  color:#2F5A1F;
  font-weight:500;
  text-decoration:underline;
  text-decoration-color:var(--c-accent);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
  transition:background-color .15s ease,color .15s ease;
}
.single-post #site .post-content a:hover,
body:not(.home) #site .site-content .elementor-widget-text-editor a:hover{
  color:var(--c-ink);
  background:rgba(183,218,85,0.28);
}
.single-post #site .post-content a:has(img),
body:not(.home) #site .site-content .elementor-widget-text-editor a:has(img){
  background:none;
  text-decoration:none;
}
.single-post #site .post-content ul,
body:not(.home) #site .site-content .elementor-widget-text-editor ul{
  list-style:none;
  margin:0 0 1.4em;
  padding:0;
}
.single-post #site .post-content ul > li,
body:not(.home) #site .site-content .elementor-widget-text-editor ul > li{
  position:relative;
  list-style:none;
  padding-left:30px;
  margin:0 0 0.55em;
}
.single-post #site .post-content ul > li::before,
body:not(.home) #site .site-content .elementor-widget-text-editor ul > li::before{
  content:"";
  position:absolute;
  left:3px;
  top:0.72em;
  width:14px;
  height:6px;
  border-radius:1px;
  background:var(--c-accent);
  transform:skewX(-28deg);
}
.single-post #site .post-content ol,
body:not(.home) #site .site-content .elementor-widget-text-editor ol{
  list-style:none;
  counter-reset:tt-ol;
  margin:0 0 1.4em;
  padding:0;
}
.single-post #site .post-content ol > li,
body:not(.home) #site .site-content .elementor-widget-text-editor ol > li{
  counter-increment:tt-ol;
  position:relative;
  list-style:none;
  padding-left:46px;
  margin:0 0 0.8em;
  min-height:30px;
}
.single-post #site .post-content ol > li::before,
body:not(.home) #site .site-content .elementor-widget-text-editor ol > li::before{
  content:counter(tt-ol);
  position:absolute;
  left:0;
  top:0.08em;
  width:30px;
  height:30px;
  border-radius:8px;
  background:var(--c-ink);
  color:var(--c-accent);
  font-family:var(--font-display);
  font-weight:800;
  font-size:17px;
  line-height:30px;
  text-align:center;
}
.single-post #site .post-content li > ul,
.single-post #site .post-content li > ol,
body:not(.home) #site .site-content .elementor-widget-text-editor li > ul,
body:not(.home) #site .site-content .elementor-widget-text-editor li > ol{
  margin:0.55em 0 0;
}
.single-post #site .post-content table,
body:not(.home) #site .site-content .elementor-widget-text-editor table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  margin:1.8em 0;
  font-size:15px;
  line-height:1.5;
  border:1px solid #DCE3CC;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
}
.single-post #site .post-content th,
.single-post #site .post-content thead td,
body:not(.home) #site .site-content .elementor-widget-text-editor th,
body:not(.home) #site .site-content .elementor-widget-text-editor thead td{
  background:var(--c-bg);
  color:var(--c-cream);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  text-align:left;
  padding:13px 16px;
  border:0;
}
.single-post #site .post-content td,
body:not(.home) #site .site-content .elementor-widget-text-editor td{
  padding:12px 16px;
  border:0;
  border-top:1px solid #E4EAD6;
  vertical-align:top;
  color:#34412F;
}
.single-post #site .post-content tr:first-child > td,
body:not(.home) #site .site-content .elementor-widget-text-editor tr:first-child > td{
  border-top:0;
}
.single-post #site .post-content tbody tr:nth-child(even) > td,
body:not(.home) #site .site-content .elementor-widget-text-editor tbody tr:nth-child(even) > td{
  background:#F5F8EC;
}
.single-post #site .post-content td strong,
body:not(.home) #site .site-content .elementor-widget-text-editor td strong{
  background:none;
  padding:0;
}
.single-post #site .post-content table:not(:has(th)) td:first-child,
body:not(.home) #site .site-content .elementor-widget-text-editor table:not(:has(th)) td:first-child{
  font-weight:600;
  color:var(--c-ink);
}
.single-post #site .post-content img,
body:not(.home) #site .site-content .elementor-widget-text-editor img{
  border-radius:14px;
}
.single-post #site .post-content hr,
body:not(.home) #site .site-content .elementor-widget-text-editor hr{
  border:0;
  height:4px;
  width:64px;
  border-radius:2px;
  background:var(--c-accent);
  margin:2.4em 0;
}
.single-post #site .post-content blockquote,
body:not(.home) #site .site-content .elementor-widget-text-editor blockquote{
  margin:1.8em 0;
  padding:18px 24px;
  border-left:4px solid var(--c-accent);
  border-radius:0 12px 12px 0;
  background:#F5F8EC;
  font-size:19px;
  color:var(--c-ink);
}

body:not(.home) #site .site-content .elementor-widget-heading .elementor-heading-title{
  font-family:var(--font-display);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:0.01em;
  line-height:1.08;
  text-wrap:balance;
}
:where(body:not(.home) #site .site-content) .elementor-widget-heading .elementor-heading-title{
  color:var(--c-ink);
}

#site .site-content .content-header .page-title-inner{
  font-family:var(--font-display);
  font-weight:800;
  text-transform:uppercase;
  font-size:clamp(38px,4.8vw,64px);
  letter-spacing:0.005em;
  line-height:1.02;
  text-wrap:balance;
}
.single-post .site-content .content-header{
  background:linear-gradient(120deg,var(--c-bg) 0%,var(--c-bg-2) 55%,var(--c-surface) 100%);
}
.single-post #site .content-body{
  padding-top:56px;
}
.single-post #site .content-header .page-title-inner{
  color:var(--c-white);
  font-size:clamp(34px,4.4vw,58px);
}
.single-post #site .content-header .breadcrumbs,
.single-post #site .content-header .breadcrumbs a{
  color:rgba(246,247,240,0.7);
}
.single-post #site .content-header .breadcrumbs a:hover{
  color:var(--c-accent);
}
.single-post #site .content-header .post-meta-single,
.single-post #site .content-header .post-meta-single a{
  color:var(--c-white);
}
.single-post #site .content-header .post-meta-single .prefix,
.single-post #site .content-header .post-meta-single .prefix a{
  color:var(--c-accent);
}
.single-post #site .content-header .post-navigation a{
  border-color:rgba(183,218,85,0.35);
  color:var(--c-white);
  background:transparent;
}
.single-post #site .content-header .post-navigation a:hover{
  border-color:var(--c-accent);
  background:var(--c-accent);
  color:var(--c-ink);
}
@media (max-width:900px){
  .single-post #site .content-header .post-navigation .nav-links{
    position:static;
    width:auto;
    margin-top:28px;
  }
  .single-post #site .content-header .post-navigation .nav-links li{
    flex:1 1 0;
  }
}

.single-post #site .post-categories,
.single-post #site .post-tags{
  font-size:0;
}
.single-post #site .post-categories > *,
.single-post #site .post-tags > *{
  font-size:12px;
}
.single-post #site .post-categories span{
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#6B7766;
  margin-right:10px;
}
.single-post #site .post-categories a,
.single-post #site .post-tags a{
  display:inline-block;
  margin:0 6px 6px 0;
  padding:5px 12px;
  border-radius:999px;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  text-decoration:none;
  transition:background-color .15s ease,color .15s ease;
}
.single-post #site .post-categories a{
  background:rgba(183,218,85,0.28);
  color:var(--c-ink);
}
.single-post #site .post-tags a{
  border:1px solid #DCE3CC;
  color:#3F6B2C;
  background:transparent;
}
.single-post #site .post-categories a:hover,
.single-post #site .post-tags a:hover{
  background:var(--c-ink);
  border-color:var(--c-ink);
  color:var(--c-accent);
}

#site .main-sidebar .widget-title{
  font-family:var(--font-display);
  font-weight:800;
  font-size:26px;
  line-height:1.05;
  letter-spacing:0.01em;
  text-transform:uppercase;
  color:var(--c-ink);
}
#site .main-sidebar .widget-title::after{
  content:"";
  display:block;
  width:36px;
  height:4px;
  border-radius:2px;
  background:var(--c-accent);
  margin-top:10px;
}
#site .main-sidebar .widget_recent_entries li a{
  font-family:var(--font-body);
  font-weight:600;
  color:var(--c-ink);
  transition:color .15s ease;
}
#site .main-sidebar .widget_recent_entries li a:hover{
  color:#3F6B2C;
}

.blog-grid #site .post-header .post-title,
.blog-grid #site .post-header .post-title a{
  font-family:var(--font-display);
  font-weight:700;
  font-size:26px;
  line-height:1.12;
  letter-spacing:0.005em;
  color:var(--c-ink);
  text-wrap:balance;
}
.blog-grid #site .post-header .post-title a:hover{
  color:#3F6B2C;
}
.blog-grid #site .post-header .post-categories a{
  font-family:var(--font-body);
  font-weight:700;
  font-size:12px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#3F6B2C;
}
.blog-grid #site .post-header .post-categories a:hover{
  color:var(--c-ink);
}
.blog-grid #site .hentry .post-content p{
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.65;
  color:#4A5745;
}
.blog-grid #site .post-footer .post-author,
.blog-grid #site .post-footer .post-date{
  font-family:var(--font-body);
}
.blog-grid #site .post-footer .post-author a{
  color:#3F6B2C;
  font-weight:600;
}

@media (max-width:767px){
  .single-post #site .post-content,
  body:not(.home) #site .site-content .elementor-widget-text-editor{
    font-size:16px;
    line-height:1.7;
  }
  .single-post #site .post-content > p:first-child{
    font-size:18px;
  }
  .single-post #site .content-body{
    padding-top:32px;
  }
  .single-post #site .post-content table,
  body:not(.home) #site .site-content .elementor-widget-text-editor table{
    display:block;
    overflow-x:auto;
  }
}

/* =====================================================================
   Custom Exhausts additions (2026-09-21)

   Everything above this block is The Tuner's stylesheet, copied unchanged
   from thetuner-dev (theme thetuner-custom), so the two sites share one
   design. To pick up a later change on The Tuner, replace everything above
   with its new custom.css and keep this block.

   What follows is this site's own: things The Tuner has no counterpart for
   (the contact page, the reviews block, the workshop video cards),
   accessibility fixes, form fields on the service pages, and the chat
   widget spacing on phones.
   ===================================================================== */

:root{
  --font-label:var(--font-body);
  --c-steel:#4A5A46;
}

/* -- Utilities --------------------------------------------------------- */
/* Links that leave the site. */
.ce-ext{margin-left:5px;font-size:.8em;line-height:1;opacity:.7;}
.ce-sr{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

/* -- Readability ------------------------------------------------------- */
/* The Tuner sets card and icon-grid text at 15px and card links at 13px.
   One step up reads more easily, without changing the layout. */
.tt-service-desc,
.tt-why-label{font-size:16px;}
.tt-service-link{font-size:14px;}

/* -- Header: the Services dropdown ---------------------------------------- */
/* The Tuner lays its Services dropdown out as 11 equal columns, one per
   service it offers. This site has 8, so three empty columns left a blank
   stretch at the right of the panel. One column per item instead, however
   many services the menu holds. */
#site-header .menu-primary > li.menu-item-1854 > .sub-menu,
#site-header-sticky .menu-primary > li.menu-item-1854 > .sub-menu{
  grid-template-columns:none;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
}

/* -- Header: keyboard access to the dropdowns --------------------------- */
/* The parent opens submenus on hover only; :focus-within lets the keyboard
   in too. #site outranks the parent's .header-style1 nav.navigator rules. */
#site .navigator .menu li:focus-within > .sub-menu{
  visibility:visible;
  opacity:1;
  transform:perspective(200px) rotateX(0);
}

/* -- Homepage ---------------------------------------------------------- */
/* The Tuner sets these two colours inline on its CTA strip button. */
.tt-btn-on-dark{border-color:rgba(183,218,85,0.5);color:#fff;}

/* The offer bar. The Tuner's keeps its price on phones and drops the badge
   and the title; this bar's offer is the badge itself, so the badge stays. */
@media (max-width:900px){
  .tt-offer-badge{display:inline-block;}
}

/* The hero video loops on its own, so there is a way to stop it (WCAG
   2.2.2), but it stays out of sight: shown on screen it read as a stray bar
   over the hero (The Tuner has none). It appears when reached with the Tab
   key; anyone with "reduce motion" set gets the still poster anyway (see
   front-page.php). When shown: bottom right of the text column on desktop,
   top right under the header on phones, clear of the WhatsApp button and the
   chat bubble. */
.ce-hero-pause:not(:focus-visible){
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}
.ce-hero-pause{
  position:absolute;
  right:24px;
  bottom:40px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 14px;
  border:1px solid rgba(255,255,255,0.45);
  border-radius:2px;
  background:rgba(11,31,12,0.55);
  color:#fff;
  font-family:var(--font-body);
  font-weight:600;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:border-color .2s ease,color .2s ease;
}
.ce-hero-pause::before{
  content:"";
  box-sizing:border-box;
  width:10px;
  height:12px;
  border-left:3px solid currentColor;
  border-right:3px solid currentColor;
}
.ce-hero-pause[aria-pressed="true"]::before{
  width:0;
  height:0;
  border-style:solid;
  border-width:6px 0 6px 10px;
  border-color:transparent transparent transparent currentColor;
}
.ce-hero-pause:hover{border-color:var(--c-accent);color:var(--c-accent-bright);}
@media (max-width:900px){
  .ce-hero-pause{top:4px;right:20px;bottom:auto;padding:7px 12px;}
}

/* Reviews. The Tuner embeds a generated Google widget; this is the same
   arrangement built from the three reviews in the Customizer: a summary
   panel on the left, the reviews as cards beside it. */
.ce-reviews{
  display:grid;
  grid-template-columns:minmax(220px,280px) minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.ce-reviews-summary{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  padding:32px 24px;
  text-align:center;
  background:rgba(246,247,240,0.04);
  border:1px solid var(--c-line);
  border-radius:12px;
}
.ce-reviews-google{line-height:0;}
.ce-reviews-summary-title{
  font-family:var(--font-display);
  font-weight:700;
  font-size:30px;
  line-height:1;
  text-transform:uppercase;
  color:var(--c-white);
}
.ce-reviews-summary-text{font-size:16px;line-height:1.5;color:rgba(246,247,240,0.78);}
.ce-reviews-all{margin-top:6px;}
.ce-reviews-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.ce-review{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
  padding:24px;
  background:var(--c-surface);
  border:1px solid var(--c-line);
  border-radius:12px;
}
.ce-review-head{display:flex;align-items:center;gap:12px;}
.ce-review-avatar{
  flex:none;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--c-accent);
  color:var(--c-ink);
  font-weight:700;
  font-size:17px;
}
.ce-review-name{font-weight:600;font-size:16px;color:var(--c-white);}
.ce-review-stars{color:#FBBC04;font-size:18px;letter-spacing:2px;line-height:1;}
#site .ce-review-text{
  margin:0;
  padding:0;
  border:0;
  background:none;
  font-family:var(--font-body);
  font-style:normal;
  font-size:16px;
  line-height:1.6;
  color:rgba(246,247,240,0.88);
}
#site .ce-review-text::before,
#site .ce-review-text::after{content:none;display:none;}
#site .ce-review-text p{margin:0 0 10px;font-size:inherit;color:inherit;}
#site .ce-review-text p:last-child{margin:0;}
/* Long reviews stop at eight lines until "Read more" (front-page.php). */
#site .ce-review-text.is-clamped{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:8;
  line-clamp:8;
  overflow:hidden;
}
.ce-review-more{
  align-self:flex-start;
  padding:4px 0;
  border:0;
  background:none;
  color:var(--c-accent-bright);
  font-family:var(--font-body);
  font-weight:600;
  font-size:15px;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.ce-review-more[hidden]{display:none;}
.ce-review-more:hover{color:#fff;}
@media (max-width:1100px){
  .ce-reviews{grid-template-columns:minmax(0,1fr);}
  .ce-reviews-summary{flex-direction:row;flex-wrap:wrap;justify-content:center;}
}
@media (max-width:800px){
  .ce-reviews-cards{grid-template-columns:minmax(0,1fr);}
}

/* Workshop videos: The Tuner's dyno-run cards, on this site's palette and
   with landscape clips instead of its portrait ones. */
.ce-video-card{
  width:100%;
  max-width:605px;
  overflow:hidden;
  border:1px solid rgba(246,247,240,0.12);
  border-radius:14px;
  background:#0d0d0d;
  box-shadow:0 14px 35px rgba(0,0,0,.28);
}
.ce-video-wrap{position:relative;aspect-ratio:16/9;background:#080808;}
.ce-video-wrap video{display:block;width:100%;height:100%;object-fit:cover;}
.ce-video-play{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.ce-video-play[hidden]{display:none;}
.ce-video-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.78),transparent 45%),rgba(0,0,0,.08);
}
.ce-video-icon{
  position:absolute;
  top:50%;
  left:50%;
  display:grid;
  place-items:center;
  width:76px;
  height:76px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:50%;
  background:rgba(15,15,15,.72);
  box-shadow:0 10px 35px rgba(0,0,0,.45),0 0 0 8px rgba(255,255,255,.1);
  transition:transform .25s ease,background .25s ease;
}
.ce-video-icon svg{width:34px;height:34px;margin-left:4px;fill:#fff;}
.ce-video-play:hover .ce-video-icon{transform:translate(-50%,-50%) scale(1.08);background:var(--c-surface-2);}
.ce-video-label{
  position:absolute;
  right:20px;
  bottom:18px;
  left:20px;
  color:#fff;
  font-size:18px;
  font-weight:800;
  letter-spacing:.02em;
  text-align:left;
  text-transform:uppercase;
  text-shadow:0 2px 8px rgba(0,0,0,.8);
}
.tt .ce-video-link{
  display:block;
  padding:15px 18px;
  font-weight:700;
  font-size:15px;
  line-height:1.3;
  text-align:center;
  background:#171717;
  color:#fff;
  transition:background .2s ease;
}
.tt .ce-video-link:hover{background:#242424;}
@media (max-width:480px){
  .ce-video-icon{width:64px;height:64px;}
  .ce-video-icon svg{width:28px;height:28px;}
  .ce-video-label{font-size:16px;}
}
@media (prefers-reduced-motion:reduce){
  .ce-video-icon,.ce-hero-pause{transition:none;}
}

/* -- Contact page ---------------------------------------------------- */
/* Hero image variant (static photo hero) */
.tt-hero-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}
/* ---------- Hand-built Contact Us page (page-contact-us.php) ---------- */
body.ce-contact-page .content-header{display:none;}
.ce-contact-hero{min-height:min(62vh,580px);}
.ce-contact-hero .tt-hero-inner{padding-bottom:84px;}
.ce-contact{background:var(--c-cream);padding:80px 0 96px;}
.ce-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:40px;
  align-items:start;
}
.ce-contact-cards{
  display:grid;
  gap:2px;
  background:rgba(20,60,20,0.1);
}
.ce-contact-card{
  background:var(--c-white);
  padding:22px 24px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:2px 16px;
  align-items:center;
}
.ce-contact-ico{
  grid-row:span 2;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--c-bg-2);
  color:var(--c-accent);
  display:flex;
  align-items:center;
  justify-content:center;
}
.ce-contact-label{
  font-size:14px;
  font-weight:700;
  letter-spacing:0.01em;
  text-transform:none;
  color:#4A5A46;
}
.ce-contact-value{
  font-size:17px;
  font-weight:600;
  line-height:1.45;
  color:var(--c-ink);
  overflow-wrap:anywhere;
}
.tt .ce-contact-value a{color:var(--c-ink);transition:color .2s ease;}
.tt .ce-contact-value a:hover{color:var(--c-surface-2);}
.tt .ce-contact-value a.ce-contact-sub{
  display:block;
  margin-top:4px;
  font-size:15px;
  font-weight:700;
  letter-spacing:0.01em;
  text-transform:none;
  color:var(--c-surface-2);
}
.tt .ce-contact-value a.ce-contact-sub::after{content:" \2192";}
.ce-contact-map{
  margin-top:24px;
  background:var(--c-white);
  border:1px solid rgba(20,60,20,0.12);
}
.ce-contact-map iframe{display:block;width:100%;height:320px;border:0;}

.ce-contact-form{
  background:var(--c-white);
  border-top:4px solid var(--c-accent);
  padding:40px;
  box-shadow:0 20px 44px rgba(11,31,12,0.08);
}
.tt .ce-contact-form-title{
  font-size:clamp(26px,3vw,36px);
  text-transform:uppercase;
  color:var(--c-ink);
  margin:0 0 10px;
}
.ce-contact-form-intro{
  margin:0 0 28px;
  font-size:15px;
  line-height:1.6;
  color:#4A5A46;
}
.tt .ce-contact-form .wpcf7 h3{
  font-family:var(--font-body) !important;
  font-size:14px;
  font-weight:700;
  letter-spacing:0.01em;
  line-height:1.3;
  text-transform:none;
  color:var(--c-surface-2);
  margin:28px 0 12px;
}
.tt .ce-contact-form .wpcf7 h3.no-margin-top{margin-top:0;}
.ce-contact-form .form-row{margin:0 0 14px;}
.ce-contact-form .form-row.ui-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;
}
.ce-contact-form .wpcf7-form-control-wrap{display:block;}
.ce-contact-form input[type="text"],
.ce-contact-form input[type="email"],
.ce-contact-form input[type="tel"],
.ce-contact-form input[type="date"],
.ce-contact-form select,
.ce-contact-form textarea{
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:13px 14px;
  border:1px solid rgba(20,60,20,0.22);
  border-radius:2px;
  background:var(--c-white);
  font-family:var(--font-body);
  font-size:16px;
  color:var(--c-ink);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ce-contact-form textarea{min-height:140px;resize:vertical;}
.ce-contact-form input:focus,
.ce-contact-form select:focus,
.ce-contact-form textarea:focus{
  outline:3px solid var(--c-bg);
  outline-offset:0;
  border-color:var(--c-surface-2);
  box-shadow:0 0 0 6px var(--c-accent-bright);
}
.ce-contact-form input[type="submit"]{
  margin-top:10px;
  padding:16px 34px;
  border:0;
  border-radius:2px;
  background:var(--c-accent);
  color:var(--c-ink);
  font-family:var(--font-body);
  font-size:14px;
  font-weight:700;
  letter-spacing:0.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.ce-contact-form input[type="submit"]:hover{
  background:var(--c-accent-bright);
  transform:translateY(-2px);
}
.ce-contact-form .wpcf7-not-valid-tip{font-size:13px;margin-top:4px;}
.ce-contact-form .wpcf7-response-output{margin:20px 0 0 !important;}
@media (max-width:900px){
  .ce-contact{padding:56px 0 64px;}
  .ce-contact-grid{grid-template-columns:minmax(0,1fr);}
  .ce-contact-form{padding:28px 22px;}
}

/* -- Title bars without a banner photo ------------------------------------ */
/* Any title bar with no photo (the 404 page, search results, archives, a
   page without an image) got the light bar, where the title is lime on
   white (1.4:1). They all get the dark bar The Tuner gives its articles. */
.site-content .content-header:not(.content-header-featured){
  background:linear-gradient(120deg,var(--c-bg) 0%,var(--c-bg-2) 55%,var(--c-surface) 100%);
}
#site .content-header:not(.content-header-featured) .page-title-inner{color:var(--c-white);}
#site .content-header:not(.content-header-featured) .breadcrumbs,
#site .content-header:not(.content-header-featured) .breadcrumbs a{color:rgba(246,247,240,0.7);}
#site .content-header:not(.content-header-featured) .breadcrumbs a:hover{color:var(--c-accent);}

/* -- Search results ---------------------------------------------------- */
/* The parent colours every link lime (#c5e47d), 1.4:1 on white, so each
   result title was barely readable. Titles in the site's dark green. */
body.search #site .main-content article.post > a{color:var(--c-surface);}
body.search #site .main-content article.post .post-title-inner{color:var(--c-surface);font-weight:600;}
body.search #site .main-content article.post > a:hover .post-title-inner{color:var(--c-surface-2);text-decoration:underline;text-underline-offset:3px;}
body.search #site .main-content article.post .post-date{color:#5E665C;}
body.search #site .main-content article.post .post-index{color:var(--c-surface);}

/* -- /make/ hub (inc/seo.php) -------------------------------------------- */
/* Every car make page as a card, in The Tuner's service-card style. */
.ce-makes{max-width:1280px;margin:0 auto;padding:48px 40px 72px;}
@media (max-width:767px){.ce-makes{padding:32px 20px 48px;}}
.ce-makes-intro{max-width:720px;margin:0 0 28px;font-size:17px;line-height:1.7;color:#34412F;}
.tt .ce-makes-intro a{color:var(--c-surface);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.ce-makes-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(210px,1fr));
  gap:2px;
  background:rgba(20,60,20,0.1);
}
.ce-makes-grid .tt-service-card{padding:28px 24px;gap:12px;}
.ce-makes-grid .tt-service-card:last-child{grid-column:auto;}
.ce-make-logo{
  display:block;
  height:56px;
  width:auto;
  max-width:140px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.75;
  transition:filter .2s ease,opacity .2s ease;
}
.ce-make-logo{align-self:flex-start;}
.ce-make-logo-none{width:56px;}
.ce-make-card:hover .ce-make-logo{filter:brightness(0) invert(1);opacity:1;}
@media (max-width:767px){
  .ce-makes-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ce-makes-grid .tt-service-card{padding:20px 16px;}
  .ce-make-logo{height:44px;}
}

/* -- Card grids: no tinted block after a short last row ------------------ */
/* The lines between cards were the grid's tint showing through 2px gaps, so
   the empty cells after a short last row showed as a tinted block (homepage
   services at laptop widths such as 1280px, the /make/ hub at most widths).
   Each card draws a 1px ring instead: two rings fill each 2px gap, so full
   rows look as before, with a hairline round the outside, and empty cells
   stay the page colour. A focused card keeps the focus ring's own shadow. */
.tt-services-grid,
.ce-makes-grid{background:none;}
.tt-services-grid .tt-service-card:not(:focus-visible),
.ce-makes-grid .tt-service-card:not(:focus-visible){box-shadow:0 0 0 1px rgba(20,60,20,0.1);}

/* -- Footer: the parent theme's stray bar ------------------------------- */
/* fixlab draws a 10px dark tab 60px above its "infoText" footer widget (the
   Custom Exhausts / Honest and Reliable block) and hides it from 1024px up.
   Under this footer it showed as a loose dark bar above the footer on
   phones and tablets, so it is hidden at every width. */
#site .widget.infoText::before{display:none;}

/* -- Small labels without the dash -------------------------------------- */
/* The Tuner draws a short line before each small label above a heading
   ("Why choose us", "New at Custom Exhausts"). Taken out at the owner's
   request (2026-09-24): it read as decoration. The hero labels never had it. */
.tt-eyebrow::before{display:none;}

/* -- Workshop videos: phone-shot clips ------------------------------------ */
/* Portrait (9:16) cards, as on The Tuner's own homepage (inc/videos.php). */
.ce-video-card.is-portrait{max-width:380px;}
.ce-video-card.is-portrait .ce-video-wrap{aspect-ratio:9/16;}
/* Captions wrap: the play button would otherwise keep them on one line. */
.ce-video-label{white-space:normal;line-height:1.25;}

/* -- Homepage: exhaust sound system (front-page.php) ----------------------- */
.ce-sound{background:var(--c-cream);padding:96px 0;}
.ce-sound-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,380px);
  gap:64px;
  align-items:center;
}
.ce-sound.is-text-only .ce-sound-inner{grid-template-columns:minmax(0,1fr);}
.ce-sound-eyebrow{color:var(--c-surface);}
.tt .ce-sound-title{
  margin:14px 0 18px;
  color:var(--c-ink);
  font-size:clamp(32px,4vw,52px);
  text-transform:uppercase;
}
.ce-sound-lead{max-width:600px;margin:0 0 24px;font-size:18px;line-height:1.65;color:#34412F;}
.ce-sound-points,
.ce-sp-list{display:grid;gap:12px;margin:0 0 32px;padding:0;list-style:none;}
.ce-sound-points li,
.ce-sp-list li{position:relative;padding-left:30px;font-size:16px;line-height:1.5;font-weight:600;color:var(--c-ink);}
.ce-sound-points li::before,
.ce-sp-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:.3em;
  width:14px;
  height:8px;
  border-left:3px solid var(--c-surface-2);
  border-bottom:3px solid var(--c-surface-2);
  transform:rotate(-45deg);
}
.ce-sound-ctas,
.ce-sp-ctas{display:flex;flex-wrap:wrap;gap:14px;}
.tt .ce-sound-call,
.tt .ce-sp-call{border-color:var(--c-surface);color:var(--c-surface);}
.tt .ce-sound-call:hover,
.tt .ce-sp-call:hover{background:var(--c-surface);color:var(--c-white);transform:translateY(-2px);}
.ce-sound-video{justify-self:end;width:100%;max-width:380px;}
@media (max-width:900px){
  .ce-sound{padding:64px 0;}
  .ce-sound-inner{grid-template-columns:minmax(0,1fr);gap:40px;}
  .ce-sound-video{justify-self:center;}
}

/* -- Exhaust Sound System page (its content uses the shortcodes in
   inc/videos.php) ------------------------------------------------------- */
.ce-sp{max-width:1280px;margin:0 auto;padding:64px 40px 96px;color:#2E3A2A;}
/* Plain, readable type (the owner found the first version "AI slop",
   2026-09-24): body copy at regular weight rather than the site's light
   300, and small headings in the text face, sentence case, instead of
   condensed capitals. Section headings keep the site's display style. */
.ce-sp p{font-size:17px;font-weight:400;line-height:1.7;margin:0 0 18px;}
.tt .ce-sp h2{margin:0 0 24px;color:var(--c-ink);font-size:clamp(28px,3.2vw,40px);text-transform:uppercase;}
.tt .ce-sp h3{margin:0 0 8px;color:var(--c-ink);font-family:var(--font-body);font-size:19px;font-weight:600;line-height:1.35;text-transform:none;letter-spacing:0;}
.ce-sp p a,
.ce-sp li a{color:var(--c-surface);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.ce-sp-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:56px;align-items:start;}
.tt .ce-sp .ce-sp-lead{font-size:20px;font-weight:400;line-height:1.6;color:var(--c-ink);}
.ce-sp-top .ce-sp-ctas{margin-top:28px;}
.ce-sp-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.ce-sp-videos .ce-video-card{max-width:none;}
.ce-sp-section{margin-top:88px;}
.ce-sp-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.ce-sp-feature{padding:26px 24px;background:var(--c-white);border:1px solid rgba(20,60,20,.14);}
.ce-sp-feature p{margin:0;font-size:16px;line-height:1.65;}
.ce-sp-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;}
.ce-sp-steps{margin:0;padding-left:1.4em;}
.ce-sp-steps li{margin:0 0 14px;padding-left:6px;font-size:17px;font-weight:400;line-height:1.65;}
.ce-sp-steps li::marker{color:var(--c-surface);font-weight:800;}
.ce-sp-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 56px;}
.ce-sp-faq p{margin:0;}
.ce-sp-cta{margin-top:88px;padding:48px;background:var(--c-surface);color:var(--c-cream);}
.tt .ce-sp .ce-sp-cta h2{color:var(--c-white);}
.tt .ce-sp .ce-sp-cta p{max-width:720px;color:var(--c-cream);}
.ce-sp-cta .ce-sp-ctas{margin-top:26px;}
.tt .ce-sp-cta .ce-sp-call{border-color:rgba(246,247,240,.7);color:var(--c-white);}
.tt .ce-sp-cta .ce-sp-call:hover{background:var(--c-white);color:var(--c-surface);}
@media (max-width:1024px){
  .ce-sp-top{grid-template-columns:minmax(0,1fr);}
  .ce-sp-videos{max-width:620px;}
  .ce-sp-features{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .ce-sp{padding:36px 20px 64px;}
  .ce-sp-section,.ce-sp-cta{margin-top:64px;}
  .ce-sp-features,.ce-sp-split,.ce-sp-faq{grid-template-columns:minmax(0,1fr);gap:24px;}
  .ce-sp-cta{padding:32px 22px;}
}
@media (max-width:560px){
  .ce-sp-videos{grid-template-columns:minmax(0,1fr);justify-items:center;}
  .ce-sp-videos .ce-video-card{max-width:380px;}
}

/* -- Accessibility ----------------------------------------------------- */
/* Kept from the 2026-09-17 audit: each fixes a measured failure. */
/* -- Skip link --------------------------------------------------------- */
/* Visible only when focused, so it never disturbs the visual design. */
.ce-skip-link{
  position:absolute;
  left:12px;
  top:-100px;
  z-index:100000;
  padding:12px 20px;
  background:var(--c-bg);
  color:var(--c-white);
  font-family:var(--font-label);
  font-weight:600;
  font-size:14px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  border-radius:2px;
  transition:top .15s ease;
}
.ce-skip-link:focus{top:12px;color:var(--c-white);}

/* -- Focus ring -------------------------------------------------------- */
/* A dark ring with a light halo, so one rule stays visible on the cream
   sections, the dark green panels and the lime buttons alike. Nothing in
   the theme defined a focus style; the browser default was doing the work. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--c-bg);
  outline-offset:0;
  box-shadow:0 0 0 6px var(--c-accent-bright);
  border-radius:2px;
}
/* Elementor and the old contact-form rule set outline:0 on :focus; these
   match their specificity and win on source order. */
.elementor-field-group .elementor-field-textual:focus-visible,
.elementor-search-form button:focus-visible,
.ce-contact-form input:focus-visible,
.ce-contact-form select:focus-visible,
.ce-contact-form textarea:focus-visible{
  outline:3px solid var(--c-bg);
  box-shadow:0 0 0 6px var(--c-accent-bright);
}

/* Keep a focused control clear of the sticky header and the chat widgets
   pinned to the bottom of the viewport (WCAG 2.2 focus-not-obscured). */
html{scroll-padding-top:120px;scroll-padding-bottom:120px;}
/* -- Forms: labels, sizing, feedback ---------------------------------- */
/* Every field was placeholder-only. Labels are now real elements in the
   form templates; this styles them. */
.ce-field{display:block;}
.ce-field-label{
  display:block;
  margin-bottom:7px;
  font-family:var(--font-label);
  font-weight:600;
  font-size:15px;
  letter-spacing:0.01em;
  text-transform:none;
  color:var(--c-ink);
}
.ce-contact-form .ce-field-label{color:var(--c-ink);}
.ce-field .wpcf7-form-control-wrap{display:block;}
.form-row.ui-grid > .ce-field{flex:1 1 0;min-width:0;}
.ce-req{color:#8A2B1E;margin-left:2px;}
.ce-form-note{
  margin:0 0 18px;
  font-size:14px;
  color:var(--c-steel);
}
/* 16px minimum stops iOS zooming the page when a field is tapped.
   The parent theme sets 14px via input:not([type=submit]):not([type=button])
   :not([type=checkbox]), which scores (0,3,1) because each :not() counts as a
   class. select and textarea are bare element selectors there, so they took
   the fix immediately; text inputs need a selector that outscores it. */
body .wpcf7 input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
body .wpcf7 select,
body .wpcf7 textarea{font-size:16px;}

/* -- Body copy: mobile minimum ---------------------------------------- */
@media (max-width:900px){
  .tt-service-desc{font-size:16px;}
}

/* -- Interaction feedback --------------------------------------------- */
/* Removes the ~300ms tap delay and gives a press state, so a tap is
   acknowledged immediately rather than only on navigation. */
a,button,input,select,textarea,[role=button]{touch-action:manipulation;}
.tt-btn:active{transform:translateY(0) scale(0.985);}
.tt-service-card:active{background:var(--c-bg-2);}

@media (prefers-reduced-motion:reduce){
  .ce-skip-link{transition:none;}
  .tt-btn:active{transform:none;}
}

/* -- Service, brand and article pages: forms and links --------------------- */
/* -- Sidebar ------------------------------------------------------------ */
/* "Quick Contact" was an h4 in Barlow 500 — the theme's h4 face, off-system. */
.content-body .elementor-widget-heading h4.elementor-heading-title{
  font-family:var(--font-display);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.01em;
  color:var(--c-surface);
}
/* The sidebar CF7 fields were pale lime (#E3F1C2) with no border — about
   1.15:1 against the page, so the field edges disappeared. WCAG 1.4.11
   wants 3:1 for a field boundary; #7E8A7C on white is 3.6:1. */
.content-body .wpcf7 input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
.content-body .wpcf7 select,
.content-body .wpcf7 textarea{
  background:var(--c-white);
  border:1px solid #7E8A7C;
  border-radius:2px;
}

/* -- Form rows: the two-up layout, restored ----------------------------- */
/* The theme lays a .ui-grid row out by making the <p> CF7 wraps it in a
   flex row. The fields now sit inside <label>s, which took only their
   content width and wrapped onto separate lines at unequal widths. */
.wpcf7-form div.form-row.ui-grid > p > .ce-field{flex:1 1 0;min-width:0;}
.ce-field input:not([type="submit"]),
.ce-field select,
.ce-field textarea{width:100%;box-sizing:border-box;}
/* -- Article title sits above its own section heads -------------------- */
/* Each article's title is a separate Heading widget (Elementor sizes it
   24px per widget) and the section heads above now run 23-28px, which
   inverted the hierarchy. :has() picks out exactly the heading whose
   sibling Text Editor holds a real article (it contains h3 section heads),
   so card titles elsewhere — e.g. the Services grid — are untouched.
   Scores (0,4,2) against Elementor's (0,4,0); browsers without :has() keep
   the previous size, which is only a softer hierarchy, not a break. */
.elementor-widget-wrap:has(> .elementor-widget-text-editor h3) > .elementor-widget-heading h2.elementor-heading-title,
.e-con:has(> .elementor-widget-text-editor h3) > .elementor-widget-heading h2.elementor-heading-title{
  font-size:clamp(32px,3.2vw,44px);
  line-height:1.02;
  color:var(--c-surface);
}
/* -- Sidebar Quick Contact (PowerPack CF7 styler) --------------------- */
/* PowerPack writes the pale-lime fill per widget, and its stylesheet loads
   after this one, so a tie would lose: html/body lift these to a strictly
   higher score than its rules, which reach (0,6,0) on the textarea
   (.wpcf7-form-control.wpcf7-textarea) — so that chain is matched here. */
html body .content-body .elementor-element.elementor-widget-pp-contact-form-7 .pp-contact-form-7 .wpcf7-form input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
html body .content-body .elementor-element.elementor-widget-pp-contact-form-7 .pp-contact-form-7 .wpcf7-form select.wpcf7-form-control.wpcf7-select,
html body .content-body .elementor-element.elementor-widget-pp-contact-form-7 .pp-contact-form-7 .wpcf7-form textarea.wpcf7-form-control.wpcf7-textarea{
  background-color:var(--c-white);
  border:1px solid #7E8A7C;
  border-radius:2px;
}

/* -- Blog: lime text on white ------------------------------------------ */
/* The parent prints the Customizer primary (#c5e47d) inline as the colour
   of every <a> and every .widget-title — right for the dark footer and
   topbar, 1.42:1 on the white blog sidebar and post meta. Scoped to those
   light contexts only; the global rule is left alone for the dark areas. */
.main-sidebar .widget-title{color:var(--c-surface);}
.post-categories a,
.post-tags a,
.post-meta .post-author a{color:var(--c-surface);font-weight:600;}
.post-categories a:hover,
.post-tags a:hover,
.post-meta .post-author a:hover{color:var(--c-surface-2);}

/* -- Chat widgets on phones -------------------------------------------- */
/* Two separate widgets pin themselves to the bottom of the screen: the
   AxiaChat bar (bottom-right, 380px wide) and the WhatsApp button with its
   "Need Help?" label (bottom-left). On a phone the bar spans the full width,
   so the button and the label sat on top of it and neither could be read or
   tapped reliably. Below 768px they stack: button on the floor, bar on the
   shelf above it. At the end of the page both fade out (tt-at-footer, from
   The Tuner), so the copyright line is never covered.

   The bar is draggable, closes to a small avatar and has a full-screen
   state, so the override skips those: it only moves the two bottom resting
   positions, and lets go while a drag is in progress. */
@media (max-width:767px){
  #simple-chat-button--container{
    bottom:14px !important;
    left:14px !important;
    right:auto !important;
  }
  .aichat-widget.is-global.pos-bottom-right:not(.is-superminimized):not(.is-maximized):not(.dragging),
  .aichat-widget.is-global.pos-bottom-left:not(.is-superminimized):not(.is-maximized):not(.dragging){
    left:12px !important;
    right:12px !important;
    width:auto !important;
    max-width:none !important;
    bottom:90px !important;
    top:auto !important;
  }
}
