/* Tigerbox / home-test. Independent page styles, September 2026. */
@font-face{font-family:Tiger Sans;src:url('../fonts/Fira_Sans/Firasanslight.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:Tiger Sans;src:url('../fonts/Fira_Sans/Firasansregular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Tiger Sans;src:url('../fonts/Fira_Sans/Firasanssemibold.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{
  color-scheme:dark;
  --tbx-ink:#151619;
  --tbx-paper:#f1f2f3;
  --tbx-white:#f7f8f9;
  --tbx-red:#cf3022;
  --tbx-muted:#a3a5aa;
  --tbx-line:rgba(247,248,249,.19);
  --tbx-line-dark:rgba(21,22,25,.22);
  --tbx-gutter:clamp(24px,4.2vw,88px);
  --tbx-ease:cubic-bezier(.22,.61,.36,1);
  --tbx-text-xs:.8125rem;
  --tbx-text-sm:.875rem;
  --tbx-text-base:1rem;
  --tbx-text-lead:1.125rem;
  --tbx-title-card:clamp(1.375rem,1.9vw,1.875rem);
  --tbx-title-section:clamp(2.5rem,4.7vw,4.75rem);
  --tbx-title-display:clamp(3.625rem,6vw,5.5rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body.tbx-new{margin:0;background:var(--tbx-ink);color:var(--tbx-white);font-family:Tiger Sans,Arial,Helvetica,sans-serif;font-size:1rem;font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.tbx-new a{color:inherit;text-decoration:none}
body.tbx-new button{font:inherit;color:inherit}
body.tbx-new img{display:block;max-width:100%;height:auto}
body.tbx-new figure,body.tbx-new blockquote,body.tbx-new h1,body.tbx-new h2,body.tbx-new h3,body.tbx-new p{margin:0}
body.tbx-new h1,body.tbx-new h2,body.tbx-new h3{font-weight:300}
body.tbx-new address{font-style:normal}
body.tbx-new button{cursor:pointer}
body.tbx-new a,body.tbx-new button{-webkit-tap-highlight-color:transparent}
body.tbx-new :focus-visible{outline:2px solid currentColor;outline-offset:6px}
body.tbx-new section:focus{outline:none}
body.tbx-new ::selection{background:var(--tbx-red);color:#fff}
[hidden]{display:none!important}
.tbx-shell{width:calc(100% - var(--tbx-gutter)*2);max-width:1600px;margin-inline:auto}
.tbx-page{min-width:0}
.tbx-skip{position:fixed;top:12px;left:12px;z-index:150;padding:12px 20px;background:var(--tbx-white);color:var(--tbx-ink)!important;transform:translateY(-160%)}
.tbx-skip:focus{transform:none}
.tbx-label{display:block;font-size:var(--tbx-text-sm);line-height:1.5}
.tbx-muted{color:var(--tbx-muted)}
.tbx-muted-dark{color:#62656a}
.tbx-section{padding-block:88px}
.tbx-section-label{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0;margin-bottom:64px;font-size:var(--tbx-text-sm);line-height:1.5}
.tbx-section-label>span:first-child,.tbx-section-label>h2{display:flex;align-items:center;gap:12px;font-size:inherit;font-weight:400}
.tbx-section-label>span:first-child:before,.tbx-section-label>h2:before{content:"";width:18px;height:2px;flex:none;background:var(--tbx-red)}
.tbx-section-label>a{display:inline-flex;align-items:center;gap:18px;padding-block:8px}
.tbx-inline-link{display:inline-block;font-size:var(--tbx-text-base);line-height:1.7;text-decoration-line:underline!important;text-decoration-thickness:1px;text-underline-offset:6px;text-decoration-color:currentColor;transition:opacity .2s ease}
.tbx-inline-link:hover{opacity:.65}
.tbx-arrow{display:inline-block;width:15px;height:15px;position:relative;flex:none;transform:rotate(-45deg)}
.tbx-arrow:before{content:"";position:absolute;width:18px;height:1px;background:currentColor;top:7px;left:-2px}
.tbx-arrow:after{content:"";position:absolute;inset:2px 0 auto auto;width:10px;height:10px;border-top:1px solid currentColor;border-right:1px solid currentColor}
.tbx-down,.tbx-up{display:inline-block;width:16px;height:19px;position:relative;flex:none}
.tbx-down:before,.tbx-up:before{content:"";position:absolute;left:7px;top:0;width:1px;height:18px;background:currentColor}
.tbx-down:after,.tbx-up:after{content:"";position:absolute;left:3px;bottom:2px;width:9px;height:9px;transform:rotate(45deg);border-right:1px solid currentColor;border-bottom:1px solid currentColor}
.tbx-up{transform:rotate(180deg)}
.tbx-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:60px;max-width:100%;padding:18px 23px;border:1px solid transparent;border-radius:2px;background:var(--tbx-red);color:#fff!important;font-size:var(--tbx-text-base);font-weight:400;line-height:1.4;transition:background .25s ease,box-shadow .25s ease}
.tbx-button .tbx-arrow{transition:transform .3s var(--tbx-ease)}
.tbx-button:hover{background:#b6281c}
.tbx-button:hover .tbx-arrow{transform:translate(2px,-2px) rotate(-45deg)}
.tbx-button--small{min-height:46px;padding:11px 17px;font-size:.875rem;gap:25px}
.tbx-button--dark{background:var(--tbx-ink)}
.tbx-button--dark:hover{background:#303137;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.tbx-quiet-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:46px;font-size:.875rem}

/* A small, persistent masthead. The original logo stays untouched. */
.tbx-header{position:sticky;top:0;z-index:40;background:var(--tbx-ink);border-bottom:1px solid var(--tbx-line)}
@supports(backdrop-filter:blur(16px)){.tbx-header{background:rgba(21,22,25,.94);backdrop-filter:blur(16px)}}
.tbx-header__inner{display:flex;align-items:center;justify-content:space-between;gap:36px;min-height:92px}
.tbx-logo{display:block;flex:none;width:100px}
.tbx-logo img{width:100px;height:51px}
.tbx-nav{display:flex;gap:clamp(20px,2.6vw,42px);margin-inline:auto;font-size:.875rem}
.tbx-nav a{position:relative;padding-block:15px}
.tbx-nav a:after{content:"";position:absolute;left:0;bottom:7px;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--tbx-ease)}
.tbx-nav a:hover:after,.tbx-nav a:focus-visible:after{transform:scaleX(1)}
.tbx-header__actions{display:flex;align-items:center;gap:30px;flex:none}
.tbx-header__phone{font-size:.9375rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.tbx-menu-toggle{display:none;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:6px 0 6px 12px;border:0;background:none;font-size:.875rem}
.tbx-menu-icon{width:24px;display:grid;gap:6px}
.tbx-menu-icon i{height:1px;background:currentColor}
.tbx-menu-icon i:last-child{width:17px;margin-left:auto}
.tbx-scroll-progress{position:absolute;inset:auto auto -1px 0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:var(--tbx-red);pointer-events:none}

/* Open type, then the photograph: both remain legible in their own space. */
.tbx-hero{padding-top:35px}
.tbx-hero__eyebrow{display:flex;justify-content:space-between;gap:20px;color:var(--tbx-muted);font-size:.875rem}
.tbx-hero__eyebrow>span:last-child{flex:none}
.tbx-hero__opening{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(240px,1fr);align-items:end;gap:50px;padding-top:38px;padding-bottom:42px}
.tbx-hero h1{min-width:0}
.tbx-hero__descriptor{display:block;max-width:600px;margin-bottom:20px;font-size:clamp(1.125rem,1.7vw,1.625rem);font-weight:400;line-height:1.35;letter-spacing:-.018em;text-wrap:balance}
.tbx-hero__brands{display:block;font-size:clamp(3rem,6.2vw,6.9rem);font-weight:300;line-height:1.025;letter-spacing:-.052em;overflow-wrap:break-word}
.tbx-hero__brands>span{color:var(--tbx-muted)}
.tbx-hero__aside{max-width:330px;padding-bottom:3px}
.tbx-hero__aside>p{max-width:310px;color:#d0d1d5;font-size:1.0625rem;line-height:1.55}
.tbx-hero__actions{display:grid;gap:12px;margin-top:28px}
.tbx-hero__actions .tbx-quiet-link{padding-inline:2px}
.tbx-hero__visual{position:relative;background:#25262b;isolation:isolate;overflow:hidden;aspect-ratio:3.6}
.tbx-hero__visual>img{width:100%;height:100%!important;object-fit:cover;object-position:50% 58%}
.tbx-hero__visual:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(0deg,rgba(9,11,15,.56),transparent 42%);pointer-events:none}
.tbx-hero__caption{position:absolute;inset:auto 0 25px;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:30px;font-size:1rem;line-height:1.35}
.tbx-hero__caption>a{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.6);border-radius:50%;transition:background .2s ease}
.tbx-hero__caption>a:hover{background:rgba(0,0,0,.35)}
.tbx-hero__location{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-block:26px;font-size:1rem}
.tbx-hero__location>a:first-child,.tbx-hero__location>div{display:flex;align-items:center;gap:28px}
.tbx-hero__location .tbx-label{color:var(--tbx-muted)}
.tbx-location-phone{font-variant-numeric:tabular-nums;white-space:nowrap}

/* A service index, with the entire row as a generous target. */
.tbx-services{background:var(--tbx-paper);color:var(--tbx-ink);color-scheme:light}
.tbx-services__layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:clamp(60px,8vw,150px)}
.tbx-services__intro{position:sticky;top:138px;align-self:start}
.tbx-services h2{font-size:var(--tbx-title-section);line-height:1.06;letter-spacing:-.045em;overflow-wrap:break-word}
.tbx-services__intro>p{max-width:330px;margin-top:26px;margin-bottom:20px;font-size:var(--tbx-text-base);line-height:1.6;color:#55595e}
.tbx-service-list{border-top:1px solid var(--tbx-line-dark)}
.tbx-service{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:32px;align-items:center;border-bottom:1px solid var(--tbx-line-dark);padding:28px 0}
.tbx-service>div{min-width:0}
.tbx-service h3{font-size:var(--tbx-title-card);line-height:1.18;letter-spacing:-.025em;transition:color .25s ease}
.tbx-service p{max-width:520px;margin-top:9px!important;font-size:var(--tbx-text-base);line-height:1.6;color:#55595e}
.tbx-service__arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b5b8bc;border-radius:50%;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .3s var(--tbx-ease)}
.tbx-service__arrow .tbx-arrow{width:13px;height:13px}
.tbx-service__arrow .tbx-arrow:before{width:16px;top:6px}
.tbx-service__arrow .tbx-arrow:after{width:8px;height:8px}
@media(hover:hover) and (pointer:fine){
  .tbx-service:hover h3{color:var(--tbx-red)}
  .tbx-service:hover .tbx-service__arrow{background:var(--tbx-red);border-color:var(--tbx-red);color:#fff;transform:rotate(45deg)}
}
.tbx-service:focus-visible{outline-offset:3px!important}

/* An editorial account of the specialization, with no invented metrics. */
.tbx-about{padding-bottom:0}
.tbx-about__opening{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:60px;align-items:center}
.tbx-about h2{font-size:clamp(2.5rem,4.7vw,4.75rem);line-height:1.1;letter-spacing:-.04em;overflow-wrap:break-word}
.tbx-about__since{position:relative;padding-left:38px;border-left:1px solid var(--tbx-line);align-self:start}
.tbx-about__since>span{display:block;font-size:.875rem;color:var(--tbx-muted)}
.tbx-about__since strong{display:block;font-size:clamp(5rem,7.3vw,7.5rem);font-weight:300;letter-spacing:-.055em;line-height:1.05;font-variant-numeric:lining-nums}
.tbx-about__since>span:last-child{text-align:right}
.tbx-about__body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:12%;margin-top:56px}
.tbx-about__body p{font-size:1rem;line-height:1.7;color:var(--tbx-muted)}
.tbx-about__body .tbx-about__lead{font-size:clamp(1.125rem,1.6vw,1.5rem);line-height:1.55;color:var(--tbx-white);letter-spacing:-.01em}
.tbx-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;margin-top:66px;padding-top:30px;border-top:1px solid var(--tbx-line);padding-bottom:68px}
.tbx-principles article{min-width:0}
.tbx-principles h3{font-size:1.5rem;font-weight:400;letter-spacing:-.015em;line-height:1.2}
.tbx-principles p{max-width:350px;margin-top:18px!important;font-size:1rem;line-height:1.65;color:var(--tbx-muted)}
.tbx-principles .tbx-inline-link{margin-top:20px;font-size:.875rem}
.tbx-detail-photo{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3.5;background:#2b2c2e}
.tbx-detail-photo>img{width:100%;height:100%!important;object-fit:cover;object-position:50% 57%}
.tbx-detail-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,11,15,.62),transparent 58%);pointer-events:none}
.tbx-detail-photo figcaption{position:absolute;z-index:1;inset:30px 0 auto;font-size:clamp(1.125rem,2vw,1.75rem);line-height:1.3;letter-spacing:-.025em}

/* One documented voice, set as a quote rather than a review carousel. */
.tbx-review{background:var(--tbx-paper);color:var(--tbx-ink);color-scheme:light;padding-bottom:100px}
.tbx-review__layout{display:grid;grid-template-columns:150px minmax(0,1fr);gap:45px}
.tbx-review__mark{font-weight:300;font-size:12rem;line-height:.6;letter-spacing:-.08em;color:var(--tbx-red)}
.tbx-review blockquote{max-width:1110px;font-size:clamp(2rem,3.9vw,4rem);font-weight:300;line-height:1.2;letter-spacing:-.035em;text-wrap:pretty}
.tbx-review__byline{display:flex;align-items:center;gap:24px;margin-top:38px;font-size:.875rem}
.tbx-review__byline>span:nth-child(2){color:#62656a}
.tbx-review__byline>a{margin-left:auto;font-size:.875rem}

/* The final invitation carries the only full red surface. */
.tbx-contact{background:var(--tbx-red);color:#fff}
.tbx-contact .tbx-section-label>span:first-child:before{background:currentColor}
.tbx-contact__opening{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);align-items:end;gap:80px}
.tbx-contact h2{font-size:var(--tbx-title-display);font-weight:300;line-height:.98;letter-spacing:-.055em;overflow-wrap:break-word}
.tbx-contact__cta{padding-bottom:8px}
.tbx-contact__cta p{max-width:330px;font-size:var(--tbx-text-base);line-height:1.6;margin-bottom:28px!important}
.tbx-contact__cta .tbx-button{width:100%}
.tbx-contact__main-phone{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:100%;margin-top:68px;padding-block:32px;border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);font-size:clamp(2.375rem,5.8vw,6rem);font-weight:300;line-height:1.2;letter-spacing:-.04em;font-variant-numeric:lining-nums}
.tbx-contact__main-phone>.tbx-arrow{width:38px;height:38px}
.tbx-contact__main-phone>.tbx-arrow:before{top:19px;width:45px;left:-4px}
.tbx-contact__main-phone>.tbx-arrow:after{width:25px;height:25px;top:7px}
.tbx-contact__details{display:grid;grid-template-columns:1.35fr .8fr 1fr;gap:48px;margin-top:36px}
.tbx-contact__details>div{min-width:0}
.tbx-contact__details .tbx-label{margin-bottom:12px}
.tbx-contact__details address,.tbx-contact__details p,.tbx-contact__details>div>a:not(.tbx-inline-link){font-size:var(--tbx-text-base);line-height:1.5}
.tbx-contact__details .tbx-inline-link{font-size:.875rem;margin-top:18px}
.tbx-contact__email{display:block;width:fit-content;margin-top:7px;overflow-wrap:anywhere}

/* Quiet closing information, with room for the mobile action bar. */
.tbx-footer{padding-top:42px;padding-bottom:30px}
.tbx-footer__top{display:flex;align-items:center;gap:60px;padding-bottom:38px}
.tbx-footer__top p{color:var(--tbx-muted);font-size:.875rem}
.tbx-to-top{display:inline-flex;align-items:center;gap:20px;min-height:44px;margin-left:auto;font-size:.875rem}
.tbx-footer__bottom{display:flex;justify-content:space-between;gap:25px;padding-top:22px;border-top:1px solid var(--tbx-line);font-size:.875rem;color:var(--tbx-muted)}
.tbx-mobile-bar{display:none}

/* Native dialog supplies focus isolation and Escape; fallback uses the same surface. */
body.tbx-menu-open{position:fixed;width:100%;overflow:hidden}
.tbx-mobile-menu{position:fixed;inset:0;z-index:100;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow-y:auto;overscroll-behavior:contain;background:var(--tbx-ink);color:var(--tbx-white);font:inherit}
.tbx-mobile-menu:not([open]){display:none}
.tbx-mobile-menu[open]{display:flex;flex-direction:column}
.tbx-mobile-menu::backdrop{background:var(--tbx-ink)}
.tbx-mobile-menu__top{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px;flex:none;border-bottom:1px solid var(--tbx-line);padding-top:env(safe-area-inset-top,0px)}
.tbx-menu-close{display:flex;align-items:center;gap:18px;min-height:48px;border:0;background:none;padding:4px 0 4px 12px;font-size:.875rem}
.tbx-close-icon{position:relative;width:22px;height:22px}
.tbx-close-icon:before,.tbx-close-icon:after{content:"";position:absolute;top:10px;left:0;width:24px;height:1px;background:currentColor;transform:rotate(45deg)}
.tbx-close-icon:after{transform:rotate(-45deg)}
.tbx-mobile-menu__body{display:flex;flex-direction:column;flex:1;padding-top:30px;padding-bottom:max(30px,env(safe-area-inset-bottom,0px))}
.tbx-mobile-menu nav{display:grid}
.tbx-mobile-menu nav>a{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:72px;padding-block:10px;border-bottom:1px solid var(--tbx-line);font-size:clamp(2rem,6.8vw,3.5rem);font-weight:300;line-height:1.2;letter-spacing:-.03em}
.tbx-mobile-menu nav>a>.tbx-arrow{margin-right:5px}
.tbx-mobile-menu__contact{display:grid;gap:12px;padding-top:36px;margin-top:auto}
.tbx-mobile-menu__contact p{font-size:.875rem;line-height:1.5;color:var(--tbx-muted)}
.tbx-mobile-menu__phone{width:fit-content;font-size:clamp(1.5rem,5.5vw,2rem);letter-spacing:-.025em}
.tbx-mobile-menu__contact .tbx-button{margin-top:8px;width:100%}

/* Motion never carries essential content and needs no animation library. */
@media(prefers-reduced-motion:no-preference){
  .tbx-hero__opening{animation:tbx-enter .8s var(--tbx-ease) both}
  .tbx-mobile-menu[open] .tbx-mobile-menu__body{animation:tbx-enter .3s var(--tbx-ease) both}
  @supports(animation-timeline:scroll()){
    .tbx-scroll-progress{animation:tbx-progress linear both;animation-timeline:scroll(root block)}
  }
  @supports(animation-timeline:view()){
    @media(min-width:1060px){
      .tbx-hero__visual>img{animation:tbx-photo linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
      .tbx-detail-photo>img{animation:tbx-photo linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    }
  }
}
@keyframes tbx-enter{from{opacity:.25;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes tbx-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes tbx-photo{from{transform:scale(1.01)}to{transform:scale(1.075)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
}

/* Tablet: preserve readable copy and keep the photograph uncrowded. */
@media(max-width:1250px){
  .tbx-header__inner{gap:25px}
  .tbx-header__actions{gap:20px}
  .tbx-nav{gap:24px}
  .tbx-hero__opening{grid-template-columns:minmax(0,2.2fr) minmax(230px,1fr);gap:34px}
  .tbx-hero__brands{font-size:6.2vw}
  .tbx-hero__aside>p{font-size:1rem}
  .tbx-hero__location>a:first-child,.tbx-hero__location>div{gap:16px}
  .tbx-location-phone{display:none}
  .tbx-services__layout{gap:65px}
  .tbx-about__opening{grid-template-columns:minmax(0,1fr) 205px;gap:45px}
}
@media(max-width:1059px){
  html{scroll-padding-top:100px}
  .tbx-header__inner{min-height:80px}
  .tbx-js .tbx-nav{display:none}
  .tbx-js .tbx-menu-toggle{display:flex}
  .tbx-header__actions{margin-left:auto}
  .tbx-header__actions .tbx-button{display:none}
  .tbx-hero__opening{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:35px}
  .tbx-hero__brands{font-size:clamp(3rem,9.5vw,6rem)}
  .tbx-hero__aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;max-width:none}
  .tbx-hero__aside>p{max-width:360px}
  .tbx-hero__actions{margin-top:0}
  .tbx-hero__visual{aspect-ratio:2.7}
  .tbx-services__layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:42px}
  .tbx-services h2{font-size:clamp(2rem,4.7vw,3.2rem)}
  .tbx-service{gap:20px}
  .tbx-service h3{font-size:1.5rem}
  .tbx-about__body{gap:7%}
  .tbx-principles{gap:28px}
  .tbx-review__layout{grid-template-columns:75px minmax(0,1fr);gap:28px}
  .tbx-review__mark{font-size:8rem}
  .tbx-review__byline{flex-wrap:wrap;gap:12px 24px}
  .tbx-review__byline>a{margin-left:0}
  .tbx-contact__opening{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:38px}
  .tbx-contact h2{font-size:8.3vw}
  .tbx-contact__details{gap:30px}
  .tbx-footer__top{gap:40px}
  .tbx-mobile-menu__top{min-height:80px}
  html:not(.tbx-js) .tbx-header__inner{flex-wrap:wrap;padding-block:16px}
  html:not(.tbx-js) .tbx-nav{order:3;width:100%;justify-content:space-between;flex-wrap:wrap}
}

/* Phone: intentional line breaks, full screen menu, no horizontal layouts to pan. */
@media(max-width:700px){
  :root{--tbx-gutter:22px}
  html{scroll-padding-top:90px}
  .tbx-header__inner{min-height:76px;gap:18px}
  .tbx-logo,.tbx-logo img{width:88px}
  .tbx-logo img{height:45px}
  .tbx-header__phone{font-size:.875rem}
  .tbx-menu-toggle>span:first-child{display:none}
  .tbx-menu-toggle{width:44px;min-height:48px;padding:6px;flex:none}
  .tbx-hero{padding-top:25px}
  .tbx-hero__eyebrow{font-size:.8125rem;gap:16px;align-items:start}
  .tbx-hero__eyebrow>span:first-child{max-width:220px}
  .tbx-hero__eyebrow>span:last-child{max-width:70px;text-align:right}
  .tbx-hero__opening{padding-top:28px;padding-bottom:28px;gap:23px}
  .tbx-hero__descriptor{font-size:1.125rem;line-height:1.4;max-width:350px;margin-bottom:17px;text-wrap:pretty}
  .tbx-hero__brands{font-size:clamp(2.05rem,9.5vw,3.8rem);line-height:1.06;letter-spacing:-.05em}
  .tbx-hero__aside{display:block;max-width:100%}
  .tbx-hero__aside>p{max-width:380px;font-size:1rem;line-height:1.55}
  .tbx-hero__actions{grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin-top:23px}
  .tbx-hero__actions .tbx-button{gap:16px;padding-inline:16px;font-size:.9375rem;min-height:56px}
  .tbx-hero__actions .tbx-quiet-link{gap:14px}
  .tbx-hero__actions .tbx-quiet-link .tbx-down{display:none}
  .tbx-hero__visual{aspect-ratio:1.78}
  .tbx-hero__visual>img{object-position:53% 58%}
  .tbx-hero__caption{bottom:17px;font-size:.875rem}
  .tbx-hero__caption>a{width:38px;height:38px}
  .tbx-hero__location{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding-block:22px;font-size:.875rem;line-height:1.5}
  .tbx-hero__location>a:first-child,.tbx-hero__location>div{display:block}
  .tbx-hero__location .tbx-label{font-size:.8125rem;margin-bottom:5px}
  .tbx-hero__location>div{text-align:right}
  .tbx-section{padding-block:56px}
  .tbx-section-label{margin-bottom:34px;gap:18px;font-size:.8125rem}
  .tbx-section-label>span:first-child,.tbx-section-label>h2{gap:9px}
  .tbx-section-label>a{gap:15px}
  .tbx-section-label>span:first-child:before,.tbx-section-label>h2:before{width:14px}
  .tbx-services__layout{grid-template-columns:minmax(0,1fr);gap:38px}
  .tbx-services__intro{position:static}
  .tbx-services h2{font-size:var(--tbx-title-section);line-height:1.08}
  .tbx-services h2>br:nth-child(2){display:none}
  .tbx-services__intro>p{margin-top:22px;margin-bottom:17px;max-width:480px;line-height:1.6}
  .tbx-service{padding:24px 0;gap:20px;grid-template-columns:minmax(0,1fr) 34px}
  .tbx-service h3{font-size:1.375rem;line-height:1.25;letter-spacing:-.02em}
  .tbx-service p{margin-top:9px!important;line-height:1.6}
  .tbx-service__arrow{width:34px;height:34px;align-self:start;margin-top:1px}
  .tbx-service__arrow .tbx-arrow{transform:rotate(-45deg) scale(.85)}
  .tbx-about{padding-bottom:0}
  .tbx-about .tbx-section-label>span:last-child{display:none}
  .tbx-about__opening{grid-template-columns:minmax(0,1fr);gap:32px}
  .tbx-about h2{font-size:clamp(2rem,7.9vw,3.375rem);line-height:1.13}
  .tbx-about__since{display:flex;align-items:center;gap:16px;border-left:0;border-block:1px solid var(--tbx-line);padding:20px 0}
  .tbx-about__since strong{font-size:4rem;margin-left:auto}
  .tbx-about__since>span:first-child{max-width:90px}
  .tbx-about__body{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:30px}
  .tbx-about__body .tbx-about__lead{font-size:1.25rem;line-height:1.55}
  .tbx-principles{grid-template-columns:minmax(0,1fr);gap:0;margin-top:34px;padding-top:0;padding-bottom:35px}
  .tbx-principles article{padding-block:25px;border-bottom:1px solid var(--tbx-line)}
  .tbx-principles article:last-child{border-bottom:0}
  .tbx-principles h3{font-size:1.375rem}
  .tbx-principles p{max-width:100%;margin-top:12px!important}
  .tbx-principles .tbx-inline-link{margin-top:14px}
  .tbx-detail-photo{aspect-ratio:1.6}
  .tbx-detail-photo>img{object-fit:cover;object-position:56% 55%}
  .tbx-detail-photo:after{background:linear-gradient(0deg,rgba(9,11,15,.72),transparent 55%)}
  .tbx-detail-photo figcaption{inset:auto 0 18px;font-size:1rem}
  .tbx-review__layout{display:block}
  .tbx-review__mark{display:block;font-size:5.5rem;line-height:.65;height:64px;letter-spacing:-.06em}
  .tbx-review blockquote{font-size:clamp(1.75rem,6.7vw,2.4rem);line-height:1.26;letter-spacing:-.03em}
  .tbx-review__byline{display:grid;gap:6px;margin-top:26px}
  .tbx-review__byline>a{margin-top:12px;width:fit-content}
  .tbx-contact .tbx-section-label>span:last-child{display:none}
  .tbx-contact__opening{grid-template-columns:minmax(0,1fr);gap:30px}
  .tbx-contact h2{font-size:var(--tbx-title-display);line-height:1}
  .tbx-contact__cta{padding:0}
  .tbx-contact__cta p{max-width:450px;font-size:1rem;margin-bottom:22px!important}
  .tbx-contact__cta .tbx-button{min-height:58px}
  .tbx-contact__main-phone{margin-top:34px;padding-block:25px;gap:10px;font-size:clamp(1.65rem,7.25vw,2.6rem);letter-spacing:-.04em}
  .tbx-contact__main-phone>.tbx-arrow{width:15px;height:15px}
  .tbx-contact__main-phone>.tbx-arrow:before{width:18px;top:7px;left:-2px}
  .tbx-contact__main-phone>.tbx-arrow:after{width:10px;height:10px;top:2px}
  .tbx-contact__details{grid-template-columns:1fr;gap:22px;margin-top:24px}
  .tbx-contact__details>div:first-child{grid-column:auto}
  .tbx-contact__details .tbx-label{font-size:.8125rem;margin-bottom:8px}
  .tbx-contact__details address,.tbx-contact__details p,.tbx-contact__details>div>a:not(.tbx-inline-link){font-size:1rem;line-height:1.6}
  .tbx-contact__details .tbx-inline-link{margin-top:10px}
  .tbx-contact__details>div:last-child{grid-column:auto}
  .tbx-contact__email{margin-top:5px}
  .tbx-footer{padding-top:32px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .tbx-footer__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;padding-bottom:30px}
  .tbx-footer__top p{grid-column:1/-1;grid-row:2}
  .tbx-to-top{grid-column:2;grid-row:1}
  .tbx-footer__bottom{display:grid;gap:12px;padding-top:22px;font-size:.8125rem}
  .tbx-mobile-bar:not([hidden]){position:fixed;z-index:35;inset:auto 0 0;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:12px;align-items:center;padding:10px var(--tbx-gutter) max(10px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--tbx-line);background:var(--tbx-ink)}
  .tbx-mobile-bar .tbx-button{min-height:48px;padding:12px 17px;font-size:.9375rem;gap:18px}
  .tbx-mobile-bar__call{text-align:center;padding-block:14px;font-size:.9375rem}
  .tbx-mobile-menu__top{min-height:76px}
  .tbx-mobile-menu__body{padding-top:24px}
  .tbx-mobile-menu nav>a{min-height:66px}
  .tbx-mobile-menu__contact{padding-top:28px}
}
@media(max-width:380px){
  :root{--tbx-gutter:18px}
  .tbx-header__inner{gap:12px}
  .tbx-logo,.tbx-logo img{width:78px}
  .tbx-logo img{height:40px}
  .tbx-header__phone{font-size:.875rem}
  .tbx-hero__actions{grid-template-columns:minmax(0,1fr);gap:8px}
  .tbx-hero__actions .tbx-quiet-link{justify-content:center}
  .tbx-hero__brands{font-size:9.55vw}
  .tbx-hero__eyebrow{font-size:.75rem}
  .tbx-contact__main-phone{font-size:7.35vw}
  .tbx-service{gap:14px}
}
@media(max-height:650px) and (max-width:1059px){
  .tbx-mobile-menu__body{padding-top:10px}
  .tbx-mobile-menu nav>a{min-height:52px;font-size:1.75rem}
  .tbx-mobile-menu__contact{padding-top:22px}
}
@media print{
  .tbx-header,.tbx-mobile-bar,.tbx-mobile-menu,.tbx-skip{display:none!important}
  .tbx-new,.tbx-services,.tbx-review,.tbx-contact{background:white!important;color:black!important}
  .tbx-section{padding-block:24px}
  .tbx-services__intro{position:static}
  .tbx-hero__visual,.tbx-detail-photo{max-height:240px}
}

/* === Hybrid v2.2: standardized v1 hero + approach === */
.tbx-v1-hero{
  position:relative;
  min-height:calc(100svh - 92px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:#0b0c0e;
  color:var(--tbx-white);
  font-family:inherit;
}
.tbx-v1-hero__media,.tbx-v1-hero__shade{position:absolute;inset:0}
.tbx-v1-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center}
.tbx-v1-hero__shade{
  background:
    linear-gradient(90deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,.82) 38%,rgba(8,9,11,.25) 72%,rgba(8,9,11,.54) 100%),
    linear-gradient(0deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,0) 48%);
}
.tbx-v1-hero__content{position:relative;z-index:2;padding-top:118px;padding-bottom:162px}
.tbx-v1-kicker{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-bottom:26px;
  color:#c7c9ce;
  font-size:var(--tbx-text-sm);
  font-weight:400;
  line-height:1.4;
}
.tbx-v1-kicker span:not(:last-child):after{
  content:"";
  display:inline-block;
  width:16px;
  height:1px;
  margin:0 0 3px 18px;
  background:rgba(207,48,34,.9);
  vertical-align:middle;
}
.tbx-v1-hero h1{
  max-width:980px;
  margin:0;
  font-family:inherit;
  font-size:var(--tbx-title-display);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.048em;
  text-wrap:balance;
}
.tbx-v1-hero__lead{
  max-width:560px;
  margin:24px 0 0;
  color:#d2d4d8;
  font-size:var(--tbx-text-lead);
  line-height:1.55;
}
.tbx-v1-hero__cta{display:flex;align-items:center;gap:28px;margin-top:30px}
.tbx-v1-hero .tbx-button{min-height:56px;padding:16px 22px;font-family:inherit;font-size:var(--tbx-text-base);font-weight:400}
.tbx-v1-text-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:var(--tbx-white)!important;
  font-size:var(--tbx-text-base);
  font-weight:400;
}
.tbx-v1-text-link:after{content:"";display:block;width:28px;height:1px;background:currentColor;opacity:.55}
.tbx-v1-hero__facts{
  position:absolute;
  z-index:3;
  right:0;
  bottom:0;
  left:0;
  border-top:1px solid var(--tbx-line);
  background:rgba(12,13,15,.68);
  backdrop-filter:blur(16px);
}
.tbx-v1-hero__facts-grid{display:grid;grid-template-columns:1.35fr .9fr}
.tbx-v1-hero__facts-grid>div{padding:22px 28px;border-right:1px solid var(--tbx-line)}
.tbx-v1-hero__facts-grid>div:first-child{padding-left:0}
.tbx-v1-hero__facts-grid>div:last-child{border-right:0}
.tbx-v1-hero__facts small{
  display:block;
  margin-bottom:6px;
  color:#8f939b;
  font-size:var(--tbx-text-xs);
  font-weight:400;
  line-height:1.4;
}
.tbx-v1-hero__facts strong{font-size:var(--tbx-text-base);font-weight:400;line-height:1.45;font-variant-numeric:tabular-nums}

.tbx-v1-process{padding:96px 0;background:#0b0c0e;color:var(--tbx-white);font-family:inherit}
.tbx-v1-process__grid{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(540px,1.18fr);gap:72px}
.tbx-v1-section-tag{
  display:flex;
  align-items:center;
  gap:12px;
  color:#9ca0a8;
  font-size:var(--tbx-text-sm);
  font-weight:400;
  line-height:1.4;
}
.tbx-v1-section-tag:before{content:"";width:18px;height:2px;flex:0 0 18px;background:var(--tbx-red)}
.tbx-v1-process h2{
  margin:24px 0 0;
  font-family:inherit;
  font-size:var(--tbx-title-section);
  font-weight:300;
  line-height:1.04;
  letter-spacing:-.042em;
  text-wrap:balance;
}
.tbx-v1-process__steps{border-top:1px solid var(--tbx-line)}
.tbx-v1-process__steps article{
  position:relative;
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:30px;
  align-items:start;
  padding:26px 0 26px 26px;
  border-bottom:1px solid var(--tbx-line);
}
.tbx-v1-process__steps article:before{content:"";position:absolute;top:34px;left:0;width:12px;height:2px;background:var(--tbx-red)}
.tbx-v1-process__steps h3{
  margin:0;
  font-family:inherit;
  font-size:var(--tbx-title-card);
  font-weight:300;
  line-height:1.2;
  letter-spacing:-.02em;
}
.tbx-v1-process__steps p{margin:1px 0 0;color:var(--tbx-muted);font-size:var(--tbx-text-base);line-height:1.55}

@media (min-width:701px) and (max-width:1100px){
  .tbx-v1-hero__content{padding-top:96px;padding-bottom:156px}
  .tbx-v1-hero h1{max-width:820px;font-size:clamp(3.25rem,7.3vw,4.75rem)}
  .tbx-v1-process{padding:82px 0}
  .tbx-v1-process__grid{grid-template-columns:1fr;gap:48px}
}

@media (max-width:700px){
  :root{
    --tbx-title-card:1.375rem;
    --tbx-title-section:clamp(2rem,8.5vw,2.75rem);
    --tbx-title-display:clamp(2.25rem,10.2vw,3rem);
  }
  .tbx-v1-hero{display:block;min-height:0}
  .tbx-v1-hero__media img{object-position:57% center}
  .tbx-v1-hero__shade{
    background:
      linear-gradient(90deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,.78) 74%,rgba(8,9,11,.5) 100%),
      linear-gradient(0deg,rgba(8,9,11,.96) 0%,rgba(8,9,11,.18) 58%,rgba(8,9,11,.38) 100%);
  }
  .tbx-v1-hero__content{min-height:470px;padding-top:54px;padding-bottom:38px}
  .tbx-v1-kicker{gap:6px 10px;margin-bottom:18px;font-size:var(--tbx-text-xs)}
  .tbx-v1-kicker span:not(:last-child):after{width:10px;margin-left:10px}
  .tbx-v1-hero h1{max-width:100%;line-height:1.02;letter-spacing:-.04em;text-wrap:pretty}
  .tbx-v1-hero__lead{max-width:94%;margin-top:18px;font-size:var(--tbx-text-base);line-height:1.5}
  .tbx-v1-hero__cta{align-items:stretch;flex-direction:column;gap:12px;margin-top:24px}
  .tbx-v1-hero__cta .tbx-button{width:100%;min-height:52px}
  .tbx-v1-text-link{justify-content:space-between;width:100%;min-height:44px;padding:8px 0}
  .tbx-v1-hero__facts{position:relative;right:auto;bottom:auto;left:auto;background:rgba(12,13,15,.9)}
  .tbx-v1-hero__facts-grid{grid-template-columns:1fr}
  .tbx-v1-hero__facts-grid>div{padding:14px 0;border-right:0;border-bottom:1px solid var(--tbx-line)}
  .tbx-v1-hero__facts-grid>div:last-child{border-bottom:0}
  .tbx-v1-hero__facts strong{font-size:.9375rem}

  .tbx-section{padding-block:48px}
  .tbx-section-label{margin-bottom:28px}
  .tbx-services__layout{gap:30px}
  .tbx-services h2{line-height:1.08}
  .tbx-services__intro>p{margin-top:16px;margin-bottom:14px;line-height:1.5}
  .tbx-service{grid-template-columns:minmax(0,1fr) 32px;gap:14px;padding:20px 0}
  .tbx-service h3{line-height:1.2}
  .tbx-service p{margin-top:7px!important;font-size:.9375rem;line-height:1.5}
  .tbx-service__arrow{width:32px;height:32px}

  .tbx-v1-process{padding:56px 0}
  .tbx-v1-section-tag{margin-bottom:18px}
  .tbx-v1-process__grid{grid-template-columns:1fr;gap:28px}
  .tbx-v1-process h2{margin-top:0;line-height:1.06}
  .tbx-v1-process__steps article{display:block;padding:20px 0 20px 20px}
  .tbx-v1-process__steps article:before{top:28px;width:10px}
  .tbx-v1-process__steps h3{font-size:1.375rem}
  .tbx-v1-process__steps p{margin-top:6px;font-size:.9375rem;line-height:1.5}

  .tbx-contact__opening{gap:24px}
  .tbx-contact h2{line-height:1.02}
  .tbx-contact__cta p{max-width:340px;margin-bottom:18px!important;line-height:1.5}
  .tbx-contact__cta .tbx-button{min-height:54px}
  .tbx-contact__main-phone{
    margin-top:28px;
    padding-block:22px;
    font-size:clamp(1.6rem,7vw,2.25rem);
    white-space:nowrap;
  }
  .tbx-contact__details{grid-template-columns:1fr;gap:22px;margin-top:24px}
  .tbx-contact__details>div:first-child,.tbx-contact__details>div:last-child{grid-column:auto}
  .tbx-contact__details .tbx-label{margin-bottom:6px}
  .tbx-contact__details address,.tbx-contact__details p,.tbx-contact__details>div>a:not(.tbx-inline-link){font-size:var(--tbx-text-base);line-height:1.5}

  .tbx-mobile-menu nav>a{min-height:60px;font-size:clamp(1.75rem,8vw,2.35rem)}
  .tbx-mobile-menu__contact{gap:10px;padding-top:22px}
}

@media (max-width:380px){
  .tbx-header__phone{display:none}
  .tbx-v1-hero__content{min-height:445px;padding-top:46px}
  .tbx-v1-hero h1{font-size:clamp(2.1rem,10.4vw,2.55rem)}
  .tbx-v1-hero__lead{max-width:100%;font-size:.9375rem}
  .tbx-contact__main-phone{font-size:1.55rem}
}
/* === End hybrid v2.2 === */

/* === v2.3 simplification and full-screen hero === */
.tbx-v1-hero{
  min-height:calc(100svh - 92px);
  isolation:isolate;
}
.tbx-v1-hero__media{
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 36%,rgba(207,48,34,.16),transparent 27%),
    #101114;
}
.tbx-v1-hero__media img{
  transform:scale(1.035);
  filter:saturate(.78) contrast(1.08) brightness(.82);
}
.tbx-v1-hero__shade{
  background:
    radial-gradient(circle at 76% 30%,rgba(207,48,34,.13),transparent 24%),
    linear-gradient(90deg,rgba(8,9,11,.96) 0%,rgba(8,9,11,.79) 39%,rgba(8,9,11,.24) 72%,rgba(8,9,11,.48) 100%),
    linear-gradient(0deg,rgba(8,9,11,.96) 0%,rgba(8,9,11,.08) 52%,rgba(8,9,11,.2) 100%);
}
.tbx-v1-hero:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.52),transparent 75%);
  opacity:.45;
}
.tbx-v1-hero__content{
  padding-top:clamp(70px,10vh,120px);
  padding-bottom:clamp(150px,19vh,190px);
}
.tbx-v1-hero h1{max-width:980px}
.tbx-services .tbx-section-label{justify-content:flex-start}
.tbx-services__intro .tbx-inline-link{margin-top:24px}
.tbx-service{
  grid-template-columns:minmax(0,1fr);
  padding-right:0;
}
.tbx-service__arrow{display:none!important}
.tbx-contact .tbx-section-label{justify-content:flex-start}

@media(max-width:1059px){
  .tbx-v1-hero{min-height:calc(100svh - 80px)}
}

@media(max-width:700px){
  .tbx-v1-hero{
    min-height:calc(100svh - 76px);
    display:flex;
    align-items:flex-end;
  }
  .tbx-v1-hero__media img{
    object-position:59% center;
    transform:scale(1.055);
  }
  .tbx-v1-hero__shade{
    background:
      radial-gradient(circle at 78% 24%,rgba(207,48,34,.13),transparent 25%),
      linear-gradient(90deg,rgba(8,9,11,.96) 0%,rgba(8,9,11,.8) 64%,rgba(8,9,11,.48) 100%),
      linear-gradient(0deg,rgba(8,9,11,.97) 0%,rgba(8,9,11,.2) 56%,rgba(8,9,11,.34) 100%);
  }
  .tbx-v1-hero:after{
    background-size:48px 48px;
    opacity:.32;
  }
  .tbx-v1-hero__content{
    min-height:0;
    width:100%;
    padding-top:42px;
    padding-bottom:126px;
  }
  .tbx-v1-kicker{margin-bottom:16px}
  .tbx-v1-hero h1{
    max-width:96%;
    font-size:clamp(2.15rem,9.7vw,2.9rem);
    line-height:1.03;
  }
  .tbx-v1-hero__facts{
    position:absolute;
    right:0;
    bottom:0;
    left:0;
    background:rgba(12,13,15,.7);
    backdrop-filter:blur(14px);
  }
  .tbx-v1-hero__facts-grid{
    grid-template-columns:1fr 1fr;
    gap:0;
  }
  .tbx-v1-hero__facts-grid>div{
    min-width:0;
    padding:16px 16px 17px 0;
    border-right:1px solid var(--tbx-line);
    border-bottom:0;
  }
  .tbx-v1-hero__facts-grid>div+div{
    padding-left:16px;
    padding-right:0;
    border-right:0;
  }
  .tbx-v1-hero__facts strong{
    display:block;
    font-size:.875rem;
    line-height:1.4;
  }

  .tbx-services__intro .tbx-inline-link{margin-top:18px}
  .tbx-service{
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding:19px 0;
  }
}

@media(max-width:430px){
  .tbx-v1-hero__content{padding-bottom:142px}
  .tbx-v1-hero__facts-grid{grid-template-columns:1fr}
  .tbx-v1-hero__facts-grid>div{
    padding:11px 0;
    border-right:0;
    border-bottom:1px solid var(--tbx-line);
  }
  .tbx-v1-hero__facts-grid>div+div{
    padding-left:0;
    border-bottom:0;
  }
  .tbx-v1-hero__facts small{margin-bottom:3px}
  .tbx-v1-hero__facts strong{font-size:.8125rem}
}
/* === End v2.3 === */

/* === v2.4 header, hero line breaks and footer === */
.tbx-header__meta{
  display:grid;
  gap:2px;
  flex:none;
  min-width:0;
  font-size:.75rem;
  line-height:1.35;
}
.tbx-header__address{
  white-space:nowrap;
  color:var(--tbx-white);
}
.tbx-header__hours{
  white-space:nowrap;
  color:var(--tbx-muted);
}
.tbx-header>.tbx-shell>.tbx-header__phone{flex:none}

@media(min-width:1060px){
  .tbx-v1-hero h1>span{display:block}
  .tbx-v1-hero h1{
    max-width:none;
    white-space:normal;
    text-wrap:initial;
  }
}

.tbx-footer{padding:34px 0 30px}
.tbx-footer__layout{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:start;
  gap:42px;
}
.tbx-footer__copy{
  min-width:0;
  padding-top:2px;
}
.tbx-footer__copy>p{
  margin:0;
  color:var(--tbx-muted);
  font-size:var(--tbx-text-sm);
  line-height:1.5;
  white-space:nowrap;
}
.tbx-footer__legal{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--tbx-line);
  color:var(--tbx-muted);
  font-size:var(--tbx-text-sm);
  line-height:1.5;
}
.tbx-footer__legal a{margin-left:auto}

@media(max-width:1250px) and (min-width:1060px){
  .tbx-header__inner{gap:20px}
  .tbx-nav{gap:18px}
  .tbx-header__meta{font-size:.6875rem}
  .tbx-header>.tbx-shell>.tbx-header__phone{font-size:.875rem}
}

@media(max-width:1059px){
  .tbx-header__meta{display:none}
  .tbx-header>.tbx-shell>.tbx-header__phone{margin-left:auto}
  .tbx-v1-hero h1>span{display:inline}
  .tbx-v1-hero h1>span:not(:last-child):after{content:" "}
}

@media(max-width:700px){
  .tbx-footer{padding-top:30px}
  .tbx-footer__layout{
    grid-template-columns:1fr;
    gap:22px;
  }
  .tbx-footer__copy{padding-top:0}
  .tbx-footer__copy>p{
    white-space:normal;
    max-width:100%;
  }
  .tbx-footer__legal{
    align-items:flex-start;
    gap:18px;
    margin-top:12px;
    padding-top:12px;
  }
  .tbx-footer__legal a{
    margin-left:auto;
    text-align:right;
  }
}

@media(max-width:380px){
  .tbx-footer__legal{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .tbx-footer__legal a{
    margin-left:0;
    text-align:left;
  }
}
/* === End v2.4 === */

/* === v2.5 header phone, hero atmosphere and contact map === */
@media(min-width:1260px){
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:clamp(1.55rem,1.55vw,1.9rem);
    font-weight:300;
    line-height:1;
    letter-spacing:-.035em;
  }
}
@media(min-width:1060px) and (max-width:1259px){
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1.18rem;
    font-weight:300;
    letter-spacing:-.025em;
  }
}

