*{box-sizing:border-box}body{margin:0;color:#171a26;background:#fff;font:16px/1.6 system-ui,sans-serif}a{color:inherit}header{border-bottom:1px solid #e7ece9;background:#fff}img{max-width:100%;display:block}.wrap{width:min(1240px,90%);margin:auto}.bar,.foot,nav{display:flex;align-items:center;gap:24px}.bar{justify-content:space-between;min-height:88px}.bar a,nav summary{text-decoration:none;font-weight:650}.lang{border:1px solid #ccd8d2;padding:4px 10px}nav{flex-wrap:wrap;font-size:14px}details{position:relative}summary{cursor:pointer}details div{position:absolute;background:white;z-index:4;min-width:220px;padding:12px;box-shadow:0 12px 40px #141a2830}details a{display:block;padding:8px}.hero{background:radial-gradient(circle at 78% 50%,#e2f6e8,#fff 45%);padding:78px 0}.intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,6vw,92px);align-items:center}.tag{color:#078449;font-weight:750;font-size:13px;letter-spacing:.14em}h1,h2{line-height:1.08;letter-spacing:-.045em;margin:12px 0 20px}h1{font-size:clamp(42px,6vw,79px)}h2{font-size:clamp(28px,4vw,49px)}em{color:#078449;font-style:normal}.btn{background:#087843;color:white;display:inline-block;padding:13px 23px;text-decoration:none;font-weight:700;margin-top:16px}.chip{aspect-ratio:1.24;display:grid;place-items:center;background:repeating-linear-gradient(90deg,transparent 0 23px,#70b99433 24px 25px),repeating-linear-gradient(0deg,transparent 0 23px,#70b99433 24px 25px)}.chip img{width:60%;background:white;padding:30px;border:2px solid #51aa77;box-shadow:0 12px 45px #197d3f20}.numbers{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ddd;padding:25px 0;gap:18px}.numbers strong{display:block;font-size:30px;color:#078449}.section{padding-block:clamp(36px,7vw,86px)}.links,.tiles,.sectors{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.links a,.tiles article,.sectors span{background:#f3f7f5;padding:20px;text-decoration:none}.links b,.links span{display:block}.links span{color:#078449}.tiles{margin-top:35px}.tiles h2{font-size:24px}.feature{width:100%;max-height:420px;object-fit:cover}.portrait{width:min(100%,440px);margin:auto}.dark,.banner,footer{background:#1f1d37;color:white}.dark .tag,.banner p{color:#a3e3be}.banner{padding:45px 0;background-image:radial-gradient(#776b9a66 1px,transparent 1px);background-size:15px 15px}.banner h1{font-size:clamp(35px,5vw,64px)}.map{display:block;width:100%;height:420px;border:0}.foot{justify-content:space-between;padding:38px 0;font-size:14px}a:focus-visible,summary:focus-visible{outline:2px solid #078449;outline-offset:4px}@media(max-width:800px){.bar,.foot{flex-wrap:wrap;padding-block:16px;gap:14px}.intro{grid-template-columns:1fr}.hero{padding:40px 0}.numbers strong{font-size:23px}.numbers{font-size:13px}}
.hero{background:#111f27 url('/assets/production-line.webp') 66% center/cover no-repeat;position:relative;color:white;min-height:625px;display:flex;align-items:center}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101927 4%,#101927f5 25%,#101927c9 49%,#10192730 85%)}.hero .wrap{position:relative;display:block}.hero .wrap>div{max-width:680px}.hero h1{font-size:clamp(43px,6vw,84px);line-height:1.03}.hero em,.hero .tag{color:#9debb2}.hero p:not(.tag){font-size:19px;color:#e2e9e9}.hero .btn{background:#9debb2;color:#142a20}.numbers{padding:30px 0}.numbers>div+div{border-left:1px solid #dfe7e2;padding-left:20px}.photo-links{grid-template-columns:repeat(6,1fr);gap:15px}.photo-links a{grid-column:span 2;position:relative;min-height:140px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.photo-links a:nth-child(-n+2){grid-column:span 3;min-height:280px;background:#172b27;color:white}.photo-links img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.photo-links b,.photo-links span{position:relative}.photo-links b{font-size:23px}.photo-links a:nth-child(-n+2) span{color:#a3edb9}.founder{align-items:start;grid-template-columns:minmax(200px,440px) minmax(0,700px)}.founder p{line-height:1.8}.portrait{margin:0}.bar nav a:hover,summary:hover{color:#087843}@media(max-width:800px){.hero{min-height:500px}.hero:before{background:linear-gradient(90deg,#101927ee,#10192795)}.photo-links{grid-template-columns:1fr 1fr}.photo-links a,.photo-links a:nth-child(-n+2){grid-column:auto;min-height:155px}.founder{grid-template-columns:1fr}}@media(max-width:420px){.photo-links{grid-template-columns:1fr}.numbers>div+div{padding-left:8px}}

.hero.hero-line{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(300px,1fr);gap:0;padding:0;min-height:0;background:#101927}
.hero.hero-line::before{display:none}
.hero-line-photo{display:block;width:100%;height:auto;align-self:center}
.hero-line .wrap{width:100%;margin:0;padding:clamp(22px,3vw,58px)}
.hero-line h1{font-size:clamp(34px,3.4vw,64px);line-height:1.08}
@media(max-width:820px){.hero.hero-line{grid-template-columns:1fr}.hero-line .wrap{padding:26px 6% 34px}.hero-line h1{font-size:clamp(32px,6vw,50px)}}

.hero.hero-line{background:#f1f3f4;color:#101927}
.hero-line em,.hero-line .tag{color:#087843}
.hero-line p:not(.tag){color:#35434a}
.hero-line .btn{background:#087843;color:#fff}

@media(min-width:801px){.photo-links{grid-template-columns:repeat(4,1fr)}.photo-links a{grid-column:span 1}.photo-links a:nth-child(-n+2){grid-column:span 2}}

.photo-links a{isolation:isolate;min-height:210px;background:#172b27;color:#fff}
.photo-links img{opacity:1}
.photo-links a::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(0deg,#101927f5,transparent 76%);pointer-events:none}
.photo-links b,.photo-links span{z-index:1}
.photo-links a span{color:#a3edb9}
@media(min-width:801px){.photo-links{grid-template-columns:repeat(6,minmax(0,1fr))}.photo-links a{grid-column:span 2}.photo-links a:nth-child(-n+2){grid-column:span 3}}

.numbers.capabilities{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:26px 0}
.capabilities>div{padding:12px 16px}
.capabilities strong{font-size:clamp(18px,2vw,30px);line-height:1.15;margin-bottom:8px}
.capabilities span{display:block;line-height:1.45}
@media(max-width:820px){.numbers.capabilities{grid-template-columns:repeat(2,minmax(0,1fr))}.numbers.capabilities>div{border-left:0;padding:12px 8px}}

.smd-offer,.smd-why{margin-top:clamp(36px,6vw,76px)}
:is(.smd-detail,.tht-detail) .tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin-top:20px}
:is(.smd-detail,.tht-detail) article h3{margin-top:0}
:is(.smd-detail,.tht-detail) li+li{margin-top:8px}

.banner, .engineering {
  color: #192a24;
  background: linear-gradient(112deg, #f6f7f6 18%, #e8f0eb 100%);
  border-bottom: 1px solid #dce6df;
}
.banner p, .engineering .tag, .engineering a { color: #087843; }

.pcb-block{margin-top:clamp(34px,5vw,64px)}
.pcb-table{margin:24px 0}
.pcb-table table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:clamp(13px,1.1vw,17px)}
.pcb-table caption{text-align:left;font-weight:750;font-size:1.15rem;margin-bottom:8px}
.pcb-table th,.pcb-table td{text-align:left;vertical-align:top;padding:clamp(6px,1vw,14px);border-bottom:1px solid #dce6df;overflow-wrap:anywhere}
.pcb-table thead{background:#e8f0eb;color:#192a24}
.pcb-table tbody tr:nth-child(even){background:#f6f7f6}

.language-menu{position:relative}
.language-menu summary{cursor:pointer}
.language-menu>div{position:absolute;z-index:20;right:0;min-width:145px;background:white;border:1px solid #dce6df;box-shadow:0 8px 24px #192a2420}
.language-menu a{display:block;padding:8px 12px;color:#192a24;text-decoration:none}
.language-menu a:hover,.language-menu a:focus-visible{background:#e8f0eb}
.locale-note{font-size:.9rem;padding-block:8px}

footer {
  background: linear-gradient(112deg, #f6f7f6 18%, #e8f0eb 100%);
  color: #192a24;
  border-top: 1px solid #dce6df;
}
footer a { color: #087843; }

footer .foot{display:grid;grid-template-columns:1fr 1.65fr 1.25fr 1fr;align-items:start;gap:24px}
.foot-brand strong,.foot-contact strong{display:block;margin-bottom:5px}
.foot-brand img{display:block;margin-bottom:8px}
.foot-contact{display:flex;gap:10px;min-width:0;overflow-wrap:anywhere}
.foot-contact svg{width:24px;height:24px;flex:none;color:#087843}
@media(max-width:960px){footer .foot{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){footer .foot{grid-template-columns:minmax(0,1fr)}}

.about-detail .feature{height:auto;max-height:none;object-fit:contain}
.about-statement{padding:20px 24px;background:#e8f0eb;border-left:3px solid #087843;margin:32px 0}
.about-pillars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.about-pillars section{padding:clamp(20px,3vw,40px);background:#f6f7f6}
.about-pillars h2{margin-top:0}
@media(max-width:800px){.about-pillars{grid-template-columns:1fr}}

.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:start}
.contact-layout h2{margin-top:0}
.contact-list{display:grid;gap:24px;margin-top:28px}
.contact-list .foot-contact{gap:14px}
.contact-list svg{width:30px;height:30px}
.contact-map{overflow:hidden;border-radius:8px;background:#e8f0eb}
.contact-map .map{width:100%;height:340px;border:0;display:block}
.contact-map>a{display:inline-block;margin:12px 16px;color:#087843}
.contact-quote{grid-column:1/-1;background:#f6f7f6;padding:24px}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr}}

.sector-heading{margin-top:28px}

.sector-panel { background: #f4f6f5; text-align: center; }
.sector-panel h2 { max-width: 18ch; margin-inline: auto; text-wrap: balance; }
.sector-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .75rem;
  list-style: none;
  padding: 0;
  margin: 1.75rem 0 0;
}
.sector-grid li {
  display: grid;
  grid-template-rows: auto 1fr;
  justify-items: center;
  align-items: center;
  gap: .65rem;
  min-height: 7rem;
  padding: .9rem .6rem;
  border: 1px solid #d6e0da;
  border-radius: .65rem;
  background: #fff;
  font-weight: 700;
  line-height: 1.35;
  color: #126941;
  overflow-wrap: anywhere;
}
.sector-grid svg {
  width: 2.25rem;
  height: 2.25rem;
  fill: none;
  stroke: #008451;
  stroke-width: 1.45;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.sector-note { max-width: 74ch; margin: 2.5rem auto 0; padding-top: 1.5rem; border-top: 1px solid #b9d5c5; }
.sector-note h3 { margin: 0 0 .75rem; }
.sector-note p { margin: 0; }
@media (max-width: 1050px) {
  .sector-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .sector-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
  .sector-grid li { font-size: .9rem; }
}

.stock-page label { display: block; margin-top: 1.5rem; }
.stock-page input[type="search"] { width: min(100%, 34rem); padding: .8rem; margin-top: .4rem; border: 1px solid #a9bcb2; border-radius: .4rem; font: inherit; }
.stock-table { overflow-x: auto; border: 1px solid #d6e0da; border-radius: .5rem; }
.stock-table table { width: 100%; border-collapse: collapse; text-align: left; }
.stock-table th, .stock-table td { padding: .75rem; border-bottom: 1px solid #d6e0da; }
.stock-table th { background: #eff5f1; }
.stock-table td:nth-child(n+3) { white-space: nowrap; }
.stock-table td a { color: #126941; }
#stock-more { margin-top: 1rem; cursor: pointer; }
#stock-more[hidden] { display: none; }

.production-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(14rem, 24%);
  align-items: stretch;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: clamp(2.5rem, 5vw, 5rem);
  border-bottom: 1px solid #d6e0da;
}
.production-flow h2 { margin: .35rem 0 1.5rem; }
.production-flow ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; padding: 0; margin: 0; }
.production-flow li { position: relative; border-top: 2px solid #c6ddd0; padding: 1.25rem 1rem 0 0; }
.production-flow li::before { content: ""; position: absolute; inset: -.375rem auto auto 0; width: .625rem; height: .625rem; border-radius: 50%; background: #08734a; }
.production-flow li p { margin: .4rem 0 0; font-size: .94rem; }
.production-capacity { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 1.5rem; background: #eaf5ee; border-radius: .75rem; color: #125439; }
.production-capacity strong { font-size: clamp(2rem, 3.1vw, 3.6rem); line-height: 1.2; white-space: nowrap; margin: .35rem 0; }
@media (max-width: 850px) {
  .production-flow { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
  .production-flow ol { grid-template-columns: 1fr; }
  .production-flow li { border-top: 0; border-inline-start: 2px solid #c6ddd0; padding: 0 0 1rem 1rem; }
  .production-flow li::before { inset: .35rem auto auto -.375rem; }
}

.menu-toggle { display: none; }
nav a[aria-current="page"], nav .current-section > summary { color: #087843; text-decoration: underline; text-underline-offset: .35rem; }
button:focus-visible, input:focus-visible { outline: 2px solid #078449; outline-offset: 3px; }
@media (max-width: 1050px) {
  header .bar { flex-wrap: wrap; gap: .75rem; padding-block: .75rem; }
  .menu-toggle { display: block; margin-inline-start: auto; background: #eff5f1; color: #125439; border: 1px solid #c6ddd0; border-radius: .35rem; padding: .6rem .9rem; font: inherit; cursor: pointer; }
  header .bar nav { order: 4; width: 100%; flex-direction: column; align-items: stretch; gap: 0; }
  header .menu-toggle[aria-expanded="false"] ~ nav { display: none; }
  header nav > a, header nav > details > summary { display: block; padding: .65rem .4rem; border-top: 1px solid #e7ece9; }
  header nav details div { position: static; box-shadow: none; background: #f4f7f5; width: 100%; }
  header .language-menu > div { right: 0; min-width: 150px; }
  header .bar > a:first-child img { width: 145px; }
}

footer .foot { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
footer .foot-brand { grid-column: 1 / -1; justify-self: center; text-align: center; max-width: 100%; }
footer .foot-brand img { width: 150px; margin: 0 auto 12px; }
footer .foot-brand strong { white-space: nowrap; font-size: clamp(9px, 2.35vw, 14px); margin: 0; }
.stock-search-panel { margin: 1.75rem 0 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #bed6c8; border-top: 4px solid #087843; border-radius: .75rem; background: #eef6f1; box-shadow: 0 6px 20px #14543709; }
.stock-page .stock-search-panel label { margin: 0; font-size: clamp(1.2rem, 2vw, 1.5rem); color: #125439; }
.stock-search-help { margin: .35rem 0 1rem; color: #42594c; }
.stock-search-controls { display: flex; align-items: stretch; gap: .75rem; }
.stock-search-field { position: relative; flex: 1; min-width: 0; }
.stock-search-field svg { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 1.35rem; height: 1.35rem; fill: none; stroke: #087843; stroke-width: 1.8; pointer-events: none; }
.stock-page .stock-search-field input[type="search"] { margin: 0; width: 100%; max-width: none; min-height: 60px; padding: .85rem 1rem .85rem 3rem; background: #fff; font-size: 1.1rem; }
#stock-search-submit { margin: 0; border: 0; border-radius: .4rem; min-height: 60px; font: inherit; font-weight: 700; cursor: pointer; padding-inline: 1.75rem; }
#stock-search-submit:hover { background: #075d35; }
#stock-search-submit:disabled { opacity: .65; cursor: wait; }
@media (max-width: 700px) {
  footer .foot { grid-template-columns: minmax(0, 1fr); }
  .stock-search-controls { flex-direction: column; }
}

footer .foot {
  grid-template-columns: minmax(0, 440px) max-content max-content;
  justify-content: center;
  column-gap: clamp(32px, 5vw, 80px);
}
footer .foot > .foot-contact { max-width: 440px; }
@media (max-width: 1000px) {
  footer .foot { grid-template-columns: minmax(0, 440px); justify-content: center; }
  footer .foot > .foot-contact { width: 100%; }
}

footer .copyright {
  border-top: 1px solid #d6e0da;
  padding: 16px 5%;
  text-align: center;
  color: #4c6056;
  line-height: 1.6;
}
footer .copyright small { font-size: 12px; }

.inquiry-form { max-width: 720px; display: grid; gap: .6rem; }
.inquiry-form label { font-weight: 650; margin-top: .5rem; }
.inquiry-form input:not([type="checkbox"]):not([type="hidden"]), .inquiry-form textarea { font: inherit; width: 100%; padding: .8rem; border: 1px solid #b9cec2; border-radius: .4rem; background: #fff; color: #172a20; }
.inquiry-form textarea { resize: vertical; }
.inquiry-form .btn { border: 0; font: inherit; font-weight: 700; cursor: pointer; justify-self: start; }
.inquiry-form .btn:disabled { opacity: .6; cursor: wait; }
.form-consent { display: flex; align-items: flex-start; gap: .6rem; font-size: .9rem; }
.form-consent input { margin-top: .35rem; flex: none; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { overflow-wrap: anywhere; }

@media (min-width: 801px) {
  .links.photo-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .links.photo-links a, .links.photo-links a:nth-child(-n+2) { grid-column: auto; min-height: 245px; }
}
.photo-links a:hover img { transform: scale(1.025); }
.photo-links img { transition: transform 180ms ease; }
.skip-link { position: fixed; left: 1rem; top: -100px; z-index: 100; padding: .75rem 1rem; background: #fff; color: #075d35; border: 2px solid #075d35; border-radius: .35rem; }
.skip-link:focus { top: 1rem; }
.pcb-table { overflow-x: auto; }
@media (max-width: 600px) {
  .pcb-table table { min-width: 520px; }
  .production-capacity strong { font-size: clamp(1.8rem, 9vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .photo-links img { transition: none; }
}

.stock-cards { display: none; }
@media (max-width: 700px) {
  .stock-page > .stock-table { display: none; }
  .stock-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .stock-card { min-width: 0; padding: 1.1rem; border: 1px solid #cbded2; border-radius: .65rem; background: #fff; overflow-wrap: anywhere; }
  .stock-card h2 { margin: 0 0 1rem; font-size: 1.08rem; font-weight: 750; line-height: 1.5; letter-spacing: normal; color: #125439; }
  .stock-card dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 0; }
  .stock-card dl > div { min-width: 0; }
  .stock-card dl > div:first-child { grid-column: 1 / -1; padding-bottom: .6rem; border-bottom: 1px solid #e3ebe6; }
  .stock-card dt { font-size: .8rem; line-height: 1.5; color: #4c6056; }
  .stock-card dd { margin: .2rem 0 0; font-size: 1rem; font-weight: 650; color: #172a20; }
  .stock-card .btn { display: block; width: 100%; text-align: center; border-radius: .35rem; padding: .75rem; }
}

.email-choice { width: min(540px, calc(100% - 28px)); max-height: 90dvh; overflow-y: auto; padding: clamp(20px, 4vw, 32px); border: 1px solid #b9cec2; border-radius: 12px; color: #172a20; background: #fff; box-shadow: 0 16px 60px #10291c40; }
.email-choice::backdrop { background: #10291c88; }
.email-choice h2 { font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.3; letter-spacing: -.02em; }
.email-recipient { overflow-wrap: anywhere; color: #125439; }
.email-options { display: grid; gap: .65rem; margin-bottom: 1.25rem; }
.email-options .btn { margin: 0; border-radius: 5px; text-align: center; padding: .75rem; }
.email-choice label { display: block; font-weight: 650; margin-bottom: .4rem; }
.email-choice textarea { width: 100%; padding: .7rem; font: inherit; font-size: .85rem; border: 1px solid #c6d5cc; border-radius: 5px; color: inherit; resize: vertical; }
.email-dialog-controls { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; margin-top: .75rem; }
.email-dialog-controls button { font: inherit; color: #125439; border: 1px solid #b9cec2; border-radius: 5px; background: #f2f6f3; padding: .5rem .8rem; cursor: pointer; }
