.sapi *,.sapi *::before,.sapi *::after{box-sizing:border-box}
.sapi{line-height:1.5}
:where(.sapi) h1,:where(.sapi) h2,:where(.sapi) h3,:where(.sapi) h4,:where(.sapi) h5,:where(.sapi) h6,
:where(.sapi) p,:where(.sapi) figure,:where(.sapi) dl,:where(.sapi) dd,:where(.sapi) ul,:where(.sapi) ol{margin:0;padding:0}
:where(.sapi) h1,:where(.sapi) h2,:where(.sapi) h3,:where(.sapi) h4,:where(.sapi) h5,:where(.sapi) h6{font-size:inherit;font-weight:inherit}
:where(.sapi) ul,:where(.sapi) ol{list-style:none}
:where(.sapi) a{color:inherit;text-decoration:none}
:where(.sapi) img,:where(.sapi) video,:where(.sapi) svg{display:block;max-width:100%}
:where(.sapi) button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sapi .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sapi .skip-link{position:absolute;left:-9999px;top:0;z-index:99;background:var(--cyan);color:var(--slate);padding:12px 18px}
.sapi .skip-link:focus{left:12px}

@media (prefers-reduced-motion:reduce){
  .shimmer{
  -webkit-text-fill-color:currentColor;
  background-image:none;
  animation:none}
}