/* Dark editorial image treatment: stronger depth on the right, guaranteed contrast on copy. */
.tbx-v1-hero__media{
  background:#0a0b0d;
}
.tbx-v1-hero__media img{
  transform:scale(1.045);
  filter:saturate(.62) contrast(1.13) brightness(.70);
}
.tbx-v1-hero__shade{
  background:
    radial-gradient(ellipse at 82% 31%,rgba(207,48,34,.24) 0%,rgba(207,48,34,.09) 20%,transparent 46%),
    radial-gradient(ellipse at 73% 73%,rgba(82,91,108,.15),transparent 35%),
    linear-gradient(90deg,rgba(6,7,9,.98) 0%,rgba(6,7,9,.91) 34%,rgba(6,7,9,.58) 57%,rgba(6,7,9,.24) 78%,rgba(6,7,9,.52) 100%),
    linear-gradient(0deg,rgba(6,7,9,.92) 0%,rgba(6,7,9,.06) 56%,rgba(6,7,9,.34) 100%);
}
.tbx-v1-hero:after{
  background:
    linear-gradient(90deg,transparent 0%,transparent 62%,rgba(255,255,255,.055) 62.05%,transparent 62.12%),
    linear-gradient(90deg,transparent 0%,transparent 78%,rgba(207,48,34,.18) 78.04%,transparent 78.13%),
    radial-gradient(circle at 80% 32%,rgba(255,255,255,.055),transparent 16%);
  background-size:auto;
  mask-image:none;
  opacity:.72;
}
.tbx-v1-hero h1{
  text-shadow:0 2px 28px rgba(0,0,0,.34);
}
.tbx-v1-kicker{
  text-shadow:0 1px 14px rgba(0,0,0,.45);
}

