:root{
  --black:#10100f;
  --ink:#171715;
  --white:#ffffff;
  --stone:#f8f7f3;
  --warm:#ebe7dd;
  --hover-gray:#f7f7f5;
  --nav-hover:#fbfbfa;
  --guide-gray:#fafafa;
  --line-soft:rgba(16,16,15,.12);
  --line-strong:rgba(16,16,15,.22);
  --text:#111111;
  --muted:#57544e;
  --line:rgba(0,0,0,.14);
  --max:1480px;
  --ease:cubic-bezier(.22,1,.36,1);
  --type-hero:78px;
  --type-feature:52px;
  --type-section:46px;
  --type-card:26px;
  --measure-hero:980px;
  --measure-feature:1040px;
  --measure-section:940px;
}

.materials-hero{
  padding-top:104px;
  padding-bottom:78px;
}
.materials-page .page-hero-inner h1,
.material-detail-hero h1{
  max-width:14em;
  font-weight:560;
}
.materials-page .page-hero-inner p:not(.kicker){
  max-width:76ch;
}
.material-index-section,
.finish-index-section,
.material-support-section,
.material-detail-intro,
.material-process-section,
.material-use-section,
.material-related-section{
  padding:86px 0;
}
.material-card-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;
}
.material-card{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:100%;
  background:#fff;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  overflow:hidden;
  transition:transform .28s var(--ease), background .28s var(--ease);
}
.material-card:hover{
  transform:translateY(-4px);
  background:#f4f4f1;
}
.material-card figure{
  margin:0;
  aspect-ratio:1.14 / 1;
  overflow:hidden;
  background:#e8e6df;
}
.material-card img,
.finish-list img,
.material-related-grid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}
.material-card div{
  display:flex;
  flex-direction:column;
  padding:22px;
}
.material-card span,
.finish-list span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.material-card h2{
  margin:16px 0 0;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.material-card p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.materials-page .material-card p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.materials-page .material-index-section{
  padding-bottom:48px;
}
.materials-page .finish-index-section{
  padding-top:48px;
}
.material-card em{
  margin:auto 0 0;
  padding-top:24px;
  color:var(--ink);
  font-size:13px;
  font-style:normal;
  font-weight:560;
}
.material-card em::after{
  content:"\2192";
  display:inline-block;
  margin-left:10px;
  font-size:.78em;
  font-weight:520;
  line-height:1;
  transform:translateY(-.02em);
  transition:transform .24s var(--ease);
}
.material-card:hover em::after{
  transform:translate(4px,-.02em);
}
.finish-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:36px 70px;
}
.finish-list a{
  display:grid;
  grid-template-columns:minmax(290px,.58fr) minmax(0,.92fr);
  gap:38px;
  align-items:center;
  min-height:0;
  padding:32px 0 36px;
  border-top:1px solid rgba(16,16,15,.08);
  border-bottom:1px solid rgba(16,16,15,.08);
  color:inherit;
  transition:transform .28s var(--ease);
}
.finish-list a:hover{
  transform:translateY(-2px);
}
.finish-list img{
  aspect-ratio:16 / 11;
}
.finish-list strong{
  display:block;
  max-width:14em;
  margin:14px 0 0;
  color:var(--ink);
  font-size:25px;
  font-weight:520;
  line-height:1.12;
  letter-spacing:0;
  text-wrap:balance;
}
.finish-list b{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:24px;
  padding:0 22px;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  font-weight:560;
  line-height:1;
  transition:background-color .24s var(--ease), transform .24s var(--ease);
}
.finish-list b::after{
  content:"\2192";
  display:inline-block;
  margin-left:9px;
  font-size:14px;
  line-height:1;
}
.finish-list a:hover b{
  background:#2b2a27;
  transform:translateY(-1px);
}
.material-support-layout,
.material-detail-split,
.material-process,
.material-use-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.material-support-layout > div:first-child,
.material-detail-split > div:first-child,
.material-process > div:first-child{
  position:sticky;
  top:112px;
}
.material-support-layout h2,
.material-detail-split h2,
.material-process h2,
.material-use-grid h2,
.material-related-section .section-head h2{
  max-width:13em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.material-support-layout p:not(.kicker),
.material-detail-split p:not(.kicker){
  max-width:64ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.material-support-list,
.material-detail-points{
  display:grid;
  gap:16px;
}
.material-support-list article,
.material-detail-points article{
  padding:24px 0;
  border-top:1px solid rgba(16,16,15,.12);
}
.material-support-list span,
.material-detail-points span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.material-support-list strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.18;
}
.material-support-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero{
  position:relative;
  min-height:clamp(500px, calc(72vh - 86px), 600px);
  padding-top:72px;
  padding-bottom:56px;
  overflow:hidden;
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,36vw);
  gap:60px;
  align-items:center;
  min-height:clamp(320px,38vh,430px);
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero .page-hero-inner{
  max-width:980px;
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero .page-hero-inner p:not(.kicker){
  max-width:86ch;
  font-size:17px;
  line-height:1.62;
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero figure{
  margin:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(36vw,640px);
  overflow:hidden;
  background:#e8e6df;
}
.material-detail-page:not(.finish-detail-page) .material-detail-hero img{
  width:100%;
  height:100%;
  display:block;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
}
.finish-detail-page .material-detail-hero{
  position:relative;
  min-height:clamp(500px, calc(72vh - 86px), 600px);
  padding-top:72px;
  padding-bottom:56px;
  overflow:hidden;
}
.finish-detail-page .material-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,36vw);
  gap:60px;
  align-items:center;
  min-height:clamp(320px,38vh,430px);
}
.finish-detail-page .material-detail-hero .page-hero-inner{
  max-width:980px;
}
.finish-detail-page .material-detail-hero .page-hero-inner p:not(.kicker){
  max-width:86ch;
  font-size:17px;
  line-height:1.62;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.finish-detail-page .material-detail-hero figure{
  margin:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(36vw,640px);
  overflow:hidden;
  background:#e8e6df;
}
.finish-detail-page .material-detail-hero img{
  width:100%;
  height:100%;
  display:block;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  filter:saturate(.96) contrast(1.04);
}
.material-detail-points ul,
.material-use-grid ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.material-detail-points li,
.material-use-grid li{
  position:relative;
  padding-left:16px;
  color:#4d4a44;
  font-size:14px;
  line-height:1.5;
}
.material-detail-points li::before,
.material-use-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(16,16,15,.45);
}
.material-process ol{
  display:grid;
  margin:0;
  padding:0;
  border-top:1px solid rgba(16,16,15,.14);
  list-style:none;
  counter-reset:material-step;
}
.material-process li{
  counter-increment:material-step;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:22px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:var(--muted);
  font-size:15px;
  line-height:1.62;
}
.material-process li::before{
  content:counter(material-step, decimal-leading-zero);
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.material-use-grid > div{
  padding-top:30px;
  border-top:1px solid rgba(16,16,15,.12);
}
.material-link-list{
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid rgba(16,16,15,.1);
}
.material-link-list a{
  display:flex;
  align-items:center;
  min-height:54px;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:var(--ink);
  font-size:15px;
  font-weight:520;
  transition:transform .24s var(--ease);
}
.material-link-list a:hover{
  transform:translateX(5px);
}
.material-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.material-related-grid a{
  display:flex;
  flex-direction:column;
  padding-bottom:4px;
  color:inherit;
  transition:transform .28s var(--ease);
}
.material-related-grid a:hover{
  transform:translateY(-4px);
}
.material-related-grid img{
  aspect-ratio:1.55 / 1;
  margin-bottom:18px;
}
.material-related-grid strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.14;
}
.material-related-grid p{
  max-width:34ch;
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.material-related-grid em{
  display:inline-flex;
  align-items:center;
  gap:14px;
  margin-top:22px;
  color:var(--ink);
  font-size:15px;
  font-style:normal;
  font-weight:620;
  line-height:1;
}
.material-related-grid em::after{
  content:"\2192";
  display:inline-block;
  font-size:16px;
  font-weight:420;
  line-height:1;
  transform:translateY(-.02em);
  transition:transform .24s var(--ease);
}
.material-related-grid a:hover em::after{
  transform:translate(4px,-.02em);
}
.material-answer-section{
  padding:72px 0 58px;
}
.material-answer-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(16,16,15,.12);
  border-bottom:1px solid rgba(16,16,15,.12);
}
.material-answer-grid article{
  min-height:132px;
  padding:26px 30px 28px;
  border-right:1px solid rgba(16,16,15,.1);
}
.material-answer-grid article:last-child{
  border-right:0;
}
.material-answer-grid span,
.material-check-grid span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.material-answer-grid p{
  max-width:28ch;
  margin:16px 0 0;
  color:var(--ink);
  font-size:15px;
  font-weight:450;
  line-height:1.5;
}
.material-simple-section{
  padding:86px 0;
}
.material-simple-layout{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:78px;
  align-items:center;
}
.material-section-copy h2,
.material-two-column h2,
.material-faq-section h2{
  max-width:13.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:42px;
  font-weight:520;
  line-height:1.06;
  text-wrap:balance;
}
.material-section-copy p:not(.kicker){
  max-width:68ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.material-clean-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.material-clean-cards article{
  min-height:184px;
  padding:28px 24px 26px;
  background:#fff;
  border-top:1px solid rgba(16,16,15,.13);
}
.material-detail-page:not(.finish-detail-page) .material-clean-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.finish-detail-page .material-clean-cards{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.material-detail-page:not(.finish-detail-page) .material-clean-cards article{
  min-height:168px;
}
.finish-detail-page .material-clean-cards article{
  min-height:168px;
}
.band-stone .material-clean-cards article{
  background:rgba(255,255,255,.58);
}
.material-clean-cards strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  font-weight:540;
  line-height:1.18;
}
.material-clean-cards p{
  margin:18px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.material-two-column{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:92px;
}
.material-two-column > div{
  padding-top:28px;
  border-top:1px solid rgba(16,16,15,.12);
}
.finish-detail-page .material-two-column > div{
  padding-top:0;
  border-top:0;
}
.material-line-list{
  display:grid;
  gap:0;
  margin:28px 0 0;
  padding:0;
  border-top:1px solid rgba(16,16,15,.1);
  list-style:none;
}
.material-line-list li{
  min-height:52px;
  padding:16px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:#4d4a44;
  font-size:15px;
  line-height:1.4;
}
.material-product-fit-list{
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid rgba(16,16,15,.1);
}
.material-product-fit-list a{
  display:grid;
  grid-template-columns:minmax(210px,.3fr) minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding:19px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:inherit;
  transition:transform .24s var(--ease);
}
.material-product-fit-list a:hover{
  transform:translateX(5px);
}
.material-product-fit-list strong{
  color:var(--ink);
  font-size:15px;
  font-weight:560;
  line-height:1.25;
}
.material-product-fit-list span{
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.finish-detail-page .material-product-fit-list span{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  line-height:1.35;
}
.material-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  border-top:1px solid rgba(16,16,15,.12);
}
.material-check-grid span{
  min-height:66px;
  padding:22px 0 18px;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:var(--ink);
  font-size:14px;
  letter-spacing:0;
  line-height:1.35;
  text-transform:none;
}
.material-sample-section{
  padding-top:44px;
}
.material-sample-section .material-simple-layout{
  align-items:stretch;
}
.material-sample-section figure,
.material-avoid-section figure{
  margin:0;
  aspect-ratio:1.45 / 1;
  overflow:hidden;
  background:#e8e6df;
}
.material-sample-section figure{
  min-height:100%;
  aspect-ratio:auto;
}
.finish-detail-page .material-sample-section .material-simple-layout{
  align-items:center;
}
.finish-detail-page .material-sample-section figure{
  min-height:0;
  aspect-ratio:1.25 / 1;
}
.material-sample-section img,
.material-avoid-section img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}
.material-sample-section .btn{
  margin-top:28px;
}
.material-faq-section{
  padding:76px 0;
}
.material-faq-list{
  display:grid;
  gap:0;
  border-top:1px solid rgba(16,16,15,.12);
}
.material-faq-list details{
  border-bottom:1px solid rgba(16,16,15,.1);
  background:transparent;
}
.material-faq-list summary{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--ink);
  font-size:18px;
  font-weight:520;
  line-height:1.24;
  cursor:pointer;
  list-style:none;
}
.material-faq-list summary::-webkit-details-marker{
  display:none;
}
.material-faq-list summary::after{
  content:"+";
  color:#817d74;
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.material-faq-list details[open] summary::after{
  content:"-";
}
.material-faq-list p{
  max-width:66ch;
  margin:0;
  padding:0 42px 24px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.68;
}
.material-detail-page .material-related-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media (max-width:1200px){
  .material-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .finish-list{
    gap:32px;
  }
  .finish-list a{
    grid-template-columns:1fr;
    gap:20px;
  }
  .material-support-layout,
  .material-detail-split,
  .material-process,
  .material-use-grid{
    gap:44px;
  }
  .material-answer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .material-answer-grid article:nth-child(2){
    border-right:0;
  }
  .material-answer-grid article:nth-child(-n+2){
    border-bottom:1px solid rgba(16,16,15,.1);
  }
  .material-simple-layout{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
    gap:48px;
  }
  .material-clean-cards{
    grid-template-columns:1fr;
    gap:12px;
  }
  .material-detail-page:not(.finish-detail-page) .material-clean-cards{
    grid-template-columns:1fr;
  }
  .material-clean-cards article{
    min-height:0;
  }
  .material-detail-page .material-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .material-detail-page:not(.finish-detail-page) .material-detail-hero{
    min-height:0;
    padding-top:88px;
    padding-bottom:60px;
    overflow:visible;
  }
  .material-detail-page:not(.finish-detail-page) .material-detail-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
  }
  .material-detail-page:not(.finish-detail-page) .material-detail-hero figure{
    position:static;
    width:100%;
  }
  .material-detail-page:not(.finish-detail-page) .material-detail-hero img{
    height:auto;
    aspect-ratio:16/10;
  }
  .finish-detail-page .material-detail-hero{
    min-height:0;
    padding-top:88px;
    padding-bottom:60px;
    overflow:visible;
  }
  .finish-detail-page .material-detail-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
  }
  .finish-detail-page .material-detail-hero figure{
    position:static;
    width:100%;
  }
  .finish-detail-page .material-detail-hero img{
    height:auto;
    aspect-ratio:16/10;
  }
}

@media (max-width:760px){
  .materials-hero,
  .material-detail-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .material-index-section,
  .finish-index-section,
  .material-support-section,
  .material-detail-intro,
  .material-process-section,
  .material-use-section,
  .material-related-section{
    padding:68px 0;
  }
  .materials-page .material-index-section{
    padding-bottom:36px;
  }
  .materials-page .finish-index-section{
    padding-top:38px;
  }
  .material-card-grid,
  .material-related-grid{
    grid-template-columns:1fr;
  }
  .material-card figure{
    aspect-ratio:1.55 / 1;
  }
  .finish-list{
    grid-template-columns:1fr;
    gap:28px;
  }
  .finish-list a{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 0 28px;
  }
  .finish-list img{
    aspect-ratio:16 / 9;
  }
  .finish-list strong{
    font-size:22px;
    letter-spacing:0;
  }
  .finish-list b{
    min-height:40px;
    margin-top:20px;
    padding:0 16px;
    font-size:12px;
  }
  .material-support-layout,
  .material-detail-split,
  .material-process,
  .material-use-grid,
  .material-detail-hero-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .material-support-layout > div:first-child,
  .material-detail-split > div:first-child,
  .material-process > div:first-child{
    position:static;
  }
  .material-support-layout h2,
  .material-detail-split h2,
  .material-process h2,
  .material-use-grid h2,
  .material-related-section .section-head h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .material-detail-hero figure{
    aspect-ratio:1.55 / 1;
  }
  .material-detail-points ul,
  .material-use-grid ul{
    grid-template-columns:1fr;
  }
  .material-process li{
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    padding:20px 0;
    font-size:14px;
  }
  .material-answer-section{
    padding:40px 0 34px;
  }
  .material-answer-grid,
  .material-simple-layout,
  .material-two-column,
  .material-check-grid{
    grid-template-columns:1fr;
  }
  .material-answer-grid article{
    min-height:0;
    padding:22px 0;
    border-right:0;
    border-bottom:1px solid rgba(16,16,15,.1);
  }
  .material-answer-grid article:last-child{
    border-bottom:0;
  }
  .material-simple-section,
  .material-faq-section{
    padding:58px 0;
  }
  .material-simple-layout{
    gap:30px;
  }
  .material-section-copy h2,
  .material-two-column h2,
  .material-faq-section h2{
    max-width:100%;
    font-size:29px;
    line-height:1.08;
  }
  .material-clean-cards{
    grid-template-columns:1fr;
  }
  .material-two-column{
    gap:42px;
  }
  .material-check-grid{
    gap:0;
  }
  .material-product-fit-list a{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }
  .finish-detail-page .material-product-fit-list span{
    overflow:visible;
    white-space:normal;
    text-overflow:clip;
    line-height:1.58;
  }
  .material-sample-section{
    padding-top:26px;
  }
  .material-sample-section figure,
  .material-avoid-section figure{
    min-height:0;
    aspect-ratio:1.45 / 1;
  }
  .material-detail-page .material-related-grid{
    grid-template-columns:1fr;
  }
}

.product-compare-panel{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:44px;
  align-items:center;
  padding:0;
  border-top:0;
}
.product-compare-panel h2{
  max-width:11.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-compare-panel p:not(.kicker){
  max-width:34em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.product-compare-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;
}
.product-compare-list a{
  display:flex;
  min-height:336px;
  flex-direction:column;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  color:inherit;
  text-decoration:none;
  overflow:hidden;
}
.product-compare-list a:hover{
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.2);
}
.product-compare-list img{
  width:100%;
  aspect-ratio:16/11;
  object-fit:cover;
  filter:saturate(.92) contrast(1.03);
}
.product-compare-list a > div{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:20px;
}
.product-compare-list span{
  display:block;
  color:#8c887f;
  font-size:11px;
  font-weight:520;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-compare-list strong{
  display:block;
  margin-top:16px;
  color:var(--ink);
  font-size:21px;
  line-height:1.14;
  font-weight:520;
}
.product-compare-list p{
  margin-top:12px;
  margin-bottom:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.56;
}

@media (max-width:1200px){
  .product-compare-panel{
    grid-template-columns:1fr;
  }
}

@media (max-width:760px){
  .product-compare-panel{
    gap:24px;
    padding-top:24px;
  }
  .product-compare-panel h2{
    max-width:100%;
    font-size:28px;
  }
  .product-compare-list{
    grid-template-columns:1fr;
  }
  .product-compare-list a{
    min-height:0;
  }
  .product-compare-list a > div{
    padding:18px;
  }
}

.breadcrumbs{
  margin-bottom:48px;
  color:#6b6861;
  font-size:12px;
  font-weight:520;
}
.breadcrumbs.wrap{
  margin-bottom:48px;
}
.breadcrumbs ol{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.breadcrumbs li{
  display:flex;
  align-items:center;
  gap:8px;
}
.breadcrumbs li + li::before{
  content:"/";
  color:#aaa69d;
}
.breadcrumbs a:hover{color:var(--ink)}
.catalogue-hero,.narrative-hero,.projects-hero,.systems-hero,.downloads-hero,.contact-hero{
  padding-top:112px;
}
.section.narrative-section{
  padding-bottom:68px;
}
.section.solution-work-section{
  padding-top:0;
  padding-bottom:0;
}
.section.product-index-section{
  padding-bottom:0;
}
.section.project-filter-section{
  padding-bottom:0;
}
.section.selection-map-section{
  padding-top:0;
  padding-bottom:0;
}
.product-directory{
  display:grid;
  gap:44px;
}
.product-directory-group{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:34px;
  align-items:start;
  padding-top:32px;
  border-top:1px solid var(--line-soft);
}
.directory-label{
  position:sticky;
  top:112px;
}
.directory-label span,
.directory-card span,
.system-card span,
.resource-story span,
.download-type,
.download-preview-card span,
.quiet-proof-grid span,
.guidance-list span,
.selection-support-list span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.directory-label strong{
  display:block;
  margin-top:14px;
  color:var(--ink);
  font-size:24px;
  line-height:1.08;
  font-weight:560;
}
.directory-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.directory-cards.compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.directory-card{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  min-height:360px;
  padding:0 0 20px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:transform .28s var(--ease), border-color .28s var(--ease), background-color .28s var(--ease);
}
.directory-card:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.2);
  background:var(--hover-gray);
}
.directory-card img{
  aspect-ratio:4/3;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.directory-card span,
.directory-card strong,
.directory-card p{
  margin-left:18px;
  margin-right:18px;
}
.directory-card span{margin-top:18px}
.directory-card strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:21px;
  line-height:1.12;
  font-weight:560;
}
.directory-card p{
  margin-top:12px;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.directory-card-meta{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:7px 10px;
  align-items:baseline;
  margin:18px 18px 0;
  padding-top:14px;
  border-top:1px solid rgba(16,16,15,.08);
}
.directory-card-meta small{
  color:#8c887f;
  font-size:10px;
  font-weight:520;
  letter-spacing:.12em;
  line-height:1.2;
  text-transform:uppercase;
}
.directory-card-meta em{
  min-width:0;
  color:#4f4b45;
  font-size:12px;
  font-style:normal;
  line-height:1.32;
}
.wrap.product-choice-note{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:54px;
  align-items:center;
  margin:96px auto 0;
  padding:96px 0;
  border-top:1px solid var(--line-soft);
}
.product-choice-copy h2{
  max-width:12.8em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-choice-copy p:not(.kicker){
  max-width:38em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.product-choice-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.product-choice-points article{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:184px;
  padding:22px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
}
.product-choice-points span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.product-choice-points strong{
  display:block;
  margin-top:28px;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:520;
}
.product-choice-points p{
  margin-top:12px;
  color:var(--muted);
  font-size:13px;
  line-height:1.56;
}
.selection-map{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:58px;
  align-items:center;
  padding:96px 0;
  border-top:1px solid var(--line-soft);
}
.selection-map h2,
.downloads-aside h2,
.contact-guidance h2{
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.selection-map h2{
  margin:12px 0 0;
}
.selection-map p,
.downloads-aside p{
  max-width:62ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.78;
}
.selection-map p{
  margin:18px 0 0;
}
.selection-map .btn{margin-top:22px}
.selection-map-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  background:rgba(16,16,15,.08);
  border:1px solid rgba(16,16,15,.08);
}
.selection-map-item{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:132px;
  padding:20px;
  background:#fff;
}
.selection-map-item:hover{background:var(--hover-gray)}
.selection-map-item strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:20px;
  line-height:1.12;
  font-weight:560;
}
.selection-map-item p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
}
.resource-overview-page .narrative-intro{
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:end;
  max-width:none;
  margin-bottom:46px;
  padding-bottom:0;
}
.resource-overview-page .narrative-intro h2{
  max-width:var(--measure-section);
  font-size:var(--type-section);
  line-height:1.04;
}
.resource-overview-page .narrative-intro p{
  max-width:62ch;
  color:var(--muted);
  font-size:16px;
  line-height:1.78;
}
.resource-overview-page .narrative-intro > p:not(.kicker){
  max-width:380px;
}
.narrative-pathways{
  display:grid;
  gap:0;
  border-top:1px solid var(--line-soft);
}
.narrative-row{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:86px;
  align-items:start;
  padding:34px 0;
  border-bottom:1px solid var(--line-soft);
  color:inherit;
  text-decoration:none;
  transition:background-color .28s var(--ease);
}
.narrative-row:hover{
  background:var(--hover-gray);
}
.narrative-index{
  position:sticky;
  top:112px;
  display:grid;
  gap:14px;
  align-content:start;
  padding-left:2px;
}
.narrative-index span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.narrative-index strong{
  display:block;
  max-width:11em;
  color:var(--ink);
  font-size:23px;
  line-height:1.08;
  font-weight:560;
}
.narrative-copy{
  max-width:none;
  transition:transform .32s var(--ease);
}
.narrative-row:hover .narrative-copy{
  transform:translateX(10px);
}
.narrative-copy h2,
.resource-story h2,
.download-main h2,
.project-card h2,
.system-card h2{
  margin:0;
  color:var(--ink);
  font-size:30px;
  line-height:1.08;
  font-weight:560;
}
.narrative-copy p,
.resource-story p,
.download-main p,
.project-card p,
.system-card p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.narrative-copy > p{
  max-width:66ch;
}
.narrative-copy ul,
.download-main ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.narrative-copy li,
.download-main li{
  padding:9px 10px;
  border:1px solid rgba(16,16,15,.09);
  color:#4d4a44;
  font-size:12px;
  line-height:1.3;
  background:#fbfbfa;
}
.narrative-copy .text-link,
.resource-story .text-link,
.download-row .text-link{
  display:inline-flex;
  margin-top:24px;
}
.quiet-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.quiet-proof-grid article{
  min-height:152px;
  padding:22px;
  background:#fff;
}
.quiet-proof-grid strong{
  display:block;
  margin-top:28px;
  color:var(--ink);
  font-size:20px;
  line-height:1.18;
  font-weight:560;
}
.solution-work{
  display:block;
  padding:56px 0 68px;
}
.solution-company-section,
.solution-related-section{
  padding-top:0;
  padding-bottom:0;
}
.section.solution-company-section,
.section.solution-related-section{
  padding-top:0;
  padding-bottom:0;
}
.solution-company{
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:58px;
  align-items:start;
  padding:56px 0 64px;
}
.solution-company-copy h2,
.solution-related h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.08;
  font-weight:520;
}
.solution-company-copy p:not(.kicker){
  max-width:36em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.solution-company-links{
  display:grid;
  gap:0;
  border-top:1px solid var(--line-soft);
}
.solution-company-links a{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:20px 0;
  border-bottom:1px solid var(--line-soft);
  background:transparent;
}
.solution-company-links a:hover,
.solution-related-links a:hover{
  background:var(--hover-gray);
}
.solution-company-links strong,
.solution-related-links strong{
  display:block;
  color:var(--ink);
  font-size:20px;
  line-height:1.16;
  font-weight:560;
}
.solution-company-links p,
.solution-related-links p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.56;
}
.solution-related-links p{
  margin-top:12px;
}
.solution-related{
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:58px;
  align-items:center;
  padding:56px 0 68px;
  border-top:1px solid var(--line-soft);
}
.solution-related-links{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.solution-related-links a{
  min-height:170px;
  padding:22px;
  background:#fff;
}
.solution-work-copy h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.08;
  font-weight:520;
}
.solution-work-copy p:not(.kicker){
  margin:0;
  max-width:380px;
  color:inherit;
  opacity:.74;
  font-size:16px;
  line-height:1.8;
}
.solution-work-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.solution-work-steps article{
  display:flex;
  flex-direction:column;
  min-height:196px;
  padding:22px;
  background:#fff;
}
.solution-work-steps span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.solution-work-steps strong{
  display:block;
  margin-top:34px;
  color:var(--ink);
  font-size:20px;
  line-height:1.16;
  font-weight:520;
}
.solution-work-steps p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.resource-hero-media img{
  object-fit:contain;
  background:transparent;
}
.resource-story{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.resource-story article{
  padding:28px;
  border-top:1px solid var(--line-soft);
  background:#fff;
}
.resource-pathways{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.resource-pathways a{
  min-height:210px;
  padding:24px;
  background:#fff;
}
.resource-pathways a:hover{
  background:var(--hover-gray);
}
.resource-pathways span,
.resource-support-points span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.resource-pathways strong,
.resource-support-points strong{
  display:block;
  margin-top:30px;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:560;
}
.resource-pathways p,
.resource-support-points p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.56;
}
.resource-feature-section,
.resource-support-section,
.downloads-preview-section,
.resource-questions-section,
.resource-prep-section{
  padding-top:0;
}
.section.resource-overview-page{
  padding-top:86px;
  padding-bottom:0;
}
.section.resource-support-section{
  padding-top:0;
  padding-bottom:0;
}
.section.downloads-preview-section,
.section.resource-questions-section,
.section.resource-prep-section{
  padding-top:72px;
  padding-bottom:0;
}
.section.resource-questions-section{
  padding-top:96px;
  padding-bottom:124px;
}
.section.resource-prep-section{
  padding-top:86px;
  padding-bottom:128px;
}
.resource-overview-page{
  padding-bottom:0;
}
.downloads-preview-section,
.resource-questions-section,
.resource-prep-section{
  padding-bottom:72px;
}
.section-head-action{
  flex:0 0 auto;
  align-self:flex-end;
  margin-left:auto;
}
.resource-feature{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);
  gap:76px;
  align-items:center;
  max-width:1360px;
  padding:58px 0;
}
.resource-feature figure{
  margin:0;
}
.resource-feature img{
  width:100%;
  max-height:420px;
  object-fit:contain;
  object-position:center;
}
.resource-feature h2,
.resource-support h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:32px;
  line-height:1.12;
  font-weight:560;
}
.resource-feature p:not(.kicker),
.resource-support p:not(.kicker){
  max-width:42em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.resource-feature .btn{
  margin-top:24px;
}
.resource-support{
  display:grid;
  grid-template-columns:.76fr 1.24fr;
  gap:58px;
  align-items:center;
  padding:62px 0;
  border-top:1px solid var(--line-soft);
}
.resource-support .text-link{
  display:inline-flex;
  margin-top:24px;
}
.resource-support-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.resource-support-points article{
  min-height:190px;
  padding:22px;
  background:#fff;
}
.resource-question-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.resource-question-grid a{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:176px;
  padding:24px;
  background:#fff;
}
.resource-question-grid a:hover{
  background:var(--hover-gray);
}
.resource-question-grid strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  line-height:1.16;
  font-weight:560;
}
.resource-question-grid p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.56;
}
.downloads-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.insights-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.insight-preview-card{
  min-height:190px;
  padding:24px;
  background:#fff;
}
.insight-article-grid{
  gap:16px;
  border:0;
  background:transparent;
}
.insight-article-card{
  display:grid;
  grid-template-rows:232px 1fr;
  min-height:440px;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(16,16,15,.12);
  color:inherit;
  text-decoration:none;
  transition:transform .32s var(--ease), border-color .32s var(--ease), background-color .32s var(--ease), box-shadow .32s var(--ease);
}
.insight-preview-card:hover{
  background:var(--hover-gray);
}
.insight-article-card:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.24);
  box-shadow:0 16px 32px rgba(16,16,15,.06);
}
.insight-article-card img{
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
  transition:transform .7s var(--ease), filter .7s var(--ease);
}
.insight-article-card:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1.06);
}
.insight-article-card div{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;
}
.insight-preview-card span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.insight-preview-card strong{
  display:block;
  margin-top:28px;
  color:var(--ink);
  font-size:21px;
  line-height:1.16;
  font-weight:560;
}
.insight-preview-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.download-preview-card{
  padding:18px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.download-preview-card:hover{background:var(--hover-gray)}
.download-preview-card img{
  aspect-ratio:16/9;
  object-fit:contain;
  object-position:left center;
  margin-bottom:16px;
}
.download-preview-card strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:22px;
  line-height:1.14;
  font-weight:560;
}
.download-preview-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.project-toolbar{
  margin-bottom:0;
}
.project-search{
  flex:0 0 min(380px,100%);
}
.project-search span{
  display:block;
  margin-bottom:12px;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-search input,
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(16,16,15,.18);
  border-radius:3px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:14px;
  outline:none;
}
.project-search input{height:48px;padding:0 14px}
.project-search input:focus,
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(16,16,15,.42);
}
.project-filter-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.project-filter-panel{
  display:grid;
  gap:22px;
  margin-top:0;
  padding:28px 0 30px;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.project-filter-label{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.project-filter-group{
  position:relative;
  min-width:0;
}
.filter-chip{
  min-height:42px;
  padding:0 17px;
  border:1px solid rgba(16,16,15,.16);
  border-radius:999px;
  background:#fff;
  color:#4d4a44;
  font-size:13px;
  font-weight:560;
  cursor:pointer;
}
.filter-chip[aria-pressed="true"],
.filter-chip:hover{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}
.filter-chip-light{
  min-height:40px;
  border-color:rgba(16,16,15,.11);
  color:#68645d;
  font-weight:520;
}
.filter-chip-light[aria-pressed="true"],
.filter-chip-light:hover{
  border-color:rgba(16,16,15,.36);
  background:#f3f3f1;
  color:var(--ink);
}
.project-listing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:42px;
}
.project-card{
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.project-card[hidden]{display:none}
.project-card img{
  aspect-ratio:16/10;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
}
.project-card div{padding:22px}
.project-card h2{margin-top:12px;font-size:25px}
.project-card ul{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:20px 0 0;
  padding:0;
  list-style:none;
}
.project-card li{
  padding:6px 8px;
  border:1px solid rgba(16,16,15,.1);
  color:#5d5a54;
  font-size:11px;
  line-height:1;
}
.project-empty{
  margin-top:28px;
  color:var(--muted);
}
.wrap.project-pagination{
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:96px;
  margin-bottom:0;
}
.wrap.project-pagination[hidden]{
  display:none;
}
.project-pagination button{
  min-width:74px;
  min-height:44px;
  padding:0 22px;
  border:1px solid rgba(16,16,15,.14);
  border-radius:10px;
  background:#fff;
  color:#4d4a44;
  font-size:13px;
  font-weight:520;
  letter-spacing:.035em;
  cursor:pointer;
  transition:background-color .24s var(--ease), border-color .24s var(--ease), color .24s var(--ease);
}
.project-pagination button:first-child,
.project-pagination button:last-child{
  min-width:96px;
}
.project-pagination button[data-pagination-control]{
  min-width:90px;
}
.pagination-ellipsis{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:44px;
  color:#817d74;
  font-size:13px;
  font-weight:560;
  letter-spacing:.08em;
  line-height:1;
  user-select:none;
}
.project-pagination button:hover,
.project-pagination button[aria-current="page"]{
  border-color:var(--ink);
  background:var(--ink);
  color:#fff;
}
.project-pagination button:disabled{
  cursor:default;
  opacity:.38;
}
.project-pagination button:disabled:hover{
  border-color:rgba(16,16,15,.14);
  background:#fff;
  color:#4d4a44;
}
.project-context-section{
  padding-top:0;
  padding-bottom:0;
}
.project-context{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:58px;
  align-items:center;
  padding:56px 0;
  border-top:1px solid var(--line-soft);
}
.project-context-copy h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.08;
  font-weight:520;
}
.project-context-copy p:not(.kicker){
  max-width:42em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.project-context-copy .text-link{
  display:inline-flex;
  margin-top:24px;
}
.project-context-copy .project-context-cta{
  margin-top:24px;
}
.project-context-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.project-context-grid a{
  min-height:214px;
  padding:24px;
  background:#fff;
}
.project-context-grid a:hover{
  background:var(--hover-gray);
}
.project-context-grid span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.project-context-grid strong{
  display:block;
  margin-top:32px;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:560;
}
.project-context-grid p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.54;
}
.project-detail-hero.project-scene-hero{
  position:relative;
  min-height:560px;
  padding:108px 0 72px;
  color:var(--white);
  background:#111;
  overflow:hidden;
}
.project-detail-hero.project-scene-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,10,9,.82) 0%,rgba(10,10,9,.64) 38%,rgba(10,10,9,.28) 74%,rgba(10,10,9,.18) 100%),
    var(--project-image) center / cover no-repeat;
  transform:scale(1.01);
}
.project-detail-hero.project-scene-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.22));
  pointer-events:none;
}
.project-detail-hero .breadcrumbs{
  position:relative;
  z-index:1;
}
.project-detail-hero .breadcrumbs,
.project-detail-hero .breadcrumbs a{
  color:rgba(255,255,255,.68);
}
.project-scene-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);
  gap:48px;
  align-items:end;
  min-height:360px;
}
.project-scene-copy{
  max-width:820px;
}
.project-scene-copy .kicker{
  color:rgba(255,255,255,.76);
}
.project-detail-hero .project-scene-copy h1{
  max-width:820px;
  color:var(--white);
  font-size:clamp(46px,5.8vw,86px);
  line-height:.96;
}
.project-detail-hero .project-scene-copy p:not(.kicker){
  max-width:68ch;
  color:rgba(255,255,255,.78);
  font-size:18px;
  line-height:1.68;
}
.project-scene-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}
.project-scene-meta{
  display:grid;
  gap:1px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(16px);
}
.project-scene-meta article{
  padding:18px 20px;
  background:rgba(16,16,15,.38);
}
.project-scene-meta span{
  display:block;
  color:rgba(255,255,255,.58);
  font-size:11px;
  font-weight:620;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-scene-meta strong{
  display:block;
  margin-top:10px;
  color:var(--white);
  font-size:18px;
  line-height:1.18;
  font-weight:520;
}
.project-detail-section{
  padding:72px 0;
}
.project-detail-section + .project-detail-section{
  padding-top:0;
}
.project-detail-layout{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:58px;
  align-items:center;
}
.project-detail-layout aside h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(32px,3.1vw,48px);
  line-height:1.02;
  font-weight:520;
}
.project-detail-layout aside p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.76;
}
.project-detail-layout aside .btn{
  margin-top:24px;
}
.project-detail-facts,
.project-detail-notes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.project-detail-facts article,
.project-detail-notes article{
  min-height:154px;
  padding:24px;
  border:1px solid rgba(16,16,15,.09);
  background:#fff;
}
.project-detail-facts article{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.project-detail-facts span,
.project-detail-notes span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-detail-facts strong{
  display:block;
  margin-top:26px;
  color:var(--ink);
  font-size:clamp(19px,1.8vw,24px);
  line-height:1.16;
  font-weight:520;
}
.project-route-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.09);
  background:rgba(16,16,15,.1);
}
.project-route-steps article{
  min-height:268px;
  padding:24px;
  background:#fff;
}
.project-route-steps span{
  color:#817d74;
  font-size:11px;
  font-weight:620;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-route-steps strong{
  display:block;
  max-width:12em;
  margin-top:58px;
  color:var(--ink);
  font-size:22px;
  line-height:1.12;
  font-weight:540;
}
.project-route-steps p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.project-detail-notes ul{
  display:grid;
  gap:9px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.project-detail-notes li{
  padding:10px 12px;
  border:1px solid rgba(16,16,15,.09);
  color:#4d4a44;
  font-size:13px;
  line-height:1.38;
  background:#fbfbfa;
}
.project-detail-notes li a{
  color:inherit;
  text-decoration:none;
}
.project-detail-notes li a::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:8px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:translateY(-1px) rotate(45deg);
  opacity:.7;
}
.project-article-section{
  padding:82px 0 88px;
}
.project-article-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:72px;
  align-items:start;
}
.project-article-body{
  max-width:820px;
}
.project-article-lead{
  padding-bottom:38px;
  border-bottom:1px solid rgba(16,16,15,.12);
}
.project-article-lead h2{
  max-width:780px;
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(34px,3.3vw,52px);
  line-height:1.03;
  font-weight:520;
}
.project-article-lead p:not(.kicker){
  max-width:68ch;
  margin:22px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.76;
}
.insight-inline-toc{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
  padding:14px;
  border:1px solid rgba(16,16,15,.1);
  background:#fbfbfa;
}
.insight-inline-toc span,
.insight-inline-toc a{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:8px 10px;
  border:1px solid rgba(16,16,15,.1);
  color:#4d4a44;
  font-size:12px;
  line-height:1.2;
  text-decoration:none;
  background:#fff;
}
.insight-inline-toc span{
  color:#817d74;
  font-weight:560;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.insight-inline-toc a:hover{
  border-color:rgba(16,16,15,.24);
  color:var(--ink);
}
.project-takeaways{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:34px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(16,16,15,.1);
}
.project-takeaways article{
  min-height:132px;
  padding:22px;
  background:#fbfbfa;
}
.project-takeaways span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-takeaways strong{
  display:block;
  margin-top:24px;
  color:var(--ink);
  font-size:18px;
  line-height:1.22;
  font-weight:540;
}
.project-facts-panel{
  margin-top:34px;
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fbfbfa;
}
.project-facts-panel dl{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  margin:16px 0 0;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.project-facts-panel div{
  min-height:108px;
  padding:18px;
  background:#fff;
}
.project-facts-panel dt{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-facts-panel dd{
  margin:18px 0 0;
  color:var(--ink);
  font-size:16px;
  line-height:1.28;
  font-weight:530;
}
.project-article-block{
  padding:42px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  scroll-margin-top:110px;
}
.project-article-block h3{
  max-width:720px;
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(25px,2.2vw,34px);
  line-height:1.12;
  font-weight:530;
}
.project-article-block > p:not(.kicker){
  max-width:72ch;
  margin:18px 0 0;
  color:#4d4a44;
  font-size:16px;
  line-height:1.82;
}
.project-route-inline .project-route-steps{
  margin-top:26px;
}
.project-route-inline .project-route-steps article{
  min-height:238px;
}
.project-route-inline .project-route-steps strong{
  margin-top:42px;
}
.project-prep-inline ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.project-prep-inline li{
  padding:14px 16px;
  border:1px solid rgba(16,16,15,.1);
  color:#4d4a44;
  font-size:14px;
  line-height:1.42;
  background:#fbfbfa;
}
.project-related-section{
  padding:48px 0 0;
}
.project-related-head h3{
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(26px,2.3vw,36px);
  line-height:1.08;
  font-weight:530;
}
.project-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:24px;
}
.project-related-grid a{
  display:flex;
  min-height:100%;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  text-decoration:none;
  background:#fff;
  transition:transform .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease);
}
.project-related-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  transition:transform .55s var(--ease), filter .55s var(--ease);
}
.project-related-grid span{
  display:block;
  margin:18px 18px 0;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.project-related-grid strong{
  display:block;
  margin:10px 18px 20px;
  color:var(--ink);
  font-size:17px;
  line-height:1.18;
  font-weight:540;
}
.project-related-grid a:hover{
  transform:translateY(-3px);
  border-color:rgba(16,16,15,.24);
  box-shadow:0 18px 32px rgba(16,16,15,.07);
}
.project-related-grid a:hover img{
  transform:scale(1.035);
  filter:saturate(.98) contrast(1.05);
}
.project-neighbor-nav{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:42px;
}
.project-neighbor-nav a{
  display:flex;
  min-height:128px;
  flex-direction:column;
  justify-content:space-between;
  padding:22px;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  text-decoration:none;
  background:#fbfbfa;
  transition:background .24s var(--ease), border-color .24s var(--ease);
}
.project-neighbor-nav span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-neighbor-nav strong{
  color:var(--ink);
  font-size:19px;
  line-height:1.18;
  font-weight:540;
}
.project-neighbor-nav a:hover{
  border-color:rgba(16,16,15,.24);
  background:#fff;
}
.project-info-sidebar{
  position:sticky;
  top:96px;
  display:grid;
  gap:14px;
}
.project-sidebar-card{
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.project-sidebar-summary dl{
  display:grid;
  gap:0;
  margin:14px 0 0;
}
.project-sidebar-summary div{
  padding:14px 0;
  border-top:1px solid rgba(16,16,15,.09);
}
.project-sidebar-summary dt{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.project-sidebar-summary dd{
  margin:8px 0 0;
  color:var(--ink);
  font-size:15px;
  line-height:1.36;
  font-weight:520;
}
.project-sidebar-links{
  display:grid;
  gap:1px;
  margin-top:16px;
  border:1px solid rgba(16,16,15,.09);
  background:rgba(16,16,15,.09);
}
.project-sidebar-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 15px;
  color:#2a2925;
  font-size:13px;
  line-height:1.35;
  text-decoration:none;
  background:#fbfbfa;
  transition:background .24s var(--ease), color .24s var(--ease);
}
.project-sidebar-links a::after{
  content:"";
  flex:0 0 auto;
  width:7px;
  height:7px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(45deg);
  opacity:.64;
}
.project-sidebar-links a:hover{
  color:var(--ink);
  background:#fff;
}
.project-sidebar-cta{
  background:#f7f6f2;
}
.project-sidebar-cta h3{
  margin:12px 0 0;
  color:var(--ink);
  font-size:24px;
  line-height:1.1;
  font-weight:540;
}
.project-sidebar-cta p:not(.kicker){
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.project-sidebar-cta .btn{
  width:100%;
  margin-top:20px;
}
.insight-detail-hero .project-scene-copy h1{
  max-width:12.5em;
}
.insight-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:28px;
}
.insight-article-meta span,
.insight-article-meta time{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.2;
  background:rgba(255,255,255,.06);
}
.insight-scene-meta article{
  min-height:104px;
}
.insight-article-section{
  padding-top:88px;
}
.insight-article-body .project-article-block h3{
  max-width:760px;
}
.insight-checklist-block ul{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.insight-keyword-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.insight-keyword-list span{
  padding:7px 9px;
  border:1px solid rgba(16,16,15,.12);
  color:#4d4a44;
  font-size:12px;
  line-height:1.3;
  background:#fbfbfa;
}
.insight-faq-list{
  display:grid;
  gap:0;
  margin-top:24px;
  border-top:1px solid rgba(16,16,15,.12);
}
.insight-faq-list details{
  border-bottom:1px solid rgba(16,16,15,.12);
}
.insight-faq-list summary{
  position:relative;
  padding:20px 40px 20px 0;
  color:var(--ink);
  cursor:pointer;
  font-size:18px;
  line-height:1.32;
  font-weight:560;
  list-style:none;
}
.insight-faq-list summary::-webkit-details-marker{display:none}
.insight-faq-list summary::after{
  content:"+";
  position:absolute;
  right:2px;
  top:18px;
  color:#817d74;
  font-size:22px;
  font-weight:420;
}
.insight-faq-list details[open] summary::after{content:"-"}
.insight-faq-list p{
  max-width:72ch;
  margin:0 0 22px;
  color:#4d4a44;
  font-size:15px;
  line-height:1.72;
}
.insight-section-image{
  margin:28px 0 0;
}
.insight-section-image img{
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  border:1px solid rgba(16,16,15,.1);
  background:#f7f6f2;
}
.insight-section-image figcaption{
  margin-top:10px;
  color:#817d74;
  font-size:12px;
  line-height:1.5;
}
.systems-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:46px;
}
.systems-index-section .systems-index-grid{
  margin-top:64px;
}
.section.systems-index-section{
  padding-bottom:82px;
}
.section.selection-support-section{
  padding-top:0;
  padding-bottom:82px;
}
.system-filter-buttons{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
  margin-bottom:0;
}
.system-card{
  display:grid;
  grid-template-rows:auto 1fr;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.system-card[hidden]{display:none}
.system-card-media{
  display:block;
  overflow:hidden;
}
.system-card img{
  aspect-ratio:16/10;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
  transition:transform .35s ease;
}
.system-card:hover img{transform:scale(1.025)}
.system-card > div{padding:22px}
.system-card h2{margin-top:12px;font-size:24px}
.system-card h2 a{
  color:inherit;
  text-decoration:none;
}
.system-card h2 a:hover{color:#4d4a44}
.system-products{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items:flex-start;
  gap:8px;
  margin-top:20px;
  padding:0;
}
.system-products a,
.system-products span{
  padding:6px 9px;
  border:1px solid rgba(16,16,15,.14);
  color:var(--ink);
  font-size:12px;
  font-weight:560;
}
.system-products a:hover{background:var(--hover-gray)}
.system-empty{
  margin-top:28px;
  color:var(--muted);
}
.selection-support{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  padding-top:82px;
  border-top:1px solid var(--line-soft);
}
.selection-support h2{
  font-size:var(--type-section);
  line-height:1.04;
}
.selection-support-actions{
  margin-top:28px;
}
.selection-support-list,
.guidance-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.selection-support-list article,
.guidance-list article{
  padding:22px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.selection-support-list strong,
.guidance-list strong{
  display:block;
  margin-top:22px;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:560;
}
.selection-support-list p,
.guidance-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.application-detail-hero{
  position:relative;
  min-height:clamp(500px, calc(72vh - 86px), 600px);
  padding-top:72px;
  padding-bottom:56px;
  overflow:hidden;
}
.application-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,38vw);
  gap:60px;
  align-items:center;
  min-height:clamp(320px,38vh,430px);
}
.application-detail-hero .page-hero-inner{
  max-width:980px;
}
.application-detail-hero .page-hero-inner h1{
  max-width:13em;
  font-weight:560;
}
.application-detail-hero .page-hero-inner p:not(.kicker){
  max-width:84ch;
  font-size:17px;
  line-height:1.62;
}
.application-detail-hero figure{
  margin:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(38vw,680px);
  background:#e8e6df;
}
.application-detail-hero img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(.94) contrast(1.04);
}
.application-facts-section,
.application-service-section,
.application-places-section,
.application-selection-section,
.application-route-section,
.application-info-section,
.application-faq-section,
.application-related-section{
  padding:86px 0;
}
.application-facts-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.application-facts-grid article{
  padding:22px 0;
  border-top:1px solid rgba(16,16,15,.14);
}
.application-facts-grid span,
.application-product-list span,
.application-related-grid span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  line-height:1.2;
  text-transform:uppercase;
}
.application-facts-grid p{
  margin:14px 0 0;
  color:var(--ink);
  font-size:15px;
  line-height:1.52;
}
.application-service-layout,
.application-two-column,
.application-route-grid,
.application-info-grid{
  display:grid;
  grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);
  gap:64px;
  align-items:start;
}
.application-section-copy h2,
.application-two-column h2,
.application-route-grid h2{
  max-width:13em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.06;
  font-weight:520;
}
.application-section-copy p:not(.kicker),
.application-route-grid p:not(.kicker){
  max-width:68ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.application-goal-grid,
.application-check-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.application-goal-grid article,
.application-check-grid article,
.application-route-grid article,
.application-route-card-link{
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  text-decoration:none;
  background:#fff;
}
.application-goal-grid strong,
.application-check-grid strong{
  display:block;
  color:var(--ink);
  font-size:20px;
  line-height:1.16;
  font-weight:560;
}
.application-goal-grid p,
.application-check-grid p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.application-line-list,
.application-tag-list,
.application-info-grid ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.application-line-list li,
.application-info-grid li{
  position:relative;
  padding-left:16px;
  color:#4d4a44;
  font-size:14px;
  line-height:1.5;
}
.application-line-list li::before,
.application-info-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:#9f988a;
}
.application-product-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
}
.application-product-list a{
  display:block;
  min-height:164px;
  padding:22px;
  border:1px solid rgba(16,16,15,.11);
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:background .25s ease, transform .25s ease;
}
.application-product-list a:hover{
  background:#f8f7f3;
  transform:translateY(-2px);
}
.application-product-list strong{
  display:block;
  margin-top:18px;
  color:var(--ink);
  font-size:20px;
  line-height:1.16;
  font-weight:560;
}
.application-product-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.application-route-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.application-route-grid article{
  min-height:360px;
}
.application-tag-list{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.application-tag-list li{
  padding:8px 10px;
  border:1px solid rgba(16,16,15,.1);
  color:#4d4a44;
  font-size:12px;
  line-height:1.3;
  text-align:center;
}
.text-arrow-link{
  display:inline-flex;
  align-items:center;
  margin-top:24px;
  color:var(--ink);
  font-size:12px;
  font-weight:560;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-decoration:none;
}
.text-arrow-link::after{
  content:"";
  width:18px;
  height:1px;
  margin-left:10px;
  background:currentColor;
  transition:width .25s ease;
}
.text-arrow-link:hover::after{width:30px}
.application-material-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:24px;
}
.application-material-links a{
  padding:8px 11px;
  border:1px solid rgba(16,16,15,.13);
  color:var(--ink);
  font-size:12px;
  font-weight:560;
  text-decoration:none;
}
.application-info-grid{
  align-items:center;
}
.application-info-grid .btn{
  margin-top:26px;
}
.application-info-grid ul{
  padding:30px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.application-faq-list{
  display:grid;
  gap:10px;
}
.application-faq-list details{
  border-top:1px solid rgba(16,16,15,.14);
}
.application-faq-list summary{
  position:relative;
  padding:20px 38px 20px 0;
  color:var(--ink);
  cursor:pointer;
  font-size:18px;
  font-weight:560;
  line-height:1.32;
  list-style:none;
}
.application-faq-list summary::-webkit-details-marker{display:none}
.application-faq-list summary::after{
  content:"+";
  position:absolute;
  right:0;
  top:20px;
  color:#817d74;
  font-size:20px;
}
.application-faq-list details[open] summary::after{content:"-"}
.application-faq-list p{
  max-width:76ch;
  margin:0 0 20px;
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
}
.application-related-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.application-related-grid a{
  display:block;
  color:inherit;
  text-decoration:none;
}
.application-related-grid img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  filter:saturate(.9) contrast(1.03);
  transition:transform .35s ease;
}
.application-related-grid a:hover img{transform:translateY(-2px)}
.application-related-grid span{
  margin-top:18px;
}
.application-related-grid strong{
  display:block;
  margin-top:8px;
  color:var(--ink);
  font-size:22px;
  line-height:1.14;
  font-weight:560;
}
.application-related-grid p{
  display:-webkit-box;
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.downloads-layout{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.download-stage-section{
  padding-bottom:0;
}
.download-stage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.download-stage-card{
  min-height:190px;
  padding:24px;
  background:#fff;
}
.download-stage-card:hover{
  background:var(--hover-gray);
}
.download-stage-card span,
.contact-route-grid span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:520;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.download-stage-card strong,
.contact-route-grid strong{
  display:block;
  margin-top:22px;
  color:var(--ink);
  font-size:21px;
  line-height:1.14;
  font-weight:520;
}
.download-stage-card p,
.contact-route-grid p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.downloads-aside{
  position:sticky;
  top:112px;
}
.downloads-list{
  display:grid;
  border-top:1px solid var(--line-soft);
}
.download-row{
  display:grid;
  grid-template-columns:140px minmax(0,1fr) auto;
  gap:28px;
  align-items:start;
  padding:28px 0;
  border-bottom:1px solid var(--line-soft);
}
.download-main h2{font-size:27px}
.download-checklist{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:48px;
  padding:36px 0 0;
  border-top:1px solid var(--line-soft);
  border-right:0;
  border-bottom:0;
  border-left:0;
  background:transparent;
}
.resource-prep-section .download-checklist{
  padding:0;
  border-top:0;
}
.download-checklist h2{
  font-size:var(--type-section);
  line-height:1.04;
}
.download-checklist ul{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.download-checklist li{
  padding:13px 15px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  color:#4d4a44;
  font-size:14px;
}
.download-checklist > div .btn{
  justify-self:start;
  margin-top:24px;
}
.downloads-featured-section{
  padding-bottom:34px;
}
.downloads-featured-section .section-head{
  margin-bottom:52px;
}
.downloads-featured-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.downloads-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.downloads-guide-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.download-library-card span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.download-library-card b{
  display:inline-flex;
  align-items:center;
  margin-top:24px;
  color:var(--ink);
  font-size:13px;
  font-weight:560;
  letter-spacing:.01em;
}
.download-library-card b::after{
  content:"\2192";
  margin-left:8px;
}
.downloads-library-section{
  padding-top:78px;
  padding-bottom:72px;
}
.downloads-library-head{
  margin-bottom:46px;
}
.downloads-library-head h2{
  max-width:12em;
}
.downloads-library{
  display:block;
}
.downloads-library-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.download-library-card{
  display:grid;
  grid-template-rows:260px minmax(0,1fr);
  min-height:0;
  border:1px solid rgba(16,16,15,.08);
  background:#fff;
  transition:transform .28s var(--ease), border-color .28s var(--ease), box-shadow .28s var(--ease);
}
.download-library-card:hover{
  transform:translateY(-3px);
  border-color:rgba(16,16,15,.16);
  box-shadow:0 18px 48px rgba(16,16,15,.07);
}
.download-library-card figure{
  position:relative;
  overflow:hidden;
  margin:0;
  background:#f7f6f2;
}
.download-library-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.94) contrast(1.03);
  transition:transform .5s var(--ease);
}
.download-library-card:hover img{
  transform:scale(1.035);
}
.download-library-card-contain figure{
  background:#f3f2ef;
}
.download-library-card-contain img{
  object-fit:contain;
  padding:10px;
}
.download-library-card-contain:hover img{
  transform:scale(1.015);
}
.download-library-card div{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:24px;
}
.download-library-card strong{
  display:block;
  margin-top:16px;
  color:var(--ink);
  font-size:21px;
  line-height:1.12;
  font-weight:500;
}
.download-library-card p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.download-library-card b{
  display:inline-flex;
  align-items:center;
  margin-top:auto;
  padding-top:28px;
  color:var(--ink);
  font-size:13px;
  font-weight:560;
  letter-spacing:.01em;
  white-space:nowrap;
}
.downloads-faq-section{
  padding-top:0;
  padding-bottom:72px;
}
.downloads-faq{
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:64px;
  align-items:start;
  padding-top:42px;
}
.downloads-faq h2{
  max-width:9em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.downloads-faq-list{
  display:grid;
}
.downloads-faq-list details{
  border-bottom:1px solid var(--line-soft);
}
.downloads-faq-list summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:74px;
  cursor:pointer;
  color:var(--ink);
  font-size:20px;
  line-height:1.18;
  font-weight:520;
}
.downloads-faq-list summary::-webkit-details-marker{display:none}
.downloads-faq-list summary::after{
  content:"+";
  color:#817d74;
  font-size:22px;
  font-weight:400;
}
.downloads-faq-list details[open] summary::after{
  content:"-";
}
.downloads-faq-list p{
  max-width:56em;
  margin:0;
  padding:0 0 22px;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.contact-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:64px;
  align-items:end;
}
.contact-direct-card{
  padding:26px;
  border:1px solid rgba(16,16,15,.12);
  background:#fff;
}
.contact-direct-card span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.contact-direct-link{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-top:14px;
  color:var(--ink);
  font-size:17px;
  font-weight:520;
  line-height:1.2;
}
.contact-direct-link svg,
.contact-direct-link img{
  width:20px;
  height:20px;
  object-fit:contain;
  color:var(--ink);
}
.contact-direct-link svg{
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.contact-direct-link img{
  opacity:.92;
}
.contact-direct-link em{
  font-style:normal;
}
.contact-hero-social{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid rgba(16,16,15,.1);
}
.contact-hero-social small{
  color:#817d74;
  font-size:12px;
  font-weight:520;
  letter-spacing:.04em;
}
.contact-hero-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  margin:0;
  transition:opacity .28s var(--ease), transform .28s var(--ease);
}
.contact-hero-social img{
  width:100%;
  height:100%;
  object-fit:contain;
}
.contact-hero-social a:hover{
  opacity:.68;
  transform:translateY(-1px);
}
.section.contact-route-section{
  padding-top:0;
  padding-bottom:116px;
}
.contact-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.contact-layout .contact-route-grid{
  grid-column:1 / -1;
  order:3;
}
.contact-route-grid a{
  min-height:168px;
  padding:24px;
  background:#fff;
}
.contact-route-grid a:hover{
  background:var(--hover-gray);
}
.thanks-hero{
  position:relative;
  isolation:isolate;
  padding:120px 0 88px;
  overflow:hidden;
  background:#070707;
}
.thanks-hero::before,
.thanks-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.thanks-hero::before{
  z-index:-2;
  background-image:url('/assets/sgoria-thanks-hero-flexible-mesh-curtain.webp');
  background-size:cover;
  background-position:center right;
  opacity:.88;
  filter:saturate(.94) contrast(1.04);
  transform:scale(1.02);
}
.thanks-hero::after{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(7,7,7,.72) 0%,rgba(7,7,7,.52) 42%,rgba(7,7,7,.18) 78%,rgba(7,7,7,.06) 100%),
    linear-gradient(0deg,rgba(7,7,7,.32) 0%,rgba(7,7,7,.04) 50%,rgba(7,7,7,.2) 100%);
}
.thanks-hero .breadcrumbs{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.68);
}
.thanks-hero .breadcrumbs li + li::before{
  color:rgba(255,255,255,.38);
}
.thanks-hero .breadcrumbs a:hover{
  color:#fff;
}
.thanks-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,380px);
  gap:64px;
  align-items:end;
}
.thanks-hero .page-hero-inner{
  max-width:820px;
}
.thanks-hero h1{
  max-width:780px;
  color:#fff;
}
.thanks-hero .kicker.dark{
  color:rgba(255,255,255,.72);
}
.thanks-hero .page-hero-inner p:not(.kicker){
  color:rgba(255,255,255,.82);
}
.thanks-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.thanks-contact-card{
  padding:28px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}
.thanks-contact-card span{
  display:block;
  color:rgba(255,255,255,.62);
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.thanks-contact-card a{
  display:block;
  margin-top:16px;
  color:#fff;
  font-size:18px;
  line-height:1.24;
  text-decoration:none;
}
.thanks-contact-card a:hover{
  color:rgba(255,255,255,.78);
}
.thanks-section{
  padding:72px 0 0;
}
.thanks-step-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(16,16,15,.1);
}
.thanks-step-grid article{
  min-height:240px;
  padding:28px;
  background:#fff;
}
.thanks-step-grid span{
  color:#817d74;
  font-size:11px;
  font-weight:620;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.thanks-step-grid strong{
  display:block;
  max-width:12em;
  margin-top:58px;
  color:var(--ink);
  font-size:24px;
  line-height:1.1;
  font-weight:540;
}
.thanks-step-grid p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.thanks-links-section{
  padding-top:72px;
}
.thanks-link-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:30px;
}
.thanks-link-grid a{
  display:grid;
  grid-template-rows:238px 1fr;
  min-height:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  text-decoration:none;
  background:#fff;
  transition:background .24s var(--ease), border-color .24s var(--ease), box-shadow .24s var(--ease), transform .24s var(--ease);
}
.thanks-link-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s var(--ease), filter .55s var(--ease);
}
.thanks-link-grid div{
  display:flex;
  min-height:154px;
  flex-direction:column;
  justify-content:center;
  padding:24px;
}
.thanks-link-grid strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  line-height:1.16;
  font-weight:540;
}
.thanks-link-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.thanks-link-grid a:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.24);
  background:#fff;
  box-shadow:0 18px 42px rgba(16,16,15,.08);
}
.thanks-link-grid a:hover img{
  transform:scale(1.035);
  filter:saturate(.98) contrast(1.04);
}
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) .82fr;
  gap:58px;
  align-items:center;
}
.contact-form{
  display:grid;
  order:1;
  gap:14px;
  padding:30px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.form-head{margin-bottom:6px}
.form-head h2{
  margin:12px 0 0;
  font-size:var(--type-section);
  line-height:1.04;
}
.form-head p{
  max-width:60ch;
  margin:16px 0 0;
  color:var(--muted);
}
.contact-form label{
  display:grid;
  gap:8px;
  color:#4d4a44;
  font-size:12px;
  font-weight:560;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-form label > span{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
}
.contact-form label em{
  color:#8f8a80;
  font-size:13px;
  font-style:normal;
  font-weight:520;
  line-height:1;
  letter-spacing:0;
}
.contact-form input,
.contact-form select{
  height:46px;
  padding:0 13px;
}
.contact-form .form-honeypot{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.contact-form textarea{
  min-height:128px;
  padding:13px;
  resize:vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:#b7b2aa;
  font-weight:300;
  opacity:1;
}
.form-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.form-status{
  min-height:20px;
  margin:0;
  color:#5f5b54;
  font-size:13px;
  line-height:1.5;
}
.g-recaptcha,
.cf-turnstile{
  min-height:78px;
}
.form-status.is-error{
  color:#8a2f22;
}
.contact-form button[disabled]{
  cursor:wait;
  opacity:.68;
}
.contact-catalog-card{
  display:grid;
  order:2;
  justify-items:start;
  justify-self:center;
  gap:18px;
  width:min(100%,600px);
  color:#6f6a62;
  text-align:left;
}
.contact-catalog-card figure{
  width:100%;
  margin:0 0 16px;
  text-align:center;
}
.contact-catalog-card img{
  display:block;
  width:min(100%,580px);
  max-height:440px;
  margin:0 auto;
  object-fit:contain;
  object-position:center;
}
.contact-catalog-card h2{
  width:100%;
  margin:0;
  color:#312f2b;
  font-size:24px;
  line-height:1.16;
  font-weight:520;
}
.contact-catalog-card p{
  width:100%;
  max-width:26em;
  margin:0;
  color:#5f5a52;
  font-size:15px;
  line-height:1.62;
}
.contact-catalog-card .text-link{
  justify-self:start;
  margin-top:2px;
  color:var(--ink);
  font-size:13px;
  font-weight:520;
}
.contact-catalog-card .text-link span{
  display:inline-block;
  margin-left:6px;
  transition:transform .24s var(--ease);
}
.contact-catalog-card .text-link:hover span{
  transform:translateX(3px);
}
.contact-guidance{
  padding-top:8px;
  color:#837e75;
}
.contact-guidance h2{
  max-width:none;
  margin-top:12px;
  color:#6c675f;
  font-size:26px;
  line-height:1.18;
  font-weight:430;
}
.contact-guidance h2 span{
  display:block;
  white-space:nowrap;
}
.contact-guidance .kicker{
  color:#aaa49a;
}
.contact-guidance .guidance-list{
  margin-top:28px;
}
.contact-guidance .guidance-list article{
  padding:18px;
  border-color:rgba(16,16,15,.055);
  background:#fdfdfc;
}
.contact-guidance .guidance-list span{
  color:#bab4aa;
}
.contact-guidance .guidance-list strong{
  margin-top:18px;
  color:#5f5a52;
  font-size:16px;
  font-weight:500;
}
.contact-guidance .guidance-list p{
  color:#8a857d;
  font-size:12.5px;
  line-height:1.5;
}

@media (max-width:1200px){
  .directory-cards,
  .directory-cards.compact,
  .systems-grid,
  .project-listing{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .download-stage-grid,
  .downloads-featured-grid,
  .downloads-card-grid,
  .downloads-library-grid,
  .contact-route-grid,
  .thanks-step-grid,
  .thanks-link-grid,
  .resource-pathways,
  .resource-question-grid,
  .solution-related-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .downloads-layout,
  .downloads-library,
  .downloads-faq,
  .contact-layout,
  .contact-hero-grid,
  .thanks-hero-grid,
  .project-article-layout,
  .project-detail-layout,
  .project-scene-inner,
  .selection-support,
  .wrap.product-choice-note,
  .narrative-row,
  .project-context,
  .resource-feature,
  .resource-support,
  .solution-company,
  .solution-related{
    grid-template-columns:1fr;
  }
  .project-context-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .project-scene-inner{
    min-height:0;
    align-items:start;
  }
  .project-scene-meta{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .project-info-sidebar{
    position:static;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .project-sidebar-card{
    padding:20px;
  }
  .project-takeaways,
  .project-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .project-route-steps{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .solution-work-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .downloads-aside,
  .directory-label,
  .narrative-index{
    position:static;
  }
}

@media (max-width:1200px) and (min-width:861px){
  .contact-layout{
    grid-template-columns:minmax(0,1fr) minmax(410px,.9fr);
    gap:40px;
  }
  .contact-guidance h2{
    font-size:23px;
    line-height:1.16;
  }
}

@media (max-width:760px){
  .section.downloads-featured-section{
    padding-top:58px;
    padding-bottom:48px;
  }
  .section.downloads-library-section{
    padding-bottom:48px;
  }
  .section.downloads-faq-section{
    padding-bottom:68px;
  }
  .breadcrumbs{
    width:min(var(--max),calc(100% - 28px));
    margin-bottom:30px;
    font-size:11px;
  }
  .breadcrumbs.wrap{
    margin-bottom:30px;
  }
  .catalogue-hero,.narrative-hero,.projects-hero,.systems-hero,.downloads-hero,.contact-hero{
    padding-top:88px;
  }
  .section.contact-route-section{
    padding-top:0;
    padding-bottom:64px;
  }
  .product-directory-group,
  .selection-map,
  .project-toolbar,
  .project-context,
  .resource-feature,
  .resource-support,
  .download-row,
  .download-checklist{
    grid-template-columns:1fr;
    align-items:start;
    gap:20px;
  }
  .contact-direct-card{
    display:none;
  }
  .contact-layout .contact-route-grid{
    order:2;
  }
  .contact-catalog-card{
    order:3;
  }
  .directory-label strong{font-size:20px}
  .directory-cards,
  .directory-cards.compact,
  .systems-grid,
  .project-listing,
  .project-context-grid,
  .product-choice-points,
  .project-detail-facts,
  .project-detail-notes,
  .resource-story,
  .resource-pathways,
  .resource-support-points,
  .resource-question-grid,
  .insights-preview-grid,
  .solution-company-links,
  .solution-related-links,
  .downloads-preview-grid,
  .quiet-proof-grid,
  .download-stage-grid,
  .downloads-featured-grid,
  .downloads-card-grid,
  .contact-route-grid,
  .selection-support-list,
  .guidance-list{
    grid-template-columns:1fr;
  }
  .directory-card{
    min-height:0;
  }
  .directory-card img{
    aspect-ratio:16/9;
  }
  .wrap.product-choice-note{
    align-items:start;
    gap:22px;
    margin:42px auto 0;
    padding:46px 0;
  }
  .product-choice-copy h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .product-choice-copy p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .product-choice-points article{
    justify-content:flex-start;
    min-height:0;
    padding:18px;
  }
  .selection-map-item{
    justify-content:flex-start;
  }
  .product-choice-points strong{
    margin-top:18px;
  }
  .selection-map h2,
  .narrative-intro h2,
  .downloads-aside h2,
  .contact-guidance h2,
  .project-toolbar h2,
  .selection-support h2,
  .download-checklist h2,
  .form-head h2{
    font-size:28px;
    line-height:1.08;
  }
  .selection-map-grid,
  .narrative-copy ul,
  .download-main ul{
    grid-template-columns:1fr;
  }
  .narrative-row{
    grid-template-columns:1fr;
    gap:18px;
    padding:24px 0;
  }
  .narrative-intro{
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
    margin-bottom:30px;
    padding-bottom:0;
  }
  .narrative-intro-title,
  .narrative-intro > p:not(.kicker){
    max-width:100%;
  }
  .narrative-row:hover .narrative-copy{
    transform:none;
  }
  .narrative-index{
    gap:8px;
  }
  .narrative-index strong{
    max-width:100%;
    font-size:19px;
  }
  .narrative-copy h2,
  .resource-story h2,
  .download-main h2,
  .project-card h2,
  .system-card h2{
    font-size:23px;
  }
  .resource-feature,
  .resource-support{
    gap:24px;
    padding:42px 0;
  }
  .section.resource-overview-page{
    padding-top:54px;
  }
  .section.downloads-preview-section,
  .section.resource-questions-section,
  .section.resource-prep-section{
    padding-top:52px;
  }
  .section.resource-questions-section{
    padding-top:68px;
    padding-bottom:86px;
  }
  .section.resource-prep-section{
    padding-top:64px;
    padding-bottom:76px;
  }
  .section-head-action{
    align-self:flex-start;
    margin-left:0;
  }
  .resource-feature h2,
  .resource-support h2{
    max-width:100%;
    font-size:24px;
    line-height:1.14;
  }
  .resource-feature p:not(.kicker),
  .resource-support p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .resource-feature img{
    max-height:300px;
  }
  .resource-pathways a,
  .resource-support-points article,
  .resource-question-grid a,
  .insight-preview-card{
    min-height:0;
    padding:18px;
  }
  .insight-article-card{
    grid-template-rows:154px auto;
    padding:0;
  }
  .insight-article-card div{
    padding:16px;
  }
  .resource-pathways strong,
  .resource-support-points strong{
    margin-top:18px;
    font-size:19px;
  }
  .resource-question-grid strong{
    font-size:18px;
  }
  .insight-preview-card strong{
    margin-top:18px;
    font-size:19px;
  }
  .download-checklist > div .btn{
    grid-column:auto;
    justify-self:stretch;
    width:100%;
    margin-top:20px;
  }
  .solution-work{
    padding:30px 0 48px;
  }
  .solution-company,
  .solution-related{
    gap:22px;
    padding:38px 0 46px;
  }
  .solution-company-copy h2,
  .solution-related h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .solution-company-copy p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .solution-company-links a,
  .solution-related-links a{
    display:block;
    min-height:0;
    padding:18px;
  }
  .solution-company-links a{
    padding:16px 0;
  }
  .solution-company-links strong,
  .solution-related-links strong{
    font-size:18px;
  }
  .solution-company-links p,
  .solution-related-links p{
    margin-top:10px;
    font-size:13px;
    line-height:1.52;
  }
  .solution-work-copy h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .solution-work-copy p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .solution-work-steps{
    grid-template-columns:1fr;
  }
  .solution-work-steps article{
    min-height:0;
    padding:18px;
  }
  .solution-work-steps strong{
    margin-top:18px;
    font-size:19px;
  }
  .project-filter-buttons,
  .system-filter-buttons{
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    touch-action:pan-x;
    scroll-snap-type:x proximity;
    scroll-padding-inline:0 34px;
    width:100%;
    max-width:100%;
    padding-bottom:6px;
  }
  .filter-chip{
    flex:0 0 auto;
    scroll-snap-align:start;
  }
  .project-filter-group::after{
    content:"";
    position:absolute;
    right:-1px;
    bottom:6px;
    width:34px;
    height:42px;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(255,255,255,0),#fff 76%);
  }
  .project-search{
    width:100%;
    flex-basis:auto;
  }
  .project-filter-panel{
    gap:18px;
    margin-top:0;
    padding:22px 0 24px;
  }
  .project-listing{
    margin-top:32px;
  }
  .wrap.project-pagination{
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:8px;
    margin-top:62px;
  }
  .project-pagination button{
    min-width:64px;
    min-height:40px;
    padding:0 16px;
  }
  .project-pagination button:first-child,
  .project-pagination button:last-child{
    min-width:84px;
  }
  .project-context{
    gap:24px;
    padding:42px 0;
  }
  .project-context-copy h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .project-context-copy p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .project-context-grid a{
    min-height:0;
    padding:18px;
  }
  .project-context-grid strong{
    margin-top:18px;
    font-size:19px;
  }
  .download-stage-card,
  .contact-route-grid a{
    min-height:0;
    padding:18px;
  }
  .download-stage-card strong,
  .contact-route-grid strong{
    margin-top:14px;
    font-size:18px;
  }
  .download-stage-card p,
  .contact-route-grid p{
    font-size:13px;
    line-height:1.52;
  }
  .system-card img,
  .project-card img{
    aspect-ratio:16/9;
  }
  .project-detail-hero{
    padding-top:88px;
  }
  .project-detail-hero.project-scene-hero{
    min-height:auto;
    padding:88px 0 54px;
  }
  .project-detail-hero.project-scene-hero::before{
    background:
      linear-gradient(180deg,rgba(10,10,9,.76) 0%,rgba(10,10,9,.62) 48%,rgba(10,10,9,.5) 100%),
      var(--project-image) center / cover no-repeat;
  }
  .project-scene-inner{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
  }
  .project-detail-hero .project-scene-copy h1{
    font-size:38px;
    line-height:1;
  }
  .project-detail-hero .project-scene-copy p:not(.kicker){
    font-size:16px;
    line-height:1.62;
  }
  .project-scene-actions{
    margin-top:6px;
  }
  .project-scene-meta{
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
  }
  .project-scene-meta article{
    padding:13px 12px;
  }
  .project-scene-meta span{
    font-size:9px;
    letter-spacing:.12em;
  }
  .project-scene-meta strong{
    margin-top:8px;
    font-size:14px;
    line-height:1.18;
  }
  .project-detail-section{
    padding:54px 0;
  }
  .project-article-section{
    padding:54px 0 60px;
  }
  .project-article-layout{
    gap:34px;
  }
  .project-article-lead{
    padding-bottom:30px;
  }
  .project-article-lead h2{
    font-size:30px;
  }
  .project-article-lead p:not(.kicker){
    font-size:15px;
    line-height:1.68;
  }
  .project-article-block{
    padding:32px 0;
  }
  .project-article-block h3{
    font-size:24px;
  }
  .project-article-block > p:not(.kicker){
    font-size:15px;
    line-height:1.72;
  }
  .project-prep-inline ul,
  .insight-checklist-block ul,
  .project-facts-panel dl,
  .project-info-sidebar,
  .project-takeaways,
  .project-related-grid,
  .project-neighbor-nav{
    grid-template-columns:1fr;
  }
  .project-takeaways article{
    min-height:0;
    padding:18px;
  }
  .project-facts-panel{
    padding:18px;
  }
  .project-facts-panel div{
    min-height:0;
    padding:16px;
  }
  .project-facts-panel dd{
    margin-top:10px;
  }
  .project-takeaways strong{
    margin-top:14px;
    font-size:17px;
  }
  .project-related-section{
    padding-top:38px;
  }
  .project-neighbor-nav a{
    min-height:108px;
    padding:18px;
  }
  .thanks-hero{
    padding:88px 0 56px;
  }
  .thanks-hero-grid{
    gap:28px;
  }
  .thanks-actions .btn{
    width:100%;
  }
  .thanks-contact-card{
    padding:20px;
  }
  .thanks-section{
    padding-top:48px;
  }
  .thanks-step-grid,
  .thanks-link-grid{
    grid-template-columns:1fr;
  }
  .thanks-step-grid article{
    min-height:0;
    padding:20px;
  }
  .thanks-step-grid strong{
    margin-top:26px;
    font-size:20px;
  }
  .thanks-links-section{
    padding-top:50px;
  }
  .thanks-link-grid a{
    grid-template-rows:196px 1fr;
    min-height:0;
    padding:0;
  }
  .thanks-link-grid div{
    min-height:0;
    padding:20px;
  }
  .project-detail-layout aside h2{
    font-size:28px;
  }
  .project-detail-layout{
    gap:24px;
  }
  .project-route-steps{
    grid-template-columns:1fr;
  }
  .project-route-steps article{
    min-height:0;
    padding:20px;
  }
  .project-route-steps strong{
    margin-top:30px;
    font-size:20px;
  }
  .project-detail-facts article,
  .project-detail-notes article{
    min-height:0;
    padding:20px;
  }
  .download-row{
    padding:22px 0;
  }
  .downloads-featured-section{
    padding-bottom:32px;
  }
  .downloads-featured-section .section-head{
    margin-bottom:34px;
  }
  .downloads-library,
  .downloads-faq{
    gap:24px;
    padding-top:26px;
  }
  .downloads-library-section{
    padding-bottom:56px;
  }
  .downloads-faq-section{
    padding-bottom:58px;
  }
  .downloads-faq{
    padding-top:36px;
  }
  .downloads-card-grid,
  .downloads-library-grid{
    grid-template-columns:1fr;
    gap:18px;
  }
  .download-library-card{
    grid-template-rows:220px auto;
  }
  .download-library-card div{
    padding:20px;
  }
  .download-library-card strong{
    margin-top:14px;
    font-size:20px;
  }
  .download-library-card p{
    font-size:13px;
    line-height:1.5;
  }
  .download-library-card b{
    padding-top:22px;
  }
  .downloads-faq h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .downloads-faq-list summary{
    min-height:64px;
    font-size:16px;
  }
  .downloads-faq-list p{
    padding-bottom:18px;
    font-size:13px;
    line-height:1.58;
  }
  .download-row .text-link{
    margin-top:0;
  }
  .download-checklist{
    padding:22px;
  }
  .resource-prep-section .download-checklist{
    padding:0;
  }
  .contact-direct-card,
  .contact-form{
    padding:22px;
  }
  .contact-direct-link{
    font-size:16px;
    word-break:break-word;
  }
  .contact-catalog-card{
    max-width:100%;
    gap:14px;
  }
  .contact-catalog-card figure{
    margin-bottom:12px;
  }
  .contact-catalog-card img{
    max-height:320px;
    object-position:center;
  }
  .contact-catalog-card h2{
    font-size:22px;
  }
  .contact-catalog-card p{
    max-width:100%;
    font-size:14px;
  }
  .contact-guidance h2 span{
    white-space:normal;
  }
  .form-split{
    grid-template-columns:1fr;
  }
}

.page-hero h1,
.narrative-copy h2,
.resource-story h2,
.download-main h2,
.project-card h2,
.system-card h2,
.selection-map h2,
.narrative-intro h2,
.downloads-aside h2,
.selection-support h2,
.download-checklist h2,
.form-head h2{
  font-weight:520;
}
.project-filter-buttons{
  scrollbar-width:none;
}
.system-filter-buttons{
  scrollbar-width:none;
}
.project-filter-buttons::-webkit-scrollbar,
.system-filter-buttons::-webkit-scrollbar{
  display:none;
}
.product-detail-hero,.solution-detail-hero,.resource-detail-hero{
  padding-top:112px;
}
.product-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:58px;
  align-items:end;
}
.product-detail-media{
  margin:0;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
}
.product-detail-media img{
  aspect-ratio:4/3;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.product-detail-hero-material{
  position:relative;
  min-height:clamp(500px, calc(72vh - 86px), 600px);
  padding-top:72px;
  padding-bottom:56px;
  overflow:hidden;
}
.product-detail-hero-material .product-detail-hero-grid{
  grid-template-columns:minmax(0,1fr) minmax(340px,36vw);
  gap:60px;
  align-items:center;
  min-height:clamp(320px,38vh,430px);
}
.product-detail-hero-material .page-hero-inner{
  max-width:980px;
}
.product-detail-hero-material .page-hero-inner p:not(.kicker){
  max-width:86ch;
  font-size:17px;
  line-height:1.62;
}
.product-detail-hero-material .product-detail-media{
  margin:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(36vw,640px);
  border:0;
  overflow:hidden;
  background:#e8e6df;
}
.product-detail-hero-material .product-detail-media img{
  width:100%;
  height:100%;
  display:block;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
}
.product-detail-hero-chain{
  min-height:clamp(500px, calc(70vh - 86px), 590px);
}
.product-detail-hero-chain .product-detail-media{
  width:min(34vw,600px);
}
.product-detail-hero-scene{
  position:relative;
  isolation:isolate;
  min-height:clamp(520px, calc(76vh - 86px), 680px);
  padding-top:98px;
  padding-bottom:78px;
  overflow:hidden;
  background:#070707;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-detail-hero-scene::before,
.product-detail-hero-scene::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.product-detail-hero-scene::before{
  z-index:-2;
  background-image:var(--product-hero-image);
  background-size:cover;
  background-position:var(--product-hero-position,center);
  opacity:.86;
  filter:saturate(.92) contrast(1.05);
  transform:scale(1.02);
}
.product-detail-hero-scene::after{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(7,7,7,.76) 0%,rgba(7,7,7,.58) 38%,rgba(7,7,7,.2) 72%,rgba(7,7,7,.08) 100%),
    linear-gradient(0deg,rgba(7,7,7,.36) 0%,rgba(7,7,7,.05) 46%,rgba(7,7,7,.24) 100%);
}
.product-detail-hero-scene .breadcrumbs{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.68);
}
.product-detail-hero-scene .breadcrumbs li + li::before{
  color:rgba(255,255,255,.38);
}
.product-detail-hero-scene .breadcrumbs a:hover{
  color:#fff;
}
.product-detail-hero-scene .product-detail-hero-grid,
.product-detail-hero-scene.product-detail-hero-material .product-detail-hero-grid{
  position:relative;
  z-index:2;
  display:block;
  min-height:auto;
}
.product-detail-hero-scene .page-hero-inner,
.product-detail-hero-scene.product-detail-hero-material .page-hero-inner{
  max-width:980px;
}
.product-detail-hero-scene .kicker.dark{
  color:rgba(255,255,255,.7);
}
.product-detail-hero-scene h1{
  max-width:900px;
  color:#fff;
  text-wrap:balance;
}
.product-detail-hero-scene .page-hero-inner p:not(.kicker),
.product-detail-hero-scene.product-detail-hero-material .page-hero-inner p:not(.kicker){
  max-width:720px;
  color:rgba(255,255,255,.82);
  font-size:17px;
  line-height:1.72;
}
.product-detail-hero-scene .product-detail-media{
  display:none;
}
.product-detail-section{
  padding:76px 0;
}
.product-detail-section + .product-detail-section{
  padding-top:76px;
}
.product-detail-overview,
.solution-detail-layout,
.resource-detail-layout{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  align-items:center;
  padding-top:0;
  border-top:0;
}
.product-detail-summary h2,
.solution-detail-layout aside h2,
.resource-detail-layout aside h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-detail-summary p,
.solution-detail-layout aside p,
.resource-detail-layout aside p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.76;
}
.resource-detail-layout aside .btn{
  margin-top:24px;
}
.product-detail-section.product-chain-role-section{
  padding-top:76px;
  padding-bottom:76px;
}
.product-chain-mobile-gallery-section{
  display:none;
}
.product-chain-role{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
  gap:68px;
  align-items:stretch;
  min-width:0;
}
.product-single-role{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);
  gap:68px;
  align-items:stretch;
  min-width:0;
}
.product-chain-role-copy h2{
  max-width:720px;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-chain-role-copy > p{
  max-width:68ch;
  margin:22px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.74;
}
.product-chain-role-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  margin-top:44px;
}
.product-chain-role-options article{
  padding-top:16px;
  border-top:1px solid rgba(16,16,15,.14);
}
.product-chain-role-options span{
  display:block;
  color:#1a1917;
  font-size:13px;
  font-weight:620;
  letter-spacing:.08em;
  line-height:1.3;
  text-transform:uppercase;
}
.product-chain-role-options ul{
  display:grid;
  gap:10px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.product-chain-role-options li{
  color:#393630;
  font-size:15px;
  line-height:1.4;
}
.product-chain-role-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:42px;
}
.product-chain-gallery{
  --chain-gallery-height:560px;
  display:grid;
  grid-template-rows:minmax(0,1fr) 88px;
  gap:12px;
  width:100%;
  max-width:100%;
  min-height:var(--chain-gallery-height);
  min-width:0;
  overflow:hidden;
}
.chain-gallery-main{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:0;
  overflow:hidden;
  background:#f1f0ec;
  touch-action:pan-y;
  user-select:none;
  cursor:grab;
}
.chain-gallery-main.is-dragging{cursor:grabbing;}
.chain-gallery-slide{
  position:absolute;
  inset:0;
  width:100%;
  max-width:100%;
  margin:0;
  opacity:0;
  pointer-events:none;
  transform:translateX(14px) scale(1.015);
  transition:opacity .48s var(--ease), transform .58s var(--ease);
}
.chain-gallery-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) scale(1);
  z-index:1;
}
.chain-gallery-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  -webkit-user-drag:none;
  user-select:none;
  transform:scale(1);
  transition:transform .72s var(--ease), opacity .42s var(--ease);
  filter:saturate(.92) contrast(1.03);
}
.chain-gallery-main:hover .chain-gallery-slide.is-active img{
  transform:scale(1.075);
}
.chain-gallery-nav{
  position:absolute;
  z-index:2;
  right:16px;
  width:38px;
  height:38px;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.78);
  color:#111;
  cursor:pointer;
  font-size:16px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .22s var(--ease), transform .22s var(--ease);
}
.chain-gallery-nav:hover{
  background:#fff;
  transform:translateY(-1px);
}
.chain-gallery-prev{top:16px;}
.chain-gallery-next{top:62px;}
.chain-gallery-play{
  position:absolute;
  z-index:2;
  right:16px;
  bottom:16px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.62);
  background:rgba(255,255,255,.78);
  color:#111;
  cursor:pointer;
  transition:background .22s var(--ease), transform .22s var(--ease);
}
.chain-gallery-play:hover{
  background:#fff;
  transform:translateY(-1px);
}
.chain-gallery-play::before{
  content:"";
  width:10px;
  height:14px;
  border-left:3px solid currentColor;
  border-right:3px solid currentColor;
}
.chain-gallery-play.is-paused::before{
  width:0;
  height:0;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  border-left:12px solid currentColor;
  border-right:0;
}
.chain-gallery-thumbs{
  display:grid;
  grid-template-columns:repeat(var(--chain-thumb-count,6),minmax(0,1fr));
  gap:8px;
  width:100%;
  max-width:100%;
  min-width:0;
}
.chain-gallery-thumb{
  min-width:0;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  overflow:hidden;
  opacity:.58;
  transition:opacity .22s var(--ease), transform .22s var(--ease);
}
.chain-gallery-thumb.is-active{
  opacity:1;
  box-shadow:inset 0 0 0 2px #111;
}
.chain-gallery-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .32s var(--ease);
}
.chain-gallery-thumb:hover{
  opacity:1;
}
.chain-gallery-thumb:hover img{transform:scale(1.08);}
.product-single-visual-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:12px;
  min-height:clamp(460px,42vw,590px);
}
.product-single-visual-grid article{
  position:relative;
  overflow:hidden;
  min-height:0;
  background:#f1f0ec;
}
.product-single-visual-grid article:first-child{
  grid-row:span 2;
}
.product-single-visual-grid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.92) contrast(1.03);
  transition:transform .54s var(--ease);
}
.product-single-visual-grid article:hover img{
  transform:scale(1.045);
}
.product-single-visual-grid strong{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:block;
  padding:12px 13px;
  background:rgba(255,255,255,.88);
  color:#171512;
  font-size:13px;
  line-height:1.18;
  font-weight:580;
}
.product-chain-colours-panel{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:54px;
  align-items:start;
}
.product-chain-arrangements h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-chain-arrangements > p{
  max-width:34em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-chain-arrangement-cards{
  display:grid;
  gap:14px;
  margin-top:36px;
}
.product-chain-arrangement-cards article,
.product-chain-colour-grid article{
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-chain-arrangement-cards img{
  width:100%;
  aspect-ratio:1.56 / 1;
  display:block;
  object-fit:contain;
  padding:18px;
  background:#f9f9f9;
}
.product-chain-arrangement-cards article > div,
.product-chain-colour-grid article > div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border-top:1px solid rgba(16,16,15,.08);
}
.product-chain-arrangement-cards strong,
.product-chain-colour-grid strong{
  color:var(--ink);
  font-size:14px;
  line-height:1.24;
  font-weight:580;
}
.product-chain-arrangement-cards span,
.product-chain-colour-grid span{
  color:#817d74;
  font-size:11px;
  line-height:1.25;
  white-space:nowrap;
}
.product-chain-colour-head{
  margin-bottom:18px;
}
.product-chain-colour-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.product-chain-colour-grid img{
  width:100%;
  aspect-ratio:1.33 / 1;
  display:block;
  object-fit:contain;
  padding:6px;
  background:#f9f9f9;
  filter:saturate(.96) contrast(1.02);
}
.product-chain-pattern-panel{
  display:grid;
  grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr);
  gap:54px;
  align-items:center;
  min-width:0;
}
.product-chain-pattern-panel aside h2{
  max-width:var(--measure-section);
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-chain-pattern-panel aside p{
  max-width:39em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-chain-pattern-specs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 26px;
  margin-top:38px;
  border-top:1px solid rgba(16,16,15,.12);
}
.product-chain-pattern-specs div{
  padding:18px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.product-chain-pattern-specs span{
  display:block;
  color:#8a867d;
  font-size:11px;
  line-height:1.3;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.product-chain-pattern-specs strong{
  display:block;
  margin-top:7px;
  color:#25231f;
  font-size:14px;
  line-height:1.42;
  font-weight:520;
}
.product-chain-pattern-slider{
  position:relative;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  height:clamp(500px,44vw,620px);
  background:#f9f9f9;
  touch-action:pan-y;
  user-select:none;
  cursor:grab;
}
.product-chain-pattern-slider.is-dragging{cursor:grabbing;}
.pattern-slider-slide{
  position:absolute;
  inset:0;
  width:100%;
  max-width:100%;
  margin:0;
  opacity:0;
  pointer-events:none;
  transform:translateX(14px) scale(1.015);
  transition:opacity .48s var(--ease), transform .58s var(--ease);
}
.pattern-slider-slide.is-active{
  opacity:1;
  pointer-events:auto;
  transform:translateX(0) scale(1);
  z-index:1;
}
.pattern-slider-slide img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  -webkit-user-drag:none;
  user-select:none;
  filter:saturate(.94) contrast(1.03);
  transition:transform .72s var(--ease), opacity .42s var(--ease);
}
.product-chain-pattern-slider:hover .pattern-slider-slide.is-active img{
  transform:scale(1.045);
}
.pattern-slider-slide figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 14px;
  background:rgba(255,255,255,.88);
  color:#171512;
}
.pattern-slider-slide figcaption span{
  font-size:11px;
  font-weight:620;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
}
.pattern-slider-slide figcaption strong{
  color:#171512;
  font-size:14px;
  line-height:1.2;
  font-weight:580;
  text-align:right;
}
.product-chain-pattern-slider .chain-gallery-nav,
.product-chain-pattern-slider .chain-gallery-play{
  z-index:4;
}
.product-chain-pattern-slider .chain-gallery-play{
  top:108px;
  bottom:auto;
}
.product-detail-lists{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.product-detail-lists article,
.product-detail-note-grid article,
.solution-detail-cards article,
.resource-detail-cards article{
  padding:26px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-detail-lists span,
.product-detail-note-grid span,
.solution-detail-cards span,
.resource-detail-cards span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-detail-lists ul,
.product-detail-note-grid ul,
.solution-detail-cards ul,
.resource-detail-cards ul{
  display:grid;
  gap:9px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.product-detail-lists li,
.product-detail-note-grid li,
.solution-detail-cards li,
.resource-detail-cards li{
  padding:10px 12px;
  border:1px solid rgba(16,16,15,.09);
  color:#4d4a44;
  font-size:13px;
  line-height:1.3;
  background:#fbfbfa;
}
.product-detail-note-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.product-detail-note-grid h2,
.solution-detail-cards h2,
.resource-detail-cards h2{
  margin:14px 0 0;
  color:var(--ink);
  font-size:28px;
  line-height:1.08;
  font-weight:520;
}
.product-detail-note-grid p,
.solution-detail-cards p,
.resource-detail-cards p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.product-decision-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  align-items:center;
  padding-top:0;
  border-top:0;
}
.product-decision-grid aside h2,
.product-sample-brief h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-decision-grid aside p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.76;
}
.product-decision-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.product-decision-cards article{
  min-height:238px;
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-decision-cards span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-decision-cards ul,
.product-sample-brief ul{
  display:grid;
  gap:9px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.product-decision-cards li,
.product-sample-brief li{
  padding:10px 12px;
  border:1px solid rgba(16,16,15,.09);
  color:#4d4a44;
  font-size:13px;
  line-height:1.38;
  background:#fbfbfa;
}
.product-decision-cards .decision-positive li{
  background:#fbfcfb;
}
.product-decision-cards .decision-muted li{
  color:#6c6860;
}
.product-detail-section.product-sample-brief-section{
  padding-top:76px;
  padding-bottom:76px;
}
.product-sample-brief{
  display:grid;
  grid-template-columns:.82fr 1fr auto;
  gap:32px;
  align-items:center;
  padding:26px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-sample-brief ul{
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0;
}
.product-detail-section.product-model-library{
  padding-top:76px;
  padding-bottom:76px;
}
.product-model-head{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr);
  gap:52px;
  align-items:end;
  padding-bottom:56px;
}
.product-model-head h2,
.product-technical-route aside h2,
.product-resource-panel h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-model-head p,
.product-material-finish-panel > div > p,
.product-technical-route aside p,
.product-resource-panel > div > p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-model-filter-panel{
  display:grid;
  gap:18px;
  padding:22px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-model-search label,
.product-model-filter-panel span{
  display:block;
  margin-bottom:10px;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-model-search input{
  width:100%;
  height:44px;
  border:1px solid rgba(16,16,15,.13);
  border-radius:0;
  background:#fbfbfa;
  color:var(--ink);
  padding:0 14px;
  font:inherit;
  font-size:14px;
  line-height:1;
  outline:none;
  transition:border-color .24s var(--ease), background-color .24s var(--ease), box-shadow .24s var(--ease);
}
.product-model-search input::placeholder{
  color:#9a958c;
}
.product-model-search input:focus{
  border-color:rgba(16,16,15,.38);
  background:#fff;
  box-shadow:0 0 0 3px rgba(16,16,15,.045);
}
.product-model-filter-row{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}
.product-model-filter-row > div{
  min-width:0;
  flex:1 1 auto;
}
.product-model-mini-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  width:max-content;
  padding:0 18px;
  flex:0 0 auto;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  font-weight:560;
  line-height:1;
  transition:background-color .24s var(--ease), transform .24s var(--ease);
}
.product-model-mini-cta::after{
  content:"\2192";
  display:inline-block;
  margin-left:9px;
  font-size:14px;
  line-height:1;
  transition:transform .24s var(--ease);
}
.product-model-mini-cta:hover{
  background:#2c2b28;
  transform:translateY(-1px);
}
.product-model-mini-cta:hover::after{
  transform:translateX(3px);
}
.product-model-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.product-model-filters button{
  appearance:none;
  border:1px solid rgba(16,16,15,.12);
  background:#fbfbfa;
  color:#4c4943;
  padding:9px 13px;
  font:inherit;
  font-size:13px;
  line-height:1;
  cursor:pointer;
  transition:background-color .24s var(--ease), color .24s var(--ease), border-color .24s var(--ease);
}
.product-model-filters button:hover,
.product-model-filters button.is-active{
  border-color:#111;
  background:#111;
  color:#fff;
}
.product-model-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  margin-top:0;
}
.product-model-card{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:0;
  border:1px solid rgba(16,16,15,.08);
  background:#fff;
  overflow:hidden;
  box-shadow:0 1px 0 rgba(16,16,15,.02);
  transition:background-color .24s var(--ease), border-color .24s var(--ease), transform .24s var(--ease);
}
.product-model-card:hover{
  border-color:rgba(16,16,15,.2);
  background:#fbfbfa;
  transform:translateY(-2px);
}
.product-model-card[hidden]{
  display:none;
}
.product-model-card img{
  aspect-ratio:4/3;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.product-model-card > div{
  display:flex;
  flex-direction:column;
  min-height:96px;
  padding:16px 14px 12px;
}
.product-model-card span{
  color:#817d74;
  font-size:10px;
  font-weight:560;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.product-model-card h3{
  margin:0;
  color:var(--ink);
  font-size:18px;
  line-height:1.1;
  font-weight:600;
}
.product-model-card dl{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  margin:auto 0 0;
  padding-top:12px;
}
.product-model-card dl div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:0;
  padding:9px 0 0;
  border-top:1px solid rgba(16,16,15,.08);
  background:transparent;
}
.product-model-card dt{
  color:#817d74;
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.product-model-card dd{
  margin:0;
  color:#111;
  font-size:16px;
  line-height:1.25;
  font-weight:620;
}
.product-model-card dd.is-material-value{
  color:#3d3a34;
  font-size:13px;
  line-height:1.32;
  font-weight:520;
  letter-spacing:.01em;
}
.product-model-empty{
  margin-top:28px;
  padding:18px 22px;
  border:1px solid rgba(16,16,15,.08);
  background:#fbfbfa;
  color:#6b675f;
  font-size:14px;
  line-height:1.55;
  text-align:center;
}
.product-spec-section,
.product-opening-section,
.product-material-finish-section,
.product-technical-route-section,
.product-frame-support-section,
.product-resource-section,
.product-faq-section{
  padding:76px 0;
}
.product-spec-panel{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  align-items:center;
  padding:0;
  border-top:0;
}
.product-material-finish-panel,
.product-opening-panel,
.product-technical-route,
.product-frame-support-panel,
.product-resource-panel,
.product-faq-panel{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  align-items:center;
  padding:0;
  border-top:0;
}
.product-spec-panel > aside,
.product-opening-panel > aside,
.product-material-finish-panel > div:first-child,
.product-technical-route > aside,
.product-frame-support-panel > aside,
.product-resource-panel > div:first-child,
.product-faq-panel > aside{
  min-height:clamp(300px,34vw,420px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.product-material-finish-panel h2,
.product-opening-panel aside h2,
.product-spec-panel aside h2,
.product-technical-route aside h2,
.product-frame-support-panel aside h2,
.product-resource-panel h2,
.product-faq-panel aside h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.product-faq-panel aside p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-spec-panel aside p{
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-opening-panel aside p{
  max-width:38em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-frame-support-panel aside p{
  max-width:40em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.product-frame-support-panel aside .btn{
  width:max-content;
  margin-top:34px;
}
.product-spec-grid,
.product-opening-cards,
.product-material-finish-links,
.product-technical-steps,
.product-frame-support-media,
.product-resource-cards,
.product-faq-list{
  min-height:clamp(300px,34vw,420px);
}
.product-frame-support-media{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
}
.product-frame-support-media article{
  display:flex;
  min-height:0;
  flex-direction:column;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
}
.product-frame-support-media img{
  width:100%;
  aspect-ratio:1.2 / 1;
  display:block;
  object-fit:cover;
  background:#f2f1ed;
  filter:saturate(.92) contrast(1.03);
}
.product-frame-support-media article > div{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  padding:26px;
}
.product-frame-support-media span{
  display:block;
  color:var(--ink);
  font-size:24px;
  line-height:1.16;
  font-weight:560;
}
.product-frame-support-media p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
}
.product-spec-grid{
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-top:0;
}
.product-spec-grid article{
  flex:1 1 auto;
  display:grid;
  grid-template-columns:minmax(140px,.34fr) minmax(0,.66fr);
  gap:32px;
  align-items:center;
  padding:22px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.product-spec-grid span{
  display:block;
  color:#6f6a61;
  font-size:11px;
  font-weight:560;
  letter-spacing:.12em;
  line-height:1.36;
  text-transform:uppercase;
}
.product-spec-grid strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  line-height:1.24;
  font-weight:560;
}
.product-opening-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-content:center;
}
.product-opening-cards article{
  display:flex;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-opening-cards img{
  width:100%;
  aspect-ratio:1.08 / 1;
  display:block;
  object-fit:cover;
  background:#f9f9f9;
  filter:saturate(.94) contrast(1.02);
}
.product-opening-cards div{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  justify-content:center;
  padding:22px;
}
.product-opening-cards strong{
  color:var(--ink);
  font-size:20px;
  line-height:1.18;
  font-weight:560;
}
.product-opening-cards p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.product-technical-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  align-content:center;
}
.product-material-finish-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-content:center;
}
.product-material-finish-links a{
  display:flex;
  min-height:212px;
  flex-direction:column;
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:background-color .24s var(--ease), border-color .24s var(--ease);
}
.product-material-finish-links a:hover{
  border-color:rgba(16,16,15,.2);
  background:var(--hover-gray);
}
.product-material-finish-links strong{
  color:var(--ink);
  font-size:24px;
  line-height:1.12;
  font-weight:560;
}
.product-material-finish-links p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.product-material-finish-links ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin:22px 0 24px;
  padding:18px 0 0;
  border-top:1px solid rgba(16,16,15,.08);
  list-style:none;
}
.product-material-finish-links li{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  padding-left:0;
  color:#24221f;
  font-size:13px;
  line-height:1.32;
}
.product-option-swatch{
  flex:0 0 auto;
  width:10px;
  height:10px;
  border:1px solid rgba(16,16,15,.18);
  background:var(--option-swatch,#c8c9c7);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}
.product-material-finish-links li > span:last-child{
  min-width:0;
}
.product-material-finish-links b{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:#111;
  font-size:13px;
  font-weight:560;
}
.product-material-finish-links b::after{
  content:"→";
  line-height:1;
}
.product-technical-steps article,
.product-resource-cards a{
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-technical-steps article{
  min-height:218px;
  padding:22px;
}
.product-technical-steps span,
.product-resource-cards span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-technical-steps strong,
.product-resource-cards strong{
  display:block;
  margin-top:18px;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:560;
}
.product-technical-steps p,
.product-resource-cards p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.product-resource-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-content:center;
}
.product-resource-cards a{
  display:flex;
  min-height:326px;
  flex-direction:column;
  padding:24px;
  color:inherit;
  text-decoration:none;
  transition:background-color .24s var(--ease), border-color .24s var(--ease);
}
.product-resource-cards img{
  width:100%;
  aspect-ratio:16/10;
  margin-bottom:20px;
  object-fit:cover;
  filter:saturate(.92) contrast(1.03);
}
.product-resource-cards a:hover{
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.2);
}
.product-resource-cards b{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  color:#111;
  font-size:13px;
  font-weight:560;
}
.product-resource-cards b::after{
  content:"→";
  line-height:1;
}
.product-faq-list{
  display:grid;
  align-content:center;
  border-top:1px solid rgba(16,16,15,.14);
}
.product-faq-list details{
  border-bottom:1px solid rgba(16,16,15,.1);
}
.product-faq-list summary{
  position:relative;
  display:block;
  padding:22px 46px 22px 0;
  color:var(--ink);
  font-size:19px;
  line-height:1.28;
  font-weight:540;
  cursor:pointer;
  list-style:none;
}
.product-faq-list summary::-webkit-details-marker{
  display:none;
}
.product-faq-list summary::after{
  content:"+";
  position:absolute;
  top:22px;
  right:4px;
  color:#817d74;
  font-size:22px;
  line-height:1;
  font-weight:360;
}
.product-faq-list details[open] summary::after{
  content:"-";
}
.product-faq-list p{
  max-width:76ch;
  margin:0;
  padding:0 44px 24px 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.product-application-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.product-application-strip a{
  display:grid;
  grid-template-rows:auto auto auto 1fr;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.product-application-strip a:hover{
  background:var(--hover-gray);
}
.product-application-strip img{
  aspect-ratio:16/9;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
}
.product-application-strip span,
.product-application-strip strong,
.product-application-strip p{
  margin-left:20px;
  margin-right:20px;
}
.product-application-strip span{
  margin-top:18px;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.product-application-strip strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:22px;
  line-height:1.12;
  font-weight:520;
}
.product-application-strip p{
  margin-top:12px;
  margin-bottom:20px;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.solution-detail-section,
.resource-detail-section{
  padding:76px 0;
}
.solution-detail-cards,
.resource-detail-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.solution-guide-section{
  padding-top:0;
}
.solution-guide-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:54px;
  align-items:start;
  padding-top:28px;
  border-top:1px solid var(--line-soft);
}
.solution-guide-grid aside h2{
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.04;
  font-weight:520;
}
.solution-guide-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.solution-guide-columns article{
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.solution-guide-columns span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.solution-guide-columns ul,
.solution-guide-columns ol{
  display:grid;
  gap:9px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
  counter-reset:solution-step;
}
.solution-guide-columns li{
  padding:10px 12px;
  border:1px solid rgba(16,16,15,.09);
  color:#4d4a44;
  font-size:13px;
  line-height:1.38;
  background:#fbfbfa;
}
.solution-guide-columns ol li{
  counter-increment:solution-step;
}
.solution-guide-columns ol li::before{
  content:counter(solution-step, decimal-leading-zero) " / ";
  color:#918d85;
  font-size:11px;
  letter-spacing:.08em;
}

@media (max-width:1200px){
  .product-detail-hero-grid,
  .product-detail-overview,
  .product-chain-role,
  .product-single-role,
  .product-model-head,
  .product-spec-panel,
  .product-opening-panel,
  .product-material-finish-panel,
  .product-chain-colours-panel,
  .product-chain-pattern-panel,
  .product-decision-grid,
  .product-technical-route,
  .product-frame-support-panel,
  .product-resource-panel,
  .product-faq-panel,
  .solution-detail-layout,
  .solution-guide-grid,
  .resource-detail-layout{
    grid-template-columns:1fr;
  }
  .product-model-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-technical-steps,
  .product-spec-grid,
  .product-opening-cards,
  .product-material-finish-links,
  .product-frame-support-media,
  .product-resource-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-sample-brief{
    grid-template-columns:1fr;
    align-items:start;
  }
  .product-application-strip{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-chain-colour-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .product-detail-hero-material{
    min-height:0;
    padding-top:88px;
    padding-bottom:60px;
    overflow:visible;
  }
  .product-detail-hero-material .product-detail-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
    min-height:0;
  }
  .product-detail-hero-material .product-detail-media{
    position:static;
    width:100%;
  }
  .product-detail-hero-material .product-detail-media img{
    height:auto;
    aspect-ratio:16/10;
  }
  .chain-gallery-main{
    min-height:360px;
  }
  .product-chain-pattern-slider{
    height:500px;
  }
  .product-single-visual-grid{
    min-height:0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .product-single-visual-grid article:first-child{
    grid-row:auto;
  }
  .product-single-visual-grid article{
    aspect-ratio:4 / 3;
  }
}

@media (max-width:760px){
  .product-detail-hero,.solution-detail-hero,.resource-detail-hero{
    padding-top:88px;
  }
  .product-detail-section,
  .solution-detail-section,
  .resource-detail-section{
    padding:64px 0;
  }
  .product-detail-section + .product-detail-section{
    padding-top:64px;
  }
  .product-spec-section,
  .product-opening-section,
  .product-material-finish-section,
  .product-technical-route-section,
  .product-frame-support-section,
  .product-resource-section,
  .product-faq-section,
  .product-detail-section.product-model-library,
  .product-detail-section.product-chain-role-section,
  .product-detail-section.product-sample-brief-section{
    padding-top:64px;
    padding-bottom:64px;
  }
  .product-detail-lists,
  .product-detail-note-grid,
  .product-model-grid,
  .product-chain-role-options,
  .product-chain-arrangement-cards,
  .product-technical-steps,
  .product-spec-grid,
  .product-opening-cards,
  .product-material-finish-links,
  .product-frame-support-media,
  .product-resource-cards,
  .product-decision-cards,
  .product-chain-pattern-specs,
  .solution-detail-cards,
  .solution-guide-columns,
  .resource-detail-cards,
  .product-application-strip{
    grid-template-columns:1fr;
  }
  .product-chain-colour-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-chain-pattern-slider{
    height:auto;
    aspect-ratio:4 / 3;
  }
  .product-chain-role-section{
    padding-top:58px;
  }
  .product-single-visual-grid{
    grid-template-columns:1fr;
  }
  .product-single-visual-grid article{
    aspect-ratio:16 / 10;
  }
  .chain-gallery-thumbs{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .product-chain-gallery{
    width:100%;
    max-width:100%;
    min-height:0;
    grid-template-rows:auto auto;
  }
  .chain-gallery-main{
    width:100%;
    max-width:100%;
    min-height:260px;
    aspect-ratio:16/10;
  }
  .chain-gallery-thumb{
    aspect-ratio:1.22 / 1;
  }
  .chain-gallery-thumb img{
    width:100%;
    height:100%;
  }
  .product-frame-support-media img{
    aspect-ratio:16 / 10;
  }
  .product-frame-support-media article > div{
    padding:20px;
  }
  .product-detail-lists article,
  .product-detail-note-grid article,
  .product-decision-cards article,
  .solution-detail-cards article,
  .solution-guide-columns article,
  .resource-detail-cards article{
    padding:20px;
  }
  .product-spec-panel > aside,
  .product-opening-panel > aside,
  .product-material-finish-panel > div:first-child,
  .product-technical-route > aside,
  .product-frame-support-panel > aside,
  .product-resource-panel > div:first-child,
  .product-faq-panel > aside,
  .product-spec-grid,
  .product-opening-cards,
  .product-material-finish-links,
  .product-technical-steps,
  .product-frame-support-media,
  .product-resource-cards,
  .product-faq-list{
    min-height:0;
  }
  .product-spec-panel > aside,
  .product-opening-panel > aside,
  .product-material-finish-panel > div:first-child,
  .product-technical-route > aside,
  .product-frame-support-panel > aside,
  .product-resource-panel > div:first-child,
  .product-faq-panel > aside{
    justify-content:flex-start;
  }
  .product-detail-summary h2,
  .product-model-head h2,
  .product-spec-panel aside h2,
  .product-opening-panel aside h2,
  .product-material-finish-panel h2,
  .product-chain-role-copy h2,
  .product-faq-panel aside h2,
  .product-decision-grid aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-sample-brief h2,
  .solution-detail-layout aside h2,
  .solution-guide-grid aside h2,
  .resource-detail-layout aside h2{
    font-size:28px;
  }
  .product-sample-brief ul{
    grid-template-columns:1fr;
  }
  .product-model-head{
    gap:24px;
  }
  .product-model-filter-row{
    display:grid;
    gap:14px;
  }
  .product-model-mini-cta{
    width:100%;
  }
  .product-model-card{
    min-height:auto;
  }
  .product-model-card > div,
  .product-spec-grid article,
  .product-opening-cards div,
  .product-resource-cards a,
  .product-technical-steps article{
    padding:20px;
  }
  .product-spec-grid article{
    grid-template-columns:1fr;
    gap:6px;
    padding:16px 0;
  }
  .product-opening-cards img{
    aspect-ratio:16 / 10;
  }
  .product-detail-note-grid h2,
  .solution-detail-cards h2,
  .resource-detail-cards h2{
    font-size:22px;
  }
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"OPPO Sans",Inter,"Helvetica Neue",Arial,sans-serif;
  color:var(--text);
  background:var(--stone);
  line-height:1.68;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
}
img{display:block;width:100%;height:auto}
a{color:inherit;text-decoration:none}
.wrap{width:min(var(--max),calc(100% - 64px));margin:0 auto}
h1,h2,h3{
  letter-spacing:0;
  text-wrap:balance;
  font-weight:520;
  color:var(--ink);
}
h1,h2{
  font-weight:590;
}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(11,11,11,.1);
  backdrop-filter:blur(18px);
}
.header-inner{
  min-height:80px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:38px;
  align-items:center;
}
.brand img{width:158px}
.main-nav{
  display:flex;
  justify-content:center;
  gap:40px;
  flex-wrap:wrap;
  color:var(--black);
  font-size:14px;
  font-weight:540;
  letter-spacing:.018em;
}
.main-nav > a,
.nav-item > a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  position:relative;
  color:#2b2a27;
  transition:color .24s var(--ease), transform .24s var(--ease);
}
.main-nav > a::before,
.nav-item > a::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:18px;
  height:1px;
  background:rgba(16,16,15,.34);
  transform:translateX(-50%) scaleX(0);
  transform-origin:center;
  transition:transform .3s var(--ease), width .3s var(--ease), background-color .3s var(--ease);
}
.main-nav > a:hover,
.main-nav > a:focus-visible,
.nav-item > a:hover,
.nav-item > a:focus-visible{
  color:#000;
  transform:translateY(-1px);
}
.main-nav > a:hover::before,
.main-nav > a:focus-visible::before,
.nav-item > a:hover::before,
.nav-item > a:focus-visible::before{
  width:22px;
  transform:translateX(-50%) scaleX(1);
  background:rgba(16,16,15,.28);
}
.main-nav > a[aria-current="page"]::before,
.nav-item > a[aria-current="page"]::before,
.has-mega:hover > a::before,
.has-mega:focus-within > a::before,
.has-mega.is-open > a::before{
  width:24px;
  transform:translateX(-50%) scaleX(1);
  background:rgba(16,16,15,.46);
}
.main-nav > a[aria-current="page"],
.nav-item > a[aria-current="page"],
.has-mega:hover > a,
.has-mega:focus-within > a,
.has-mega.is-open > a{
  color:#000;
}
.main-nav > a.has-submenu::after,
.nav-item > a.has-submenu::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.8;
}
.nav-item{
  display:flex;
  align-items:center;
  min-height:80px;
}
.mega-menu{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  background:#fff;
  border-top:1px solid rgba(16,16,15,.045);
  border-bottom:1px solid rgba(16,16,15,.09);
  box-shadow:0 24px 48px rgba(16,16,15,.08);
  overflow-x:hidden;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity .26s var(--ease), transform .26s var(--ease), visibility 0s linear .26s;
}
.has-mega:hover .mega-menu,
.has-mega:focus-within .mega-menu,
.has-mega.is-open .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:opacity .26s var(--ease), transform .26s var(--ease), visibility 0s;
}
.has-mega:hover > a,
.has-mega:focus-within > a,
.has-mega.is-open > a{
  color:#000;
}
.mega-inner{
  display:grid;
  width:min(1120px,calc(100% - 80px));
  grid-template-columns:minmax(220px,.92fr) minmax(280px,1.05fr) minmax(320px,.98fr);
  gap:52px;
  padding:40px 0 44px;
  align-items:start;
}
.mega-column h3{
  margin:0 0 22px;
  color:var(--black);
  font-size:21px;
  line-height:1.15;
  font-weight:590;
  letter-spacing:0;
}
.mega-column a{
  display:flex;
  align-items:center;
  width:100%;
  min-height:36px;
  padding:7px 0 8px;
  color:#6c6962;
  font-size:14px;
  line-height:1.28;
  font-weight:540;
  letter-spacing:.018em;
  position:relative;
  transition:padding-left .24s var(--ease), color .24s var(--ease), background-color .24s var(--ease);
}
.mega-column a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:60%;
  height:1px;
  background:rgba(16,16,15,.028);
}
.mega-column a:hover{
  padding-left:6px;
  background:var(--nav-hover);
  color:#24231f;
}
.mega-column a.mega-link-cta{
  color:#2b2a26;
}
.mega-column a.mega-link-cta::before{
  content:"";
  position:absolute;
  right:38%;
  width:7px;
  height:7px;
  border-right:1.3px solid currentColor;
  border-top:1.3px solid currentColor;
  transform:rotate(45deg);
  opacity:.72;
  transition:transform .24s var(--ease), opacity .24s var(--ease);
}
.mega-column a.mega-link-cta:hover::before{
  transform:translateX(3px) rotate(45deg);
  opacity:1;
}
.main-nav .mega-feature{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:0;
  padding:18px 18px 17px;
  border-left:1px solid rgba(16,16,15,.07);
  background:#fbfbfa;
  color:var(--black);
  min-width:0;
  max-width:100%;
  transition:background-color .24s var(--ease), transform .24s var(--ease);
}
.main-nav .mega-feature:hover{
  background:#f8f8f6;
  transform:translateY(-1px);
}
.main-nav .mega-feature.product-guide-card{
  justify-content:start;
  padding:0;
  border-left:0;
  background:transparent;
  transform:none;
}
.main-nav .mega-feature.product-guide-card:hover{
  background:transparent;
  transform:none;
}
.main-nav .mega-feature.product-guide-card img{
  max-height:224px;
  aspect-ratio:1.56;
  object-fit:contain;
  object-position:left center;
  background:transparent;
}
.main-nav .mega-feature.product-guide-card strong{
  max-width:260px;
  margin-top:16px;
  font-size:18px;
  line-height:1.18;
}
.main-nav .mega-feature.product-guide-card b{
  margin-top:13px;
  font-size:13px;
  font-weight:500;
  color:#5d5b56;
  border-bottom:0;
  padding-bottom:0;
  align-items:center;
  gap:8px;
}
.main-nav .mega-feature.product-guide-card b::after{
  content:"";
  width:7px;
  height:7px;
  border-right:1.2px solid currentColor;
  border-top:1.2px solid currentColor;
  transform:rotate(45deg);
  opacity:.78;
  transition:transform .24s var(--ease), opacity .24s var(--ease);
}
.main-nav .mega-feature.product-guide-card:hover b::after{
  transform:translateX(3px) rotate(45deg);
  opacity:1;
}
.main-nav .mega-feature.resource-guide-card img{
  max-height:172px;
  aspect-ratio:1.65;
  object-fit:contain;
  object-position:left center;
}
.main-nav .mega-feature.resource-guide-card strong{
  max-width:100%;
  white-space:nowrap;
}
.main-nav .mega-feature.solution-guide-card img{
  max-height:172px;
  aspect-ratio:1.65;
  object-fit:contain;
  object-position:left center;
}
.main-nav .mega-feature span{
  display:block;
  margin-bottom:13px;
  color:#8e8b84;
  font-size:11px;
  line-height:1;
  font-weight:560;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.main-nav .mega-feature img{
  width:100%;
  max-height:154px;
  aspect-ratio:1.9;
  object-fit:cover;
  background:#f3f2ee;
}
.main-nav .mega-feature.text-only{
  min-height:100%;
  justify-content:center;
  padding:26px 24px 24px;
  border-left:1px solid rgba(16,16,15,.07);
  background:linear-gradient(180deg,#fbfbfa 0%,#f7f7f5 100%);
}
.main-nav .mega-feature.text-only span{
  margin-bottom:18px;
}
.main-nav .mega-feature.text-only strong{
  max-width:310px;
  margin-top:0;
  font-size:20px;
  line-height:1.28;
}
.main-nav .mega-feature.text-only em{
  max-width:320px;
  margin-top:13px;
}
.main-nav .mega-feature strong{
  display:block;
  max-width:290px;
  margin-top:16px;
  color:var(--black);
  font-size:18px;
  line-height:1.22;
  font-weight:590;
  letter-spacing:0;
  text-wrap:balance;
}
.main-nav .mega-feature em{
  display:block;
  max-width:292px;
  margin-top:9px;
  color:#716e66;
  font-size:13px;
  line-height:1.45;
  font-style:normal;
  font-weight:430;
  letter-spacing:.02em;
}
.main-nav .mega-feature small{
  display:inline-flex;
  width:max-content;
  margin-top:12px;
  padding-top:7px;
  border-top:1px solid rgba(16,16,15,.07);
  color:#6c6962;
  font-size:12px;
  line-height:1;
  font-weight:540;
  letter-spacing:.045em;
}
.main-nav .mega-feature small + small{
  margin-top:8px;
}
.main-nav .mega-feature b{
  display:inline-flex;
  width:max-content;
  margin-top:18px;
  color:#191917;
  font-size:13px;
  line-height:1;
  font-weight:620;
  letter-spacing:.02em;
  border-bottom:1px solid rgba(16,16,15,.38);
  padding-bottom:4px;
}
.header-actions{display:flex;align-items:center;gap:14px}
.header-actions .btn{
  min-height:48px;
  padding:0 21px;
  font-size:13px;
  letter-spacing:0;
}
.link-action,.text-link,.section-link{
  color:inherit;
  font-size:13px;
  font-weight:700;
}
.text-link{
  align-items:center;
  gap:12px;
}
.text-link span[aria-hidden="true"]{
  display:inline-block;
  transition:transform .24s var(--ease);
}
.text-link:hover span[aria-hidden="true"]{
  transform:translateX(3px);
}
.section-link{border-bottom:1px solid currentColor;padding-bottom:3px}
.section-link.light{color:var(--white)}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 22px;
  border:1px solid var(--line-strong);
  border-radius:3px;
  font-size:13px;
  font-weight:620;
  letter-spacing:.02em;
  white-space:nowrap;
  transition:transform .28s var(--ease), background-color .28s var(--ease), border-color .28s var(--ease), color .28s var(--ease);
}
.btn:hover{transform:translateY(-1px)}
.btn-dark{background:var(--ink);color:var(--white);border-color:var(--ink)}
.btn-outline-dark{background:transparent;color:var(--ink);border-color:rgba(16,16,15,.36)}
.btn-light{background:var(--white);color:var(--black);border-color:var(--white)}
.btn-outline-light{background:rgba(255,255,255,.06);color:var(--white);border-color:rgba(255,255,255,.42)}
.btn-dark:hover{background:#000;border-color:#000}
.btn-outline-dark:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn-menu-light{
  background:#fff;
  color:var(--black);
  border-color:var(--black);
}
.mobile-menu-panel .btn-dark{
  background:var(--black);
  color:var(--white);
  border-color:var(--black);
}
.mobile-menu{display:none}
.mobile-menu > summary{
  list-style:none;
  width:44px;
  height:44px;
  border:1px solid rgba(0,0,0,.16);
  border-radius:5px;
  position:relative;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:border-color .35s cubic-bezier(.22,1,.36,1), background-color .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1);
}
.mobile-menu > summary::-webkit-details-marker{display:none}
.mobile-menu > summary span,
.mobile-menu > summary::before,
.mobile-menu > summary::after{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  height:2px;
  background:var(--black);
  border-radius:999px;
  transition:transform .42s cubic-bezier(.22,1,.36,1), top .42s cubic-bezier(.22,1,.36,1), bottom .42s cubic-bezier(.22,1,.36,1), opacity .28s ease;
}
.mobile-menu > summary span{
  top:20px;
}
.mobile-menu > summary::before{top:15px}
.mobile-menu > summary::after{bottom:15px}
.mobile-menu.is-open > summary::before{
  top:20px;
  transform:rotate(45deg);
}
.mobile-menu.is-open > summary::after{
  bottom:auto;
  top:20px;
  transform:rotate(-45deg);
}
.mobile-menu.is-open > summary span{
  opacity:0;
  transform:scaleX(.45);
}
.mobile-menu.is-open > summary{
  border-color:rgba(0,0,0,.22);
  background:rgba(0,0,0,.01);
}
.mobile-menu-panel{
  position:fixed;
  left:50%;
  top:76px;
  transform:translateX(-50%);
  width:calc(100vw - 32px);
  max-width:520px;
  max-height:calc(100svh - 104px);
  padding:16px;
  border:1px solid rgba(0,0,0,.14);
  border-radius:6px;
  background:#fff;
  box-shadow:0 22px 52px rgba(0,0,0,.14);
  display:grid;
  gap:6px;
  overflow-y:auto;
  overscroll-behavior:contain;
  z-index:60;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(-8px) scale(.982);
  transition:opacity .32s cubic-bezier(.22,1,.36,1), transform .32s cubic-bezier(.22,1,.36,1), visibility 0s linear .32s;
}
.mobile-menu.is-open .mobile-menu-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
  transition:opacity .32s cubic-bezier(.22,1,.36,1), transform .32s cubic-bezier(.22,1,.36,1), visibility 0s;
}
.mobile-menu-panel > a{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:16px;
  font-weight:500;
  color:var(--black);
  padding:10px 4px;
  opacity:0;
  transform:translateY(-5px);
  transition:opacity .24s ease, transform .24s ease;
}
.mobile-nav-group{
  opacity:0;
  transform:translateY(-5px);
  border-bottom:1px solid rgba(16,16,15,.08);
  transition:opacity .24s ease, transform .24s ease;
}
.mobile-nav-group > summary{
  list-style:none;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 4px;
  color:var(--black);
  font-size:16px;
  font-weight:540;
  cursor:pointer;
}
.mobile-nav-group > summary::-webkit-details-marker{display:none}
.mobile-nav-group > summary::after{
  content:"";
  width:6px;
  height:6px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.68;
  transition:transform .28s var(--ease), opacity .28s var(--ease);
}
.mobile-nav-group[open] > summary::after{
  transform:rotate(225deg) translate(-1px,-1px);
  opacity:1;
}
.mobile-submenu{
  display:grid;
  gap:8px;
  padding:6px 0 18px 16px;
  animation:mobilePanelReveal .32s var(--ease) both;
}
.mobile-menu-block{
  display:block;
  margin-left:2px;
  border-left:1px solid rgba(16,16,15,.09);
}
.mobile-menu-block > summary{
  list-style:none;
  min-height:36px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0 8px 16px;
  color:#1f1e1a;
  font-size:16px;
  font-weight:500;
  line-height:1.25;
  cursor:pointer;
}
.mobile-menu-block > summary::-webkit-details-marker{display:none}
.mobile-menu-block > summary::before{
  content:"";
  width:5px;
  height:5px;
  border-right:1.3px solid currentColor;
  border-bottom:1.3px solid currentColor;
  transform:rotate(-45deg);
  opacity:.62;
  transition:transform .28s var(--ease), opacity .28s var(--ease);
}
.mobile-menu-block[open] > summary::before{
  transform:rotate(45deg) translateY(-1px);
  opacity:1;
}
.mobile-menu-block > div{
  display:grid;
  padding:2px 0 10px 24px;
  animation:mobilePanelReveal .3s var(--ease) both;
}
.mobile-menu-panel .mobile-menu-block a,
.mobile-menu-panel .mobile-menu-cta{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:6px 0 6px 10px;
  color:#68645b;
  font-size:13px;
  line-height:1.28;
  font-weight:500;
  letter-spacing:.006em;
  border-bottom:1px solid rgba(16,16,15,.04);
  opacity:1;
  transform:none;
}
.mobile-menu-panel .mobile-menu-cta{
  color:var(--black);
  font-weight:590;
  padding-left:14px;
}
.mobile-menu-panel .mobile-menu-cta::after{
  content:"";
  width:6px;
  height:6px;
  margin-left:auto;
  border-top:1.3px solid currentColor;
  border-right:1.3px solid currentColor;
  transform:rotate(45deg);
  opacity:.72;
}
.mobile-menu.is-open .mobile-menu-panel > a,
.mobile-menu.is-open .mobile-nav-group{
  opacity:1;
  transform:translateY(0);
}
.mobile-nav-group[open] > .mobile-submenu{
  animation:mobilePanelReveal .34s var(--ease) both;
}
@keyframes mobilePanelReveal{
  from{
    opacity:.78;
    transform:translateY(-6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(1){transition-delay:.03s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(2){transition-delay:.06s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(3){transition-delay:.09s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(4){transition-delay:.12s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(5){transition-delay:.15s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(6){transition-delay:.18s}
.mobile-menu.is-open .mobile-menu-panel > a:nth-child(7){transition-delay:.21s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(1){transition-delay:.14s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(2){transition-delay:.11s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(3){transition-delay:.08s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(4){transition-delay:.05s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(5){transition-delay:.02s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(6){transition-delay:0s}
.mobile-menu:not(.is-open) .mobile-menu-panel > a:nth-child(7){transition-delay:0s}
.mobile-menu-panel a.has-submenu::after{
  content:"";
  width:5px;
  height:5px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  opacity:.75;
}
.hero{
  position:relative;
  min-height:calc(100svh - 80px);
  background:#070707;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.hero-carousel-stage{
  position:relative;
  flex:1;
  width:100%;
  max-width:100vw;
  min-height:calc(100svh - 156px);
  overflow:hidden;
  background:#070707;
  cursor:grab;
  touch-action:pan-y;
  isolation:isolate;
  -webkit-user-select:none;
  user-select:none;
}
.hero-carousel-stage.is-dragging{
  cursor:grabbing;
}
.is-hero-dragging,
.is-hero-dragging *{
  -webkit-user-select:none !important;
  user-select:none !important;
}
.hero-carousel-track{
  height:100%;
  min-height:inherit;
  width:100%;
  min-width:100%;
  display:flex;
  transition:transform .78s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}
.hero-slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  max-width:100%;
  min-width:100%;
  overflow:hidden;
  background:#070707;
}
.hero-media,.hero-overlay{position:absolute;inset:0}
.hero-media{
  overflow:hidden;
  background:#070707;
}
.hero-media img{
  width:100%;
  height:100%;
  min-width:100%;
  min-height:100%;
  -webkit-user-drag:none;
  object-fit:cover;
  object-position:center;
  opacity:.78;
  filter:grayscale(.03) contrast(1.06) saturate(.9);
  transform:scale(1.04);
  transition:transform 8s ease, opacity .5s ease;
}
.hero-slide-applications .hero-media img{
  object-position:68% center;
}
.hero-slide.is-active .hero-media img{
  transform:scale(1);
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(7,7,7,.88) 0%,rgba(7,7,7,.7) 38%,rgba(7,7,7,.22) 76%,rgba(7,7,7,.08) 100%),
    linear-gradient(0deg,rgba(7,7,7,.66) 0%,rgba(7,7,7,.12) 44%,rgba(7,7,7,.36) 100%);
}
.hero-layout{
  position:relative;
  z-index:2;
  min-height:calc(100svh - 154px);
  display:flex;
  align-items:center;
  padding:80px 0 38px;
}
.hero-copy{
  max-width:var(--measure-hero);
}
.kicker{
  margin:0;
  color:rgba(255,255,255,.68);
  font-size:12px;
  font-weight:620;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.kicker.dark{color:var(--muted)}
.hero h1,
.hero-title{
  margin:20px 0 0;
  max-width:var(--measure-hero);
  color:var(--white);
  font-size:var(--type-hero);
  line-height:.94;
}
.hero-copy p:not(.kicker){
  max-width:720px;
  margin:30px 0 0;
  color:rgba(255,255,255,.8);
  font-size:17px;
  line-height:1.8;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-carousel-status{
  position:absolute;
  top:24px;
  right:clamp(18px,4vw,54px);
  z-index:3;
  display:flex;
  align-items:center;
  gap:9px;
  color:rgba(255,255,255,.68);
  font-size:11px;
  font-weight:620;
  letter-spacing:.18em;
  line-height:1;
  pointer-events:none;
}
.hero-status-sep{
  width:22px;
  height:1px;
  background:rgba(255,255,255,.26);
}
.hero-strip{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:-2px;
  padding-top:2px;
  border-top:0;
  border-bottom:0;
  background:#070707;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.hero-strip a{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 18px;
  color:var(--white);
  border-right:1px solid rgba(255,255,255,.12);
  font-size:14px;
  font-weight:620;
}
.hero-strip a:last-child{border-right:0}
.hero-strip a::after{content:"+";color:rgba(255,255,255,.58)}
.section,.intro{padding:116px 0}
.section.product-detail-section{
  padding-top:76px;
  padding-bottom:76px;
}
.section.product-detail-section + .section.product-detail-section{
  padding-top:76px;
}
.section.product-spec-section,
.section.product-opening-section,
.section.product-material-finish-section,
.section.product-technical-route-section,
.section.product-resource-section,
.section.product-faq-section,
.section.product-detail-section.product-model-library,
.section.product-detail-section.product-chain-role-section,
.section.product-detail-section.product-sample-brief-section{
  padding-top:76px;
  padding-bottom:76px;
}
.section.downloads-featured-section{
  padding-top:116px;
  padding-bottom:88px;
}
.section.downloads-library-section{
  padding-top:0;
  padding-bottom:88px;
}
.section.downloads-faq-section{
  padding-top:0;
  padding-bottom:116px;
}
.intro{
  display:flex;
  align-items:center;
  min-height:auto;
  padding-top:clamp(118px,11.5vh,136px);
  padding-bottom:clamp(118px,11.5vh,136px);
}
.band-white{background:#ffffff;color:#111}
.band-stone{background:var(--stone);color:#111}
.intro.band-stone{background:#f8f7f3}
.band-black{background:var(--black);color:var(--white)}
.product-explore{
  padding-top:104px;
  border-top:1px solid rgba(16,16,15,.08);
}
.intro-showcase,.selection-layout,.material-grid,.trust-grid,.resources-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:76px;
  align-items:start;
}
.selection-layout{
  grid-template-columns:.72fr minmax(180px,.28fr) 1.28fr;
  align-items:start;
}
.section-head-side{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  padding-top:34px;
}
h2{
  margin:12px 0 0;
  max-width:var(--measure-section);
  color:inherit;
  font-size:var(--type-section);
  line-height:1.08;
}
.band-black h2,.final-cta h2{color:var(--white)}
.lead,.section-note{
  margin:0;
  max-width:62ch;
  color:inherit;
  opacity:.74;
  font-size:16px;
  line-height:1.8;
}
.section-head{
  display:flex;
  justify-content:space-between;
  gap:34px;
  align-items:end;
  margin-bottom:46px;
}
.section-head h2{max-width:var(--measure-section)}
.section-head > div{max-width:860px}
.section-note{max-width:380px}
.intro-showcase{align-items:center}
.intro-gallery{
  display:grid;
  grid-template-columns:1.08fr 1fr;
  grid-template-rows:198px 198px;
  gap:16px;
  align-items:center;
  max-width:620px;
}
.intro-gallery figure{
  position:relative;
  margin:0;
  min-height:0;
  overflow:hidden;
  background:#ddd;
}
.intro-gallery img{
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
}
.intro-gallery .gallery-tall{
  grid-row:span 2;
  height:520px;
}
.intro-gallery .gallery-wide{
  width:100%;
  justify-self:start;
  transform:translateY(14px);
}
.intro-content{
  display:grid;
  justify-items:start;
  gap:22px;
}
.intro-content h2{
  max-width:15em;
  font-size:clamp(42px,2.45vw,46px);
  line-height:1.06;
}
.intro-content .lead{
  max-width:62ch;
  font-size:15.5px;
  line-height:1.72;
}
.intro-content > p:not(.kicker):not(.lead){
  margin:0;
  max-width:62ch;
  color:rgba(17,17,17,.72);
  font-size:15px;
  line-height:1.72;
}
.selection-path-section{
  padding:64px 0 52px;
  border-top:1px solid rgba(16,16,15,.06);
  border-bottom:1px solid rgba(16,16,15,.06);
}
.selection-path-layout{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:52px;
  align-items:start;
}
.selection-path-copy h2{
  max-width:15em;
  font-size:clamp(30px,2.05vw,36px);
  line-height:1.08;
}
.selection-path-copy p:not(.kicker){
  margin:16px 0 0;
  max-width:48ch;
  color:rgba(17,17,17,.68);
  font-size:15px;
  line-height:1.62;
}
.selection-path-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
  margin:8px 0 0;
  padding:0;
  list-style:none;
  border-top:1px solid rgba(16,16,15,.16);
}
.selection-path-list li{
  position:relative;
  min-height:144px;
  padding:20px 12px 0 0;
}
.selection-path-list li::before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--ink);
}
.selection-path-list span{
  display:block;
  color:rgba(17,17,17,.42);
  font-size:12px;
  font-weight:560;
  letter-spacing:.14em;
}
.selection-path-list strong{
  display:block;
  margin-top:14px;
  color:var(--ink);
  font-size:17px;
  font-weight:590;
  line-height:1.12;
}
.selection-path-list p{
  margin:9px 0 0;
  color:rgba(17,17,17,.64);
  font-size:12.5px;
  line-height:1.4;
}
.product-system{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
.product-system-cta{
  display:flex;
  justify-content:flex-end;
  margin-top:22px;
}
.product-system-cta-mobile{
  display:none;
}
.family-feature{
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  color:inherit;
  text-decoration:none;
  background:#fff;
  transition:transform .34s var(--ease), border-color .34s var(--ease), box-shadow .34s var(--ease);
}
.family-feature img{
  height:auto;
  min-height:0;
  aspect-ratio:16/5.8;
  object-fit:cover;
  transition:transform .7s var(--ease), filter .7s var(--ease);
}
.product-system .family-feature img{
  aspect-ratio:16/7.1;
}
.family-feature:hover{
  transform:translateY(-3px);
  border-color:rgba(16,16,15,.28);
  box-shadow:0 22px 42px rgba(16,16,15,.08);
}
.family-feature:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1.05);
}
.family-feature div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:188px;
  padding:22px 24px;
}
.family-feature span,.custom-main span,.resource-cards span{
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}
h3{
  margin:12px 0 0;
  color:inherit;
  font-size:var(--type-card);
  line-height:1.08;
}
.family-feature p,.custom-main p,.custom-list p,.resource-cards p{
  margin:10px 0 0;
  line-height:1.58;
  color:inherit;
}
.family-feature .product-card-action,
.signature-secondary .product-card-action{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-top:16px;
  padding-top:0;
  font-size:11px;
  font-weight:500;
  letter-spacing:.08em;
  line-height:1;
}
.family-feature .product-card-action::after,
.signature-secondary .product-card-action::after{
  width:7px;
  height:7px;
  margin-left:10px;
  background:transparent;
  border-top:1.4px solid currentColor;
  border-right:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
  transition:transform .24s var(--ease), opacity .24s var(--ease);
}
.family-feature:hover .product-card-action::after,
.signature-secondary a:hover .product-card-action::after{
  width:7px;
  transform:translateX(4px) rotate(45deg) translateY(-1px);
}
.signature-secondary .product-card-action{margin-top:16px}
.signature-primary strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:22px;
  font-weight:590;
  line-height:1.08;
}
.signature-secondary{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
  height:100%;
}
.signature-secondary article,
.signature-secondary a{
  min-height:0;
  height:100%;
  display:grid;
  grid-template-columns:.9fr 1fr;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  color:inherit;
  text-decoration:none;
  background:#fff;
  transition:transform .34s var(--ease), border-color .34s var(--ease), box-shadow .34s var(--ease);
}
.signature-secondary img{
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  filter:saturate(.9) contrast(1.03);
  transition:transform .7s var(--ease), filter .7s var(--ease);
}
.signature-secondary article:hover,
.signature-secondary a:hover{
  transform:translateY(-3px);
  border-color:rgba(16,16,15,.28);
  box-shadow:0 18px 34px rgba(16,16,15,.07);
}
.signature-secondary article:hover img,
.signature-secondary a:hover img{
  transform:scale(1.03);
  filter:saturate(.98) contrast(1.06);
}
.signature-secondary div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 22px;
}
.signature-secondary span{
  color:var(--muted);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.signature-secondary strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:22px;
  font-weight:590;
  line-height:1.08;
}
.signature-secondary p{
  margin:10px 0 0;
  color:inherit;
  font-size:14px;
  line-height:1.58;
}
.signature-secondary .product-card-action{margin-top:16px}
.family-list{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:24px;
}
.supporting-family-list{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.supporting-family-list a{
  grid-column:auto;
}
.family-list a{
  min-height:132px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  transition:transform .28s var(--ease), border-color .28s var(--ease), background-color .28s var(--ease);
}
.family-list a.has-thumb{
  min-height:190px;
  padding:0;
  overflow:hidden;
}
.supporting-family-list a.has-thumb{
  min-height:232px;
  border-color:rgba(0,0,0,.1);
}
.family-list a.has-thumb img{
  aspect-ratio:16/8.5;
  object-fit:cover;
  filter:saturate(.9) contrast(1.03);
}
.supporting-family-list a.has-thumb img{
  aspect-ratio:16/9.6;
}
.family-list a.has-thumb strong,
.family-list a.has-thumb span{
  padding-left:16px;
  padding-right:16px;
}
.supporting-family-list a.has-thumb strong,
.supporting-family-list a.has-thumb span{
  padding-left:20px;
  padding-right:20px;
}
.family-list a.has-thumb span{margin-top:12px}
.family-list a.has-thumb strong{padding-bottom:14px}
.supporting-family-list a.has-thumb span{margin-top:18px}
.supporting-family-list a.has-thumb strong{padding-bottom:20px}
.family-list a:hover{border-color:rgba(16,16,15,.24);background:var(--hover-gray)}
.family-list .family-guide{
  position:relative;
  min-height:190px;
  justify-content:flex-end;
  background:var(--guide-gray);
  border-color:rgba(16,16,15,.16);
  overflow:hidden;
}
.supporting-family-list .family-guide{
  min-height:232px;
}
.family-list .family-guide::after{
  content:"";
  position:absolute;
  top:-34px;
  right:-34px;
  width:152px;
  height:152px;
  opacity:.72;
  background:url("./whatsapp.svg") center / contain no-repeat;
  pointer-events:none;
}
.family-list .family-guide strong,
.family-list .family-guide span{
  position:relative;
  z-index:1;
}
.family-list .family-guide strong{
  max-width:14ch;
  color:var(--ink);
  font-size:22px;
  line-height:1.08;
  letter-spacing:0;
}
.family-list .family-guide span{
  margin-top:14px;
  color:rgba(17,17,17,.68);
  line-height:1.55;
}
.family-list .family-guide:hover{
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.26);
}
.family-list strong{
  color:inherit;
  font-size:15px;
  font-weight:590;
  line-height:1.18;
  letter-spacing:0;
}
.family-list span{
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  color:#a8a8a2;
}
.family-list .family-guide strong{
  max-width:14ch;
  color:var(--ink);
  font-size:22px;
  font-weight:590;
  line-height:1.08;
  letter-spacing:0;
}
.family-list .family-guide span{
  margin-top:14px;
  color:rgba(17,17,17,.68);
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  line-height:1.55;
}
.workflow-row,.application-notes,.faq-preview,.certificate-strip{
  display:grid;
  gap:12px;
}
.workflow-row article,
.application-notes article,
.faq-preview article{
  padding:22px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
}
.workflow-row span,
.application-notes strong,
.faq-preview strong,
.certificate-strip span{
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:620;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.workflow-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:24px;
}
.workflow-row article{min-height:160px}
.workflow-row strong{display:block;margin-top:12px;color:inherit;font-size:19px;text-transform:none;letter-spacing:0}
.workflow-row p,.application-notes p,.faq-preview p{margin:10px 0 0}
.path-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(0,0,0,.14);
  background:rgba(0,0,0,.14);
}
.path-grid article{
  min-height:196px;
  padding:24px;
  border:0;
  background:#fff;
}
.path-grid span{
  display:block;
  color:var(--black);
  font-size:12px;
  font-weight:620;
}
.path-grid strong{
  display:block;
  margin-top:24px;
  color:var(--black);
  font-size:18px;
  font-weight:560;
}
.path-grid p{margin:10px 0 0;color:var(--black);font-size:15px}
.material-grid{align-items:center}
.material-copy .btn{margin-top:26px}
.chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:30px;
}
.chip-row span{
  padding:11px 14px;
  border:1px solid rgba(0,0,0,.14);
  background:var(--stone);
  font-size:13px;
}
.material-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.material-stack article{
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
}
.material-stack img{
  aspect-ratio:4/5;
  object-fit:cover;
}
.material-stack strong,
.material-stack p{
  display:block;
  margin:0;
  padding:0 16px;
}
.material-stack strong{
  padding-top:14px;
  color:inherit;
  font-size:18px;
}
.material-stack p{
  padding-top:8px;
  padding-bottom:16px;
}
.custom-layout{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:24px;
}
.custom-section{
  padding:88px 0;
}
.custom-section .section-head{
  margin-bottom:34px;
}
.custom-section .section-note{
  max-width:430px;
}
.custom-main{
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  color:inherit;
  text-decoration:none;
  background:#fff;
}
.custom-main img{aspect-ratio:16/7.4;object-fit:cover}
.custom-main div{padding:24px}
.custom-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.custom-mobile-cta{
  display:none;
}
.custom-list article,
.custom-list a{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:176px;
  padding:24px 70px 24px 24px;
  border:1px solid rgba(0,0,0,.14);
  color:inherit;
  text-decoration:none;
  background:#fff;
  overflow:hidden;
}
.custom-list strong,
.custom-list ul{
  position:relative;
  z-index:1;
}
.custom-list strong{
  display:block;
  color:inherit;
  font-size:19px;
  line-height:1.12;
  font-weight:560;
}
.custom-list ul{
  display:grid;
  gap:7px;
  margin:16px 0 0;
  padding:0;
  list-style:none;
}
.custom-list li{
  position:relative;
  padding-left:14px;
  color:rgba(17,17,17,.72);
  font-size:14px;
  line-height:1.36;
}
.custom-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.66em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(17,17,17,.38);
}
.custom-pattern-card::after,
.custom-material-card::after,
.custom-color-card::after,
.custom-install-card::after{
  content:"";
  position:absolute;
  right:2px;
  bottom:2px;
  width:72px;
  height:72px;
  opacity:.72;
  pointer-events:none;
}
.custom-pattern-card::after{background:url("./custom-dwg.svg") center / contain no-repeat}
.custom-material-card::after{background:url("./materials.svg") center / contain no-repeat}
.custom-color-card::after{background:url("./color.svg") center / contain no-repeat}
.custom-install-card::after{
  background:url("./install.svg") center / contain no-repeat;
  transform:scaleX(-1);
}
.custom-material-card::after,
.custom-color-card::after,
.custom-install-card::after{
  right:10px;
  bottom:10px;
  width:58px;
  height:58px;
}
.applications{
  border-top:1px solid rgba(16,16,15,.08);
}
.application-head{
  margin-bottom:34px;
}
.application-carousel{
  position:relative;
}
.application-viewport{
  overflow:hidden;
  touch-action:pan-y;
}
.application-track{
  --application-index:0;
  --application-drag:0px;
  --application-gap:16px;
  --application-card-width:calc((100% - 48px) / 4);
  display:flex;
  gap:var(--application-gap);
  transform:translateX(calc((var(--application-card-width) + var(--application-gap)) * var(--application-index) * -1 + var(--application-drag)));
  transition:transform .56s var(--ease);
  will-change:transform;
}
.application-carousel.is-dragging .application-track{
  transition:none;
}
.application-card{
  flex:0 0 var(--application-card-width);
  display:grid;
  grid-template-rows:248px 1fr;
  min-height:462px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  color:inherit;
  text-decoration:none;
  transition:transform .32s var(--ease), border-color .32s var(--ease), background-color .32s var(--ease), box-shadow .32s var(--ease);
}
.application-card:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.25);
  background:var(--hover-gray);
  box-shadow:0 16px 32px rgba(16,16,15,.06);
}
.application-card img{
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
  transition:transform .7s var(--ease), filter .7s var(--ease);
}
.application-card:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1.06);
}
.application-card div{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:22px;
}
.application-card span{
  display:block;
  color:#a8a8a2;
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.application-card strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:23px;
  font-weight:590;
  line-height:1.08;
}
.application-card p{
  margin:13px 0 0;
  color:rgba(17,17,17,.7);
  font-size:14px;
  line-height:1.58;
}
.carousel-controls{
  position:absolute;
  inset:50% -21px auto -21px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  opacity:0;
  pointer-events:none;
  transform:translateY(-50%);
  transition:opacity .28s var(--ease);
}
.application-carousel:hover .carousel-controls,
.application-carousel:focus-within .carousel-controls{
  opacity:1;
}
.carousel-btn{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(16,16,15,.2);
  border-radius:3px;
  background:#fff;
  color:var(--ink);
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 12px 28px rgba(16,16,15,.12);
  transition:background-color .28s var(--ease), border-color .28s var(--ease), transform .28s var(--ease);
}
.carousel-btn::before{
  content:"";
  width:8px;
  height:8px;
  border-left:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translate(1px,-1px);
}
.carousel-btn.next::before{
  transform:rotate(225deg) translate(1px,-1px);
}
.carousel-btn:hover{
  transform:translateY(-1px);
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.3);
}
.application-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:16px;
  align-items:stretch;
}
.application-feature,
.application-side article,
.application-mini article{
  overflow:hidden;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
  transition:transform .32s var(--ease), border-color .32s var(--ease), background-color .32s var(--ease), box-shadow .32s var(--ease);
}
.application-feature:hover,
.application-side article:hover,
.application-mini article:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.25);
  background:var(--hover-gray);
  box-shadow:0 16px 32px rgba(16,16,15,.06);
}
.application-layout img{
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
  transition:transform .7s var(--ease), filter .7s var(--ease);
}
.application-feature:hover img,
.application-side article:hover img,
.application-mini article:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1.06);
}
.application-feature{
  display:grid;
  grid-template-rows:minmax(300px,1fr) auto;
}
.application-feature img{
  height:100%;
  min-height:300px;
}
.application-feature div{
  padding:24px;
}
.application-feature span,
.application-side span,
.application-mini span{
  display:block;
  color:#a8a8a2;
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.application-feature strong{
  display:block;
  max-width:19ch;
  margin-top:12px;
  color:var(--ink);
  font-size:28px;
  font-weight:590;
  line-height:1.05;
}
.application-feature p{
  max-width:58ch;
  margin:14px 0 0;
  color:rgba(17,17,17,.7);
  font-size:15px;
  line-height:1.68;
}
.application-side{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:16px;
}
.application-side article{
  display:grid;
  grid-template-columns:.9fr 1fr;
  min-height:0;
}
.application-side img{
  height:100%;
  min-height:188px;
}
.application-side div{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:20px;
}
.application-side strong,
.application-mini strong{
  display:block;
  margin-top:10px;
  color:var(--ink);
  font-size:19px;
  font-weight:570;
  line-height:1.16;
}
.application-mini{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.application-mini article{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:0;
  padding-bottom:18px;
}
.application-mini img{
  aspect-ratio:16/7.6;
}
.application-mini span,
.application-mini strong{
  padding-left:18px;
  padding-right:18px;
}
.application-mini span{
  margin-top:16px;
}
.process-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.quality-points{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.quality-points article{
  min-height:156px;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.035);
}
.quality-points span{
  display:block;
  color:rgba(255,255,255,.42);
  font-size:12px;
  font-weight:560;
  letter-spacing:.14em;
}
.quality-points strong{
  display:block;
  margin-top:28px;
  color:#fff;
  font-size:24px;
  font-weight:590;
  line-height:1.08;
}
.quality-points p{
  margin:10px 0 0;
  color:rgba(255,255,255,.64);
  font-size:14px;
  line-height:1.5;
}
.trust-grid h2 + .lead{
  margin-top:30px;
}
.iso-badge{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:30px;
}
.iso-badge img{
  width:34px;
  height:34px;
  opacity:.9;
}
.iso-badge strong{
  display:block;
  color:#fff;
  font-size:16px;
  font-weight:560;
  line-height:1.1;
}
.process-list div{
  display:flex;
  align-items:center;
  gap:14px;
  min-height:68px;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.14);
  background:transparent;
  color:inherit;
  font-weight:560;
}
.band-black .process-list div,
.band-black .certificate-strip span{
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:#fff;
}
.band-black .process-list span{
  border-color:rgba(255,255,255,.2);
  color:#fff;
}
.process-list span{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(0,0,0,.16);
  color:var(--muted);
  font-size:12px;
}
.resource-cards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(0,0,0,.08);
  background:rgba(0,0,0,.08);
  margin-top:18px;
}
.resources-section{
  padding:84px 0;
}
.resources-section .resource-cards{
  margin-top:34px;
}
.resources-section .resources-grid{
  grid-template-columns:.82fr 1.18fr;
  gap:32px;
  align-items:center;
}
.resources-copy .lead{
  margin-top:26px;
  max-width:56ch;
}
.resources-copy .btn{
  margin-top:26px;
}
.resource-visual{
  margin:0;
  overflow:visible;
  background:transparent;
}
.resource-visual img{
  width:100%;
  height:auto;
  max-width:100%;
  object-fit:contain;
  transform:none;
}
.resource-visual-mobile{
  display:none;
}
.resource-cards article,
.resource-card-link{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px 22px;
  border:0;
  color:inherit;
  text-decoration:none;
  background:#fff;
}
.resource-cards strong{
  display:block;
  margin-top:8px;
  color:inherit;
  font-size:18px;
  line-height:1.15;
  font-weight:560;
}
.resource-card-action{
  margin-top:12px;
  color:var(--ink);
  font-size:13px;
  font-weight:620;
  font-style:normal;
}
.resource-card-action::after{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-left:8px;
  border-top:1.4px solid currentColor;
  border-right:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-1px);
}
.faq-preview{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:24px;
}
.faq-preview strong{
  color:inherit;
  font-size:16px;
  letter-spacing:0;
  text-transform:none;
}
.certificate-strip{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:12px;
}
.certificate-strip span{
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.14);
  background:#fff;
}
.section-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:40px;
}
.final-cta{
  padding:92px 0;
  background:var(--black);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.final-cta-inner{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:72px;
  align-items:center;
}
.final-cta h2{max-width:1040px;font-size:var(--type-feature);line-height:1.04}
.final-cta p:not(.kicker){max-width:76ch;margin:22px 0 0;color:rgba(255,255,255,.72);line-height:1.75}
.final-actions{display:flex;flex-wrap:wrap;gap:12px}
.site-footer{
  padding:96px 0 42px;
  background:#020202;
  color:#fff;
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.24fr) repeat(4,minmax(120px,.62fr));
  gap:44px;
  padding-bottom:46px;
  border-bottom:1px solid rgba(255,255,255,.08);
  align-items:start;
}
.footer-brand img{width:160px;filter:invert(1) brightness(1.16)}
.footer-brand p{
  max-width:34ch;
  margin:22px 0 0;
  color:rgba(255,255,255,.7);
  font-size:14px;
  line-height:1.7;
}
.footer-contact{
  margin-top:12px;
  color:#fff;
  font-size:15px;
  font-weight:560;
  line-height:1.35;
  white-space:nowrap;
}
.footer-contact a{
  margin:0;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  text-decoration:none;
}
.footer-social{
  display:flex;
  align-items:center;
  gap:18px;
  margin-top:14px;
}
.footer-social a{
  width:22px;
  height:22px;
  margin:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:opacity .28s var(--ease), transform .28s var(--ease);
}
.footer-social img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:invert(1) brightness(1.18);
}
.footer-social a:hover{
  opacity:.72;
  transform:translateY(-1px);
}
.footer-grid strong{
  display:block;
  margin-bottom:22px;
  color:rgba(255,255,255,.52);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.footer-grid a{
  display:block;
  margin-top:14px;
  color:rgba(255,255,255,.85);
  font-size:14px;
}
.footer-contact a{
  display:inline;
  margin:0;
  color:inherit;
  font-size:inherit;
  font-weight:inherit;
  text-decoration:none;
}
.footer-social a{
  display:inline-flex;
  margin:0;
}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding-top:34px;
  color:rgba(255,255,255,.85);
  font-size:14px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
}
.footer-bottom a{
  color:inherit;
  transition:color .28s var(--ease);
}
.footer-bottom a:hover{
  color:#fff;
}
.back-to-top{
  position:fixed;
  right:22px;
  bottom:22px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--black);
  border-radius:8px;
  background:var(--black);
  color:var(--white);
  box-shadow:0 12px 28px rgba(0,0,0,.12);
  z-index:70;
}
.back-to-top::before{
  content:"";
  width:5px;
  height:5px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(-135deg) translateY(-1px);
  opacity:.9;
}
.back-to-top:hover{transform:translateY(-1px)}
.page-hero{
  padding:110px 0 64px;
}
.page-hero .page-hero-inner{
  display:grid;
  gap:18px;
  max-width:var(--measure-feature);
}
.page-hero > .wrap.page-hero-inner{
  margin-left:calc((100% - min(var(--max),calc(100% - 64px))) / 2);
  margin-right:auto;
  text-align:left;
  justify-items:start;
}
.page-hero h1{
  margin:0;
  max-width:min(1040px,100%);
  font-size:var(--type-feature);
  line-height:1.02;
}
.page-hero p{
  margin:0;
  max-width:72ch;
  font-size:18px;
  line-height:1.7;
  color:var(--muted);
}
.page-section{
  padding:56px 0;
}
.page-section .section-head{
  margin-bottom:26px;
}
.page-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.page-grid.grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.page-card{
  display:flex;
  flex-direction:column;
  min-height:188px;
  padding:20px;
  border:1px solid var(--line-soft);
  border-radius:4px;
  background:#fff;
}
.page-card span{
  color:var(--muted);
  font-size:11px;
  font-weight:620;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-card strong{
  display:block;
  margin-top:10px;
  font-size:20px;
  line-height:1.15;
}
.page-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.page-card a{
  margin-top:auto;
  padding-top:18px;
  color:var(--ink);
  font-size:13px;
  font-weight:620;
}
.editorial-page-hero{
  padding:92px 0 72px;
}
.editorial-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.54fr);
  gap:54px;
  align-items:center;
}
.editorial-hero-media{
  margin:0;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
}
.editorial-hero-media img{
  aspect-ratio:4/3;
  height:100%;
  object-fit:cover;
}
.editorial-content-page{
  padding:64px 0;
}
.editorial-info-card{
  min-height:280px;
  padding:26px;
}
.editorial-info-card strong{
  max-width:14em;
  font-size:26px;
  line-height:1.08;
}
.editorial-info-card p{
  max-width:58ch;
  margin-top:18px;
  font-size:15px;
  line-height:1.72;
}
.editorial-info-card ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 14px;
  margin:24px 0 0;
  padding:0;
  list-style:none;
}
.editorial-info-card li{
  position:relative;
  padding-left:14px;
  color:#4e4b45;
  font-size:13px;
  line-height:1.45;
}
.editorial-info-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:rgba(16,16,15,.42);
}
.trust-page .trust-hero{
  padding:102px 0 76px;
}
.about-hero{
  position:relative;
  isolation:isolate;
  min-height:clamp(560px, 54vh, 660px);
  padding-bottom:86px;
  overflow:hidden;
  background:#070707;
}
.about-hero::before,
.about-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
.about-hero::before{
  z-index:-2;
  background-image:url('/assets/sgoria-about-factory-building-banner.webp');
  background-size:cover;
  background-position:center right;
  opacity:.9;
  filter:saturate(.94) contrast(1.04);
  transform:none;
}
.about-hero::after{
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(7,7,7,.72) 0%,rgba(7,7,7,.52) 42%,rgba(7,7,7,.18) 78%,rgba(7,7,7,.06) 100%),
    linear-gradient(0deg,rgba(7,7,7,.32) 0%,rgba(7,7,7,.04) 50%,rgba(7,7,7,.2) 100%);
}
.about-hero .breadcrumbs{
  position:relative;
  z-index:2;
  color:rgba(255,255,255,.68);
}
.about-hero .breadcrumbs li + li::before{
  color:rgba(255,255,255,.38);
}
.about-hero .breadcrumbs a:hover{
  color:#fff;
}
.about-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.48fr);
  gap:64px;
  align-items:end;
}
.about-hero .kicker.dark{
  color:rgba(255,255,255,.72);
}
.about-hero .trust-hero-copy h1{
  color:#fff;
}
.about-hero .trust-hero-copy p:not(.kicker){
  color:rgba(255,255,255,.82);
}
.about-identity-card{
  min-height:308px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 28px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(8px);
}
.about-identity-card span,
.about-signal-grid span,
.about-capability-grid span,
.about-factory-flow span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.about-identity-card strong{
  display:block;
  max-width:12.6em;
  margin-top:34px;
  color:#fff;
  font-size:29px;
  font-weight:520;
  line-height:1.08;
  text-wrap:balance;
}
.about-identity-card p{
  max-width:32em;
  margin:16px 0 0;
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.62;
}
.about-identity-card span{
  color:rgba(255,255,255,.62);
}
.about-statement-section,
.about-capability-section,
.about-service-section,
.about-principle-section,
.about-route-section{
  padding:92px 0;
}
.about-signal-section{
  padding:72px 0;
}
.about-company-grid{
  display:grid;
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
}
.about-company-grid figure{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.about-company-grid img{
  width:100%;
  aspect-ratio:16/10;
  display:block;
  object-fit:cover;
}
.about-company-grid h2{
  max-width:16em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.about-company-grid p{
  max-width:84ch;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.76;
}
.about-signal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.11);
  border-left:1px solid rgba(16,16,15,.11);
}
.about-signal-grid article{
  min-height:210px;
  padding:24px;
  border-right:1px solid rgba(16,16,15,.11);
  border-bottom:1px solid rgba(16,16,15,.11);
  background:rgba(255,255,255,.58);
}
.about-signal-grid strong{
  display:block;
  margin-top:54px;
  color:var(--ink);
  font-size:23px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.about-signal-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.about-capability-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.about-capability-grid article{
  min-height:300px;
  padding:24px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.about-capability-grid article:hover{
  background:var(--hover-gray);
}
.about-capability-grid svg{
  width:38px;
  height:38px;
  margin-bottom:42px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.76;
}
.about-capability-grid strong{
  display:block;
  margin-top:18px;
  color:var(--ink);
  font-size:24px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.about-capability-grid p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.about-factory-section{
  padding:96px 0;
}
.about-factory-grid{
  display:grid;
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
}
.about-factory-grid figure{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.about-factory-grid img{
  width:100%;
  aspect-ratio:16/10;
  display:block;
  object-fit:cover;
}
.about-factory-grid h2,
.about-service-grid h2{
  max-width:15.6em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.about-factory-grid p,
.about-service-grid > div:first-child p{
  max-width:84ch;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.76;
}
.about-page .trust-narrative-grid{
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
}
.about-page .trust-narrative-grid.reverse{
  grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);
}
.about-page .trust-narrative-grid > div{
  width:100%;
  max-width:860px;
}
.about-page .trust-narrative-grid h2{
  max-width:15.6em;
}
.about-page .trust-narrative-grid p{
  max-width:84ch;
}
.about-page .trust-narrative-grid img{
  aspect-ratio:4/3;
}
.about-factory-grid .text-link{
  display:inline-block;
  margin-top:24px;
}
.about-factory-grid .btn{
  margin-top:24px;
}
.about-factory-flow{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin-top:54px;
  border-top:1px solid rgba(16,16,15,.13);
}
.about-factory-flow article{
  min-height:176px;
  padding:22px 24px 0 0;
}
.about-factory-flow strong{
  display:block;
  margin-top:22px;
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.14;
  text-wrap:balance;
}
.about-factory-flow p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.about-service-grid{
  display:grid;
  grid-template-columns:minmax(0,.68fr) minmax(0,1fr);
  gap:68px;
  align-items:start;
}
.about-role-list{
  display:grid;
  border-top:1px solid rgba(16,16,15,.12);
}
.about-role-list article{
  display:grid;
  grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);
  gap:34px;
  padding:26px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.about-role-list strong{
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.about-role-list p{
  max-width:58ch;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.64;
}
.about-principle-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.about-principle-grid article{
  min-height:188px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.about-principle-grid strong{
  color:var(--ink);
  font-size:24px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.about-principle-grid p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.about-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-route-grid a{
  min-height:132px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  color:inherit;
  transition:transform .28s var(--ease), background .28s var(--ease), border-color .28s var(--ease);
}
.about-route-grid a:hover{
  transform:translateY(-4px);
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.18);
}
.about-route-grid svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
}
.about-route-grid strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.12;
  white-space:nowrap;
}
.about-route-grid p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
}
.about-route-grid span{
  color:var(--ink);
  font-size:20px;
  line-height:1;
}
.trust-hero-grid,
.certificate-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.58fr);
  gap:58px;
  align-items:center;
}
.trust-hero-grid-wide{
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
}
.why-page .trust-hero-grid-wide{
  grid-template-columns:minmax(0,1fr) minmax(320px,.54fr);
  gap:46px;
}
.trust-hero-copy{
  display:grid;
  gap:18px;
  max-width:1040px;
}
.trust-hero-copy h1{
  max-width:14.2em;
  margin:0;
  color:var(--ink);
  font-size:var(--type-feature);
  font-weight:520;
  line-height:1.03;
  letter-spacing:0;
  text-wrap:balance;
}
.trust-hero-copy p:not(.kicker){
  max-width:72ch;
  margin:0;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}
.trust-hero-media{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.trust-hero-media img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.trust-statement{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:64px;
  align-items:start;
  padding-top:10px;
}
.trust-statement h2,
.trust-split-head h2,
.trust-editorial-columns h2,
.inspection-overview-grid h2,
.certificate-current-grid h2,
.lifecycle-grid h2{
  max-width:12.8em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.trust-statement-copy{
  display:grid;
  gap:18px;
}
.trust-statement-copy p,
.trust-split-head > p,
.trust-editorial-columns p,
.inspection-matrix > div:first-child p,
.certificate-current-grid p,
.certificate-note p,
.trust-narrative-grid p,
.lifecycle-grid > div:first-child p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.76;
}
.trust-split-head{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(320px,.52fr);
  gap:54px;
  align-items:end;
  margin-bottom:34px;
}
.trust-split-head > p{
  max-width:42em;
}
.trust-capability-grid,
.trust-reason-grid,
.certificate-doc-grid,
.sustainability-app-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.trust-reason-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.trust-reason-grid.four{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.trust-capability-grid article,
.trust-reason-grid article,
.certificate-doc-grid article,
.sustainability-app-grid article{
  min-height:0;
  padding:24px 24px 28px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.trust-capability-grid article:hover,
.trust-reason-grid article:hover,
.certificate-doc-grid article:hover,
.sustainability-app-grid article:hover{
  background:var(--hover-gray);
}
.trust-capability-grid span,
.trust-reason-grid span,
.certificate-doc-grid span,
.trust-path-line span,
.trust-contrast-panel span,
.certificate-showcase span,
.certificate-note span,
.lifecycle-steps span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.trust-capability-grid strong,
.trust-reason-grid strong,
.certificate-doc-grid strong,
.sustainability-app-grid strong{
  display:block;
  margin-top:28px;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.trust-capability-grid p,
.trust-reason-grid p,
.certificate-doc-grid p,
.sustainability-app-grid p,
.trust-path-line p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.sustainability-hero{
  padding-top:96px;
  padding-bottom:78px;
}
.sustainability-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:start;
}
.sustainability-hero .page-hero-inner h1{
  max-width:14em;
  font-weight:560;
}
.sustainability-hero .page-hero-inner p:not(.kicker){
  max-width:76ch;
}
.sustainability-hero figure{
  margin:0;
  aspect-ratio:1.05 / 1;
  overflow:hidden;
  background:#e8e6df;
}
.sustainability-hero img,
.sustainability-material-grid img,
.sustainability-performance-grid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}
.sustainability-framework-section,
.sustainability-material-section,
.sustainability-lifecycle-section,
.sustainability-performance-section,
.sustainability-support-section,
.sustainability-care-section{
  padding:86px 0;
}
.sustainability-framework-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.sustainability-framework-grid article{
  min-height:250px;
  padding:24px 24px 28px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.sustainability-framework-grid article:hover{
  background:var(--hover-gray);
}
.sustainability-framework-grid svg{
  width:34px;
  height:34px;
  color:var(--ink);
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.sustainability-framework-grid span{
  display:block;
  margin-top:38px;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.sustainability-framework-grid strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.sustainability-framework-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.sustainability-material-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.sustainability-material-grid a{
  display:grid;
  grid-template-rows:auto 1fr;
  background:#fff;
  border:1px solid rgba(16,16,15,.1);
  color:inherit;
  overflow:hidden;
  transition:transform .28s var(--ease), background .28s var(--ease);
}
.sustainability-material-grid a:hover{
  transform:translateY(-4px);
  background:#f4f4f1;
}
.sustainability-material-grid img{
  aspect-ratio:1.58 / 1;
}
.sustainability-material-grid div{
  padding:24px;
}
.sustainability-material-grid strong{
  display:block;
  color:var(--ink);
  font-size:24px;
  font-weight:520;
  line-height:1.12;
}
.sustainability-material-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.64;
}
.sustainability-lifecycle-layout,
.sustainability-support-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.sustainability-lifecycle-layout > div:first-child,
.sustainability-support-layout > div:first-child{
  position:sticky;
  top:112px;
}
.sustainability-lifecycle-layout h2,
.sustainability-performance-grid h2,
.sustainability-support-layout h2{
  max-width:12.8em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.sustainability-lifecycle-layout > div:first-child p:not(.kicker),
.sustainability-performance-grid > div > p,
.sustainability-support-layout > div:first-child p:not(.kicker){
  max-width:64ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.sustainability-support-layout > div:first-child .btn{
  margin-top:30px;
}
.sustainability-timeline{
  display:grid;
  margin:0;
  padding:0;
  border-top:1px solid rgba(16,16,15,.14);
  list-style:none;
}
.sustainability-timeline li{
  display:grid;
  grid-template-columns:72px minmax(150px,.42fr) minmax(0,1fr);
  gap:22px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.sustainability-timeline span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.sustainability-timeline strong{
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.15;
}
.sustainability-timeline p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.sustainability-performance-grid{
  display:grid;
  grid-template-columns:minmax(340px,.46fr) minmax(0,1fr);
  gap:58px;
  align-items:stretch;
}
.sustainability-performance-grid figure{
  margin:0;
  min-height:100%;
  overflow:hidden;
  background:#e8e6df;
}
.sustainability-benefit-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px 26px;
  margin-top:34px;
}
.sustainability-benefit-grid article{
  padding-top:22px;
  border-top:1px solid rgba(16,16,15,.12);
}
.sustainability-benefit-grid strong,
.sustainability-support-list strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  font-weight:520;
  line-height:1.18;
}
.sustainability-benefit-grid p,
.sustainability-support-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.sustainability-support-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 28px;
}
.sustainability-support-list article{
  padding:24px 0;
  border-top:1px solid rgba(16,16,15,.12);
}
.sustainability-care-strip{
  display:grid;
  grid-template-columns:minmax(280px,.42fr) minmax(0,1fr);
  gap:58px;
  align-items:start;
  padding:58px 0;
  border-top:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
}
.sustainability-care-strip h2{
  max-width:12.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:clamp(31px,3.2vw,48px);
  line-height:1.04;
  font-weight:520;
  text-wrap:balance;
}
.sustainability-care-strip p:not(.kicker){
  max-width:48ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.sustainability-care-strip a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:26px;
  color:var(--ink);
  font-size:13px;
  font-weight:560;
  text-decoration:none;
}
.sustainability-care-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-left:1px solid rgba(16,16,15,.1);
}
.sustainability-care-points article{
  min-height:210px;
  padding:4px 24px 4px 26px;
  border-right:1px solid rgba(16,16,15,.1);
}
.sustainability-care-points span{
  display:block;
  color:#9a958c;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.sustainability-care-points strong{
  display:block;
  margin-top:38px;
  color:var(--ink);
  font-size:19px;
  line-height:1.16;
  font-weight:520;
}
.sustainability-care-points p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.trust-audience-grid{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1fr);
  gap:52px;
  align-items:center;
}
.trust-audience-grid h2{
  max-width:11.6em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
}
.trust-audience-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.trust-audience-list span{
  min-height:74px;
  display:flex;
  align-items:center;
  padding:18px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.46);
  color:var(--ink);
  font-size:15px;
  font-weight:520;
}
.trust-narrative-grid{
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(0,1fr);
  gap:56px;
  align-items:center;
}
.why-page .trust-narrative-grid{
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
}
.why-page .trust-narrative-grid.reverse{
  grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);
}
.why-page .trust-narrative-grid > div{
  width:100%;
  max-width:720px;
}
.why-page .trust-narrative-grid h2{
  max-width:15.5em;
}
.why-page .trust-narrative-grid p{
  max-width:70ch;
}
.why-page .trust-narrative-grid img{
  aspect-ratio:4/3;
}
.trust-narrative-grid.reverse{
  grid-template-columns:minmax(0,1fr) minmax(340px,.72fr);
}
.trust-narrative-grid.reverse figure{
  order:2;
}
.trust-narrative-grid figure{
  margin:0;
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:var(--guide-gray);
}
.trust-narrative-grid img{
  width:100%;
  aspect-ratio:5/4;
  object-fit:cover;
}
.trust-narrative-grid h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.trust-narrative-grid p{
  max-width:58ch;
  margin-top:18px;
}
.trust-narrative-grid .btn{
  margin-top:26px;
}
.trust-contrast-panel{
  display:grid;
  grid-template-columns:1fr;
  border:1px solid rgba(16,16,15,.12);
  background:#fff;
}
.trust-contrast-panel div{
  min-height:176px;
  padding:26px;
}
.trust-contrast-panel div + div{
  border-top:1px solid rgba(16,16,15,.1);
  background:var(--hover-gray);
}
.trust-contrast-panel p{
  max-width:40ch;
  margin:22px 0 0;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.22;
  text-wrap:balance;
}
.why-page .trust-contrast-panel p{
  color:rgba(16,16,15,.68);
  max-width:100%;
  margin-top:18px;
  font-size:17px;
  font-weight:460;
  line-height:1.34;
  text-wrap:normal;
}
.why-page .trust-contrast-panel div{
  min-height:138px;
  padding:22px 24px;
}
.trust-path-line{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.16);
}
.why-page .trust-path-line{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.why-page .trust-path-section{
  padding-bottom:28px;
}
.why-page .trust-reason-section{
  padding-top:54px;
}
.trust-path-line article{
  position:relative;
  min-height:116px;
  padding:22px 22px 0 0;
}
.trust-path-line article::before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--ink);
}
.trust-path-line strong{
  display:block;
  margin-top:20px;
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.12;
}
.trust-editorial-columns{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:68px;
  align-items:start;
}
.trust-editorial-columns p + p{
  margin-top:18px;
}
.trust-editorial-columns .text-link{
  margin-top:24px;
}
.trust-proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.why-output-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.trust-proof-grid article{
  min-height:260px;
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.trust-proof-grid img{
  width:42px;
  height:42px;
  object-fit:contain;
  opacity:.68;
}
.trust-proof-grid strong{
  display:block;
  max-width:12em;
  margin-top:52px;
  color:var(--ink);
  font-size:23px;
  font-weight:520;
  line-height:1.12;
}
.trust-proof-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.why-decision-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.why-decision-grid article{
  min-height:180px;
  padding:24px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.why-decision-grid article:hover{
  background:var(--hover-gray);
}
.why-decision-grid strong{
  display:block;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
  text-wrap:balance;
}
.why-decision-grid p{
  margin:54px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.why-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.why-route-grid a{
  min-height:132px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 28px;
  gap:18px;
  align-items:center;
  padding:22px 24px 22px 22px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  color:inherit;
  transition:transform .28s var(--ease), background .28s var(--ease), border-color .28s var(--ease);
}
.why-route-grid a:hover{
  transform:translateY(-4px);
  background:var(--hover-gray);
  border-color:rgba(16,16,15,.18);
}
.why-route-grid svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:var(--ink);
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
  opacity:.78;
}
.why-route-grid a > div{
  min-width:0;
}
.why-route-grid strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.12;
  white-space:nowrap;
}
.why-route-grid p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.35;
  white-space:nowrap;
}
.why-route-grid span{
  justify-self:end;
  color:var(--ink);
  font-size:20px;
  line-height:1;
}
.inspection-overview-grid,
.certificate-current-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.52fr);
  gap:56px;
  align-items:center;
}
.inspection-chain-section,
.inspection-stage-section,
.inspection-focus-section,
.inspection-document-section,
.inspection-support-section{
  padding:86px 0;
}
.inspection-chain-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.48fr);
  gap:56px;
  align-items:end;
  margin-bottom:34px;
}
.inspection-chain-head h2{
  max-width:12.8em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.inspection-chain-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.inspection-chain-grid article{
  min-height:268px;
  padding:24px 24px 28px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.inspection-chain-grid article:hover{
  background:var(--hover-gray);
}
.inspection-chain-grid svg{
  width:34px;
  height:34px;
  color:var(--ink);
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.inspection-chain-grid span,
.inspection-stage-card span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.inspection-chain-grid span{
  margin-top:36px;
}
.inspection-chain-grid strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.12;
}
.inspection-chain-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.inspection-stage-list{
  display:grid;
  gap:0;
}
.inspection-stage-card{
  display:grid;
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
  padding:46px 0;
  border-top:1px solid rgba(16,16,15,.12);
}
.inspection-stage-card:first-child{
  padding-top:46px;
  border-top:0;
}
.inspection-stage-card:not(.reverse) > div{
  padding-left:clamp(24px,2.8vw,42px);
}
.inspection-stage-card.reverse{
  grid-template-columns:minmax(0,1fr) minmax(380px,.78fr);
}
.inspection-stage-card.reverse figure{
  order:2;
}
.inspection-stage-card figure{
  margin:0;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#e8e6df;
}
.inspection-stage-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}
.inspection-stage-card h2{
  max-width:13em;
  margin:14px 0 0;
  color:var(--ink);
  font-size:42px;
  font-weight:520;
  line-height:1.06;
  text-wrap:balance;
}
.inspection-stage-card p{
  max-width:68ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.76;
}
.inspection-stage-card ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 18px;
  margin:26px 0 0;
  padding:0;
  list-style:none;
}
.inspection-stage-card li{
  position:relative;
  padding-left:16px;
  color:#4d4a44;
  font-size:14px;
  line-height:1.45;
}
.inspection-stage-card li::before{
  content:"";
  position:absolute;
  left:0;
  top:.64em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(16,16,15,.44);
}
.inspection-focus-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.inspection-focus-layout > div:first-child{
  position:sticky;
  top:112px;
}
.inspection-focus-layout h2{
  max-width:12.8em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.inspection-focus-layout > div:first-child p:not(.kicker){
  max-width:62ch;
  margin:20px 0 26px;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}
.inspection-focus-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(16,16,15,.12);
  border-left:1px solid rgba(16,16,15,.1);
}
.inspection-focus-list article{
  min-height:0;
  padding:22px 24px 24px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease);
}
.inspection-focus-list article:hover{
  background:var(--hover-gray);
}
.inspection-focus-list strong,
.inspection-input-list strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  font-weight:520;
  line-height:1.14;
}
.inspection-focus-list p,
.inspection-input-list p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.inspection-input-list p{
  white-space:nowrap;
}
.inspection-document-grid{
  grid-template-columns:minmax(380px,.78fr) minmax(0,1fr);
  gap:60px;
  align-items:center;
}
.inspection-document-grid figure{
  min-height:0;
}
.inspection-document-grid img{
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
.inspection-input-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  margin-top:34px;
}
.inspection-input-list article{
  padding-top:22px;
  border-top:1px solid rgba(16,16,15,.12);
}
.inspection-support-feature{
  align-items:center;
}
.inspection-support-feature h2{
  max-width:12.5em;
}
@media (max-width:1200px){
  .inspection-chain-head,
  .inspection-stage-card,
  .inspection-stage-card.reverse,
  .inspection-focus-layout{
    grid-template-columns:1fr;
    gap:42px;
  }
  .inspection-stage-card.reverse figure{
    order:0;
  }
  .inspection-stage-card:not(.reverse) > div{
    padding-left:0;
  }
  .inspection-chain-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .inspection-focus-layout > div:first-child{
    position:static;
  }
}
.iso-inline-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:22px;
  border:1px solid rgba(16,16,15,.1);
  background:var(--guide-gray);
}
.iso-inline-card img{
  width:54px;
  height:54px;
  object-fit:contain;
  opacity:.76;
}
.iso-inline-card strong{
  display:block;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.14;
}
.iso-inline-card p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.inspection-timeline{
  display:grid;
  border-top:1px solid rgba(16,16,15,.12);
}
.inspection-timeline article{
  display:grid;
  grid-template-columns:86px minmax(190px,.38fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.inspection-timeline span{
  color:#817d74;
  font-size:12px;
  font-weight:560;
  letter-spacing:.16em;
}
.inspection-timeline strong{
  color:var(--ink);
  font-size:24px;
  font-weight:520;
  line-height:1.12;
}
.inspection-timeline p{
  max-width:66ch;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.inspection-matrix{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:58px;
  align-items:start;
}
.inspection-matrix h2{
  max-width:12em;
  margin:12px 0 18px;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
}
.inspection-checks{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.inspection-checks article{
  min-height:146px;
  padding:20px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.5);
}
.inspection-checks strong{
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.12;
}
.inspection-checks p{
  margin:18px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.56;
}
.certificate-showcase{
  padding:34px;
  border:1px solid rgba(16,16,15,.12);
  background:#fff;
}
.certificate-showcase img{
  width:70px;
  height:70px;
  object-fit:contain;
  opacity:.8;
}
.certificate-showcase span{
  margin-top:56px;
}
.certificate-showcase strong{
  display:block;
  margin-top:14px;
  color:var(--ink);
  font-size:36px;
  font-weight:520;
  line-height:1.04;
}
.certificate-showcase p{
  max-width:30ch;
  margin:16px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.62;
}
.certificate-note{
  padding:24px;
  border:1px solid rgba(16,16,15,.1);
  background:var(--guide-gray);
}
.certificate-note p{
  margin-top:22px;
}
.certificate-doc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.certificate-doc-grid article{
  background:rgba(255,255,255,.52);
}
.certificate-evidence-section,
.certificate-scope-section,
.certificate-route-section,
.certificate-project-section{
  padding:86px 0;
}
.certificate-evidence-grid{
  display:grid;
  grid-template-columns:minmax(300px,.42fr) minmax(0,1fr);
  gap:72px;
  align-items:center;
  padding-left:clamp(24px,3vw,54px);
}
.certificate-evidence-copy{
  align-self:center;
  padding-left:clamp(24px,3.2vw,56px);
}
.certificate-sheet{
  margin:0;
  width:100%;
  max-width:430px;
  aspect-ratio:210 / 297;
  padding:8px;
  background:#fff;
  border:1px solid rgba(16,16,15,.1);
  box-shadow:0 18px 44px rgba(16,16,15,.08);
}
.certificate-sheet img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
.certificate-evidence-copy h2,
.certificate-route-layout h2,
.certificate-project-grid h2{
  max-width:18em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.certificate-evidence-copy > p:not(.kicker),
.certificate-route-layout > div:first-child p:not(.kicker),
.certificate-project-grid > div > p{
  max-width:78ch;
  margin:20px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.76;
}
.certificate-summary-list{
  display:grid;
  margin:34px 0 0;
  border-top:1px solid rgba(16,16,15,.12);
}
.certificate-summary-list div{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:22px;
  padding:18px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.certificate-summary-list dt{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.14em;
  line-height:1.35;
  text-transform:uppercase;
}
.certificate-summary-list dd{
  margin:0;
  color:var(--ink);
  font-size:15px;
  line-height:1.5;
}
.certificate-scope-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(16,16,15,.1);
  border-left:1px solid rgba(16,16,15,.1);
}
.certificate-scope-grid article{
  min-height:264px;
  padding:24px 24px 28px;
  border-right:1px solid rgba(16,16,15,.1);
  border-bottom:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.62);
  transition:background .25s var(--ease);
}
.certificate-scope-grid article:hover{
  background:var(--hover-gray);
}
.certificate-scope-grid svg{
  width:34px;
  height:34px;
  color:var(--ink);
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  fill:none;
}
.certificate-scope-grid span{
  display:block;
  margin-top:34px;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.certificate-scope-grid strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.12;
}
.certificate-scope-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.certificate-route-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.certificate-route-layout > div:first-child{
  position:sticky;
  top:112px;
}
.certificate-route-list{
  display:grid;
  margin:0;
  padding:0;
  border-top:1px solid rgba(16,16,15,.12);
  list-style:none;
}
.certificate-route-list li{
  display:grid;
  grid-template-columns:76px minmax(190px,.34fr) minmax(0,1fr);
  gap:24px;
  align-items:start;
  padding:26px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.certificate-route-list span{
  color:#817d74;
  font-size:12px;
  font-weight:560;
  letter-spacing:.16em;
}
.certificate-route-list strong{
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.certificate-route-list p{
  max-width:68ch;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.68;
}
.certificate-project-grid{
  display:grid;
  grid-template-columns:minmax(340px,.46fr) minmax(0,1fr);
  gap:58px;
  align-items:center;
}
.certificate-project-grid figure{
  margin:0;
  overflow:hidden;
  background:#e8e6df;
}
.certificate-project-grid img{
  width:100%;
  height:100%;
  aspect-ratio:1 / 1.08;
  display:block;
  object-fit:cover;
  filter:saturate(.96) contrast(1.04);
}
.certificates-page .certificate-project-grid:not(.inspection-document-grid) img{
  aspect-ratio:1 / 1.2;
}
.certificate-project-grid.inspection-document-grid{
  grid-template-columns:minmax(380px,.48fr) minmax(0,1fr);
  gap:64px;
}
.certificate-project-grid.inspection-document-grid figure{
  min-height:0;
}
.certificate-project-grid.inspection-document-grid img{
  height:auto;
  aspect-ratio:4 / 5;
}
.certificate-project-grid.inspection-document-grid > div > p{
  max-width:96ch;
}
.certificate-document-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 28px;
  margin-top:34px;
}
.certificate-document-list article{
  padding-top:22px;
  border-top:1px solid rgba(16,16,15,.12);
}
.certificate-document-list strong{
  display:block;
  color:var(--ink);
  font-size:19px;
  font-weight:520;
  line-height:1.14;
}
.certificate-document-list p{
  margin:10px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.58;
}
.certificate-download-cta{
  margin-top:30px;
}
.lifecycle-grid{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  gap:58px;
  align-items:start;
}
.lifecycle-steps{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.lifecycle-steps article{
  min-height:166px;
  padding:20px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.55);
}
.lifecycle-steps strong{
  display:block;
  margin-top:24px;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.lifecycle-steps p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.56;
}
.sustainability-app-grid strong{
  margin-top:0;
}
.care-page .trust-hero{
  padding-bottom:108px;
}
.care-page .trust-hero-grid-wide{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,560px);
  gap:70px;
  align-items:center;
}
.care-hero-media{
  width:100%;
  max-width:560px;
  justify-self:end;
  max-height:none;
}
.care-hero-media img{
  aspect-ratio:16/9;
  object-fit:cover;
  object-position:center;
}
.care-principles-section{
  padding:118px 0;
}
.care-lifecycle-section{
  padding:118px 0;
}
.care-lifecycle{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.care-lifecycle-copy{
  position:sticky;
  top:112px;
}
.care-lifecycle-copy h2,
.care-faq-layout h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.care-lifecycle-copy p:not(.kicker),
.care-faq-layout > div:first-child p{
  max-width:42em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.76;
}
.care-timeline{
  display:grid;
  border-top:1px solid rgba(16,16,15,.14);
}
.care-timeline article{
  display:grid;
  grid-template-columns:76px minmax(160px,.42fr) minmax(0,1fr);
  gap:22px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.12);
}
.care-timeline span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.care-timeline strong{
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.care-timeline p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.care-surface-section{
  padding:118px 0;
}
.care-surface-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.care-surface-grid article{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:220px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
  transition:background .25s var(--ease), border-color .25s var(--ease);
}
.care-surface-grid article:hover{
  border-color:rgba(16,16,15,.18);
  background:var(--hover-gray);
}
.care-surface-grid img{
  width:220px;
  height:220px;
  aspect-ratio:1/1;
  min-height:0;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.care-surface-grid div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px;
}
.care-surface-grid strong{
  color:var(--ink);
  font-size:24px;
  font-weight:520;
  line-height:1.12;
}
.care-surface-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.64;
}
.care-method-section{
  padding:102px 0 76px;
}
.care-method-layout,
.care-avoid-panel{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.care-method-layout h2,
.care-avoid-panel h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.06;
  font-weight:520;
  text-wrap:balance;
}
.care-method-layout > div:first-child p:not(.kicker){
  max-width:38em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.care-method-stack{
  display:grid;
  border-top:1px solid rgba(16,16,15,.12);
}
.care-method-stack article{
  display:grid;
  grid-template-columns:62px minmax(150px,.35fr) minmax(0,1fr);
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.care-method-stack span{
  color:#8c887f;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.care-method-stack strong{
  color:var(--ink);
  font-size:20px;
  line-height:1.16;
  font-weight:520;
}
.care-method-stack p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.care-avoid-panel{
  margin-top:112px;
  padding-top:0;
  border-top:0;
}
.care-avoid-panel ul{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  list-style:none;
}
.care-avoid-panel li{
  min-height:0;
  position:relative;
  padding:18px 0 18px 34px;
  border-bottom:1px solid rgba(16,16,15,.1);
  background:transparent;
  color:var(--muted);
  font-size:15px;
  line-height:1.66;
}
.care-avoid-panel li:first-child{
  border-top:1px solid rgba(16,16,15,.1);
}
.care-avoid-panel li::before{
  content:"";
  position:absolute;
  left:0;
  top:28px;
  width:8px;
  height:8px;
  border:1px solid rgba(16,16,15,.38);
  border-radius:50%;
}
.care-narrative-section{
  padding:82px 0 118px;
}
.care-sustainability-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  gap:70px;
  align-items:center;
}
.care-sustainability-grid > div{
  max-width:760px;
}
.care-sustainability-grid h2{
  max-width:15.8em;
}
.care-sustainability-grid p{
  max-width:72ch;
}
.care-sustainability-grid img{
  aspect-ratio:5/4;
  object-position:center;
}
.care-faq-section{
  padding:118px 0;
}
.care-faq-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:64px;
  align-items:start;
}
.care-faq-list{
  display:grid;
  border-top:1px solid rgba(16,16,15,.14);
}
.care-faq-list details{
  border-bottom:1px solid rgba(16,16,15,.12);
  background:transparent;
}
.care-faq-list summary{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  color:var(--ink);
  font-size:18px;
  font-weight:520;
  line-height:1.24;
  cursor:pointer;
  list-style:none;
}
.care-faq-list summary::-webkit-details-marker{
  display:none;
}
.care-faq-list summary::after{
  content:"+";
  color:#817d74;
  font-size:20px;
  font-weight:400;
}
.care-faq-list details[open] summary::after{
  content:"-";
}
.care-faq-list p{
  max-width:62ch;
  margin:0;
  padding:0 42px 22px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.68;
}
.oem-hero{
  padding-top:112px;
  padding-bottom:96px;
}
.oem-hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
}
.oem-hero .page-hero-inner{
  max-width:1120px;
}
.oem-partner-section,
.oem-model-section,
.oem-support-section,
.oem-process-section,
.oem-product-section,
.oem-brief-section{
  padding:112px 0;
}
.oem-partner-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.oem-partner-grid article{
  min-height:232px;
  padding:26px;
  background:#fff;
  transition:background .25s var(--ease);
}
.oem-partner-grid article:hover{
  background:var(--hover-gray);
}
.oem-partner-grid span,
.oem-process-steps span,
.oem-product-list span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.oem-partner-grid strong{
  display:block;
  margin-top:38px;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.oem-partner-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.oem-model-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
}
.oem-model-grid article{
  display:flex;
  flex-direction:column;
  min-height:430px;
  padding:34px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.58);
}
.oem-model-grid h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.06;
  text-wrap:balance;
}
.oem-model-grid p:not(.kicker){
  max-width:44em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.oem-model-grid ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:auto 0 0;
  padding:42px 0 0;
  list-style:none;
}
.oem-model-grid li{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:64px;
  padding:12px 14px;
  border:1px solid rgba(16,16,15,.1);
  color:#4d4a44;
  font-size:13px;
  line-height:1.3;
  background:#fff;
  white-space:nowrap;
}
.oem-model-grid li svg{
  flex:0 0 auto;
  width:18px;
  height:18px;
  color:#6f6b63;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.oem-model-grid li span{
  min-width:0;
}
.oem-support-layout,
.oem-product-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.oem-support-layout > div:first-child,
.oem-product-layout > div:first-child{
  position:sticky;
  top:112px;
}
.oem-support-layout h2,
.oem-product-layout h2,
.oem-brief-grid h2{
  max-width:12.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.oem-support-layout > div:first-child p:not(.kicker),
.oem-product-layout > div:first-child p:not(.kicker),
.oem-brief-grid p:not(.kicker){
  max-width:42em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.74;
}
.oem-product-layout .btn{
  margin-top:26px;
}
.oem-support-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(16,16,15,.12);
}
.oem-support-list article{
  min-height:158px;
  padding:24px 24px 24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.oem-support-list article:nth-child(odd){
  padding-right:32px;
}
.oem-support-list article:nth-child(even){
  padding-left:32px;
  border-left:1px solid rgba(16,16,15,.1);
}
.oem-support-list strong{
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.14;
}
.oem-support-list p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.oem-process-section{
  padding-top:0;
}
.oem-process-steps{
  display:grid;
  border-top:1px solid rgba(16,16,15,.14);
}
.oem-process-steps article{
  display:grid;
  grid-template-columns:80px minmax(180px,.34fr) minmax(0,1fr);
  gap:24px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.oem-process-steps strong{
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.oem-process-steps p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.oem-product-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.oem-product-list a{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:0;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
  transition:transform .28s var(--ease), border-color .28s var(--ease), background .28s var(--ease);
}
.oem-product-list a:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.2);
  background:var(--hover-gray);
}
.oem-product-list img{
  width:100%;
  aspect-ratio:16/10;
  height:auto;
  min-height:0;
  object-fit:cover;
  filter:saturate(.88) contrast(1.04);
}
.oem-product-list div{
  padding:18px;
}
.oem-product-list strong{
  display:block;
  margin-top:12px;
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.14;
}
.oem-brief-grid{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  gap:70px;
  align-items:center;
}
.oem-brief-grid figure{
  margin:0;
}
.oem-brief-grid img{
  aspect-ratio:16/10;
  width:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.88) contrast(1.04);
}
.oem-brief-grid ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 28px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}
.oem-brief-grid li{
  position:relative;
  padding:0 0 0 16px;
  border:0;
  background:transparent;
  color:#4d4a44;
  font-size:14px;
  line-height:1.48;
}
.oem-brief-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(16,16,15,.46);
}
.fixing-hero{
  padding-top:112px;
  padding-bottom:96px;
}
.fixing-hero-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
}
.fixing-hero .page-hero-inner{
  max-width:1120px;
}
.fixing-intro-section,
.fixing-routes-section,
.fixing-application-section,
.fixing-product-section,
.fixing-brief-section{
  padding:112px 0;
}
.fixing-support-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  border:0;
  background:transparent;
}
.fixing-support-grid a{
  display:grid;
  grid-template-rows:300px 72px;
  min-height:0;
  padding:0;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  overflow:hidden;
  transition:transform .28s var(--ease), border-color .28s var(--ease), background .25s var(--ease);
}
.fixing-support-grid a:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.2);
  background:var(--hover-gray);
}
.fixing-support-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
  transition:transform .6s var(--ease), filter .6s var(--ease);
}
.fixing-support-grid a:hover img{
  transform:scale(1.025);
  filter:saturate(.96) contrast(1.06);
}
.fixing-support-grid a div{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:72px;
  padding:0 22px;
  background:var(--ink);
}
.fixing-support-grid strong,
.fixing-route-grid h2{
  display:block;
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.18;
  text-align:left;
}
.fixing-support-grid strong{
  text-align:center;
}
.fixing-support-grid strong{
  color:#fff;
}
.fixing-intro-section .trust-split-head h2{
  font-weight:520;
  font-size:var(--type-section);
  line-height:1.05;
}
.fixing-support-grid p,
.fixing-route-grid p{
  margin:14px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.fixing-route-grid p{
  max-width:27em;
}
.fixing-support-grid p{
  display:none;
}
.fixing-route-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.fixing-route-grid article{
  min-height:0;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.62);
}
.fixing-route-grid figure{
  margin:0;
  aspect-ratio:1.9 / 1;
  overflow:hidden;
  background:#e8e6df;
}
.fixing-route-grid img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:saturate(.95) contrast(1.04);
}
.fixing-route-grid article > div{
  padding:22px 24px 24px;
}
.fixing-application-layout,
.fixing-product-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.fixing-application-layout > div:first-child,
.fixing-product-layout > div:first-child{
  position:sticky;
  top:112px;
}
.fixing-application-layout h2,
.fixing-product-layout h2{
  max-width:12.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.fixing-application-layout > div:first-child p:not(.kicker),
.fixing-product-layout > div:first-child p:not(.kicker){
  max-width:44em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.74;
}
.fixing-application-list,
.fixing-product-list{
  display:grid;
  border-top:1px solid rgba(16,16,15,.1);
}
.fixing-application-list a,
.fixing-product-list a{
  display:grid;
  grid-template-columns:minmax(230px,.38fr) minmax(0,1fr);
  gap:34px;
  align-items:baseline;
  padding:22px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  transition:transform .24s var(--ease);
}
.fixing-application-list a:hover,
.fixing-product-list a:hover{
  transform:translateX(5px);
}
.fixing-application-list strong,
.fixing-product-list strong{
  color:var(--ink);
  font-size:20px;
  font-weight:520;
  line-height:1.14;
}
.fixing-application-list p,
.fixing-product-list p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.58;
}
.fixing-product-layout .btn{
  margin-top:26px;
}
.fixing-download-feature{
  padding:54px 0;
}
.fixing-download-feature img{
  max-height:440px;
}
.install-guide-hero{
  position:relative;
  min-height:clamp(500px, calc(72vh - 86px), 600px);
  padding-top:72px;
  padding-bottom:56px;
  overflow:hidden;
}
.install-guide-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,45vw);
  gap:70px;
  align-items:center;
  min-height:clamp(320px,38vh,430px);
}
.install-guide-hero .page-hero-inner{
  max-width:880px;
}
.install-guide-hero figure{
  margin:0;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(45vw,760px);
}
.install-guide-hero img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center;
  filter:saturate(.9) contrast(1.04);
}
.install-overview-section,
.install-steps-section,
.install-checklist-section,
.install-available-section{
  padding:112px 0;
}
.install-overview-section{
  padding-top:132px;
  padding-bottom:92px;
}
.install-checklist-section{
  padding:86px 0 92px;
}
.install-decision-section{
  padding:0 0 78px;
}
.install-overview,
.install-steps,
.install-decision,
.install-available-grid{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.install-checklist{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:center;
}
.install-overview > div:first-child,
.install-steps > div:first-child{
  position:sticky;
  top:112px;
}
.install-overview > div:first-child{
  padding-top:clamp(34px,4vw,62px);
}
.install-overview h2,
.install-steps h2,
.install-checklist h2,
.install-decision h2,
.install-available-grid h2{
  max-width:12.5em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.install-checklist h2{
  max-width:9.5em;
}
.install-overview p:not(.kicker),
.install-checklist p:not(.kicker){
  max-width:44em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.74;
}
.install-decision-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.install-decision-grid article{
  min-height:230px;
  padding-top:28px;
  border-top:1px solid rgba(16,16,15,.14);
}
.install-decision-grid span{
  display:block;
  color:var(--ink);
  font-size:17px;
  font-weight:560;
  line-height:1.2;
}
.install-decision-grid ul{
  display:grid;
  gap:12px;
  margin:30px 0 0;
  padding:0;
  list-style:none;
}
.install-decision-grid li{
  position:relative;
  padding-left:18px;
  color:#4d4a44;
  font-size:14px;
  line-height:1.52;
}
.install-decision-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(16,16,15,.46);
}
.install-method-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.install-method-grid article{
  display:flex;
  flex-direction:column;
  min-height:360px;
  overflow:hidden;
  padding:0;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
  transition:background .25s var(--ease), border-color .25s var(--ease), transform .25s var(--ease);
}
.install-method-grid article:hover{
  transform:translateY(-2px);
  border-color:rgba(16,16,15,.2);
  background:var(--hover-gray);
}
.install-method-grid figure{
  margin:0;
  overflow:hidden;
  background:#eceae4;
}
.install-method-grid img{
  display:block;
  width:100%;
  height:clamp(190px,14vw,240px);
  object-fit:cover;
  object-position:center;
  filter:saturate(.92) contrast(1.03);
  transition:transform .35s var(--ease);
}
.install-method-grid article:hover img{
  transform:scale(1.025);
}
.install-method-grid h2{
  max-width:10.5em;
  min-height:2.24em;
  margin:28px 24px 0;
  color:var(--ink);
  font-size:23px;
  font-weight:520;
  line-height:1.12;
}
.install-overview .install-method-grid p{
  max-width:none;
  margin:16px 24px 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.56;
}
.install-method-grid ul{
  display:grid;
  gap:8px;
  margin:auto 24px 0;
  padding:28px 0 24px;
  list-style:none;
}
.install-method-grid li,
.install-checklist li,
.install-available-grid li{
  position:relative;
  padding-left:16px;
  color:#4d4a44;
  font-size:14px;
  line-height:1.48;
}
.install-method-grid li::before,
.install-checklist li::before,
.install-available-grid li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(16,16,15,.46);
}
.install-steps ol{
  display:grid;
  margin:0;
  padding:0;
  border-top:1px solid rgba(16,16,15,.14);
  list-style:none;
  counter-reset:install-step;
}
.install-steps li{
  counter-increment:install-step;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:22px;
  align-items:baseline;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:var(--muted);
  font-size:15px;
  line-height:1.62;
}
.install-steps li::before{
  content:counter(install-step, decimal-leading-zero);
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.install-checklist ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:72px;
  row-gap:18px;
  margin:0;
  padding:0;
  list-style:none;
}
.install-available-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.install-available-grid > div{
  padding-top:30px;
  border-top:1px solid rgba(16,16,15,.12);
}
.install-available-grid ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 24px;
  margin:28px 0 0;
  padding:0;
  list-style:none;
}
.install-product-links{
  display:grid;
  gap:0;
  margin-top:28px;
  border-top:1px solid rgba(16,16,15,.1);
}
.install-product-links a{
  display:flex;
  align-items:center;
  min-height:54px;
  border-bottom:1px solid rgba(16,16,15,.1);
  color:var(--ink);
  font-size:15px;
  font-weight:520;
  transition:transform .24s var(--ease);
}
.install-product-links a:hover{
  transform:translateX(5px);
}
.page-hero h1,
.trust-hero-copy h1,
.faq-hero h1{
  font-weight:560;
}
.faq-hero{
  padding:102px 0 76px;
}
.faq-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,.46fr);
  gap:58px;
  align-items:end;
}
.faq-hero h1{
  max-width:14.2em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-feature);
  font-weight:560;
  line-height:1.03;
  text-wrap:balance;
}
.faq-hero p:not(.kicker){
  max-width:72ch;
  margin:22px 0 0;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}
.faq-hero-note{
  padding:26px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.faq-hero-note span,
.faq-nav span,
.faq-brief-list span{
  display:block;
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
  line-height:1.2;
  text-transform:uppercase;
}
.faq-hero-note strong{
  display:block;
  max-width:14em;
  margin-top:34px;
  color:var(--ink);
  font-size:26px;
  font-weight:520;
  line-height:1.08;
  text-wrap:balance;
}
.faq-hero-note p{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.faq-hero-note .text-link{
  margin-top:22px;
}
.faq-overview{
  max-width:980px;
}
.faq-overview h2{
  max-width:13em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.faq-overview p:not(.kicker){
  max-width:72ch;
  margin:22px 0 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.75;
}
.faq-main-section{
  padding-top:68px;
}
.faq-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.faq-nav{
  position:sticky;
  top:112px;
  display:grid;
  gap:4px;
  padding-top:18px;
  border-top:1px solid var(--line-soft);
}
.faq-nav span{
  margin-bottom:16px;
}
.faq-nav a{
  padding:12px 0;
  border-bottom:1px solid rgba(16,16,15,.08);
  color:#5d5951;
  font-size:14px;
  font-weight:520;
  line-height:1.35;
}
.faq-nav a:hover{
  color:var(--ink);
}
.faq-content{
  display:grid;
  gap:64px;
}
.faq-category{
  scroll-margin-top:110px;
}
.faq-category-head{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
  padding-bottom:26px;
  border-bottom:1px solid var(--line-soft);
}
.faq-category-head h2{
  max-width:none;
  margin:14px 0 0;
  color:var(--ink);
  font-size:40px;
  font-weight:560;
  line-height:1.06;
  text-wrap:balance;
}
.faq-category-head p:not(.kicker){
  max-width:56ch;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.58;
}
.faq-list{
  display:grid;
}
.faq-item{
  border-bottom:1px solid rgba(16,16,15,.1);
}
.faq-item:first-child{
  border-top:0;
}
.faq-item > summary{
  position:relative;
  display:grid;
  grid-template-columns:56px minmax(0,1fr) 24px;
  gap:18px;
  align-items:center;
  min-height:86px;
  padding:18px 0;
  cursor:pointer;
  list-style:none;
}
.faq-item > summary::-webkit-details-marker{
  display:none;
}
.faq-item > summary::after{
  content:"";
  width:8px;
  height:8px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg);
  transition:transform .22s var(--ease);
  color:#6f6b63;
}
.faq-item[open] > summary::after{
  transform:rotate(225deg) translate(-2px,-2px);
}
.faq-item > summary span{
  color:#8c887f;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.faq-item > summary strong{
  color:var(--ink);
  font-size:21px;
  font-weight:520;
  line-height:1.22;
  text-wrap:balance;
}
.faq-item > div{
  padding:0 42px 24px 74px;
}
.faq-item p{
  max-width:76ch;
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.74;
}
.faq-brief-grid{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.faq-brief-grid h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  font-weight:520;
  line-height:1.05;
  text-wrap:balance;
}
.faq-brief-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.faq-brief-list article{
  min-height:198px;
  padding:20px;
  border:1px solid rgba(16,16,15,.1);
  background:rgba(255,255,255,.55);
}
.faq-brief-list strong{
  display:block;
  margin-top:42px;
  color:var(--ink);
  font-size:22px;
  font-weight:520;
  line-height:1.12;
}
.faq-brief-list p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.56;
}
.sample-hero h1,
.selection-guide-hero h1{
  max-width:var(--measure-hero);
}
.sample-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.62fr);
  gap:54px;
  align-items:start;
}
.sample-form{
  grid-column:1;
  order:0;
  max-width:none;
}
.sample-aside{
  grid-column:2;
  order:0;
  position:sticky;
  top:112px;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.sample-aside figure{padding:0}
.sample-aside img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.sample-aside-copy{padding:26px}
.sample-aside h2,
.sample-process h2,
.selection-product-layout h2,
.selection-brief-layout h2{
  max-width:12em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:var(--type-section);
  line-height:1.06;
  font-weight:520;
  text-wrap:balance;
}
.sample-aside p:not(.kicker),
.selection-product-layout > div:first-child p{
  max-width:38em;
  margin:18px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.sample-aside .text-link{display:inline-block;margin-top:22px}
.sample-reason-grid,
.selection-decision-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.sample-reason-grid article,
.selection-decision-grid article{
  min-height:0;
  padding:24px 24px 28px;
  background:#fff;
}
.sample-reason-grid strong,
.selection-decision-grid strong{
  display:block;
  color:var(--ink);
  font-size:21px;
  line-height:1.14;
  font-weight:520;
}
.sample-reason-grid p,
.selection-decision-grid p{
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.selection-decision-grid span{
  display:block;
  margin-bottom:32px;
  color:#8c887f;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.selection-decision-grid ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 16px;
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.selection-decision-grid li{
  color:#4f4b44;
  font-size:12px;
  line-height:1.35;
}
.sample-process,
.selection-product-layout,
.selection-brief-layout{
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:64px;
  align-items:start;
}
.selection-product-layout,
.selection-brief-layout{
  padding-top:0;
}
.selection-brief-layout{border-top:1px solid var(--line-soft)}
.sample-step-list{
  display:grid;
  border-top:1px solid rgba(16,16,15,.12);
}
.sample-step-list article{
  display:grid;
  grid-template-columns:70px minmax(160px,.38fr) minmax(0,1fr);
  gap:22px;
  padding:24px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
}
.sample-step-list span{
  color:#817d74;
  font-size:11px;
  font-weight:560;
  letter-spacing:.15em;
}
.sample-step-list strong{
  color:var(--ink);
  font-size:21px;
  line-height:1.14;
  font-weight:520;
}
.sample-step-list p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.62;
}
.selection-product-list{
  display:grid;
  grid-template-columns:1fr;
  border-top:1px solid rgba(16,16,15,.1);
}
.selection-product-list a{
  display:grid;
  grid-template-columns:minmax(270px,.46fr) minmax(0,1fr);
  gap:38px;
  align-items:baseline;
  min-height:0;
  padding:22px 0;
  border-bottom:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.selection-product-list a:hover{
  background:transparent;
  transform:translateX(5px);
}
.selection-product-list strong{
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:520;
  white-space:nowrap;
}
.selection-product-list p{
  margin:0;
  color:var(--muted);
  font-size:13.5px;
  line-height:1.58;
}
.selection-download-section{padding-top:0}
.selection-download-feature{
  padding:54px 0 70px;
}
.guide-download-section{
  padding-top:0;
  padding-bottom:0;
}
.guide-download-feature{
  padding:54px 0 70px;
}
.finish-support-section{
  padding-bottom:68px;
}
.finish-support-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.finish-support-grid article{
  min-height:0;
  padding:24px 24px 28px;
  background:#fff;
}
.finish-support-grid strong{
  display:block;
  color:var(--ink);
  font-size:20px;
  line-height:1.14;
  font-weight:520;
}
.finish-support-grid p{
  margin-top:14px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.52;
}
.finish-download-section{
  padding-top:0;
  padding-bottom:0;
}
.finish-download-section:last-of-type{
  padding-bottom:82px;
}
.finish-download-section + .finish-download-section{
  padding-top:0;
  padding-bottom:82px;
}
.finish-download-feature{
  padding:54px 0;
}
.catalogue-main-feature{
  padding:18px 0 58px;
}
.catalogue-download-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:36px 70px;
}
.catalogue-download-card{
  display:grid;
  grid-template-columns:minmax(290px,.58fr) minmax(0,.92fr);
  gap:38px;
  align-items:center;
  min-height:0;
  padding:30px 0;
  border-top:1px solid rgba(16,16,15,.08);
  border-bottom:1px solid rgba(16,16,15,.08);
}
.catalogue-download-card img{
  width:100%;
  aspect-ratio:16/11;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
  transition:filter .28s var(--ease), transform .45s var(--ease);
}
.catalogue-download-card:hover img{
  filter:saturate(.96) contrast(1.06);
}
.catalogue-download-card div{
  display:block;
  min-height:0;
  padding:0;
}
.catalogue-download-card span{
  display:block;
  color:#9a958b;
  font-size:13px;
  font-weight:520;
  letter-spacing:.01em;
  line-height:1.25;
}
.catalogue-download-card strong{
  display:block;
  max-width:14em;
  margin-top:14px;
  color:var(--ink);
  font-size:25px;
  line-height:1.12;
  font-weight:520;
  text-wrap:balance;
}
.catalogue-download-card b{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  margin-top:24px;
  padding:0 18px;
  border-radius:4px;
  background:var(--ink);
  color:#fff;
  font-size:13px;
  font-weight:560;
  letter-spacing:.02em;
  text-transform:none;
  transition:background-color .24s var(--ease), transform .24s var(--ease);
}
.catalogue-download-card b::after{
  content:"\2192";
  display:inline-block;
  margin-left:9px;
  font-size:14px;
  line-height:1;
}
.catalogue-download-card:hover b{
  background:#2b2a27;
  transform:translateY(-1px);
}
.selection-brief-layout ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  margin:0;
  padding:0;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
  list-style:none;
}
.selection-brief-layout li{
  min-height:92px;
  padding:20px;
  background:#fff;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.faq-brief-section{
  padding-top:62px;
  padding-bottom:66px;
}
.faq-download-feature{padding:0}
.legal-layout{
  display:grid;
  grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);
  gap:56px;
  align-items:start;
}
.legal-meta{
  position:sticky;
  top:112px;
  display:grid;
  gap:8px;
  padding:20px;
  border:1px solid var(--line-soft);
  background:var(--guide-gray);
}
.legal-meta span{
  color:var(--muted);
  font-size:11px;
  font-weight:620;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.legal-meta strong{
  color:var(--ink);
  font-size:18px;
  font-weight:520;
}
.legal-meta a{
  margin-top:8px;
  color:var(--muted);
  font-size:14px;
}
.legal-content{
  display:grid;
  gap:1px;
  border:1px solid var(--line-soft);
  background:var(--line-soft);
}
.legal-content article{
  display:grid;
  grid-template-columns:minmax(180px,.34fr) minmax(0,1fr);
  gap:36px;
  padding:28px;
  background:#fff;
}
.legal-content h2{
  margin:0;
  color:var(--ink);
  font-size:22px;
  line-height:1.16;
}
.legal-content p{
  margin:0;
  color:var(--muted);
  font-size:15px;
  line-height:1.74;
}
.legal-content a{
  color:var(--ink);
  border-bottom:1px solid rgba(16,16,15,.24);
}
.sitemap-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.sitemap-card{
  min-height:300px;
  padding:24px;
  border:1px solid var(--line-soft);
  background:#fff;
}
.sitemap-card span{
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:620;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.sitemap-card ul{
  display:grid;
  gap:0;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}
.sitemap-card a{
  display:flex;
  align-items:center;
  min-height:42px;
  border-top:1px solid rgba(16,16,15,.055);
  color:#5b5851;
  font-size:15px;
  transition:padding-left .24s var(--ease), color .24s var(--ease), background-color .24s var(--ease);
}
.sitemap-card a:hover{
  padding-left:6px;
  background:var(--hover-gray);
  color:var(--ink);
}
.sitemap-card li > span{
  display:flex;
  align-items:center;
  min-height:42px;
  border-top:1px solid rgba(16,16,15,.055);
  color:#8a867d;
  font-size:15px;
}
.not-found-page{
  min-height:calc(100vh - 80px);
  display:flex;
  align-items:center;
}
.not-found-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:14px;
}
.site-float-actions{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:10px;
  z-index:78;
}
.float-action{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border:1px solid rgba(16,16,15,.14);
  border-radius:12px;
  background:#fff;
  color:#111;
  box-shadow:0 10px 24px rgba(16,16,15,.08);
  transition:transform .24s var(--ease), border-color .24s var(--ease), box-shadow .24s var(--ease), background-color .24s var(--ease);
}
.float-action:hover{
  transform:translateX(-2px);
  border-color:rgba(16,16,15,.22);
  box-shadow:0 14px 30px rgba(16,16,15,.12);
  background:#fcfcfb;
}
.float-icon{
  width:23px;
  height:23px;
  display:block;
}
.float-whatsapp .float-icon{
  background:currentColor;
  -webkit-mask:url("./whatsapp.svg") center / contain no-repeat;
  mask:url("./whatsapp.svg") center / contain no-repeat;
}
.float-email .float-icon{
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.float-label{
  position:absolute;
  right:64px;
  top:50%;
  transform:translate(6px,-50%);
  padding:8px 10px;
  border:1px solid rgba(16,16,15,.12);
  border-radius:999px;
  background:#fff;
  color:#1f1f1d;
  font-size:12px;
  font-weight:560;
  letter-spacing:.04em;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s var(--ease), transform .24s var(--ease);
}
.float-action:hover .float-label,
.float-action:focus-visible .float-label{
  opacity:1;
  transform:translate(0,-50%);
}
.insights-feature{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);
  gap:56px;
  align-items:center;
}
.insights-feature figure{
  overflow:hidden;
  border:1px solid rgba(16,16,15,.1);
  background:#fff;
}
.insights-feature img{
  aspect-ratio:16/9;
  object-fit:cover;
  filter:saturate(.9) contrast(1.04);
}
.insights-feature h2{
  max-width:12.6em;
  margin:12px 0 0;
  color:var(--ink);
  font-size:44px;
  line-height:1.05;
  font-weight:520;
  text-wrap:balance;
}
.insights-feature p:not(.kicker){
  max-width:38em;
  margin:20px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
}
.insights-feature .btn{
  margin-top:26px;
}
.section.insights-library-section{
  padding-top:76px;
}
.insights-library-head{
  margin-bottom:28px;
}
.insights-toolbar{
  margin-bottom:34px;
  padding:22px 0 24px;
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
}
.insights-listing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.insights-list-card{
  min-height:456px;
  background:#fff;
}
.insights-list-card[hidden]{
  display:none;
}
.insights-card-image{
  display:block;
  overflow:hidden;
}
.insight-article-card div > a,
.insight-card-action{
  margin-top:18px;
  color:var(--ink);
  font-size:12px;
  font-weight:560;
  font-style:normal;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.insight-article-card div > a::after{
  content:"";
  display:inline-block;
  width:22px;
  height:1px;
  margin-left:10px;
  vertical-align:middle;
  background:currentColor;
  transform:translateY(-3px);
  transition:width .24s var(--ease);
}
.insight-article-card:hover div > a::after{
  width:34px;
}
.insights-empty{
  margin-top:20px;
  color:var(--muted);
  font-size:14px;
}
.insights-path-section{
  padding-top:72px;
  padding-bottom:92px;
}
.insights-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid rgba(16,16,15,.08);
  background:rgba(16,16,15,.08);
}
.insights-path-grid a{
  min-height:210px;
  padding:26px;
  background:#fff;
}
.insights-path-grid a:hover{
  background:var(--hover-gray);
}
.insights-path-grid strong{
  display:block;
  max-width:12em;
  color:var(--ink);
  font-size:22px;
  line-height:1.14;
  font-weight:520;
}
.insights-path-grid p{
  max-width:31em;
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.58;
}
.insights-path-grid span{
  display:block;
  margin-top:26px;
  color:var(--ink);
  font-size:12px;
  font-weight:560;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.insights-path-grid span::after{
  content:"";
  display:inline-block;
  width:24px;
  height:1px;
  margin-left:10px;
  vertical-align:middle;
  background:currentColor;
  transform:translateY(-3px);
}
@media (max-width:1200px){
  :root{
    --type-hero:66px;
    --type-feature:50px;
    --type-section:42px;
    --type-card:25px;
    --measure-hero:900px;
    --measure-feature:920px;
    --measure-section:860px;
  }
  .insights-feature{
    grid-template-columns:1fr;
    gap:34px;
  }
  .insights-feature h2{
    max-width:16em;
  }
  .insights-listing{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .header-inner{grid-template-columns:auto 1fr auto}
  .main-nav{display:none}
  .header-actions{display:none}
  .mobile-menu{
    display:block;
    position:relative;
    justify-self:end;
  }
  .hero-layout,.intro-showcase,.selection-layout,.selection-path-layout,.material-grid,.trust-grid,.resources-grid,.product-system,.custom-layout,.application-layout,.footer-grid{
    grid-template-columns:1fr;
  }
  .family-feature{grid-template-columns:1fr}
  .family-feature img{min-height:320px}
  .signature-secondary{grid-template-columns:1fr 1fr}
  .signature-secondary article,
  .signature-secondary a{grid-template-columns:1fr;min-height:auto}
  .signature-secondary img{aspect-ratio:4/3}
  .application-feature{grid-template-rows:auto auto}
  .application-feature img{aspect-ratio:16/7;min-height:0}
  .application-mini{grid-template-columns:repeat(3,minmax(0,1fr))}
  .application-track{--application-card-width:calc((100% - 16px) / 2)}
  .application-card{grid-template-rows:220px 1fr;min-height:420px}
  .workflow-row,.faq-preview,.certificate-strip{grid-template-columns:1fr 1fr}
  .selection-path-section{padding:64px 0 54px}
  .selection-path-layout{gap:28px}
  .selection-path-copy h2{max-width:14em}
  .selection-path-list{
    grid-template-columns:repeat(5,minmax(140px,1fr));
    overflow-x:auto;
    padding-bottom:8px;
  }
  .supporting-family-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .intro-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:300px 220px;
  }
  .intro-gallery .gallery-tall{grid-column:span 2;grid-row:auto}
  .intro-gallery .gallery-wide{width:100%;transform:none}
  .section-head > div{max-width:100%}
  .mobile-menu-panel{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    top:72px;
    max-width:560px;
  }
  .intro{padding-top:118px}
  .site-float-actions{right:14px}
  .page-grid.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .about-hero-grid,
  .about-company-grid,
  .about-factory-grid,
  .about-service-grid{
    grid-template-columns:1fr;
    gap:34px;
  }
  .about-signal-grid,
  .about-capability-grid,
  .about-principle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .about-factory-flow{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .about-route-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  :root{
    --type-hero:34px;
    --type-feature:34px;
    --type-section:28px;
    --type-card:21px;
    --measure-hero:100%;
    --measure-feature:100%;
    --measure-section:100%;
  }
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .header-inner{min-height:68px;grid-template-columns:auto auto;justify-content:space-between}
  .brand img{width:132px}
  .mobile-menu-panel{
    left:50%;
    right:auto;
    transform:translateX(-50%);
    top:64px;
    width:calc(100vw - 20px);
    max-width:none;
    max-height:calc(100svh - 84px);
  }
  .hero{min-height:auto}
  .hero-carousel-stage{min-height:520px}
  .hero-layout{min-height:520px;padding:50px 0 44px}
  .hero h1,
  .hero-title{max-width:11.5em;line-height:1.02}
  .hero-copy p:not(.kicker){max-width:34ch;font-size:15px;line-height:1.72}
  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:28px;
  }
  .hero-actions .btn{
    min-width:0;
    width:100%;
    min-height:44px;
    padding:0 12px;
    font-size:12px;
    text-align:center;
    white-space:normal;
  }
  .kicker{font-size:11px;letter-spacing:.14em;line-height:1.4}
  .hero-strip{display:none}
  .section,.intro{padding:64px 0}
  .intro{display:none}
  .selection-path-section{
    padding:52px 0 48px;
  }
  .selection-path-layout{
    gap:24px;
  }
  .selection-path-copy h2{
    max-width:11.6em;
    font-size:32px;
  }
  .selection-path-copy p:not(.kicker){
    max-width:32em;
    font-size:14px;
    line-height:1.56;
  }
  .selection-path-list{
    grid-template-columns:1fr;
    gap:0;
    overflow:visible;
    border-top:0;
    padding-bottom:0;
  }
  .selection-path-list li{
    min-height:0;
    padding:15px 0 15px 34px;
    border-top:1px solid rgba(16,16,15,.12);
  }
  .selection-path-list li::before{
    top:21px;
    left:0;
  }
  .selection-path-list strong{
    margin-top:8px;
    font-size:16px;
  }
  .selection-path-list p{
    max-width:28em;
    font-size:13px;
    line-height:1.42;
  }
  .section-head{display:grid;gap:16px;align-items:start;margin-bottom:30px}
  h2,.section-head h2{max-width:100%}
  .lead,.section-note{max-width:100%;font-size:15px;line-height:1.66}
  .family-list,.path-grid,.custom-list,.application-mini,.process-list,.resource-cards,.material-stack,.workflow-row,.application-notes,.faq-preview,.certificate-strip{
    grid-template-columns:1fr;
  }
  .product-explore{padding-top:64px}
  .product-system{gap:12px}
  .product-system-cta-desktop{
    display:none;
  }
  .product-system-cta{
    display:flex;
    justify-content:stretch;
    margin-top:16px;
  }
  .product-system-cta .btn{
    width:100%;
  }
  .family-feature img{
    width:100%;
    min-height:0;
    aspect-ratio:16/7.4;
    object-fit:cover;
  }
  .family-feature div{padding:15px}
  .family-feature span,
  .signature-secondary span{
    font-size:12px;
    letter-spacing:.16em;
  }
  .signature-primary strong,
  .signature-secondary strong{
    font-size:18px;
    line-height:1.08;
  }
  .family-feature p,
  .signature-secondary p{
    font-size:13px;
    line-height:1.42;
  }
  .family-feature .text-link,
  .signature-secondary .text-link{
    margin-top:10px;
  }
  .signature-secondary{grid-template-columns:1fr}
  .signature-secondary article,
  .signature-secondary a{
    grid-template-columns:1fr;
    min-height:0;
  }
  .signature-secondary img{
    width:100%;
    height:auto;
    aspect-ratio:16/7.4;
    object-fit:cover;
  }
  .signature-secondary div{padding:15px}
  .supporting-family-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .family-list a.has-thumb{min-height:0}
  .family-list a.has-thumb img{aspect-ratio:4/3}
  .family-list a.has-thumb span,
  .family-list a.has-thumb strong{padding-left:12px;padding-right:12px}
  .family-list a.has-thumb span{margin-top:10px;font-size:11px;letter-spacing:.12em}
  .family-list a.has-thumb strong{padding-bottom:12px;font-size:14px;line-height:1.18}
  .family-list .family-guide{
    min-height:0;
    padding:14px;
    justify-content:flex-end;
  }
  .family-list .family-guide::after{
    width:88px;
    height:88px;
    top:-24px;
    right:-22px;
  }
  .family-list .family-guide strong{font-size:15px;max-width:9ch;line-height:1.12}
  .family-list .family-guide span{max-width:none;margin-top:10px}
  .family-list .family-guide span[data-mobile-text]{
    font-size:0;
    line-height:0;
  }
  .family-list .family-guide span[data-mobile-text]::after{
    content:attr(data-mobile-text);
    display:block;
    color:rgba(17,17,17,.68);
    font-size:12px;
    font-weight:400;
    line-height:1.38;
  }
  .intro-showcase{
    gap:40px;
  }
  .intro-content{
    order:1;
    gap:22px;
  }
  .intro-gallery{
    order:2;
  }
  .intro-gallery{
    grid-template-columns:1fr 1fr;
    grid-template-rows:224px 132px;
    gap:12px;
  }
  .intro-gallery .gallery-tall{
    grid-column:span 2;
    grid-row:auto;
    height:auto;
  }
  .intro-gallery .gallery-wide{grid-column:auto;grid-row:auto;width:100%}
  .intro-gallery figure{height:auto}
  .intro-content h2{max-width:100%}
  .family-list a{min-height:108px}
  .product-system .family-feature img{min-height:0}
  .application-side article{grid-template-columns:1fr}
  .application-side img,
  .application-mini img{aspect-ratio:4/3;min-height:0}
  .application-feature img{aspect-ratio:4/3}
  .application-track{
    --application-card-width:calc((100% - 10px) / 2);
    --application-gap:10px;
  }
  .application-card{
    grid-template-rows:132px auto;
    min-height:0;
  }
  .application-card div{padding:13px}
  .application-card span{
    font-size:10px;
    letter-spacing:.11em;
  }
  .application-card strong{
    margin-top:8px;
    font-size:16px;
    line-height:1.14;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .application-card p{
    margin-top:8px;
    font-size:12px;
    line-height:1.42;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .carousel-controls{
    inset:78px 8px auto 8px;
    margin:0;
    opacity:1;
  }
  .carousel-btn{
    width:36px;
    height:36px;
    opacity:.9;
  }
  .section-cta-row{margin-top:26px;gap:10px}
  .section-cta-row .btn{flex:1 1 100%;min-height:44px}
  .section-cta-row .btn:nth-child(n+2){display:none}
  .custom-section{padding:58px 0}
  .custom-layout{gap:14px}
  .custom-main{
    display:none;
    order:2;
    border:0;
    background:transparent;
  }
  .custom-main img{aspect-ratio:16/5.8}
  .custom-main div{display:none}
  .custom-list{
    order:1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .custom-list article,
  .custom-list a{
    min-height:132px;
    padding:14px;
  }
  .custom-list strong{font-size:15px;line-height:1.14}
  .custom-list ul{gap:5px;margin-top:10px}
  .custom-list li{
    padding-left:10px;
    font-size:11px;
    line-height:1.28;
    white-space:nowrap;
  }
  .custom-list li:nth-child(n+4){display:none}
  .custom-list li::before{
    top:.58em;
    width:3px;
    height:3px;
  }
  .custom-pattern-card::after,
  .custom-material-card::after,
  .custom-color-card::after,
  .custom-install-card::after{
    width:38px;
    height:38px;
    right:8px;
    bottom:8px;
    opacity:.5;
  }
  .custom-mobile-cta{
    order:2;
    display:flex;
    margin-top:2px;
  }
  .custom-mobile-cta .btn{
    width:100%;
  }
  .trust-grid{gap:18px}
  .trust-stack{margin-top:0}
  .quality-points{grid-template-columns:1fr 1fr;gap:8px}
  .quality-points article{min-height:108px;padding:14px}
  .quality-points span{font-size:10px;letter-spacing:.12em}
  .quality-points strong{margin-top:16px;font-size:16px;line-height:1.12}
  .quality-points p{margin-top:7px;font-size:11px;line-height:1.36}
  .resources-section{padding:56px 0 60px}
  .resources-section .resources-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    align-items:start;
  }
  .resources-copy{display:block}
  .resources-copy h2{
    max-width:13.4em;
  }
  .resource-visual-desktop{display:none}
  .resource-visual-mobile{
    display:block;
    width:100%;
    max-width:430px;
    justify-self:center;
    margin:28px auto 26px;
  }
  .resource-visual-mobile img{
    width:100%;
    max-height:206px;
    object-fit:contain;
  }
  .resources-copy .lead{
    margin-top:0;
    max-width:34em;
    font-size:15px;
    line-height:1.58;
  }
  .resources-copy .btn{
    width:max-content;
    margin-top:20px;
  }
  .resource-cards{display:none}
  .resource-cards article,
  .resource-card-link{min-height:94px;padding:14px 16px}
  .resource-cards strong{font-size:16px}
  .final-cta{padding:58px 0 62px}
  .final-cta-inner{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
  }
  .final-cta h2{
    max-width:9.8em;
    font-size:34px;
    line-height:1.08;
    text-wrap:balance;
  }
  .final-cta p:not(.kicker){
    max-width:30em;
    margin-top:18px;
    font-size:15px;
    line-height:1.62;
  }
  .final-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    max-width:300px;
  }
  .final-actions .btn{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:0 16px;
    font-size:13px;
    text-align:center;
    white-space:nowrap;
  }
  .footer-bottom{flex-direction:column;align-items:flex-start}
  .footer-bottom span[data-mobile-text]{
    font-size:0;
    line-height:0;
  }
  .footer-bottom span[data-mobile-text]::after{
    content:attr(data-mobile-text);
    display:block;
    font-size:14px;
    line-height:1.5;
  }
  .site-footer{padding:58px 0 28px}
  .site-footer .wrap{
    width:min(var(--max),calc(100% - 32px));
  }
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 22px;
    padding-bottom:34px;
  }
  .footer-brand{
    grid-column:1 / -1;
    min-width:0;
  }
  .footer-brand img{width:132px}
  .footer-brand p{
    display:block;
    max-width:34em;
    margin-top:18px;
    font-size:13px;
    line-height:1.58;
  }
  .footer-contact{
    margin-top:12px;
    font-size:12px;
    line-height:1.5;
    white-space:normal;
  }
  .footer-social{gap:14px;margin-top:12px}
  .footer-social a{width:20px;height:20px}
  .footer-grid strong{margin-bottom:16px;font-size:11px;letter-spacing:.15em}
  .footer-grid a{margin-top:12px;font-size:14px;line-height:1.35}
  .back-to-top{right:16px;bottom:16px;width:32px;height:32px}
  .site-float-actions{
    top:62%;
    right:14px;
    bottom:auto;
    transform:translateY(-50%);
    gap:8px;
  }
  .float-action{
    width:48px;
    height:48px;
    border-radius:11px;
  }
  .float-icon{
    width:21px;
    height:21px;
  }
  .float-label{display:none}
  .page-hero{padding:88px 0 48px}
  .page-hero > .wrap.page-hero-inner{
    width:min(var(--max),calc(100% - 28px));
    max-width:min(var(--max),calc(100% - 28px));
    margin-left:auto;
    margin-right:auto;
  }
  .page-hero h1{max-width:100%;font-size:34px;line-height:1.04}
  .page-hero p{font-size:15px;line-height:1.65}
  .page-grid,
  .page-grid.grid-3{grid-template-columns:1fr}
  .page-card{min-height:0;padding:18px}
  .page-card strong{font-size:18px}
  .about-hero{
    padding-bottom:52px;
  }
  .about-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .about-identity-card{
    min-height:0;
    padding:22px;
  }
  .about-identity-card strong{
    max-width:100%;
    margin-top:46px;
    font-size:25px;
    line-height:1.1;
  }
  .about-identity-card p{
    font-size:14px;
    line-height:1.62;
  }
  .about-statement-section,
  .about-capability-section,
  .about-service-section,
  .about-principle-section,
  .about-route-section,
  .about-factory-section{
    padding:64px 0;
  }
  .about-signal-section{
    padding:48px 0;
  }
  .about-signal-grid,
  .about-capability-grid,
  .about-principle-grid,
  .about-route-grid,
  .about-factory-flow{
    grid-template-columns:1fr;
  }
  .about-signal-grid article,
  .about-capability-grid article,
  .about-principle-grid article{
    min-height:0;
    padding:20px;
  }
  .about-signal-grid strong{
    margin-top:34px;
    font-size:20px;
  }
  .about-capability-grid svg{
    width:34px;
    height:34px;
    margin-bottom:28px;
  }
  .about-capability-grid strong,
  .about-principle-grid strong{
    font-size:21px;
  }
  .about-factory-grid,
  .about-company-grid,
  .about-service-grid,
  .about-page .trust-narrative-grid,
  .about-page .trust-narrative-grid.reverse{
    grid-template-columns:1fr;
    gap:26px;
  }
  .about-company-grid img{
    aspect-ratio:16/10;
  }
  .about-company-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .about-company-grid p{
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .about-factory-grid img{
    aspect-ratio:16/10;
  }
  .about-factory-grid h2,
  .about-service-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .about-factory-grid p,
  .about-service-grid > div:first-child p{
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .about-factory-flow{
    margin-top:34px;
  }
  .about-factory-flow article{
    min-height:0;
    padding:18px 0;
    border-bottom:1px solid rgba(16,16,15,.09);
  }
  .about-factory-flow strong{
    margin-top:14px;
    font-size:19px;
  }
  .about-role-list article{
    grid-template-columns:1fr;
    gap:10px;
    padding:20px 0;
  }
  .about-role-list strong{
    font-size:20px;
  }
  .about-role-list p{
    max-width:100%;
    font-size:14px;
    line-height:1.62;
  }
  .about-principle-grid article{
    min-height:0;
  }
  .about-route-grid a{
    min-height:0;
    grid-template-columns:38px minmax(0,1fr) auto;
    padding:18px;
  }
  .about-route-grid strong{
    font-size:20px;
    white-space:normal;
  }
  .about-route-grid p{
    font-size:13px;
    white-space:normal;
  }
  .editorial-page-hero{padding:78px 0 42px}
  .editorial-hero-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .editorial-hero-media img{aspect-ratio:16/9}
  .editorial-content-page{padding:42px 0}
  .editorial-info-card{min-height:0;padding:20px}
  .editorial-info-card strong{font-size:21px}
  .editorial-info-card p{font-size:14px;line-height:1.66}
  .editorial-info-card ul{
    grid-template-columns:1fr;
    gap:7px;
    margin-top:18px;
  }
  .editorial-info-card li{font-size:13px}
  .trust-page .trust-hero{
    padding:78px 0 44px;
  }
  .trust-hero-grid,
  .trust-hero-grid-wide,
  .certificate-hero-grid,
  .trust-statement,
  .trust-split-head,
  .trust-audience-grid,
  .trust-narrative-grid,
  .trust-narrative-grid.reverse,
  .trust-editorial-columns,
  .inspection-overview-grid,
  .inspection-matrix,
  .certificate-current-grid,
  .lifecycle-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .why-page .trust-narrative-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .why-page .trust-narrative-grid.reverse{
    grid-template-columns:1fr;
  }
  .why-page .trust-path-section{
    padding-bottom:22px;
  }
  .why-page .trust-reason-section{
    padding-top:42px;
  }
  .trust-hero-copy h1{
    max-width:100%;
    font-size:34px;
    line-height:1.04;
  }
  .trust-hero-copy p:not(.kicker){
    max-width:100%;
    font-size:15px;
    line-height:1.66;
  }
  .trust-hero-media img{
    aspect-ratio:16/9;
  }
  .trust-statement h2,
  .trust-split-head h2,
  .trust-editorial-columns h2,
  .inspection-overview-grid h2,
  .certificate-current-grid h2,
  .lifecycle-grid h2,
  .inspection-matrix h2,
  .trust-narrative-grid h2,
  .trust-audience-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .trust-statement-copy p,
  .trust-split-head > p,
  .trust-editorial-columns p,
  .inspection-matrix > div:first-child p,
  .certificate-current-grid p,
  .certificate-note p,
  .trust-narrative-grid p,
  .lifecycle-grid > div:first-child p{
    font-size:14px;
    line-height:1.68;
  }
  .trust-capability-grid,
  .trust-reason-grid,
  .trust-reason-grid.four,
  .certificate-doc-grid,
  .sustainability-app-grid{
    grid-template-columns:1fr;
  }
  .trust-capability-grid article,
  .trust-reason-grid article,
  .certificate-doc-grid article,
  .sustainability-app-grid article{
    min-height:0;
    padding:18px;
  }
  .trust-capability-grid strong,
  .trust-reason-grid strong,
  .certificate-doc-grid strong,
  .sustainability-app-grid strong{
    margin-top:24px;
    font-size:20px;
  }
  .trust-capability-grid p,
  .trust-reason-grid p,
  .certificate-doc-grid p,
  .sustainability-app-grid p{
    font-size:13px;
    line-height:1.58;
  }
  .why-page .trust-path-line,
  .why-decision-grid,
  .why-route-grid{
    grid-template-columns:1fr;
  }
  .why-decision-grid article,
  .why-route-grid a{
    min-height:0;
    padding:18px;
  }
  .why-route-grid a{
    grid-template-columns:38px minmax(0,1fr) 24px;
    gap:14px;
    padding-right:18px;
  }
  .why-decision-grid strong,
  .why-route-grid strong{
    font-size:20px;
  }
  .why-route-grid strong{
    white-space:normal;
  }
  .why-decision-grid p{
    margin-top:14px;
    font-size:13px;
    line-height:1.58;
  }
  .why-route-grid p{
    font-size:13px;
    line-height:1.58;
    white-space:normal;
  }
  .sustainability-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .sustainability-hero-grid,
  .sustainability-lifecycle-layout,
  .sustainability-performance-grid,
  .sustainability-support-layout{
    grid-template-columns:1fr;
    gap:28px;
  }
  .sustainability-hero figure,
  .sustainability-performance-grid figure{
    min-height:0;
    aspect-ratio:16/10;
  }
  .sustainability-framework-section,
  .sustainability-material-section,
  .sustainability-lifecycle-section,
  .sustainability-performance-section,
  .sustainability-support-section,
  .sustainability-care-section{
    padding:68px 0;
  }
  .sustainability-framework-grid,
  .sustainability-material-grid,
  .sustainability-benefit-grid,
  .sustainability-support-list,
  .sustainability-care-strip,
  .sustainability-care-points{
    grid-template-columns:1fr;
  }
  .sustainability-care-strip{
    gap:28px;
    padding:0;
  }
  .sustainability-care-strip h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .sustainability-care-strip p:not(.kicker){
    font-size:14px;
    line-height:1.68;
  }
  .sustainability-care-points{
    border-left:0;
    border-top:1px solid rgba(16,16,15,.1);
  }
  .sustainability-care-points article{
    min-height:0;
    padding:20px 0;
    border-right:0;
    border-bottom:1px solid rgba(16,16,15,.1);
  }
  .sustainability-care-points strong{
    margin-top:22px;
    font-size:18px;
  }
  .sustainability-framework-grid article{
    min-height:0;
    padding:20px;
  }
  .sustainability-framework-grid span{
    margin-top:28px;
  }
  .sustainability-framework-grid strong,
  .sustainability-material-grid strong{
    font-size:20px;
  }
  .sustainability-framework-grid p,
  .sustainability-material-grid p,
  .sustainability-benefit-grid p,
  .sustainability-support-list p{
    font-size:13px;
    line-height:1.58;
  }
  .sustainability-lifecycle-layout > div:first-child,
  .sustainability-support-layout > div:first-child{
    position:static;
  }
  .sustainability-lifecycle-layout h2,
  .sustainability-performance-grid h2,
  .sustainability-support-layout h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .sustainability-lifecycle-layout > div:first-child p:not(.kicker),
  .sustainability-performance-grid > div > p,
  .sustainability-support-layout > div:first-child p:not(.kicker){
    font-size:14px;
    line-height:1.68;
  }
  .sustainability-timeline li{
    grid-template-columns:44px minmax(0,1fr);
    gap:12px 16px;
    padding:20px 0;
  }
  .sustainability-timeline p{
    grid-column:2;
    font-size:13px;
    line-height:1.58;
  }
  .trust-audience-list{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .trust-audience-list span{
    min-height:52px;
    padding:14px;
    font-size:13px;
  }
  .trust-narrative-grid.reverse figure{
    order:0;
  }
  .trust-narrative-grid img{
    aspect-ratio:16/9;
  }
  .trust-contrast-panel div{
    min-height:0;
    padding:20px;
  }
  .why-page .trust-contrast-panel div{
    padding:18px;
  }
  .trust-contrast-panel p{
    margin-top:14px;
    font-size:18px;
    line-height:1.25;
  }
  .why-page .trust-contrast-panel p{
    max-width:100%;
    margin-top:12px;
    font-size:15px;
    line-height:1.42;
  }
  .trust-path-line{
    grid-template-columns:1fr 1fr;
    gap:0;
  }
  .trust-path-line article{
    min-height:96px;
    padding:18px 14px 0 0;
  }
  .trust-path-line strong{
    margin-top:14px;
    font-size:16px;
  }
  .trust-proof-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .why-output-grid{
    grid-template-columns:1fr;
  }
  .trust-proof-grid article{
    min-height:0;
    padding:18px;
  }
  .trust-proof-grid strong{
    max-width:100%;
    margin-top:28px;
    font-size:20px;
  }
  .iso-inline-card{
    grid-template-columns:44px minmax(0,1fr);
    padding:18px;
  }
  .iso-inline-card img{
    width:44px;
    height:44px;
  }
  .iso-inline-card strong{
    font-size:18px;
  }
  .inspection-chain-section,
  .inspection-stage-section,
  .inspection-focus-section,
  .inspection-document-section,
  .inspection-support-section{
    padding:68px 0;
  }
  .inspection-chain-head,
  .inspection-stage-card,
  .inspection-stage-card.reverse,
  .inspection-focus-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .inspection-chain-head{
    margin-bottom:26px;
  }
  .inspection-chain-head h2,
  .inspection-focus-layout h2,
  .inspection-stage-card h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .inspection-chain-grid,
  .inspection-focus-list,
  .inspection-input-list{
    grid-template-columns:1fr;
  }
  .inspection-chain-grid article{
    min-height:0;
    padding:20px;
  }
  .inspection-chain-grid span{
    margin-top:28px;
  }
  .inspection-chain-grid strong{
    font-size:20px;
  }
  .inspection-chain-grid p,
  .inspection-focus-list p,
  .inspection-input-list p{
    font-size:13px;
    line-height:1.58;
  }
  .inspection-input-list p{
    white-space:normal;
  }
  .inspection-stage-card,
  .inspection-stage-card:first-child{
    padding:30px 0;
  }
  .inspection-stage-card.reverse figure{
    order:0;
  }
  .inspection-stage-card img{
    aspect-ratio:16/10;
  }
  .inspection-stage-card p,
  .inspection-focus-layout > div:first-child p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .inspection-stage-card ul{
    grid-template-columns:1fr 1fr;
    gap:8px 14px;
    margin-top:22px;
  }
  .inspection-stage-card li{
    font-size:13px;
  }
  .inspection-focus-layout > div:first-child{
    position:static;
  }
  .inspection-focus-list article{
    min-height:0;
    padding:18px 0;
    border-right:0;
    background:transparent;
  }
  .inspection-focus-list{
    border-left:0;
  }
  .inspection-focus-list article:hover{
    background:transparent;
  }
  .inspection-focus-list strong,
  .inspection-input-list strong{
    font-size:18px;
  }
  .inspection-input-list{
    gap:0;
    margin-top:26px;
  }
  .inspection-input-list article{
    padding:18px 0;
  }
  .inspection-document-grid figure{
    min-height:0;
  }
  .inspection-document-grid img{
    height:auto;
    aspect-ratio:16/10;
  }
  .inspection-timeline article{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px 16px;
    padding:18px 0;
  }
  .inspection-timeline p{
    grid-column:2;
    font-size:14px;
    line-height:1.58;
  }
  .inspection-timeline strong{
    font-size:19px;
  }
  .certificate-evidence-section,
  .certificate-scope-section,
  .certificate-route-section,
  .certificate-project-section{
    padding:68px 0;
  }
  .certificate-evidence-grid,
  .certificate-route-layout,
  .certificate-project-grid{
    grid-template-columns:1fr;
    gap:28px;
    padding-left:0;
  }
  .certificate-project-grid.inspection-document-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .certificate-evidence-copy{
    padding-left:0;
  }
  .certificate-sheet{
    max-width:360px;
    padding:8px;
  }
  .certificate-evidence-copy h2,
  .certificate-route-layout h2,
  .certificate-project-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .certificate-evidence-copy > p:not(.kicker),
  .certificate-route-layout > div:first-child p:not(.kicker),
  .certificate-project-grid > div > p{
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .certificate-summary-list{
    margin-top:26px;
  }
  .certificate-summary-list div{
    grid-template-columns:1fr;
    gap:8px;
    padding:16px 0;
  }
  .certificate-scope-grid,
  .certificate-document-list{
    grid-template-columns:1fr;
  }
  .certificate-scope-grid article{
    min-height:0;
    padding:20px;
  }
  .certificate-scope-grid span{
    margin-top:28px;
  }
  .certificate-scope-grid strong{
    font-size:20px;
  }
  .certificate-scope-grid p,
  .certificate-document-list p{
    font-size:13px;
    line-height:1.58;
  }
  .certificate-route-layout > div:first-child{
    position:static;
  }
  .certificate-route-list li{
    grid-template-columns:48px minmax(0,1fr);
    gap:8px 14px;
    padding:20px 0;
  }
  .certificate-route-list p{
    grid-column:2;
    font-size:13px;
    line-height:1.56;
  }
  .certificate-route-list strong{
    font-size:18px;
  }
  .certificate-project-grid img{
    aspect-ratio:16/10;
  }
  .certificate-project-grid.inspection-document-grid img{
    aspect-ratio:16/10;
  }
  .certificate-project-grid.inspection-document-grid > div > p{
    max-width:100%;
  }
  .certificate-document-list{
    gap:0;
    margin-top:26px;
  }
  .certificate-document-list article{
    padding:18px 0;
  }
  .certificate-document-list strong{
    font-size:18px;
  }
  .inspection-checks,
  .lifecycle-steps{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .care-lifecycle,
  .care-faq-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .care-page .trust-hero{
    padding-bottom:72px;
  }
  .care-page .trust-hero-grid-wide{
    gap:28px;
  }
  .care-hero-media{
    max-height:none;
  }
  .care-principles-section,
  .care-lifecycle-section,
  .care-surface-section,
  .care-method-section,
  .care-narrative-section,
  .care-faq-section{
    padding:76px 0;
  }
  .care-method-section{
    padding-bottom:58px;
  }
  .care-narrative-section{
    padding-top:64px;
  }
  .care-lifecycle-copy{
    position:static;
  }
  .care-lifecycle-copy h2,
  .care-faq-layout h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .care-lifecycle-copy p:not(.kicker),
  .care-faq-layout > div:first-child p{
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .care-timeline article{
    grid-template-columns:48px minmax(0,1fr);
    gap:8px 14px;
    padding:18px 0;
  }
  .care-timeline p{
    grid-column:2;
    font-size:13px;
    line-height:1.52;
  }
  .care-timeline strong{
    font-size:18px;
  }
  .care-surface-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .care-surface-grid article{
    grid-template-columns:112px minmax(0,1fr);
    min-height:112px;
  }
  .care-surface-grid img{
    width:112px;
    height:112px;
    min-height:0;
    aspect-ratio:1/1;
  }
  .care-surface-grid div{
    padding:16px;
  }
  .care-surface-grid strong{
    font-size:18px;
  }
  .care-surface-grid p{
    font-size:12px;
    line-height:1.44;
  }
  .care-method-layout,
  .care-avoid-panel,
  .sample-layout,
  .sample-process,
  .selection-product-layout,
  .selection-brief-layout{
    grid-template-columns:1fr;
    gap:24px;
  }
  .care-avoid-panel{
    margin-top:64px;
  }
  .care-method-layout h2,
  .care-avoid-panel h2,
  .sample-aside h2,
  .sample-process h2,
  .selection-product-layout h2,
  .selection-brief-layout h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .care-method-layout > div:first-child p:not(.kicker),
  .sample-aside p:not(.kicker),
  .selection-product-layout > div:first-child p{
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .care-method-stack article,
  .sample-step-list article{
    grid-template-columns:48px minmax(0,1fr);
    gap:8px 14px;
    padding:18px 0;
  }
  .care-method-stack p,
  .sample-step-list p{
    grid-column:2;
    font-size:13px;
    line-height:1.52;
  }
  .care-method-stack strong,
  .sample-step-list strong{
    font-size:18px;
  }
  .care-avoid-panel{
    margin-top:64px;
    padding-top:0;
  }
  .care-avoid-panel ul,
  .sample-reason-grid,
  .selection-decision-grid,
  .finish-support-grid,
  .selection-product-list,
  .selection-brief-layout ul{
    grid-template-columns:1fr;
  }
  .care-avoid-panel li,
  .sample-reason-grid article,
  .selection-decision-grid article,
  .finish-support-grid article,
  .selection-product-list a,
  .selection-brief-layout li{
    min-height:0;
    padding:18px;
  }
  .care-avoid-panel li{
    padding:16px 0 16px 28px;
    font-size:13px;
    line-height:1.56;
  }
  .care-avoid-panel li::before{
    top:24px;
  }
  .care-sustainability-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .care-sustainability-grid > div,
  .care-sustainability-grid p{
    max-width:100%;
  }
  .selection-product-list a{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }
  .selection-product-list strong{
    white-space:normal;
  }
  .selection-decision-grid ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 12px;
  }
  .sample-aside{
    grid-column:auto;
    position:static;
    order:2;
  }
  .sample-form{
    grid-column:auto;
    order:1;
  }
  .sample-aside figure{
    padding:0;
  }
  .sample-aside-copy{
    padding:18px;
  }
  .sample-value-section,
  .sample-process-section,
  .selection-decision-section,
  .selection-product-section,
  .selection-download-section,
  .selection-brief-section{
    padding-top:54px;
    padding-bottom:58px;
  }
  .selection-download-feature{
    padding-top:34px;
  }
  .finish-support-section{
    padding-bottom:54px;
  }
  .finish-download-feature{
    padding:34px 0;
  }
  .catalogue-main-feature{
    padding:8px 0 34px;
  }
  .catalogue-download-grid{
    grid-template-columns:1fr;
    gap:28px;
  }
  .catalogue-download-card{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 0 28px;
  }
  .catalogue-download-card img{
    aspect-ratio:16/9;
  }
  .catalogue-download-card div{
    padding:0;
  }
  .catalogue-download-card span{
    font-size:12px;
  }
  .catalogue-download-card strong{
    max-width:100%;
    margin-top:12px;
    font-size:22px;
  }
  .catalogue-download-card b{
    min-height:40px;
    margin-top:20px;
    padding:0 16px;
    font-size:12px;
  }
  .care-faq-section{
    padding:64px 0 76px;
  }
  .care-faq-list summary{
    min-height:64px;
    font-size:16px;
  }
  .care-faq-list p{
    padding:0 0 18px;
    font-size:13px;
  }
  .inspection-checks article,
  .lifecycle-steps article{
    min-height:132px;
    padding:14px;
  }
  .inspection-checks strong,
  .lifecycle-steps strong{
    font-size:17px;
  }
  .inspection-checks p,
  .lifecycle-steps p{
    margin-top:10px;
    font-size:12px;
    line-height:1.42;
  }
  .certificate-showcase{
    padding:22px;
  }
  .certificate-showcase img{
    width:56px;
    height:56px;
  }
  .certificate-showcase span{
    margin-top:34px;
  }
  .certificate-showcase strong{
    font-size:28px;
  }
  .certificate-showcase p{
    max-width:100%;
    font-size:14px;
    line-height:1.58;
  }
  .faq-hero{
    padding:78px 0 44px;
  }
  .faq-hero-grid,
  .faq-layout,
  .faq-category-head,
  .faq-brief-grid{
    grid-template-columns:1fr;
    gap:24px;
  }
  .faq-hero h1{
    max-width:100%;
    font-size:34px;
    line-height:1.04;
  }
  .faq-hero p:not(.kicker){
    max-width:100%;
    margin-top:18px;
    font-size:15px;
    line-height:1.66;
  }
  .faq-hero-note{
    padding:18px;
  }
  .faq-hero-note strong{
    max-width:100%;
    margin-top:24px;
    font-size:21px;
  }
  .faq-overview h2,
  .faq-brief-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .faq-overview p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.68;
  }
  .faq-main-section{
    padding-top:42px;
  }
  .faq-nav{
    position:static;
    grid-template-columns:1fr 1fr;
    gap:0 12px;
    padding-top:14px;
    padding-bottom:18px;
    margin-bottom:8px;
    border-bottom:1px solid var(--line-soft);
  }
  .faq-nav span{
    grid-column:1 / -1;
    margin-bottom:8px;
  }
  .faq-nav a{
    padding:10px 0;
    font-size:13px;
  }
  .faq-content{
    gap:48px;
  }
  .faq-category{
    scroll-margin-top:78px;
  }
  .faq-category-head{
    padding-bottom:20px;
  }
  .faq-category-head h2{
    max-width:100%;
    margin-top:12px;
    font-size:28px;
    font-weight:560;
    line-height:1.08;
  }
  .faq-category-head p:not(.kicker){
    max-width:100%;
    margin-top:14px;
    font-size:13px;
    line-height:1.58;
  }
  .faq-item > summary{
    grid-template-columns:38px minmax(0,1fr) 18px;
    gap:12px;
    min-height:72px;
    padding:14px 0;
  }
  .faq-item > summary strong{
    font-size:16px;
    line-height:1.24;
  }
  .faq-item > summary span{
    font-size:10px;
    letter-spacing:.12em;
  }
  .faq-item > div{
    padding:0 18px 18px 50px;
  }
  .faq-item p{
    font-size:13px;
    line-height:1.62;
  }
  .faq-brief-list{
    grid-template-columns:1fr;
    gap:8px;
  }
  .faq-brief-list article{
    min-height:0;
    padding:16px;
  }
  .faq-brief-list strong{
    margin-top:22px;
    font-size:18px;
  }
  .faq-brief-list p{
    font-size:13px;
    line-height:1.5;
  }
  .faq-download-feature{
    padding:0;
  }
  .faq-brief-section{
    padding-top:46px;
    padding-bottom:50px;
  }
  .legal-layout{
    grid-template-columns:1fr;
    gap:18px;
  }
  .legal-meta{
    position:static;
    padding:16px;
  }
  .legal-content article{
    grid-template-columns:1fr;
    gap:12px;
    padding:20px;
  }
  .legal-content h2{font-size:19px}
  .legal-content p{font-size:14px;line-height:1.68}
  .sitemap-grid{grid-template-columns:1fr}
  .sitemap-card{
    min-height:0;
    padding:20px;
  }
  .not-found-page{min-height:auto}
  .not-found-actions{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    max-width:320px;
  }
  .not-found-actions .btn{
    width:100%;
    justify-content:center;
  }
  .insights-feature-section{
    padding-top:54px;
    padding-bottom:58px;
  }
  .section.insights-library-section{
    padding-top:4px;
  }
  .insights-feature{
    gap:24px;
  }
  .insights-feature img{
    aspect-ratio:16/10;
  }
  .insights-feature h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .insights-feature p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .insights-toolbar{
    margin-bottom:28px;
    padding:18px 0 20px;
  }
  .insights-listing,
  .insights-path-grid{
    grid-template-columns:1fr;
  }
  .insights-list-card{
    grid-template-rows:156px auto;
    min-height:0;
  }
  .insights-list-card div{
    padding:16px;
  }
  .insights-list-card strong{
    margin-top:16px;
    font-size:19px;
  }
  .insights-list-card p{
    font-size:13px;
    line-height:1.52;
  }
  .insights-path-grid a{
    min-height:0;
    padding:18px;
  }
  .insights-path-grid strong{
    font-size:18px;
  }
  .insights-path-section{
    padding-top:54px;
    padding-bottom:70px;
  }
}

@media (max-width:1200px){
  .oem-hero-grid,
  .oem-support-layout,
  .oem-product-layout,
  .oem-brief-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
  .oem-partner-grid,
  .oem-model-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .oem-support-layout > div:first-child,
  .oem-product-layout > div:first-child{
    position:static;
  }
  .fixing-hero-grid,
  .fixing-application-layout,
  .fixing-product-layout,
  .install-guide-hero-grid,
  .install-overview,
  .install-steps,
  .install-checklist,
  .install-decision{
    grid-template-columns:1fr;
    gap:42px;
  }
  .install-guide-hero{
    min-height:0;
    overflow:visible;
  }
  .install-guide-hero figure{
    position:static;
    width:100%;
  }
  .install-guide-hero img{
    height:auto;
    aspect-ratio:16/10;
  }
  .fixing-support-grid,
  .fixing-route-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .fixing-application-layout > div:first-child,
  .fixing-product-layout > div:first-child,
  .install-overview > div:first-child,
  .install-steps > div:first-child,
  .install-checklist > div:first-child{
    position:static;
  }
  .install-overview > div:first-child{
    padding-top:0;
  }
  .install-method-grid{
    grid-template-columns:1fr;
  }
  .install-available-grid{
    grid-template-columns:1fr;
    gap:42px;
  }
}

@media (max-width:760px){
  .oem-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .oem-hero-grid{
    gap:24px;
  }
  .oem-partner-section,
  .oem-model-section,
  .oem-support-section,
  .oem-product-section,
  .oem-brief-section{
    padding:68px 0;
  }
  .oem-process-section{
    padding:0 0 68px;
  }
  .oem-partner-grid,
  .oem-model-grid,
  .oem-support-list,
  .oem-product-list,
  .oem-brief-grid ul{
    grid-template-columns:1fr;
  }
  .oem-partner-grid article{
    min-height:0;
    padding:20px;
  }
  .oem-partner-grid strong{
    margin-top:24px;
    font-size:19px;
  }
  .oem-partner-grid p{
    font-size:13px;
    line-height:1.54;
  }
  .oem-model-grid{
    gap:14px;
  }
  .oem-model-grid article{
    min-height:0;
    padding:22px;
  }
  .oem-model-grid h2,
  .oem-support-layout h2,
  .oem-product-layout h2,
  .oem-brief-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .oem-model-grid p:not(.kicker),
  .oem-support-layout > div:first-child p:not(.kicker),
  .oem-product-layout > div:first-child p:not(.kicker),
  .oem-brief-grid p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .oem-model-grid ul{
    grid-template-columns:1fr;
    margin-top:24px;
    padding-top:0;
  }
  .oem-model-grid li{
    min-height:54px;
    white-space:normal;
  }
  .oem-support-list article,
  .oem-support-list article:nth-child(odd),
  .oem-support-list article:nth-child(even){
    min-height:0;
    padding:18px 0;
    border-left:0;
  }
  .oem-support-list strong{
    font-size:18px;
  }
  .oem-support-list p{
    font-size:13px;
    line-height:1.54;
  }
  .oem-process-steps article{
    grid-template-columns:48px minmax(0,1fr);
    gap:8px 14px;
    padding:18px 0;
  }
  .oem-process-steps p{
    grid-column:2;
    font-size:13px;
    line-height:1.52;
  }
  .oem-process-steps strong{
    font-size:18px;
  }
  .oem-product-list a{
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr;
    min-height:0;
  }
  .oem-product-list img{
    width:100%;
    min-height:0;
    aspect-ratio:16/10;
  }
  .oem-product-list strong{
    font-size:18px;
  }
  .oem-brief-grid{
    gap:24px;
  }
  .oem-brief-grid img{
    aspect-ratio:16/10;
  }
  .oem-brief-grid ul{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 14px;
    margin-top:22px;
  }
  .oem-brief-grid li{
    padding:0 0 0 14px;
    font-size:13px;
  }
  .fixing-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .fixing-hero-grid{
    gap:24px;
  }
  .fixing-intro-section,
  .fixing-routes-section,
  .fixing-application-section,
  .fixing-product-section,
  .fixing-brief-section{
    padding:68px 0;
  }
  .fixing-support-grid,
  .fixing-route-grid{
    grid-template-columns:1fr;
  }
  .fixing-support-grid a,
  .fixing-route-grid article{
    min-height:0;
  }
  .fixing-support-grid a{
    grid-template-rows:220px 58px;
  }
  .fixing-support-grid a div{
    min-height:58px;
    padding:0 16px;
  }
  .fixing-route-grid article{
    padding:0;
  }
  .fixing-route-grid article > div{
    padding:18px 20px 20px;
  }
  .fixing-route-grid figure{
    aspect-ratio:2.05 / 1;
  }
  .fixing-support-grid strong,
  .fixing-route-grid h2{
    font-size:18px;
  }
  .fixing-support-grid p,
  .fixing-route-grid p{
    font-size:13px;
    line-height:1.54;
  }
  .fixing-application-layout h2,
  .fixing-product-layout h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .fixing-application-layout > div:first-child p:not(.kicker),
  .fixing-product-layout > div:first-child p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .fixing-application-list a,
  .fixing-product-list a{
    grid-template-columns:1fr;
    gap:8px;
    padding:18px 0;
  }
  .fixing-application-list strong,
  .fixing-product-list strong{
    font-size:18px;
  }
  .fixing-application-list p,
  .fixing-product-list p{
    font-size:13px;
    line-height:1.52;
  }
  .fixing-download-feature{
    padding:34px 0;
  }
  .fixing-download-feature img{
    max-height:280px;
  }
  .install-guide-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .install-guide-hero-grid{
    gap:24px;
  }
  .install-guide-hero img{
    aspect-ratio:16/10;
  }
  .install-overview-section,
  .install-steps-section,
  .install-checklist-section,
  .install-available-section{
    padding:68px 0;
  }
  .install-decision-section{
    padding:0 0 68px;
  }
  .install-overview h2,
  .install-steps h2,
  .install-checklist h2,
  .install-decision h2,
  .install-available-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .install-overview p:not(.kicker),
  .install-checklist p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .install-method-grid article{
    min-height:0;
    padding:0;
  }
  .install-method-grid figure{
    margin-bottom:0;
  }
  .install-method-grid img{
    height:auto;
    aspect-ratio:16/10;
  }
  .install-method-grid h2{
    max-width:100%;
    min-height:0;
    margin:22px 20px 0;
    font-size:19px;
  }
  .install-overview .install-method-grid p{
    margin-right:20px;
    margin-left:20px;
    font-size:13px;
    line-height:1.54;
  }
  .install-method-grid ul{
    margin:22px 20px 0;
    padding:0 0 20px;
  }
  .install-steps li{
    grid-template-columns:48px minmax(0,1fr);
    gap:14px;
    padding:18px 0;
    font-size:13px;
    line-height:1.52;
  }
  .install-checklist ul,
  .install-decision-grid,
  .install-available-grid ul{
    grid-template-columns:1fr;
    gap:10px;
  }
  .install-decision-grid article{
    min-height:0;
    padding-top:20px;
  }
  .install-decision-grid ul{
    margin-top:22px;
  }
  .install-decision-grid li{
    font-size:13px;
    line-height:1.52;
  }
  .install-product-links a{
    min-height:48px;
    font-size:14px;
  }
}

@media (max-width:1200px){
  .application-detail-hero{
    min-height:0;
    padding-top:88px;
    padding-bottom:60px;
    overflow:visible;
  }
  .application-detail-hero-grid,
  .application-service-layout,
  .application-two-column,
  .application-info-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  .application-detail-hero figure{
    position:static;
    width:100%;
  }
  .application-detail-hero img{
    height:auto;
    aspect-ratio:16/10;
  }
  .application-facts-grid,
  .application-product-list,
  .application-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .application-route-grid{
    grid-template-columns:1fr;
  }
  .application-route-grid article,
  .application-route-card-link{
    min-height:0;
  }
}

@media (max-width:760px){
  .application-detail-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .application-facts-section,
  .application-service-section,
  .application-places-section,
  .application-selection-section,
  .application-route-section,
  .application-info-section,
  .application-faq-section,
  .application-related-section{
    padding:68px 0;
  }
  .application-detail-hero .page-hero-inner h1,
  .application-section-copy h2,
  .application-two-column h2,
  .application-route-grid h2{
    max-width:100%;
    font-size:28px;
    line-height:1.08;
  }
  .application-detail-hero .page-hero-inner p:not(.kicker),
  .application-section-copy p:not(.kicker),
  .application-route-grid p:not(.kicker){
    max-width:100%;
    font-size:14px;
    line-height:1.66;
  }
  .application-facts-grid,
  .application-goal-grid,
  .application-check-grid,
  .application-line-list,
  .application-tag-list,
  .application-info-grid ul,
  .application-product-list,
  .application-related-grid{
    grid-template-columns:1fr;
  }
  .application-goal-grid article,
  .application-check-grid article,
  .application-route-grid article,
  .application-route-card-link{
    padding:20px;
  }
  .application-product-list a{
    min-height:0;
  }
  .application-product-list{
    margin-top:24px;
  }
  .application-info-grid ul{
    padding:22px;
  }
  .application-faq-list summary{
    font-size:16px;
  }
}

@media (max-width:980px){
  .product-detail-hero-scene.product-detail-hero-material,
  .product-detail-hero-scene.product-detail-hero-chain,
  .product-detail-hero-scene{
    min-height:clamp(430px,62vh,560px);
    padding-top:92px;
    padding-bottom:64px;
    overflow:hidden;
  }
  .product-detail-hero-scene .product-detail-hero-grid,
  .product-detail-hero-scene.product-detail-hero-material .product-detail-hero-grid{
    display:block;
    min-height:auto;
  }
  .product-detail-hero-scene .product-detail-media,
  .product-detail-hero-scene.product-detail-hero-material .product-detail-media{
    display:none;
  }
}

@media (max-width:760px){
  .product-detail-hero-scene.product-detail-hero-material,
  .product-detail-hero-scene.product-detail-hero-chain,
  .product-detail-hero-scene{
    min-height:420px;
    padding-top:88px;
    padding-bottom:50px;
  }
  .product-detail-hero-scene::before{
    opacity:.82;
    background-position:center;
  }
  .product-detail-hero-scene::after{
    background:
      linear-gradient(90deg,rgba(7,7,7,.78) 0%,rgba(7,7,7,.56) 62%,rgba(7,7,7,.2) 100%),
      linear-gradient(0deg,rgba(7,7,7,.42) 0%,rgba(7,7,7,.08) 48%,rgba(7,7,7,.28) 100%);
  }
  .product-detail-hero-scene h1{
    max-width:11.8em;
  }
  .product-detail-hero-scene .page-hero-inner p:not(.kicker),
  .product-detail-hero-scene.product-detail-hero-material .page-hero-inner p:not(.kicker){
    max-width:34ch;
    font-size:15px;
    line-height:1.68;
  }
}

/* Pre-launch mobile refinement layer */
@media (max-width:860px){
  html,
  body{
    overflow-x:clip;
  }
  body{
    -webkit-text-size-adjust:100%;
  }
  main,
  section,
  .wrap,
  article,
  aside,
  div{
    min-width:0;
  }
  img,
  video,
  canvas,
  svg{
    max-width:100%;
  }
  h1,
  h2,
  h3,
  p,
  a,
  strong,
  span,
  li,
  dd{
    overflow-wrap:break-word;
  }
  .wrap{
    width:min(var(--max),calc(100% - 32px));
  }
  .section,
  .intro,
  .product-detail-section,
  .solution-detail-section,
  .resource-detail-section,
  .project-article-section,
  .application-facts-section,
  .application-service-section,
  .application-places-section,
  .application-selection-section,
  .application-route-section,
  .application-info-section,
  .application-faq-section,
  .application-related-section,
  .material-index-section,
  .finish-index-section,
  .material-support-section,
  .material-detail-intro,
  .material-process-section,
  .material-use-section,
  .material-related-section{
    padding-top:64px;
    padding-bottom:64px;
  }
  .section + .section,
  .section.product-detail-section + .section.product-detail-section{
    padding-top:64px;
  }
  .page-hero,
  .editorial-page-hero,
  .materials-hero,
  .material-detail-hero,
  .catalogue-hero,
  .narrative-hero,
  .projects-hero,
  .systems-hero,
  .downloads-hero,
  .contact-hero{
    padding-top:82px;
    padding-bottom:52px;
  }
  .page-hero h1,
  .project-detail-hero .project-scene-copy h1,
  .insight-detail-hero .project-scene-copy h1,
  .product-detail-hero-scene h1,
  .trust-hero-copy h1,
  .faq-hero h1{
    max-width:100%;
    font-size:clamp(32px,9.2vw,42px);
    line-height:1.06;
  }
  .page-hero p,
  .project-detail-hero .project-scene-copy p:not(.kicker),
  .insight-detail-hero .project-scene-copy p:not(.kicker),
  .product-detail-hero-scene .page-hero-inner p:not(.kicker){
    max-width:36em;
    font-size:15px;
    line-height:1.66;
  }
  .section-head{
    margin-bottom:32px;
  }
  .section-head h2,
  .product-model-head h2,
  .product-chain-role-copy h2,
  .product-chain-arrangements h2,
  .product-chain-pattern-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-spec-panel aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-faq-panel aside h2,
  .solution-detail-layout aside h2,
  .resource-detail-layout aside h2,
  .project-article-lead h2,
  .project-related-head h3{
    max-width:100%;
    font-size:clamp(27px,7.2vw,34px);
    line-height:1.1;
  }
  .btn,
  button,
  summary,
  input,
  textarea,
  select{
    touch-action:manipulation;
  }
  .btn{
    min-height:46px;
  }
  .site-header{
    z-index:80;
  }
  .mobile-menu-panel{
    position:fixed;
    top:72px;
    right:16px;
    left:16px;
    width:auto;
    max-width:none;
    max-height:calc(100svh - 86px);
    transform:translateY(-8px) scale(.982);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  .mobile-menu.is-open .mobile-menu-panel{
    transform:translateY(0) scale(1);
  }
  .mobile-menu-panel > a,
  .mobile-nav-group > summary,
  .mobile-menu-block > summary,
  .mobile-menu-panel .mobile-menu-block a,
  .mobile-menu-panel .mobile-menu-cta{
    min-height:46px;
  }
  .hero-actions,
  .project-scene-actions,
  .product-chain-role-actions,
  .final-actions,
  .section-cta-row{
    width:100%;
  }
  .hero-actions .btn,
  .project-scene-actions .btn,
  .product-chain-role-actions .btn,
  .final-actions .btn,
  .section-cta-row .btn{
    min-width:0;
  }
  .product-detail-overview,
  .solution-detail-layout,
  .resource-detail-layout,
  .product-chain-role,
  .product-single-role,
  .product-chain-colours-panel,
  .product-chain-pattern-panel,
  .product-spec-panel,
  .product-opening-panel,
  .product-material-finish-panel,
  .product-technical-route,
  .product-frame-support-panel,
  .product-resource-panel,
  .product-faq-panel,
  .solution-guide-grid,
  .project-article-layout,
  .project-detail-layout,
  .project-scene-inner,
  .contact-hero-grid,
  .thanks-hero-grid,
  .editorial-hero-grid{
    grid-template-columns:1fr;
    gap:30px;
  }
  .product-spec-panel > aside,
  .product-opening-panel > aside,
  .product-material-finish-panel > div:first-child,
  .product-technical-route > aside,
  .product-frame-support-panel > aside,
  .product-resource-panel > div:first-child,
  .product-faq-panel > aside{
    min-height:0;
    justify-content:flex-start;
  }
  .product-model-head{
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:34px;
  }
  .product-model-filter-panel{
    padding:16px;
    gap:16px;
  }
  .product-model-filter-row{
    display:grid;
    grid-template-columns:1fr;
    align-items:start;
    gap:14px;
  }
  .product-model-mini-cta{
    width:100%;
    min-height:44px;
  }
  .product-model-filters{
    gap:7px;
  }
  .product-model-filters button{
    min-height:36px;
    padding:8px 11px;
    font-size:12px;
  }
  .product-model-grid,
  .material-card-grid,
  .finish-list,
  .solution-detail-cards,
  .resource-detail-cards,
  .solution-guide-columns,
  .product-opening-cards,
  .product-technical-steps,
  .product-material-finish-links,
  .product-frame-support-media,
  .product-resource-cards,
  .product-application-strip,
  .project-related-grid,
  .project-neighbor-nav,
  .project-prep-inline ul,
  .project-facts-panel dl,
  .project-takeaways,
  .insight-checklist-block ul{
    grid-template-columns:1fr;
  }
  .product-model-card img{
    aspect-ratio:4/3;
  }
  .product-model-card > div{
    min-height:0;
  }
  .product-resource-cards,
  .product-frame-support-media,
  .product-opening-cards,
  .product-material-finish-links,
  .product-technical-steps,
  .product-faq-list,
  .product-spec-grid{
    min-height:0;
  }
  .product-resource-cards a,
  .product-technical-steps article,
  .product-material-finish-links a,
  .product-frame-support-media article,
  .product-application-strip a{
    min-height:0;
  }
  .product-resource-cards img,
  .product-frame-support-media img,
  .product-application-strip img,
  .project-related-grid img{
    aspect-ratio:16/10;
  }
  .product-frame-support-panel aside .btn{
    width:100%;
    margin-top:24px;
  }
  .product-spec-grid article{
    grid-template-columns:1fr;
    gap:8px;
    padding:17px 0;
  }
  .product-spec-grid strong{
    font-size:17px;
  }
  .product-material-finish-links ul{
    grid-template-columns:1fr;
  }
  .product-faq-list summary,
  .insight-faq-list summary{
    padding-top:18px;
    padding-bottom:18px;
    font-size:16px;
    line-height:1.36;
  }
  .product-faq-list summary::after{
    top:18px;
  }
  .product-faq-list p,
  .insight-faq-list p{
    padding-right:22px;
    font-size:14px;
  }
  .product-chain-gallery{
    --chain-gallery-height:420px;
    grid-template-rows:minmax(0,1fr) 58px;
    min-height:var(--chain-gallery-height);
  }
  .chain-gallery-thumbs{
    gap:6px;
    overflow-x:auto;
    grid-auto-flow:column;
    grid-auto-columns:64px;
    grid-template-columns:none;
    padding-bottom:2px;
  }
  .chain-gallery-thumb{
    aspect-ratio:1 / 1;
  }
  .chain-gallery-nav,
  .chain-gallery-play{
    width:36px;
    height:36px;
    right:12px;
  }
  .chain-gallery-prev{top:12px;}
  .chain-gallery-next{top:54px;}
  .chain-gallery-play{bottom:12px;}
  .product-chain-pattern-slider{
    height:420px;
  }
  .pattern-slider-slide figcaption{
    left:12px;
    right:58px;
    bottom:12px;
    display:grid;
    gap:6px;
    padding:11px 12px;
  }
  .pattern-slider-slide figcaption strong{
    text-align:left;
    font-size:13px;
  }
  .product-chain-pattern-slider .chain-gallery-play{
    top:96px;
  }
  .product-chain-colour-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-chain-arrangement-cards img,
  .product-chain-colour-grid img{
    padding:8px;
  }
  .project-detail-hero.project-scene-hero{
    min-height:0;
    padding-top:88px;
    padding-bottom:54px;
  }
  .project-scene-inner{
    min-height:0;
  }
  .project-scene-meta{
    grid-template-columns:1fr;
    gap:1px;
  }
  .project-scene-meta article{
    min-height:0;
    padding:16px;
  }
  .project-article-body{
    max-width:100%;
  }
  .project-article-lead{
    padding-bottom:30px;
  }
  .project-article-lead p:not(.kicker),
  .project-article-block > p:not(.kicker){
    font-size:15px;
    line-height:1.74;
  }
  .project-article-block{
    padding:34px 0;
  }
  .project-route-inline .project-route-steps{
    grid-template-columns:1fr;
  }
  .project-route-inline .project-route-steps article{
    min-height:0;
  }
  .project-route-inline .project-route-steps strong{
    margin-top:22px;
  }
  .project-facts-panel{
    padding:18px;
  }
  .project-facts-panel div,
  .project-takeaways article{
    min-height:0;
    padding:16px;
  }
  .project-facts-panel dd,
  .project-takeaways strong{
    margin-top:12px;
  }
  .project-info-sidebar{
    position:static;
    grid-template-columns:1fr;
    gap:12px;
  }
  .project-sidebar-card{
    padding:20px;
  }
  .insight-inline-toc{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-right:0;
    margin-left:0;
    padding:12px;
    border-right:1px solid rgba(16,16,15,.1);
    border-left:1px solid rgba(16,16,15,.1);
  }
  .insight-inline-toc a,
  .insight-inline-toc span{
    flex:0 0 auto;
    max-width:220px;
  }
  .insight-article-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .final-cta{
    padding:62px 0;
  }
  .final-cta h2{
    max-width:100%;
  }
  .final-actions{
    max-width:none;
  }
  .final-actions .btn{
    white-space:normal;
  }
}

@media (max-width:520px){
  .wrap{
    width:min(var(--max),calc(100% - 28px));
  }
  .section,
  .intro,
  .product-detail-section,
  .solution-detail-section,
  .resource-detail-section,
  .project-article-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .hero-actions,
  .project-scene-actions,
  .product-chain-role-actions,
  .section-cta-row{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }
  .hero-actions .btn,
  .project-scene-actions .btn,
  .product-chain-role-actions .btn,
  .section-cta-row .btn{
    width:100%;
  }
  .application-track{
    --application-card-width:min(82vw,320px);
  }
  .application-card{
    grid-template-rows:150px auto;
  }
  .quality-points,
  .supporting-family-list{
    grid-template-columns:1fr;
  }
  .custom-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .custom-list article,
  .custom-list a{
    min-height:128px;
    padding:14px 12px;
  }
  .custom-list strong{
    font-size:14px;
    line-height:1.14;
  }
  .custom-list ul{
    gap:5px;
    margin-top:10px;
  }
  .custom-list li{
    font-size:10.5px;
    line-height:1.25;
    white-space:normal;
  }
  .custom-pattern-card::after,
  .custom-material-card::after,
  .custom-color-card::after,
  .custom-install-card::after{
    width:30px;
    height:30px;
    right:6px;
    bottom:6px;
    opacity:.36;
  }
  .application-carousel{
    width:100%;
  }
  .footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px 20px;
  }
  .footer-brand{
    grid-column:1 / -1;
  }
  .footer-brand p{
    display:block;
  }
  .resource-visual-mobile{
    max-width:100%;
  }
  .site-float-actions{
    right:10px;
  }
  .float-action{
    width:44px;
    height:44px;
  }
  .product-model-grid{
    gap:12px;
  }
  .product-chain-gallery{
    --chain-gallery-height:360px;
  }
  .product-chain-pattern-slider{
    height:360px;
  }
  .product-chain-colour-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .product-resource-cards a,
  .product-frame-support-media article > div,
  .product-material-finish-links a,
  .product-opening-cards div{
    padding:18px;
  }
  .project-related-grid strong,
  .project-neighbor-nav strong{
    font-size:17px;
  }
  .project-neighbor-nav a{
    min-height:0;
    padding:18px;
  }
}

@media (max-width:760px){
  .hero-carousel-stage{
    min-height:572px;
  }
  .hero-layout{
    min-height:572px;
    padding:58px 0 52px;
  }
  .hero-copy{
    max-width:100%;
  }
  .hero h1,
  .hero-title{
    max-width:10.8em;
    font-size:32px;
    line-height:1.04;
  }
  .hero-copy p:not(.kicker){
    display:block;
    max-width:30em;
    margin-top:18px;
    font-size:14px;
    line-height:1.66;
  }
  .hero-actions{
    grid-template-columns:1fr;
    max-width:220px;
    margin-top:22px;
  }
  .hero-actions .btn{
    min-height:42px;
    font-size:12px;
  }
  .hero-actions .btn:nth-child(n+2){
    display:none;
  }
  .hero-carousel-status{
    display:none;
  }
  .selection-path-section{
    display:none;
  }
  .supporting-family-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .product-system .family-feature img,
  .signature-secondary img{
    aspect-ratio:16 / 9.4;
  }
  .family-feature p,
  .signature-secondary p{
    display:none;
  }
  .family-feature div,
  .signature-secondary div{
    min-height:112px;
    justify-content:center;
  }
  .family-feature .product-card-action,
  .signature-secondary .product-card-action{
    margin-top:14px;
  }
  .supporting-family-list a.has-thumb{
    min-height:0;
    display:grid;
    grid-template-rows:auto auto minmax(42px,auto);
  }
  .supporting-family-list a.has-thumb img{
    aspect-ratio:4 / 3.15;
  }
  .supporting-family-list a.has-thumb span{
    margin-top:10px;
    padding-right:12px;
    padding-left:12px;
    font-size:10px;
    letter-spacing:.1em;
  }
  .supporting-family-list a.has-thumb strong{
    display:-webkit-box;
    min-height:34px;
    padding-right:12px;
    padding-bottom:12px;
    padding-left:12px;
    font-size:14px;
    line-height:1.16;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .supporting-family-list .family-guide{
    min-height:0;
    padding:14px;
  }
  .supporting-family-list .family-guide strong{
    max-width:10em;
    font-size:15px;
    line-height:1.12;
  }
  .supporting-family-list .family-guide span{
    margin-top:10px;
    font-size:12px;
    line-height:1.36;
  }
  .quality-points{
    display:none;
  }
  .trust-stack{
    display:none;
  }
  .site-footer{
    padding-top:46px;
  }
  .footer-grid{
    grid-template-columns:1fr;
    gap:0;
    padding-bottom:28px;
  }
  .footer-grid > div:not(.footer-brand){
    display:none;
  }
  .footer-brand p{
    max-width:32em;
    margin-top:16px;
    font-size:13px;
    line-height:1.58;
  }
  .footer-bottom{
    padding-top:24px;
    gap:10px;
  }
}

@media (max-width:520px){
  .hero-carousel-stage{
    min-height:550px;
  }
  .hero-layout{
    min-height:550px;
    padding-top:54px;
    padding-bottom:50px;
  }
  .hero h1,
  .hero-title{
    max-width:10.5em;
    font-size:30px;
  }
  .applications .application-viewport,
  .projects .application-viewport{
    margin-right:-14px;
    margin-left:-14px;
  }
  .applications .application-track,
  .projects .application-track{
    --application-card-width:min(86vw,324px);
    --application-gap:12px;
    box-sizing:border-box;
    padding-right:calc((100% - var(--application-card-width)) / 2);
    padding-left:calc((100% - var(--application-card-width)) / 2);
  }
  .applications .application-card,
  .projects .application-card{
    grid-template-rows:156px auto;
    min-height:0;
  }
  .applications .application-card div,
  .projects .application-card div{
    justify-content:flex-start;
  }
  .supporting-family-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
}

/* Mobile title rhythm: keep major headings readable and within three lines. */
@media (max-width:760px){
  .page-hero h1,
  .project-detail-hero .project-scene-copy h1,
  .insight-detail-hero .project-scene-copy h1,
  .product-detail-hero-scene h1,
  .trust-hero-copy h1,
  .faq-hero h1,
  .thanks-hero h1,
  .hero h1,
  .hero-title{
    max-width:100%;
    font-size:clamp(28px,7.7vw,34px);
    line-height:1.08;
    letter-spacing:0;
    text-wrap:balance;
  }
  .section-head h2,
  .product-model-head h2,
  .product-chain-role-copy h2,
  .product-chain-arrangements h2,
  .product-chain-pattern-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-spec-panel aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-faq-panel aside h2,
  .solution-detail-layout aside h2,
  .resource-detail-layout aside h2,
  .project-article-lead h2,
  .application-detail-hero .page-hero-inner h1,
  .application-section-copy h2,
  .application-two-column h2,
  .application-route-grid h2,
  .material-support-layout h2,
  .material-detail-split h2,
  .material-process h2,
  .material-use-grid h2,
  .material-related-section .section-head h2,
  .material-section-copy h2,
  .material-two-column h2,
  .material-faq-section h2,
  .selection-map h2,
  .narrative-intro h2,
  .downloads-aside h2,
  .contact-guidance h2,
  .project-toolbar h2,
  .selection-support h2,
  .download-checklist h2,
  .form-head h2,
  .product-choice-copy h2,
  .solution-company-copy h2,
  .solution-related h2,
  .solution-work-copy h2,
  .project-context-copy h2,
  .about-company-grid h2,
  .about-factory-grid h2,
  .about-service-grid h2,
  .trust-statement h2,
  .trust-split-head h2,
  .trust-editorial-columns h2,
  .inspection-overview-grid h2,
  .certificate-current-grid h2,
  .lifecycle-grid h2,
  .inspection-matrix h2,
  .trust-narrative-grid h2,
  .trust-audience-grid h2,
  .sustainability-care-strip h2,
  .sustainability-lifecycle-layout h2,
  .sustainability-performance-grid h2,
  .sustainability-support-layout h2,
  .inspection-chain-head h2,
  .inspection-focus-layout h2,
  .inspection-stage-card h2,
  .certificate-evidence-copy h2,
  .certificate-route-layout h2,
  .certificate-project-grid h2,
  .care-lifecycle-copy h2,
  .care-faq-layout h2,
  .care-method-layout h2,
  .care-avoid-panel h2,
  .sample-aside h2,
  .sample-process h2,
  .selection-product-layout h2,
  .selection-brief-layout h2,
  .faq-overview h2,
  .faq-brief-grid h2,
  .faq-category-head h2,
  .insights-feature h2,
  .oem-model-grid h2,
  .oem-support-layout h2,
  .oem-product-layout h2,
  .oem-brief-grid h2,
  .fixing-application-layout h2,
  .fixing-product-layout h2,
  .install-overview h2,
  .install-steps h2,
  .install-checklist h2,
  .install-decision h2,
  .install-available-grid h2{
    max-width:100%;
    font-size:clamp(24px,6.45vw,29px);
    line-height:1.12;
    letter-spacing:0;
    text-wrap:balance;
  }
  .final-cta h2{
    max-width:100%;
    font-size:clamp(29px,7.7vw,33px);
    line-height:1.12;
    letter-spacing:0;
    text-wrap:balance;
  }
  .systems-hero h1{
    max-width:100%;
    font-size:clamp(24px,6.45vw,29px);
    line-height:1.12;
    letter-spacing:0;
    text-wrap:balance;
  }
}

@media (max-width:520px){
  .page-hero h1,
  .project-detail-hero .project-scene-copy h1,
  .insight-detail-hero .project-scene-copy h1,
  .product-detail-hero-scene h1,
  .trust-hero-copy h1,
  .faq-hero h1,
  .thanks-hero h1,
  .hero h1,
  .hero-title{
    font-size:clamp(27px,7.25vw,30px);
  }
  .section-head h2,
  .product-model-head h2,
  .product-chain-role-copy h2,
  .product-chain-arrangements h2,
  .product-chain-pattern-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-spec-panel aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-faq-panel aside h2,
  .solution-detail-layout aside h2,
  .resource-detail-layout aside h2,
  .project-article-lead h2,
  .application-detail-hero .page-hero-inner h1,
  .application-section-copy h2,
  .application-two-column h2,
  .application-route-grid h2,
  .material-support-layout h2,
  .material-detail-split h2,
  .material-process h2,
  .material-use-grid h2,
  .material-related-section .section-head h2,
  .material-section-copy h2,
  .material-two-column h2,
  .material-faq-section h2,
  .selection-map h2,
  .narrative-intro h2,
  .downloads-aside h2,
  .contact-guidance h2,
  .project-toolbar h2,
  .selection-support h2,
  .download-checklist h2,
  .form-head h2,
  .product-choice-copy h2,
  .solution-company-copy h2,
  .solution-related h2,
  .solution-work-copy h2,
  .project-context-copy h2,
  .about-company-grid h2,
  .about-factory-grid h2,
  .about-service-grid h2,
  .trust-statement h2,
  .trust-split-head h2,
  .trust-editorial-columns h2,
  .inspection-overview-grid h2,
  .certificate-current-grid h2,
  .lifecycle-grid h2,
  .inspection-matrix h2,
  .trust-narrative-grid h2,
  .trust-audience-grid h2,
  .sustainability-care-strip h2,
  .sustainability-lifecycle-layout h2,
  .sustainability-performance-grid h2,
  .sustainability-support-layout h2,
  .inspection-chain-head h2,
  .inspection-focus-layout h2,
  .inspection-stage-card h2,
  .certificate-evidence-copy h2,
  .certificate-route-layout h2,
  .certificate-project-grid h2,
  .care-lifecycle-copy h2,
  .care-faq-layout h2,
  .care-method-layout h2,
  .care-avoid-panel h2,
  .sample-aside h2,
  .sample-process h2,
  .selection-product-layout h2,
  .selection-brief-layout h2,
  .faq-overview h2,
  .faq-brief-grid h2,
  .faq-category-head h2,
  .insights-feature h2,
  .oem-model-grid h2,
  .oem-support-layout h2,
  .oem-product-layout h2,
  .oem-brief-grid h2,
  .fixing-application-layout h2,
  .fixing-product-layout h2,
  .install-overview h2,
  .install-steps h2,
  .install-checklist h2,
  .install-decision h2,
  .install-available-grid h2{
    font-size:clamp(23px,6.15vw,26px);
  }
  .final-cta h2{
    font-size:clamp(28px,7.45vw,31px);
  }
  .systems-hero h1{
    font-size:clamp(23px,6.15vw,26px);
  }
}

/* Mobile hero cleanup: breadcrumbs are enough context, so hide the hero eyebrow. */
@media (max-width:760px){
  .page-hero .page-hero-inner > .kicker,
  .editorial-page-hero .page-hero-inner > .kicker,
  .product-detail-hero .page-hero-inner > .kicker,
  .solution-detail-hero .page-hero-inner > .kicker,
  .resource-detail-hero .page-hero-inner > .kicker,
  .application-detail-hero .page-hero-inner > .kicker,
  .catalogue-hero .page-hero-inner > .kicker,
  .narrative-hero .page-hero-inner > .kicker,
  .projects-hero .page-hero-inner > .kicker,
  .systems-hero .page-hero-inner > .kicker,
  .downloads-hero .page-hero-inner > .kicker,
  .contact-hero .page-hero-inner > .kicker,
  .legal-hero .page-hero-inner > .kicker,
  .thanks-hero .page-hero-inner > .kicker,
  .trust-hero-copy > .kicker,
  .project-scene-copy > .kicker,
  .faq-hero-grid > div > .kicker{
    display:none;
  }
}

/* Mobile category cleanup: remove repeated intro copy below heroes. */
@media (max-width:760px){
  .product-index-section > .section-head,
  .page-hero + .narrative-section > .section-head,
  .page-hero + .resource-overview-page > .section-head,
  .catalogue-family-section > .section-head,
  .downloads-featured-section > .downloads-section-head,
  .insights-library-section > .insights-library-head,
  .systems-index-section > .section-head,
  .material-index-section > .section-head,
  .selection-decision-section > .section-head,
  .finish-support-section > .section-head{
    display:none;
  }
  .project-filter-section > .project-toolbar.section-head > div{
    display:none;
  }
  .product-index-section,
  .page-hero + .narrative-section,
  .page-hero + .resource-overview-page,
  .catalogue-family-section,
  .downloads-featured-section,
  .insights-library-section,
  .project-filter-section,
  .systems-index-section,
  .material-index-section,
  .selection-decision-section,
  .finish-support-section{
    padding-top:42px;
  }
  .product-directory-group:first-child,
  .systems-index-section .system-filter-buttons,
  .project-filter-section .project-filter-panel,
  .insights-library-section .insights-toolbar,
  .material-index-section .material-card-grid,
  .selection-decision-section .selection-decision-grid,
  .finish-support-section .finish-support-grid,
  .downloads-featured-section .downloads-card-grid,
  .catalogue-family-section .catalogue-main-feature,
  .page-hero + .narrative-section .narrative-pathways,
  .resource-overview-page .resource-feature{
    margin-top:0;
  }
  .product-directory-group:first-child,
  .page-hero + .narrative-section .narrative-pathways,
  .page-hero + .resource-overview-page .resource-feature,
  .catalogue-family-section .catalogue-main-feature,
  .downloads-featured-section .downloads-card-grid,
  .insights-library-section .insights-toolbar,
  .project-filter-section .project-filter-panel,
  .systems-index-section .system-filter-buttons,
  .material-index-section .material-card-grid,
  .selection-decision-section .selection-decision-grid,
  .finish-support-section .finish-support-grid{
    border-top:0;
  }
  .product-directory-group:first-child{
    padding-top:0;
  }
}

/* Mobile CTA flow: in stacked two-column modules, show actions after the content cards/media. */
@media (max-width:760px){
  .selection-map,
  .selection-support,
  .resource-feature,
  .product-chain-role,
  .product-frame-support-panel,
  .oem-product-layout,
  .fixing-product-layout{
    display:grid;
    grid-template-columns:1fr;
  }
  .selection-map > div:first-child,
  .selection-support > div:first-child,
  .resource-feature > div,
  .product-chain-role-copy,
  .product-frame-support-panel > aside,
  .oem-product-layout > div:first-child,
  .fixing-product-layout > div:first-child{
    display:contents;
  }
  .selection-map > div:first-child > :not(.btn),
  .selection-support > div:first-child > :not(.selection-support-actions),
  .resource-feature > div > :not(.btn),
  .product-chain-role-copy > :not(.product-chain-role-actions),
  .product-frame-support-panel > aside > :not(.btn),
  .oem-product-layout > div:first-child > :not(.btn),
  .fixing-product-layout > div:first-child > :not(.btn){
    order:1;
  }
  .selection-map-grid,
  .selection-support-list,
  .resource-feature > figure,
  .product-chain-gallery,
  .product-frame-support-media,
  .oem-product-list,
  .fixing-product-list{
    order:2;
  }
  .selection-map > div:first-child > .btn,
  .selection-support-actions,
  .resource-feature > div > .btn,
  .product-chain-role-actions,
  .product-frame-support-panel > aside > .btn,
  .oem-product-layout > div:first-child > .btn,
  .fixing-product-layout > div:first-child > .btn{
    order:3;
    width:100%;
    margin-top:8px;
  }
  .selection-map > div:first-child > .btn,
  .selection-support-actions .btn,
  .resource-feature > div > .btn,
  .product-chain-role-actions .btn,
  .product-frame-support-panel > aside > .btn,
  .oem-product-layout > div:first-child > .btn,
  .fixing-product-layout > div:first-child > .btn{
    width:100%;
  }
  .downloads-preview-section,
  .resource-questions-section{
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
  }
  .downloads-preview-section > .section-head,
  .resource-questions-section > .section-head{
    display:contents;
  }
  .downloads-preview-section > .section-head > div,
  .resource-questions-section > .section-head > div{
    order:1;
    width:min(var(--max),calc(100% - 32px));
    margin:0 auto;
  }
  .downloads-preview-section > .insights-preview-grid,
  .resource-questions-section > .resource-question-grid{
    order:2;
  }
  .downloads-preview-section .section-head-action,
  .resource-questions-section .section-head-action{
    order:3;
    width:min(var(--max),calc(100% - 32px));
    margin:2px auto 0;
    justify-content:center;
  }
}

/* Mobile control bars: filters and pagination should stay usable in one horizontal row. */
@media (max-width:760px){
  .project-filter-buttons,
  .system-filter-buttons,
  .product-model-filters{
    display:flex;
    flex-wrap:nowrap;
    gap:10px;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scroll-padding-inline:0 28px;
    padding-bottom:8px;
    touch-action:pan-x;
  }
  .project-filter-buttons::-webkit-scrollbar,
  .system-filter-buttons::-webkit-scrollbar,
  .product-model-filters::-webkit-scrollbar,
  .project-pagination::-webkit-scrollbar{
    display:none;
  }
  .project-filter-buttons,
  .system-filter-buttons,
  .product-model-filters,
  .project-pagination{
    scrollbar-width:none;
  }
  .drag-scroll-surface{
    cursor:grab;
    user-select:none;
  }
  .drag-scroll-surface.is-pointer-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
  }
  .drag-scroll-surface.is-pointer-dragging *{
    pointer-events:none;
  }
  .filter-chip,
  .product-model-filters button{
    flex:0 0 auto;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  .filter-chip{
    min-height:42px;
    padding:0 18px;
    font-size:13px;
  }
  .filter-chip-light{
    min-height:40px;
  }
  .product-model-filters button{
    min-height:38px;
    padding:0 14px;
    font-size:12px;
  }
  .wrap.project-pagination{
    flex-wrap:nowrap;
    justify-content:center;
    gap:6px;
    width:min(var(--max),calc(100% - 28px));
    max-width:100%;
    overflow:visible;
    padding-bottom:0;
    margin-top:54px;
  }
  .project-pagination button{
    flex:0 0 auto;
    min-width:40px;
    min-height:40px;
    padding:0 10px;
    border-radius:10px;
    font-size:12px;
    letter-spacing:.02em;
    white-space:nowrap;
  }
  .project-pagination button:first-child,
  .project-pagination button:last-child{
    min-width:58px;
  }
  .project-pagination button[data-pagination-control]{
    min-width:58px;
  }
  .pagination-ellipsis{
    min-width:22px;
    min-height:40px;
    font-size:12px;
    letter-spacing:.02em;
  }
}

/* Final mobile rhythm system: unify section spacing, type scale, CTAs and overflow guards. */
@media (max-width:760px){
  :root{
    --mobile-section-y:56px;
    --mobile-section-y-tight:46px;
    --mobile-block-gap:24px;
    --mobile-card-pad:18px;
  }
  body{
    font-size:14px;
    line-height:1.62;
  }
  .wrap{
    width:min(var(--max),calc(100% - 32px));
  }
  body .section[class],
  body .section,
  body .intro,
  body .product-detail-section,
  body .solution-detail-section,
  body .resource-detail-section,
  body .project-article-section{
    padding-top:var(--mobile-section-y);
    padding-bottom:var(--mobile-section-y);
  }
  body .section[class] + .section[class],
  body .section + .section,
  body .section.product-detail-section + .section.product-detail-section{
    padding-top:var(--mobile-section-y);
  }
  body .product-model-library,
  body .downloads-featured-section,
  body .downloads-library-section,
  body .project-filter-section,
  body .insights-library-section,
  body .catalogue-family-section,
  body .product-index-section,
  body .systems-index-section,
  body .material-index-section,
  body .finish-support-section,
  body .selection-decision-section{
    padding-top:var(--mobile-section-y-tight);
  }
  .page-hero,
  .editorial-page-hero,
  .materials-hero,
  .material-detail-hero,
  .product-detail-hero,
  .product-detail-hero-scene,
  .catalogue-hero,
  .narrative-hero,
  .projects-hero,
  .systems-hero,
  .downloads-hero,
  .contact-hero,
  .legal-hero,
  .thanks-hero{
    padding-top:88px;
    padding-bottom:50px;
  }
  .product-detail-hero-scene,
  .project-detail-hero,
  .insight-detail-hero{
    min-height:min(620px,82svh);
  }
  .page-hero > .wrap.page-hero-inner,
  .project-scene-inner,
  .thanks-hero-grid,
  .contact-hero-grid,
  .editorial-hero-grid{
    gap:28px;
  }
  .page-hero h1,
  .project-detail-hero .project-scene-copy h1,
  .insight-detail-hero .project-scene-copy h1,
  .product-detail-hero-scene h1,
  .trust-hero-copy h1,
  .faq-hero h1,
  .thanks-hero h1,
  .hero h1,
  .hero-title{
    max-width:100%;
    font-size:clamp(28px,7.35vw,32px);
    line-height:1.08;
    letter-spacing:0;
    text-wrap:balance;
  }
  .page-hero p,
  .project-detail-hero .project-scene-copy p:not(.kicker),
  .insight-detail-hero .project-scene-copy p:not(.kicker),
  .product-detail-hero-scene .page-hero-inner p:not(.kicker),
  .hero-copy p,
  .trust-hero-copy p:not(.kicker),
  .thanks-hero p:not(.kicker){
    max-width:38em;
    font-size:14px;
    line-height:1.64;
  }
  .section-head,
  .downloads-section-head,
  .insights-library-head,
  .product-model-head{
    gap:16px;
    margin-bottom:28px;
  }
  .section-head h2,
  .downloads-section-head h2,
  .insights-library-head h2,
  .product-model-head h2,
  .product-chain-role-copy h2,
  .product-chain-arrangements h2,
  .product-chain-pattern-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-spec-panel aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-faq-panel aside h2,
  .solution-detail-layout aside h2,
  .resource-detail-layout aside h2,
  .project-article-lead h2,
  .project-related-head h3,
  .application-section-copy h2,
  .application-two-column h2,
  .application-route-grid h2,
  .material-support-layout h2,
  .material-detail-split h2,
  .material-process h2,
  .material-use-grid h2,
  .material-related-section .section-head h2,
  .material-section-copy h2,
  .material-two-column h2,
  .material-faq-section h2,
  .selection-map h2,
  .narrative-intro h2,
  .downloads-aside h2,
  .contact-guidance h2,
  .project-toolbar h2,
  .selection-support h2,
  .download-checklist h2,
  .form-head h2,
  .product-choice-copy h2,
  .solution-company-copy h2,
  .solution-related h2,
  .solution-work-copy h2,
  .project-context-copy h2,
  .about-company-grid h2,
  .about-factory-grid h2,
  .about-service-grid h2,
  .trust-statement h2,
  .trust-split-head h2,
  .trust-editorial-columns h2,
  .inspection-overview-grid h2,
  .certificate-current-grid h2,
  .lifecycle-grid h2,
  .inspection-matrix h2,
  .trust-narrative-grid h2,
  .trust-audience-grid h2,
  .sustainability-care-strip h2,
  .sustainability-lifecycle-layout h2,
  .sustainability-performance-grid h2,
  .sustainability-support-layout h2,
  .inspection-chain-head h2,
  .inspection-focus-layout h2,
  .inspection-stage-card h2,
  .certificate-evidence-copy h2,
  .certificate-route-layout h2,
  .certificate-project-grid h2,
  .care-lifecycle-copy h2,
  .care-faq-layout h2,
  .care-method-layout h2,
  .care-avoid-panel h2,
  .sample-aside h2,
  .sample-process h2,
  .selection-product-layout h2,
  .selection-brief-layout h2,
  .faq-overview h2,
  .faq-brief-grid h2,
  .faq-category-head h2,
  .insights-feature h2,
  .oem-model-grid h2,
  .oem-support-layout h2,
  .oem-product-layout h2,
  .oem-brief-grid h2,
  .fixing-application-layout h2,
  .fixing-product-layout h2,
  .install-overview h2,
  .install-steps h2,
  .install-checklist h2,
  .install-decision h2,
  .install-available-grid h2{
    max-width:100%;
    font-size:clamp(22px,5.75vw,26px);
    line-height:1.14;
    letter-spacing:0;
    text-wrap:balance;
  }
  .final-cta{
    padding-top:58px;
    padding-bottom:60px;
  }
  .final-cta h2{
    max-width:100%;
    font-size:clamp(27px,7vw,31px);
    line-height:1.12;
    letter-spacing:0;
    text-wrap:balance;
  }
  .kicker,
  .eyebrow,
  .product-model-label,
  .meta-label{
    font-size:10.5px;
    line-height:1.35;
    letter-spacing:.12em;
  }
  p,
  li,
  dd,
  .lead,
  .section-note,
  .card p,
  .application-card p,
  .product-model-card p,
  .product-frame-card p,
  .product-resource-card p,
  .project-sidebar-card p,
  .insight-card p,
  .project-card p{
    font-size:14px;
    line-height:1.62;
  }
  h3,
  .card h3,
  .application-card h3,
  .product-system-card h3,
  .product-type-card h3,
  .product-model-card h3,
  .product-frame-card h3,
  .product-resource-card h3,
  .project-sidebar-card h3,
  .project-related-card h3,
  .insight-card h3,
  .project-card h3{
    font-size:clamp(16px,4.35vw,19px);
    line-height:1.24;
    letter-spacing:0;
    text-wrap:balance;
  }
  .btn,
  .product-system-cta,
  .product-model-mini-cta,
  .section-link{
    min-height:42px;
    font-size:12px;
    line-height:1.1;
    letter-spacing:.02em;
  }
  .btn,
  .product-model-mini-cta{
    padding:0 15px;
  }
  .section-cta-row,
  .hero-actions,
  .project-scene-actions,
  .product-chain-role-actions,
  .final-actions{
    gap:10px;
  }
  .section-cta-row .btn,
  .hero-actions .btn,
  .project-scene-actions .btn,
  .product-chain-role-actions .btn,
  .final-actions .btn{
    min-height:44px;
  }
  .product-detail-overview,
  .solution-detail-layout,
  .resource-detail-layout,
  .product-chain-role,
  .product-single-role,
  .product-chain-colours-panel,
  .product-chain-pattern-panel,
  .product-spec-panel,
  .product-opening-panel,
  .product-material-finish-panel,
  .product-technical-route,
  .product-frame-support-panel,
  .product-resource-panel,
  .product-faq-panel,
  .selection-map,
  .selection-support,
  .resource-feature,
  .oem-product-layout,
  .fixing-product-layout,
  .project-article-layout,
  .project-detail-layout{
    gap:var(--mobile-block-gap);
  }
  .product-spec-panel,
  .product-opening-panel,
  .product-material-finish-panel,
  .product-technical-route,
  .product-frame-support-panel,
  .product-resource-panel,
  .product-faq-panel,
  .product-chain-pattern-panel,
  .product-chain-colours-panel,
  .project-sidebar-card,
  .resource-feature,
  .download-card,
  .catalogue-card,
  .insight-card,
  .project-card{
    padding:var(--mobile-card-pad);
  }
  .product-frame-support-media,
  .product-resource-cards,
  .product-material-finish-links,
  .product-opening-cards,
  .product-technical-steps,
  .product-application-strip,
  .project-related-grid,
  .downloads-card-grid,
  .catalogue-card-grid,
  .insights-grid,
  .project-grid{
    gap:16px;
  }
  .product-model-head{
    padding-bottom:30px;
  }
  .product-model-filter-panel{
    padding:16px;
  }
  .product-model-grid{
    gap:14px;
  }
  .product-model-card{
    min-height:0;
  }
  .product-model-card > div{
    padding:14px;
  }
  .application-carousel,
  .product-chain-gallery,
  .chain-gallery-main,
  .product-chain-pattern-slider,
  .project-scene-media,
  .hero-carousel-stage{
    max-width:100%;
    overflow:hidden;
  }
  .product-chain-gallery{
    --chain-gallery-height:380px;
    min-height:var(--chain-gallery-height);
  }
  .chain-gallery-main,
  .product-chain-pattern-slider{
    min-height:0;
    touch-action:pan-y pinch-zoom;
  }
  .pattern-slider-slide figcaption{
    position:static;
    margin-top:12px;
    max-width:100%;
  }
  .application-track{
    align-items:stretch;
  }
  .site-float-actions{
    top:auto;
    right:12px;
    bottom:72px;
    transform:none;
    gap:8px;
  }
  .float-action{
    width:42px;
    height:42px;
    border-radius:11px;
  }
  .float-icon{
    width:19px;
    height:19px;
  }
  .float-label{
    display:none;
  }
  .back-to-top{
    right:12px;
    bottom:18px;
  }
}

@media (max-width:520px){
  :root{
    --mobile-section-y:50px;
    --mobile-section-y-tight:42px;
    --mobile-block-gap:20px;
    --mobile-card-pad:16px;
  }
  .wrap{
    width:min(var(--max),calc(100% - 28px));
  }
  .page-hero,
  .editorial-page-hero,
  .materials-hero,
  .material-detail-hero,
  .product-detail-hero,
  .product-detail-hero-scene,
  .catalogue-hero,
  .narrative-hero,
  .projects-hero,
  .systems-hero,
  .downloads-hero,
  .contact-hero,
  .legal-hero,
  .thanks-hero{
    padding-top:82px;
    padding-bottom:46px;
  }
  .page-hero h1,
  .project-detail-hero .project-scene-copy h1,
  .insight-detail-hero .project-scene-copy h1,
  .product-detail-hero-scene h1,
  .trust-hero-copy h1,
  .faq-hero h1,
  .thanks-hero h1,
  .hero h1,
  .hero-title{
    font-size:clamp(27px,7.15vw,30px);
    line-height:1.09;
  }
  .section-head h2,
  .downloads-section-head h2,
  .insights-library-head h2,
  .product-model-head h2,
  .product-chain-role-copy h2,
  .product-chain-arrangements h2,
  .product-chain-pattern-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-spec-panel aside h2,
  .product-technical-route aside h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-faq-panel aside h2,
  .solution-detail-layout aside h2,
  .resource-detail-layout aside h2,
  .project-article-lead h2,
  .project-related-head h3,
  .application-section-copy h2,
  .application-two-column h2,
  .application-route-grid h2,
  .material-support-layout h2,
  .material-detail-split h2,
  .material-process h2,
  .material-use-grid h2,
  .material-related-section .section-head h2,
  .material-section-copy h2,
  .material-two-column h2,
  .material-faq-section h2,
  .selection-map h2,
  .narrative-intro h2,
  .downloads-aside h2,
  .contact-guidance h2,
  .project-toolbar h2,
  .selection-support h2,
  .download-checklist h2,
  .form-head h2,
  .product-choice-copy h2,
  .solution-company-copy h2,
  .solution-related h2,
  .solution-work-copy h2,
  .project-context-copy h2,
  .about-company-grid h2,
  .about-factory-grid h2,
  .about-service-grid h2,
  .trust-statement h2,
  .trust-split-head h2,
  .trust-editorial-columns h2,
  .inspection-overview-grid h2,
  .certificate-current-grid h2,
  .lifecycle-grid h2,
  .inspection-matrix h2,
  .trust-narrative-grid h2,
  .trust-audience-grid h2,
  .sustainability-care-strip h2,
  .sustainability-lifecycle-layout h2,
  .sustainability-performance-grid h2,
  .sustainability-support-layout h2,
  .inspection-chain-head h2,
  .inspection-focus-layout h2,
  .inspection-stage-card h2,
  .certificate-evidence-copy h2,
  .certificate-route-layout h2,
  .certificate-project-grid h2,
  .care-lifecycle-copy h2,
  .care-faq-layout h2,
  .care-method-layout h2,
  .care-avoid-panel h2,
  .sample-aside h2,
  .sample-process h2,
  .selection-product-layout h2,
  .selection-brief-layout h2,
  .faq-overview h2,
  .faq-brief-grid h2,
  .faq-category-head h2,
  .insights-feature h2,
  .oem-model-grid h2,
  .oem-support-layout h2,
  .oem-product-layout h2,
  .oem-brief-grid h2,
  .fixing-application-layout h2,
  .fixing-product-layout h2,
  .install-overview h2,
  .install-steps h2,
  .install-checklist h2,
  .install-decision h2,
  .install-available-grid h2{
    font-size:clamp(21px,5.65vw,25px);
  }
  .final-cta h2{
    font-size:clamp(26px,6.9vw,30px);
  }
  p,
  li,
  dd,
  .lead,
  .section-note,
  .card p,
  .application-card p,
  .product-model-card p,
  .product-frame-card p,
  .product-resource-card p,
  .project-sidebar-card p,
  .insight-card p,
  .project-card p{
    font-size:13.5px;
    line-height:1.62;
  }
  .btn,
  .product-system-cta,
  .product-model-mini-cta{
    min-height:42px;
    font-size:11.5px;
    padding:0 14px;
  }
  .product-chain-gallery{
    --chain-gallery-height:350px;
  }
  .site-float-actions{
    right:10px;
    bottom:70px;
  }
  .float-action{
    width:40px;
    height:40px;
  }
  .back-to-top{
    right:10px;
    bottom:18px;
  }
  .chain-gallery-nav,
  .chain-gallery-play{
    transform:scale(.92);
    transform-origin:center;
  }
}

/* Maintenance & Care mobile image cards: keep surface images fitted to the card. */
@media (max-width:760px){
  .care-surface-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
  .care-surface-grid article{
    display:grid;
    grid-template-columns:1fr;
    min-height:0;
  }
  .care-surface-grid img{
    width:100%;
    height:auto;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center;
  }
  .care-surface-grid div{
    padding:18px;
  }
}

@media (max-width:520px){
  .care-surface-grid img{
    aspect-ratio:4/3;
  }
  .care-surface-grid strong{
    font-size:17px;
    line-height:1.18;
  }
  .care-surface-grid p{
    font-size:13px;
    line-height:1.54;
  }
}

/* Home mobile hero kicker should stay on one line. */
@media (max-width:760px){
  .hero .hero-copy > .kicker{
    max-width:100%;
    white-space:nowrap;
    font-size:clamp(10px,2.85vw,11px);
    line-height:1.25;
    letter-spacing:.11em;
  }
}

@media (max-width:520px){
  .hero .hero-copy > .kicker{
    font-size:clamp(9.2px,2.55vw,10px);
    letter-spacing:.075em;
  }
}

/* Products mobile rhythm: keep Selection map connected without oversized blank space. */
@media (max-width:860px){
  .section.selection-map-section{
    padding-top:0;
    padding-bottom:0;
  }
  .wrap.product-choice-note{
    margin-top:36px;
    padding-top:40px;
    padding-bottom:28px;
  }
  .selection-map{
    padding-top:36px;
    padding-bottom:52px;
  }
}

@media (max-width:760px){
  .section.selection-map-section{
    padding-top:0;
    padding-bottom:0;
  }
  .wrap.product-choice-note{
    margin-top:36px;
    padding-top:40px;
    padding-bottom:28px;
  }
  .selection-map{
    padding-top:36px;
    padding-bottom:52px;
  }
}

@media (max-width:520px){
  .section.selection-map-section{
    padding-top:0;
    padding-bottom:0;
  }
  .wrap.product-choice-note{
    margin-top:32px;
    padding-top:36px;
    padding-bottom:24px;
  }
  .selection-map{
    padding-top:32px;
    padding-bottom:48px;
  }
}

/* Products mobile: override the global section rhythm between choice note and Selection map. */
@media (max-width:760px){
  body .section.product-index-section{
    padding-bottom:26px;
  }
  body .section.selection-map-section,
  body .section.product-index-section + .section.selection-map-section{
    padding-top:0;
  }
  .wrap.product-choice-note{
    padding-bottom:22px;
  }
  .selection-map{
    padding-top:28px;
  }
}

@media (max-width:520px){
  body .section.product-index-section{
    padding-bottom:22px;
  }
  .wrap.product-choice-note{
    padding-bottom:18px;
  }
  .selection-map{
    padding-top:24px;
  }
}

/* Projects mobile: keep pagination connected to the selection logic block. */
@media (max-width:760px){
  body .section.project-filter-section{
    padding-bottom:26px;
  }
  body .section.project-context-section,
  body .section.project-filter-section + .section.project-context-section{
    padding-top:0;
  }
  .project-context{
    padding-top:30px;
  }
}

@media (max-width:520px){
  body .section.project-filter-section{
    padding-bottom:22px;
  }
  .project-context{
    padding-top:28px;
  }
}

@media (max-width:520px){
  .wrap.project-pagination{
    gap:5px;
  }
  .project-pagination button{
    min-width:38px;
    min-height:38px;
    padding:0 9px;
    font-size:11.5px;
  }
  .project-pagination button:first-child,
  .project-pagination button:last-child,
  .project-pagination button[data-pagination-control]{
    min-width:52px;
  }
  .pagination-ellipsis{
    min-width:18px;
    min-height:38px;
  }
}

/* Projects mobile: place the context CTA after the comparison cards. */
@media (max-width:760px){
  .project-context{
    gap:0;
  }
  .project-context-copy{
    display:contents;
  }
  .project-context-copy > :not(.project-context-cta){
    order:1;
  }
  .project-context-grid{
    order:2;
    margin-top:24px;
  }
  .project-context-cta{
    order:3;
    width:100%;
    margin-top:18px;
  }
}

/* Products mobile: Selection map text should use the same inner rhythm as Selection logic. */
@media (max-width:760px){
  .selection-map{
    gap:0;
  }
  .selection-map-grid{
    margin-top:24px;
  }
  .selection-map > div:first-child > .btn{
    margin-top:18px;
  }
}

/* Mobile heading rhythm: tighten small kicker + H2 + copy groups across content sections. */
@media (max-width:760px){
  .faq-hero-note{
    display:none;
  }
  .why-page .trust-hero{
    padding-top:88px;
    padding-bottom:60px;
  }
  .why-page .trust-hero-grid-wide{
    grid-template-columns:1fr;
    gap:0;
  }
  .why-page .trust-hero-copy{
    gap:0;
    max-width:100%;
  }
  .why-page .trust-hero-copy h1{
    max-width:100%;
    margin:0;
  }
  .why-page .trust-hero-copy p:not(.kicker){
    margin-top:18px;
  }
  .why-page .trust-contrast-panel,
  .why-page .trust-path-section{
    display:none;
  }
  .about-page .about-hero{
    min-height:0;
    padding-top:88px;
    padding-bottom:54px;
  }
  .about-page .about-hero::before{
    background-position:74% center;
  }
  .about-page .about-hero-grid{
    grid-template-columns:1fr;
    gap:0;
    align-items:start;
  }
  .about-page .about-identity-card{
    display:none;
  }
  :where(div, section, aside, header):has(> .kicker + h2){
    row-gap:0;
  }
  :where(div, section, aside, header):has(> .kicker + h2) > h2{
    margin-top:12px;
  }
  :where(div, section, aside, header):has(> .kicker + h2) > p:not(.kicker){
    margin-top:18px;
  }
  :is(
    .resource-feature,
    .resource-support,
    .fixing-download-feature,
    .guide-download-feature,
    .finish-download-feature,
    .selection-download-feature,
    .certificate-download-cta,
    .faq-download-feature,
    .insights-feature
  ) .kicker{
    margin-bottom:0;
  }
  :is(
    .resource-feature,
    .resource-support,
    .fixing-download-feature,
    .guide-download-feature,
    .finish-download-feature,
    .selection-download-feature,
    .certificate-download-cta,
    .faq-download-feature,
    .insights-feature
  ) .kicker + h2{
    margin-top:12px;
  }
  :is(
    .resource-feature,
    .resource-support,
    .fixing-download-feature,
    .guide-download-feature,
    .finish-download-feature,
    .selection-download-feature,
    .certificate-download-cta,
    .faq-download-feature,
    .insights-feature
  ) h2 + p:not(.kicker){
    margin-top:18px;
  }
  .faq-category-head{
    gap:0;
  }
}

/* Mobile breadcrumbs: keep long trails on one line and truncate the current page label. */
@media (max-width:760px){
  .breadcrumbs{
    overflow:hidden;
  }
  .breadcrumbs ol{
    flex-wrap:nowrap;
    min-width:0;
    overflow:hidden;
  }
  .breadcrumbs li{
    flex:0 0 auto;
    min-width:0;
    white-space:nowrap;
  }
  .breadcrumbs li[aria-current="page"]{
    flex:1 1 auto;
    overflow:hidden;
  }
  .breadcrumbs li[aria-current="page"] span{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .project-detail-hero .project-scene-meta{
    display:none;
  }
}

/* Product detail mobile refinement: gallery first, tighter copy rhythm, compact model cards. */
@media (max-width:760px){
  .product-chain-mobile-gallery-section{
    display:block;
    padding-top:34px;
    padding-bottom:0;
  }
  .product-chain-mobile-gallery-section + .product-detail-section.product-chain-role-section{
    padding-top:4px;
  }
  .product-chain-role > .product-chain-gallery{
    display:none;
  }
  .product-chain-mobile-gallery{
    --chain-gallery-height:clamp(244px,70vw,300px);
    grid-template-rows:minmax(0,1fr) 62px;
    gap:6px;
    min-height:var(--chain-gallery-height);
  }
  .product-chain-mobile-gallery .chain-gallery-main{
    min-height:0;
  }
  .product-chain-mobile-gallery .chain-gallery-thumbs{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:72px;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .product-chain-mobile-gallery .chain-gallery-thumbs::-webkit-scrollbar{
    display:none;
  }
  .product-chain-mobile-gallery .chain-gallery-thumb{
    aspect-ratio:1;
  }
  .product-chain-mobile-gallery .chain-gallery-nav,
  .product-chain-mobile-gallery .chain-gallery-play{
    width:34px;
    height:34px;
    right:10px;
  }
  .product-chain-mobile-gallery .chain-gallery-prev{top:10px;}
  .product-chain-mobile-gallery .chain-gallery-next{top:50px;}
  .product-chain-mobile-gallery .chain-gallery-play{bottom:10px;}

  .product-detail-section,
  body .product-detail-section{
    padding-top:58px;
    padding-bottom:58px;
  }
  .section.product-detail-section + .section.product-detail-section,
  body .section.product-detail-section + .section.product-detail-section{
    padding-top:58px;
  }
  .product-detail-section.product-chain-role-section{
    padding-top:24px;
  }
  .product-chain-role{
    gap:24px;
  }
  .product-chain-role-copy{
    display:block;
  }
  .product-chain-role-copy .kicker{
    margin:0;
  }
  .product-chain-role-copy h2,
  .product-model-head h2,
  .product-frame-support-panel aside h2,
  .product-resource-panel h2,
  .product-spec-panel aside h2,
  .product-material-finish-panel h2,
  .product-opening-panel aside h2,
  .product-technical-route aside h2,
  .product-faq-panel aside h2{
    margin-top:12px;
    font-size:clamp(25px,6.6vw,30px);
    line-height:1.1;
  }
  .product-chain-role-copy > p,
  .product-model-head p,
  .product-frame-support-panel aside > p,
  .product-resource-panel > div:first-child > p,
  .product-spec-panel aside > p,
  .product-material-finish-panel > div:first-child > p,
  .product-opening-panel aside > p,
  .product-technical-route aside > p,
  .product-faq-panel aside > p{
    margin-top:16px;
    font-size:14px;
    line-height:1.62;
  }
  .product-chain-role-options{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:24px;
  }
  .product-chain-role-options article{
    padding-top:12px;
  }
  .product-chain-role-options span{
    font-size:10.5px;
    letter-spacing:.08em;
  }
  .product-chain-role-options ul{
    gap:7px;
    margin-top:12px;
  }
  .product-chain-role-options li{
    font-size:12.5px;
    line-height:1.38;
  }
  .product-chain-role-actions{
    margin-top:26px;
  }

  .product-model-head{
    gap:18px;
    padding-bottom:24px;
  }
  .product-model-filter-panel{
    padding:14px;
    gap:14px;
  }
  .product-model-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .product-model-card img{
    aspect-ratio:1.08 / 1;
  }
  .product-model-card > div{
    padding:12px;
  }
  .product-model-card h3{
    font-size:15px;
    line-height:1.18;
  }
  .product-model-card p{
    margin-top:8px;
    font-size:12px;
    line-height:1.42;
  }
  .product-model-label{
    font-size:10px;
    line-height:1.2;
  }

  .product-frame-support-media{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .product-frame-support-media img{
    aspect-ratio:1.15 / 1;
  }
  .product-frame-support-media article > div{
    padding:12px;
  }
  .product-frame-support-media span{
    font-size:13px;
    line-height:1.24;
  }
  .product-frame-support-media p{
    margin-top:8px;
    font-size:12px;
    line-height:1.42;
  }
}

@media (max-width:760px){
  body .product-detail-section{
    padding-top:34px !important;
    padding-bottom:34px !important;
  }
  body .section.product-detail-section + .section.product-detail-section{
    padding-top:34px !important;
  }
  body .product-chain-mobile-gallery-section{
    padding-bottom:0 !important;
  }
  body .product-chain-mobile-gallery-section.section + section.product-detail-section.product-chain-role-section{
    padding-top:24px !important;
    padding-bottom:34px !important;
  }
  body section.product-detail-section.product-chain-role-section + section.product-detail-section.product-model-library{
    padding-top:34px !important;
  }
  body .product-detail-section:has(.product-application-strip){
    display:grid;
    gap:22px;
  }
  body .product-detail-section:has(.product-application-strip) .section-head{
    display:contents;
  }
  body .product-detail-section:has(.product-application-strip) .section-head > div{
    order:1;
    width:min(100% - 32px, var(--wrap));
    max-width:var(--wrap);
    margin-inline:auto;
  }
  body .product-detail-section:has(.product-application-strip) .product-application-strip{
    order:2;
  }
  body .product-detail-section:has(.product-application-strip) .product-application-cta{
    order:3;
    width:min(100% - 32px, var(--wrap));
    max-width:var(--wrap);
    margin-inline:auto;
  }
  .insight-inline-toc{
    flex-wrap:nowrap;
    gap:10px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:10px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
  }
  .insight-inline-toc::-webkit-scrollbar{
    display:none;
  }
  .insight-inline-toc span,
  .insight-inline-toc a{
    flex:0 0 auto;
    max-width:min(74vw,320px);
    overflow:hidden;
    scroll-snap-align:start;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
}
img.sgoria-image-pending {
  background-color: #f8f8f7;
  background-image: url("/assets/sgoria-loading-mark.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: min(72px, 34%);
}

@media (max-width: 640px) {
  img.sgoria-image-pending {
    background-size: min(56px, 32%);
  }
}

@media (prefers-reduced-motion: reduce) {
  img.sgoria-image-pending {
    background-image: url("/assets/sgoria-loading-mark.svg");
  }
}
