/* ==========================================================================
   T&D Tree theme — loads after master.css and restyles the td-* page bodies.
   Brand (locked): red #c0392b · orange #d4622a · charcoal · cream #f6f2e8
   Type: Archivo (display, heavy, slightly expanded) + Inter (body)
   ========================================================================== */
:root{
  --red:#c0392b; --red-dk:#9c2b20; --red-lt:#e0574a;
  --terra:#d4622a; --orange:#d4622a; --orange-lt:#ec8a55;
  --char:#151515; --char-2:#1f1f1f; --char-3:#2a2a2a;
  --cream:#f6f2e8; --paper:#fbf9f4; --sand:#ece3d1; --sand-2:#e2d6bf;
  --ink:#141414; --text:#262422; --muted:#5f5c56; --muted-2:#86827a;
  --green:#c0392b; --forest:#151515; --pine:#121212; --sage:#f0b49a; --amber:#ec8a55; --moss:#d4622a;
  --serif:'Archivo','Inter',system-ui,sans-serif;
  --display:'Archivo','Inter',system-ui,sans-serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --r:6px; --r-lg:8px; --r-sm:4px;
  --sh:0 24px 60px -28px rgba(0,0,0,.42);
  --sh-sm:0 10px 28px -16px rgba(0,0,0,.32);
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --hd-h:86px;
}

/* ------------------------------------------------------------------ base */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body.tdt{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.tdt *,body.tdt *::before,body.tdt *::after{box-sizing:border-box}
.tdt-main{display:block;min-height:50vh}
.tdt-main .entry-content{margin:0;padding:0}
::selection{background:var(--red);color:#fff}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.tdt-skip{position:fixed;left:12px;top:-60px;z-index:2000;background:#fff;color:var(--ink);padding:10px 16px;border-radius:4px;font-weight:700;transition:top .2s}
.tdt-skip:focus{top:12px}

/* Headings: heavy, tight, every level gets its own line-height (playbook §24B) */
.td-page h1,.td-page h2,.td-page h3,.td-page h4,.td-blogteaser h2,.td-gr h2{font-family:var(--display);font-weight:800;letter-spacing:-.015em;font-stretch:108%;color:var(--ink)}
.td-page h1{line-height:1.02}
.td-page h2{line-height:1.06}
.td-page h3{line-height:1.18;font-weight:700;font-stretch:100%;letter-spacing:-.005em}
.td-page h4{line-height:1.25;font-weight:700;font-stretch:100%}
.td-page h2 a,.td-page h3 a{font:inherit;color:inherit}
.td-h2,.td-page .td-shead h2,.td-blogteaser .td-h2,.td-gr__head h2{text-transform:uppercase;font-size:clamp(1.9rem,4.2vw,3.35rem);letter-spacing:-.02em}
.td-page p,.td-page li{line-height:1.7}
.td-lede{color:var(--muted)}

/* Eyebrows: rule + letter-spaced caps (no pills) */
.td-eyebrow,.td-hero__eyebrow{font-family:var(--sans);font-weight:800;letter-spacing:.2em;font-size:12.5px;color:var(--red)}
.td-eyebrow::before{width:34px;height:2px;background:currentColor}
.td-eyebrow--c::after,.td-center .td-eyebrow::after,.td-shead .td-eyebrow::after{content:"";width:34px;height:2px;background:currentColor;display:inline-block}

/* ------------------------------------------------------------------ buttons */
.td-btn{position:relative;overflow:hidden;isolation:isolate;border-radius:4px!important;font-family:var(--display)!important;font-weight:800!important;
  font-stretch:110%;text-transform:uppercase;letter-spacing:.08em!important;font-size:14.5px!important;padding:18px 30px!important;
  background:var(--red);color:#fff!important;border:0;box-shadow:0 14px 30px -16px rgba(192,57,43,.75);
  transition:transform .35s var(--ease-out),box-shadow .35s var(--ease-out),color .25s,background .25s}
.td-btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--char);transform:translateY(101%);transition:transform .45s var(--ease-out)}
.td-btn:hover{transform:translateY(-2px);box-shadow:0 20px 36px -18px rgba(0,0,0,.55)}
.td-btn:hover::before{transform:none}
.td-btn--sm{padding:13px 20px!important;font-size:13px!important}
.td-btn--lg{padding:21px 38px!important;font-size:15.5px!important}
.td-btn--ghost{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 2px currentColor}
.td-btn--ghost::before{background:var(--ink)}
.td-btn--ghost:hover{color:#fff!important}
.td-btn--light,.td-btn--ghost.td-btn--light{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85)}
.td-btn--light::before{background:#fff}
.td-btn--light:hover{color:var(--ink)!important}
.td-btn svg{transition:transform .3s var(--ease-out)}
.td-btn:hover svg{transform:translateX(3px) rotate(-8deg)}
.tdt-btn--onDark{color:#fff!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.tdt-btn--onDark::before{background:#fff}
.tdt-btn--onDark:hover{color:var(--ink)!important}

/* ------------------------------------------------------------------ scroll progress */
.tdt-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:1200;pointer-events:none}
.tdt-progress span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(var(--p,0));transform-origin:0 50%}