/* Replace the CTA panel with a restrained, interactive Yandex map. */
.tbx-contact__opening{
  grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);
  align-items:end;
  gap:clamp(48px,6vw,96px);
}
.tbx-contact__map{
  position:relative;
  min-height:300px;
  aspect-ratio:1.48;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.28);
  background:#d8d8d8;
  box-shadow:0 28px 70px rgba(80,12,8,.18);
  isolation:isolate;
}
.tbx-contact__map:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(207,48,34,.025),rgba(21,22,25,.055));
}
.tbx-contact__map iframe{
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  border:0;
  filter:grayscale(.84) saturate(.35) contrast(1.08) brightness(1.03);
}
.tbx-contact__map-pin{
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  border:4px solid #fff;
  border-radius:50%;
  background:var(--tbx-red);
  box-shadow:0 0 0 1px rgba(21,22,25,.26),0 7px 22px rgba(21,22,25,.35);
  pointer-events:none;
}
.tbx-contact__map-pin:before{
  content:"";
  position:absolute;
  inset:-12px;
  border:1px solid rgba(207,48,34,.38);
  border-radius:50%;
}
.tbx-contact__main-phone{
  justify-content:flex-start;
}
.tbx-contact__address address{
  white-space:nowrap;
}

@media(max-width:1059px){
  .tbx-contact__opening{
    grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
    gap:36px;
  }
  .tbx-contact__map{
    min-height:270px;
  }
}
@media(max-width:700px){
  .tbx-v1-hero__media img{
    filter:saturate(.58) contrast(1.11) brightness(.66);
  }
  .tbx-v1-hero__shade{
    background:
      radial-gradient(ellipse at 82% 24%,rgba(207,48,34,.20),transparent 34%),
      linear-gradient(90deg,rgba(6,7,9,.97) 0%,rgba(6,7,9,.86) 57%,rgba(6,7,9,.55) 100%),
      linear-gradient(0deg,rgba(6,7,9,.94) 0%,rgba(6,7,9,.18) 58%,rgba(6,7,9,.38) 100%);
  }
  .tbx-v1-hero:after{
    background:
      linear-gradient(90deg,transparent 0%,transparent 76%,rgba(207,48,34,.16) 76.08%,transparent 76.2%),
      radial-gradient(circle at 78% 25%,rgba(255,255,255,.04),transparent 18%);
    opacity:.68;
  }
  .tbx-contact__opening{
    grid-template-columns:1fr;
    gap:30px;
  }
  .tbx-contact__map{
    width:100%;
    min-height:0;
    aspect-ratio:1.55;
  }
  .tbx-contact__main-phone{
    justify-content:flex-start;
  }
  .tbx-contact__address address{
    font-size:clamp(.75rem,3.15vw,1rem)!important;
    line-height:1.45!important;
    white-space:nowrap;
    letter-spacing:-.012em;
  }
}
@media(max-width:380px){
  .tbx-contact__map{aspect-ratio:1.35}
  .tbx-contact__address address{
    font-size:.72rem!important;
    letter-spacing:-.018em;
  }
}
/* === End v2.5 === */

/* === v2.6 enlarged header + simplified contacts + modal map === */

/* Header typography now reads as one deliberate system, not utility microcopy. */
@media(min-width:1260px){
  .tbx-header__inner{
    min-height:100px;
    gap:clamp(24px,2.2vw,38px);
  }
  .tbx-nav{
    gap:clamp(24px,2.2vw,38px);
    font-size:1rem;
  }
  .tbx-header__meta{
    gap:3px;
    font-size:.875rem;
    line-height:1.35;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:clamp(1.7rem,1.7vw,2.05rem);
    letter-spacing:-.04em;
  }
}
@media(min-width:1060px) and (max-width:1259px){
  .tbx-header__inner{
    min-height:94px;
    gap:16px;
  }
  .tbx-nav{
    gap:16px;
    font-size:.9375rem;
  }
  .tbx-header__meta{
    gap:2px;
    font-size:.8125rem;
    line-height:1.3;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1.32rem;
    letter-spacing:-.03em;
  }
}
@media(max-width:1059px){
  .tbx-header__inner{min-height:82px}
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1.1rem;
    font-weight:300;
    letter-spacing:-.02em;
  }
  .tbx-menu-toggle{font-size:1rem}
}

/* Contact section: address, map trigger, phone, schedule. Nothing else competes. */
.tbx-contact{
  overflow:hidden;
}
.tbx-contact__address-block{
  max-width:1400px;
}
.tbx-contact__address-block h2{
  max-width:1320px;
  font-size:clamp(3rem,5.3vw,5.75rem);
  line-height:.98;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.tbx-contact__map-link{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:28px;
  min-height:46px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.62);
  background:transparent;
  color:#fff;
  font-size:1rem;
  font-weight:400;
  line-height:1.4;
  transition:border-color .2s ease,opacity .2s ease;
}
.tbx-contact__map-link:after{
  content:"";
  width:28px;
  height:1px;
  background:currentColor;
  opacity:.62;
}
.tbx-contact__map-link:hover{
  border-color:transparent;
  opacity:.72;
}
.tbx-contact__primary{
  margin-top:clamp(52px,6vw,86px);
  border-top:1px solid rgba(255,255,255,.42);
}
.tbx-contact__main-phone,
.tbx-contact__hours-large{
  display:block;
  width:100%;
  margin:0;
  padding:clamp(24px,2.5vw,36px) 0;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.42);
  font-size:clamp(2.85rem,5.7vw,6rem);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-.05em;
  font-variant-numeric:lining-nums tabular-nums;
}
.tbx-contact__main-phone{
  white-space:nowrap;
}
.tbx-contact__hours-large{
  color:rgba(255,255,255,.92);
}

/* Map only appears when requested. */
body.tbx-map-open{overflow:hidden}
.tbx-map-modal{
  position:fixed;
  inset:0;
  z-index:120;
  width:min(1180px,calc(100vw - 64px));
  height:min(760px,calc(100dvh - 64px));
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.18);
  background:#111216;
  color:var(--tbx-white);
  box-shadow:0 34px 100px rgba(0,0,0,.52);
  overflow:hidden;
}
.tbx-map-modal:not([open]){display:none}
.tbx-map-modal[open]{display:block}
.tbx-map-modal::backdrop{
  background:rgba(6,7,9,.76);
  backdrop-filter:blur(12px);
}
.tbx-map-modal__frame{
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
}
.tbx-map-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:86px;
  padding:18px 24px 18px 28px;
  border-bottom:1px solid var(--tbx-line);
}
.tbx-map-modal__top>div{
  display:grid;
  gap:3px;
  min-width:0;
}
.tbx-map-modal__top span{
  color:var(--tbx-muted);
  font-size:.8125rem;
}
.tbx-map-modal__top strong{
  font-size:1.05rem;
  font-weight:400;
  line-height:1.35;
}
.tbx-map-modal__close{
  position:relative;
  width:48px;
  height:48px;
  flex:none;
  border:1px solid var(--tbx-line);
  border-radius:50%;
  background:transparent;
}
.tbx-map-modal__close span:before,
.tbx-map-modal__close span:after{
  content:"";
  position:absolute;
  top:23px;
  left:13px;
  width:22px;
  height:1px;
  background:currentColor;
  transform:rotate(45deg);
}
.tbx-map-modal__close span:after{transform:rotate(-45deg)}
.tbx-map-modal__map{
  position:relative;
  min-height:0;
  overflow:hidden;
  background:#d5d5d5;
  isolation:isolate;
}
.tbx-map-modal__map iframe{
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  border:0;
  filter:grayscale(.72) saturate(.42) contrast(1.05);
}
.tbx-map-modal__pin{
  position:absolute;
  z-index:2;
  top:50%;
  left:50%;
  width:22px;
  height:22px;
  transform:translate(-50%,-50%);
  border:5px solid #fff;
  border-radius:50%;
  background:var(--tbx-red);
  box-shadow:0 0 0 1px rgba(21,22,25,.26),0 8px 24px rgba(21,22,25,.4);
  pointer-events:none;
}
.tbx-map-modal__pin:before{
  content:"";
  position:absolute;
  inset:-14px;
  border:1px solid rgba(207,48,34,.42);
  border-radius:50%;
}

/* Desktop spacing refinement. */
@media(min-width:1060px){
  .tbx-services.tbx-section,
  .tbx-contact.tbx-section{padding-block:96px}
  .tbx-contact .tbx-section-label{margin-bottom:56px}
  .tbx-v1-process{padding-block:104px}
  .tbx-services__layout{
    grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
    gap:clamp(72px,9vw,160px);
  }
}