:root{
  --background:var(--slate);
  --foreground:#fff;
  --brand-sky:#31b4ea;
  --primary:var(--brand-sky);
  --primary-foreground:#05232c;
  --secondary:#313b46;
  --muted:#313b46;
  --muted-foreground:#e0e4e7;
  --accent:#354351;
  --popover:var(--slate);
  --border:#ffffff20;
  --cyan:var(--brand-sky);
  --ink:#15252d}
.dark{
  --background:var(--slate);
  --foreground:#fff;
  --primary:var(--brand-sky);
  --primary-foreground:#05232c;
  --secondary:#313b46;
  --muted:#313b46;
  --muted-foreground:#e0e4e7;
  --accent:#354351;
  --popover:var(--slate);
  --border:#ffffff20}
:root{
  --slate:#272f38;
  --brand-gray:#686d75;
  --ink:#26313a;
  --muted-ink:#65727b}
*{
  box-sizing:border-box}
html:has(body.sapi){
  --lightningcss-light: ;
  --lightningcss-dark:initial;
  color-scheme:dark;
  background:var(--slate);
  scroll-behavior:smooth;
  scroll-padding-top:100px}
body.sapi{
  color:var(--foreground);
  background:var(--slate);
  -webkit-font-smoothing:antialiased;
  margin:0;
  font-family:Montserrat,Arial,Helvetica,sans-serif;
  font-weight:300}
h1,h2,h3,h4,h5,h6,strong,b{
  font-weight:700}
a{
  color:inherit;
  text-decoration:none}
button{
  font:inherit;
  cursor:pointer}
button,a{
  -webkit-tap-highlight-color:transparent}
:is(a:focus-visible,button:focus-visible){
  outline:3px solid var(--brand-sky);
  outline-offset:5px}
img{
  max-width:100%;
  display:block}
p,h1,h2,h3{
  margin:0}
[hidden]{
  display:none!important}
::selection{
  background:var(--brand-sky);
  color:var(--slate)}
.site-header{
  z-index:30;
  color:#fff;
  border-bottom:1px solid #ffffff30;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  height:100px;
  padding:0 5%;
  transition:height .3s,background .3s,color .3s;
  display:flex;
  position:fixed;
  inset:0 0 auto}
.site-header.is-scrolled{
  color:#fff;
  border-color:var(--home-rule);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  background:#272f38fa;
  height:80px}
.header-identity{
  align-items:center;
  gap:32px;
  display:flex}
.brand{
  flex-shrink:0;
  display:block}
.brand img{
  width:130px;
  height:auto}
.division-nav{
  border-left:1px solid #ffffff4d;
  align-items:center;
  gap:30px;
  padding-left:30px;
  display:flex}
.site-header.is-scrolled .division-nav{
  border-color:var(--home-rule)}
.division-nav a{
  flex-direction:column;
  justify-content:center;
  min-height:44px;
  line-height:1.3;
  transition:color .2s;
  display:flex}
.division-nav-label{
  font-size:.875rem;
  font-weight:300}
.division-nav-name{
  font-size:1.125rem;
  font-weight:700}
.division-nav a:hover,.division-nav a[aria-current]{
  color:var(--brand-sky)}
.site-header.is-scrolled .division-nav a:hover,.site-header.is-scrolled .division-nav a[aria-current]{
  color:var(--cyan)}
.desktop-nav{
  align-items:center;
  gap:28px;
  margin-left:auto;
  font-size:.875rem;
  display:flex}
.division-nav[data-slot=navigation-menu]{
  flex:none}
.division-nav-list{
  gap:inherit;
  margin:0;
  padding:0}
.division-nav .division-menu-trigger,.division-nav .division-top-link{
  height:auto;
  min-height:44px;
  color:inherit;
  background:0 0;
  border:0;
  border-radius:0;
  gap:0;
  padding:0}
.division-nav .division-menu-trigger{
  gap:5px}
.division-menu-name{
  flex-direction:column;
  align-items:flex-start;
  line-height:1.3;
  display:flex}
.division-nav .division-menu-trigger:is(:hover,:focus-visible,[data-popup-open],[aria-current]),.division-nav .division-top-link:is(:hover,:focus-visible,[aria-current]){
  color:var(--cyan);
  background:0 0}
.division-menu-content{
  background:var(--slate);
  color:#fff;
  border:1px solid var(--home-rule);
  width:min(360px,100vw - 24px);
  padding:12px}
.division-menu-content .division-submenu-link{
  border-bottom:1px solid var(--home-rule);
  border-radius:0;
  justify-content:space-between;
  gap:20px;
  padding:18px 12px;
  display:flex}
.division-submenu-link>span{
  flex-direction:column;
  gap:6px;
  display:flex}
.division-submenu-link strong{
  font-size:18px;
  line-height:1.3}
.division-submenu-link>span>span{
  color:var(--home-copy);
  font-size:14px;
  font-weight:300}
.division-menu-content svg{
  color:var(--cyan);
  flex-shrink:0}
.division-menu-content a:is(:hover,:focus-visible){
  color:var(--cyan);
  background:#31b4ea0d}
.division-menu-content a:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:-2px}
.division-menu-secondary{
  padding-top:8px}
.division-menu-secondary a{
  border-radius:0;
  justify-content:space-between;
  padding:12px;
  font-size:14px}
@media (max-width:380px){
  .site-header .header-identity{
  gap:8px}
.site-header .division-nav{
  gap:10px;
  padding-left:8px}
.division-nav .division-menu-trigger{
  gap:2px}
.division-menu-trigger>svg{
  margin-left:0}
}
.desktop-nav a{
  align-items:center;
  gap:12px;
  min-height:44px;
  display:flex;
  position:relative}
.desktop-nav a:after{
  content:"";
  background:var(--cyan);
  width:0;
  height:2px;
  transition:width .2s;
  position:absolute;
  bottom:0;
  left:0}
.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{
  width:100%}
.desktop-nav a:last-child{
  border:1px solid #ffffff60;
  padding:0 17px}
.site-header.is-scrolled .desktop-nav a:last-child{
  border-color:var(--home-rule)}
.desktop-nav a:last-child:after{
  display:none}
.desktop-nav a:last-child:hover{
  background:var(--cyan);
  border-color:var(--cyan);
  color:var(--ink)}
.skip-link{
  background:var(--cyan);
  color:var(--slate);
  z-index:100;
  padding:14px 20px;
  position:fixed;
  top:-70px;
  left:18px}
.skip-link:focus{
  top:15px}
.mobile-menu-button{
  color:inherit;
  background:0 0;
  border:0;
  padding:10px;
  display:none}
.hero{
  background:var(--slate);
  color:#fff;
  height:min(940px,100svh);
  min-height:810px;
  position:relative;
  overflow:hidden}
.hero-film{
  position:absolute;
  inset:0;
  overflow:hidden}
.hero-video-poster,.hero-video{
  object-fit:cover;
  object-position:center center;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.hero-video{
  opacity:0;
  pointer-events:none;
  transition:opacity .5s}
.hero-video.is-ready{
  opacity:1}
.hero-shade{
  background:linear-gradient(#15222ce0 0%,#15222c9c 100px,#0000 36% 68%,#19252f80 100%);
  position:absolute;
  inset:0}
.hero-angle{
  background:linear-gradient(90deg,#272f38f5 0%,#272f38d9 27%,#272f384d 48%,#0000 68%);
  position:absolute;
  inset:0}
.hero-content{
  z-index:2;
  pointer-events:none;
  padding:142px 5% 110px;
  position:relative}
.hero-manifesto{
  width:max-content;
  font-size:clamp(115px,10vw,151px);
  position:relative}
.hero h1{
  font-size:inherit;
  color:var(--brand-gray);
  letter-spacing:-.055em;
  font-weight:700;
  line-height:.83}
.hero h1>span{
  display:block}
.hero-since{
  color:var(--brand-sky);
  letter-spacing:-.055em;
  white-space:nowrap;
  line-height:.9;
  position:absolute;
  bottom:-.025em;
  left:1.74em}
.hero-since>span{
  letter-spacing:-.025em;
  margin:0 0 .16em .1em;
  font-size:.23em;
  font-weight:300;
  display:block}
.hero-since strong{
  letter-spacing:-.05em;
  font-size:.49em;
  font-weight:700;
  display:block}
.hero-description{
  letter-spacing:.035em;
  max-width:410px;
  margin:36px 0 19px;
  font-size:16px;
  font-weight:300;
  line-height:1.55}
.hero-bottom{
  z-index:3;
  letter-spacing:.1em;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  font-size:10px;
  display:flex;
  position:absolute;
  bottom:24px;
  left:5%;
  right:5%}
.scroll-link{
  align-items:center;
  gap:15px;
  min-height:44px;
  display:flex}
.scroll-link svg{
  animation:2.5s ease-in-out infinite scroll-nudge}
.hero-video-toggle{
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  color:#fff;
  letter-spacing:0;
  background:#172c3c55;
  border:1px solid #ffffff70;
  flex:none;
  justify-content:center;
  align-items:center;
  width:48px;
  height:48px;
  padding:0;
  font-size:12px;
  display:inline-flex}
.hero-video-toggle:hover:not(:disabled){
  background:#153846b0;
  border-color:#fff}
.hero-video-toggle:disabled{
  opacity:.7;
  cursor:default}
.section{
  padding:95px 5%}
.eyebrow{
  letter-spacing:.13em;
  color:var(--muted-ink);
  font-size:11px;
  font-weight:300;
  line-height:1.5}
.section h2{
  letter-spacing:-.047em;
  font-size:clamp(36px,4vw,62px);
  font-weight:700;
  line-height:1.08}
.section h2 span{
  color:#89969e}
.section-heading{
  justify-content:space-between;
  align-items:flex-end;
  gap:35px;
  margin-bottom:48px;
  display:flex}
.section-heading h2{
  margin-top:24px}
.section-heading>p{
  color:var(--muted-ink);
  padding-bottom:6px;
  font-size:16px;
  line-height:1.7}
.button{
  justify-content:space-between;
  align-items:center;
  gap:30px;
  min-height:54px;
  padding:17px 22px;
  font-size:14px;
  font-weight:300;
  transition:background .2s,color .2s;
  display:inline-flex}
.button-cyan{
  background:var(--cyan);
  color:#09232e}
.button-cyan:hover{
  background:#83eaff}
.text-link{
  border-bottom:1px solid #9aafb9;
  align-items:center;
  gap:26px;
  padding:12px 0;
  font-size:14px;
  font-weight:300;
  display:inline-flex}
.text-link svg,.button svg{
  flex-shrink:0;
  transition:transform .2s}
.text-link:hover svg,.button:hover svg{
  transform:translate(3px,-3px)}
.circle-button{
  background:0 0;
  border:1px solid #bbccd4;
  border-radius:50%;
  flex-shrink:0;
  place-items:center;
  width:48px;
  height:48px;
  transition:background .2s,border-color .2s;
  display:grid}
.circle-button:hover{
  background:var(--cyan);
  border-color:var(--cyan);
  color:var(--slate)}
.divisions-section.section{
  background:var(--slate);
  color:#fff;
  padding:0}
.division-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  display:grid}
.division-card{
  --division-preview-rows:0fr;
  --division-preview-opacity:0;
  --division-preview-visibility:hidden;
  --division-tagline-height:5em;
  --division-tagline-opacity:1;
  --division-title-size:clamp(36px, 3.8vw, 64px);
  --division-title-gap:24px;
  isolation:isolate;
  color:#fff;
  background:var(--slate);
  grid-template-rows:28px 1fr auto;
  gap:32px;
  min-height:720px;
  padding:56px 3.5vw 44px;
  display:grid;
  position:relative;
  overflow:hidden}
.division-card:after{
  content:"";
  z-index:1;
  opacity:var(--division-preview-opacity);
  pointer-events:none;
  background:linear-gradient(#0a141c61 0%,#0a141ca3 35%,#0a141cc2 75%,#0a141cd1 100%);
  transition:opacity .6s;
  position:absolute;
  inset:0}
.division-marker,.division-card-content,.division-card-link{
  z-index:2;
  position:relative}
.division-card+.division-card{
  border-left:1px solid #ffffff20}
.division-marker{
  background:var(--cyan);
  align-self:center;
  width:72px;
  height:2px;
  transition:transform .3s;
  display:block}
.division-card-content{
  align-self:center}
.division-card h3{
  font-size:var(--division-title-size);
  letter-spacing:-.035em;
  margin:0 0 var(--division-title-gap);
  font-weight:700;
  line-height:1.06;
  transition:font-size .4s,margin-bottom .4s}
.division-card-label{
  color:var(--cyan);
  font-weight:300}
.division-card p{
  letter-spacing:.02em;
  color:#e0e4e7;
  font-size:16px;
  font-weight:300;
  line-height:1.65}
.division-card-tagline{
  max-height:var(--division-tagline-height);
  opacity:var(--division-tagline-opacity);
  transition:max-height .4s,opacity .25s;
  overflow:hidden}
.division-card-preview{
  grid-template-rows:var(--division-preview-rows);
  opacity:var(--division-preview-opacity);
  visibility:var(--division-preview-visibility);
  transition:grid-template-rows .4s,opacity .35s,visibility .4s;
  display:grid}
.division-card-preview>div{
  min-height:0;
  overflow:hidden}
.division-card-photo{
  z-index:0;
  object-fit:cover;
  width:100%;
  height:100%;
  opacity:var(--division-preview-opacity);
  pointer-events:none;
  transition:opacity .6s;
  position:absolute;
  inset:0}
.division-card-link{
  color:#fff;
  min-height:44px;
  opacity:var(--division-preview-opacity);
  visibility:var(--division-preview-visibility);
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-size:14px;
  transition:opacity .35s,visibility .4s;
  display:flex}
.division-card-link svg{
  color:var(--cyan);
  transition:transform .3s}
.division-card:is(:hover,:focus-visible){
  --division-preview-rows:1fr;
  --division-preview-opacity:1;
  --division-preview-visibility:visible;
  --division-tagline-height:0px;
  --division-tagline-opacity:0;
  --division-title-size:clamp(32px, 3vw, 44px);
  --division-title-gap:16px}
.division-card:is(:hover,:focus-visible) .division-marker{
  transform:translateY(-4px)}
.division-card:is(:hover,:focus-visible) .division-card-link svg{
  transform:translate(4px,-4px)}
.division-card:focus-visible{
  outline-offset:-5px}
@media (hover:none),(pointer:coarse),(max-width:760px){
  .division-card,.division-card:is(:hover,:focus-visible){
  --division-preview-rows:1fr;
  --division-preview-opacity:1;
  --division-preview-visibility:visible;
  --division-tagline-height:0px;
  --division-tagline-opacity:0;
  --division-title-size:clamp(36px, 8vw, 48px);
  --division-title-gap:20px}
}
.intro-grid{
  grid-template-columns:1.4fr 1fr;
  gap:10%;
  margin-top:38px;
  display:grid}
.intro-grid>div>p{
  max-width:485px;
  font-size:18px;
  line-height:1.7}
.intro-secondary{
  color:#617984;
  margin-top:24px}
.intro-secondary strong{
  color:var(--ink);
  font-weight:700}
.intro-grid .text-link{
  margin-top:20px}
.facts{
  border-top:1px solid #d4dce0;
  grid-template-columns:repeat(3,1fr);
  margin-top:70px;
  padding-top:32px;
  display:grid}
.facts>div{
  border-left:1px solid #d4dce0;
  padding-left:28px}
.facts>div:first-child{
  border:0;
  padding-left:0}
.facts strong{
  letter-spacing:-.045em;
  font-size:clamp(38px,4.6vw,70px);
  font-weight:700;
  line-height:1}
.facts strong span{
  color:#0ac;
  margin-left:20px;
  font-size:44px}
.facts p{
  color:#637782;
  margin-top:16px;
  font-size:14px}
.company-numbers{
  border-top:1px solid var(--home-rule);
  border-bottom:1px solid var(--home-rule);
  grid-template-columns:48px minmax(0,1fr) 48px;
  align-items:center;
  gap:24px;
  margin-top:70px;
  padding:32px 0;
  display:grid}
.company-numbers .numbers-arrow{
  border:1px solid var(--home-rule);
  width:48px;
  height:48px;
  color:var(--cyan);
  background:0 0;
  border-radius:0;
  place-items:center;
  padding:0;
  display:grid}
.company-numbers .numbers-arrow:is(:hover,:focus-visible){
  background:var(--cyan);
  border-color:var(--cyan);
  color:var(--slate)}
.numbers-viewport{
  scrollbar-width:none;
  scroll-behavior:auto;
  overscroll-behavior-x:contain;
  min-width:0;
  overflow:auto hidden;
  container-type:inline-size}
.numbers-viewport::-webkit-scrollbar{
  display:none}
.numbers-viewport:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:4px}
.numbers-track{
  width:max-content;
  display:flex}
.numbers-row{
  flex-wrap:nowrap;
  flex:none;
  margin:0;
  display:flex}
.company-metric{
  border-left:1px solid var(--home-rule);
  flex-direction:column;
  flex:none;
  gap:18px;
  width:clamp(300px,28vw,390px);
  min-width:0;
  padding:8px 28px;
  display:flex}
.company-metric dt{
  color:var(--home-copy);
  order:2;
  font-size:16px;
  font-weight:300;
  line-height:1.55}
.company-metric dd{
  color:#fff;
  letter-spacing:-.045em;
  white-space:nowrap;
  order:1;
  align-items:baseline;
  gap:9px;
  margin:0;
  font-size:clamp(42px,4.3vw,64px);
  font-weight:700;
  line-height:1;
  display:flex}
.company-metric .metric-unit{
  color:var(--cyan);
  letter-spacing:0;
  font-size:.4em}
.metric-arrow{
  color:var(--cyan);
  flex:none;
  align-self:center;
  margin-left:8px}
@media (max-width:760px){
  .company-numbers{
  grid-template-columns:36px minmax(0,1fr) 36px;
  gap:12px;
  margin-top:46px;
  padding:26px 0}
.company-numbers .numbers-arrow{
  width:36px;
  height:44px}
.company-metric{
  gap:16px;
  width:100cqw;
  padding:8px 16px}
.company-metric dd{
  gap:6px;
  font-size:clamp(32px,8.5vw,46px)}
.metric-arrow{
  width:30px;
  height:30px;
  margin-left:0}
}
.qualifications{
  border-top:1px solid #d6e0e5;
  border-bottom:1px solid #d6e0e5;
  grid-template-columns:1.2fr 1fr 1fr 1fr 1.3fr;
  align-items:center;
  gap:25px;
  padding:36px 5%;
  display:grid}
.qualifications>p{
  letter-spacing:.1em;
  color:#5c7784;
  font-size:11px;
  line-height:1.65}
.qualifications>div{
  border-left:1px solid #d6e0e5;
  flex-direction:column;
  gap:8px;
  padding-left:25px;
  display:flex}
.qualifications strong{
  white-space:nowrap;
  letter-spacing:-.02em;
  font-size:19px;
  font-weight:700}
.qualifications span{
  color:#5c7784;
  font-size:13px}
.division-hero{
  background:var(--slate);
  color:#fff;
  align-items:flex-end;
  min-height:670px;
  padding:190px 5% 80px;
  display:flex;
  position:relative;
  overflow:hidden}
.division-hero>img{
  object-fit:cover;
  object-position:center 44%;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.division-hero:after{
  content:"";
  background:linear-gradient(90deg,#18252ced,#18252c60),linear-gradient(#0000,#19282c77);
  position:absolute;
  inset:0}
.division-hero-copy{
  z-index:1;
  max-width:780px;
  position:relative}
.breadcrumb{
  color:#d3dde2;
  align-items:center;
  gap:13px;
  margin-bottom:50px;
  font-size:11px;
  display:flex}
.breadcrumb a:hover{
  text-decoration:underline}
.division-hero-label{
  color:var(--cyan);
  letter-spacing:-.02em;
  margin:0 0 14px;
  font-size:clamp(28px,3.2vw,48px);
  font-weight:300;
  line-height:1.2}
.division-hero h1{
  letter-spacing:-.055em;
  margin:14px 0 24px;
  font-size:clamp(72px,9vw,135px);
  font-weight:700;
  line-height:1}
.division-hero-copy>p:last-child{
  letter-spacing:-.02em;
  max-width:630px;
  font-size:clamp(22px,2.4vw,35px);
  font-weight:300;
  line-height:1.35}
.relining-page .division-hero h1{
  color:#fff;
  margin:0}
.relining-page .division-hero:after{
  background:linear-gradient(90deg,#18252c88,#18252c14),linear-gradient(#0000,#19282c55)}
:is(.division-intro,.detail-feature,.technology-section,.division-crosslink){
  border-top:1px solid var(--home-rule)}
.division-intro{
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:10%;
  display:grid}
.division-intro .eyebrow{
  margin-bottom:25px}
.division-intro>div:last-child>p{
  color:var(--home-copy);
  font-size:18px;
  line-height:1.75}
.division-jump-links{
  border-top:1px solid var(--home-rule);
  margin-top:28px}
.division-jump-links a{
  border-bottom:1px solid var(--home-rule);
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 0;
  font-size:14px;
  display:flex}
.division-jump-links a:hover{
  color:var(--cyan)}
.division-jump-links svg{
  color:var(--cyan);
  flex-shrink:0}
.detail-feature{
  background:var(--slate);
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:7%;
  display:grid}
.detail-feature>img{
  object-fit:cover;
  width:100%;
  height:100%;
  min-height:480px;
  max-height:650px}
.detail-feature-copy .eyebrow{
  margin-bottom:24px}
.detail-feature-copy h2{
  margin-bottom:26px;
  font-size:clamp(34px,3.5vw,52px)}
.detail-feature-copy>p:not(.eyebrow){
  color:var(--home-copy);
  margin-top:18px;
  font-size:16px;
  line-height:1.75}
.detail-feature-copy .text-link{
  margin-top:20px}
.detail-feature.reverse{
  background:var(--slate)}
.detail-feature.reverse>img{
  order:2}
.detail-feature.reverse>.detail-feature-copy{
  order:1}
.detail-list{
  margin:26px 0 0;
  padding:0;
  list-style:none}
.detail-list li{
  border-top:1px solid var(--home-rule);
  align-items:center;
  gap:12px;
  padding:14px 0;
  font-size:14px;
  display:flex}
.detail-list svg{
  color:var(--cyan);
  flex-shrink:0}
.technology-section{
  background:var(--slate);
  color:#fff}
.technology-heading{
  padding-bottom:50px}
.technology-heading h2{
  margin-top:25px}
.technology-heading h2 span{
  color:var(--cyan)}
.technology-heading .eyebrow{
  color:#a8bac4}
.technology-heading>p:last-child{
  max-width:660px;
  color:var(--home-copy);
  margin-top:27px;
  font-size:16px;
  line-height:1.75}
.technology-tabs{
  gap:0!important}
.technology-tab-list{
  border-bottom:1px solid var(--home-rule);
  gap:0;
  margin:0 5%;
  background:0 0!important;
  border-radius:0!important;
  justify-content:flex-start!important;
  width:90%!important;
  height:auto!important;
  padding:0!important;
  display:flex!important}
.technology-trigger{
  flex:1;
  min-height:66px;
  color:#becbd2!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  padding:20px 22px!important;
  font-size:16px!important;
  font-weight:300!important}
.technology-trigger:hover{
  background:#3a4652}
.technology-trigger[data-active]{
  color:#06232c!important;
  background:var(--cyan)!important}
.technology-panel{
  grid-template-columns:1fr 1fr;
  min-width:0;
  margin:44px 5% 0;
  padding-bottom:90px;
  animation:.4s panel-in;
  display:grid}
.technology-photo{
  min-height:470px;
  position:relative;
  overflow:hidden}
.technology-photo img{
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.image-label{
  background:var(--cyan);
  color:#0b2935;
  letter-spacing:.08em;
  align-items:center;
  gap:10px;
  padding:20px 26px;
  font-size:12px;
  display:flex;
  position:absolute;
  bottom:0;
  left:0}
.image-label>span{
  background:#092833;
  width:6px;
  height:6px}
.technology-copy{
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:16px 0 16px 12%;
  display:flex}
.technology-panel-text{
  grid-template-columns:1fr}
.technology-panel-text .technology-copy{
  border:1px solid #ffffff20;
  min-height:470px;
  padding:clamp(28px,5vw,70px)}
.technology-panel-text .technology-copy>p{
  max-width:760px}
.technology-copy>.eyebrow{
  color:#acbcc5;
  font-size:10px}
.technology-copy h3{
  letter-spacing:-.04em;
  margin:24px 0;
  font-size:clamp(32px,3.3vw,50px);
  font-weight:700;
  line-height:1.12}
.technology-copy>p:not(.eyebrow){
  color:var(--home-copy);
  font-size:16px;
  line-height:1.75}
.technology-copy .technology-note{
  border-top:1px solid var(--home-rule);
  margin-top:24px;
  padding-top:22px;
  font-size:13px}
.technology-copy .button{
  margin-top:30px}
.division-crosslink{
  background:var(--slate);
  color:#fff;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  display:flex}
.division-crosslink .eyebrow{
  color:#b1c0c8;
  margin-bottom:16px}
.division-crosslink h2{
  font-size:clamp(32px,4vw,56px)}
.division-crosslink>a{
  border-color:#c2cfd5;
  flex-shrink:0}
.industry-note{
  background:var(--slate);
  padding-top:0}
.industry-note>p{
  border-top:1px solid var(--home-rule);
  max-width:980px;
  color:var(--home-copy);
  padding-top:30px;
  font-size:18px;
  line-height:1.75}
.relining-explorer{
  border-top:1px solid var(--home-rule);
  position:relative}
.relining-anchor{
  pointer-events:none;
  width:1px;
  height:1px;
  position:absolute;
  top:0;
  left:0}
.relining-service-tabs{
  flex-direction:column;
  gap:0}
.relining-service-list{
  border-bottom:1px solid var(--home-rule);
  border-radius:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  background:0 0!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  display:grid!important}
.relining-service-trigger{
  text-align:left;
  white-space:normal;
  background:0 0;
  grid-template-columns:minmax(0,1fr) auto;
  align-content:start;
  place-items:start;
  gap:16px;
  min-width:0;
  height:auto;
  min-height:200px;
  transition:background .25s,border-color .25s;
  border:0!important;
  border-top:2px solid #0000!important;
  border-right:1px solid var(--home-rule)!important;
  box-shadow:none!important;
  color:#fff!important;
  border-radius:0!important;
  padding:26px!important;
  display:grid!important}
.relining-service-trigger:last-child{
  border-right:0!important}
.relining-service-number{
  color:var(--cyan);
  grid-column:1;
  font-size:14px;
  font-weight:300}
.relining-service-name{
  letter-spacing:-.035em;
  grid-column:1;
  font-size:clamp(24px,2.4vw,36px);
  font-weight:700;
  line-height:1.15}
.relining-service-description{
  color:var(--home-copy);
  grid-column:1;
  font-size:14px;
  font-weight:300;
  line-height:1.5}
.relining-service-trigger>svg{
  color:var(--cyan);
  grid-area:1/2/span 2}
.relining-service-trigger:hover{
  background:#ffffff06}
.relining-service-trigger[data-active]{
  border-top-color:var(--cyan)!important;
  background:#31b4ea0d!important}
.relining-service-trigger:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:-4px}
.relining-service-panel{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:7%;
  padding-top:48px;
  animation:.35s panel-in;
  display:grid}
.relining-service-photo{
  height:100%;
  min-height:520px;
  position:relative}
.relining-service-photo img{
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.relining-service-copy h3{
  color:#fff;
  letter-spacing:-.04em;
  margin-bottom:26px;
  font-size:clamp(34px,3.5vw,52px);
  font-weight:700;
  line-height:1.1}
.relining-service-copy>p{
  color:var(--home-copy);
  font-size:16px;
  line-height:1.7}
.relining-service-copy .detail-list{
  margin:26px 0}
.relining-service-copy .text-link{
  margin-top:22px}
.relining-no-dig-panel{
  animation:.35s panel-in}
.technology-embedded{
  border:0}
.technology-embedded .technology-heading{
  padding:32px 0}
.technology-embedded .technology-heading>p{
  max-width:980px;
  margin:0}
.technology-embedded .technology-tab-list{
  margin:0;
  width:100%!important}
.technology-embedded .technology-panel{
  margin:40px 0 0;
  padding-bottom:0}
@media (max-width:930px){
  .relining-service-trigger{
  padding:20px 16px!important}
.relining-service-name{
  font-size:clamp(18px,2.45vw,23px)}
.relining-service-description{
  font-size:13px}
}
@media (max-width:760px){
  .relining-explorer.section{
  padding-top:36px}
.relining-service-list{
  grid-template-columns:1fr}
.relining-service-trigger{
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:72px;
  border-right:0!important;
  border-bottom:1px solid var(--home-rule)!important;
  padding:18px 14px!important}
.relining-service-name{
  grid-area:1/2;
  font-size:clamp(20px,5vw,25px)}
.relining-service-description{
  display:none}
.relining-service-trigger>svg{
  grid-area:1/3}
.relining-service-panel{
  grid-template-columns:minmax(0,1fr);
  gap:32px;
  padding-top:30px}
.relining-service-photo{
  aspect-ratio:4/3;
  height:auto;
  min-height:0}
}
@media (prefers-reduced-motion:reduce){
  .relining-service-panel,.relining-no-dig-panel{
  animation:none}
.relining-service-trigger,.division-menu-content{
  transition:none;
  animation:none}
}
.contacts-page .contacts-hero h1{
  color:#fff;
  margin:0}
.contacts-hero>img{
  object-position:50% 53%}
.contacts-page .contact-details{
  padding-top:36px;
  padding-bottom:30px}
.contact-section{
  background:var(--cyan);
  padding-bottom:42px;
  position:relative}
.contact-section .eyebrow{
  color:#145367}
.contact-section h2{
  margin:30px 0;
  font-size:clamp(44px,6.3vw,95px);
  line-height:1.01}
.contact-section h2 span{
  color:#fff}
.contact-section>div>p:not(.eyebrow){
  max-width:540px;
  font-size:17px;
  line-height:1.6}
.contact-circle{
  border:1px solid #14657b;
  border-radius:50%;
  place-items:center;
  width:135px;
  height:135px;
  transition:background .3s,transform .3s;
  display:grid;
  position:absolute;
  top:140px;
  right:8%}
.contact-circle:hover{
  background:var(--cyan);
  transform:rotate(45deg)}
.contact-details{
  border-top:1px solid #08758d55;
  grid-template-columns:1fr 1.3fr 1fr;
  gap:35px;
  margin-top:75px;
  padding-top:30px;
  font-size:16px;
  line-height:1.5;
  display:grid}
.contact-details>a{
  overflow-wrap:anywhere;
  padding-right:25px;
  position:relative}
.contact-details>a>svg{
  position:absolute;
  top:32px;
  right:0}
.contact-details span{
  letter-spacing:.1em;
  color:#15566a;
  margin-bottom:12px;
  font-size:10px;
  display:block}
.contact-details>a:hover{
  text-underline-offset:4px;
  text-decoration:underline}
.site-footer{
  color:#c5d4dc;
  background:#222c35;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:36px;
  padding:48px 5% 26px;
  display:grid}
.footer-logo{
  width:145px;
  display:inline-block}
.footer-logo img{
  width:100%;
  height:auto}
.site-footer>p{
  font-size:13px;
  line-height:1.6}
.back-top{
  align-items:center;
  gap:25px;
  font-size:13px;
  display:flex}
.footer-divisions{
  grid-column:1/-1;
  gap:32px;
  font-size:13px;
  display:flex}
.footer-divisions a{
  align-items:center;
  gap:15px;
  display:flex}
.footer-divisions a:hover{
  color:var(--cyan)}
.footer-bottom{
  color:#a0b2be;
  letter-spacing:.035em;
  border-top:1px solid #455560;
  grid-column:1/-1;
  justify-content:space-between;
  gap:20px;
  padding-top:23px;
  font-size:10px;
  display:flex}
.site-theme{
  --home-copy:#e0e4e7;
  --home-rule:#ffffff20;
  background:var(--slate);
  color:#fff}
.site-theme :is(.intro,.qualifications,.contact-section,.site-footer){
  background:var(--slate);
  color:#fff}
.site-theme :is(.intro,.contact-section,.site-footer){
  border-top:1px solid var(--home-rule)}
.site-theme .section h2 span,.site-theme .intro-secondary strong{
  color:#fff}
.site-theme .eyebrow{
  color:var(--cyan);
  font-size:14px}
.site-theme :is(.intro>.eyebrow,.section-heading>div>.eyebrow,.contact-section>div>.eyebrow,.division-intro>div>.eyebrow,.detail-feature-copy>.eyebrow,.technology-heading>.eyebrow,.division-crosslink>div>.eyebrow):before{
  content:"";
  background:var(--cyan);
  width:72px;
  height:2px;
  margin-bottom:28px;
  display:block}
.site-theme .intro-grid>div>p,.site-theme .contact-section>div>p:not(.eyebrow){
  color:var(--home-copy);
  font-size:16px;
  line-height:1.65}
.site-theme .facts,.site-theme .facts>div,.site-theme .qualifications,.site-theme .qualifications>div,.site-theme .contact-details,.site-theme .footer-bottom{
  border-color:var(--home-rule)}
.site-theme .facts strong span,.site-theme .text-link svg,.site-theme .contact-details>a>svg,.site-theme .back-top svg,.site-theme .footer-divisions svg{
  color:var(--cyan)}
.site-theme .facts p,.site-theme .qualifications>p,.site-theme .qualifications span,.site-theme .site-footer>p,.site-theme .footer-bottom{
  color:var(--home-copy);
  font-size:14px;
  line-height:1.65}
.site-theme .text-link{
  border-color:var(--home-rule);
  font-size:14px;
  transition:border-color .25s,color .25s}
.site-theme .text-link:is(:hover,:focus-visible){
  color:var(--cyan);
  border-color:var(--cyan)}
.site-theme .contact-circle{
  color:var(--cyan);
  border-color:var(--home-rule)}
.site-theme .contact-circle:is(:hover,:focus-visible){
  background:var(--cyan);
  color:var(--slate);
  border-color:var(--cyan)}
.site-theme .contact-section h2{
  font-size:clamp(40px,4.5vw,72px)}
.site-theme .contact-section h2 span,.site-theme .contact-details span{
  color:var(--cyan)}
.site-theme .contact-details span{
  font-size:12px}
.site-theme .back-top,.site-theme .footer-divisions{
  font-size:14px}
.site-theme .back-top:is(:hover,:focus-visible){
  color:var(--cyan)}
.site-theme .footer-bottom{
  font-size:12px}
.site-theme .footer-bottom span{
  font-size:inherit}
@media (max-width:760px){
  .site-theme :is(.intro>.eyebrow,.section-heading>div>.eyebrow,.contact-section>div>.eyebrow,.division-intro>div>.eyebrow,.detail-feature-copy>.eyebrow,.technology-heading>.eyebrow,.division-crosslink>div>.eyebrow):before{
  width:56px;
  margin-bottom:24px}
.site-theme .facts p,.site-theme .eyebrow,.site-theme .qualifications>p{
  font-size:12px}
}
.certifications-section,.clients-section{
  border-top:1px solid var(--home-rule)}
.home-page .certifications-section .section-heading>p,.clients-intro>p{
  max-width:440px;
  color:var(--home-copy);
  font-size:16px;
  line-height:1.65}
.certifications-heading{
  grid-template-columns:minmax(0,1fr) minmax(240px,.4fr);
  align-items:end;
  gap:48px;
  display:grid}
.home-page .certifications-heading h2{
  letter-spacing:-.045em;
  max-width:880px;
  font-size:clamp(36px,4.2vw,66px);
  font-weight:700;
  line-height:1.08}
.home-page .certifications-heading h2 .certifications-brand{
  color:var(--cyan);
  margin-top:18px;
  display:block}
.certificates-viewport{
  scrollbar-width:none;
  scroll-behavior:auto;
  overscroll-behavior-x:contain;
  border-top:1px solid var(--home-rule);
  border-bottom:1px solid var(--home-rule);
  min-width:0;
  overflow:auto hidden;
  container-type:inline-size}
.certificates-viewport::-webkit-scrollbar{
  display:none}
.certificates-viewport:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:4px}
.certificates-track,.certificates-row{
  align-items:stretch;
  width:max-content;
  display:flex}
.certificates-row{
  flex-wrap:nowrap;
  flex:none;
  margin:0;
  padding:0;
  list-style:none}
.certificate-card{
  border-left:1px solid var(--home-rule);
  flex-direction:column;
  flex:none;
  width:clamp(300px,31vw,430px);
  min-width:0;
  padding:36px 28px;
  transition:background .2s;
  display:flex}
.certificate-card:is(:hover,:focus-within){
  background:#ffffff04}
.certificate-card:before{
  content:"";
  background:var(--cyan);
  flex:none;
  width:42px;
  height:2px;
  margin-bottom:26px;
  display:block}
.certificate-topic{
  min-height:3em;
  color:var(--cyan);
  margin-bottom:20px;
  font-size:16px;
  line-height:1.5}
.certificate-card h3{
  color:#fff;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  font-size:clamp(30px,2.8vw,42px);
  line-height:1.12}
.certificate-validity{
  color:var(--home-copy);
  gap:8px;
  margin:24px 0;
  font-size:14px;
  line-height:1.6;
  display:grid}
.certificate-validity time{
  white-space:nowrap}
.certificate-card .certificate-document-link{
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  margin-top:auto;
  font-size:14px;
  display:flex}
.certificate-document-link:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:4px}
.certificate-file{
  color:#bdc8d0;
  margin-top:8px;
  font-size:12px}
.certificate-controls{
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  padding-top:20px;
  display:flex}
.certificate-controls .certificate-arrow{
  border:1px solid var(--home-rule);
  width:48px;
  height:48px;
  color:var(--cyan);
  background:0 0;
  border-radius:0;
  place-items:center;
  margin:0;
  padding:0;
  display:grid}
.certificate-controls .certificate-arrow:is(:hover,:focus-visible){
  background:var(--cyan);
  color:var(--slate);
  border-color:var(--cyan)}
@media (max-width:920px){
  .certifications-heading{
  grid-template-columns:1fr;
  gap:28px}
}
@media (max-width:600px){
  .certificate-card{
  width:100cqw;
  padding:28px 20px}
.certificate-card h3{
  font-size:clamp(30px,8vw,38px)}
}
.certifications-hero .division-hero-copy{
  max-width:100%}
.certifications-hero>img{
  object-position:50% 32%}
@media (min-width:1600px){
  .certifications-hero>img{
  object-position:50% 27%}
}
.certifications-page .certifications-hero h1{
  color:#fff;
  margin:0;
  font-size:clamp(48px,8.2vw,122px)}
.certifications-hero:after{
  background:linear-gradient(90deg,#18252cbb,#18252c22),linear-gradient(#0000 40%,#19282c99)}
.certificate-scope{
  color:var(--home-copy);
  margin-top:24px;
  font-size:16px;
  line-height:1.65}
.certifications-page-link{
  justify-content:flex-start;
  padding-top:28px;
  display:flex}
@media (max-width:760px){
  .certifications-hero>img{
  object-position:30% 50%}
.certifications-page .certifications-hero h1{
  font-size:clamp(30px,10vw,72px)}
}
@media (prefers-reduced-motion:reduce){
  .certificate-card{
  transition:none}
}
.clients-section.section{
  padding-bottom:0;
  padding-left:0;
  padding-right:0}
.clients-section .section-heading{
  margin-left:5%;
  margin-right:5%}
.clients-intro{
  max-width:440px}
.clients-actions{
  flex-wrap:wrap;
  align-items:center;
  gap:16px 28px;
  margin-top:24px;
  display:flex}
.client-motion-control{
  border:1px solid var(--home-rule);
  width:44px;
  height:44px;
  min-height:44px;
  color:var(--cyan);
  background:0 0;
  padding:12px;
  font-family:inherit;
  font-size:12px;
  font-weight:300}
.client-motion-control:is(:hover,:focus-visible){
  background:var(--cyan);
  border-color:var(--cyan);
  color:var(--slate)}
.client-rail{
  border-top:1px solid var(--home-rule);
  border-bottom:1px solid var(--home-rule);
  background:var(--slate)}
.client-viewport{
  scroll-behavior:auto;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  max-width:100%;
  overflow:auto hidden;
  -webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);
  mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}
.client-viewport::-webkit-scrollbar{
  display:none}
.client-viewport:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:-3px}
.client-track{
  width:max-content;
  display:flex}
.client-group{
  flex-wrap:nowrap;
  flex:none;
  align-items:stretch;
  min-width:100vw;
  margin:0;
  padding:0;
  list-style:none;
  display:flex}
.client-item{
  text-align:center;
  color:#fff;
  background:var(--slate);
  isolation:isolate;
  flex-direction:column;
  flex:none;
  justify-content:center;
  align-items:center;
  gap:20px;
  width:246px;
  padding:32px 28px 24px;
  display:flex}
.client-logo{
  justify-content:center;
  align-items:center;
  width:100%;
  height:78px;
  display:flex}
.client-logo img{
  object-fit:contain;
  -webkit-user-select:none;
  user-select:none;
  filter:brightness(0)invert();
  width:auto;
  max-width:100%;
  height:auto;
  max-height:78px}
.client-item-cutout .client-logo img{
  filter:grayscale()invert()brightness(4)contrast(2);
  mix-blend-mode:screen}
.client-item-crest .client-logo img{
  filter:grayscale()invert()contrast(2);
  mix-blend-mode:screen}
.client-item-compact .client-logo img{
  max-height:72px}
.client-caption{
  letter-spacing:.025em;
  min-height:36px;
  font-size:12px;
  line-height:1.5}
.client-name{
  max-width:160px;
  font-size:22px;
  font-weight:300;
  line-height:1.15}
@media (max-width:1080px){
  .desktop-nav{
  display:none}
.mobile-menu-button{
  place-items:center;
  display:grid}
}
@media (max-width:760px){
  .clients-section .section-heading{
  margin-left:6%;
  margin-right:6%}
.client-item{
  gap:16px;
  width:201px;
  padding:28px 18px 20px}
.client-logo,.client-logo img{
  max-height:68px}
.client-item-compact .client-logo img{
  max-height:64px}
}
.references-hero>img{
  object-position:50% 45%}
.references-page .references-hero h1{
  color:#fff;
  margin:0}
.references-intro.section{
  padding-top:72px}
.references-back{
  min-height:44px;
  color:var(--home-copy);
  align-items:center;
  gap:12px;
  margin-bottom:56px;
  font-size:13px;
  display:inline-flex}
.references-back:is(:hover,:focus-visible){
  color:var(--cyan)}
.references-intro .section-heading h2{
  letter-spacing:-.045em;
  color:var(--cyan);
  font-size:clamp(40px,5.4vw,82px);
  font-weight:700;
  line-height:1.05}
.references-summary{
  max-width:360px;
  color:var(--home-copy);
  font-size:16px;
  line-height:1.65}
.reference-explorer[data-slot=tabs]{
  border-top:1px solid var(--home-rule);
  grid-template-columns:minmax(220px,.33fr) minmax(0,1fr);
  align-items:start;
  gap:5%;
  padding-top:40px;
  display:grid}
.reference-explorer .reference-index{
  background:0 0;
  border-radius:0;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  gap:0;
  width:100%;
  height:auto;
  padding:0;
  display:flex;
  position:sticky;
  top:110px}
.reference-explorer .reference-choice{
  border:0;
  border-bottom:1px solid var(--home-rule);
  white-space:normal;
  width:100%;
  height:auto;
  min-height:88px;
  color:var(--home-copy);
  text-align:left;
  border-radius:0;
  flex:none;
  justify-content:flex-start;
  gap:14px;
  padding:20px 12px;
  font-family:inherit;
  font-weight:300;
  transition:color .2s,background .2s;
  display:flex}
.reference-explorer .reference-choice:after{
  display:none}
.reference-explorer .reference-choice[data-active],.reference-explorer .reference-choice:is(:hover,:focus-visible){
  color:#fff;
  background:#31b4ea0d}
.reference-choice-number{
  color:var(--cyan);
  align-self:flex-start;
  padding-top:2px;
  font-size:12px}
.reference-choice-copy{
  flex-direction:column;
  flex:1;
  gap:5px;
  min-width:0;
  display:flex}
.reference-choice-copy strong{
  font-size:16px;
  line-height:1.35}
.reference-choice-copy>span{
  font-size:13px;
  line-height:1.5}
.reference-choice>svg{
  color:var(--cyan);
  opacity:0;
  transition:opacity .2s}
.reference-choice[data-active]>svg,.reference-choice:is(:hover,:focus-visible)>svg{
  opacity:1}
.reference-panels{
  min-width:0}
.reference-panel{
  animation:.4s ease-out reference-appear}
@keyframes reference-appear{
  0%{
  opacity:0;
  transform:translateY(12px)}
to{
  opacity:1;
  transform:translateY(0)}
}
.reference-panel-heading{
  margin-bottom:30px}
.home-page .reference-panel-heading .eyebrow{
  letter-spacing:.08em;
  font-size:13px}
.home-page .reference-panel-heading h2{
  letter-spacing:-.04em;
  margin-top:16px;
  font-size:clamp(30px,3.5vw,52px);
  line-height:1.1}
.reference-location{
  color:var(--home-copy);
  margin-top:16px;
  font-size:16px;
  line-height:1.5}
.reference-gallery{
  margin-bottom:32px}
.reference-gallery-photo{
  background:#202831}
.reference-gallery-photo img{
  object-fit:contain;
  width:100%;
  height:clamp(270px,35vw,490px);
  animation:.35s ease-out reference-appear}
.reference-gallery-controls{
  justify-content:flex-end;
  align-items:center;
  gap:10px;
  margin-top:16px;
  display:flex}
.reference-gallery-controls>span{
  color:var(--home-copy);
  margin-right:auto;
  font-size:13px}
.reference-gallery-controls .reference-photo-arrow{
  border:1px solid var(--home-rule);
  width:44px;
  height:44px;
  color:var(--cyan);
  background:0 0;
  border-radius:0;
  padding:0}
.reference-gallery-controls .reference-photo-arrow:is(:hover,:focus-visible){
  background:var(--cyan);
  color:var(--slate)}
.reference-story>p{
  color:var(--home-copy);
  font-size:16px;
  line-height:1.7}
.reference-story>p+p{
  margin-top:18px}
.reference-story>.reference-role{
  border-left:2px solid var(--cyan);
  color:#fff;
  padding-left:18px;
  font-size:14px}
.reference-facts{
  border-top:1px solid var(--home-rule);
  border-bottom:1px solid var(--home-rule);
  flex-wrap:wrap;
  gap:30px;
  margin:32px 0 20px;
  padding:24px 0;
  display:flex}
.reference-facts>div{
  flex:145px}
.reference-facts dt{
  color:var(--home-copy);
  font-size:13px;
  line-height:1.4}
.reference-facts dd{
  color:var(--cyan);
  margin:8px 0 0;
  font-size:clamp(20px,2vw,27px);
  font-weight:700;
  line-height:1.3}
@media (max-width:820px){
  .reference-explorer[data-slot=tabs]{
  flex-direction:column;
  gap:32px;
  padding-top:24px;
  display:flex}
.reference-explorer .reference-index{
  scrollbar-width:thin;
  scrollbar-color:#526675 transparent;
  flex-direction:row;
  height:auto;
  position:static;
  overflow-x:auto}
.reference-explorer .reference-choice{
  border-right:1px solid var(--home-rule);
  width:225px;
  min-height:94px;
  padding:18px 12px}
.reference-explorer .reference-choice[data-active]{
  border-bottom:2px solid var(--cyan)}
.reference-gallery-photo img{
  height:clamp(230px,65vw,420px)}
.reference-facts{
  gap:24px}
}
@media (prefers-reduced-motion:reduce){
  .reference-panel,.reference-gallery-photo img{
  animation:none}
}
.references-enquiry{
  color:var(--home-copy);
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:16px 32px;
  padding-top:36px;
  font-size:16px;
  display:flex}
@media (max-width:760px){
  .references-hero>img{
  object-position:43% 50%}
.references-intro.section{
  padding-top:48px}
.references-back{
  margin-bottom:36px}
}
.navigation-sheet{
  padding:32px;
  overflow-y:auto;
  background:var(--slate)!important;
  color:#fff!important;
  gap:0!important;
  width:min(100vw,480px)!important;
  max-width:480px!important}
.sheet-top{
  justify-content:space-between;
  align-items:center;
  display:flex}
.sheet-top img{
  height:auto}
.navigation-sheet nav{
  margin:48px 0}
.navigation-sheet nav a{
  letter-spacing:-.03em;
  border-top:1px solid #52616d;
  align-items:center;
  gap:17px;
  padding:24px 0;
  font-size:24px;
  display:flex}
.navigation-sheet nav a span{
  color:#afbec8;
  font-size:11px}
.navigation-sheet nav a svg{
  flex-shrink:0;
  margin-left:auto}
.navigation-sheet nav a:hover,.navigation-sheet nav a[aria-current]{
  color:var(--cyan)}
.navigation-sheet .mobile-relining-links{
  padding:0 0 18px 28px}
.navigation-sheet .mobile-relining-links a{
  letter-spacing:0;
  border-top:0;
  padding:13px 0;
  font-size:16px;
  line-height:1.45}
.navigation-sheet .mobile-relining-links a svg{
  color:var(--cyan)}
.menu-phone{
  align-items:center;
  gap:15px;
  font-size:25px;
  display:flex}
.menu-location{
  letter-spacing:.1em;
  color:#b0c0cb;
  margin-top:30px;
  font-size:11px}
.reveal-ready{
  opacity:0;
  transition:opacity .75s,transform .75s;
  transform:translateY(22px)}
.revealed{
  opacity:1;
  transform:translateY(0)}
@keyframes panel-in{
  0%{
  opacity:.25;
  transform:translateY(5px)}
to{
  opacity:1;
  transform:translateY(0)}
}
@keyframes scroll-nudge{
  0%,to{
  transform:translateY(0)}
50%{
  transform:translateY(5px)}
}
@media (min-width:1700px){
  .hero-content{
  padding-top:160px}
.hero-manifesto{
  font-size:161px}
.hero{
  height:980px;
  min-height:940px}
.hero-angle{
  clip-path:none}
}
@media (max-width:1190px){
  .header-identity{
  gap:24px}
.division-nav{
  gap:24px;
  padding-left:24px}
.desktop-nav{
  gap:24px}
.hero-manifesto{
  font-size:124px}
.hero-content{
  padding-top:156px}
.qualifications{
  grid-template-columns:repeat(4,1fr);
  gap:20px}
.qualifications>p{
  grid-column:1/-1}
.qualifications>div:nth-child(2){
  border-left:0;
  padding-left:0}
.qualifications strong{
  font-size:17px}
.division-card{
  min-height:650px}
}
@media (max-width:930px){
  .desktop-nav{
  display:none}
.mobile-menu-button{
  place-items:center;
  display:grid}
.hero-manifesto{
  font-size:117px}
.hero-angle{
  clip-path:none}
.hero-film{
  left:0}
.hero-description{
  font-size:14px}
.intro-grid{
  gap:6%}
.intro-grid>div>p{
  font-size:16px}
.contact-circle{
  width:100px;
  height:100px;
  top:150px;
  right:6%}
.contact-details{
  gap:20px;
  font-size:14px}
.division-intro{
  gap:7%}
.detail-feature{
  gap:6%}
.detail-feature>img{
  min-height:420px}
.technology-copy{
  padding-left:9%}
.technology-trigger{
  padding:20px 13px!important;
  font-size:14px!important}
.division-crosslink{
  flex-direction:column;
  align-items:flex-start}
}
@media (max-width:760px){
  html{
  scroll-padding-top:90px}
.site-header,.site-header.is-scrolled{
  gap:8px;
  height:78px;
  padding:0 4%}
.brand img{
  width:84px}
.header-identity{
  gap:12px}
.division-nav{
  gap:14px;
  padding-left:12px}
.division-nav-label{
  font-size:.75rem}
.division-nav-name{
  font-size:.875rem}
.mobile-menu-button{
  padding:7px}
.hero{
  height:100svh;
  min-height:780px;
  max-height:920px}
.hero-film{
  inset:0}
.hero-video-poster,.hero-video{
  object-position:center center}
.hero-shade{
  background:linear-gradient(#192630cc 0%,#1d2a35cc 35%,#202b3588 100%)}
.hero-angle{
  clip-path:none;
  background:linear-gradient(90deg,#272f38df,#272f3877 75%,#272f3844)}
.hero-content{
  padding:138px 9% 110px}
.hero-manifesto{
  font-size:clamp(96px,26vw,132px)}
.hero h1{
  letter-spacing:-.06em;
  line-height:.85}
.hero-since{
  left:1.71em}
.hero-description{
  letter-spacing:.01em;
  margin-top:37px;
  margin-bottom:19px;
  font-size:14px;
  line-height:1.6}
.hero-bottom{
  gap:12px;
  font-size:9px;
  bottom:22px;
  left:6%;
  right:6%}
.hero-bottom .scroll-link{
  gap:8px}
.hero-bottom .scroll-link svg{
  width:16px}
.section{
  padding:65px 6%}
.section h2{
  font-size:clamp(34px,8.3vw,48px)}
.eyebrow{
  letter-spacing:.1em;
  font-size:10px}
.section-heading{
  margin-bottom:32px;
  display:block}
.section-heading h2{
  margin-top:20px}
.section-heading>p{
  margin-top:24px;
  font-size:15px}
.division-cards{
  grid-template-columns:1fr;
  gap:0}
.division-card{
  grid-template-rows:24px 1fr auto;
  gap:28px;
  min-height:435px;
  padding:40px 8% 32px}
.division-card+.division-card{
  border-top:1px solid #ffffff20;
  border-left:0}
.division-marker{
  width:56px}
.division-card h3{
  font-size:var(--division-title-size)}
.division-card p{
  font-size:16px;
  line-height:1.65}
.division-card-link{
  font-size:14px}
.intro-grid{
  grid-template-columns:1fr;
  gap:28px;
  margin-top:28px}
.intro-grid>div>p{
  font-size:16px}
.intro-secondary{
  margin-top:20px}
.facts{
  margin-top:42px;
  padding-top:26px}
.facts>div{
  padding-left:17px}
.facts strong{
  font-size:38px}
.facts strong span{
  margin-left:3px;
  font-size:21px}
.facts p{
  margin-top:12px;
  padding-right:10px;
  font-size:11px;
  line-height:1.5}
.qualifications{
  grid-template-columns:1fr 1fr;
  gap:24px;
  padding:30px 6%}
.qualifications>p{
  font-size:10px}
.qualifications>div{
  padding-left:17px}
.qualifications>div:nth-child(4){
  border:0;
  padding-left:0}
.qualifications strong{
  font-size:17px}
.qualifications span{
  font-size:12px}
.contact-section{
  padding-bottom:38px}
.contact-section h2{
  margin:25px 0;
  font-size:clamp(37px,8.9vw,62px)}
.contact-section>div>p:not(.eyebrow){
  font-size:15px}
.contact-circle{
  width:60px;
  height:60px;
  top:auto;
  bottom:69px;
  right:6%}
.contact-circle svg{
  width:30px;
  height:30px}
.contact-details{
  grid-template-columns:1fr;
  gap:26px;
  margin-top:38px;
  padding-top:27px;
  font-size:16px}
.contact-details>a{
  max-width:360px;
  padding-right:35px}
.contact-details>a>svg{
  top:24px;
  right:4px}
.contact-details>div{
  padding-right:70px;
  font-size:14px}
.contact-details span{
  margin-bottom:7px;
  font-size:10px}
.site-footer{
  grid-template-columns:auto 1fr;
  gap:25px;
  padding:38px 6% 25px}
.footer-logo{
  width:115px}
.site-footer>p{
  font-size:11px}
.back-top{
  grid-column:1/-1;
  justify-content:space-between;
  margin-top:6px;
  font-size:12px}
.footer-divisions{
  flex-direction:column;
  gap:18px;
  font-size:12px}
.footer-bottom{
  padding-top:20px;
  font-size:10px;
  line-height:1.6;
  display:block}
.footer-bottom span{
  display:block}
.footer-bottom span+span{
  letter-spacing:.1em;
  margin-top:8px;
  font-size:9px}
.navigation-sheet{
  padding:25px}
.navigation-sheet nav{
  margin:35px 0}
.navigation-sheet nav a{
  gap:13px;
  padding:23px 0;
  font-size:22px}
.navigation-sheet .circle-button{
  width:42px;
  height:42px}
.division-hero{
  min-height:570px;
  padding:150px 6% 60px}
.breadcrumb{
  margin-bottom:45px}
.division-hero h1{
  margin:16px 0 22px;
  font-size:clamp(62px,14vw,96px)}
.division-hero-copy>p:last-child{
  max-width:440px;
  font-size:24px}
.division-hero:after{
  background:linear-gradient(90deg,#18252cdf,#18252c60),linear-gradient(#0000,#19282c88)}
.division-intro{
  grid-template-columns:1fr;
  gap:30px}
.division-intro>div:last-child>p{
  font-size:16px}
.division-jump-links a{
  padding:18px 0;
  font-size:13px}
.detail-feature{
  grid-template-columns:1fr;
  gap:34px}
.detail-feature>img{
  aspect-ratio:1.2;
  height:auto;
  min-height:0;
  max-height:none}
.detail-feature-copy h2{
  font-size:35px}
.detail-feature-copy>p:not(.eyebrow){
  font-size:15px}
.detail-feature.reverse>img,.detail-feature.reverse>.detail-feature-copy{
  order:initial}
.detail-list li{
  font-size:13px}
.industry-note{
  padding-top:0}
.industry-note>p{
  font-size:16px}
.technology-heading{
  padding-bottom:32px}
.technology-heading h2{
  font-size:clamp(31px,7.7vw,44px)}
.technology-heading>p:last-child{
  font-size:15px}
.technology-tab-list{
  scrollbar-width:thin;
  scrollbar-color:#7c99aa #273c4a;
  margin:0 6%;
  overflow-x:auto;
  width:88%!important}
.technology-trigger{
  flex:none;
  min-height:58px;
  padding:16px 20px!important;
  font-size:13px!important}
.technology-panel{
  grid-template-columns:1fr;
  margin:28px 6% 0;
  padding-bottom:60px}
.technology-photo{
  min-height:310px}
.technology-copy{
  padding:34px 0 0}
.technology-copy h3{
  max-width:430px;
  margin:22px 0;
  font-size:36px}
.technology-copy>p:not(.eyebrow){
  font-size:15px}
.technology-copy .technology-note{
  font-size:13px}
.image-label{
  padding:17px 20px;
  font-size:10px}
.division-crosslink{
  gap:25px}
.division-crosslink h2{
  font-size:37px}
}
@media (max-width:370px){
  .header-identity,.division-nav{
  gap:10px}
.hero-content{
  padding-top:137px;
  padding-left:8%}
.hero-manifesto{
  font-size:91px}
.hero-description{
  font-size:12px;
  line-height:1.7}
.hero{
  min-height:740px}
.facts strong{
  font-size:32px}
.facts p{
  font-size:10px}
.contact-details>a{
  font-size:14px}
.section h2{
  font-size:32px}
.button{
  gap:20px;
  font-size:13px}
.navigation-sheet nav a{
  font-size:19px}
.division-card{
  min-height:420px}
}
@media (prefers-reduced-motion:reduce){
  html{
  scroll-behavior:auto}
*,:before,:after{
  transition-duration:.01ms!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important}
.reveal-ready{
  opacity:1;
  transform:none}
.scroll-link svg{
  animation:none}
}
.technology-editorial{
  padding-top:44px}
.technology-editorial-layout{
  grid-template-columns:minmax(0,1fr);
  align-items:start;
  gap:clamp(35px,5vw,80px);
  display:grid}
.technology-index{
  min-width:0;
  position:static}
.technology-index>.eyebrow{
  color:var(--cyan);
  margin:0 0 25px;
  font-size:14px}
.technology-index-list{
  scrollbar-width:thin;
  gap:0;
  overflow-x:auto;
  background:0 0!important;
  border-radius:0!important;
  flex-direction:row!important;
  align-items:stretch!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  display:flex!important}
.technology-index-trigger{
  text-align:left;
  flex:1 0 170px;
  grid-template-columns:24px minmax(0,1fr) 19px;
  width:100%;
  min-height:97px;
  border:0!important;
  border-top:1px solid var(--home-rule)!important;
  color:var(--home-copy)!important;
  white-space:normal!important;
  box-shadow:none!important;
  background:0 0!important;
  border-radius:0!important;
  gap:9px!important;
  padding:20px 8px!important;
  display:grid!important}
.technology-index-trigger:last-child{
  border-bottom:0!important}
.technology-index-trigger strong{
  font-size:19px;
  font-weight:700;
  display:block}
.technology-index-trigger small{
  margin-top:7px;
  font-size:14px;
  font-weight:300;
  line-height:1.45;
  display:block}
.technology-index-number{
  color:var(--cyan);
  align-self:start;
  padding-top:3px;
  font-size:14px}
.technology-index-trigger>svg{
  color:var(--cyan);
  transition:transform .2s}
.technology-index-trigger[data-active]{
  border-top-color:var(--cyan)!important;
  background:#31b4ea0c!important}
.technology-index-trigger[data-active] strong,.technology-index-trigger:hover strong{
  color:var(--cyan)}
.technology-index-trigger[data-active]>svg{
  transform:rotate(45deg)}
:is(.technology-index-trigger:focus-visible,.cipp-step-trigger:focus-visible){
  outline-offset:-3px;
  outline:2px solid var(--cyan)!important}
.technology-stories{
  min-width:0}
.technology-story{
  animation:.35s panel-in}
.technology-story-cover{
  isolation:isolate;
  background:var(--slate);
  align-items:flex-end;
  min-height:clamp(380px,43vw,620px);
  margin:0 -5.55556%;
  padding:clamp(24px,4vw,64px) 5%;
  display:flex;
  position:relative;
  overflow:hidden}
.technology-story-cover:after{
  content:"";
  z-index:1;
  pointer-events:none;
  background:linear-gradient(#18252c0a 20%,#18252c6b 55%,#18252ce6 100%);
  position:absolute;
  inset:0}
.technology-story-cover h3{
  z-index:2;
  color:#fff;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  margin:0;
  font-size:clamp(58px,6.5vw,104px);
  font-weight:700;
  line-height:1.12;
  position:relative}
.technology-story-expansion{
  color:var(--cyan);
  letter-spacing:-.025em;
  font-size:clamp(24px,3vw,46px)}
.technology-story-cover>img{
  object-fit:cover;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.technology-story-intro{
  grid-template-columns:minmax(0,1fr) minmax(210px,.66fr);
  gap:8%;
  padding:45px 0;
  display:grid}
.technology-story-intro>div:only-child{
  grid-column:1/-1;
  max-width:740px}
.technology-story h4{
  letter-spacing:-.035em;
  color:#fff;
  font-size:clamp(25px,2.2vw,34px);
  font-weight:700;
  line-height:1.2}
.technology-story-intro h4{
  margin-bottom:22px}
.technology-story-intro p,.technology-story-end p{
  color:var(--home-copy);
  font-size:16px;
  line-height:1.75}
.technology-story-intro p+p{
  margin-top:18px}
.technology-evidence{
  border-left:1px solid var(--home-rule);
  padding-left:28px}
.technology-evidence>.eyebrow{
  color:var(--cyan);
  font-size:14px}
.technology-evidence .technology-evidence-value{
  letter-spacing:-.045em;
  color:var(--cyan);
  white-space:nowrap;
  margin:20px 0 10px;
  font-size:clamp(38px,4vw,64px);
  font-weight:700;
  line-height:1.1}
.technology-evidence-value>span{
  margin-left:7px;
  font-size:.4em;
  font-weight:300}
.technology-evidence-secondary{
  border-top:1px solid var(--home-rule);
  gap:8px;
  margin-top:23px;
  padding-top:23px;
  display:grid}
.technology-evidence-secondary strong{
  color:#fff;
  font-size:27px;
  font-weight:700}
.technology-evidence-secondary span{
  color:var(--home-copy);
  font-size:14px;
  line-height:1.6}
.cipp-process{
  border-top:1px solid var(--home-rule);
  padding:35px 0 0}
.cipp-process-heading{
  justify-content:space-between;
  align-items:baseline;
  gap:20px;
  margin-bottom:28px;
  display:flex}
.cipp-process-heading p{
  color:var(--home-copy);
  font-size:16px;
  line-height:1.6}
.cipp-process-tabs{
  gap:0!important}
.cipp-step-list{
  scrollbar-width:thin;
  scrollbar-color:var(--cyan) var(--slate);
  overflow-x:auto;
  background:0 0!important;
  border-radius:0!important;
  justify-content:flex-start!important;
  gap:0!important;
  width:100%!important;
  height:auto!important;
  padding:0!important;
  display:flex!important}
.cipp-step-trigger{
  text-align:left;
  flex-direction:column;
  flex:1 0 125px;
  min-height:112px;
  line-height:1.45;
  border:0!important;
  border-top:2px solid var(--home-rule)!important;
  box-shadow:none!important;
  color:var(--home-copy)!important;
  white-space:normal!important;
  background:0 0!important;
  border-radius:0!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:12px!important;
  padding:19px 14px!important;
  font-size:14px!important;
  font-weight:300!important;
  display:flex!important}
.cipp-step-trigger span{
  color:var(--cyan);
  font-size:22px;
  font-weight:700}
.cipp-step-trigger[data-active]{
  border-top-color:var(--cyan)!important;
  color:#fff!important;
  background:#31b4ea0c!important}
.cipp-process-body{
  grid-template-columns:minmax(180px,.85fr) minmax(240px,1fr) minmax(270px,1.1fr);
  align-items:center;
  gap:35px;
  padding:35px 0;
  display:grid}
.cipp-diagram{
  color:var(--home-copy);
  text-align:center;
  margin:0}
.cipp-diagram svg{
  width:100%;
  max-width:340px;
  height:auto;
  margin:auto}
.cipp-diagram figcaption{
  margin-top:5px;
  font-size:14px;
  line-height:1.6}
.cipp-liner-ring{
  transition:stroke-opacity .25s}
.cipp-step-panel{
  min-height:230px;
  animation:.25s panel-in}
.cipp-step-panel h5{
  color:#fff;
  letter-spacing:-.035em;
  margin-bottom:20px;
  font-size:clamp(23px,2vw,29px);
  font-weight:700;
  line-height:1.2}
.cipp-step-panel p{
  color:var(--home-copy);
  font-size:16px;
  line-height:1.75}
.cipp-process-link{
  color:var(--cyan);
  border-bottom:1px solid var(--home-rule);
  margin-top:22px;
  padding-bottom:7px;
  font-size:14px;
  line-height:1.65;
  display:inline-block}
.cipp-process-link:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:4px}
.technology-story-end{
  border-top:1px solid var(--home-rule);
  padding-top:34px}
.technology-story-end h4{
  margin-bottom:18px}
.technology-story-actions{
  flex-wrap:wrap;
  gap:20px 45px;
  margin-top:30px;
  display:flex}
.technology-story-actions .text-link{
  font-size:16px}
@media (max-width:1000px){
  .technology-editorial-layout{
  grid-template-columns:minmax(0,1fr);
  gap:35px}
.technology-index{
  position:static}
.technology-index-list{
  scrollbar-width:thin;
  scrollbar-color:var(--cyan) var(--slate);
  overflow-x:auto;
  flex-direction:row!important}
.technology-index-trigger{
  flex:1 0 165px;
  grid-template-columns:20px minmax(0,1fr);
  min-height:92px;
  padding:17px 12px!important}
.technology-index-trigger>svg{
  display:none}
.technology-index-trigger:last-child{
  border-bottom:0!important}
.technology-index-trigger strong{
  font-size:17px}
.technology-index-trigger small{
  font-size:14px}
}
@media (max-width:760px){
  .technology-story-cover{
  margin-inline:-6.81818%;
  padding-inline:6%}
}
@media (max-width:620px){
  .technology-editorial{
  padding-top:30px}
.technology-story-cover h3{
  font-size:clamp(48px,12vw,72px)}
.technology-story-cover{
  min-height:400px;
  padding-block:24px}
.technology-story-intro{
  grid-template-columns:minmax(0,1fr);
  gap:28px;
  padding:30px 0}
.technology-evidence{
  border-left:0;
  border-top:1px solid var(--home-rule);
  padding:27px 0 0}
.technology-evidence .technology-evidence-value{
  font-size:58px}
.technology-evidence-secondary{
  grid-template-columns:110px minmax(0,1fr);
  align-items:start}
.cipp-process-heading{
  flex-direction:column;
  gap:14px}
.cipp-process-body{
  grid-template-columns:minmax(0,1fr);
  gap:24px;
  padding-top:20px}
.cipp-diagram svg{
  max-width:260px}
.cipp-step-panel{
  min-height:210px}
.technology-story-actions{
  flex-direction:column;
  align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .technology-story,.cipp-step-panel{
  animation:none}
.cipp-liner-ring,.technology-index-trigger>svg{
  transition:none}
}
.technology-story-diagram{
  color:var(--home-copy);
  border:1px solid var(--home-rule);
  background:#31b4ea05;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  display:flex}
.technology-story-diagram svg{
  width:100%;
  height:auto;
  max-height:calc(100% - 50px)}
.technology-story-diagram figcaption{
  color:var(--cyan);
  letter-spacing:.06em;
  text-align:center;
  padding:8px 20px 16px;
  font-size:14px;
  line-height:1.5}
.references-empty{
  border-top:1px solid var(--home-rule);
  border-bottom:1px solid var(--home-rule);
  padding:38px 0}
.references-empty h2{
  color:#fff;
  font-size:clamp(26px,3vw,38px);
  font-weight:700;
  line-height:1.2}
.references-empty p{
  max-width:680px;
  color:var(--home-copy);
  margin-top:20px;
  font-size:16px;
  line-height:1.7}
.industry-service-list{
  grid-template-columns:repeat(2,minmax(0,1fr))}
.company-page .company-hero h1{
  color:#fff;
  margin:0}
.company-hero:after{
  background:linear-gradient(#272f381a 25%,#272f38d9)}
.company-history,.company-people{
  border-top:1px solid var(--home-rule)}
.company-history-tabs{
  display:block}
.company-history-list{
  background:0 0;
  border-radius:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  width:100%;
  height:auto;
  padding:0;
  display:grid}
.company-history-trigger{
  border:0;
  border-bottom:2px solid var(--home-rule);
  height:auto;
  color:var(--home-copy);
  white-space:normal;
  text-align:left;
  box-shadow:none;
  background:0 0;
  border-radius:0;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:24px 0;
  display:flex}
.company-history-trigger>span:first-child{
  letter-spacing:-.04em;
  font-size:clamp(26px,3vw,40px);
  font-weight:700;
  line-height:1.1}
.company-history-trigger>span:last-child{
  font-size:14px;
  font-weight:300}
.company-history-trigger:is([data-active],:hover){
  color:var(--cyan);
  border-bottom-color:var(--cyan);
  background:0 0}
.company-history-trigger:after{
  display:none}
.company-history-trigger:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:5px}
.company-history-panel{
  grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  align-items:start;
  gap:8%;
  min-height:360px;
  padding-top:56px;
  animation:.35s panel-in;
  display:grid}
.company-history-panel[hidden]{
  display:none}
.company-history-year{
  color:var(--cyan);
  letter-spacing:-.065em;
  font-size:clamp(76px,12vw,176px);
  font-weight:700;
  line-height:.95}
.company-history-copy h3{
  letter-spacing:-.04em;
  font-size:clamp(28px,3vw,42px);
  font-weight:700;
  line-height:1.15}
.company-history-copy p{
  color:var(--home-copy);
  margin-top:24px;
  font-size:16px;
  line-height:1.7}
.company-history-links{
  flex-wrap:wrap;
  gap:20px 40px;
  margin-top:30px;
  display:flex}
.company-history-links .text-link{
  font-size:14px}
.company-people .intro-grid{
  margin-top:0}
.company-certifications-link{
  color:var(--home-copy);
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:36px;
  font-size:16px;
  line-height:1.65;
  display:flex}
@media (max-width:760px){
  .company-history-panel{
  grid-template-columns:minmax(0,1fr);
  gap:30px;
  min-height:0;
  padding-top:36px}
.company-history-trigger{
  padding:20px 8px 20px 0}
.company-history-year{
  font-size:clamp(76px,21vw,140px)}
}
@media (prefers-reduced-motion:reduce){
  .company-history-panel{
  animation:none}
}
.industry-service-panel{
  animation:.35s panel-in}
.industry-service-panel .relining-service-copy>p+p{
  margin-top:22px}
.industry-activities{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5%;
  margin-top:48px;
  display:grid}
.industry-activities article{
  border-top:1px solid var(--home-rule);
  padding-top:24px}
.industry-activities article:before{
  content:"";
  background:var(--cyan);
  width:56px;
  height:2px;
  margin:-25px 0 25px;
  display:block}
.industry-activities h4{
  color:#fff;
  letter-spacing:-.035em;
  font-size:clamp(22px,2vw,29px);
  font-weight:700;
  line-height:1.2}
.industry-activities p{
  color:var(--home-copy);
  margin-top:20px;
  font-size:16px;
  line-height:1.7}
.industry-activities .text-link{
  margin-top:23px;
  font-size:14px}
@media (max-width:760px){
  .industry-service-list{
  grid-template-columns:minmax(0,1fr)}
.industry-explorer.section{
  padding-top:36px}
.industry-activities{
  grid-template-columns:minmax(0,1fr);
  gap:35px;
  margin-top:35px}
}
@media (prefers-reduced-motion:reduce){
  .industry-service-panel{
  animation:none}
}
.no-dig-intro{
  max-width:920px;
  margin-bottom:42px}
.no-dig-intro h2{
  margin:0 0 24px}
.no-dig-intro>p:not(.eyebrow){
  color:var(--home-copy);
  font-size:18px;
  line-height:1.7}
.no-dig-intro .technology-selection-hint{
  color:var(--cyan);
  margin-top:24px;
  font-size:16px}
.technology-editorial{
  position:relative}
.technology-index-trigger{
  min-width:0}
.cipp-process-photo{
  min-width:0;
  margin:0}
.cipp-process-photo img{
  object-fit:cover;
  width:100%;
  height:290px}
.cipp-process-photo figcaption{
  color:var(--home-copy);
  margin-top:14px;
  font-size:14px;
  line-height:1.5}
.services-page .relining-service-list{
  grid-template-columns:repeat(2,minmax(0,1fr))}
.services-panel-title{
  grid-column:1/-1;
  font-size:clamp(40px,4.5vw,72px);
  font-weight:700;
  line-height:1.06}
.services-page .division-hero h1{
  color:#fff;
  margin:0}
.reference-gallery-photo{
  isolation:isolate;
  min-height:clamp(440px,43vw,650px);
  position:relative;
  overflow:hidden}
.reference-gallery-photo>img{
  object-fit:cover;
  opacity:.56;
  z-index:-2;
  width:100%;
  height:100%;
  position:absolute;
  inset:0}
.reference-gallery-photo:after{
  content:"";
  z-index:-1;
  background:linear-gradient(#2028310d 5%,#202831ed);
  position:absolute;
  inset:0}
.reference-image-heading{
  min-height:inherit;
  flex-direction:column;
  justify-content:flex-end;
  margin:0;
  padding:clamp(26px,4vw,56px);
  display:flex}
.reference-gallery-empty{
  min-height:240px}
.reference-gallery-empty .reference-image-heading{
  padding-left:0;
  padding-right:0}
.reference-gallery-photo .reference-image-heading h2{
  max-width:850px;
  font-size:clamp(34px,4.3vw,66px)}
.reference-gallery-photo .reference-image-heading .eyebrow{
  color:var(--cyan)}
@media (max-width:1180px) and (min-width:761px){
  .header-identity{
  gap:18px}
.division-nav{
  padding-left:16px}
.division-nav-list{
  gap:12px}
.desktop-nav{
  gap:15px}
.site-header{
  padding-left:3%;
  padding-right:3%}
}
@media (max-width:1000px){
  .cipp-process-body{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cipp-step-copy{
  grid-column:1/-1}
.cipp-step-panel{
  min-height:160px}
}
@media (max-width:760px){
  .brand img{
  width:70px}
.site-header .header-identity{
  gap:9px;
  min-width:0}
.site-header .division-nav{
  padding-left:8px}
.division-nav-list{
  gap:8px}
.division-nav-label{
  font-size:10px}
.division-nav-name{
  font-size:12px}
.division-menu-trigger>svg{
  display:none}
.division-nav .division-menu-trigger{
  gap:0;
  padding:8px 0}
.mobile-menu-button{
  padding:5px}
.services-page .relining-service-list{
  grid-template-columns:1fr}
.services-panel-title{
  font-size:clamp(34px,8vw,54px)}
.reference-gallery-photo{
  min-height:430px}
.reference-gallery-empty{
  min-height:240px}
}
@media (max-width:620px){
  .cipp-process-body{
  grid-template-columns:minmax(0,1fr)}
.cipp-step-copy{
  grid-column:auto}
.cipp-process-photo img{
  height:270px}
.no-dig-intro>p:not(.eyebrow){
  font-size:16px}
}
.request-section{
  border-top:1px solid var(--home-rule)}
.request-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px 36px;
  display:grid}
.request-form label{
  color:var(--home-copy);
  gap:12px;
  font-size:16px;
  font-weight:300;
  display:grid}
.request-form :is(input,textarea){
  border:1px solid var(--home-rule);
  color:#fff;
  font:inherit;
  background:#ffffff03;
  border-radius:0;
  min-height:52px;
  padding:14px 16px;
  font-size:16px}
.request-form :is(input,textarea):focus{
  border-color:var(--cyan);
  outline:1px solid var(--cyan);
  box-shadow:none}
.request-wide{
  grid-column:1/-1}
.request-form-footer{
  justify-content:space-between;
  align-items:center;
  gap:28px;
  display:flex}
.request-form-footer p,.request-form-note,.request-status{
  color:var(--home-copy);
  font-size:14px;
  line-height:1.6}
.request-submit{
  background:var(--cyan);
  min-height:52px;
  color:var(--slate);
  border-radius:0;
  padding:14px 24px;
  font-size:16px}
.request-submit:hover{
  background:#75cff1}
.request-form-note a{
  color:var(--cyan);
  text-underline-offset:4px;
  text-decoration:underline}
@media (max-width:620px){
  .request-form{
  grid-template-columns:minmax(0,1fr)}
.request-form-footer{
  flex-direction:column;
  align-items:flex-start}
}
.language-switch{
  flex-shrink:0;
  align-items:center;
  gap:.45rem;
  margin-left:1rem;
  font-size:.875rem;
  display:flex}
.language-switch a{
  color:var(--color-sapi-sky,#31b4ea);
  padding:.5rem .2rem;
  font-weight:300}
.language-switch a[aria-current]{
  color:#fff;
  border-bottom:1px solid #31b4ea;
  font-weight:700}
.language-switch span{
  color:#ffffff59}
.language-switch a:focus-visible{
  outline-offset:3px;
  outline:2px solid #31b4ea}
.footer-legal{
  grid-column:1/-1;
  gap:1.5rem;
  padding-top:1rem;
  font-size:.875rem;
  display:flex}
.footer-legal a:hover,.legal-copy a:hover{
  color:#31b4ea}
.request-email{
  color:#31b4ea;
  overflow-wrap:anywhere;
  border-block:1px solid #fff3;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  max-width:900px;
  padding:1.6rem 0;
  font-size:clamp(1rem,2.7vw,2.4rem);
  font-weight:700;
  display:flex}
.request-email svg{
  flex-shrink:0}
.request-email-note{
  color:#e0e4e7;
  max-width:800px;
  margin-top:1.3rem;
  font-size:1rem;
  line-height:1.7}
.request-email-note a{
  text-underline-offset:.25rem;
  text-decoration:underline}
.legal-main{
  padding-top:clamp(160px,17vw,240px);
  padding-bottom:100px}
.legal-main h1{
  margin:1.7rem 0;
  font-size:clamp(3.5rem,8vw,8rem);
  font-weight:700;
  line-height:1.05}
.legal-date{
  color:#aeb9c4;
  font-size:.875rem}
.legal-copy{
  max-width:960px;
  margin-top:3rem;
  font-size:1.0625rem;
  line-height:1.8}
.legal-copy section{
  border-top:1px solid #ffffff29;
  padding:2.2rem 0 1.5rem}
.legal-copy h2{
  margin-bottom:1.3rem;
  font-size:clamp(1.45rem,2.5vw,2rem);
  font-weight:700;
  line-height:1.25}
.legal-copy p{
  color:#e0e4e7;
  margin-bottom:1rem}
.legal-copy a{
  color:#31b4ea;
  text-underline-offset:.2rem;
  overflow-wrap:anywhere;
  text-decoration:underline}
.legal-review{
  background:#31b4ea0a;
  border-left:2px solid #31b4ea;
  margin:1.5rem 0 2.5rem;
  padding:1rem 1.5rem;
  font-size:1rem}
.legal-review strong{
  font-weight:700}
.legal-review p{
  margin:.4rem 0 0}
html[lang=en] .division-card h3{
  font-size:clamp(2rem,3.3vw,3.7rem)}
@media (max-width:1100px){
  .site-header{
  gap:.65rem}
}
@media (max-width:1080px){
  .language-switch{
  margin-left:auto}
}
@media (max-width:620px){
  .language-switch{
  gap:.1rem;
  margin-left:.25rem;
  font-size:.8rem}
.header-identity{
  gap:.6rem}
.language-switch a{
  padding:.5rem .15rem}
.legal-main{
  padding-top:150px}
}
.certificate-language-note{
  color:#aeb9c4;
  margin-top:1.2rem;
  font-size:.875rem;
  line-height:1.6}
html[lang=en] .division-menu-name{
  flex-direction:column-reverse;
  display:flex}
@media (max-width:620px){
  .site-header .division-nav{
  display:none}
.site-header .header-identity{
  flex:1}
.site-header .brand img{
  width:100px}
.language-switch{
  gap:.35rem;
  margin-right:.5rem;
  font-size:.875rem}
}
.cipp-process-body{
  --process-media-height:290px;
  --process-column-gap:35px;
  align-items:start;
  gap:var(--process-column-gap)}
.cipp-diagram,.cipp-process-photo{
  grid-template-rows:var(--process-media-height) auto;
  align-content:start;
  row-gap:16px;
  min-width:0;
  display:grid}
.cipp-diagram svg{
  height:var(--process-media-height);
  width:100%;
  max-width:360px;
  margin:0 auto;
  display:block}
.cipp-process-photo img{
  height:var(--process-media-height);
  display:block}
.cipp-diagram figcaption,.cipp-process-photo figcaption{
  text-align:left;
  color:var(--home-copy);
  margin:0;
  font-size:14px;
  font-weight:300;
  line-height:1.6}
.cipp-process-photo,.cipp-step-copy{
  position:relative}
.cipp-process-photo:before,.cipp-step-copy:before{
  content:"";
  top:0;
  bottom:0;
  left:calc(var(--process-column-gap) / -2);
  pointer-events:none;
  background:linear-gradient(#31b4ea70,#31b4ea16);
  width:1px;
  transition:background .2s;
  position:absolute}
.cipp-step-copy{
  padding-top:14px}
.cipp-process-photo:focus-within:before,.cipp-step-copy:focus-within:before{
  background:var(--cyan)}
.cipp-photo-open{
  width:100%;
  height:var(--process-media-height);
  background:var(--slate);
  cursor:zoom-in;
  text-align:left;
  border:0;
  padding:0;
  display:block;
  position:relative;
  overflow:hidden}
.cipp-photo-expand{
  color:#fff;
  background:#202831e8;
  border:1px solid #31b4ea55;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  font-size:14px;
  line-height:1.2;
  transition:background .2s,border-color .2s;
  display:flex;
  position:absolute;
  bottom:12px;
  right:12px}
.cipp-photo-open:focus-visible{
  outline:2px solid var(--cyan);
  outline-offset:5px}
.cipp-photo-dialog{
  background:var(--slate);
  color:#fff;
  border:1px solid #31b4ea55;
  border-radius:0;
  gap:16px;
  width:min(1100px,100vw - 32px);
  max-height:calc(100svh - 32px);
  padding:48px 24px 24px;
  overflow:auto;
  max-width:none!important}
.cipp-photo-dialog>img{
  object-fit:contain;
  width:100%;
  height:auto;
  max-height:calc(100svh - 160px);
  display:block}
.cipp-photo-dialog [data-slot=dialog-description]{
  color:var(--home-copy);
  text-align:center;
  font-size:14px}
.cipp-photo-close{
  color:#fff;
  cursor:pointer;
  place-items:center;
  width:36px;
  height:36px;
  display:grid;
  position:absolute;
  top:8px;
  right:10px}
.cipp-photo-close:focus-visible{
  outline:2px solid var(--cyan)}
@media (hover:hover){
  .cipp-photo-open:hover .cipp-photo-expand{
  border-color:var(--cyan);
  background:#164b64}
.cipp-process-photo:hover:before,.cipp-step-copy:hover:before{
  background:var(--cyan)}
}
@media (max-width:1000px){
  .cipp-step-copy{
  padding-top:24px}
.cipp-step-copy:before{
  background:#31b4ea55;
  width:auto;
  height:1px;
  inset:0 0 auto}
}
@media (max-width:620px){
  .cipp-process-body{
  --process-media-height:270px;
  --process-column-gap:28px}
.cipp-process-photo:before{
  width:auto;
  height:1px;
  inset:-14px 0 auto}
.cipp-photo-dialog{
  padding:48px 16px 20px}
}
@media (prefers-reduced-motion:reduce){
  .cipp-process-photo:before,.cipp-step-copy:before,.cipp-photo-expand{
  transition:none}
}
@keyframes spin{
  to{
  transform:rotate(360deg)}
}
@keyframes pulse{
  50%{
  opacity:.5}
}
@keyframes enter{
  0%{
  opacity:var(--tw-enter-opacity,1);
  transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
  filter:blur(var(--tw-enter-blur,0))}
}
@keyframes exit{
  to{
  opacity:var(--tw-exit-opacity,1);
  transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));
  filter:blur(var(--tw-exit-blur,0))}
}
@keyframes accordion-down{
  0%{
  height:0}
to{
  height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}
}
@keyframes accordion-up{
  0%{
  height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}
to{
  height:0}
}
@keyframes caret-blink{
  0%,70%,to{
  opacity:1}
20%,50%{
  opacity:0}
}
@keyframes scroll-fade-reveal-b{
  0%{
  --scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}
to{
  --scroll-fade-b:0px}
}
@keyframes scroll-fade-reveal-s{
  0%{
  --scroll-fade-s:0px}
to{
  --scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}
}
@keyframes scroll-fade-reveal-e{
  0%{
  --scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}
to{
  --scroll-fade-e:0px}
}
@keyframes tw-shimmer{
  0%{
  background-position:100% 0}
to{
  background-position:0 0}
}

.sheet-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  background:#0d151cbf;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s}
.sheet-overlay.is-open{
  opacity:1;
  visibility:visible}
.navigation-sheet{
  position:fixed;
  z-index:130;
  inset:0 0 0 auto;
  transform:translateX(100%);
  visibility:hidden;
  transition:transform .3s ease,visibility .3s;
  display:flex;
  flex-direction:column}
.navigation-sheet.is-open{
  transform:translateX(0);
  visibility:visible}
body.menu-aperto{
  overflow:hidden}
@media (prefers-reduced-motion:reduce){
  .navigation-sheet{transition:none}
}

.division-nav-list > li{
  position:relative}
.division-menu-content{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  z-index:140;
  max-height:calc(100vh - 96px);
  max-height:calc(100dvh - 96px);
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:var(--home-rule) transparent;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .18s,transform .18s,visibility .18s}
.division-menu-content.is-open{
  opacity:1;
  visibility:visible;
  transform:translateY(0)}
.division-menu-content .division-submenu-link,
.division-menu-content .division-menu-secondary a{
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  text-align:left}

@media (min-width:1001px){
  .division-menu-content:has(>.division-submenu-link:nth-of-type(5)){
  width:min(620px,100vw - 24px);
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:14px;
  align-content:start}
.division-menu-content:has(>.division-submenu-link:nth-of-type(5)) .division-menu-secondary{
  grid-column:1/-1}
.division-menu-content:has(>.division-submenu-link:nth-of-type(5)) .division-submenu-link{
  gap:12px}
}

.sapi-lightbox{
  position:fixed;
  inset:0;
  z-index:150;
  display:grid;
  place-items:center;
  gap:18px;
  padding:5vmin;
  background:#0d151cf2}
.sapi-lightbox figure{
  max-width:min(1100px,92vw);
  display:grid;
  gap:14px}
.sapi-lightbox img{
  width:100%;
  height:auto;
  max-height:78vh;
  object-fit:contain}
.sapi-lightbox figcaption{
  color:var(--home-copy,#e0e4e7);
  font-size:14px;
  font-weight:300}
.sapi-lightbox__chiudi{
  position:absolute;
  top:4vmin;
  right:4vmin;
  color:#fff}

[data-marquee]{
  scroll-behavior:auto}
[data-marquee-pausa=true]{
  scroll-behavior:smooth}

[data-stato=play] .hero-video-toggle__play,
[data-stato=pausa] .hero-video-toggle__pausa{
  display:none}

.cipp-step-wrap{
  display:contents}

.intro:has(+ .company-numbers),
.company-people:has(+ .company-numbers){
  padding-bottom:0}

.division-nav-list{
  display:flex;
  flex:1;
  align-items:center;
  justify-content:center;
  list-style:none}
.division-nav .division-menu-trigger{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content}
.numbers-arrow,
.client-motion-control,
.reference-photo-arrow,
.cipp-photo-open,
.certificate-document-link,
.references-back{
  display:inline-flex;
  align-items:center;
  justify-content:center}
.certificate-document-link,
.references-back{
  justify-content:flex-start;
  gap:8px}

.company-numbers{
  margin-left:5%;
  margin-right:5%;
  margin-bottom:95px}

.legal-copy h3{
  color:#fff;
  margin:2rem 0 .9rem;
  font-size:1.0625rem;
  font-weight:700;
  letter-spacing:.02em}
.legal-copy ul{
  color:#e0e4e7;
  margin:0 0 1.2rem;
  padding:0;
  list-style:none}
.legal-copy ul li{
  position:relative;
  margin-bottom:.6rem;
  padding-left:1.4rem}
.legal-copy ul li:before{
  content:"";
  position:absolute;
  top:.72em;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--cyan)}
.legal-copy b,.legal-copy strong{
  color:#fff;
  font-weight:700}
.legal-table{
  width:100%;
  margin:.5rem 0 1.4rem;
  border-collapse:collapse;
  font-size:.9375rem;
  line-height:1.6}
.legal-table th,
.legal-table td{
  border-bottom:1px solid #ffffff1f;
  padding:.85rem 1.2rem .85rem 0;
  text-align:left;
  vertical-align:top}
.legal-table th{
  color:#fff;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  border-bottom-color:#ffffff3d;
  white-space:nowrap}
.legal-table td{
  color:#e0e4e7}
.legal-table tbody tr:last-child th,
.legal-table tbody tr:last-child td{
  border-bottom:0}
@media (max-width:720px){
  .legal-table,
  .legal-table thead,
  .legal-table tbody,
  .legal-table tr,
  .legal-table th,
  .legal-table td{
  display:block;
  width:100%}
.legal-table thead{
  display:none}
.legal-table tr{
  border-bottom:1px solid #ffffff1f;
  padding:1rem 0}
.legal-table tr:last-child{
  border-bottom:0}
.legal-table td{
  border:0;
  padding:.2rem 0}
.legal-table td:before{
  content:attr(data-voce);
  display:block;
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:.15rem}
.legal-table td+td{
  margin-top:.7rem}
}

.footer-bottom .footer-camerali{
  display:inline-block;
  margin-left:14px;
  opacity:.85}
@media (max-width:760px){
  .footer-bottom .footer-camerali{
  display:block;
  margin-left:0;
  margin-top:4px}
}

.metric-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:2px;
  color:var(--cyan);
  background:#31b4ea1f;
  border:1px solid #31b4ea59;
  border-radius:3px}
.metric-icon svg{
  width:24px;
  height:24px;
  stroke-width:1.9}
.company-metric{
  justify-content:flex-start}

.relining-service-number,
.technology-index-number{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px}
.service-icon,
.tech-icon{
  width:26px;
  height:26px;
  color:var(--cyan);
  stroke-width:1.9;
  flex:none}
.technology-index-trigger[data-active] .tech-icon,
.relining-service-trigger[data-active] .service-icon{
  color:currentColor}

@media (max-width:760px){
  .metric-icon{width:40px;height:40px}
  .metric-icon svg{width:22px;height:22px}
  .service-icon,.tech-icon{width:24px;height:24px}
}
