:root{
  --transition-fast:180ms ease;
  --transition-base:260ms cubic-bezier(.22,.61,.36,1)
}
.home-shell,.footer-shell{
  width:min(100%,1520px);
  margin-inline:auto;
  padding-inline:clamp(20px,3vw,48px)
}
.home-section{
  padding:clamp(72px,7vw,112px) 0
}
.section-kicker{
  margin:0 0 14px;
  color:#d63b12;
  font-size:11px;
  font-weight:700;
  letter-spacing:.13em
}
.home-section h2,.applications-home h2{
  margin:0;
  color:#25333a;
  font-size:clamp(42px,4.2vw,66px);
  font-weight:600;
  line-height:1;
  letter-spacing:-.045em
}
.home-section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:48px;
  margin-bottom:40px
}
.home-section-head>div>p:last-child,.applications-head>p{
  max-width:520px;
  margin:18px 0 0;
  color:#5c666a;
  font-size:17px
}
.home-section-head-inline>p{
  max-width:440px;
  margin:0 0 5px;
  color:#5c666a
}
.section-link{
  display:inline-flex;
  gap:14px;
  align-items:center;
  padding-bottom:5px;
  border-bottom:1px solid currentColor;
  font-size:14px;
  font-weight:700
}
.section-link:hover{
  color:#d63b12
}
.home-search{
  width:min(560px,47%);
  display:flex;
  border-bottom:2px solid #25333a
}
.home-search input{
  min-width:0;
  flex:1;
  padding:14px 0;
  border:0;
  background:transparent;
  font-size:16px;
  outline:0
}
.home-search button{
  border:0;
  background:transparent;
  font-weight:700
}
.category-mosaic{
  display:grid;
  grid-template-columns:1.25fr .75fr 1fr;
  grid-template-rows:280px 240px 260px;
  gap:10px
}
.category-tile{
  position:relative;
  overflow:hidden;
  background:var(--tile-tone);
  color:#fff
}
.category-tile-1{
  grid-row:span 2
}
.category-tile-4{
  grid-column:3;
  grid-row:1/span 2
}
.category-tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--image-position);
  transition:transform var(--transition-base)
}
.category-tile:nth-child(2n) img{
  filter:saturate(.72) brightness(.78)
}
.category-tile:nth-child(3n) img{
  filter:saturate(.6) brightness(.68)
}
.category-tile-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(18,25,28,.78),transparent 62%)
}
.category-tile-copy{
  position:absolute;
  inset:auto 24px 22px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:7px 16px
}
.category-tile-copy strong{
  font-size:clamp(20px,2vw,30px);
  font-weight:600
}
.category-tile-copy small{
  max-width:330px;
  font-size:13px;
  line-height:1.4;
  color:rgba(255,255,255,.78)
}
.category-tile-copy b{
  grid-column:2;
  grid-row:1/span 2;
  font-size:24px;
  font-weight:400;
  transition:transform var(--transition-fast)
}
.category-tile:hover img{
  transform:scale(1.025)
}
.category-tile:hover b{
  transform:translateX(5px)
}
.surface-showcase{
  background:#ece8df
}
.surface-grid{
  display:grid;
  grid-template-columns:1.35fr repeat(3,1fr);
  gap:18px;
  align-items:start
}
.surface-card:nth-child(3){
  margin-top:52px
}
.surface-image{
  position:relative;
  height:360px;
  overflow:hidden;
  background:var(--surface)
}
.surface-card-featured .surface-image{
  height:500px
}
.surface-grain{
  position:absolute;
  inset:0;
  background:repeating-linear-gradient(91deg,transparent 0 22px,rgba(45,31,20,.07) 23px 24px),linear-gradient(120deg,rgba(255,255,255,.22),transparent 55%,rgba(20,15,12,.12));
  transition:transform var(--transition-base)
}
.surface-open{
  position:absolute;
  right:16px;
  top:16px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  background:#f3f0e9;
  color:#25333a;
  font-size:18px;
  transition:transform var(--transition-fast)
}
.surface-card:hover .surface-grain{
  transform:scale(1.02)
}
.surface-card:hover .surface-open{
  transform:translate(3px,-3px)
}
.surface-copy{
  display:grid;
  grid-template-columns:1fr auto;
  padding-top:15px
}
.surface-copy p{
  grid-column:1/-1;
  margin:0 0 5px;
  color:#6d7475;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase
}
.surface-copy h3{
  margin:0;
  font-size:20px;
  font-weight:600
}
.surface-copy>span{
  font-size:12px;
  color:#687074
}
.brand-world{
  background:#f3f0e9
}
.brand-composition{
  height:680px;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:1fr 1fr;
  gap:10px
}
.brand-panel{
  position:relative;
  overflow:hidden;
  color:#fff
}
.brand-panel-1{
  grid-row:1/span 2
}
.brand-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--transition-base)
}
.brand-panel-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(17,23,26,.92) 0%,rgba(17,23,26,.38) 55%,rgba(17,23,26,.12) 100%)
}
.brand-panel-copy{
  position:absolute;
  inset:auto 28px 26px;
  display:flex;
  align-items:flex-start;
  flex-direction:column
}
.brand-panel-copy b{
  font-size:clamp(26px,3vw,48px);
  line-height:1
}
.brand-panel-copy em{
  max-width:440px;
  margin:10px 0 16px;
  font-size:14px;
  font-style:normal;
  color:rgba(255,255,255,.76)
}
.brand-panel-copy strong{
  font-size:13px
}
.brand-panel:hover img{
  transform:scale(1.02)
}
.brand-panel:focus-visible,.brand-strip a:focus-visible{
  outline:2px solid #f27b53;
  outline-offset:3px
}
.brand-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:10px;
  background:#25333a
}
.brand-strip a{
  display:flex;
  justify-content:space-between;
  padding:19px 22px;
  border-right:1px solid rgba(255,255,255,.15);
  color:#fff;
  font-size:14px;
  font-weight:600
}
.brand-strip a:hover{
  color:#f27b53
}
.applications-home{
  padding:clamp(72px,7vw,108px) 0;
  background:#25333a;
  color:#fff
}
.applications-home h2{
  color:#fff
}
.applications-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:50px;
  margin-bottom:36px
}
.applications-head>p{
  color:#bfc5c6
}
.applications-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  grid-template-rows:minmax(520px,64vh) auto
}
.applications-stage figure{
  grid-column:1/-1;
  grid-row:1;
  margin:0;
  overflow:hidden
}
.applications-stage figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity .18s
}
.applications-copy{
  grid-column:2;
  grid-row:1;
  z-index:2;
  align-self:end;
  padding:32px;
  background:#f3f0e9;
  color:#25333a
}
.applications-copy p{
  margin:0 0 14px;
  color:#d63b12;
  font-size:30px;
  font-weight:700
}
.applications-copy span{
  display:block;
  font-size:14px;
  line-height:1.55
}
.applications-copy a{
  display:inline-block;
  margin-top:22px;
  border-bottom:1px solid;
  font-size:13px;
  font-weight:700
}
.application-tabs{
  grid-column:1/-1;
  grid-row:2;
  display:flex;
  overflow-x:auto
}
.application-tabs button{
  flex:1;
  min-width:130px;
  padding:20px 15px;
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  color:#bfc5c6;
  font-weight:600;
  position:relative;
  transition:color var(--transition-fast)
}
.application-tabs button:after{
  content:"";
  position:absolute;
  left:15px;
  right:15px;
  bottom:0;
  height:3px;
  background:#d63b12;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform var(--transition-base)
}
.application-tabs button:hover,.application-tabs button.is-active{
  color:#fff
}
.application-tabs button:hover:after,.application-tabs button.is-active:after{
  transform:scaleX(1)
}
.application-tabs button:focus-visible{
  outline:2px solid #f27b53;
  outline-offset:-4px
}
.corporate-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  align-items:center;
  gap:clamp(48px,8vw,120px)
}
.corporate-copy h2{
  max-width:580px
}
.corporate-copy>p:not(.section-kicker){
  max-width:510px;
  margin:26px 0;
  color:#5c666a;
  font-size:17px;
  line-height:1.65
}
.corporate-grid figure{
  height:560px;
  margin:0;
  overflow:hidden
}
.corporate-grid img{
  width:100%;
  height:100%;
  object-fit:cover
}
.knowledge-home{
  background:#ece8df
}
.knowledge-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  grid-template-rows:1fr 1fr;
  gap:18px
}
.knowledge-card-1{
  grid-row:1/span 2
}
.knowledge-card>a{
  height:100%;
  display:grid;
  grid-template-columns:42% 1fr;
  background:#f6f3ed
}
.knowledge-card-1>a{
  display:block
}
.knowledge-image{
  height:100%;
  min-height:220px;
  overflow:hidden
}
.knowledge-card-1 .knowledge-image{
  height:420px
}
.knowledge-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--transition-base)
}
.knowledge-card>a>div:last-child{
  position:relative;
  padding:24px
}
.knowledge-card p{
  margin:0 0 12px;
  color:#d63b12;
  font-size:10px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase
}
.knowledge-card h3{
  margin:0 0 20px;
  font-size:clamp(20px,2vw,30px);
  font-weight:600;
  line-height:1.15
}
.knowledge-card time{
  font-size:11px;
  color:#6b7476
}
.knowledge-card div>span{
  position:absolute;
  right:24px;
  bottom:20px;
  font-size:22px;
  transition:transform var(--transition-fast)
}
.knowledge-card:hover img{
  transform:scale(1.02)
}
.knowledge-card:hover div>span{
  transform:translateX(4px)
}
.knowledge-card>a:focus-visible{
  outline:2px solid #d63b12;
  outline-offset:3px
}
.contact-cta-home{
  min-height:600px;
  display:grid;
  grid-template-columns:66% 34%;
  background:#d63b12;
  color:#fff
}
.contact-cta-copy{
  padding:clamp(60px,7vw,110px) max(30px,calc((100vw - 1520px)/2 + 48px))
}
.contact-cta-home .section-kicker{
  color:#fff
}
.contact-cta-home h2{
  margin:0;
  font-size:clamp(42px,4.4vw,70px);
  font-weight:650;
  line-height:.95;
  letter-spacing:-.05em
}
.contact-cta-home h2 span{
  display:block;
  white-space:nowrap
}
.contact-cta-copy>p:not(.section-kicker){
  max-width:560px;
  margin:26px 0;
  font-size:17px
}
.contact-cta-copy>div{
  display:flex;
  align-items:center;
  gap:26px
}
.cta-primary{
  padding:15px 20px;
  background:#25333a;
  font-weight:700
}
.cta-secondary{
  padding-bottom:4px;
  border-bottom:1px solid;
  font-weight:700
}
.contact-cta-home figure{
  margin:0;
  overflow:hidden
}
.contact-cta-home figure img{
  width:100%;
  height:100%;
  object-fit:cover
}
@media(max-width:1024px){
  .home-section-head,.applications-head{
    align-items:start;
    flex-direction:column
  }
  .home-search{
    width:100%
  }
  .category-mosaic{
    grid-template-columns:1fr 1fr;
    grid-template-rows:repeat(4,260px)
  }
  .category-tile-1,.category-tile-4{
    grid-row:auto
  }
  .category-tile-7{
    grid-column:1/-1
  }
  .surface-grid{
    grid-template-columns:1fr 1fr
  }
  .surface-card:nth-child(3){
    margin:0
  }
  .surface-card-featured .surface-image,.surface-image{
    height:400px
  }
  .brand-composition{
    height:760px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1.2fr .8fr
  }
  .brand-panel-1{
    grid-column:1/-1;
    grid-row:auto
  }
  .applications-stage{
    grid-template-columns:1fr
  }
  .applications-copy{
    grid-column:1;
    max-width:360px
  }
  .corporate-grid{
    grid-template-columns:1fr
  }
  .corporate-grid figure{
    height:500px
  }
  .knowledge-grid{
    grid-template-columns:1fr
  }
  .knowledge-card-1{
    grid-row:auto
  }
  .contact-cta-home{
    grid-template-columns:1fr
  }
  .contact-cta-home h2 span{
    white-space:normal
  }
  .contact-cta-home figure{
    height:360px
  }
}
@media(max-width:768px){
  .home-section{
    padding:64px 0
  }
  .home-section-head{
    margin-bottom:30px
  }
  .category-mosaic{
    grid-template-columns:1fr;
    grid-template-rows:repeat(7,250px)
  }
  .category-tile-7{
    grid-column:auto
  }
  .surface-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory
  }
  .surface-card{
    min-width:78vw;
    scroll-snap-align:start
  }
  .surface-card-featured .surface-image,.surface-image{
    height:390px
  }
  .surface-card:hover .surface-grain,.surface-card:hover .surface-open,.knowledge-card:hover img,.knowledge-card:hover div>span{
    transform:none
  }
  .brand-composition{
    height:auto;
    display:block
  }
  .brand-panel{
    display:block;
    height:420px;
    margin-bottom:10px
  }
  .brand-strip{
    grid-template-columns:1fr 1fr
  }
  .applications-stage{
    display:block
  }
  .applications-stage figure{
    height:430px
  }
  .applications-copy{
    margin:-70px 18px 0;
    position:relative
  }
  .application-tabs{
    margin-top:20px
  }
  .corporate-grid figure{
    height:380px
  }
  .knowledge-card>a,.knowledge-card-1>a{
    display:block
  }
  .knowledge-image,.knowledge-card-1 .knowledge-image{
    height:300px
  }
  .contact-cta-home{
    min-height:0
  }
  .contact-cta-copy{
    padding:64px 24px
  }
}
@media(prefers-reduced-motion:reduce){
  .category-tile img,.category-tile-copy b,.surface-grain,.surface-open,.brand-panel img,.application-tabs button,.application-tabs button:after,.knowledge-image img,.knowledge-card div>span{
    transition:none
  }
}
@media(max-width:420px){
  .home-section h2,.applications-home h2{
    font-size:40px
  }
  .category-mosaic{
    grid-template-rows:repeat(7,225px)
  }
  .brand-panel{
    height:350px
  }
  .brand-strip{
    grid-template-columns:1fr
  }
  .applications-stage figure{
    height:330px
  }
  .applications-copy{
    padding:24px
  }
  .contact-cta-home h2{
    font-size:42px
  }
  .contact-cta-copy>div{
    align-items:flex-start;
    flex-direction:column
  }
}