/* Mobile: no compressed columns, large copy still fits naturally. */
@media(max-width:700px){
  :root{--tbx-gutter:20px}
  .tbx-header__inner{min-height:78px;gap:14px}
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1rem;
    margin-left:auto;
  }
  .tbx-menu-toggle{width:42px;padding-inline:4px}
  .tbx-section{padding-block:52px}
  .tbx-section-label{margin-bottom:30px}
  .tbx-services__layout{gap:34px}
  .tbx-service{padding-block:21px}
  .tbx-v1-process{padding-block:60px}

  .tbx-contact__address-block h2{
    max-width:100%;
    font-size:clamp(2.15rem,9.4vw,3rem);
    line-height:1.04;
    letter-spacing:-.042em;
    text-wrap:pretty;
  }
  .tbx-contact__map-link{
    margin-top:20px;
    min-height:42px;
    font-size:.9375rem;
  }
  .tbx-contact__primary{
    margin-top:42px;
  }
  .tbx-contact__main-phone,
  .tbx-contact__hours-large{
    padding:21px 0;
    font-size:clamp(2rem,9vw,3rem);
    line-height:1.08;
    letter-spacing:-.045em;
  }
  .tbx-contact__hours-large{
    max-width:100%;
    text-wrap:balance;
  }

  .tbx-map-modal{
    inset:0;
    width:100vw;
    height:100dvh;
    margin:0;
    border:0;
  }
  .tbx-map-modal__top{
    min-height:78px;
    padding:14px var(--tbx-gutter);
  }
  .tbx-map-modal__top strong{
    max-width:240px;
    font-size:.9375rem;
  }
  .tbx-map-modal__close{
    width:44px;
    height:44px;
  }
  .tbx-map-modal__close span:before,
  .tbx-map-modal__close span:after{
    top:21px;
    left:11px;
  }
}
@media(max-width:390px){
  :root{--tbx-gutter:18px}
  .tbx-header>.tbx-shell>.tbx-header__phone{font-size:.92rem}
  .tbx-contact__address-block h2{font-size:2rem}
  .tbx-contact__main-phone,
  .tbx-contact__hours-large{font-size:1.85rem}
}
/* === End v2.6 === */


/* v2.6.1 small responsive corrections */
@media(max-width:1059px){
  .tbx-mobile-menu__contact p{font-size:1rem}
}
@media(max-width:700px){
  .tbx-footer__copy>p{line-height:1.45}
  .tbx-contact .tbx-section-label{margin-bottom:26px}
}
/* End v2.6.1 */


/* === v2.7 map architecture + mobile refinement === */

/* Map modal becomes a real two-part composition instead of a floating map card. */
.tbx-map-modal{
  width:min(1240px,calc(100vw - 72px));
  height:min(760px,calc(100dvh - 72px));
  border-color:rgba(255,255,255,.14);
  border-radius:3px;
  background:#101115;
}
.tbx-map-modal__frame{
  display:grid;
  grid-template-columns:minmax(280px,340px) minmax(0,1fr);
  grid-template-rows:1fr;
  height:100%;
}
.tbx-map-modal__panel{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  padding:28px 28px 30px;
  border-right:1px solid var(--tbx-line);
  background:
    linear-gradient(180deg,rgba(255,255,255,.018),transparent 40%),
    #111216;
}
.tbx-map-modal__panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.tbx-map-modal__eyebrow{
  color:var(--tbx-muted);
  font-size:.8125rem;
  line-height:1.4;
  letter-spacing:.02em;
}
.tbx-map-modal__info{
  display:grid;
  gap:18px;
}
.tbx-map-modal__info strong{
  max-width:260px;
  font-size:clamp(1.7rem,2.3vw,2.4rem);
  font-weight:300;
  line-height:1.08;
  letter-spacing:-.035em;
}
.tbx-map-modal__info p{
  color:var(--tbx-muted);
  font-size:1rem;
  line-height:1.5;
}
.tbx-map-modal__info a{
  display:inline-flex;
  align-items:center;
  width:fit-content;
  min-height:42px;
  border-bottom:1px solid rgba(255,255,255,.48);
  font-size:.9375rem;
  line-height:1.4;
}
.tbx-map-modal__close{
  width:44px;
  height:44px;
  border-color:rgba(255,255,255,.18);
  transition:background .2s ease,border-color .2s ease;
}
.tbx-map-modal__close:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.34);
}
.tbx-map-modal__close span:before,
.tbx-map-modal__close span:after{
  top:21px;
  left:11px;
}
.tbx-map-modal__map{
  position:relative;
  min-width:0;
  min-height:0;
  background:#d2d2d2;
}
.tbx-map-modal__map:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(16,17,21,.08);
}
.tbx-map-modal__map iframe{
  filter:grayscale(.56) saturate(.55) contrast(1.03);
}
/* Explicitly retire the old fixed-center marker. */
.tbx-map-modal__pin{display:none!important}

/* Mobile menu now ends with useful contact data only. */
@media(max-width:1059px){
  .tbx-mobile-menu__contact{
    gap:10px;
    padding-top:28px;
  }
  .tbx-mobile-menu__contact p{
    font-size:.9375rem;
    line-height:1.45;
  }
  .tbx-mobile-menu__phone{
    margin-top:4px;
    font-size:clamp(1.45rem,5.2vw,1.9rem);
    line-height:1.15;
  }
}

/* Mobile page polish: calmer rhythm, safer line lengths and cleaner contacts. */
@media(max-width:700px){
  :root{--tbx-gutter:19px}

  .tbx-header__inner{
    min-height:76px;
    gap:12px;
  }
  .tbx-logo,.tbx-logo img{width:84px}
  .tbx-logo img{height:auto}
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:.96rem;
    line-height:1;
    white-space:nowrap;
  }

  .tbx-v1-hero__content{
    padding-top:38px;
    padding-bottom:112px;
  }
  .tbx-v1-kicker{
    gap:5px 9px;
    margin-bottom:15px;
    line-height:1.35;
  }
  .tbx-v1-hero h1{
    max-width:100%;
    font-size:clamp(2.05rem,9.3vw,2.75rem);
    line-height:1.035;
  }

  .tbx-section{
    padding-block:48px;
  }
  .tbx-section-label{
    margin-bottom:26px;
  }
  .tbx-services__layout{
    gap:28px;
  }
  .tbx-service{
    padding-block:18px;
  }
  .tbx-service h3{
    font-size:1.28rem;
    line-height:1.22;
  }
  .tbx-service p{
    max-width:92%;
    font-size:.9rem;
    line-height:1.48;
  }

  .tbx-v1-process{
    padding-block:54px;
  }
  .tbx-v1-process__grid{
    gap:24px;
  }
  .tbx-v1-process__steps article{
    padding-block:18px;
  }

  .tbx-contact__address-block h2{
    max-width:100%;
    font-size:clamp(1.75rem,7.4vw,2.2rem);
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:pretty;
  }
  .tbx-contact__map-link{
    margin-top:16px;
    min-height:38px;
    font-size:.9rem;
  }
  .tbx-contact__primary{
    margin-top:32px;
  }
  .tbx-contact__main-phone{
    padding:17px 0;
    font-size:clamp(1.65rem,7vw,2.05rem);
    line-height:1.08;
    letter-spacing:-.035em;
  }
  .tbx-contact__hours-large{
    padding:17px 0;
    font-size:clamp(1.25rem,5.3vw,1.55rem);
    line-height:1.16;
    letter-spacing:-.025em;
    white-space:normal;
    text-wrap:pretty;
  }

  .tbx-map-modal{
    inset:0;
    width:100vw;
    height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
  }
  .tbx-map-modal__frame{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
  }
  .tbx-map-modal__panel{
    min-height:164px;
    padding:18px var(--tbx-gutter) 20px;
    border-right:0;
    border-bottom:1px solid var(--tbx-line);
  }
  .tbx-map-modal__panel-top{
    align-items:flex-start;
  }
  .tbx-map-modal__info{
    gap:8px;
    margin-top:16px;
  }
  .tbx-map-modal__info strong{
    max-width:calc(100% - 54px);
    font-size:1.35rem;
    line-height:1.12;
  }
  .tbx-map-modal__info p{
    font-size:.875rem;
  }
  .tbx-map-modal__info a{
    min-height:34px;
    font-size:.8125rem;
  }
  .tbx-map-modal__close{
    width:42px;
    height:42px;
  }
  .tbx-map-modal__close span:before,
  .tbx-map-modal__close span:after{
    top:20px;
    left:10px;
  }

  .tbx-mobile-menu__body{
    padding-top:18px;
    padding-bottom:max(22px,env(safe-area-inset-bottom,0px));
  }
  .tbx-mobile-menu nav>a{
    min-height:58px;
    font-size:clamp(1.7rem,7.5vw,2.25rem);
  }
  .tbx-mobile-menu__contact{
    padding-top:22px;
  }

  .tbx-footer{
    padding-top:28px;
  }
  .tbx-footer__layout{
    gap:18px;
  }
  .tbx-footer__legal{
    font-size:.78rem;
  }
}

@media(max-width:390px){
  :root{--tbx-gutter:17px}
  .tbx-header>.tbx-shell>.tbx-header__phone{font-size:.88rem}
  .tbx-v1-hero h1{font-size:1.95rem}
  .tbx-contact__address-block h2{font-size:1.62rem}
  .tbx-contact__main-phone{font-size:1.55rem}
  .tbx-contact__hours-large{font-size:1.18rem}
  .tbx-map-modal__info strong{font-size:1.22rem}
}
/* === End v2.7 === */


/* === v2.8 full-address header + contact rhythm === */
.tbx-contact.tbx-section{
  padding-top:clamp(78px,8vw,122px);
}
.tbx-contact__address-block{
  max-width:1480px;
}
.tbx-contact__address-block h2{
  max-width:1380px;
}
.tbx-contact__primary{
  margin-top:clamp(48px,5.5vw,78px);
}

/* Full address in the masthead without turning the header into a dense utility bar. */
@media(min-width:1260px){
  .tbx-header__inner{
    gap:clamp(20px,1.8vw,32px);
  }
  .tbx-nav{
    gap:clamp(20px,1.8vw,30px);
    margin-left:auto;
    margin-right:0;
  }
  .tbx-header__meta{
    width:min(360px,27vw);
    max-width:360px;
    font-size:.84rem;
    line-height:1.28;
  }
  .tbx-header__address{
    white-space:normal;
    text-wrap:balance;
  }
  .tbx-header__hours{
    margin-top:2px;
    white-space:nowrap;
  }
}
@media(min-width:1060px) and (max-width:1259px){
  .tbx-header__inner{
    gap:14px;
  }
  .tbx-nav{
    gap:14px;
    margin-left:auto;
    margin-right:0;
    font-size:.9rem;
  }
  .tbx-header__meta{
    width:270px;
    max-width:270px;
    font-size:.75rem;
    line-height:1.26;
  }
  .tbx-header__address{
    white-space:normal;
  }
  .tbx-header__hours{
    margin-top:2px;
    white-space:nowrap;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1.18rem;
    white-space:nowrap;
  }
}

/* Map panel accommodates the full Moscow address and keeps the map dominant. */
.tbx-map-modal__info strong{
  max-width:290px;
}
.tbx-map-modal__panel{
  padding-top:30px;
  padding-bottom:32px;
}
.tbx-map-modal__info p{
  color:#b4b7bd;
}

/* Mobile refinements after removing the contact section label. */
@media(max-width:700px){
  .tbx-contact.tbx-section{
    padding-top:50px;
    padding-bottom:50px;
  }
  .tbx-contact__address-block h2{
    font-size:clamp(1.7rem,7vw,2.08rem);
    line-height:1.09;
    letter-spacing:-.032em;
  }
  .tbx-contact__map-link{
    margin-top:15px;
  }
  .tbx-contact__primary{
    margin-top:30px;
  }
  .tbx-contact__main-phone{
    padding:16px 0;
    font-size:clamp(1.58rem,6.7vw,1.95rem);
  }
  .tbx-contact__hours-large{
    padding:16px 0;
    font-size:clamp(1.18rem,4.9vw,1.48rem);
    line-height:1.18;
  }
  .tbx-map-modal__panel{
    min-height:174px;
    padding-top:17px;
    padding-bottom:18px;
  }
  .tbx-map-modal__info strong{
    max-width:calc(100% - 48px);
    font-size:1.28rem;
    line-height:1.13;
  }
  .tbx-map-modal__info p{
    font-size:.84rem;
  }
  .tbx-mobile-menu__contact p:first-child{
    max-width:280px;
  }
}
@media(max-width:390px){
  .tbx-contact__address-block h2{font-size:1.55rem}
  .tbx-contact__main-phone{font-size:1.48rem}
  .tbx-contact__hours-large{font-size:1.12rem}
  .tbx-map-modal__info strong{font-size:1.16rem}
}
/* === End v2.8 === */


/* === v2.9 Yandex reviews carousel + review modal === */
.tbx-reviews{
  overflow:hidden;
  background:var(--tbx-paper);
  color:var(--tbx-ink);
  color-scheme:light;
}
.tbx-reviews .tbx-section-label{
  justify-content:flex-start;
  margin-bottom:28px;
}
.tbx-reviews__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:48px;
}
.tbx-reviews h2{
  max-width:900px;
  font-size:var(--tbx-title-section);
  line-height:1.02;
  letter-spacing:-.045em;
}
.tbx-reviews__summary{
  display:grid;
  justify-items:end;
  min-width:170px;
  padding-bottom:8px;
}
.tbx-reviews__summary>span{
  color:#62656a;
  font-size:.8125rem;
  line-height:1.4;
}
.tbx-reviews__summary>strong{
  margin-top:4px;
  font-size:clamp(2.7rem,4.3vw,4.5rem);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.055em;
}
.tbx-reviews__summary>small{
  margin-top:8px;
  color:#62656a;
  font-size:.75rem;
}
.tbx-reviews__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:58px;
  padding-top:18px;
  border-top:1px solid var(--tbx-line-dark);
  color:#62656a;
  font-size:.8125rem;
}
.tbx-reviews__controls{
  display:flex;
  gap:8px;
}
.tbx-reviews__controls button{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid var(--tbx-line-dark);
  border-radius:50%;
  background:transparent;
  color:var(--tbx-ink);
  font-size:1.15rem;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.tbx-reviews__controls button:hover{
  border-color:rgba(21,22,25,.5);
  background:rgba(21,22,25,.04);
  transform:translateY(-1px);
}
.tbx-reviews__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(340px,420px);
  gap:18px;
  margin-top:18px;
  padding-bottom:12px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  scroll-padding-inline:1px;
}
.tbx-reviews__track::-webkit-scrollbar{display:none}
.tbx-review-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:360px;
  padding:26px 26px 24px;
  border:1px solid var(--tbx-line-dark);
  border-radius:2px;
  background:rgba(255,255,255,.2);
  color:var(--tbx-ink);
  text-align:left;
  scroll-snap-align:start;
  overflow:hidden;
  transition:transform .28s var(--tbx-ease),background .25s ease,border-color .25s ease;
}
.tbx-review-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:2px;
  background:var(--tbx-red);
  transform:scaleY(0);
  transform-origin:bottom;
  transition:transform .28s var(--tbx-ease);
}
.tbx-review-card:hover{
  border-color:rgba(21,22,25,.42);
  background:rgba(255,255,255,.55);
  transform:translateY(-3px);
}
.tbx-review-card:hover:before{transform:scaleY(1)}
.tbx-review-card__source{
  color:#62656a;
  font-size:.75rem;
  line-height:1.4;
}
.tbx-review-card__text{
  display:-webkit-box;
  margin-top:42px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:6;
  font-size:clamp(1.35rem,1.9vw,1.7rem);
  font-weight:300;
  line-height:1.27;
  letter-spacing:-.025em;
}
.tbx-review-card__foot{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-top:auto;
  padding-top:30px;
}
.tbx-review-card__foot strong{
  max-width:62%;
  font-size:.9375rem;
  font-weight:400;
  line-height:1.35;
}
.tbx-review-card__foot>span{
  color:#62656a;
  font-size:.75rem;
  line-height:1.35;
  white-space:nowrap;
}

/* Full review + callback form, adapted from the LimbLab interaction pattern. */
body.tbx-review-open{overflow:hidden}
.tbx-review-modal{
  position:fixed;
  inset:0;
  z-index:125;
  width:min(1180px,calc(100vw - 72px));
  height:min(760px,calc(100dvh - 72px));
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.16);
  border-radius:3px;
  background:var(--tbx-paper);
  color:var(--tbx-ink);
  box-shadow:0 34px 110px rgba(0,0,0,.55);
  overflow:hidden;
}
.tbx-review-modal:not([open]){display:none}
.tbx-review-modal[open]{display:block}
.tbx-review-modal::backdrop{
  background:rgba(6,7,9,.8);
  backdrop-filter:blur(12px);
}
.tbx-review-modal__frame{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  height:100%;
}
.tbx-review-modal__content{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:30px 34px 32px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.48),transparent 46%),
    var(--tbx-paper);
}
.tbx-review-modal__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-bottom:22px;
  border-bottom:1px solid var(--tbx-line-dark);
  color:#62656a;
  font-size:.8125rem;
}
.tbx-review-modal__close{
  position:relative;
  width:44px;
  height:44px;
  flex:none;
  padding:0;
  border:1px solid var(--tbx-line-dark);
  border-radius:50%;
  background:transparent;
  color:var(--tbx-ink);
  transition:background .2s ease,border-color .2s ease;
}
.tbx-review-modal__close:hover{
  border-color:rgba(21,22,25,.5);
  background:rgba(21,22,25,.04);
}
.tbx-review-modal__close span:before,
.tbx-review-modal__close span:after{
  content:"";
  position:absolute;
  top:21px;
  left:11px;
  width:22px;
  height:1px;
  background:currentColor;
  transform:rotate(45deg);
}
.tbx-review-modal__close span:after{transform:rotate(-45deg)}
.tbx-review-modal blockquote{
  max-width:760px;
  margin:auto 0;
  padding:34px 0;
  font-size:clamp(1.8rem,3vw,3.25rem);
  font-weight:300;
  line-height:1.18;
  letter-spacing:-.035em;
  text-wrap:pretty;
}
.tbx-review-modal__author{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  padding-top:22px;
  border-top:1px solid var(--tbx-line-dark);
}
.tbx-review-modal__author strong{
  font-size:1rem;
  font-weight:400;
}
.tbx-review-modal__author a{
  color:#62656a;
  font-size:.8125rem;
  text-decoration-line:underline!important;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}
