.contact-lines b{display:inline-block;margin-bottom:8px;color:var(--blue);font-size:12px;letter-spacing:.08em}.product-nav{display:flex;flex-wrap:wrap;gap:10px}.product-nav a{padding:13px 18px;border:1px solid var(--line);font-size:12px;transition:.3s}.product-nav a:hover{color:#fff;background:var(--blue);border-color:var(--blue)}
.about-subnav{position:sticky;z-index:20;top:72px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.about-subnav .shell{display:grid;grid-template-columns:repeat(5,1fr)}.about-subnav a{position:relative;padding:20px 24px;border-right:1px solid var(--line);font-size:13px;transition:.3s}.about-subnav a:first-child{border-left:1px solid var(--line)}.about-subnav a:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:2px;background:var(--cyan);transition:.35s}.about-subnav a:hover{color:var(--blue);background:#f7f9fb}.about-subnav a:hover:after{right:0}.about-subnav small{display:block;margin-top:6px;color:#8995a0;font:9px "Arial Narrow",sans-serif;letter-spacing:.14em}
.product-detail{padding:clamp(70px,8vw,120px) 0;scroll-margin-top:72px}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(45px,8vw,110px);align-items:center}.product-detail-grid.reverse .product-visual{order:2}.product-visual{height:clamp(390px,45vw,610px);padding:28px;background:#e8edf1}.product-visual img{object-fit:contain;background:#fff}.product-copy small{color:var(--blue);font:700 11px "Arial Narrow",sans-serif;letter-spacing:.2em}.product-copy h2{margin:17px 0 22px;font-size:clamp(34px,4vw,58px);line-height:1.08}.product-copy .lead{color:#455462;font-size:15px;line-height:1.9}.spec-list{margin:30px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.spec-list li{position:relative;padding:15px 0 15px 22px;border-bottom:1px solid var(--line);color:#53616e;font-size:13px;line-height:1.65}.spec-list li:before{content:"";position:absolute;left:0;top:23px;width:6px;height:6px;background:var(--cyan)}.spec-list b{display:block;margin-bottom:3px;color:var(--ink)}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.process-steps span{padding:30px 18px;border-right:1px solid rgba(255,255,255,.15);font-size:13px}.process-steps span:last-child{border:0}.about-prose{max-width:1040px}.about-prose p{color:#455462;font-size:16px;line-height:2}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line)}.timeline article{min-height:250px;padding:32px;background:#fff}.timeline strong{color:var(--blue);font:700 28px "Arial Narrow",sans-serif}.timeline p{color:var(--muted);font-size:13px;line-height:1.8}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.principles article{padding:36px;background:#fff;border-top:3px solid var(--blue)}.principles p{color:var(--muted);line-height:1.8}.cert-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cert-grid figure{height:270px;margin:0;padding:18px;background:#fff}.cert-grid img{object-fit:contain}.esg-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.esg-gallery img{height:auto;object-fit:contain;background:#fff}
@media(max-width:900px){.about-subnav{top:64px;overflow-x:auto}.about-subnav .shell{width:max-content;min-width:100%;grid-template-columns:repeat(5,minmax(140px,1fr))}.product-detail-grid{grid-template-columns:1fr}.product-detail-grid.reverse .product-visual{order:0}.process-steps,.timeline{grid-template-columns:1fr 1fr}.principles,.cert-grid,.esg-gallery{grid-template-columns:1fr 1fr}}@media(max-width:700px){.about-subnav a{padding:15px 18px}.product-visual{height:360px;padding:15px}.process-steps,.timeline,.principles,.cert-grid,.esg-gallery{grid-template-columns:1fr}}
.cert-grid img,.esg-gallery img{cursor:zoom-in;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}.cert-grid img:hover,.esg-gallery img:hover{transform:scale(1.018);box-shadow:0 16px 45px rgba(7,23,40,.15)}.cert-grid img:focus-visible,.esg-gallery img:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.lightbox-open{overflow:hidden}.image-lightbox{position:fixed;z-index:1000;inset:0;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;padding:60px 30px;background:rgba(1,9,18,.94);opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}.image-lightbox.open{opacity:1;visibility:visible}.image-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;justify-items:center;max-width:min(1200px,100%);max-height:calc(100svh - 120px);margin:auto}.image-lightbox figure img{width:auto;max-width:100%;height:auto;max-height:calc(100svh - 175px);object-fit:contain;background:#fff;box-shadow:0 20px 80px rgba(0,0,0,.45)}.image-lightbox figcaption{margin-top:18px;color:#dce5ec;font-size:13px}.image-lightbox button{width:52px;height:52px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff;background:rgba(255,255,255,.08);cursor:pointer;transition:.25s}.image-lightbox button:hover{background:var(--blue);border-color:var(--blue)}.lightbox-close{position:absolute;top:24px;right:28px;font-size:30px}.lightbox-prev,.lightbox-next{justify-self:center;font-size:20px}.lightbox-count{position:absolute;left:30px;bottom:25px;color:rgba(255,255,255,.65);font:11px "Arial Narrow",sans-serif;letter-spacing:.16em}@media(max-width:700px){.image-lightbox{grid-template-columns:48px minmax(0,1fr) 48px;padding:70px 8px 45px}.image-lightbox button{width:40px;height:40px}.lightbox-close{top:16px;right:16px}.lightbox-count{left:16px;bottom:16px}}
.product-richtext ul {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--line);
}
.product-richtext li {
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  line-height: 1.65;
}
.product-applications {
  margin-top: 22px;
  color: var(--muted);
}
.news-article-visual {
  min-height: 400px;
  height: min(52vh, 600px);
}
.news-article-visual .page-hero-media::after {
  background: linear-gradient(180deg, rgba(2, 13, 24, 0.2), rgba(2, 13, 24, 0.42));
}
.news-article-header {
  position: relative;
  padding: 64px 0 60px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.news-article-heading {
  max-width: 1040px;
}
.news-back-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 46px;
  color: var(--blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.news-back-link span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid currentColor;
  border-radius: 50%;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
}
.news-back-link:hover span {
  color: #fff;
  background: var(--blue);
  transform: translateX(-4px);
}
.news-article-heading h1 {
  max-width: 980px;
  margin: 16px 0 28px;
  color: var(--ink);
  font-size: clamp(36px, 5vw, 66px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.035em;
  text-wrap: balance;
}
.news-article-heading .article-meta {
  display: flex;
  gap: 0;
  color: var(--muted);
  font-size: 13px;
  letter-spacing: 0.08em;
}
.news-article-heading .article-meta span + span::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 12px;
  margin: 0 18px;
  vertical-align: -1px;
  background: var(--line);
}
.news-article-content {
  padding-top: 92px;
  padding-bottom: 110px;
}
.news-article-content .prose {
  max-width: 860px;
  font-size: 17px;
  line-height: 2;
}
.news-article-content .prose > p:first-child {
  color: #243445;
  font-size: 20px;
  line-height: 1.9;
}
.news-article-content .prose img {
  display: block;
  width: 100%;
  height: auto;
  margin: 44px 0 18px;
}
.news-article-return {
  margin-top: 72px !important;
  padding-top: 32px;
  border-top: 1px solid var(--line);
}
.news-back-button {
  display: inline-flex;
  align-items: center;
  min-height: 50px;
  padding: 0 24px;
  color: #fff !important;
  background: var(--ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  transition: background 0.25s ease, transform 0.25s ease;
}
.news-back-button:hover {
  background: var(--blue);
  transform: translateY(-2px);
}
@media (max-width: 700px) {
  .news-article-visual {
    min-height: 300px;
    height: 40vh;
  }
  .news-article-header {
    padding: 42px 0 44px;
  }
  .news-back-link {
    margin-bottom: 34px;
  }
  .news-article-heading h1 {
    font-size: clamp(32px, 10vw, 46px);
  }
  .news-article-content {
    padding-top: 58px;
    padding-bottom: 76px;
  }
}
