@media (prefers-reduced-motion:no-preference){:root{--th-e:cubic-bezier(.2,.7,.2,1);interpolate-size:allow-keywords}@keyframes th-rise{from{transform:translateY(18px)}to{transform:none}}@keyframes th-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes th-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes th-drift{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-14px,10px,0)}}@keyframes th-shine{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(220%) skewX(-20deg)}}@keyframes th-sk{from{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes th-mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes th-mq-r{from{transform:translateX(0)}to{transform:translateX(50%)}}@keyframes th-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes th-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.5)}}@keyframes th-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes th-boom{0%,12%{transform:rotate(-24deg)}45%,62%{transform:rotate(-70deg)}100%{transform:rotate(-24deg)}}@keyframes th-slats{0%,15%{transform:scaleY(1)}50%,65%{transform:scaleY(.3)}100%{transform:scaleY(1)}}@keyframes th-slide-l{0%,20%{transform:translateX(0)}50%,70%{transform:translateX(-26px)}100%{transform:translateX(0)}}@keyframes th-slide-r{0%,20%{transform:translateX(0)}50%,70%{transform:translateX(26px)}100%{transform:translateX(0)}}@keyframes th-spin{to{transform:rotate(360deg)}}@keyframes th-word{0%{opacity:0;transform:translateY(60%)}100%{opacity:1;transform:none}}html.js .t-hero2__copy>*,html.js .t-pagehead .t-wrap>div>*{animation:th-rise .8s var(--th-e) backwards}html.js .t-hero2__copy>:nth-child(2){animation-delay:.08s}html.js .t-hero2__copy>:nth-child(3){animation-delay:.16s}html.js .t-hero2__copy>:nth-child(4){animation-delay:.24s}html.js .t-hero2__copy>:nth-child(5){animation-delay:.32s}html.js .t-hero2__copy>:nth-child(6){animation-delay:.4s}html.js .t-hero2__copy>:nth-child(7){animation-delay:.48s}html.js .t-pagehead .t-wrap>div>:nth-child(2){animation-delay:.08s}html.js .t-pagehead .t-wrap>div>:nth-child(3){animation-delay:.16s}html.t-pre-on .t-hero2__copy>*,html.t-pre-on .t-pagehead .t-wrap>div>*{animation-delay:.9s}html.js .t-hero2__plate{animation:th-rise 1s var(--th-e) .15s backwards}html.t-pre-on .t-hero2__plate{animation-delay:1s}.t-hero2__plate>*{animation:th-float 7s ease-in-out 1.6s infinite}.t-hero2__bg{animation:th-drift 14s ease-in-out infinite}.t-hero2__badge{position:absolute;inset-block-end:14px;inset-inline-start:14px;z-index:3;display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:var(--ground);color:var(--ink);border-inline-start:3px solid var(--oxide);box-shadow:0 12px 28px -14px rgba(28,26,23,.5);animation:th-bob 5s ease-in-out infinite}.t-hero2__badge b{font:700 2rem/1 var(--f-cond);font-variant-numeric:tabular-nums}.t-hero2__badge span{font:600 .72rem/1.2 var(--f-text);letter-spacing:.08em;text-transform:uppercase;max-inline-size:14ch}.t-pcount{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 var(--s5);padding:var(--s4) 0;border-block:1px solid var(--line)}.t-pcount b{font:700 clamp(2.6rem,6vw,4.4rem)/.9 var(--f-cond);color:var(--oxide);font-variant-numeric:tabular-nums}.t-pcount span{font:600 .85rem/1.2 var(--f-text);letter-spacing:.08em;text-transform:uppercase}.t-rot{margin:0;font:650 var(--step-1)/1.3 var(--f-display)}.t-rot__w{display:inline-grid;vertical-align:bottom;color:var(--oxide)}.t-rot__w>span{grid-area:1/1;opacity:0;transform:translateY(60%);transition:opacity .45s var(--th-e),transform .45s var(--th-e)}.t-rot__w>span:first-child{opacity:1;transform:none}html.th-mo .t-rot__w>span{opacity:0;transform:translateY(60%)}html.th-mo .t-rot__w>span.is-on{opacity:1;transform:none}.t-hdr{overflow:visible}.t-logo{transform-origin:left center;transition:transform .3s var(--th-e)}[dir=rtl] .t-logo{transform-origin:right center}.t-hdr.is-small .t-logo{transform:scale(.86)}.t-hdr__line{position:absolute;inset-inline:0;inset-block-end:-1px;block-size:2px;background:var(--oxide);transform:scaleX(0);transform-origin:left;pointer-events:none}[dir=rtl] .t-hdr__line{transform-origin:right}html.th-mo .t-rv.th-z{transform:scale(.95) translateY(10px)}html.th-mo .t-rv.th-z.is-in{transform:none}html.th-mo .t-rv.th-l{transform:translateX(-26px)}html.th-mo .t-rv.th-r{transform:translateX(26px)}html.th-mo .t-rv.th-l.is-in,html.th-mo .t-rv.th-r.is-in{transform:none}[dir=rtl] .t-rv.th-l{transform:translateX(26px)}[dir=rtl] .t-rv.th-r{transform:translateX(-26px)}[dir=rtl] .t-rv.th-l.is-in,[dir=rtl] .t-rv.th-r.is-in{transform:none}html.th-mo [data-par]{will-change:transform;transform:translate3d(0,var(--py,0),0)}.t-statband dl>div,.w-nums>div{position:relative}.t-statband dl>div::after,.w-nums>div::after{content:"";position:absolute;inset-inline:16px;inset-block-end:0;block-size:3px;background:var(--oxide-on-night,#E8845F);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--th-e) calc(var(--bi,0) * 120ms)}[dir=rtl] .t-statband dl>div::after,[dir=rtl] .w-nums>div::after{transform-origin:right}.th-in.t-statband dl>div::after,.th-in.w-nums>div::after,.th-in .t-statband dl>div::after,.th-in .w-nums>div::after{transform:scaleX(.62)}.t-btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--th-e),background-color .2s,box-shadow .25s}.t-btn::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;inline-size:40%;z-index:-1;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:translateX(-120%) skewX(-20deg);pointer-events:none}.t-btn:hover::before,.t-btn:focus-visible::before{animation:th-shine .9s var(--th-e)}.t-btn:hover{transform:translate(var(--mx,0),calc(var(--my,0px) - 2px));box-shadow:0 14px 24px -14px rgba(28,26,23,.55)}.t-btn:active{transform:translate(var(--mx,0),var(--my,0px))}.t-hero2__cta .t-btn:not(:hover),.t-btn--cta:not(:hover){animation:none}.t-card,.t-wcard,.t-wlead,.t-quote,.t-guide,.t-triad__i{transition:transform .3s var(--th-e),box-shadow .3s var(--th-e)}.t-card:hover,.t-wcard:hover,.t-quote:hover,.t-guide:hover{transform:translateY(-4px);box-shadow:0 18px 30px -22px rgba(28,26,23,.5)}.t-wall__tile{transition:background-color .2s,transform .25s var(--th-e)}.t-wall__tile:hover{transform:scale(1.04)}.t-fig__frame img,.t-wcard__img img,.t-post__img img{transition:transform .8s var(--th-e)}a:hover .t-fig__frame img,.t-wcard:hover .t-fig__frame img,.t-wlead:hover .t-fig__frame img,.t-post:hover .t-fig__frame img,.t-card:hover .t-fig__frame img{transform:scale(1.06)}.t-prose a:not(.t-btn):not(.t-chip),.t-acc__a a,.t-foot a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;transition:background-size .35s var(--th-e)}.t-prose a:not(.t-btn):not(.t-chip):hover,.t-acc__a a:hover,.t-foot a:hover{background-size:100% 1.5px}.t-acc details::details-content{block-size:0;overflow:hidden;transition:block-size .38s var(--th-e),content-visibility .38s allow-discrete}.t-acc details[open]::details-content{block-size:auto}.t-acc details[open] .t-acc__a{animation:th-fade .45s var(--th-e) .05s backwards}.t-acc summary::after{transition:transform .35s var(--th-e)}main.th-swap{animation:th-fade .4s var(--th-e)}.th-sk__i{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;background:var(--sand-2)}.th-sk__i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:th-sk 1.3s linear infinite}.th-sk__i.is-done{opacity:0;transition:opacity .4s}html.js .t-wall[data-marq]{display:block;overflow:hidden;border:0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}html.js .t-wall[data-marq]>li{display:inline-block;inline-size:170px;vertical-align:top}html.js .t-wall[data-marq] .t-wall__tile{border-inline-start:1px solid var(--line);border-block-start:1px solid var(--line)}html.js .t-wall[data-marq]{white-space:nowrap}.th-mq{display:flex;inline-size:max-content;animation:th-mq var(--mq,40s) linear infinite}.th-mq--r{animation-name:th-mq-r}[dir=rtl] .th-mq{animation-name:th-mq-r}[dir=rtl] .th-mq--r{animation-name:th-mq}.th-mq>li{flex:none}.th-mq-wrap:hover .th-mq,.th-mq-wrap:focus-within .th-mq,.th-off .th-mq,html.th-hidden .th-mq{animation-play-state:paused}html.js .w-tick__row{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;padding-inline:0}html.js .w-tick__row.th-mq-wrap>.th-mq{gap:0}.w-tick__row .th-mq>li{padding-inline:clamp(16px,2.4vw,40px)}.th-prog{position:absolute;inset-inline:0;inset-block-end:-1px;block-size:3px;background:var(--oxide-on-night,var(--oxide));transform:scaleX(0);transform-origin:left;pointer-events:none}[dir=rtl] .th-prog{transform-origin:right}.th-prog.is-run{animation:th-prog var(--dur,6s) linear forwards}.th-prog.is-hold{animation-play-state:paused}.w-tabs__nav,[data-tabs]>:first-child{position:relative}.t-reviews .t-quote,.t-work__rest>li{transition:transform .5s var(--th-e),box-shadow .5s var(--th-e),border-color .4s}.t-reviews .t-quote.is-spot{transform:translateY(-6px);box-shadow:0 22px 34px -24px rgba(28,26,23,.6);border-block-start-color:var(--oxide)}.t-work__rest>li.is-spot{transform:translateX(6px)}.kit-illo.th-live[data-illo=boom-barrier] svg>g[transform^="rotate"]{transform-origin:56px 84px;animation:th-boom 6s var(--th-e) infinite}.kit-illo.th-live[data-illo=roller-shutter] svg>path[d^="M52 66H188"]{transform-origin:52px 60px;transform-box:view-box;animation:th-slats 6s var(--th-e) infinite}.kit-illo.th-live[data-illo=glass-sliding-door] svg>rect:nth-of-type(6),.kit-illo.th-live[data-illo=glass-sliding-door] svg>rect:nth-of-type(8){animation:th-slide-l 6s var(--th-e) infinite}.kit-illo.th-live[data-illo=glass-sliding-door] svg>rect:nth-of-type(7),.kit-illo.th-live[data-illo=glass-sliding-door] svg>rect:nth-of-type(9){animation:th-slide-r 6s var(--th-e) infinite}.kit-illo.th-live[data-illo=revolving-door] svg>path[d^="M120 90L"]{transform-origin:120px 90px;animation:th-spin 14s linear infinite}.kit-illo.th-live[data-illo=map-pin-cluster] svg>g.kf{animation:th-bob 3.2s ease-in-out infinite}.kit-illo.th-live[data-illo=map-pin-cluster] svg>g.ks path:nth-child(1){animation:th-bob 3.8s ease-in-out .4s infinite}.kit-illo.th-live[data-illo=map-pin-cluster] svg>g.ks path:nth-child(2){animation:th-bob 4.2s ease-in-out .9s infinite}.kit-illo.th-live:not([data-illo=map-pin-cluster]):not([data-illo=sliding-gate]):not([data-illo=gate-motor]):not([data-illo=boom-barrier]) svg .kf:not(g){animation:th-pulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.t-cov__map svg a rect{transform-box:fill-box;transform-origin:center;animation:th-pulse 2.8s ease-in-out infinite}.t-cov__map svg a:nth-of-type(2n) rect{animation-delay:.5s}.t-cov__map svg a:nth-of-type(3n) rect{animation-delay:1.1s}.t-cov__map svg a:nth-of-type(5n) rect{animation-delay:1.7s}.t-cov__map.th-off svg a rect,html.th-hidden .t-cov__map svg a rect{animation-play-state:paused}@keyframes th-roll{0%,14%{transform:scaleY(1)}48%,64%{transform:scaleY(.3)}100%{transform:scaleY(1)}}@keyframes th-lift{0%,14%{transform:translateY(0)}48%,64%{transform:translateY(-52px)}100%{transform:translateY(0)}}@keyframes th-win{0%,14%{opacity:1;transform:translateY(0)}40%,70%{opacity:0;transform:translateY(-14px)}100%{opacity:1;transform:translateY(0)}}@keyframes th-open{0%,16%{transform:translateX(0)}50%,66%{transform:translateX(-44px)}100%{transform:translateX(0)}}@keyframes th-motor{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes th-beacon{0%,100%{opacity:1}50%{opacity:.25}}.kit-illo.th-live[data-illo=sectional-garage-door] svg>path[d^="M54 84H186"]{transform-origin:54px 64px;animation:th-roll 6.5s var(--th-e) infinite}.kit-illo.th-live[data-illo=sectional-garage-door] svg>path.ka{animation:th-lift 6.5s var(--th-e) infinite}.kit-illo.th-live[data-illo=sectional-garage-door] svg>rect[y="70"]{animation:th-win 6.5s var(--th-e) infinite}.kit-illo.th-live[data-illo=sliding-gate] svg>rect[x="78"][y="62"],.kit-illo.th-live[data-illo=sliding-gate] svg>rect[x="78"][y="118"],.kit-illo.th-live[data-illo=sliding-gate] svg>path[d^="M84 68V118"],.kit-illo.th-live[data-illo=sliding-gate] svg>path[d^="M78 68V118"]{animation:th-open 7s var(--th-e) infinite}.kit-illo.th-live[data-illo=gate-motor] svg>rect.ks[x="54"]{transform-box:fill-box;transform-origin:center;animation:th-motor 1.6s ease-in-out infinite}.kit-illo.th-live[data-illo=gate-motor] svg>path.kf{animation:th-beacon 1.2s steps(2,jump-none) infinite}.kit-illo.th-live[data-illo=sliding-gate] svg>circle.kf{animation:th-beacon 1.4s steps(2,jump-none) infinite}.kit-illo.th-live[data-illo=boom-barrier] svg>path.kf{animation:th-beacon 1.1s steps(2,jump-none) infinite}.t-gar__art{animation:none}.t-gar::before{content:"";position:absolute;inset:-20% -10%;background:radial-gradient(40% 50% at 70% 40%,rgba(232,132,95,.22),transparent 70%);animation:th-drift 12s ease-in-out infinite;pointer-events:none}.t-float__ring{animation-iteration-count:infinite}}.th-mq-wrap{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.w-tick .th-mq-wrap{-webkit-mask:none;mask:none}.t-wall .th-mq>li{inline-size:170px;display:block}.t-gar{position:relative;overflow:hidden}.t-gar__grid{position:relative;display:grid;gap:var(--s6);align-items:center}@media(min-width:900px){.t-gar__grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}}.t-gar__art{max-inline-size:420px;justify-self:center;inline-size:100%}.t-gar__types{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:var(--s4) 0;padding:0}.th-sl{position:relative;background:var(--night);color:var(--on-night);overflow:hidden}.th-sl__vp{outline-offset:-4px}.th-sl__tr{list-style:none;margin:0;padding:0;display:grid}.th-sl__s{grid-area:1/1;position:relative;display:grid;align-items:end;min-block-size:clamp(420px,58vw,600px);visibility:hidden;opacity:0}.th-sl__s.is-active{visibility:visible;opacity:1}.th-sl__bg{position:absolute;inset:0;inline-size:100%;block-size:100%;object-fit:cover}.th-sl__s::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,18,16,.88),rgba(20,18,16,.45) 55%,rgba(20,18,16,.15))}.th-sl__c{position:relative;z-index:2;padding-block:clamp(28px,5vw,64px) clamp(64px,8vw,96px)}.th-sl__t{max-inline-size:44rem;display:grid;gap:var(--s3);justify-items:start}.th-sl__t h2 a{color:#fff;text-decoration:none}.th-sl__t .t-lead{color:#e8e1d3}.th-sl .t-eyebrow{color:var(--oxide-on-night,#E8845F)}.th-sl__ui{display:none}html.th-mo .th-sl__ui{display:flex;position:absolute;inset-inline:0;inset-block-end:0;z-index:3;align-items:center;justify-content:center;gap:14px;padding:14px}.th-sl__a{inline-size:44px;block-size:44px;display:grid;place-items:center;border:2px solid rgba(244,239,230,.6);background:rgba(20,18,16,.4);color:#fff;cursor:pointer}.th-sl__a:hover{background:var(--oxide)}.th-sl__a--p .t-ico{transform:scaleX(-1)}[dir=rtl] .th-sl__a--p .t-ico{transform:none}[dir=rtl] .th-sl__a--n .t-ico{transform:scaleX(-1)}.th-sl__dots{display:flex;gap:6px}.th-sl__d{inline-size:44px;block-size:44px;position:relative;border:0;background:none;cursor:pointer}.th-sl__d::after{content:"";position:absolute;inset-inline:8px;inset-block:20px;background:rgba(244,239,230,.45);transition:background-color .3s}.th-sl__d[aria-current=true]::after{background:var(--oxide-on-night,#E8845F)}.th-sl__bar{position:absolute;inset-inline:0;inset-block-end:0;block-size:3px;background:var(--oxide-on-night,#E8845F);transform:scaleX(0);transform-origin:left}[dir=rtl] .th-sl__bar{transform-origin:right}@media(prefers-reduced-motion:no-preference){@keyframes th-kb{from{transform:scale(1.02)}to{transform:scale(1.12) translate3d(-1.5%,-1%,0)}}@keyframes th-barrun{from{transform:scaleX(0)}to{transform:scaleX(1)}}html.th-mo .th-sl__s{transition:opacity .9s var(--th-e),visibility 0s linear .9s}html.th-mo .th-sl__s.is-active{transition:opacity .9s var(--th-e),visibility 0s}html.th-mo .th-sl__s.is-active .th-sl__bg{animation:th-kb 9s ease-out forwards}html.th-mo .th-sl__t>*{opacity:0;transform:translate3d(28px,0,0);transition:opacity .6s var(--th-e),transform .7s var(--th-e)}[dir=rtl] html.th-mo .th-sl__t>*,html.th-mo[dir=rtl] .th-sl__t>*{transform:translate3d(-28px,0,0)}html.th-mo .th-sl__s.is-active .th-sl__t>*{opacity:1;transform:none;transition-delay:calc(.25s + var(--ci,0) * 110ms)}html.th-mo .th-sl__t>:nth-child(2){--ci:1}html.th-mo .th-sl__t>:nth-child(3){--ci:2}html.th-mo .th-sl__t>:nth-child(4){--ci:3}html.th-mo .th-sl__bar.is-run{animation:th-barrun var(--dur,6500ms) linear forwards}}