.tbx-review-modal__feedback{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-width:0;
  padding:34px 34px 32px;
  background:var(--tbx-ink);
  color:var(--tbx-white);
}
.tbx-review-modal__feedback-copy>span{
  color:var(--tbx-muted);
  font-size:.8125rem;
  line-height:1.4;
}
.tbx-review-modal__feedback-copy h3,
.tbx-review-form__success h3{
  margin-top:20px;
  font-size:clamp(2rem,3vw,3rem);
  font-weight:300;
  line-height:1.02;
  letter-spacing:-.04em;
}
.tbx-review-modal__feedback-copy p,
.tbx-review-form__success p{
  max-width:360px;
  margin-top:16px!important;
  color:#c7c9ce;
  font-size:.9375rem;
  line-height:1.55;
}
.tbx-review-form{
  display:grid;
  gap:18px;
  margin-top:48px;
}
.tbx-review-form>label:not(.tbx-review-form__consent){
  display:grid;
  gap:8px;
}
.tbx-review-form>label>span{
  color:var(--tbx-muted);
  font-size:.75rem;
}
.tbx-review-form input[type="tel"]{
  width:100%;
  height:58px;
  padding:0;
  border:0;
  border-bottom:1px solid rgba(247,248,249,.45);
  border-radius:0;
  outline:0;
  background:transparent;
  color:#fff;
  font:inherit;
  font-size:1.35rem;
  font-weight:300;
  letter-spacing:-.02em;
}
.tbx-review-form input[type="tel"]::placeholder{color:#777b83}
.tbx-review-form input[type="tel"]:focus{
  border-bottom-color:#fff;
}
.tbx-review-form__consent{
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  gap:10px;
  align-items:start;
  color:#aeb1b8;
  font-size:.72rem;
  line-height:1.45;
}
.tbx-review-form__consent input{
  width:16px;
  height:16px;
  margin:2px 0 0;
  accent-color:var(--tbx-red);
}
.tbx-review-form__consent>span{color:inherit!important;font-size:inherit!important}
.tbx-review-form__consent a{
  text-decoration-line:underline!important;
  text-underline-offset:3px;
}
.tbx-review-form__submit{
  min-height:54px;
  margin-top:4px;
  padding:14px 18px;
  border:1px solid var(--tbx-red);
  border-radius:2px;
  background:var(--tbx-red);
  color:#fff;
  font:inherit;
  font-size:.9375rem;
  transition:background .2s ease,border-color .2s ease,opacity .2s ease;
}
.tbx-review-form__submit:hover{background:#b6281c;border-color:#b6281c}
.tbx-review-form__submit:disabled{opacity:.55;cursor:default}
.tbx-review-form__error{
  color:#ffaaa4;
  font-size:.75rem;
  line-height:1.4;
}
.tbx-review-form__success{
  margin:auto 0;
}
.tbx-review-form__success>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:50%;
  font-size:1rem;
}

@media(max-width:1059px){
  .tbx-reviews__track{
    grid-auto-columns:minmax(310px,38vw);
  }
  .tbx-review-card{
    min-height:340px;
  }
  .tbx-review-modal{
    width:min(960px,calc(100vw - 40px));
    height:min(720px,calc(100dvh - 40px));
  }
  .tbx-review-modal__frame{
    grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);
  }
  .tbx-review-modal__content,
  .tbx-review-modal__feedback{
    padding:26px;
  }
}

@media(max-width:700px){
  .tbx-reviews{
    padding-block:54px;
  }
  .tbx-reviews__head{
    grid-template-columns:1fr;
    gap:28px;
  }
  .tbx-reviews .tbx-section-label{
    margin-bottom:18px;
  }
  .tbx-reviews h2{
    font-size:clamp(2rem,8.8vw,2.65rem);
    line-height:1.04;
  }
  .tbx-reviews__summary{
    justify-items:start;
    grid-template-columns:auto auto;
    align-items:end;
    gap:0 14px;
    min-width:0;
    padding:0;
  }
  .tbx-reviews__summary>span{
    grid-column:1;
    align-self:center;
  }
  .tbx-reviews__summary>strong{
    grid-column:2;
    grid-row:1 / span 2;
    margin:0;
    font-size:3rem;
  }
  .tbx-reviews__summary>small{
    grid-column:1;
    margin-top:3px;
  }
  .tbx-reviews__toolbar{
    margin-top:30px;
    padding-top:14px;
  }
  .tbx-reviews__toolbar>span{
    max-width:190px;
    font-size:.72rem;
    line-height:1.4;
  }
  .tbx-reviews__controls button{
    width:42px;
    height:42px;
  }
  .tbx-reviews__track{
    grid-auto-columns:minmax(278px,84vw);
    gap:12px;
    margin-top:14px;
  }
  .tbx-review-card{
    min-height:318px;
    padding:22px 20px 20px;
  }
  .tbx-review-card__text{
    margin-top:32px;
    -webkit-line-clamp:6;
    font-size:1.28rem;
    line-height:1.28;
  }
  .tbx-review-card__foot{
    gap:14px;
    padding-top:24px;
  }
  .tbx-review-card__foot strong{
    max-width:58%;
    font-size:.875rem;
  }
  .tbx-review-card__foot>span{
    font-size:.68rem;
  }

  .tbx-review-modal{
    inset:0;
    width:100vw;
    height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
    overflow-y:auto;
  }
  .tbx-review-modal__frame{
    display:block;
    min-height:100%;
  }
  .tbx-review-modal__content{
    min-height:auto;
    padding:18px var(--tbx-gutter) 26px;
  }
  .tbx-review-modal__top{
    min-height:58px;
    padding-bottom:14px;
  }
  .tbx-review-modal blockquote{
    margin:0;
    padding:32px 0;
    font-size:clamp(1.55rem,7vw,2.15rem);
    line-height:1.2;
  }
  .tbx-review-modal__author{
    align-items:start;
    flex-direction:column;
    gap:10px;
    padding-top:18px;
  }
  .tbx-review-modal__feedback{
    min-height:390px;
    padding:28px var(--tbx-gutter) max(30px,env(safe-area-inset-bottom,0px));
  }
  .tbx-review-modal__feedback-copy h3,
  .tbx-review-form__success h3{
    font-size:2rem;
  }
  .tbx-review-form{
    margin-top:34px;
  }
  .tbx-review-form input[type="tel"]{
    height:54px;
    font-size:1.2rem;
  }
}

@media(max-width:390px){
  .tbx-reviews__track{grid-auto-columns:86vw}
  .tbx-review-card{min-height:306px}
  .tbx-review-card__text{font-size:1.18rem}
  .tbx-review-modal blockquote{font-size:1.45rem}
}
/* === End v2.9 === */


/* === v2.10 cleaner reviews, balanced header and compact contacts === */

/* Reviews: remove all explanatory UI and let the content carry the section. */
.tbx-reviews__head{
  align-items:end;
}
.tbx-reviews__summary{
  display:grid;
  justify-items:end;
  min-width:150px;
  padding:0 0 4px;
  color:var(--tbx-ink);
  text-decoration:none!important;
  transition:opacity .2s ease;
}
.tbx-reviews__summary:hover{opacity:.62}
.tbx-reviews__summary>span{
  position:relative;
  color:#62656a;
  font-size:.875rem;
  line-height:1.4;
}
.tbx-reviews__summary>span:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-3px;
  left:0;
  height:1px;
  background:currentColor;
  transform:scaleX(.34);
  transform-origin:right;
  transition:transform .25s var(--tbx-ease);
}
.tbx-reviews__summary:hover>span:after{transform:scaleX(1)}
.tbx-reviews__summary>strong{
  margin-top:7px;
}
.tbx-reviews__toolbar{
  justify-content:flex-end;
  margin-top:34px;
  padding-top:0;
  border-top:0;
}
.tbx-reviews__track{
  margin-top:14px;
}
.tbx-review-card{
  min-height:334px;
}
.tbx-review-card__text{
  margin-top:8px;
  -webkit-line-clamp:7;
}
.tbx-review-card__foot{
  justify-content:flex-start;
  padding-top:28px;
}
.tbx-review-card__foot strong{
  max-width:100%;
}
.tbx-review-card__source,
.tbx-review-card__foot>span{display:none!important}

/* The author name itself is the source link. */
.tbx-review-modal__author{
  justify-content:flex-start;
}
.tbx-review-modal__author a{
  position:relative;
  color:var(--tbx-ink);
  font-size:1rem;
  font-weight:400;
  line-height:1.4;
  text-decoration:none!important;
}
.tbx-review-modal__author a:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-5px;
  left:0;
  height:1px;
  background:currentColor;
  opacity:.35;
  transform:scaleX(.28);
  transform-origin:left;
  transition:transform .25s var(--tbx-ease),opacity .2s ease;
}
.tbx-review-modal__author a:hover:after{
  opacity:.75;
  transform:scaleX(1);
}
.tbx-review-modal__feedback-copy h3{
  margin-top:0;
}
.tbx-review-form{
  gap:22px;
  margin-top:54px;
}
.tbx-review-form input[type="tel"]{
  height:72px;
  font-size:1.65rem;
  letter-spacing:-.025em;
}
.tbx-review-form__submit{
  min-height:68px;
  padding:18px 22px;
  font-size:1.05rem;
}

/* Desktop masthead: consistent spacing between logo, nav, address and phone. */
@media(min-width:1260px){
  .tbx-header__inner{
    display:grid;
    grid-template-columns:100px auto minmax(330px,1fr) auto;
    align-items:center;
    justify-content:initial;
    column-gap:clamp(34px,3vw,52px);
  }
  .tbx-nav{
    justify-self:start;
    margin:0;
    gap:clamp(20px,1.7vw,30px);
  }
  .tbx-header__meta{
    justify-self:stretch;
    width:auto;
    max-width:none;
    margin:0;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    justify-self:end;
  }
}
@media(min-width:1060px) and (max-width:1259px){
  .tbx-header__inner{
    display:grid;
    grid-template-columns:100px auto minmax(250px,1fr) auto;
    align-items:center;
    justify-content:initial;
    column-gap:18px;
  }
  .tbx-nav{
    justify-self:start;
    margin:0;
    gap:14px;
  }
  .tbx-header__meta{
    justify-self:stretch;
    width:auto;
    max-width:none;
    margin:0;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    justify-self:end;
  }
}

/* Contacts: smaller address and phone, hours become supporting copy directly below. */
@media(min-width:1060px){
  .tbx-contact.tbx-section{
    padding-top:88px;
    padding-bottom:88px;
  }
  .tbx-contact__address-block{
    max-width:none;
  }
  .tbx-contact__address-block h2{
    max-width:none;
    font-size:clamp(2rem,3.1vw,3.6rem);
    line-height:1.02;
    letter-spacing:-.045em;
    white-space:nowrap;
  }
  .tbx-contact__map-link{
    margin-top:20px;
  }
  .tbx-contact__primary{
    margin-top:46px;
    padding-top:22px;
    padding-bottom:24px;
    border-top:1px solid rgba(255,255,255,.42);
    border-bottom:1px solid rgba(255,255,255,.42);
  }
  .tbx-contact__main-phone{
    display:block;
    width:fit-content;
    padding:0;
    border:0;
    font-size:clamp(2.4rem,3.8vw,4.25rem);
    line-height:1.05;
    letter-spacing:-.045em;
  }
  .tbx-contact__hours-large{
    width:fit-content;
    margin-top:8px;
    padding:0;
    border:0;
    color:rgba(255,255,255,.76);
    font-size:1rem;
    font-weight:400;
    line-height:1.4;
    letter-spacing:0;
  }
}

/* Mobile spacing and typography tuned after simplification. */
@media(max-width:700px){
  .tbx-reviews{
    padding-block:48px;
  }
  .tbx-reviews__head{
    gap:22px;
  }
  .tbx-reviews__summary{
    display:flex;
    align-items:baseline;
    justify-items:initial;
    gap:12px;
    min-width:0;
    padding:0;
  }
  .tbx-reviews__summary>strong{
    margin:0;
    font-size:2.7rem;
  }
  .tbx-reviews__toolbar{
    margin-top:22px;
  }
  .tbx-reviews__track{
    margin-top:12px;
  }
  .tbx-review-card{
    min-height:292px;
    padding:20px 19px 19px;
  }
  .tbx-review-card__text{
    margin-top:0;
    -webkit-line-clamp:7;
    font-size:1.2rem;
    line-height:1.3;
  }
  .tbx-review-card__foot{
    padding-top:20px;
  }

  .tbx-review-modal__content{
    padding-bottom:24px;
  }
  .tbx-review-modal blockquote{
    padding:26px 0;
  }
  .tbx-review-modal__feedback{
    min-height:420px;
  }
  .tbx-review-form{
    gap:20px;
    margin-top:30px;
  }
  .tbx-review-form input[type="tel"]{
    height:64px;
    font-size:1.45rem;
  }
  .tbx-review-form__submit{
    min-height:62px;
    font-size:1rem;
  }

  .tbx-contact.tbx-section{
    padding-top:44px;
    padding-bottom:44px;
  }
  .tbx-contact__address-block h2{
    font-size:clamp(1.48rem,6.4vw,1.88rem);
    line-height:1.1;
  }
  .tbx-contact__map-link{
    margin-top:13px;
  }
  .tbx-contact__primary{
    margin-top:28px;
    padding:16px 0 18px;
    border-top:1px solid rgba(255,255,255,.4);
    border-bottom:1px solid rgba(255,255,255,.4);
  }
  .tbx-contact__main-phone{
    width:fit-content;
    padding:0;
    border:0;
    font-size:clamp(1.42rem,6.2vw,1.78rem);
    line-height:1.08;
  }
  .tbx-contact__hours-large{
    width:fit-content;
    margin-top:7px;
    padding:0;
    border:0;
    color:rgba(255,255,255,.76);
    font-size:.82rem;
    font-weight:400;
    line-height:1.4;
    letter-spacing:0;
  }
}

@media(max-width:390px){
  .tbx-review-card{min-height:282px}
  .tbx-review-card__text{font-size:1.12rem}
  .tbx-review-form input[type="tel"]{font-size:1.35rem}
  .tbx-contact__address-block h2{font-size:1.42rem}
  .tbx-contact__main-phone{font-size:1.4rem}
  .tbx-contact__hours-large{font-size:.78rem}
}
/* === End v2.10 === */


/* === v2.11 hero service system + quieter sections + premium review modal === */

/* Hero: keep one clear statement, then a compact service system beneath it. */
.tbx-v1-hero__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:calc(100svh - 100px);
  padding-top:clamp(54px,7vh,88px);
  padding-bottom:clamp(58px,7vh,90px);
}
.tbx-v1-hero h1{
  margin:0;
}
.tbx-v1-hero__services{
  display:grid;
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
  align-items:start;
  gap:clamp(34px,5vw,78px);
  max-width:1220px;
  margin-top:clamp(34px,5vh,58px);
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.24);
}
.tbx-v1-hero__services>p{
  display:grid;
  gap:2px;
  margin:0;
  font-size:clamp(1rem,1.25vw,1.2rem);
  line-height:1.35;
  letter-spacing:-.018em;
}
.tbx-v1-hero__services>p strong{
  color:#fff;
  font-weight:400;
}
.tbx-v1-hero__services>p span{
  color:#aeb1b8;
  font-weight:300;
}
.tbx-v1-hero__service-tags{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.tbx-v1-hero__service-tags span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.19);
  border-radius:2px;
  background:rgba(12,13,15,.16);
  color:#e7e8ea;
  font-size:.82rem;
  line-height:1.3;
  backdrop-filter:blur(5px);
}

/* Sections without labels need intentional top rhythm, not leftover empty space. */
.tbx-services.tbx-section{
  padding-top:clamp(78px,8vw,110px);
}
.tbx-services__intro h2{
  margin-top:0;
}
.tbx-v1-process__grid>div:first-child{
  align-self:start;
}
.tbx-v1-process h2{
  margin-top:0;
}

/* Premium review modal: dark editorial review + warm conversion panel. */
.tbx-review-modal{
  width:min(1240px,calc(100vw - 80px));
  height:min(780px,calc(100dvh - 80px));
  border:1px solid rgba(255,255,255,.13);
  border-radius:4px;
  background:#0a0b0d;
  box-shadow:0 42px 130px rgba(0,0,0,.62);
}
.tbx-review-modal::backdrop{
  background:
    radial-gradient(circle at 50% 30%,rgba(207,48,34,.08),transparent 34%),
    rgba(5,6,8,.84);
  backdrop-filter:blur(14px);
}
.tbx-review-modal__frame{
  grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);
}
.tbx-review-modal__content{
  position:relative;
  isolation:isolate;
  padding:34px 42px 38px;
  overflow:hidden;
  background:
    radial-gradient(circle at 83% 18%,rgba(207,48,34,.12),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 42%),
    #0b0c0f;
  color:#fff;
}
.tbx-review-modal__content:before{
  content:"“";
  position:absolute;
  z-index:-1;
  top:76px;
  right:22px;
  color:rgba(255,255,255,.035);
  font-size:22rem;
  font-weight:300;
  line-height:.72;
  letter-spacing:-.12em;
  pointer-events:none;
}
.tbx-review-modal__top{
  min-height:50px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.13);
  color:#8f939b;
  letter-spacing:.01em;
}
.tbx-review-modal__close{
  border-color:rgba(255,255,255,.18);
  color:#fff;
}
.tbx-review-modal__close:hover{
  border-color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.06);
}
.tbx-review-modal blockquote{
  position:relative;
  max-width:800px;
  margin:auto 0;
  padding:46px 0;
  color:#f4f4f5;
  font-size:clamp(2rem,3.15vw,3.45rem);
  font-weight:300;
  line-height:1.16;
  letter-spacing:-.042em;
}
.tbx-review-modal__author{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.13);
}
.tbx-review-modal__author a{
  color:#fff;
  font-size:1rem;
}
.tbx-review-modal__author a:after{
  background:var(--tbx-red);
  opacity:.8;
  transform:scaleX(.22);
}

.tbx-review-modal__feedback{
  position:relative;
  justify-content:center;
  padding:42px 38px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.5),transparent 34%),
    #efeee9;
  color:var(--tbx-ink);
}
.tbx-review-modal__feedback:before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:3px;
  background:var(--tbx-red);
}
.tbx-review-modal__feedback-copy h3,
.tbx-review-form__success h3{
  color:var(--tbx-ink);
  font-size:clamp(2.35rem,3vw,3.2rem);
}
.tbx-review-modal__feedback-copy p,
.tbx-review-form__success p{
  max-width:330px;
  color:#5c5f64;
}
.tbx-review-form{
  gap:24px;
  margin-top:46px;
}
.tbx-review-form>label>span{
  color:#686b70;
  font-size:.78rem;
}
.tbx-review-form input[type="tel"]{
  height:76px;
  border-bottom:1px solid rgba(21,22,25,.38);
  color:var(--tbx-ink);
  font-size:1.75rem;
}
.tbx-review-form input[type="tel"]::placeholder{
  color:#8e9196;
}
.tbx-review-form input[type="tel"]:focus{
  border-bottom-color:var(--tbx-ink);
}
.tbx-review-form__consent{
  color:#696c71;
}
.tbx-review-form__submit{
  min-height:72px;
  border-color:var(--tbx-ink);
  background:var(--tbx-ink);
  color:#fff;
  font-size:1.05rem;
}
.tbx-review-form__submit:hover{
  border-color:var(--tbx-red);
  background:var(--tbx-red);
}
.tbx-review-form__error{
  color:#9b2119;
}
.tbx-review-form__success>span{
  border-color:rgba(21,22,25,.25);
  color:var(--tbx-ink);
}

/* Desktop refinements after removing labels. */
@media(min-width:1060px){
  .tbx-services__layout{
    align-items:start;
  }
  .tbx-services__intro{
    top:132px;
  }
  .tbx-v1-process__grid{
    align-items:start;
  }
}

/* Tablet keeps hero service labels readable without stealing vertical space. */
@media(min-width:701px) and (max-width:1059px){
  .tbx-v1-hero__content{
    min-height:calc(100svh - 82px);
    padding-block:56px;
  }
  .tbx-v1-hero__services{
    grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);
    gap:30px;
    margin-top:38px;
  }
  .tbx-v1-hero__service-tags span{
    font-size:.78rem;
  }
  .tbx-review-modal{
    width:min(980px,calc(100vw - 36px));
    height:min(740px,calc(100dvh - 36px));
  }
  .tbx-review-modal__frame{
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  }
  .tbx-review-modal__content{
    padding:28px 30px 32px;
  }
  .tbx-review-modal__feedback{
    padding:34px 28px;
  }
  .tbx-review-form input[type="tel"]{
    height:70px;
    font-size:1.55rem;
  }
}

