@font-face{font-family:Tate Roboto;src:url(fonts/regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Tate Roboto;src:url(fonts/bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Tate Roboto;src:url(fonts/black.woff2) format("woff2");font-weight:900;font-display:swap}

.tate-design {
  --tate-navy:#171a30;
  --tate-deep:#111426;
  --tate-red:#d91d2b;
  --tate-ink:#191c32;
  --tate-muted:#545968;
  --tate-line:#dfe2e8;
  --tate-cloud:#f3f4f7;
  --tate-width:1240px;
  --tate-gutter:clamp(20px,6vw,64px);
  --tate-band:clamp(44px,5.2vw,75px);
  --tate-font:"Tate Roboto",Roboto,Arial,sans-serif;
  color:var(--tate-ink);
  font:400 17px/1.6 var(--tate-font);
}
.tate-design.e-con,.tate-design .e-con {
  --gap:0px;
  padding:0;
  gap:0;
  margin:0;
  min-width:0;
  max-width:none;
  width:100%;
}
.tate-design .elementor-widget {
  margin:0;
  min-width:0;
  max-width:100%;
  width:100%;
}
.tate-design .e-con.tate-wrap {
  width:min(var(--tate-width),calc(100% - 2 * var(--tate-gutter)));
  margin-inline:auto;
  align-self:center;
}
.tate-design :where(p,h1,h2,h3) {margin:0}
.tate-design :where(.elementor-widget-heading) .elementor-heading-title {
  color:inherit;
  font-family:var(--tate-font);
  font-weight:700;
  margin:0;
}
.tate-design h2.elementor-heading-title {
  font-size:clamp(34px,4.2vw,52px);
  font-weight:900;
  letter-spacing:-.036em;
  line-height:1.05;
}
.tate-design h3.elementor-heading-title {font-size:19px;line-height:1.23}
.tate-design .elementor-heading-title a {color:inherit;text-decoration:none}
.tate-design .elementor-heading-title a:hover {text-decoration:underline;text-underline-offset:.18em}
.tate-design .elementor-widget-image img {display:block;border:0;border-radius:0;box-shadow:none}
.tate-design .tate-copy,.tate-design .tate-copy p {
  font:400 17px/1.62 var(--tate-font);
  color:var(--tate-copy-color,var(--tate-muted));
  margin:0;
}
.tate-design .tate-eyebrow .elementor-heading-title {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  line-height:1.3;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--tate-eyebrow-color,#b91c2c);
}
.tate-design .tate-eyebrow .elementor-heading-title::before {
  content:"";
  flex:0 0 21px;
  height:3px;
  background:currentColor;
  transform:skew(-30deg);
}
.tate-design .e-con.tate-stack {gap:13px}
.tate-design .e-con.tate-icon-label {display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:9px}
.tate-design .tate-icon-label>.elementor-widget-icon,
.tate-design .tate-button {width:auto;flex:none}
.tate-design .tate-icon .elementor-icon {font-size:var(--tate-icon-size,24px);color:var(--tate-icon-color,#c9212f)}
.tate-design .tate-icon .elementor-icon-wrapper {display:flex;align-items:center}
.tate-design .elementor-widget-icon.tate-icon .elementor-icon svg {fill:var(--tate-icon-color,#c9212f)}
.tate-design a:focus-visible,.tate-design button:focus-visible,.tate-design :is(input,select,textarea):focus-visible {
  outline:2px solid #2c7be5;
  outline-offset:3px;
}

.tate-design .tate-button .elementor-button,.tate-design .tate-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:51px;
  padding:0 20px;
  border:1px solid transparent;
  border-radius:3px;
  background:var(--tate-red);
  color:white;
  text-decoration:none;
  white-space:nowrap;
  font:700 15px/1.2 var(--tate-font);
  cursor:pointer;
}
.tate-design .tate-button .elementor-button-content-wrapper {gap:12px;align-items:center}
.tate-design .tate-button .elementor-button-icon svg {fill:currentColor}
.tate-design .tate-primary .elementor-button:hover,.tate-design .tate-submit:hover {background:#b71825}
.tate-design .tate-outline .elementor-button {border-color:#797c91;background:transparent}
.tate-design .tate-outline .elementor-button:hover {background:#ffffff19}
.tate-design .tate-light-button .elementor-button {border-color:#c2c5cf;background:white;color:var(--tate-ink)}
.tate-design .tate-light-button .elementor-button:hover {background:#fff0f1}

.tate-header {background:white}
.tate-design .tate-utility {background:var(--tate-deep);color:#e5e7f2}
.tate-design .e-con.tate-utility-row,.tate-design .e-con.tate-header-row,
.tate-design .e-con.tate-footer-end {
  flex-direction:row;
  justify-content:space-between;
  align-items:center;
}
.tate-design .tate-utility-row {min-height:37px;--tate-icon-size:14px;--tate-icon-color:#ff6269}
.tate-design .tate-utility-row>.e-con {width:auto}
.tate-design .tate-utility-row .elementor-heading-title {font-size:13px;font-weight:400}
.tate-design .tate-header-row {min-height:86px;gap:20px}
.tate-design .tate-logo {width:101px;flex:none}
.tate-design .tate-logo a {display:block}
.tate-design .tate-logo img {width:100%;height:auto}
.tate-design .e-con.tate-nav {width:auto;flex-direction:row;align-items:center;gap:clamp(13px,2vw,29px)}
.tate-design .tate-nav .elementor-widget {width:auto}
.tate-design .tate-nav .elementor-heading-title {font-size:15px}
.tate-design .tate-nav a {display:block;padding:12px 0}
.tate-design .tate-home-link a {color:#bc1c2c;border-bottom:2px solid var(--tate-red)}
.tate-design .tate-header-row .elementor-button {min-height:44px}

.tate-design .tate-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:repeating-linear-gradient(135deg,#15192e 0 58px,#1e2339 59px,#15192e 60px 118px);
  color:white;
  --tate-copy-color:#d8dcea;
  --tate-eyebrow-color:#ff6e76;
}
.tate-design .tate-hero::before,.tate-design .tate-hero::after {
  position:absolute;
  content:"";
  inset:0;
  pointer-events:none;
  z-index:1;
  background:#e32635;
}
.tate-design .tate-hero::before {clip-path:polygon(45% 100%,60% 100%,48% 84%)}
.tate-design .tate-hero::after {clip-path:polygon(100% 0,100% 15%,92% 0)}
.tate-design .tate-hero .tate-hero-photo {
  position:absolute;
  inset:0 0 0 40%;
  width:auto;
  height:100%;
  clip-path:polygon(17% 0,100% 0,100% 100%,0 100%);
}
.tate-design .tate-hero-photo .elementor-widget-container,.tate-design .tate-hero-photo img {width:100%;height:100%}
.tate-design .tate-hero-photo img {object-fit:cover;object-position:56% 54%}
.tate-design .e-con.tate-hero-content {
  position:relative;
  z-index:2;
  padding:71px 0 76px;
  gap:21px;
}
.tate-design .tate-hero-content>*,.tate-design .tate-hero-content>.e-con {max-width:52%}
.tate-design .tate-hero-heading h1 {
  font-size:clamp(56px,6vw,82px);
  font-weight:900;
  line-height:.98;
  letter-spacing:-.033em;
}
.tate-design .tate-hero-heading em {font-style:normal;color:#ff515a}
.tate-design .e-con.tate-hero-content>.elementor-widget.tate-copy {width:min(430px,100%);max-width:min(430px,100%)}
.tate-design .tate-hero .tate-copy p {font-size:19px;line-height:1.55}
.tate-design .e-con.tate-actions {flex-direction:row;flex-wrap:wrap;gap:12px;margin-top:3px}

.tate-design .tate-stats {background:var(--tate-navy);color:white}
.tate-design .e-con.tate-stat-grid,.tate-design .e-con.tate-about-grid,
.tate-design .e-con.tate-product-grid,.tate-design .e-con.tate-service-grid,
.tate-design .e-con.tate-industry-grid,.tate-design .e-con.tate-quality-grid,
.tate-design .e-con.tate-approval-grid,.tate-design .e-con.tate-contact-grid,
.tate-design .e-con.tate-footer-grid {display:grid;min-width:0}
.tate-design .e-con.tate-stat-grid {grid-template-columns:repeat(3,minmax(0,1fr));padding-block:25px}
.tate-design .e-con.tate-stat {
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:0 12px;
  border-inline-end:1px solid #41465e;
}
.tate-design .tate-stat:last-child {border:0}
.tate-design .tate-stat>.elementor-widget {width:auto}
.tate-design .tate-number .elementor-heading-title {font-size:39px;line-height:1.15;font-weight:900;letter-spacing:-.045em}
.tate-design .tate-stat-label .elementor-heading-title {font-size:15px;font-weight:400;color:#d2d6e6}

.tate-design .tate-about,.tate-design .tate-products,.tate-design .tate-services,
.tate-design .tate-industries,.tate-design .tate-quality,.tate-design .tate-contact {padding-block:var(--tate-band)}
.tate-design .tate-about,.tate-design .tate-industries {background:white}
.tate-design .tate-products,.tate-design .tate-quality {background:var(--tate-cloud)}
.tate-design .e-con.tate-about-grid {
  grid-template-columns:minmax(0,1.03fr) minmax(0,1fr);
  gap:clamp(25px,5.2vw,76px);
  align-items:center;
}
.tate-design .tate-about .tate-copy {margin-top:5px;max-width:500px}
.tate-design .e-con.tate-principles {
  flex-direction:row;
  gap:18px;
  border-top:1px solid var(--tate-line);
  padding-top:20px;
  margin-top:15px;
}
.tate-design .tate-principles .elementor-heading-title {font-size:14px;line-height:1.3}
.tate-design .tate-principles>.e-con {width:auto}
.tate-design .e-con.tate-about-visual {position:relative;overflow:hidden;isolation:isolate;height:334px}
.tate-design .tate-city-photo,.tate-design .tate-city-photo .elementor-widget-container,.tate-design .tate-city-photo img {height:100%}
.tate-design .tate-city-photo img {width:100%;object-fit:cover;object-position:center 85%;filter:brightness(.74) saturate(.88)}
.tate-design .tate-about-visual::before,.tate-design .tate-about-visual::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}
.tate-design .tate-about-visual::before {background:white;clip-path:polygon(100% 30%,100% 100%,60% 100%)}
.tate-design .tate-about-visual::after {background:#db2332;clip-path:polygon(100% 35%,100% 100%,63% 100%)}
.tate-design .tate-city-caption {position:absolute;right:23px;bottom:21px;width:auto;z-index:2;text-align:right}
.tate-design .tate-city-caption .elementor-heading-title {font-size:25px;line-height:1.05;font-weight:900;color:white}

.tate-design .e-con.tate-section-top {flex-direction:row;justify-content:space-between;align-items:flex-end;gap:26px;margin-bottom:16px}
.tate-design .e-con.tate-product-grid,.tate-design .e-con.tate-service-grid,
.tate-design .e-con.tate-industry-grid {grid-template-columns:repeat(5,minmax(0,1fr))}
.tate-design .e-con.tate-product-grid {gap:13px}
.tate-design .e-con.tate-product {
  border:1px solid #e2e4eb;
  border-radius:3px;
  overflow:hidden;
  background:white;
}
.tate-design .tate-product-photo {background-color:#f6f7fa;background-image:repeating-linear-gradient(140deg,#f9f9fb 0 35px,#f5f6f9 36px 70px)}
.tate-design .tate-product-photo img {width:100%;height:181px;object-fit:contain;padding:8px 6px}
.tate-design .tate-product-title {
  flex:1;
  min-height:75px;
  padding:0;
  border-top:1px solid #eef0f3;
}
.tate-design .tate-product-title h3 {font-size:18px;line-height:1.15}
.tate-design .tate-product-title a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:75px;
  gap:8px;
  padding:14px;
}
.tate-design .tate-product-title a::after {
  content:"→";
  display:grid;
  place-items:center;
  flex:0 0 28px;
  height:28px;
  background:#fff0f1;
  color:#ba1a28;
  border-radius:2px;
}
.tate-design .e-con.tate-product-more {flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px;margin-top:7px}
.tate-design .tate-product-more>.elementor-widget,.tate-design .tate-product-more>.e-con {width:auto}
.tate-design .tate-product-more .elementor-heading-title {font-size:15px;color:var(--tate-muted);font-weight:400}
.tate-design .tate-product-more .tate-product-link .elementor-heading-title {color:#ad1725;font-weight:700}
.tate-design .tate-product-more {--tate-icon-size:16px}

.tate-design .tate-services {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  color:white;
  --tate-copy-color:#d2d6e5;
  --tate-eyebrow-color:#ff626b;
  --tate-icon-color:#ff626b;
  --tate-icon-size:28px;
  background-color:var(--tate-navy);
  background-image:repeating-linear-gradient(142deg,#171a30 0 42px,#202339 43px,#171a30 44px 84px);
}
.tate-design .tate-services::after {
  position:absolute;
  content:"";
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:#b71c2c;
  clip-path:polygon(100% 0,100% 33%,87% 0);
}
.tate-design .tate-services .tate-section-top .tate-copy {max-width:320px;margin-inline-end:min(7vw,104px);margin-bottom:5px}
.tate-design .tate-service-grid {
  border-block-start:1px solid #464b65;
  border-inline-start:1px solid #464b65;
}
.tate-design .tate-service-grid>.e-con {
  padding:24px 18px;
  border-block-end:1px solid #464b65;
  border-inline-end:1px solid #464b65;
  background:#20243b;
  gap:15px;
}
.tate-design .tate-industries .tate-eyebrow .elementor-heading-title {justify-content:center}
.tate-design .tate-industries {text-align:center;--tate-icon-size:30px}
.tate-design .tate-industry-grid {margin-top:15px}
.tate-design .tate-industry-grid>.e-con {border-inline-end:1px solid var(--tate-line);padding:5px 10px;gap:10px}
.tate-design .tate-industry-grid>.e-con:last-child {border:0}
.tate-design .tate-industry-grid .elementor-icon-wrapper {justify-content:center}
.tate-design .tate-industry-grid h3 {font-size:16px}

.tate-design .e-con.tate-quality-grid {
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:clamp(22px,4.2vw,60px);
  align-items:center;
}
.tate-design .e-con.tate-approval-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.tate-design .tate-approval-grid>.e-con {
  min-height:71px;
  padding:13px 16px;
  border:1px solid var(--tate-line);
  border-radius:3px;
  background:white;
}
.tate-design .tate-approval-grid .elementor-heading-title {font-size:15px;line-height:1.27}

.tate-design .tate-contact {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#212641;
  color:white;
  --tate-copy-color:#dce0ee;
  --tate-eyebrow-color:#ff626b;
  --tate-icon-color:#ff676e;
  --tate-icon-size:18px;
}
.tate-design .tate-contact::before {
  position:absolute;
  content:"";
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:#2c3454;
  clip-path:polygon(0 100%,0 74%,31% 0,46% 0,14% 100%);
}
.tate-design .e-con.tate-contact-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1.24fr);
  gap:clamp(28px,4.5vw,65px);
  align-items:center;
}
.tate-design .tate-contact h2 {font-size:clamp(38px,5vw,61px)}
.tate-design .tate-contact .tate-copy {max-width:350px}
.tate-design .e-con.tate-contact-links {gap:10px;margin-top:5px}
.tate-design .tate-contact-links .elementor-heading-title {font-size:16px;font-weight:400;overflow-wrap:anywhere}

.tate-design .tate-form {
  color:var(--tate-ink);
  background:white;
  border-radius:4px;
  padding:24px 26px;
  display:grid;
  gap:13px;
  font-family:var(--tate-font);
  margin:0;
}
.tate-design .tate-form-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.tate-design .tate-form label {display:block;font-size:13px;font-weight:700;margin:0}
.tate-design .tate-form :is(input,select,textarea) {
  display:block;
  position:static;
  width:100%;
  padding:10px 11px;
  margin:6px 0 0;
  border:1px solid #dfe1e9;
  border-radius:2px;
  background:#f8f9fb;
  box-shadow:none;
  color:var(--tate-ink);
  font:400 14px/1.25 var(--tate-font);
}
.tate-design .tate-form textarea {min-height:65px;resize:vertical}
.tate-design .tate-form .tate-submit {justify-self:start;min-height:43px}
.tate-design .tate-form .tate-form-state {padding:8px 10px;background:#eef5ff;border-inline-start:3px solid #3475c5;font-size:14px}
.tate-design .tate-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.tate-footer {background:var(--tate-deep);color:white;border-top:4px solid #dd2837;--tate-copy-color:#c1c6da}
.tate-design .e-con.tate-footer-grid {
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) minmax(0,1.15fr) minmax(0,1fr);
  gap:clamp(18px,3vw,44px);
  padding:41px 0 33px;
}
.tate-design .e-con.tate-footer-group {gap:8px}
.tate-design .tate-footer-group .tate-logo {margin-bottom:4px}
.tate-design .tate-footer-group h3 {font-size:16px;margin-bottom:4px}
.tate-design .tate-footer-group div.elementor-heading-title,
.tate-design .tate-footer-group .tate-copy p {font-size:14px;font-weight:400;line-height:1.5;color:#c1c6da}
.tate-design .tate-footer-group .tate-copy {max-width:230px}
.tate-design .e-con.tate-footer-end {padding:15px 0 17px;border-top:1px solid #3a3f59}
.tate-design .tate-footer-end>.elementor-widget {width:auto}
.tate-design .tate-footer-end .elementor-heading-title {font-size:13px;font-weight:400;color:#c1c6da}

@media(max-width:1024px) {
  .tate-design .e-con.tate-header-row {flex-wrap:wrap;row-gap:8px;padding-block:12px}
  .tate-design .tate-header-row .tate-nav {order:3;width:100%;justify-content:center;flex-wrap:wrap}
  .tate-design .tate-nav a {padding:6px 0}
  .tate-design .tate-product-title a {padding-inline:10px}
  .tate-design .e-con.tate-product-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .tate-design .tate-services .tate-section-top .tate-copy {margin-inline-end:0}
  .tate-design .e-con.tate-principles {flex-wrap:wrap}
  .tate-design .e-con.tate-approval-grid {grid-template-columns:1fr}
}
@media(max-width:767px) {
  .tate-design {--tate-gutter:20px}
  .tate-design .tate-utility-row {min-height:41px}
  .tate-design .tate-utility-row .elementor-heading-title {font-size:11px}
  .tate-design .tate-utility-row .tate-icon-label {gap:4px}
  .tate-design .tate-logo {width:84px}
  .tate-design .e-con.tate-header-row {min-height:0}
  .tate-design .tate-nav .elementor-heading-title {font-size:13px}
  .tate-design .e-con.tate-nav {gap:4px 14px}
  .tate-design .tate-header-row .elementor-button {min-height:38px;padding-inline:12px;font-size:13px}
  .tate-design .tate-hero .tate-hero-photo {position:relative;inset:auto;width:100%;height:auto;order:2;clip-path:none}
  .tate-design .tate-hero-photo img {height:auto;aspect-ratio:3/2}
  .tate-design .tate-hero::before,.tate-design .tate-hero::after {display:none}
  .tate-design .e-con.tate-hero-content {padding:42px 0 36px;gap:17px}
  .tate-design .tate-hero-content>*,.tate-design .tate-hero-content>.e-con {max-width:100%}
  .tate-design .tate-hero-heading h1 {font-size:clamp(43px,9vw,64px)}
  .tate-design .tate-hero .tate-copy p {font-size:17px}
  .tate-design .tate-button .elementor-button {min-height:45px;padding-inline:14px}
  .tate-design .e-con.tate-stat-grid {padding-block:16px}
  .tate-design .e-con.tate-stat {flex-direction:column;text-align:center;gap:5px;padding-inline:5px}
  .tate-design .tate-number .elementor-heading-title {font-size:27px}
  .tate-design .tate-stat-label .elementor-heading-title {font-size:12px;line-height:1.3}
  .tate-design .e-con.tate-about-grid,.tate-design .e-con.tate-quality-grid,
  .tate-design .e-con.tate-contact-grid {grid-template-columns:1fr}
  .tate-design .e-con.tate-about-visual {height:240px}
  .tate-design .tate-about-visual::before {clip-path:polygon(100% 24%,100% 100%,46% 100%)}
  .tate-design .tate-about-visual::after {clip-path:polygon(100% 30%,100% 100%,49% 100%)}
  .tate-design .tate-city-caption {right:13px;bottom:13px}
  .tate-design .tate-city-caption .elementor-heading-title {font-size:18px}
  .tate-design .e-con.tate-section-top {flex-direction:column;align-items:flex-start;gap:14px}
  .tate-design .e-con.tate-product-grid,.tate-design .e-con.tate-service-grid,
  .tate-design .e-con.tate-industry-grid,.tate-design .e-con.tate-footer-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .tate-design .tate-product-photo img {height:135px}
  .tate-design .tate-product-title a {gap:4px;min-height:65px;padding:8px}
  .tate-design .tate-product-title h3 {font-size:15px}
  .tate-design .tate-product-title a::after {flex-basis:21px;height:21px}
  .tate-design .tate-services::after {clip-path:polygon(100% 0,100% 11%,89% 0)}
  .tate-design .tate-industry-grid {row-gap:17px}
  .tate-design .tate-industry-grid>.e-con:nth-child(even) {border:0}
  .tate-design .tate-industry-grid>.e-con:last-child:nth-child(odd) {grid-column:1/-1}
  .tate-design .tate-form {padding:18px}
}
@media(max-width:440px) {
  .tate-design {--tate-gutter:16px}
  .tate-design .tate-form-row {grid-template-columns:1fr}
  .tate-design .tate-footer-grid {row-gap:24px}
}