/* ------------------------------------------------------------------ header */
.tdt-hd{position:sticky;top:0;z-index:1000;font-family:var(--sans)}
.tdt-top{background:var(--char);color:rgba(255,255,255,.78);font-size:12.5px;letter-spacing:.04em;max-height:40px;overflow:hidden;transition:max-height .4s var(--ease),opacity .3s}
.tdt-top__in{max-width:1360px;margin:0 auto;padding:9px clamp(16px,4vw,42px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.tdt-top a{color:#fff;text-decoration:none}
.tdt-top__m{display:flex;align-items:center;gap:12px;justify-content:center;white-space:nowrap}
.tdt-top__m i{width:4px;height:4px;border-radius:50%;background:var(--orange);display:inline-block}
.tdt-top__m a:hover{color:var(--orange-lt)}
.tdt-top__r{justify-self:end;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.tdt-top__r b{color:#fff;font-weight:800;letter-spacing:.02em}
.tdt-top__r:hover b{color:var(--orange-lt)}
.tdt-dot{width:8px;height:8px;border-radius:50%;background:#3ccf6e;box-shadow:0 0 0 0 rgba(60,207,110,.6);animation:tdt-ping 2.4s infinite}
@keyframes tdt-ping{0%{box-shadow:0 0 0 0 rgba(60,207,110,.55)}70%{box-shadow:0 0 0 9px rgba(60,207,110,0)}100%{box-shadow:0 0 0 0 rgba(60,207,110,0)}}
.tdt-bar{position:relative;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;gap:22px;padding:12px max(clamp(16px,4vw,42px),calc((100vw - 1360px)/2 + 42px));transition:padding .35s var(--ease),box-shadow .35s}
.tdt-hd.is-scrolled .tdt-top{max-height:0;opacity:0}
.tdt-hd.is-scrolled .tdt-bar{padding-block:7px;box-shadow:0 12px 34px -22px rgba(0,0,0,.45)}
.tdt-brand{flex:0 0 auto;display:flex;align-items:center}
.tdt-brand img{height:58px;width:auto;display:block;transition:height .35s var(--ease),transform .35s var(--ease-out)}
.tdt-brand:hover img{transform:rotate(-2deg) scale(1.03)}
.tdt-hd.is-scrolled .tdt-brand img{height:46px}
.tdt-nav{display:flex;align-items:center;gap:2px;margin:0 auto}
.tdt-nav__item{position:static}
.tdt-nav__link{position:relative;display:flex;align-items:center;gap:7px;padding:14px 14px;font-size:14.5px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:.01em}
.tdt-nav__link::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
.tdt-nav__item:hover>.tdt-nav__link::after,.tdt-nav__item:focus-within>.tdt-nav__link::after,.tdt-nav__link[aria-current]::after{transform:scaleX(1)}
.tdt-nav__link:hover{color:var(--red)}
.tdt-caret{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.55;transition:transform .3s}
html:not(.tdt-mm) .tdt-nav__item:hover .tdt-caret,.tdt-nav__item.is-open .tdt-caret{transform:translateY(1px) rotate(225deg)}
.tdt-cta{display:flex;align-items:center;gap:16px;flex:0 0 auto}
.tdt-phone{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.tdt-phone__ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--cream);color:var(--red);transition:background .25s,color .25s,transform .35s var(--ease-out)}
.tdt-phone:hover .tdt-phone__ico{background:var(--red);color:#fff;transform:rotate(-12deg)}
.tdt-phone__t{display:flex;flex-direction:column;line-height:1.15}
.tdt-phone__t small{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.tdt-phone__t strong{font-family:var(--display);font-stretch:108%;font-size:17px;font-weight:800;letter-spacing:.01em}
.tdt-phone:hover strong{color:var(--red)}

/* mega menus (hover bridge = padding-top on the panel) */
.tdt-mega{position:absolute;left:0;right:0;top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s var(--ease),transform .3s var(--ease-out),visibility .25s;z-index:30}
html:not(.tdt-mm) .tdt-nav__item.has-mega:hover .tdt-mega,html:not(.tdt-mm) .tdt-nav__item.has-mega:focus-within .tdt-mega{opacity:1;visibility:visible;transform:none}
.tdt-mega__in{max-width:1180px;margin:0 auto;background:#fff;border-radius:8px;box-shadow:0 40px 80px -36px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.05);
  padding:18px;display:grid;grid-template-columns:2.3fr 1fr;gap:18px}
.tdt-mega__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 8px;align-content:start}
.tdt-mega__link{display:block;padding:12px 14px;border-radius:6px;text-decoration:none;transition:background .2s,transform .25s var(--ease-out)}
.tdt-mega__link b{display:block;font-family:var(--display);font-stretch:104%;font-weight:800;font-size:15px;color:var(--ink);margin-bottom:3px}
.tdt-mega__link span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4}
.tdt-mega__link:hover{background:var(--cream);transform:translateX(3px)}
.tdt-mega__link:hover b{color:var(--red)}
.tdt-mega__cta{background:var(--char);color:#fff;border-radius:6px;padding:24px;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center;position:relative;overflow:hidden}
.tdt-mega__cta::before{content:"";position:absolute;inset:auto -40% -60% auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(192,57,43,.5),transparent 70%)}
.tdt-mega__cta>*{position:relative}
.tdt-mega__ey{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-lt)}
.tdt-mega__h{margin:0;font-family:var(--display);font-stretch:108%;font-weight:800;font-size:1.22rem;line-height:1.15;text-transform:uppercase}
.tdt-mega__cta p{margin:0 0 6px;color:rgba(255,255,255,.72);font-size:.9rem;line-height:1.5}
.tdt-mega__cta .td-btn{width:100%;justify-content:center}
.tdt-mega__phone{color:#fff;font-weight:800;font-size:1.08rem;text-decoration:none;margin-top:4px}
.tdt-mega__phone:hover{color:var(--orange-lt)}
.tdt-mega--areas .tdt-mega__areas{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;align-content:start}
.tdt-mega__coltitle{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin:4px 0 10px}
.tdt-mega__towns{display:flex;flex-wrap:wrap;gap:6px}
.tdt-mega__towns a{padding:6px 10px;border-radius:4px;font-size:.85rem;font-weight:600;color:var(--ink);background:var(--cream);text-decoration:none;white-space:nowrap;transition:background .18s,color .18s}
.tdt-mega__towns a:hover{background:var(--red);color:#fff}

/* burger + drawer */
.tdt-burger{display:none;width:46px;height:46px;border:0;border-radius:6px;background:var(--char);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto}
.tdt-burger span{display:block;width:20px;height:2px;background:#fff;border-radius:2px;transition:transform .3s var(--ease),opacity .2s}
.tdt-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.tdt-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.tdt-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.tdt-drawer{position:fixed;inset:0;z-index:990;background:var(--char);color:#fff;overflow-y:auto;padding:calc(var(--hd-h) + 14px) 22px 120px;
  opacity:0;transform:translateY(-12px);transition:opacity .3s var(--ease),transform .35s var(--ease-out)}
.tdt-drawer[hidden]{display:block;visibility:hidden;pointer-events:none}
.tdt-drawer.is-open{opacity:1;transform:none;visibility:visible;pointer-events:auto}
.tdt-drawer__in{max-width:560px;margin:0 auto;display:flex;flex-direction:column}
.tdt-drawer__acc,.tdt-drawer__link{display:flex;justify-content:space-between;align-items:center;width:100%;padding:18px 2px;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.1);
  color:#fff;text-decoration:none;font-family:var(--display);font-stretch:110%;font-weight:800;font-size:1.35rem;text-transform:uppercase;letter-spacing:.01em;text-align:left;cursor:pointer}
.tdt-drawer__acc span{width:10px;height:10px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg);transition:transform .3s}
.tdt-drawer__acc[aria-expanded="true"] span{transform:rotate(225deg)}
.tdt-drawer__panel{overflow:hidden;max-height:0;transition:max-height .4s var(--ease)}
.tdt-drawer__acc[aria-expanded="true"]+.tdt-drawer__panel{max-height:1400px}
.tdt-drawer__panel>a{display:block;padding:12px 4px 12px 18px;color:rgba(255,255,255,.82);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(255,255,255,.06);position:relative}
.tdt-drawer__panel>a::before{content:"";position:absolute;left:2px;top:50%;width:6px;height:6px;margin-top:-3px;background:var(--red);border-radius:1px}
.tdt-drawer__county{display:block;margin:16px 0 8px;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-lt)}
.tdt-drawer__towns{display:flex;flex-wrap:wrap;gap:6px}
.tdt-drawer__towns a{padding:7px 10px;border-radius:4px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:.9rem;font-weight:600}
.tdt-drawer .tdt-drawer__all{padding-left:4px;margin-top:12px;color:var(--orange-lt)}
.tdt-drawer .tdt-drawer__all::before{display:none}
.tdt-drawer__btn{margin-top:26px;justify-content:center;width:100%}
.tdt-drawer__call{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:16px;border-radius:4px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25);color:#fff;text-decoration:none;font-family:var(--display);font-stretch:110%;font-weight:800;font-size:1.3rem}
body.tdt-lock{overflow:hidden}

/* hide the legacy chrome if it is ever printed alongside the theme's */
body.tdt .td-hd,body.tdt .td-ft{display:none!important}

/* ------------------------------------------------------------------ home hero (video) */
.tdt-home .td-hero{min-height:calc(100svh - 120px);min-height:max(620px,calc(100svh - 120px));align-items:flex-end;text-align:center;background:var(--char)}
.td-hero__bg{overflow:hidden}
.tdt-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease)}
.tdt-hero-video.is-playing{opacity:1}
.td-hero::after{background:linear-gradient(180deg,rgba(10,10,10,.5) 0%,rgba(10,10,10,.28) 30%,rgba(10,10,10,.55) 62%,rgba(10,10,10,.9) 100%)!important}
.tdt-home .td-hero__inner{max-width:1100px;padding-top:clamp(70px,12vh,140px);padding-bottom:clamp(36px,7vh,70px)}
.td-hero__eyebrow{justify-content:center;color:#fff;font-size:12.5px;letter-spacing:.22em;gap:12px;opacity:.95}
.td-hero__eyebrow::before,.td-hero__eyebrow::after{content:"";width:34px;height:2px;background:var(--orange);display:inline-block}
.td-hero h1{max-width:18ch;margin-inline:auto;font-size:clamp(2.5rem,6.6vw,5.9rem)!important;text-transform:uppercase;letter-spacing:-.025em;line-height:.98!important;font-stretch:112%;text-shadow:0 4px 40px rgba(0,0,0,.35);color:#fff}
.td-hero h1 em{font-style:normal;color:var(--orange-lt);display:inline-block}
.td-hero__sub{margin-inline:auto;text-align:center;color:rgba(255,255,255,.9);max-width:60ch}
.td-hero__cta{justify-content:center;margin-inline:auto;max-width:640px}
.td-hero__strip{justify-content:center;border-top:1px solid rgba(255,255,255,.2);gap:0;margin-top:44px;padding-top:0}
.td-hero__stat{flex:1 1 0;min-width:140px;padding:22px 12px 4px;align-items:center;text-align:center;position:relative}
.td-hero__stat+.td-hero__stat::before{content:"";position:absolute;left:0;top:26px;bottom:6px;width:1px;background:rgba(255,255,255,.18)}
.td-hero__stat b{font-family:var(--display)!important;font-stretch:112%;font-weight:900!important;font-size:clamp(1.7rem,3.2vw,2.6rem)!important;letter-spacing:-.02em;color:#fff}
.td-hero__stat span{color:rgba(255,255,255,.72)!important;letter-spacing:.14em!important;font-size:11.5px!important}
.tdt-scrollcue{position:absolute;left:50%;bottom:16px;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(255,255,255,.55);border-radius:14px;z-index:2}
.tdt-scrollcue::after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#fff;animation:tdt-cue 1.8s var(--ease) infinite}
@keyframes tdt-cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(14px)}}

/* intro animation for hero text (CSS only: content never depends on JS) */
@media (prefers-reduced-motion:no-preference){
  .td-hero__eyebrow,.td-hero h1,.td-hero__sub,.td-hero__cta,.td-hero__strip,.td-phero .td-wrap>*{animation:tdt-rise .9s var(--ease-out) both}
  .td-hero h1{animation-delay:.08s}.td-hero__sub{animation-delay:.2s}.td-hero__cta{animation-delay:.3s}.td-hero__strip{animation-delay:.42s}
  .td-phero .td-wrap>*:nth-child(2){animation-delay:.08s}.td-phero .td-wrap>*:nth-child(3){animation-delay:.16s}.td-phero .td-wrap>*:nth-child(n+4){animation-delay:.24s}
}
@keyframes tdt-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ------------------------------------------------------------------ interior page hero */
.td-phero{background:var(--char);padding:clamp(90px,12vw,160px) 0 clamp(60px,8vw,104px)}
.td-phero__bg{will-change:transform;transform:scale(1.08)}
.td-phero::after{background:linear-gradient(180deg,rgba(10,10,10,.55),rgba(10,10,10,.78) 70%,rgba(10,10,10,.9))!important}
.td-phero h1{text-transform:uppercase;font-size:clamp(2.1rem,5.2vw,4.3rem)!important;max-width:20ch;letter-spacing:-.02em;font-stretch:112%;color:#fff}
.td-phero--post h1{text-transform:none;max-width:26ch;font-size:clamp(2rem,4.4vw,3.5rem)!important;font-stretch:104%}
.td-phero p{margin-inline:auto}
.td-phero__crumb{color:rgba(255,255,255,.75)!important;letter-spacing:.14em;font-weight:700;font-size:12px}
.td-phero__crumb a{color:#fff!important;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35)}
.td-phero__crumb a:hover{border-color:var(--orange)}
.td-post__cat{border-radius:3px!important;background:var(--red)!important;letter-spacing:.14em!important}
.td-post__meta{justify-content:center}
.tdt-phero--plain,.tdt-phero--archive{text-align:center}
.tdt-archive__desc{color:rgba(255,255,255,.85);max-width:60ch;margin:18px auto 0}
.tdt-archive__cats{margin-top:44px}

/* ------------------------------------------------------------------ section scaffolding + ghost words */
.td-sec{position:relative;padding:clamp(56px,7vw,104px) 0}
.td-sec--tight{padding:clamp(38px,5vw,64px) 0}
.td-shead{position:relative;margin-bottom:clamp(36px,5vw,60px);z-index:0}
.td-shead[data-ghost]::before{content:attr(data-ghost);position:absolute;left:50%;top:-.42em;transform:translateX(-50%);z-index:-1;white-space:nowrap;pointer-events:none;
  font-family:var(--display);font-weight:900;font-stretch:125%;font-size:clamp(4rem,13vw,10.5rem);line-height:1;letter-spacing:-.03em;text-transform:uppercase;
  color:transparent;-webkit-text-stroke:1.5px rgba(20,20,20,.075)}
.td-why .td-shead[data-ghost]::before,.td-areas .td-shead[data-ghost]::before,.td-cta .td-shead[data-ghost]::before{-webkit-text-stroke-color:rgba(255,255,255,.08)}

/* ------------------------------------------------------------------ trust marquee */
.td-trust{background:var(--red);padding:20px 0;position:relative}
.td-trust__row{gap:0;animation-duration:38s}
.td-trust__item{font-family:var(--display);font-stretch:112%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(14px,1.6vw,17px);color:#fff;padding:0 30px;position:relative}
.td-trust__item::after{content:"";position:absolute;right:-4px;top:50%;width:8px;height:8px;margin-top:-4px;background:rgba(255,255,255,.55);transform:rotate(45deg)}
.td-trust__item svg{color:#fff!important}
@media (prefers-reduced-motion:reduce){
  .td-trust__row{animation:none!important;display:flex;flex-wrap:wrap;justify-content:center;width:auto;white-space:normal;gap:10px 0}
  .td-trust__row .tdt-dup{display:none}
}

/* ------------------------------------------------------------------ intro split */
.td-intro__figure img,.td-split__media img{border-radius:var(--r-lg)!important;box-shadow:var(--sh)}
.td-intro__figure,.td-split__media{position:relative}
.tdt-zoom{overflow:hidden;border-radius:var(--r-lg)}
.tdt-zoom img{transition:transform 1.2s var(--ease-out)}
.td-intro__badge{border-radius:6px!important;background:var(--red)!important;padding:24px 28px!important;bottom:-22px!important;left:-22px!important}
.td-intro__badge b{font-family:var(--display)!important;font-weight:900;font-stretch:112%;font-size:3rem!important}
@media (max-width:800px){.td-intro__badge{left:12px!important;bottom:-18px!important}}

/* ------------------------------------------------------------------ service cards */
.td-svcs{background:var(--cream)}
.td-svcs__grid{gap:22px}
.td-svc{border-radius:var(--r-lg)!important;border:0!important;box-shadow:0 1px 0 rgba(0,0,0,.04),var(--sh-sm)!important;transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)!important}
.td-svc::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-out)}
.td-svc:hover{transform:translateY(-8px)!important;box-shadow:var(--sh)!important}
.td-svc:hover::after{transform:scaleX(1)}
.td-svc h3{font-size:1.32rem!important;text-transform:uppercase;font-stretch:108%;font-weight:800!important;letter-spacing:-.005em}
.td-svc__link{text-transform:uppercase;letter-spacing:.12em;font-size:12.5px!important;font-weight:800!important}
.td-svc__img img{transition:transform 1s var(--ease-out)!important}
.td-svc:hover .td-svc__img img{transform:scale(1.08)!important}

/* orphan-row fix (playbook §24C): flex grids centre a short last row */
.td-svcs__grid,.td-blog__grid{display:flex!important;flex-wrap:wrap;justify-content:center}
.td-svcs__grid>*{flex:0 1 calc((100% - 44px)/3)}
.td-blog__grid>*{flex:0 1 calc((100% - 52px)/3)}
@media (max-width:1080px){.td-svcs__grid>*{flex-basis:calc((100% - 22px)/2)}}
@media (max-width:980px){.td-blog__grid>*{flex-basis:calc((100% - 26px)/2)}}
@media (max-width:620px){.td-svcs__grid>*,.td-blog__grid>*{flex-basis:100%}}

/* ------------------------------------------------------------------ dark bands */
.td-why,.td-areas{background:var(--char)!important}
.td-why .td-h2,.td-areas .td-h2,.td-why h3{color:#fff}
.td-why .td-eyebrow,.td-areas .td-eyebrow,.td-cta .td-eyebrow{color:var(--orange-lt)}
.td-feat{border-radius:var(--r)!important;background:rgba(255,255,255,.04)!important;border:1px solid rgba(255,255,255,.08)!important;transition:transform .45s var(--ease-out),background .3s,border-color .3s!important}
.td-feat:hover{transform:translateY(-4px);background:rgba(255,255,255,.07)!important;border-color:rgba(212,98,42,.55)!important}
.td-feat h3{text-transform:uppercase;font-size:1.08rem!important;letter-spacing:.01em;font-stretch:108%}
.td-feat__ico{border-radius:6px!important;background:rgba(212,98,42,.15)!important}
.td-feat__ico svg{color:var(--orange-lt)!important}

/* chips -> square tags */
.td-chip{border-radius:4px!important;font-weight:600!important;transition:background .2s,color .2s,transform .3s var(--ease-out)!important}
.td-chip:hover{transform:translateY(-2px);background:var(--red)!important;border-color:var(--red)!important}
.td-areas .td-chip{background:rgba(255,255,255,.06)!important}
.td-areas__col h3{color:var(--orange-lt)!important;text-transform:uppercase;letter-spacing:.04em}

/* ------------------------------------------------------------------ stats + counters */
.td-stat b,.td-intro__badge b{font-variant-numeric:tabular-nums}
.td-stat b{font-family:var(--display)!important;font-weight:900;font-stretch:112%;color:var(--red)!important}

/* ------------------------------------------------------------------ steps */
.td-step{border-radius:var(--r)!important;border:0!important;box-shadow:var(--sh-sm)!important;transition:transform .45s var(--ease-out),box-shadow .45s!important;overflow:hidden}
.td-step::before{font-family:var(--display)!important;font-weight:900;font-stretch:125%;font-size:3.4rem!important;color:transparent!important;-webkit-text-stroke:1.5px var(--red)}
.td-step:hover{transform:translateY(-6px);box-shadow:var(--sh)!important}
.td-step h3{text-transform:uppercase;font-size:1.08rem!important;font-stretch:108%}

/* ------------------------------------------------------------------ lists */
.td-list li::before{border-radius:3px!important;background-color:var(--red)!important}
.td-prose ul li::before{border-radius:1px!important;transform:rotate(45deg);background:var(--red)!important;width:8px!important;height:8px!important}

/* ------------------------------------------------------------------ byline */
.td-byline{border-radius:var(--r)!important;border:0!important;background:#fff!important;box-shadow:var(--sh-sm);border-left:4px solid var(--red)!important}
.td-byline__t b{font-family:var(--display)!important;font-weight:800}
.td-byline__t .r{color:var(--red)!important}

/* ------------------------------------------------------------------ TOC */
.td-toc{border-radius:var(--r)!important;border:0!important;border-left:4px solid var(--red)!important;background:#fff!important;box-shadow:var(--sh-sm);font-family:var(--sans)!important}
.td-toc__t{color:var(--red)!important;letter-spacing:.16em!important}
.td-toc a{color:var(--ink)!important}
.td-toc a:hover{color:var(--red)!important;border-bottom-color:var(--red)!important}

/* ------------------------------------------------------------------ answer box / prose / posts */
.td-answer{border-radius:var(--r)!important;border:0!important;border-left:5px solid var(--red)!important;background:#fff!important;box-shadow:var(--sh-sm)}
.td-answer h3{color:var(--red)!important;letter-spacing:.14em!important;font-weight:800!important}
.td-prose h2,.td-postbody h2{text-transform:none;font-size:clamp(1.6rem,3vw,2.25rem)!important;font-stretch:104%}
.td-prose h3,.td-postbody h3{color:var(--ink)!important}
.td-postbody a,.td-prose p a{color:var(--red)!important;text-decoration-color:rgba(192,57,43,.4)!important;transition:text-decoration-color .2s}
.td-postbody a:hover,.td-prose p a:hover{text-decoration-color:var(--red)!important}
.td-prose blockquote,.td-postbody blockquote{border-left-color:var(--red)!important;border-radius:0 6px 6px 0!important;font-family:var(--sans)!important}

/* ------------------------------------------------------------------ FAQ */
.td-q{border-bottom:1px solid rgba(0,0,0,.1)}
.td-q__btn{font-family:var(--display)!important;font-weight:800!important;font-stretch:104%;color:var(--ink);transition:color .2s,padding .3s var(--ease-out)}
.td-q__btn:hover{color:var(--red);padding-left:10px}
.td-q__ico{border-radius:50%;background:var(--cream);transition:transform .35s var(--ease-out),background .25s}
.td-q__ico::before,.td-q__ico::after{background:var(--red)!important}
.td-q.open .td-q__ico{transform:rotate(180deg);background:var(--red)}
.td-q.open .td-q__ico::before,.td-q.open .td-q__ico::after{background:#fff!important}

/* ------------------------------------------------------------------ CTA band */
.td-cta{background:var(--char)!important}
.td-cta__bg{opacity:.32!important;will-change:transform}
.td-cta::after{background:linear-gradient(120deg,rgba(14,14,14,.94),rgba(40,14,10,.82))!important}
.td-cta .td-h2{text-transform:uppercase}

/* ------------------------------------------------------------------ reviews (chrome strip + page grid) */
.td-gr{background:var(--paper)!important;border-top:0!important;padding:clamp(56px,7vw,96px) 0!important}
.td-gr__head{flex-direction:column;align-items:center!important;text-align:center;justify-content:center!important}
.td-gr__head>div{display:flex;flex-direction:column;align-items:center}
.td-gr__head h2{max-width:24ch!important;margin-inline:auto!important;font-size:clamp(1.7rem,3.6vw,2.7rem)!important}
.td-gr__badge{border-radius:4px!important;box-shadow:none!important}
.td-gr__card,.td-review{border-radius:var(--r)!important;border:0!important;box-shadow:var(--sh-sm)!important;transition:transform .45s var(--ease-out),box-shadow .45s}
.td-gr__card:hover,.td-review:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:var(--sh)!important}
.td-gr__card blockquote,.td-review p{font-style:normal!important}
.td-gr__ava{background:var(--red)!important;font-family:var(--display)!important;font-weight:800}
.td-gr__name{font-family:var(--display)!important;font-weight:800!important}
.td-gr__stars,.td-review__stars{color:#f2a33a!important}
.td-gr__track{animation-duration:80s!important}
@media (prefers-reduced-motion:reduce){
  .td-gr__track{animation:none!important;overflow-x:auto;scroll-snap-type:x mandatory;max-width:100%}
  .td-gr__track .tdt-dup{display:none}
  .td-gr__card{scroll-snap-align:start}
}

/* ------------------------------------------------------------------ blog cards */
.td-postcard,.td-feature{border-radius:var(--r-lg)!important;border:0!important;box-shadow:var(--sh-sm)!important;transition:transform .5s var(--ease-out),box-shadow .5s!important}
.td-postcard:hover,.td-feature:hover{transform:translateY(-7px)!important;box-shadow:var(--sh)!important}
.td-postcard__img{overflow:hidden;background-color:var(--sand);transition:background-size 1s var(--ease-out)}
.td-postcard__cat{border-radius:3px!important;background:var(--red)!important;letter-spacing:.12em!important}
.td-postcard__h,.td-feature__h{font-family:var(--display)!important;font-weight:800!important;font-stretch:104%;color:var(--ink)}
.td-postcard:hover .td-postcard__h{color:var(--red)}
.td-postcard__meta,.td-feature__go{color:var(--red)!important;text-transform:uppercase;letter-spacing:.12em;font-size:11.5px!important;font-weight:800!important}
.td-blogteaser{background:var(--cream)!important;border-top:0!important}
.td-blogteaser .td-h2,.td-blogteaser h2{font-family:var(--display)!important;font-weight:800!important}

/* ------------------------------------------------------------------ contact / UIQ form */
.td-formcard{border-radius:var(--r-lg)!important;border:0!important;box-shadow:var(--sh)!important}
.td-contact__strip{border-radius:var(--r-lg)!important;border:0!important;box-shadow:var(--sh-sm)}
.td-modal__phone{border-radius:6px!important}
.td-modal__phone strong{font-family:var(--display)!important;font-weight:900!important;font-stretch:110%}
.td-cinfo__ico{border-radius:6px!important}
.td-cinfo b{font-family:var(--display)!important;font-weight:800}
.td-modal__card{border-radius:8px!important}
.tdt-modal__h{font-family:var(--display);font-weight:800;font-stretch:108%;text-transform:uppercase;font-size:clamp(1.3rem,3vw,1.7rem);line-height:1.15;margin:12px 0 6px;color:var(--ink)}

/* mobile action bar */
.td-mobbar{background:rgba(18,18,18,.96)!important}
.td-mobbar a{border-radius:4px!important;font-family:var(--display);font-stretch:108%;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em;text-decoration:none}
.td-mobbar__call{color:var(--ink)!important}
@media (max-width:800px){body.tdt{padding-bottom:72px}.td-page{padding-bottom:0!important}}

/* ------------------------------------------------------------------ footer */
.tdt-ft{position:relative;overflow:hidden;background:var(--char);color:rgba(255,255,255,.7);font-family:var(--sans);font-size:15px;isolation:isolate}
.tdt-ft a{text-decoration:none}
.tdt-ft__ghost{position:absolute;left:50%;top:clamp(10px,3vw,40px);transform:translateX(-50%);z-index:-1;white-space:nowrap;pointer-events:none;
  font-family:var(--display);font-weight:900;font-stretch:125%;font-size:clamp(5rem,19vw,17rem);line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.06)}
.tdt-ft__lead{max-width:900px;margin:0 auto;padding:clamp(70px,9vw,120px) 20px clamp(50px,6vw,80px);text-align:center;border-bottom:1px solid rgba(255,255,255,.08)}
.tdt-ft__ey{display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-lt)}
.tdt-ft__ey::before,.tdt-ft__ey::after{content:"";width:28px;height:2px;background:currentColor}
.tdt-ft__big{margin:18px 0 10px;font-family:var(--display);font-weight:900;font-stretch:115%;text-transform:uppercase;color:#fff;font-size:clamp(2.2rem,6vw,4.6rem);line-height:.98;letter-spacing:-.025em}
.tdt-ft__phone{display:inline-block;font-family:var(--display);font-weight:900;font-stretch:112%;font-size:clamp(1.8rem,4.6vw,3.2rem);letter-spacing:-.01em;
  background:linear-gradient(90deg,var(--red),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .4s var(--ease-out)}
.tdt-ft__phone:hover{transform:scale(1.04)}
.tdt-ft__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px}
.tdt-ft__btns .td-btn{min-width:210px;justify-content:center}
.tdt-ft__grid{max-width:1240px;margin:0 auto;padding:clamp(50px,6vw,76px) clamp(20px,5vw,48px);display:grid;grid-template-columns:1.3fr 1.8fr .9fr 1.15fr;gap:40px}
.tdt-ft__brand img{height:64px;width:auto;filter:brightness(0) invert(1);opacity:.95;margin-bottom:18px}
.tdt-ft__brand p{margin:0 0 18px;line-height:1.65;color:rgba(255,255,255,.6);max-width:38ch}
.tdt-ft__badges{display:flex;flex-wrap:wrap;gap:8px}
.tdt-ft__badges a,.tdt-ft__badges span{font-size:11.5px;font-weight:800;letter-spacing:.06em;padding:7px 12px;border-radius:3px;border:1px solid rgba(240,180,154,.35);color:var(--sage)}
.tdt-ft__badges a:hover{background:var(--red);border-color:var(--red);color:#fff}
.tdt-ft__cred{margin-top:12px!important}
.tdt-ft__cred a{color:var(--sage);font-weight:700;font-size:13px}
.tdt-ft__cred a:hover{color:#fff}
.tdt-ft__h{margin:0 0 18px;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.tdt-ft__sub{margin:0 0 4px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-lt);opacity:.9}
.tdt-ft__svcgrid{column-count:2;column-gap:34px}
.tdt-ft__svcgrid>div{break-inside:avoid;margin-bottom:18px}
.tdt-ft__col a{display:block;padding:5px 0;color:rgba(255,255,255,.66);line-height:1.35;transition:color .2s,transform .3s var(--ease-out)}
.tdt-ft__col a:hover{color:#fff;transform:translateX(4px)}
.tdt-ft__contact a{display:flex;align-items:flex-start;gap:10px;color:#fff;font-weight:600;padding:7px 0}
.tdt-ft__contact svg{flex:0 0 auto;margin-top:3px;color:var(--orange-lt)}
.tdt-ft__credit{border-top:1px solid rgba(255,255,255,.08);padding:34px 20px 18px;display:flex;justify-content:center}
.tdt-ft__credit a{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.tdt-ft__credit span{font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.tdt-ft__credit img{width:min(260px,70vw);height:auto;opacity:.9;transition:opacity .25s,transform .4s var(--ease-out)}
.tdt-ft__credit a:hover img{opacity:1;transform:translateY(-2px)}
.tdt-ft__bottom{max-width:1240px;margin:0 auto;padding:18px clamp(20px,5vw,48px) 26px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;text-align:center;font-size:13px;color:rgba(255,255,255,.45)}
.tdt-ft__legal{display:flex;gap:20px}
.tdt-ft__legal a{color:rgba(255,255,255,.55)}
.tdt-ft__legal a:hover{color:#fff}

/* ------------------------------------------------------------------ pager */
.tdt-pager{margin-top:40px;display:flex;justify-content:center}
.tdt-pager .nav-links{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.tdt-pager .page-numbers{padding:10px 14px;border-radius:4px;background:#fff;color:var(--ink);text-decoration:none;font-weight:700;box-shadow:var(--sh-sm)}
.tdt-pager .page-numbers.current,.tdt-pager .page-numbers:hover{background:var(--red);color:#fff}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* ------------------------------------------------------------------ scroll reveal (gated; failsafe in JS) */
html.tdt-js .tdt-rv:not(.tdt-in){opacity:0;transform:translateY(34px)}
.tdt-rv{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
.tdt-rv.tdt-in{opacity:1;transform:none}
/* master.css' own reveal class follows the same rules under the theme */
html.tdt-js .td-reveal{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
@media (prefers-reduced-motion:reduce){
  html.tdt-js .tdt-rv:not(.tdt-in){opacity:1;transform:none}
  .tdt-rv,.td-reveal{transition:none!important}
  .td-phero__bg{transform:none!important}
  .tdt-dot,.tdt-scrollcue::after{animation:none}
}

/* ------------------------------------------------------------------ responsive */
@media (max-width:1240px){
  .tdt-phone__t small{display:none}
  .tdt-nav__link{padding-inline:10px;font-size:14px}
  .tdt-nav__link::after{left:10px;right:10px}
}
@media (max-width:1080px){
  :root{--hd-h:72px}
  .tdt-nav,.tdt-cta__btn{display:none}
  .tdt-burger{display:flex;margin-left:0}
  .tdt-cta{margin-left:auto}
  .tdt-top__m{display:none}
  .tdt-top__in{grid-template-columns:1fr auto}
  .tdt-brand img{height:50px}
  .tdt-ft__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .tdt-top__l{display:none}
  .tdt-top__in{grid-template-columns:1fr;justify-items:center}
  .tdt-top__r{justify-self:center}
  .tdt-phone__t{display:none}
  .tdt-bar{gap:12px}
  .tdt-brand img{height:44px}
  .tdt-hd.is-scrolled .tdt-brand img{height:40px}
  .tdt-home .td-hero{min-height:max(560px,calc(100svh - 110px))}
  .td-hero h1{font-size:clamp(2.1rem,10vw,3rem)!important}
  .td-hero__strip{flex-wrap:wrap}
  .td-hero__stat{flex:1 1 50%;min-width:0;padding:16px 6px 2px}
  .td-hero__stat:nth-child(3)::before{display:none}
  .tdt-ft__grid{grid-template-columns:1fr;text-align:center}
  .tdt-ft__brand p{margin-inline:auto}
  .tdt-ft__badges{justify-content:center}
  .tdt-ft__svcgrid{column-count:1}
  .tdt-ft__contact a{justify-content:center}
  .tdt-ft__col a:hover{transform:none}
  .tdt-scrollcue{display:none}
  .td-shead[data-ghost]::before{font-size:clamp(3rem,17vw,5rem)}
}

/* ------------------------------------------------------------------ QA pass 1 */
.td-page>section,.td-blogteaser,.td-gr,.tdt-ft{overflow-x:clip}
a.td-btn,.td-btn:hover,.tdt a.td-postcard,.tdt a.td-feature,.td-blogteaser a,.tdt-ft a,.tdt-hd a,.tdt-drawer a{text-decoration:none!important}
.td-blogteaser .td-lede a{color:var(--red);font-weight:700}
.td-blogteaser .td-postcard,.td-blogteaser .td-postcard *{color:inherit}
.td-blogteaser .td-postcard__h{color:var(--ink)}
.td-blogteaser .td-postcard__ex{color:var(--muted)}
.td-hero h1{font-size:clamp(2.3rem,5.2vw,4.7rem)!important;max-width:20ch}
.tdt-home .td-hero__inner{padding-top:clamp(56px,9vh,110px)}
.td-intro__body .td-h2,.td-split__body .td-h2,.td-split__body h2{font-size:clamp(1.7rem,3.1vw,2.6rem)}
.td-page h2+p,.td-page h3+p{margin-top:14px}
.td-mobbar__call{white-space:nowrap;font-size:14px!important}
.td-mobbar__call span{flex-direction:row!important;gap:5px;align-items:center!important}
@media (max-width:640px){
  .td-hero__eyebrow{font-size:11px;letter-spacing:.16em;line-height:1.7}
  .td-hero__eyebrow::before,.td-hero__eyebrow::after{display:none}
  .td-hero__cta .td-btn{flex:1 1 100%}
  .td-phero h1{font-size:clamp(1.85rem,8.4vw,2.5rem)!important}
}
/* post footer nav */
.tdt-postnav{max-width:824px!important;margin:0 auto;padding:10px 20px 60px;text-align:center}
.tdt-postnav__cat{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin:0 0 18px}
.tdt-postnav__cat a{color:var(--red);text-decoration:none}
.tdt-postnav__links{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tdt-postnav__a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:#fff;border-radius:6px;box-shadow:var(--sh-sm);text-decoration:none;text-align:left;transition:transform .4s var(--ease-out),box-shadow .4s}
.tdt-postnav__a--next{text-align:right;grid-column:2}
.tdt-postnav__a small{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.tdt-postnav__a span{font-family:var(--display);font-weight:800;color:var(--ink);line-height:1.25}
.tdt-postnav__a:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.td-toc{text-align:left}
@media (max-width:620px){.tdt-postnav__links{grid-template-columns:1fr}.tdt-postnav__a--next{grid-column:auto}}

/* ------------------------------------------------------------------ one review section per page (2026-10-25)
   Home body has a static 6-card .td-reviews grid and td-master injects the Google carousel .td-gr: keep the carousel.
   Testimonials (page 104) is the exception: its 20-review grid IS the page, so the injected carousel is hidden there. */
.td-page:has(.td-gr) .td-reviews{display:none!important}
body.page-id-104 .td-page:has(.td-reviews) .td-reviews{display:block!important}
body.page-id-104 .td-gr{display:none!important}

/* ==========================================================================
   DESIGN PASS 2 (2026-10-25): mega menus, TOC rail, CTAs, footer, reviews, motion
   ========================================================================== */
.td-page h2[id],.td-page h3[id]{scroll-margin-top:calc(var(--hd-h) + 28px)}

/* ---------------- mega menus: full-width panels, JS controlled (html.tdt-mm), hover-intent in theme.js */
.has-mega{display:flex;align-items:center}
.has-mega>.tdt-nav__link{padding-right:4px}
.has-mega>.tdt-nav__link::after{right:4px}
.tdt-nav__tog{display:grid;place-items:center;width:26px;height:44px;margin:0 6px 0 0;padding:0;border:0;background:none;color:var(--ink);cursor:pointer;border-radius:4px}
.tdt-nav__tog:hover,.is-open>.tdt-nav__tog{color:var(--red)}
.is-open>.tdt-nav__link{color:var(--red)}
.is-open>.tdt-nav__link::after{transform:scaleX(1)}
.tdt-mega{padding-top:0;background:#fff;border-top:1px solid rgba(0,0,0,.06);box-shadow:0 50px 90px -40px rgba(0,0,0,.5);transform:none;
  clip-path:inset(0 0 100% 0);transition:clip-path .5s var(--ease-out),opacity .3s var(--ease),visibility 0s linear .5s}
html:not(.tdt-mm) .tdt-nav__item.has-mega:hover .tdt-mega,html:not(.tdt-mm) .tdt-nav__item.has-mega:focus-within .tdt-mega,
.tdt-nav__item.is-open .tdt-mega{opacity:1;visibility:visible;clip-path:inset(0 0 -120px 0);transition:clip-path .55s var(--ease-out),opacity .25s var(--ease),visibility 0s}
.tdt-mega__in{max-width:1360px;margin:0 auto;background:none;border-radius:0;box-shadow:none;padding:34px clamp(20px,3vw,42px) 0;
  display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px 34px}
.tdt-mega__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 22px}
.tdt-mega__col,.tdt-mega__acol,.tdt-mega__feat,.tdt-mega__foot{opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease-out),transform .55s var(--ease-out)}
.is-open .tdt-mega__col,.is-open .tdt-mega__acol,.is-open .tdt-mega__feat,.is-open .tdt-mega__foot,
html:not(.tdt-mm) .has-mega:hover .tdt-mega *,html:not(.tdt-mm) .has-mega:focus-within .tdt-mega *{opacity:1;transform:none;transition-delay:calc(var(--i,3) * 55ms + 90ms)}
.tdt-mega__coltitle{display:flex;align-items:baseline;gap:10px;margin:0 0 10px;padding:0 0 10px 12px;border-bottom:2px solid var(--ink);font-family:var(--display);font-stretch:112%;font-weight:900;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.tdt-mega__coltitle small{font-family:var(--sans);font-weight:700;font-size:11px;letter-spacing:.08em;color:var(--muted-2)}
.tdt-mega__link{position:relative;display:block;padding:9px 12px 9px 12px;border-radius:4px;text-decoration:none!important;transition:background .2s,transform .3s var(--ease-out)}
.tdt-mega__link::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;background:var(--red);transform:scaleY(0);transition:transform .3s var(--ease-out)}
.tdt-mega__link b{display:block;font-family:var(--display);font-stretch:104%;font-weight:800;font-size:14.5px;line-height:1.25;color:var(--ink);margin:0 0 2px}
.tdt-mega__link span{display:block;font-size:12.5px;line-height:1.4;color:var(--muted)}
.tdt-mega__link:hover,.tdt-mega__link:focus-visible{background:var(--cream);transform:translateX(4px)}
.tdt-mega__link:hover::before,.tdt-mega__link:focus-visible::before{transform:none}
.tdt-mega__link:hover b{color:var(--red)}
.tdt-mega__feat{position:relative;grid-row:1;grid-column:2;min-height:300px;border-radius:8px;overflow:hidden;background:var(--char);display:flex;align-items:flex-end;isolation:isolate}
.tdt-mega__img{position:absolute;inset:0;z-index:-2;background:var(--char-3) center/cover no-repeat;transform:scale(1.06);transition:transform 1.4s var(--ease-out)}
.tdt-mega__feat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,15,15,.05) 0%,rgba(15,15,15,.55) 45%,rgba(15,15,15,.94) 100%)}
.is-open .tdt-mega__img{transform:scale(1)}
.tdt-mega__feat:hover .tdt-mega__img{transform:scale(1.05)}
.tdt-mega__featin{padding:22px;display:flex;flex-direction:column;gap:10px;color:#fff;width:100%}
.tdt-mega__featin .tdt-mega__h{font-size:1.25rem;line-height:1.1;margin:0 0 4px;color:#fff}
.tdt-mega__featin .td-btn{width:100%;justify-content:center}
.tdt-mega__phone{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.tdt-mega__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;margin-top:20px;padding:16px 0 20px;border-top:1px solid rgba(0,0,0,.08);font-size:13.5px;color:var(--muted)}
.tdt-mega__foot>span{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.tdt-mega__foot a{color:var(--ink);font-weight:700;text-decoration:none!important}
.tdt-mega__foot a:hover{color:var(--red)}
.tdt-mega__all{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-stretch:110%;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
.tdt-arr{transition:transform .3s var(--ease-out)}
a:hover>.tdt-arr{transform:translateX(4px)}
.tdt-mega--areas .tdt-mega__areas{grid-template-columns:1fr 1fr;gap:10px 34px}
.tdt-mega__ahead{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;border-bottom:2px solid var(--ink);margin-bottom:14px}
.tdt-mega__ahead .tdt-mega__coltitle{border:0;margin:0;padding-left:0}
.tdt-mega__hub{display:inline-flex;align-items:center;gap:6px;padding-bottom:10px;font-size:12.5px;font-weight:800;color:var(--red);text-decoration:none!important;white-space:nowrap}
.tdt-mega__towns{gap:7px}
.tdt-mega__towns a{padding:8px 12px;font-size:.86rem;border-radius:4px;background:var(--cream);transition:background .18s,color .18s,transform .25s var(--ease-out)}
.tdt-mega__towns a:hover,.tdt-mega__towns a:focus-visible{background:var(--red);color:#fff;transform:translateY(-2px)}
.tdt-scrim{position:fixed;inset:0;z-index:995;background:rgba(12,12,12,.42);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility 0s linear .35s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
body.tdt-mega-open .tdt-scrim{opacity:1;visibility:visible;transition:opacity .35s var(--ease),visibility 0s}
@media (max-width:1240px){.tdt-mega__in{grid-template-columns:minmax(0,1fr) 250px;gap:10px 24px}.tdt-mega__cols{gap:4px 12px}.tdt-mega__link span{display:none}}

/* mobile drawer, matched to the mega menus */
.tdt-drawer__panel>a small{display:block;margin-top:2px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.5)}
.tdt-drawer__panel .tdt-drawer__county{margin:20px 0 4px}
.tdt-drawer__panel .tdt-drawer__hub{display:block;margin:18px 0 10px;padding:0;border:0;font-family:var(--display);font-stretch:110%;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-lt)}
.tdt-drawer__panel .tdt-drawer__hub::before{display:none}
.tdt-drawer__panel .tdt-drawer__all{display:block;border:0;font-weight:800}
.tdt-drawer__acc[aria-expanded="true"]+.tdt-drawer__panel{max-height:2400px}
.tdt-drawer__card{margin-top:28px;padding:26px 22px 22px;border-radius:8px;background-size:cover;background-position:center;text-align:center}
.tdt-drawer__cardh{margin:8px 0 4px;font-family:var(--display);font-stretch:112%;font-weight:900;text-transform:uppercase;font-size:1.5rem;line-height:1.05;color:#fff}
.tdt-drawer.is-open .tdt-drawer__in>*{animation:tdt-rise .5s var(--ease-out) both}
.tdt-drawer.is-open .tdt-drawer__in>*:nth-child(2n){animation-delay:.04s}
@media (prefers-reduced-motion:reduce){.tdt-drawer.is-open .tdt-drawer__in>*{animation:none}}

/* ---------------- table of contents: modern card + collapsible on mobile + sticky side rail on desktop */
.td-toc{position:relative;padding:0!important;overflow:hidden;border-left:0!important;border-radius:10px!important;background:#fff!important;box-shadow:0 1px 0 rgba(0,0,0,.04),0 18px 40px -26px rgba(0,0,0,.4)!important;margin:8px auto 34px!important;max-width:900px}
.td-toc::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--red),var(--orange))}
.td-toc .td-toc__t{margin:0!important;padding:18px 24px 6px 28px}
.tdt-toc__btn{display:flex;align-items:center;gap:12px;width:100%;padding:18px 22px 18px 28px;border:0;background:none;cursor:pointer;text-align:left;font-family:var(--sans);color:var(--ink)}
.tdt-toc__btn b{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red)}
.tdt-toc__btn small{font-size:12.5px;font-weight:600;color:var(--muted-2)}
.tdt-toc__btn i{margin-left:auto;width:30px;height:30px;border-radius:50%;background:var(--cream);position:relative;flex:0 0 auto;transition:transform .35s var(--ease-out),background .25s}
.tdt-toc__btn i::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-6px 0 0 -4px;border-right:2px solid var(--red);border-bottom:2px solid var(--red);transform:rotate(45deg)}
.tdt-toc__btn[aria-expanded="true"] i{transform:rotate(180deg)}
.tdt-toc--js .td-toc__t{display:none}
.td-toc ul{counter-reset:toc;padding:0 22px 20px 28px!important;gap:2px 26px!important}
.td-toc li{counter-increment:toc}
.td-toc a{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:0!important;font-size:.95rem!important;font-weight:600;line-height:1.35!important;transition:color .2s,transform .3s var(--ease-out)}
.td-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--display);font-stretch:112%;font-weight:900;font-size:.8rem;color:var(--orange);min-width:1.6em}
.td-toc a:hover{transform:translateX(4px)}
.td-toc a.is-active{color:var(--red)!important}
.tdt-toc--js.is-collapsed ul{display:none!important}
@media (min-width:1081px){.tdt-toc__btn{cursor:default}.tdt-toc__btn i{display:none}}

.tdt-rail{position:fixed;left:14px;top:50%;z-index:900;transform:translate(-14px,-50%);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),transform .45s var(--ease-out),visibility 0s linear .4s;font-family:var(--sans)}
.tdt-rail.is-on{opacity:1;visibility:visible;transform:translate(0,-50%);transition:opacity .35s var(--ease),transform .45s var(--ease-out),visibility 0s}
.tdt-rail__box{width:44px;padding:14px 0;border-radius:10px;background:rgba(255,255,255,.0);transition:width .35s var(--ease-out),background .25s,box-shadow .25s;overflow:hidden}
.tdt-rail__t{margin:0 0 6px;padding:0 16px;font-size:10.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--red);white-space:nowrap;opacity:0;transition:opacity .2s}
.tdt-rail ol{list-style:none;margin:0;padding:0}
.tdt-rail a{display:flex;align-items:center;gap:12px;padding:6px 14px;text-decoration:none;color:var(--muted);font-size:13px;font-weight:600;line-height:1.3;white-space:nowrap}
.tdt-rail a i{flex:0 0 auto;width:14px;height:3px;border-radius:2px;background:rgba(20,20,20,.25);transition:width .3s var(--ease-out),background .25s}
.tdt-rail a span{opacity:0;overflow:hidden;text-overflow:ellipsis;max-width:220px;transition:opacity .2s}
.tdt-rail a.is-active i{width:26px;background:var(--red)}
.tdt-rail a.is-active{color:var(--ink)}
.tdt-rail a:hover i{background:var(--orange)}
.tdt-rail:hover .tdt-rail__box,.tdt-rail:focus-within .tdt-rail__box,.tdt-rail.is-wide .tdt-rail__box{width:270px;background:rgba(255,255,255,.96);box-shadow:0 24px 60px -26px rgba(0,0,0,.45);backdrop-filter:blur(10px)}
.tdt-rail:hover .tdt-rail__t,.tdt-rail:focus-within .tdt-rail__t,.tdt-rail.is-wide .tdt-rail__t,
.tdt-rail:hover a span,.tdt-rail:focus-within a span,.tdt-rail.is-wide a span{opacity:1}
.tdt-rail a:hover{color:var(--red)}
.tdt-rail__pct{display:block;margin:8px 16px 0;height:2px;background:rgba(0,0,0,.08);border-radius:2px;overflow:hidden}
.tdt-rail__pct b{display:block;height:100%;background:var(--red);transform-origin:0 50%;transform:scaleX(var(--p,0))}
@media (max-width:1279px){.tdt-rail{display:none}}

/* ---------------- interior hero: action row + polish */
.tdt-phero__act{margin-top:30px}
.tdt-phero__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.tdt-phero__btns .td-btn{display:inline-flex;align-items:center;gap:10px}
.tdt-phero__trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;margin:22px auto 0!important;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)!important}
.tdt-phero__trust a{display:inline-flex;align-items:center;gap:6px;color:#fff!important;text-decoration:none!important}
.tdt-phero__trust i{width:4px;height:4px;border-radius:50%;background:var(--orange)}
.tdt-phero__stars{display:inline-flex;color:#f2a33a}
.td-phero{isolation:isolate}
.td-phero h1{text-wrap:balance}
.td-phero .td-wrap{position:relative;z-index:2}
.td-phero .td-wrap::after{content:"";display:block;width:64px;height:4px;margin:30px auto 0;background:linear-gradient(90deg,var(--red),var(--orange));transform-origin:50% 50%}
@media (prefers-reduced-motion:no-preference){.td-phero .td-wrap::after{animation:tdt-bar 1.1s .5s var(--ease-out) both}}
@keyframes tdt-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (max-width:640px){.tdt-phero__btns .td-btn{flex:1 1 100%;justify-content:center}.tdt-phero__trust{font-size:10.5px;gap:4px 10px}}

/* ---------------- mid-content CTA band (+ inline card in posts) */
.tdt-band{position:relative;overflow:hidden;isolation:isolate;background:var(--char);color:#fff;padding:clamp(40px,5vw,64px) 0}
.tdt-band::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 140% at 100% 50%,rgba(192,57,43,.55),transparent 60%),radial-gradient(40% 120% at 0% 100%,rgba(212,98,42,.25),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px)}
.tdt-band::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--red),var(--orange),transparent);transform:translateX(-100%);animation:tdt-sweep 5s var(--ease) infinite}
@keyframes tdt-sweep{to{transform:translateX(100%)}}
.tdt-band__in{max-width:var(--wrap,1220px);margin:0 auto;padding-inline:clamp(20px,5vw,48px);display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap}
.tdt-band__ey{display:flex;align-items:center;gap:10px;margin:0 0 10px!important;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--orange-lt)!important}
.tdt-band__h{margin:0!important;font-family:var(--display);font-stretch:115%;font-weight:900;text-transform:uppercase;font-size:clamp(1.7rem,3.6vw,3rem);line-height:.98!important;letter-spacing:-.02em;color:#fff!important;max-width:18ch}
.tdt-band__h span{color:var(--orange-lt)}
.tdt-band__btns{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.tdt-band__tel{display:inline-flex;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;font-family:var(--display);font-stretch:110%;font-weight:900;font-size:1.45rem;line-height:1.05}
.tdt-band__tel svg{width:46px;height:46px;padding:12px;border-radius:50%;background:rgba(255,255,255,.1);transition:background .25s,transform .35s var(--ease-out)}
.tdt-band__tel:hover svg{background:var(--red);transform:rotate(-12deg)}
.tdt-band__tel span{display:flex;flex-direction:column}
.tdt-band__tel small{font-family:var(--sans);font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.tdt-band--card{margin:40px 0;border-radius:10px;padding:30px 0}
.tdt-band--card .tdt-band__in{padding-inline:30px}
.tdt-band--card .tdt-band__h{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.td-postbody .tdt-band a{text-decoration:none!important}
.td-postbody .tdt-band .td-btn{color:#fff!important}
.td-postbody .tdt-band__tel{color:#fff!important}
@media (max-width:760px){.tdt-band__in{flex-direction:column;text-align:center}.tdt-band__ey{justify-content:center}.tdt-band__h{margin-inline:auto!important}.tdt-band__btns{justify-content:center;flex-direction:column;gap:16px;width:100%}.tdt-band__btns .td-btn{width:100%;justify-content:center}}
@media (prefers-reduced-motion:reduce){.tdt-band::after{animation:none;display:none}}

/* bigger, bolder end-of-page CTA band (page content .td-cta) */
.td-cta{padding:clamp(80px,10vw,140px) 0!important}
.td-cta .td-h2,.td-cta h2{font-size:clamp(2.2rem,5.6vw,4.6rem)!important;line-height:.96!important;font-stretch:115%;font-weight:900!important;letter-spacing:-.025em}
.td-cta::before{content:"";position:absolute;left:50%;top:0;width:min(560px,70%);height:4px;transform:translateX(-50%);background:linear-gradient(90deg,var(--red),var(--orange));z-index:2}

/* ---------------- floating estimate CTA (desktop/tablet; the mobile bar covers phones) */
.tdt-float{position:fixed;right:22px;bottom:22px;z-index:950;display:flex;align-items:center;gap:10px;opacity:0;visibility:hidden;transform:translateY(24px) scale(.96);
  transition:opacity .35s var(--ease),transform .45s var(--ease-out),visibility 0s linear .45s}
.tdt-float.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .35s var(--ease),transform .45s var(--ease-out),visibility 0s}
.tdt-float__tel{display:flex;align-items:center;gap:0;height:56px;padding:0 18px;border-radius:30px;background:#fff;color:var(--ink)!important;text-decoration:none!important;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);font-family:var(--display);font-stretch:108%;font-weight:800;font-size:15px;transition:gap .3s var(--ease-out)}
.tdt-float__tel svg{color:var(--red)}
.tdt-float__tel span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .4s var(--ease-out)}
.tdt-float__tel:hover,.tdt-float__tel:focus-visible{gap:10px}
.tdt-float__tel:hover span,.tdt-float__tel:focus-visible span{max-width:160px}
.tdt-float__btn{position:relative;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 26px;border-radius:30px;background:var(--red);color:#fff!important;text-decoration:none!important;
  font-family:var(--display);font-stretch:110%;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:14px;box-shadow:0 18px 40px -14px rgba(192,57,43,.8);transition:background .25s,transform .35s var(--ease-out)}
.tdt-float__btn::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(192,57,43,.55);animation:tdt-pulse 2.8s 1s infinite}
@keyframes tdt-pulse{0%{box-shadow:0 0 0 0 rgba(192,57,43,.5)}70%{box-shadow:0 0 0 16px rgba(192,57,43,0)}100%{box-shadow:0 0 0 0 rgba(192,57,43,0)}}
.tdt-float__btn:hover{background:var(--red-dk);transform:translateY(-2px)}
@media (max-width:800px){.tdt-float{display:none}}
@media (prefers-reduced-motion:reduce){.tdt-float__btn::after{animation:none}}

/* ---------------- reviews carousel (td-gr): the one review section per page */
.td-gr{position:relative;isolation:isolate}
.td-gr::before{content:"REVIEWS";position:absolute;left:50%;top:clamp(18px,3vw,40px);transform:translateX(-50%);z-index:-1;white-space:nowrap;pointer-events:none;font-family:var(--display);font-weight:900;font-stretch:125%;font-size:clamp(4rem,14vw,12rem);line-height:1;letter-spacing:-.03em;color:transparent;-webkit-text-stroke:1.5px rgba(20,20,20,.07)}
.td-gr__badge{padding:10px 18px!important;background:#fff!important;font-weight:800!important;font-size:14px!important;box-shadow:0 10px 26px -16px rgba(0,0,0,.4)!important;border-radius:40px!important;color:var(--ink)!important}
.td-gr__head h2{text-transform:uppercase;font-stretch:112%;font-weight:900!important;font-size:clamp(1.9rem,4.4vw,3.4rem)!important;line-height:1!important}
.td-gr__head{gap:14px;margin-bottom:clamp(30px,4vw,48px)!important}
.td-gr__track{-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);padding-block:16px 26px}
.td-gr__card{position:relative;overflow:hidden;background:#fff!important}
.td-gr__card::before{content:"\201C";position:absolute;right:18px;top:-6px;font-family:Georgia,serif;font-size:7rem;line-height:1;color:rgba(192,57,43,.1);pointer-events:none}
.td-gr__card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--red),var(--orange));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.td-gr__card:hover::after{transform:scaleX(1)}

/* ---------------- footer: big type */
.tdt-ft__ghost{display:none}
.tdt-ft__lead{max-width:1360px;padding:clamp(80px,10vw,150px) clamp(20px,4vw,48px) clamp(56px,7vw,90px)}
.tdt-ft__ey{gap:10px}
.tdt-ft__ey::before,.tdt-ft__ey::after{display:none}
.tdt-ft__big{margin:22px 0 6px;font-size:clamp(2.9rem,10.5vw,9.6rem);line-height:.86;letter-spacing:-.035em;font-stretch:118%}
.tdt-ft__big a{color:#fff;text-decoration:none!important;background:linear-gradient(90deg,var(--red),var(--orange)) 0 100%/0 6px no-repeat;padding-bottom:6px;transition:background-size .6s var(--ease-out)}
.tdt-ft__big a:hover{background-size:100% 6px}
.tdt-ft__big span{color:transparent;-webkit-text-stroke:2px #fff}
.tdt-ft__phone{display:inline-flex;flex-direction:column;align-items:center;margin-top:24px;background:none;color:#fff!important;-webkit-text-fill-color:initial}
.tdt-ft__phone small{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.tdt-ft__phone span{font-size:clamp(2.3rem,7vw,6rem);line-height:1;letter-spacing:-.02em;background:linear-gradient(90deg,var(--red-lt),var(--orange-lt));-webkit-background-clip:text;background-clip:text;color:transparent}
.tdt-ft__btns{margin-top:34px}
.tdt-ft__trust{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:38px}
.tdt-ft__g,.tdt-ft__badge{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:40px;border:1px solid rgba(255,255,255,.14);color:#fff!important;font-size:13px;font-weight:700;transition:border-color .25s,background .25s}
.tdt-ft__g:hover,a.tdt-ft__badge:hover{border-color:var(--orange);background:rgba(255,255,255,.04)}
.tdt-ft__g b{font-family:var(--display);font-weight:900;font-stretch:112%;font-size:1.35rem;line-height:1}
.tdt-ft__stars{display:inline-flex;color:#f2a33a}
.tdt-ft__badge svg{color:var(--orange-lt)}
.tdt-ft__grid{max-width:1360px;grid-template-columns:1.25fr 2.1fr .95fr 1.15fr;gap:44px;border-top:1px solid rgba(255,255,255,.08)}
.tdt-ft__nap{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.tdt-ft__nap a,.tdt-ft__nap>span{display:flex;align-items:flex-start;gap:10px;padding:6px 0;color:#fff;font-weight:600;line-height:1.45}
.tdt-ft__nap svg{flex:0 0 auto;margin-top:3px;color:var(--orange-lt)}
.tdt-ft__nap a:hover{color:var(--orange-lt)}
.tdt-ft__hours{color:rgba(255,255,255,.8)!important;font-weight:500!important}
.tdt-ft__h{font-family:var(--display);font-stretch:112%;font-weight:900;font-size:13px;color:#fff;padding-bottom:12px;border-bottom:2px solid var(--red);display:inline-block}
.tdt-ft__h--gap{margin-top:28px!important}
.tdt-ft__sub--gap{margin-top:18px!important}
.tdt-ft__col a.tdt-ft__more{color:var(--orange-lt);font-weight:700;margin-top:6px}
.tdt-ft__col a.tdt-ft__post{font-size:14px;line-height:1.4;padding:6px 0}
.tdt-ft__word{position:relative;overflow:hidden;padding:0 0 clamp(10px,2vw,24px);text-align:center;line-height:.8;user-select:none;pointer-events:none}
.tdt-ft__word span{display:inline-block;font-family:var(--display);font-weight:900;font-stretch:125%;font-size:clamp(4rem,16.4vw,17.5rem);letter-spacing:-.045em;white-space:nowrap;line-height:.84;
  color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.2);background:linear-gradient(90deg,var(--red),var(--orange)) 0 0/0% 100% no-repeat;-webkit-background-clip:text;background-clip:text;transition:background-size 2.2s var(--ease-out)}
.tdt-ft__word.tdt-in span{background-size:100% 100%}
.tdt-ft__bottom{border-top:1px solid rgba(255,255,255,.08);max-width:none;padding-block:22px}
.tdt-ft__credit{border-top:0;padding:8px 20px 34px}
@media (max-width:1180px){.tdt-ft__grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .tdt-ft__grid{grid-template-columns:1fr}
  .tdt-ft__nap{align-items:center}
  .tdt-ft__nap a,.tdt-ft__nap>span{justify-content:center;text-align:center}
  .tdt-ft__h{margin-inline:auto}
  .tdt-ft__big span{-webkit-text-stroke-width:1.5px}
  .tdt-ft__btns .td-btn{flex:1 1 100%}
}
@media (prefers-reduced-motion:reduce){.tdt-ft__word span{transition:none;background-size:100% 100%}}

/* ---------------- homepage polish */
.td-hero h1 em{position:relative}
.td-hero h1 em::after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.08em;background:linear-gradient(90deg,var(--red),var(--orange));transform-origin:left;transform:scaleX(0)}
@media (prefers-reduced-motion:no-preference){.td-hero h1 em::after{animation:tdt-bar 1s 1s var(--ease-out) forwards}}
@media (prefers-reduced-motion:reduce){.td-hero h1 em::after{transform:none}}
.td-hero__strip{backdrop-filter:blur(3px)}
.td-svc__img{overflow:hidden}
.td-feat:hover .td-feat__ico{transform:rotate(-8deg) scale(1.08)}
.td-feat__ico{transition:transform .4s var(--ease-out)}
.tdt-rv.tdt-in .td-eyebrow::before{animation:tdt-bar .8s var(--ease-out) both}

.tdt-mega{pointer-events:none}.tdt-nav__item.is-open .tdt-mega,html:not(.tdt-mm) .has-mega:hover .tdt-mega,html:not(.tdt-mm) .has-mega:focus-within .tdt-mega{pointer-events:auto}
/* pass 2 tweaks */
.td-btn.tdt-btn--onDark{background:transparent}
.tdt-phero__trust{font-size:11.5px;letter-spacing:.1em}
.tdt-mega__coltitle{white-space:nowrap;letter-spacing:.1em;font-size:12.5px}
.tdt-ft__word span{font-size:clamp(3rem,13vw,15rem)}
@media (max-width:640px){.tdt-ft__col a{padding:4px 0}.tdt-ft__svcgrid{column-count:2;column-gap:14px;text-align:center}.tdt-ft__svcgrid a{font-size:14px}}
.tdt-band__in{flex-direction:column;text-align:center;gap:26px}
.tdt-band__ey{justify-content:center}
.tdt-band__h{max-width:26ch;margin-inline:auto!important;text-wrap:balance}
.tdt-band__btns{justify-content:center}
.tdt-band::before{background:radial-gradient(50% 120% at 50% 120%,rgba(192,57,43,.6),transparent 65%),radial-gradient(30% 80% at 0% 0%,rgba(212,98,42,.18),transparent 60%),repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 2px,transparent 2px 14px)}
.td-gr__head h2{text-wrap:balance;max-width:22ch!important}
.td-mobbar__quote{white-space:nowrap}