/* Mobile: hero becomes a disciplined stack and the review modal reads as one journey. */
@media(max-width:700px){
  .tbx-v1-hero{
    min-height:calc(100svh - 76px);
    align-items:stretch;
  }
  .tbx-v1-hero__content{
    justify-content:center;
    min-height:calc(100svh - 76px);
    padding-top:42px;
    padding-bottom:48px;
  }
  .tbx-v1-hero h1{
    font-size:clamp(1.95rem,9vw,2.55rem);
    line-height:1.04;
  }
  .tbx-v1-hero__services{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:30px;
    padding-top:17px;
  }
  .tbx-v1-hero__services>p{
    font-size:.95rem;
  }
  .tbx-v1-hero__service-tags{
    gap:7px;
  }
  .tbx-v1-hero__service-tags span{
    min-height:34px;
    padding:7px 9px;
    font-size:.71rem;
  }

  .tbx-services.tbx-section{
    padding-top:52px;
  }
  .tbx-services__layout{
    gap:26px;
  }
  .tbx-v1-process{
    padding-top:52px;
  }

  .tbx-review-modal{
    width:100vw;
    height:100dvh;
    border-radius:0;
  }
  .tbx-review-modal__content{
    min-height:48dvh;
    padding:18px var(--tbx-gutter) 26px;
  }
  .tbx-review-modal__content:before{
    top:70px;
    right:-18px;
    font-size:13rem;
  }
  .tbx-review-modal blockquote{
    padding:30px 0;
    font-size:clamp(1.5rem,6.6vw,2rem);
    line-height:1.2;
  }
  .tbx-review-modal__author{
    padding-top:16px;
  }
  .tbx-review-modal__feedback{
    min-height:52dvh;
    padding:32px var(--tbx-gutter) max(34px,env(safe-area-inset-bottom,0px));
  }
  .tbx-review-modal__feedback-copy h3,
  .tbx-review-form__success h3{
    font-size:2.15rem;
  }
  .tbx-review-form{
    margin-top:30px;
  }
  .tbx-review-form input[type="tel"]{
    height:66px;
    font-size:1.42rem;
  }
  .tbx-review-form__submit{
    min-height:64px;
    font-size:1rem;
  }
}

@media(max-width:390px){
  .tbx-v1-hero h1{
    font-size:1.8rem;
  }
  .tbx-v1-hero__service-tags span{
    font-size:.68rem;
  }
  .tbx-review-modal blockquote{
    font-size:1.42rem;
  }
}
/* === End v2.11 === */


/* === v2.12 stronger service labels + refined review/map modals === */

/* Hero service labels: larger, calmer, more architectural. */
.tbx-v1-hero__services{
  max-width:1320px;
  grid-template-columns:minmax(230px,.3fr) minmax(0,1fr);
  gap:clamp(38px,5vw,82px);
  margin-top:clamp(38px,5.5vh,62px);
  padding-top:25px;
  border-top-color:rgba(255,255,255,.3);
}
.tbx-v1-hero__services>p{
  font-size:clamp(1.08rem,1.35vw,1.3rem);
  line-height:1.32;
}
.tbx-v1-hero__service-tags{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.tbx-v1-hero__service-tags span{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:58px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:2px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),
    rgba(10,11,13,.2);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.04),
    0 8px 24px rgba(0,0,0,.08);
  color:#f0f1f2;
  font-size:clamp(.9rem,1.02vw,1rem);
  font-weight:400;
  line-height:1.28;
  letter-spacing:-.012em;
  text-wrap:balance;
  backdrop-filter:blur(7px);
}

/* Review modal: stronger hierarchy and guaranteed button contrast. */
.tbx-review-modal{
  border-color:rgba(255,255,255,.16);
}
.tbx-review-modal__content{
  border-right:1px solid rgba(255,255,255,.08);
}
.tbx-review-modal__top>span{
  color:#a7aab0;
  font-size:.78rem;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.tbx-review-modal blockquote{
  text-shadow:0 1px 24px rgba(0,0,0,.18);
}
.tbx-review-modal__feedback{
  box-shadow:inset 1px 0 0 rgba(21,22,25,.08);
}
.tbx-review-form input[type="tel"]{
  padding-inline:2px;
}
.tbx-new .tbx-review-form__submit{
  min-height:74px;
  border-color:var(--tbx-red)!important;
  background:var(--tbx-red)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff;
  font-weight:400;
  box-shadow:0 12px 30px rgba(207,48,34,.2);
}
.tbx-new .tbx-review-form__submit:hover,
.tbx-new .tbx-review-form__submit:focus-visible{
  border-color:#b6281c!important;
  background:#b6281c!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff;
}
.tbx-new .tbx-review-form__submit:disabled{
  color:#fff!important;
  -webkit-text-fill-color:#fff;
}

/* Map modal: information bar + uninterrupted map. Native Yandex organization marker stays geographically anchored. */
.tbx-map-modal{
  width:min(1280px,calc(100vw - 72px));
  height:min(800px,calc(100dvh - 72px));
  border:1px solid rgba(255,255,255,.14);
  border-radius:4px;
  background:#0d0e11;
  box-shadow:0 42px 130px rgba(0,0,0,.6);
}
.tbx-map-modal::backdrop{
  background:
    radial-gradient(circle at 50% 28%,rgba(207,48,34,.08),transparent 34%),
    rgba(5,6,8,.82);
  backdrop-filter:blur(14px);
}
.tbx-map-modal__frame{
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr);
  height:100%;
}
.tbx-map-modal__header{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 46px;
  align-items:center;
  gap:clamp(24px,3vw,48px);
  min-height:132px;
  padding:24px 26px 24px 30px;
  border-bottom:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg,rgba(255,255,255,.025),transparent 45%),
    #111216;
}
.tbx-map-modal__identity{
  display:grid;
  min-width:0;
  gap:9px;
}
.tbx-map-modal__eyebrow{
  color:#8f939a;
  font-size:.75rem;
  line-height:1.35;
  letter-spacing:.055em;
  text-transform:uppercase;
}
.tbx-map-modal__address{
  min-width:0;
  color:#fff;
  font-size:clamp(1.4rem,2vw,2.1rem);
  font-weight:300;
  line-height:1.12;
  letter-spacing:-.032em;
}
.tbx-map-modal__address span{
  white-space:nowrap;
}
.tbx-map-modal__address span+span{
  margin-left:.28em;
}
.tbx-map-modal__meta{
  display:grid;
  justify-items:end;
  gap:9px;
  min-width:max-content;
}
.tbx-map-modal__meta>span{
  color:#b9bcc2;
  font-size:.875rem;
  line-height:1.4;
}
.tbx-map-modal__meta>a{
  position:relative;
  color:#fff;
  font-size:.875rem;
  line-height:1.4;
}
.tbx-map-modal__meta>a:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-4px;
  left:0;
  height:1px;
  background:var(--tbx-red);
  transform:scaleX(.35);
  transform-origin:right;
  transition:transform .25s var(--tbx-ease);
}
.tbx-map-modal__meta>a:hover:after{transform:scaleX(1)}
.tbx-map-modal__close{
  width:46px;
  height:46px;
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.tbx-map-modal__close span:before,
.tbx-map-modal__close span:after{
  top:22px;
  left:12px;
}
.tbx-map-modal__map{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#d5d5d5;
}
.tbx-map-modal__map:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
}
.tbx-map-modal__map iframe{
  position:absolute;
  inset:-2px;
  width:calc(100% + 4px);
  height:calc(100% + 4px);
  border:0;
  filter:none;
}

/* Tablet */
@media(min-width:701px) and (max-width:1059px){
  .tbx-v1-hero__service-tags{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .tbx-v1-hero__service-tags span{
    min-height:54px;
    padding:12px 14px;
    font-size:.9rem;
  }
  .tbx-map-modal{
    width:min(980px,calc(100vw - 36px));
    height:min(760px,calc(100dvh - 36px));
  }
  .tbx-map-modal__header{
    grid-template-columns:minmax(0,1fr) auto 44px;
    gap:22px;
    min-height:118px;
    padding:20px 22px;
  }
  .tbx-map-modal__address{
    font-size:1.35rem;
  }
}

/* Mobile: deliberate line breaks, stable touch targets, less crowding. */
@media(max-width:700px){
  .tbx-v1-hero__content{
    min-height:auto;
    padding-top:40px;
    padding-bottom:44px;
  }
  .tbx-v1-hero__services{
    gap:17px;
    margin-top:28px;
    padding-top:16px;
  }
  .tbx-v1-hero__services>p{
    font-size:1rem;
  }
  .tbx-v1-hero__service-tags{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .tbx-v1-hero__service-tags span{
    min-height:50px;
    padding:10px 11px;
    font-size:.78rem;
    line-height:1.24;
    text-wrap:pretty;
  }

  .tbx-review-modal{
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .tbx-review-modal__content{
    min-height:auto;
    padding-top:max(16px,env(safe-area-inset-top,0px));
  }
  .tbx-review-modal__top{
    position:sticky;
    top:0;
    z-index:3;
    background:#0b0c0f;
  }
  .tbx-review-modal blockquote{
    padding:26px 0 28px;
  }
  .tbx-review-modal__feedback{
    min-height:auto;
    padding-top:30px;
  }
  .tbx-new .tbx-review-form__submit{
    min-height:66px;
    font-size:1rem;
  }

  .tbx-map-modal{
    inset:0;
    width:100vw;
    height:100dvh;
    margin:0;
    border:0;
    border-radius:0;
  }
  .tbx-map-modal__frame{
    grid-template-rows:auto minmax(0,1fr);
  }
  .tbx-map-modal__header{
    grid-template-columns:minmax(0,1fr) 44px;
    gap:14px 18px;
    min-height:0;
    padding:
      max(16px,env(safe-area-inset-top,0px))
      var(--tbx-gutter)
      17px;
  }
  .tbx-map-modal__identity{
    gap:6px;
  }
  .tbx-map-modal__address{
    display:grid;
    gap:2px;
    font-size:clamp(1.08rem,4.9vw,1.3rem);
    line-height:1.16;
    letter-spacing:-.022em;
  }
  .tbx-map-modal__address span{
    display:block;
    white-space:nowrap;
  }
  .tbx-map-modal__address span+span{
    margin-left:0;
  }
  .tbx-map-modal__meta{
    grid-column:1 / -1;
    grid-row:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px 18px;
    min-width:0;
  }
  .tbx-map-modal__meta>span,
  .tbx-map-modal__meta>a{
    font-size:.78rem;
  }
  .tbx-map-modal__close{
    grid-column:2;
    grid-row:1;
    align-self:start;
    width:44px;
    height:44px;
  }
  .tbx-map-modal__close span:before,
  .tbx-map-modal__close span:after{
    top:21px;
    left:11px;
  }
  .tbx-map-modal__map{
    min-height:0;
  }

  /* General mobile rhythm */
  .tbx-services__layout,
  .tbx-v1-process__grid{
    min-width:0;
  }
  .tbx-service h3,
  .tbx-v1-process__steps h3{
    overflow-wrap:anywhere;
  }
  .tbx-review-card{
    scroll-margin-inline:var(--tbx-gutter);
  }
  .tbx-contact__address-block h2{
    text-wrap:pretty;
  }
}

@media(max-width:390px){
  .tbx-v1-hero__service-tags span{
    min-height:48px;
    padding:9px;
    font-size:.73rem;
  }
  .tbx-map-modal__address{
    font-size:1rem;
  }
  .tbx-map-modal__meta{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}
/* === End v2.12 === */


/* === v2.13 map phone hierarchy + responsive refinement === */

/* Map header: phone is now the primary action, not a utility link. */
.tbx-map-modal__meta{
  align-self:stretch;
  align-content:center;
  justify-items:end;
  gap:7px;
}
.tbx-map-modal__meta>span{
  color:#9fa3aa;
  font-size:.82rem;
}
.tbx-map-modal__phone{
  position:relative;
  display:inline-block;
  color:#fff!important;
  font-size:clamp(1.65rem,2.15vw,2.35rem)!important;
  font-weight:300;
  line-height:1.05!important;
  letter-spacing:-.035em;
  white-space:nowrap;
  text-decoration:none!important;
  font-variant-numeric:tabular-nums;
}
.tbx-map-modal__phone:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-7px;
  left:0;
  height:1px;
  background:var(--tbx-red);
  transform:scaleX(.22);
  transform-origin:right;
  transition:transform .25s var(--tbx-ease);
}
.tbx-map-modal__phone:hover:after,
.tbx-map-modal__phone:focus-visible:after{
  transform:scaleX(1);
}

/* Better desktop proportions: stronger map, calmer information bar. */
@media(min-width:1260px){
  .tbx-map-modal{
    width:min(1320px,calc(100vw - 84px));
    height:min(820px,calc(100dvh - 84px));
  }
  .tbx-map-modal__header{
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr) 48px;
    gap:clamp(34px,3.5vw,58px);
    min-height:136px;
    padding:26px 28px 26px 32px;
  }
  .tbx-map-modal__address{
    font-size:clamp(1.55rem,1.9vw,2.05rem);
  }

  .tbx-shell{
    width:min(100% - 64px,1440px);
  }
  .tbx-services__layout{
    gap:clamp(82px,8vw,150px);
  }
  .tbx-v1-process__grid{
    gap:clamp(70px,7vw,130px);
  }
}

/* Mid-size desktop / tablet landscape. */
@media(min-width:1060px) and (max-width:1259px){
  .tbx-map-modal{
    width:calc(100vw - 48px);
    height:calc(100dvh - 48px);
  }
  .tbx-map-modal__header{
    grid-template-columns:minmax(0,1fr) minmax(230px,.52fr) 46px;
    gap:24px;
    min-height:126px;
    padding:22px 24px;
  }
  .tbx-map-modal__address{
    font-size:1.35rem;
  }
  .tbx-map-modal__phone{
    font-size:1.75rem!important;
  }

  .tbx-header__inner{
    column-gap:16px;
  }
  .tbx-header__meta{
    font-size:.73rem;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:1.12rem;
  }
}

/* Tablet portrait: information stays legible without squeezing the map. */
@media(min-width:701px) and (max-width:1059px){
  .tbx-map-modal{
    width:calc(100vw - 28px);
    height:calc(100dvh - 28px);
  }
  .tbx-map-modal__header{
    grid-template-columns:minmax(0,1fr) auto 44px;
    gap:18px 22px;
    min-height:112px;
    padding:18px 20px;
  }
  .tbx-map-modal__identity{
    gap:6px;
  }
  .tbx-map-modal__address{
    display:grid;
    gap:2px;
    font-size:1.22rem;
  }
  .tbx-map-modal__address span{
    display:block;
    white-space:nowrap;
  }
  .tbx-map-modal__address span+span{
    margin-left:0;
  }
  .tbx-map-modal__meta{
    min-width:220px;
  }
  .tbx-map-modal__phone{
    font-size:1.55rem!important;
  }

  .tbx-v1-hero__content{
    padding-inline:0;
  }
  .tbx-v1-hero h1{
    font-size:clamp(3rem,6.1vw,4.5rem);
  }
  .tbx-services.tbx-section,
  .tbx-reviews.tbx-section{
    padding-block:72px;
  }
  .tbx-v1-process{
    padding-block:78px;
  }
  .tbx-review-modal{
    width:calc(100vw - 28px);
    height:calc(100dvh - 28px);
  }
}

/* Mobile: phone and schedule form one clean group under the address. */
@media(max-width:700px){
  :root{
    --tbx-gutter:18px;
  }

  .tbx-map-modal__header{
    gap:12px 14px;
    padding:
      max(14px,env(safe-area-inset-top,0px))
      var(--tbx-gutter)
      15px;
  }
  .tbx-map-modal__identity{
    padding-right:2px;
  }
  .tbx-map-modal__eyebrow{
    font-size:.66rem;
  }
  .tbx-map-modal__address{
    font-size:clamp(1.02rem,4.55vw,1.22rem);
    line-height:1.15;
  }
  .tbx-map-modal__meta{
    grid-column:1 / -1;
    grid-row:2;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:end;
    justify-items:start;
    gap:4px 16px;
    width:100%;
    padding-top:2px;
  }
  .tbx-map-modal__meta>span{
    grid-column:1;
    grid-row:1;
    font-size:.72rem;
    line-height:1.35;
  }
  .tbx-map-modal__phone{
    grid-column:2;
    grid-row:1;
    align-self:center;
    justify-self:end;
    font-size:clamp(1.22rem,5.4vw,1.5rem)!important;
  }
  .tbx-map-modal__phone:after{
    bottom:-5px;
  }

  .tbx-header__inner{
    min-height:74px;
  }
  .tbx-logo,.tbx-logo img{
    width:80px;
  }
  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:.9rem;
  }

  .tbx-v1-hero__content{
    padding-top:36px;
    padding-bottom:40px;
  }
  .tbx-v1-hero h1{
    font-size:clamp(1.82rem,8.5vw,2.35rem);
  }
  .tbx-v1-hero__services{
    margin-top:24px;
  }

  .tbx-services.tbx-section{
    padding-top:48px;
    padding-bottom:48px;
  }
  .tbx-service{
    padding-block:17px;
  }
  .tbx-service h3{
    font-size:1.22rem;
  }
  .tbx-service p{
    max-width:100%;
    font-size:.86rem;
  }

  .tbx-v1-process{
    padding-block:48px;
  }
  .tbx-v1-process__grid{
    gap:20px;
  }

  .tbx-reviews{
    padding-block:44px;
  }
  .tbx-review-card{
    min-height:278px;
  }

  .tbx-review-modal__feedback{
    padding-bottom:max(28px,env(safe-area-inset-bottom,0px));
  }

  .tbx-contact.tbx-section{
    padding-block:40px;
  }
  .tbx-footer{
    padding-bottom:max(26px,env(safe-area-inset-bottom,0px));
  }
}

@media(max-width:390px){
  :root{
    --tbx-gutter:16px;
  }
  .tbx-map-modal__meta{
    grid-template-columns:1fr;
    gap:3px;
  }
  .tbx-map-modal__meta>span,
  .tbx-map-modal__phone{
    grid-column:1;
  }
  .tbx-map-modal__phone{
    grid-row:2;
    justify-self:start;
    font-size:1.28rem!important;
    margin-top:2px;
  }
  .tbx-v1-hero h1{
    font-size:1.72rem;
  }
}
/* === End v2.13 === */


/* === v2.14 centered desktop content width === */

/* Large screens: deliberately narrow the working canvas so content reads as one composition. */
@media(min-width:1260px){
  .tbx-shell{
    width:min(calc(100% - 96px),1280px);
  }

  .tbx-header__inner{
    column-gap:clamp(28px,2.4vw,42px);
  }

  .tbx-v1-hero__services{
    max-width:100%;
  }

  .tbx-services__layout{
    gap:clamp(72px,7vw,112px);
  }

  .tbx-v1-process__grid{
    gap:clamp(64px,6.5vw,104px);
  }

  .tbx-reviews__head{
    gap:40px;
  }
}

/* Extra-wide monitors: keep the same centered reading width instead of expanding with viewport. */
@media(min-width:1600px){
  .tbx-shell{
    width:1280px;
    max-width:calc(100% - 160px);
  }

  .tbx-header__inner{
    column-gap:38px;
  }

  .tbx-services__layout{
    gap:96px;
  }

  .tbx-v1-process__grid{
    gap:88px;
  }
}

/* Mid desktop: add breathing room without creating a cramped header. */
@media(min-width:1060px) and (max-width:1259px){
  .tbx-shell{
    width:calc(100% - 56px);
  }
}
/* === End v2.14 === */


/* === v2.15 stronger service title hierarchy === */
.tbx-service h3{
  color:#111216;
  font-size:clamp(1.6rem,1.9vw,1.95rem);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.032em;
}
.tbx-service p{
  margin-top:12px!important;
  color:#6a6d72;
  font-size:.95rem;
  line-height:1.5;
}
@media(max-width:700px){
  .tbx-service{
    padding-block:19px;
  }
  .tbx-service h3{
    font-size:1.32rem;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-.024em;
  }
  .tbx-service p{
    margin-top:8px!important;
    font-size:.84rem;
    line-height:1.48;
  }
}
/* === End v2.15 === */


/* === v2.16 real semibold service titles === */
.tbx-service h3{
  font-family:Tiger Sans,Arial,Helvetica,sans-serif;
  font-weight:600!important;
}
/* === End v2.16 === */


/* === v2.17 company story before reviews === */
.tbx-reviews{
  padding-top:clamp(78px,7vw,108px);
}

.tbx-reviews__story{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) auto;
  grid-template-areas:"main advantages rating";
  align-items:start;
  gap:clamp(38px,4.6vw,72px);
}

.tbx-reviews__story-main{
  grid-area:main;
  min-width:0;
}

.tbx-reviews__story-lead{
  max-width:690px;
  margin:0!important;
  color:var(--tbx-ink);
  font-size:clamp(1.55rem,2vw,2rem);
  font-weight:300;
  line-height:1.34;
  letter-spacing:-.03em;
  text-wrap:pretty;
}

.tbx-reviews__advantages{
  grid-area:advantages;
  min-width:0;
  padding-left:clamp(26px,3vw,42px);
  border-left:1px solid var(--tbx-line-dark);
}

.tbx-reviews__advantages h2{
  max-width:430px;
  margin:0;
  color:var(--tbx-ink);
  font-size:clamp(1.12rem,1.35vw,1.35rem);
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.02em;
}

.tbx-reviews__advantages ul{
  display:grid;
  gap:15px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}

.tbx-reviews__advantages li{
  position:relative;
  margin:0;
  padding-left:18px;
  color:#55595e;
  font-size:.95rem;
  line-height:1.5;
}

.tbx-reviews__advantages li:before{
  content:"";
  position:absolute;
  top:.7em;
  left:0;
  width:7px;
  height:1px;
  background:var(--tbx-red);
}

.tbx-reviews__story>.tbx-reviews__summary{
  grid-area:rating;
  align-self:start;
  justify-self:end;
  min-width:118px;
  padding-top:2px;
}

.tbx-reviews__toolbar{
  margin-top:clamp(44px,5vw,66px);
}

.tbx-reviews__track{
  margin-top:16px;
}

/* Slightly more refined cards after the longer editorial introduction. */
.tbx-review-card{
  min-height:318px;
  padding:24px 24px 22px;
}

.tbx-review-card__text{
  font-size:clamp(1.28rem,1.65vw,1.55rem);
  line-height:1.31;
}

@media(min-width:1060px) and (max-width:1259px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,1.04fr) minmax(330px,.96fr) 112px;
    gap:32px;
  }

  .tbx-reviews__story-lead{
    font-size:1.5rem;
  }

  .tbx-reviews__advantages{
    padding-left:28px;
  }
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,1fr) 128px;
    grid-template-areas:
      "main rating"
      "advantages advantages";
    gap:34px 28px;
  }

  .tbx-reviews__story-lead{
    max-width:100%;
    font-size:clamp(1.45rem,3vw,1.8rem);
  }

  .tbx-reviews__advantages{
    padding:28px 0 0;
    border-top:1px solid var(--tbx-line-dark);
    border-left:0;
  }

  .tbx-reviews__advantages ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px 28px;
  }

  .tbx-reviews__story>.tbx-reviews__summary{
    justify-self:end;
  }

  .tbx-reviews__toolbar{
    margin-top:46px;
  }
}

@media(max-width:700px){
  .tbx-reviews{
    padding-top:46px;
  }

  .tbx-reviews__story{
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "rating"
      "advantages";
    gap:24px;
  }

  .tbx-reviews__story-lead{
    max-width:none;
    font-size:clamp(1.32rem,5.8vw,1.62rem);
    line-height:1.34;
    letter-spacing:-.025em;
  }

  .tbx-reviews__story>.tbx-reviews__summary{
    justify-self:start;
    display:flex;
    align-items:baseline;
    gap:12px;
    min-width:0;
    padding:0;
  }

  .tbx-reviews__story>.tbx-reviews__summary>strong{
    font-size:2.5rem;
  }

  .tbx-reviews__advantages{
    padding:24px 0 0;
    border-top:1px solid var(--tbx-line-dark);
    border-left:0;
  }

  .tbx-reviews__advantages h2{
    font-size:1.08rem;
    line-height:1.3;
  }

  .tbx-reviews__advantages ul{
    gap:13px;
    margin-top:18px;
  }

  .tbx-reviews__advantages li{
    padding-left:16px;
    font-size:.88rem;
    line-height:1.48;
  }

  .tbx-reviews__toolbar{
    margin-top:34px;
  }

  .tbx-review-card{
    min-height:270px;
    padding:20px 18px 18px;
  }

  .tbx-review-card__text{
    font-size:1.12rem;
    line-height:1.32;
  }
}

@media(max-width:390px){
  .tbx-reviews__story-lead{
    font-size:1.22rem;
  }

  .tbx-reviews__advantages li{
    font-size:.84rem;
  }
}
/* === End v2.17 === */


/* === v2.18 shorter company story === */
.tbx-reviews__story{
  grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr) auto;
  gap:clamp(34px,4vw,58px);
}

.tbx-reviews__story-lead{
  max-width:640px;
  font-size:clamp(1.45rem,1.8vw,1.82rem);
  line-height:1.32;
}

.tbx-reviews__advantages{
  padding-left:clamp(24px,2.6vw,36px);
}

.tbx-reviews__advantages ul{
  gap:13px;
  margin:0;
}

.tbx-reviews__advantages li{
  font-size:.94rem;
  line-height:1.46;
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__story{
    gap:30px 24px;
  }

  .tbx-reviews__advantages{
    padding-top:24px;
  }

  .tbx-reviews__advantages ul{
    margin:0;
  }
}

@media(max-width:700px){
  .tbx-reviews__story{
    gap:22px;
  }

  .tbx-reviews__story-lead{
    font-size:clamp(1.22rem,5.4vw,1.48rem);
    line-height:1.32;
  }

  .tbx-reviews__advantages{
    padding-top:20px;
  }

  .tbx-reviews__advantages ul{
    margin:0;
  }
}
/* === End v2.18 === */


/* === v2.19 compact benefits + multi-platform ratings === */
.tbx-reviews__story{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr) 150px;
  grid-template-areas:"main advantages ratings";
  gap:clamp(30px,3.6vw,52px);
}

.tbx-reviews__story-lead{
  max-width:610px;
  font-size:clamp(1.42rem,1.75vw,1.78rem);
  line-height:1.31;
}

.tbx-reviews__advantages{
  padding-left:0;
  border-left:0;
}

.tbx-reviews__advantages ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 22px;
  margin:0;
}

.tbx-reviews__advantages li{
  display:grid;
  gap:5px;
  min-height:76px;
  padding:16px 0 14px;
  border-top:1px solid var(--tbx-line-dark);
  color:var(--tbx-ink);
}

.tbx-reviews__advantages li:before{
  display:none;
}

.tbx-reviews__advantages li strong{
  font-size:.98rem;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.018em;
}

.tbx-reviews__advantages li span{
  color:#6a6d72;
  font-size:.82rem;
  line-height:1.35;
}

.tbx-reviews__ratings{
  grid-area:ratings;
  display:grid;
  align-content:start;
  border-left:1px solid var(--tbx-line-dark);
  padding-left:22px;
}

.tbx-reviews__rating{
  display:grid;
  gap:4px;
  padding:0 0 17px;
  color:var(--tbx-ink);
  text-decoration:none!important;
}

.tbx-reviews__rating + .tbx-reviews__rating{
  padding-top:16px;
  border-top:1px solid var(--tbx-line-dark);
}

.tbx-reviews__rating span{
  color:#74777c;
  font-size:.72rem;
  line-height:1.3;
}

.tbx-reviews__rating strong{
  font-size:clamp(2.1rem,2.7vw,3rem);
  font-weight:300;
  line-height:.95;
  letter-spacing:-.045em;
}

.tbx-reviews__rating{
  transition:opacity .2s ease;
}
.tbx-reviews__rating:hover{opacity:.62}

/* Retire single-rating styles from previous versions in this story block. */
.tbx-reviews__story>.tbx-reviews__summary{
  display:none!important;
}

@media(min-width:1060px) and (max-width:1259px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,.95fr) minmax(390px,1.05fr) 132px;
    gap:28px;
  }

  .tbx-reviews__story-lead{
    font-size:1.42rem;
  }

  .tbx-reviews__advantages ul{
    gap:0 18px;
  }

  .tbx-reviews__ratings{
    padding-left:18px;
  }
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,1fr) 142px;
    grid-template-areas:
      "main ratings"
      "advantages advantages";
    gap:30px 26px;
  }

  .tbx-reviews__advantages{
    padding-top:0;
    border-top:0;
  }

  .tbx-reviews__advantages ul{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0 20px;
  }

  .tbx-reviews__ratings{
    padding-left:18px;
  }
}

@media(max-width:700px){
  .tbx-reviews__story{
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "advantages"
      "ratings";
    gap:22px;
  }

  .tbx-reviews__story-lead{
    font-size:clamp(1.2rem,5.2vw,1.42rem);
  }

  .tbx-reviews__advantages{
    padding-top:0;
    border-top:0;
  }

  .tbx-reviews__advantages ul{
    grid-template-columns:1fr 1fr;
    gap:0 16px;
  }

  .tbx-reviews__advantages li{
    min-height:68px;
    padding:14px 0 12px;
  }

  .tbx-reviews__advantages li strong{
    font-size:.92rem;
  }

  .tbx-reviews__advantages li span{
    font-size:.76rem;
  }

  .tbx-reviews__ratings{
    grid-template-columns:repeat(3,minmax(0,1fr));
    border-top:1px solid var(--tbx-line-dark);
    border-left:0;
    padding:18px 0 0;
  }

  .tbx-reviews__rating{
    gap:3px;
    padding:0 12px 0 0;
  }

  .tbx-reviews__rating + .tbx-reviews__rating{
    padding:0 12px;
    border-top:0;
    border-left:1px solid var(--tbx-line-dark);
  }

  .tbx-reviews__rating:last-child{
    padding-right:0;
  }

  .tbx-reviews__rating span{
    font-size:.66rem;
  }

  .tbx-reviews__rating strong{
    font-size:2rem;
  }
}

@media(max-width:390px){
  .tbx-reviews__advantages ul{
    grid-template-columns:1fr;
  }

  .tbx-reviews__ratings{
    grid-template-columns:1fr;
    gap:0;
  }

  .tbx-reviews__rating,
  .tbx-reviews__rating + .tbx-reviews__rating{
    padding:12px 0;
    border-left:0;
    border-top:1px solid var(--tbx-line-dark);
  }

  .tbx-reviews__rating:first-child{
    border-top:0;
    padding-top:0;
  }
}
/* === End v2.19 === */


/* === v2.20 single wow rating === */
.tbx-reviews__story{
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"main wow";
  align-items:center;
  gap:clamp(48px,7vw,96px);
}

.tbx-reviews__story-main{
  grid-area:main;
}

.tbx-reviews__story-lead{
  max-width:760px;
  font-size:clamp(1.58rem,2vw,2rem);
  line-height:1.31;
}

.tbx-reviews__advantages,
.tbx-reviews__ratings{
  display:none!important;
}

.tbx-reviews__wow-rating{
  grid-area:wow;
  position:relative;
  isolation:isolate;
  display:grid;
  place-items:center;
  align-content:center;
  width:clamp(168px,13vw,196px);
  aspect-ratio:1;
  border:1px solid rgba(21,22,25,.18);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,rgba(207,48,34,.13),transparent 48%),
    rgba(255,255,255,.28);
  box-shadow:
    inset 0 0 0 10px rgba(255,255,255,.28),
    0 20px 60px rgba(21,22,25,.07);
  overflow:hidden;
}

.tbx-reviews__wow-rating:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:10px;
  border:1px solid rgba(21,22,25,.08);
  border-top-color:var(--tbx-red);
  border-right-color:var(--tbx-red);
  border-radius:50%;
  transform:rotate(-24deg);
}

.tbx-reviews__wow-rating:after{
  content:"";
  position:absolute;
  bottom:24px;
  width:28px;
  height:2px;
  background:var(--tbx-red);
}

.tbx-reviews__wow-rating span{
  margin-bottom:6px;
  color:#777a7f;
  font-size:.72rem;
  font-weight:400;
  line-height:1;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.tbx-reviews__wow-rating strong{
  color:var(--tbx-ink);
  font-size:clamp(5.2rem,7vw,7rem);
  font-weight:300;
  line-height:.78;
  letter-spacing:-.09em;
}

.tbx-reviews__toolbar{
  margin-top:clamp(42px,4vw,56px);
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"main wow";
    gap:40px;
  }

  .tbx-reviews__story-lead{
    font-size:clamp(1.42rem,3vw,1.72rem);
  }

  .tbx-reviews__wow-rating{
    width:160px;
  }

  .tbx-reviews__wow-rating strong{
    font-size:5.4rem;
  }
}

@media(max-width:700px){
  .tbx-reviews__story{
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "wow";
    gap:26px;
  }

  .tbx-reviews__story-lead{
    font-size:clamp(1.24rem,5.5vw,1.5rem);
    line-height:1.33;
  }

  .tbx-reviews__wow-rating{
    justify-self:start;
    width:148px;
  }

  .tbx-reviews__wow-rating strong{
    font-size:5rem;
  }

  .tbx-reviews__toolbar{
    margin-top:30px;
  }
}

@media(max-width:390px){
  .tbx-reviews__wow-rating{
    width:138px;
  }

  .tbx-reviews__wow-rating strong{
    font-size:4.65rem;
  }
}
/* === End v2.20 === */


/* === v2.21 mobile hero tags + editorial rating === */

/* Rating: remove badge aesthetics and make it read as a real score. */
.tbx-reviews__story{
  grid-template-columns:minmax(0,1fr) minmax(220px,260px);
  grid-template-areas:"main wow";
  align-items:end;
  gap:clamp(52px,7vw,96px);
}

.tbx-reviews__story-lead{
  max-width:760px;
}

.tbx-reviews__wow-rating{
  grid-area:wow;
  display:grid;
  width:100%;
  aspect-ratio:auto;
  place-items:initial;
  align-content:end;
  gap:0;
  padding:20px 0 18px;
  border:0;
  border-top:1px solid var(--tbx-ink);
  border-bottom:1px solid var(--tbx-line-dark);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

.tbx-reviews__wow-rating:before,
.tbx-reviews__wow-rating:after{
  display:none;
}

.tbx-reviews__wow-rating-label{
  margin:0 0 22px;
  color:#6d7075;
  font-size:.76rem;
  font-weight:400;
  line-height:1.2;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.tbx-reviews__wow-rating-score{
  display:flex;
  align-items:flex-end;
  gap:12px;
  min-width:0;
}

.tbx-reviews__wow-rating-score strong{
  color:var(--tbx-ink);
  font-size:clamp(5.8rem,7.3vw,7.8rem);
  font-weight:300;
  line-height:.72;
  letter-spacing:-.09em;
}

.tbx-reviews__wow-rating-score span{
  margin-bottom:5px;
  color:#72757a;
  font-size:1rem;
  font-weight:400;
  line-height:1;
  letter-spacing:-.01em;
}

.tbx-reviews__wow-rating-note{
  margin-top:22px;
  color:#8a8d92;
  font-size:.74rem;
  line-height:1.35;
}

/* Tablet rating remains compact but clearly score-like. */
@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__story{
    grid-template-columns:minmax(0,1fr) 190px;
    gap:36px;
    align-items:end;
  }

  .tbx-reviews__wow-rating{
    width:100%;
    padding:18px 0 16px;
  }

  .tbx-reviews__wow-rating-label{
    margin-bottom:18px;
  }

  .tbx-reviews__wow-rating-score strong{
    font-size:5.7rem;
  }

  .tbx-reviews__wow-rating-note{
    margin-top:18px;
  }
}

/* Mobile hero: natural tag widths instead of cramped equal columns. */
@media(max-width:700px){
  .tbx-v1-hero{
    min-height:auto;
  }

  .tbx-v1-hero__content{
    justify-content:flex-start;
    min-height:auto;
    padding-top:34px;
    padding-bottom:38px;
  }

  .tbx-v1-hero__services{
    gap:16px;
    margin-top:22px;
    padding-top:15px;
  }

  .tbx-v1-hero__services>p{
    display:flex;
    flex-wrap:wrap;
    gap:0 6px;
    font-size:.96rem;
  }

  .tbx-v1-hero__service-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
  }

  .tbx-v1-hero__service-tags span{
    flex:0 1 auto;
    width:auto;
    max-width:100%;
    min-height:42px;
    padding:9px 11px;
    font-size:.78rem;
    line-height:1.22;
    white-space:normal;
  }

  .tbx-v1-hero__service-tags span:nth-child(2),
  .tbx-v1-hero__service-tags span:nth-child(4),
  .tbx-v1-hero__service-tags span:nth-child(6){
    flex-grow:1;
  }

  .tbx-reviews__story{
    grid-template-columns:1fr;
    grid-template-areas:
      "main"
      "wow";
    gap:28px;
    align-items:start;
  }

  .tbx-reviews__wow-rating{
    justify-self:stretch;
    width:100%;
    max-width:none;
    padding:17px 0 15px;
  }

  .tbx-reviews__wow-rating-label{
    margin-bottom:16px;
    font-size:.7rem;
  }

  .tbx-reviews__wow-rating-score{
    gap:10px;
  }

  .tbx-reviews__wow-rating-score strong{
    font-size:5.2rem;
  }

  .tbx-reviews__wow-rating-score span{
    margin-bottom:4px;
    font-size:.9rem;
  }

  .tbx-reviews__wow-rating-note{
    margin-top:16px;
    font-size:.7rem;
  }
}

@media(max-width:430px){
  .tbx-v1-hero__content{
    padding-top:30px;
    padding-bottom:34px;
  }

  .tbx-v1-hero h1{
    font-size:clamp(1.7rem,8vw,2.05rem);
    line-height:1.05;
  }

  .tbx-v1-hero__services{
    margin-top:20px;
  }

  .tbx-v1-hero__service-tags{
    gap:6px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:39px;
    padding:8px 10px;
    font-size:.73rem;
  }
}

@media(max-width:360px){
  .tbx-v1-hero__service-tags span{
    flex:1 1 100%;
    width:100%;
  }

  .tbx-v1-hero__service-tags span{
    min-height:37px;
  }
}
/* === End v2.21 === */


/* === v2.22 small-screen hero refinement === */
@media(max-width:700px){
  .tbx-v1-hero__media img{
    object-position:58% center;
  }

  .tbx-v1-hero__shade{
    background:
      linear-gradient(180deg,rgba(8,9,11,.50) 0%,rgba(8,9,11,.34) 34%,rgba(8,9,11,.62) 100%),
      linear-gradient(90deg,rgba(8,9,11,.62) 0%,rgba(8,9,11,.28) 72%,rgba(8,9,11,.18) 100%);
  }

  .tbx-v1-hero__content{
    width:100%;
    max-width:none;
    padding-top:30px;
    padding-bottom:32px;
  }

  .tbx-v1-hero h1{
    max-width:100%;
    font-size:clamp(1.78rem,8.25vw,2.25rem);
    line-height:1.03;
    letter-spacing:-.042em;
  }

  .tbx-v1-hero h1 span{
    display:block;
    max-width:100%;
    text-wrap:balance;
  }

  .tbx-v1-hero__services{
    width:100%;
    margin-top:20px;
    padding-top:14px;
    gap:13px;
  }

  .tbx-v1-hero__services>p{
    display:grid;
    gap:1px;
    font-size:.9rem;
    line-height:1.28;
  }

  .tbx-v1-hero__service-tags{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:100%;
  }

  .tbx-v1-hero__service-tags span{
    width:100%;
    min-width:0;
    min-height:44px;
    padding:8px 9px;
    justify-content:flex-start;
    align-items:center;
    border-color:rgba(255,255,255,.2);
    background:rgba(12,13,15,.34);
    font-size:.75rem;
    line-height:1.18;
    letter-spacing:-.008em;
    text-wrap:pretty;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
}

@media(max-width:430px){
  :root{
    --tbx-gutter:16px;
  }

  .tbx-header__inner{
    min-height:68px;
  }

  .tbx-logo,
  .tbx-logo img{
    width:74px;
  }

  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:.82rem;
    white-space:nowrap;
  }

  .tbx-menu-toggle{
    min-width:auto;
  }

  .tbx-v1-hero__content{
    padding-top:26px;
    padding-bottom:28px;
  }

  .tbx-v1-hero h1{
    font-size:clamp(1.62rem,7.85vw,1.92rem);
    line-height:1.045;
  }

  .tbx-v1-hero__services{
    margin-top:18px;
    padding-top:12px;
    gap:11px;
  }

  .tbx-v1-hero__services>p{
    font-size:.84rem;
  }

  .tbx-v1-hero__service-tags{
    gap:5px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:42px;
    padding:7px 8px;
    font-size:.7rem;
    line-height:1.16;
  }
}

@media(max-width:360px){
  :root{
    --tbx-gutter:14px;
  }

  .tbx-header__inner{
    min-height:64px;
    gap:8px;
  }

  .tbx-logo,
  .tbx-logo img{
    width:68px;
  }

  .tbx-header>.tbx-shell>.tbx-header__phone{
    font-size:.77rem;
  }

  .tbx-menu-toggle{
    font-size:.75rem;
  }

  .tbx-v1-hero__content{
    padding-top:22px;
    padding-bottom:24px;
  }

  .tbx-v1-hero h1{
    font-size:1.5rem;
    line-height:1.05;
    letter-spacing:-.036em;
  }

  .tbx-v1-hero__services{
    margin-top:16px;
    padding-top:11px;
    gap:10px;
  }

  .tbx-v1-hero__services>p{
    font-size:.8rem;
  }

  .tbx-v1-hero__service-tags{
    grid-template-columns:1fr;
    gap:4px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:36px;
    padding:6px 8px;
    font-size:.69rem;
    line-height:1.15;
  }
}

@media(max-width:330px){
  .tbx-header>.tbx-shell>.tbx-header__phone{
    display:none;
  }

  .tbx-v1-hero h1{
    font-size:1.42rem;
  }

  .tbx-v1-hero__service-tags span{
    min-height:35px;
  }
}
/* === End v2.22 === */


/* === v2.23 force single-column mobile hero services === */
@media(max-width:700px){
  .tbx-v1-hero__services{
    display:grid;
    grid-template-columns:minmax(0,1fr)!important;
    grid-auto-flow:row;
    align-items:start;
    width:100%;
    max-width:none;
  }

  .tbx-v1-hero__services>p,
  .tbx-v1-hero__service-tags{
    grid-column:1 / -1;
    width:100%;
    min-width:0;
  }

  .tbx-v1-hero__service-tags{
    margin-top:0;
  }
}

@media(max-width:430px){
  .tbx-v1-hero__services{
    gap:10px;
  }
}

@media(max-width:360px){
  .tbx-v1-hero__services{
    gap:9px;
  }
}
/* === End v2.23 === */


/* === v2.24 mobile hero services: one column + readable type === */
@media(max-width:700px){
  .tbx-v1-hero__services{
    gap:12px;
  }

  .tbx-v1-hero__service-tags{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:6px;
    width:100%;
  }

  .tbx-v1-hero__service-tags span{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:11px 13px;
    font-size:.95rem;
    line-height:1.22;
    letter-spacing:-.01em;
    white-space:normal;
    text-wrap:pretty;
  }

  .tbx-v1-hero__services>p{
    font-size:.94rem;
    line-height:1.28;
  }
}

@media(max-width:430px){
  .tbx-v1-hero__services{
    gap:10px;
  }

  .tbx-v1-hero__service-tags{
    gap:5px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:46px;
    padding:10px 12px;
    font-size:.92rem;
    line-height:1.2;
  }

  .tbx-v1-hero__services>p{
    font-size:.9rem;
  }
}

@media(max-width:360px){
  .tbx-v1-hero__content{
    padding-top:20px;
    padding-bottom:22px;
  }

  .tbx-v1-hero__services{
    margin-top:14px;
    padding-top:10px;
    gap:8px;
  }

  .tbx-v1-hero__service-tags{
    gap:4px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:43px;
    padding:9px 10px;
    font-size:.88rem;
    line-height:1.18;
  }

  .tbx-v1-hero__services>p{
    font-size:.86rem;
  }
}

@media(max-width:330px){
  .tbx-v1-hero__service-tags span{
    min-height:42px;
    font-size:.86rem;
  }
}

@media(max-width:700px) and (max-height:700px){
  .tbx-v1-hero__content{
    padding-top:18px;
    padding-bottom:20px;
  }

  .tbx-v1-hero__services{
    margin-top:14px;
    padding-top:10px;
  }

  .tbx-v1-hero__service-tags span{
    min-height:42px;
    padding-block:8px;
  }
}
/* === End v2.24 === */


/* === v2.26 mobile hero services: editorial list, not buttons === */
@media(max-width:700px){
  .tbx-v1-hero__service-tags{
    gap:0!important;
  }

  .tbx-v1-hero__service-tags span{
    position:relative;
    display:flex;
    align-items:center;
    min-height:auto;
    padding:12px 0 12px 20px;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    font-size:1rem;
    line-height:1.24;
    letter-spacing:-.012em;
  }

  .tbx-v1-hero__service-tags span:before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:9px;
    height:2px;
    background:var(--tbx-red);
    transform:translateY(-50%);
  }

  .tbx-v1-hero__service-tags span:not(:last-child):after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    left:20px;
    height:1px;
    background:rgba(255,255,255,.14);
  }
}

@media(max-width:430px){
  .tbx-v1-hero__service-tags span{
    padding:11px 0 11px 18px;
    font-size:.97rem;
  }

  .tbx-v1-hero__service-tags span:before{
    width:8px;
  }

  .tbx-v1-hero__service-tags span:not(:last-child):after{
    left:18px;
  }
}

@media(max-width:360px){
  .tbx-v1-hero__service-tags span{
    padding:10px 0 10px 17px;
    font-size:.93rem;
  }

  .tbx-v1-hero__service-tags span:not(:last-child):after{
    left:17px;
  }
}

@media(max-width:700px) and (max-height:700px){
  .tbx-v1-hero__service-tags span{
    padding-top:9px;
    padding-bottom:9px;
  }
}
/* === End v2.26 === */


/* === v2.27 standardized mobile typography + more breathing room === */
@media(max-width:700px){
  :root{
    --tbx-mobile-caption:.875rem;
    --tbx-mobile-small:.9375rem;
    --tbx-mobile-body:1rem;
    --tbx-mobile-card:1.375rem;
  }

  /* First screen */
  .tbx-v1-hero__content{
    padding-top:32px;
    padding-bottom:38px;
  }

  .tbx-v1-hero__services{
    margin-top:24px;
    padding-top:16px;
    gap:16px;
  }

  .tbx-v1-hero__services>p{
    font-size:var(--tbx-mobile-small);
    line-height:1.42;
  }

  .tbx-v1-hero__service-tags span{
    padding-top:14px;
    padding-bottom:14px;
    font-size:var(--tbx-mobile-body);
    line-height:1.3;
  }

  /* Services */
  .tbx-services.tbx-section{
    padding-top:62px;
    padding-bottom:62px;
  }

  .tbx-services__layout{
    gap:32px;
  }

  .tbx-service{
    padding-block:22px;
  }

  .tbx-service h3{
    font-size:var(--tbx-mobile-card);
    line-height:1.18;
  }

  .tbx-service p{
    margin-top:10px!important;
    font-size:var(--tbx-mobile-small);
    line-height:1.58;
  }

  /* Process */
  .tbx-v1-process{
    padding-top:62px;
    padding-bottom:62px;
  }

  .tbx-v1-process__grid{
    gap:32px;
  }

  .tbx-v1-process__steps article{
    padding-top:22px;
    padding-bottom:22px;
  }

  .tbx-v1-process__steps h3{
    font-size:var(--tbx-mobile-card);
    line-height:1.2;
  }

  .tbx-v1-process__steps p{
    margin-top:8px;
    font-size:var(--tbx-mobile-small);
    line-height:1.58;
  }

  /* Company + reviews */
  .tbx-reviews{
    padding-top:60px;
    padding-bottom:60px;
  }

  .tbx-reviews__story{
    gap:34px;
  }

  .tbx-reviews__story-lead{
    font-size:clamp(1.32rem,5.8vw,1.58rem);
    line-height:1.4;
  }

  .tbx-reviews__wow-rating{
    padding-top:20px;
    padding-bottom:20px;
  }

  .tbx-reviews__wow-rating-label{
    margin-bottom:18px;
    font-size:var(--tbx-mobile-caption);
    line-height:1.3;
  }

  .tbx-reviews__wow-rating-score span{
    font-size:var(--tbx-mobile-body);
  }

  .tbx-reviews__wow-rating-note{
    margin-top:18px;
    font-size:var(--tbx-mobile-caption);
    line-height:1.5;
  }

  .tbx-reviews__toolbar{
    margin-top:38px;
  }

  .tbx-review-card__foot strong{
    font-size:var(--tbx-mobile-small);
  }

  /* Contacts */
  .tbx-contact.tbx-section{
    padding-top:56px;
    padding-bottom:56px;
  }

  .tbx-contact__map-link{
    margin-top:18px;
    font-size:var(--tbx-mobile-small);
  }

  .tbx-contact__hours-large{
    margin-top:10px;
    font-size:var(--tbx-mobile-small);
    line-height:1.5;
  }

  /* Mobile menu */
  .tbx-mobile-menu__contact{
    gap:14px;
    padding-top:30px;
  }

  .tbx-mobile-menu__contact p{
    font-size:var(--tbx-mobile-small);
    line-height:1.55;
  }

  /* Footer */
  .tbx-footer{
    padding-top:36px;
    padding-bottom:max(34px,env(safe-area-inset-bottom,0px));
  }

  .tbx-footer__copy>p{
    font-size:var(--tbx-mobile-small);
    line-height:1.55;
  }

  .tbx-footer__legal{
    gap:10px;
    margin-top:16px;
    padding-top:16px;
    font-size:var(--tbx-mobile-caption);
    line-height:1.55;
  }

  /* Mobile map modal meta copy */
  .tbx-map-modal__eyebrow{
    font-size:.8125rem;
  }

  .tbx-map-modal__meta>span{
    font-size:var(--tbx-mobile-caption);
    line-height:1.45;
  }
}

@media(max-width:430px){
  .tbx-v1-hero__content{
    padding-top:28px;
    padding-bottom:34px;
  }

  .tbx-v1-hero__services{
    margin-top:22px;
    gap:14px;
  }

  .tbx-v1-hero__service-tags span{
    padding-top:13px;
    padding-bottom:13px;
    font-size:.98rem;
  }

  .tbx-services.tbx-section,
  .tbx-v1-process,
  .tbx-reviews{
    padding-top:56px;
    padding-bottom:56px;
  }

  .tbx-contact.tbx-section{
    padding-top:52px;
    padding-bottom:52px;
  }
}

@media(max-width:360px){
  .tbx-v1-hero__services>p,
  .tbx-service p,
  .tbx-v1-process__steps p,
  .tbx-contact__hours-large,
  .tbx-mobile-menu__contact p,
  .tbx-footer__copy>p,
  .tbx-review-card__foot strong{
    font-size:.9rem;
  }

  .tbx-v1-hero__service-tags span{
    padding-top:12px;
    padding-bottom:12px;
    font-size:.95rem;
  }

  .tbx-services.tbx-section,
  .tbx-v1-process,
  .tbx-reviews{
    padding-top:52px;
    padding-bottom:52px;
  }
}
/* === End v2.27 === */


/* === v2.28 cleaner mobile menu === */
@media(max-width:700px){
  .tbx-header>.tbx-shell>.tbx-header__phone{
    display:none!important;
  }

  .tbx-header__inner{
    grid-template-columns:auto 1fr auto;
  }

  .tbx-menu-toggle{
    justify-self:end;
  }

  .tbx-mobile-menu__top{
    min-height:78px;
  }

  .tbx-menu-close{
    width:48px;
    min-width:48px;
    min-height:48px;
    padding:0;
    justify-content:center;
    gap:0;
    font-size:0;
  }

  .tbx-close-icon{
    width:24px;
    height:24px;
  }

  .tbx-mobile-menu nav>a{
    justify-content:flex-start;
    gap:0;
    min-height:64px;
    padding-block:12px;
  }

  .tbx-mobile-menu nav>a .tbx-arrow{
    display:none!important;
  }

  .tbx-mobile-menu__contact{
    gap:12px;
    padding-top:34px;
  }

  .tbx-mobile-menu__contact p:first-child{
    max-width:360px;
    margin:0;
    color:#fff;
    font-size:1.08rem;
    font-weight:400;
    line-height:1.5;
    letter-spacing:-.012em;
    text-wrap:pretty;
  }

  .tbx-mobile-menu__contact p:nth-child(2){
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:.95rem;
    line-height:1.5;
  }
}

@media(max-width:360px){
  .tbx-mobile-menu__contact p:first-child{
    font-size:1rem;
    line-height:1.48;
  }

  .tbx-mobile-menu__contact p:nth-child(2){
    font-size:.9rem;
  }
}
/* === End v2.28 === */


/* === v2.29 review modal direct phone contact === */
.tbx-review-modal__feedback{
  justify-content:center;
}

.tbx-review-modal__phone-panel{
  display:grid;
  align-content:center;
  width:100%;
  max-width:430px;
  margin:auto;
}

.tbx-review-modal__phone-kicker{
  display:block;
  margin-bottom:22px;
  color:#6f7276;
  font-size:.78rem;
  font-weight:400;
  line-height:1.3;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.tbx-review-modal__phone{
  position:relative;
  display:block;
  width:fit-content;
  max-width:100%;
  color:var(--tbx-ink)!important;
  font-size:clamp(2.45rem,4.2vw,4.35rem);
  font-weight:300;
  line-height:.98;
  letter-spacing:-.055em;
  text-decoration:none!important;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.tbx-review-modal__phone:after{
  content:"";
  position:absolute;
  right:0;
  bottom:-14px;
  left:0;
  height:2px;
  background:var(--tbx-red);
  transform:scaleX(.22);
  transform-origin:left;
  transition:transform .22s ease;
}

.tbx-review-modal__phone:hover:after,
.tbx-review-modal__phone:focus-visible:after{
  transform:scaleX(1);
}

.tbx-review-modal__phone-panel p{
  max-width:360px;
  margin:38px 0 0;
  color:#5e6267;
  font-size:1rem;
  line-height:1.58;
}

.tbx-review-modal__phone-hours{
  display:block;
  margin-top:28px;
  padding-top:18px;
  border-top:1px solid var(--tbx-line-dark);
  color:#85888d;
  font-size:.875rem;
  line-height:1.45;
}

@media(max-width:1059px) and (min-width:701px){
  .tbx-review-modal__phone{
    font-size:clamp(2.1rem,4.4vw,3.2rem);
  }
}

@media(max-width:700px){
  .tbx-review-modal__feedback{
    min-height:300px;
    padding:36px var(--tbx-gutter) max(38px,env(safe-area-inset-bottom,0px));
  }

  .tbx-review-modal__phone-panel{
    max-width:none;
    margin:0;
  }

  .tbx-review-modal__phone-kicker{
    margin-bottom:18px;
    font-size:.8125rem;
  }

  .tbx-review-modal__phone{
    font-size:clamp(2.05rem,9vw,2.9rem);
    letter-spacing:-.045em;
  }

  .tbx-review-modal__phone-panel p{
    margin-top:34px;
    font-size:.9375rem;
    line-height:1.58;
  }

  .tbx-review-modal__phone-hours{
    margin-top:24px;
    padding-top:16px;
    font-size:.875rem;
  }
}

@media(max-width:360px){
  .tbx-review-modal__feedback{
    padding-top:30px;
  }

  .tbx-review-modal__phone{
    font-size:1.95rem;
  }

  .tbx-review-modal__phone-panel p{
    font-size:.9rem;
  }
}
/* === End v2.29 === */


/* === v2.30 review modal fit + cleaner review rail === */
@media(min-width:1060px){
  .tbx-review-modal__frame{
    grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  }

  .tbx-review-modal__feedback{
    padding:40px 34px;
  }

  .tbx-review-modal__phone-panel{
    max-width:360px;
  }

  .tbx-review-modal__phone{
    max-width:100%;
    font-size:clamp(1.95rem,2.15vw,2.35rem);
    line-height:1.04;
    letter-spacing:-.04em;
  }

  .tbx-review-modal__phone:after{
    display:none!important;
    content:none!important;
  }

  .tbx-review-modal__phone-panel p{
    max-width:330px;
    margin-top:30px;
  }
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-review-modal__frame{
    grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  }

  .tbx-review-modal__feedback{
    padding:32px 26px;
  }

  .tbx-review-modal__phone{
    font-size:clamp(1.8rem,3.1vw,2.2rem);
    line-height:1.05;
    letter-spacing:-.035em;
  }

  .tbx-review-modal__phone:after{
    display:none!important;
    content:none!important;
  }

  .tbx-review-modal__phone-panel p{
    margin-top:28px;
  }
}

@media(max-width:700px){
  .tbx-review-modal__phone:after{
    display:none!important;
    content:none!important;
  }
}

/* Rail: more consistent card geometry and cleaner spacing across breakpoints. */
.tbx-reviews__track{
  align-items:stretch;
}

.tbx-review-card{
  height:100%;
}

.tbx-review-card__text{
  text-wrap:pretty;
}

@media(min-width:1060px){
  .tbx-reviews__track{
    grid-auto-columns:minmax(330px,400px);
    gap:20px;
  }

  .tbx-review-card{
    min-height:304px;
    padding:24px 24px 22px;
  }
}

@media(min-width:701px) and (max-width:1059px){
  .tbx-reviews__track{
    grid-auto-columns:minmax(300px,44vw);
    gap:16px;
  }

  .tbx-review-card{
    min-height:292px;
  }
}

@media(max-width:700px){
  .tbx-reviews__track{
    grid-auto-columns:minmax(278px,88vw);
    gap:14px;
    scroll-padding-inline:var(--tbx-gutter);
  }

  .tbx-review-card{
    min-height:286px;
    padding:22px 20px 20px;
  }

  .tbx-review-card__text{
    font-size:1.16rem;
    line-height:1.36;
  }

  .tbx-review-card__foot{
    padding-top:24px;
  }
}
/* === End v2.30 === */
