@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#202824; --muted:#68716b; --green:#087442; --line:#dce3dd; --paper:#fff; --soft:#f3f6f3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#e9ede9; color:var(--ink); font-family:'DM Sans',Arial,sans-serif; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
img { display:block; max-width:100%; }
.site-shell { width:calc(100% - 32px); margin:16px auto; background:var(--paper); box-shadow:0 8px 42px rgba(26,48,34,.06); }
.site-header { position:relative; z-index:50; min-height:86px; padding:12px clamp(24px,4vw,76px); display:flex; align-items:center; justify-content:space-between; gap:32px; background:#fff; }
.brand { flex:none; display:block; width:156px; height:56px; overflow:hidden; }
.brand img { width:100%; height:100%; object-fit:contain; transform:scale(1.17); }
.main-nav { display:flex; align-items:center; gap:clamp(22px,3vw,55px); }
.main-nav a { font-size:14px; font-weight:700; letter-spacing:.025em; white-space:nowrap; transition:color .2s; }
.main-nav a:hover, .main-nav .active { color:var(--green); }
.main-nav .active::after { content:''; display:block; width:100%; height:2px; margin-top:6px; background:var(--green); }
.nav-toggle { display:none; width:44px; height:44px; padding:10px; border:0; background:transparent; cursor:pointer; }
.nav-toggle span { display:block; width:24px; height:2px; margin:5px auto; background:var(--ink); transition:transform .22s,opacity .18s; }
.hero { position:relative; min-height:0; aspect-ratio:16 / 9; display:flex; align-items:center; justify-content:center; padding:0 24px; overflow:hidden; color:#fff; text-align:center; background:#163d32; }
.hero::after { content:''; position:absolute; z-index:1; inset:0; background:transparent; pointer-events:none; }
.hero-slides,.hero-slide { position:absolute; inset:0; }
.hero-slides { z-index:0; }
.hero-slide { background-image:var(--hero-image); background-position:center; background-size:cover; background-repeat:no-repeat; opacity:0; transform:none; transition:opacity .8s ease; }
.hero-slide.is-active { opacity:1; }
.hero-content { position:relative; z-index:2; max-width:960px; text-shadow:0 2px 18px rgba(0,0,0,.42); }
.eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--green); font-size:11px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.hero-eyebrow { color:#cdebd7; }
.eyebrow-line { width:27px; height:1px; background:currentColor; }
h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { font-family:Manrope,Arial,sans-serif; }
.hero h1 { margin:20px 0 18px; font-size:clamp(44px,6.7vw,106px); font-weight:700; line-height:1.08; letter-spacing:-.055em; text-wrap:balance; }
.hero p { margin:0 auto 34px; font-size:clamp(16px,1.55vw,22px); font-weight:500; color:#f0f5f0; }
.hero-link { display:inline-flex; align-items:center; gap:34px; border:1px solid rgba(255,255,255,.8); padding:15px 19px 15px 24px; font-size:13px; font-weight:700; transition:background .2s,color .2s; }
.hero-discover { position:absolute; z-index:2; left:50%; bottom:48px; transform:translateX(-50%); }
.hero-link:hover { background:#fff; color:var(--green); }
.hero-link span { font-size:20px; line-height:1; }
.hero-controls { display:none; }
.hero-index { display:none; }
.hero-arrow { display:none; }
.hero-dots { position:absolute; z-index:2; bottom:30px; left:50%; display:flex; gap:9px; transform:translateX(-50%); }
.hero-dot { width:28px; height:3px; padding:0; border:0; background:rgba(255,255,255,.45); cursor:pointer; transition:width .25s,background .25s; }
.hero-dot.is-active { width:52px; background:#71eed1; }
.section-pad { padding:clamp(80px,8vw,132px) clamp(24px,5vw,92px); }
.applications { background:#f3f5f5; }
.applications .section-heading { max-width:880px; margin:0 auto 42px; }
.applications .section-heading h2 { margin-bottom:16px; }
.application-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
.application-card { position:relative; display:flex; align-items:flex-end; min-width:0; min-height:clamp(330px,27vw,470px); overflow:hidden; isolation:isolate; color:#fff; background-image:url('./image/application-scenes-v1.png'); background-repeat:no-repeat; }
.application-card::after { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(0,0,0,.66)); }
.application-card-remote { background-size:540.3% 100%; background-position:0% center; }
.application-card-light { background-size:721.6% 100%; background-position:21.5% center; }
.application-card-security { background-size:672.4% 100%; background-position:38% center; }
.application-card-appliance { background-size:948.5% 100%; background-position:52.8% center; }
.application-card-access { background-size:466.1% 100%; background-position:73.5% center; }
.application-card-toys { background-size:481.6% 100%; background-position:100% center; }
.application-copy { display:block; width:100%; padding:26px 16px 22px; text-align:center; }
.application-copy h3.application-en { margin:0; font-family:'DM Sans',Arial,sans-serif; font-size:clamp(15px,1.05vw,19px); font-weight:700; line-height:1.3; letter-spacing:.06em; text-transform:uppercase; }
@media(max-width:1150px) { .application-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .application-card { min-height:370px; } }
@media(max-width:700px) { .applications { padding:70px 0 70px 22px; } .applications .section-heading { margin-right:22px; padding-right:22px; } .application-grid { display:flex; gap:12px; overflow-x:auto; padding:0 22px 15px 0; scroll-snap-type:x mandatory; scrollbar-width:thin; } .application-card { flex:0 0 min(67vw,280px); min-height:365px; scroll-snap-align:start; } }
.about { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(40px,6vw,110px); align-items:center; }
.about h2,.section-heading h2 { margin:18px 0 30px; font-size:clamp(39px,4.2vw,65px); letter-spacing:-.052em; line-height:1.12; }
h2 em { color:var(--green); font-style:normal; }
.about-copy > p { max-width:680px; color:#59635c; font-size:clamp(14px,1.1vw,17px); line-height:1.85; margin-bottom:16px; }
.about-facts { display:flex; flex-wrap:wrap; gap:20px 40px; margin-top:35px; padding-top:26px; border-top:1px solid var(--line); }
.about-facts div { min-width:130px; display:flex; flex-direction:column; gap:3px; }
.about-facts strong { font-family:Manrope,Arial,sans-serif; color:var(--green); font-size:clamp(25px,2.5vw,39px); letter-spacing:-.04em; }
.fact-unit { font-size:.55em; }
.about-facts span:not(.fact-unit) { color:#7c867f; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.about-image { position:relative; margin:0; }
.about-image::before { content:''; position:absolute; top:-20px; right:-20px; width:46%; height:48%; border:1px solid #c4d8c7; z-index:0; }
.about-image img { position:relative; width:100%; height:clamp(460px,42vw,650px); object-fit:cover; object-position:51% center; }
.about-image figcaption { position:absolute; bottom:0; left:0; padding:14px 21px; background:#fff; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.15em; }
.products { background:var(--soft); }
.section-heading.centered { text-align:center; }
.section-heading h2 { margin-bottom:14px; }
.section-heading p { color:#727b74; font-size:16px; }
.product-filter { display:flex; align-items:stretch; margin:53px 0 30px; border:1px solid #bdc9c0; background:#fff; }
.product-filter button { flex:1; min-height:72px; border:0; border-right:1px solid #e1e8e2; background:#fff; color:#3c4640; font-size:14px; font-weight:700; cursor:pointer; transition:background .2s,color .2s; }
.product-filter button:last-child { border-right:0; }
.product-filter button:hover { color:var(--green); background:#f6faf7; }
.product-filter button.selected,.product-filter button.selected:hover { color:#fff; background:var(--ink); }
.product-filter button span { margin-left:10px; font-size:19px; vertical-align:-1px; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.product-card { min-width:0; overflow:hidden; background:#fff; border:1px solid #e1e7e1; transition:transform .25s,box-shadow .25s,border-color .25s; }
.product-card-link { display:flex; height:100%; flex-direction:column; color:inherit; outline-offset:-3px; }
.product-card:hover,.product-card:focus-within { transform:translateY(-6px); border-color:#a9c3b0; box-shadow:0 18px 38px rgba(24,48,33,.13); }
.product-card[hidden] { display:none; }
.product-image { display:flex; align-items:center; justify-content:center; height:clamp(230px,24vw,400px); overflow:hidden; padding:25px; background:#fff; }
.product-image img { width:100%; height:100%; object-fit:contain; transition:transform .35s ease; }
.product-card:hover .product-image img,.product-card:focus-within .product-image img { transform:scale(1.045); }
.product-details { display:flex; flex:1; flex-direction:column; align-items:flex-start; border-top:1px solid #edf0ed; padding:21px 22px 24px; }
.product-details > span,.news-feature-copy > span:first-child,.news-type { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.14em; }
.product-details h3 { margin:9px 0 7px; font-size:17px; letter-spacing:-.025em; }
.product-details p { margin:0; color:#7a847d; font-size:12px; line-height:1.6; }
.product-details .product-view { display:inline-flex; align-items:center; gap:30px; margin-top:20px; padding:10px 13px; border:1px solid #ccd7cf; color:#344039; font-size:11px; font-weight:800; letter-spacing:.05em; transition:color .2s,background .2s,border-color .2s; }
.product-details .product-view b { color:var(--green); font-size:16px; line-height:1; transition:color .2s,transform .2s; }
.product-card:hover .product-view,.product-card:focus-within .product-view { border-color:var(--green); color:#fff; background:var(--green); }
.product-card:hover .product-view b,.product-card:focus-within .product-view b { color:#fff; transform:translate(2px,-2px); }
.news-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,88px); max-width:1450px; margin:58px auto 0; }
.news-feature { display:block; border:1px solid #e4e9e5; transition:box-shadow .2s; }
.news-feature:hover { box-shadow:0 18px 40px rgba(24,48,33,.08); }
.news-visual { display:flex; align-items:center; justify-content:center; height:clamp(260px,31vw,430px); background:#f2f5f2; overflow:hidden; }
.news-visual span { color:#171e19; font-family:Arial,sans-serif; font-size:clamp(130px,19vw,290px); font-weight:700; letter-spacing:-.12em; line-height:1; transform:translateX(-.08em); }
.news-feature-copy { padding:24px 28px 29px; }
.news-feature-copy h3 { margin:10px 0 8px; font-size:25px; letter-spacing:-.035em; }
.news-feature-copy p { margin:0 0 23px; color:#737e76; font-size:14px; }
.text-arrow { color:var(--green); font-size:13px; font-weight:800; }
.news-side { display:flex; flex-direction:column; }
.news-intro { border-top:2px solid var(--green); padding:24px 0 33px; }
.news-intro p { max-width:470px; margin:12px 0 0; font-family:Manrope,Arial,sans-serif; font-size:clamp(23px,2.3vw,34px); font-weight:600; line-height:1.35; letter-spacing:-.03em; }
.news-item { display:grid; grid-template-columns:80px 1fr 22px; gap:25px; align-items:start; padding:25px 0 32px; border-top:1px solid var(--line); }
.news-item time { display:flex; flex-direction:column; align-items:flex-start; font-family:Manrope,Arial,sans-serif; }
.news-item time strong { font-size:59px; line-height:1; letter-spacing:-.07em; }
.news-item time span { margin-top:7px; color:#919a93; font-size:11px; font-weight:700; letter-spacing:.08em; }
.news-item h3 { margin:9px 0 8px; font-size:21px; }
.news-item p { color:#7a847d; font-size:13px; line-height:1.7; }
.item-arrow { color:var(--green); font-size:21px; }
.news-all { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:13px; font-weight:800; }
.news-all span { color:var(--green); font-size:21px; }
.home-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; max-width:1450px; margin:52px auto 0; }
.home-news-card { min-width:0; border:1px solid #e0e7e1; background:#fff; transition:transform .25s,box-shadow .25s; }
.home-news-card:hover { transform:translateY(-4px); box-shadow:0 17px 38px rgba(24,48,33,.09); }
.home-news-image { display:block; height:clamp(230px,24vw,370px); overflow:hidden; background:#f4f7f4; }
.home-news-image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.home-news-card:hover .home-news-image img { transform:scale(1.025); }
.home-news-copy { padding:23px 25px 27px; }
.home-news-copy time { color:#8a948d; font-size:11px; font-weight:700; letter-spacing:.08em; }
.home-news-copy h3 { margin:11px 0 10px; font-size:clamp(18px,1.7vw,24px); line-height:1.35; letter-spacing:-.03em; }
.home-news-copy h3 a:hover { color:var(--green); }
.home-news-copy p { min-height:48px; margin:0 0 21px; color:#727c75; font-size:13px; line-height:1.7; }
.home-news-link { display:inline-flex; align-items:center; gap:13px; color:var(--green); font-size:12px; font-weight:800; }
.home-news-link span { font-size:18px; }
.home-news-all { display:flex; align-items:center; justify-content:space-between; width:190px; margin:34px auto 0; padding:15px 18px; border:1px solid #cdd7cf; font-size:12px; font-weight:800; }
.home-news-all:hover { color:#fff; border-color:var(--green); background:var(--green); }
.home-news-all span { font-size:18px; }
.home-inquiry { display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); gap:clamp(55px,7vw,110px); padding:clamp(75px,8vw,125px) clamp(24px,6vw,110px); color:#fff; background:var(--ink); }
.home-inquiry-info { align-self:center; }
.home-inquiry-eyebrow { color:#80c79a; }
.home-inquiry-info h2 { max-width:620px; margin:17px 0 20px; font-family:Manrope,Arial,sans-serif; font-size:clamp(40px,5vw,72px); line-height:1.08; letter-spacing:-.055em; }
.home-inquiry-info h2 em { color:#72be8d; font-style:normal; }
.home-inquiry-intro { max-width:640px; margin:0; color:#b5c0b8; font-size:15px; line-height:1.85; }
.home-inquiry-contacts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin-top:42px; font-style:normal; }
.home-inquiry-contacts > div { min-width:0; padding:19px 0; border-top:1px solid rgba(255,255,255,.15); }
.home-inquiry-contacts span { display:block; margin-bottom:8px; color:#78bd91; font-size:9px; font-weight:800; letter-spacing:.17em; }
.home-inquiry-contacts a,.home-inquiry-contacts p { margin:0; color:#f5f8f6; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.home-inquiry-contacts a:hover { color:#80c79a; }
.home-inquiry-contacts a b { margin-left:5px; color:#80c79a; font-size:15px; }
.home-inquiry-contacts .home-inquiry-address { grid-column:1 / -1; }
.home-inquiry-reply { margin:24px 0 0; color:#9faaa2; font-size:12px; }
.home-inquiry-reply strong { color:#fff; }
.home-inquiry-form-card { align-self:center; padding:clamp(30px,4vw,52px); color:var(--ink); background:#fff; box-shadow:0 25px 70px rgba(0,0,0,.18); }
.home-inquiry-form-card h3 { margin:11px 0 25px; font-family:Manrope,Arial,sans-serif; font-size:clamp(27px,3vw,40px); letter-spacing:-.04em; }
.home-inquiry-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.home-inquiry-fields label { display:flex; flex-direction:column; gap:8px; padding-top:18px; }
.home-inquiry-fields label > span { color:#465149; font-size:12px; font-weight:700; }
.home-inquiry-fields label b { color:#a73e38; }
.home-inquiry-fields input,.home-inquiry-fields select,.home-inquiry-fields textarea { width:100%; border:0; border-bottom:1px solid #cfd8d1; border-radius:0; padding:5px 0 11px; outline:0; color:var(--ink); background:#fff; font:inherit; font-size:14px; transition:border-color .2s; }
.home-inquiry-fields select { cursor:pointer; }
.home-inquiry-fields textarea { min-height:105px; resize:vertical; line-height:1.55; }
.home-inquiry-fields input:focus,.home-inquiry-fields select:focus,.home-inquiry-fields textarea:focus { border-color:var(--green); }
.home-inquiry-message { grid-column:1 / -1; }
.home-inquiry-submit { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:27px; padding-top:23px; border-top:1px solid #dce3dd; }
.home-inquiry-submit p { max-width:300px; margin:0; color:#7b857e; font-size:11px; line-height:1.55; }
.home-inquiry-submit button { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; min-width:190px; border:0; padding:15px 18px; color:#fff; background:var(--green); font-weight:800; cursor:pointer; transition:background .2s,transform .2s; }
.home-inquiry-submit button:hover { background:#075f38; transform:translateY(-2px); }
.home-inquiry-submit button span { font-size:18px; }
.home-inquiry-status { min-height:20px; margin:13px 0 0; color:var(--green); font-size:12px; }
.site-footer { display:flex; justify-content:space-between; gap:20px; padding:30px clamp(24px,5vw,92px); background:#1e2922; color:#c6d2c9; font-size:12px; }
.site-footer a:hover { color:#fff; }
.site-footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 28px; }
.privacy-consent { display:flex; align-items:flex-start; gap:10px; margin-top:20px; color:#68736b; font-size:12px; line-height:1.55; cursor:pointer; }
.privacy-consent input { flex:0 0 auto; width:16px; height:16px; margin:2px 0 0; accent-color:var(--green); }
.privacy-consent span { display:block; }
.privacy-consent a { color:var(--green); font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.privacy-consent a:hover { color:#075f38; }
.privacy-main { min-height:70vh; background:#fff; }
.privacy-heading { padding:clamp(65px,8vw,120px) clamp(24px,8vw,150px) clamp(45px,6vw,85px); border-bottom:1px solid var(--line); background:#f6f8f6; }
.privacy-heading h1 { margin:17px 0 16px; font-family:Manrope,Arial,sans-serif; font-size:clamp(44px,6vw,80px); line-height:1.05; letter-spacing:-.055em; }
.privacy-heading h1 em { color:var(--green); font-style:normal; }
.privacy-heading > p { margin:0; color:#77817a; font-size:13px; }
.privacy-content { max-width:1080px; margin:0 auto; padding:clamp(55px,7vw,100px) 24px clamp(75px,9vw,130px); }
.privacy-content section { display:grid; grid-template-columns:minmax(210px,.34fr) minmax(0,1fr); gap:clamp(28px,5vw,78px); padding:35px 0; border-bottom:1px solid var(--line); }
.privacy-content section:first-child { padding-top:0; }
.privacy-content h2 { margin:0; font-family:Manrope,Arial,sans-serif; font-size:21px; line-height:1.35; letter-spacing:-.025em; }
.privacy-content p,.privacy-content ul { grid-column:2; margin:0; color:#606b63; font-size:14px; line-height:1.85; }
.privacy-content p + p { margin-top:13px; }
.privacy-content ul { display:grid; gap:9px; padding-left:20px; }
.privacy-content a { color:var(--green); font-weight:700; }
.privacy-content a:hover { text-decoration:underline; }
.privacy-contact { border-bottom:0!important; }
.blank-main { min-height:calc(100svh - 170px); background:#fff; }

/* Contact */
.contact-main { background:#fff; }
.contact-hero { position:relative; min-height:430px; display:flex; align-items:center; padding:70px clamp(24px,7vw,125px); overflow:hidden; color:#fff; background:linear-gradient(90deg,rgba(8,31,21,.84),rgba(8,31,21,.37)),url('./image/3.png') center 48%/cover no-repeat; }
.contact-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(7,27,19,.28),transparent 50%); }
.contact-hero-content { position:relative; z-index:1; max-width:780px; }
.contact-hero-eyebrow { color:#cdebd7; }
.contact-hero h1 { margin:16px 0 15px; font-family:Manrope,Arial,sans-serif; font-size:clamp(52px,6vw,92px); line-height:1.05; letter-spacing:-.055em; }
.contact-hero h1 em { color:#bde5ca; font-style:normal; }
.contact-hero p { max-width:640px; margin:0; color:#eef5ef; font-size:clamp(16px,1.4vw,20px); line-height:1.7; }
.contact-intro { display:grid; grid-template-columns:minmax(0,.95fr) minmax(460px,1.05fr); gap:clamp(50px,7vw,110px); padding:clamp(75px,8vw,125px) clamp(24px,5vw,92px); }
.contact-details h2,.contact-markets h2 { margin:16px 0 23px; font-family:Manrope,Arial,sans-serif; font-size:clamp(38px,4.3vw,64px); line-height:1.13; letter-spacing:-.052em; }
.contact-details h2 em,.contact-markets h2 em { color:var(--green); font-style:normal; }
.contact-details > p { max-width:670px; color:#626d65; font-size:15px; line-height:1.85; }
.contact-list { display:grid; gap:0; margin:35px 0 0; border-top:1px solid var(--line); font-style:normal; }
.contact-list > div { display:grid; grid-template-columns:115px 1fr; gap:20px; align-items:start; padding:17px 0; border-bottom:1px solid var(--line); }
.contact-list span { color:#89938c; font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.contact-list strong,.contact-list a,.contact-list p { margin:0; color:#364139; font-size:14px; font-weight:600; line-height:1.65; }
.contact-list a:hover { color:var(--green); }
.contact-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-top:26px; }
.contact-facts div { display:flex; flex-direction:column; gap:3px; padding:15px 0 15px 15px; border-left:2px solid var(--green); }
.contact-facts strong { font-family:Manrope,Arial,sans-serif; color:var(--green); font-size:26px; letter-spacing:-.04em; }
.contact-facts strong small { font-size:.55em; }
.contact-facts span { color:#7f8982; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-form-card { align-self:start; padding:clamp(30px,3.5vw,52px); border:1px solid #dfe6e0; border-bottom:4px solid var(--green); box-shadow:0 22px 60px rgba(23,50,34,.1); }
.contact-form-card h2 { margin:12px 0 9px; font-family:Manrope,Arial,sans-serif; font-size:clamp(28px,3vw,42px); letter-spacing:-.04em; }
.contact-form-card > p { margin:0 0 13px; color:#7a847d; font-size:14px; line-height:1.7; }
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.contact-form-grid label { display:flex; flex-direction:column; gap:8px; padding-top:23px; }
.contact-form-grid label > span { color:#414c44; font-size:13px; font-weight:700; }
.contact-form-grid label b { color:#b13c36; }
.contact-form-grid input,.contact-form-grid textarea { width:100%; border:0; border-bottom:1px solid #cdd6cf; border-radius:0; padding:4px 0 11px; outline:0; color:var(--ink); background:#fff; font:inherit; font-size:15px; transition:border-color .2s; }
.contact-form-grid input:focus,.contact-form-grid textarea:focus { border-color:var(--green); }
.contact-form-grid textarea { min-height:115px; resize:vertical; line-height:1.55; }
.contact-form-wide { grid-column:1 / -1; }
.contact-submit-row { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:27px; padding-top:22px; border-top:1px solid var(--line); }
.contact-submit-row p { max-width:320px; margin:0; color:#808a83; font-size:12px; line-height:1.55; }
.contact-submit-row button { flex:none; min-width:170px; border:0; padding:15px 22px; color:#fff; background:var(--green); font-weight:800; cursor:pointer; }
.contact-submit-row button:hover { background:#075f38; }
.contact-form-status { min-height:19px; margin:12px 0 0; color:var(--green); font-size:13px; }
.contact-advantages { padding:clamp(70px,7vw,105px) clamp(24px,5vw,92px); color:#fff; background:#1e2922; }
.contact-section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:43px; }
.contact-light-eyebrow { color:#a8dcbc; }
.contact-section-heading h2 { max-width:650px; margin:0; font-family:Manrope,Arial,sans-serif; font-size:clamp(35px,4vw,58px); letter-spacing:-.05em; }
.advantage-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(255,255,255,.2); }
.advantage-grid article { min-width:0; padding:28px 20px 5px; border-right:1px solid rgba(255,255,255,.14); }
.advantage-grid article:first-child { padding-left:0; }
.advantage-grid article:last-child { border-right:0; }
.advantage-grid article > span { color:#77c291; font-family:Manrope,Arial,sans-serif; font-size:12px; font-weight:800; }
.advantage-grid h3 { margin:24px 0 10px; font-size:17px; line-height:1.35; }
.advantage-grid p { margin:0; color:#aebbb2; font-size:13px; line-height:1.7; }
.contact-markets { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(45px,8vw,130px); padding:clamp(75px,8vw,125px) clamp(24px,5vw,92px); background:#f4f7f4; }
.contact-market-copy p { max-width:550px; margin:0; color:#68736b; font-size:15px; line-height:1.8; }
.market-regions { display:grid; grid-template-columns:1fr 1fr; align-content:start; border-top:2px solid var(--green); }
.market-regions div { min-width:0; padding:23px 19px 23px 0; border-bottom:1px solid #d5ddd7; }
.market-regions div:nth-child(even) { padding-left:22px; border-left:1px solid #d5ddd7; }
.market-regions strong,.market-regions span { display:block; }
.market-regions strong { margin-bottom:7px; font-family:Manrope,Arial,sans-serif; font-size:16px; }
.market-regions span { color:#7a847d; font-size:12px; line-height:1.65; }
.contact-location { padding:clamp(70px,7vw,105px) clamp(24px,5vw,92px); background:#fff; }
.location-bar { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.location-bar h2 { margin:12px 0 0; font-family:Manrope,Arial,sans-serif; font-size:clamp(34px,4vw,55px); letter-spacing:-.05em; }
.location-bar > a { display:inline-flex; align-items:center; gap:22px; border:1px solid #cbd5cd; padding:13px 17px; color:#364139; font-size:12px; font-weight:800; }
.location-bar > a:hover { color:#fff; border-color:var(--green); background:var(--green); }
.contact-map { position:relative; margin:0; min-height:420px; overflow:hidden; background:linear-gradient(135deg,#e8eee9,#dfe7e1); }
.contact-map img { width:100%; height:460px; object-fit:cover; }
.contact-map figcaption { position:absolute; left:20px; bottom:20px; max-width:calc(100% - 40px); padding:13px 16px; color:#fff; background:rgba(21,38,28,.88); font-size:12px; font-weight:700; }
.contact-map figcaption span { margin-left:12px; color:#b9c7bd; font-weight:400; }

/* Product catalogue */
.catalog-main,.detail-main { background:#fff; }
.catalog-heading { max-width:900px; margin:0 auto; padding:clamp(72px,8vw,125px) 24px 58px; text-align:center; }
.catalog-heading h1,.detail-summary h1 { margin:17px 0 18px; font-family:Manrope,Arial,sans-serif; font-size:clamp(42px,5vw,76px); line-height:1.08; letter-spacing:-.055em; }
.catalog-heading h1 em,.detail-section-head h2 em { color:var(--green); font-style:normal; }
.catalog-heading p { max-width:660px; margin:0 auto; color:#6f7972; font-size:16px; line-height:1.7; }
.catalog-body { display:grid; grid-template-columns:minmax(220px,270px) minmax(0,1fr); gap:clamp(25px,3vw,48px); padding:45px clamp(24px,5vw,92px) clamp(80px,8vw,130px); background:#f7f9f7; }
.catalog-sidebar { align-self:start; position:sticky; top:20px; min-width:0; padding:22px; background:#087442; }
.catalog-sidebar-title { margin:0; padding:0 0 16px; border-bottom:1px solid rgba(255,255,255,.2); color:#d8eee0; font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.catalog-categories { display:grid; grid-template-columns:1fr; }
.catalog-category { position:relative; display:grid; grid-template-columns:56px minmax(0,1fr); align-items:center; gap:15px; min-width:0; min-height:86px; padding:14px 8px; border:0; border-bottom:1px solid rgba(255,255,255,.17); color:#fff; text-align:left; background:transparent; cursor:pointer; transition:background .2s,padding .2s; }
.catalog-category:last-child { border-bottom:0; }
.catalog-category:hover,.catalog-category.active { padding-left:14px; background:#075f38; }
.catalog-category.active::after { content:''; position:absolute; top:0; right:-22px; bottom:0; width:4px; background:#bde5ca; }
.category-type-icon,.category-all-icon { width:56px; height:56px; border:1px solid rgba(255,255,255,.5); border-radius:50%; color:#fff; background:rgba(0,52,37,.16); }
.category-type-icon { display:grid; place-items:center; }
.category-type-icon svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.catalog-category > span:last-child { font-family:Manrope,Arial,sans-serif; font-size:14px; font-weight:700; }
.category-all-icon { display:grid; grid-template-columns:repeat(2,7px); grid-template-rows:repeat(2,7px); place-content:center; gap:4px; border:1px solid rgba(255,255,255,.5); background:transparent; }
.category-all-icon i { display:block; border:1px solid #fff; }
.catalog-results { min-width:0; }
.catalog-result-head { display:flex; align-items:center; justify-content:flex-end; margin-bottom:24px; padding-bottom:17px; border-bottom:1px solid #dce3dd; color:#7b857e; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.catalog-card { min-width:0; background:#fff; border:1px solid #e0e7e1; transition:transform .25s,box-shadow .25s; }
.catalog-card:hover { transform:translateY(-4px); box-shadow:0 18px 42px rgba(23,51,34,.10); }
.catalog-card-image { display:block; height:clamp(270px,29vw,440px); padding:18px; overflow:hidden; background:#fff; }
.catalog-card-image img { width:100%; height:100%; object-fit:contain; transition:transform .35s; }
.catalog-card:hover .catalog-card-image img { transform:scale(1.025); }
.catalog-card-copy { min-height:137px; padding:22px 24px 25px; border-top:1px solid #e9eeea; }
.catalog-card-copy > span { color:var(--green); font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.catalog-card-copy h2 { margin:10px 0 7px; font-size:18px; line-height:1.35; letter-spacing:-.02em; }
.catalog-card-copy h2 a:hover { color:var(--green); }
.catalog-card-copy p { margin:0; color:#858e88; font-size:12px; }

/* Product details */
.detail-breadcrumb { display:flex; align-items:center; gap:11px; padding:27px clamp(24px,5vw,92px); border-top:1px solid #eef1ee; border-bottom:1px solid #e5eae6; color:#7d8780; font-size:12px; }
.detail-breadcrumb a:hover { color:var(--green); }
.product-overview { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); gap:clamp(45px,7vw,110px); padding:clamp(52px,7vw,100px) clamp(24px,5vw,92px); }
.detail-gallery { min-width:0; }
.detail-main-image { height:clamp(440px,47vw,700px); display:flex; align-items:center; justify-content:center; border:1px solid #e2e8e3; background:#fff; }
.detail-main-image img { width:100%; height:100%; object-fit:contain; }
.detail-thumbnails { display:flex; gap:10px; padding-top:13px; overflow-x:auto; }
.detail-thumbnail { flex:0 0 82px; width:82px; height:82px; padding:4px; border:1px solid #dfe5e0; background:#fff; cursor:pointer; }
.detail-thumbnail.active { border-color:var(--green); box-shadow:inset 0 0 0 1px var(--green); }
.detail-thumbnail img { width:100%; height:100%; object-fit:cover; }
.detail-summary { align-self:center; }
.detail-summary h1 { margin-top:15px; font-size:clamp(36px,4.2vw,66px); }
.detail-model { display:flex; flex-direction:column; gap:6px; margin:25px 0; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-model span { color:#929b95; font-size:9px; font-weight:800; letter-spacing:.18em; }
.detail-model strong { font-family:Manrope,Arial,sans-serif; font-size:21px; }
.detail-summary > p { color:#667069; font-size:15px; line-height:1.8; }
.inquiry-button { display:inline-flex; align-items:center; justify-content:space-between; gap:55px; margin-top:12px; padding:17px 20px 17px 24px; min-width:224px; color:#fff; background:var(--green); font-size:13px; font-weight:800; }
.inquiry-button:hover { background:#075f38; }
.inquiry-button span { font-size:20px; }
.inquiry-button { border:0; cursor:pointer; }
.modal-open { overflow:hidden; }
.inquiry-modal { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:24px; opacity:0; transition:opacity .18s ease; }
.inquiry-modal[hidden] { display:none; }
.inquiry-modal.is-open { opacity:1; }
.inquiry-backdrop { position:absolute; inset:0; background:rgba(18,25,21,.68); backdrop-filter:blur(2px); }
.inquiry-dialog { position:relative; width:min(780px,100%); max-height:calc(100svh - 48px); overflow:auto; padding:38px 42px 34px; background:#fff; box-shadow:0 28px 80px rgba(8,28,16,.25); transform:translateY(18px); transition:transform .2s ease; }
.inquiry-modal.is-open .inquiry-dialog { transform:translateY(0); }
.inquiry-close { position:absolute; top:18px; right:20px; width:42px; height:42px; border:0; color:#69736c; background:transparent; font-size:30px; line-height:1; cursor:pointer; }
.inquiry-close:hover { color:var(--green); }
.inquiry-heading h2 { margin:9px 0 8px; font-family:Manrope,Arial,sans-serif; font-size:clamp(30px,3.2vw,44px); letter-spacing:-.045em; }
.inquiry-heading p { margin:0; color:#747e77; font-size:14px; line-height:1.65; }
.inquiry-product { display:flex; align-items:center; gap:20px; margin:28px 0 12px; padding:16px; background:#f3f6f3; border-left:3px solid var(--green); }
.inquiry-product img { flex:0 0 82px; width:82px; height:82px; object-fit:contain; background:#fff; }
.inquiry-product div { display:flex; min-width:0; flex-direction:column; gap:4px; }
.inquiry-product span { color:#8a948d; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.inquiry-product strong { overflow:hidden; font-family:Manrope,Arial,sans-serif; font-size:18px; text-overflow:ellipsis; white-space:nowrap; }
.inquiry-product small { color:#707a73; font-size:13px; }
.inquiry-fields { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.inquiry-fields label { display:flex; flex-direction:column; gap:8px; padding-top:20px; }
.inquiry-fields label > span { color:#3f4942; font-size:13px; font-weight:700; }
.inquiry-fields label b { color:#b13c36; }
.inquiry-fields input,.inquiry-fields textarea { width:100%; border:0; border-bottom:1px solid #cfd8d1; border-radius:0; padding:4px 0 11px; outline:0; color:var(--ink); background:#fff; font:inherit; font-size:15px; transition:border-color .2s; }
.inquiry-fields input:focus,.inquiry-fields textarea:focus { border-color:var(--green); }
.inquiry-fields textarea { resize:vertical; min-height:92px; line-height:1.55; }
.inquiry-message { grid-column:1 / -1; }
.inquiry-actions { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:25px; padding-top:22px; border-top:1px solid #dce3dd; }
.inquiry-actions p { max-width:430px; margin:0; color:#7a847d; font-size:12px; line-height:1.6; }
.inquiry-actions button { flex:none; min-width:170px; border:0; padding:15px 20px; color:#fff; background:var(--green); font-weight:800; cursor:pointer; }
.inquiry-actions button:hover { background:#075f38; }
.inquiry-status { min-height:20px; margin:13px 0 0; color:var(--green); font-size:13px; }
.detail-promises { display:flex; flex-wrap:wrap; gap:11px 24px; margin:28px 0 0; padding:23px 0 0; border-top:1px solid var(--line); color:#6f7972; font-size:11px; list-style:none; }
.detail-promises li::before { content:'✓'; margin-right:7px; color:var(--green); font-weight:800; }
.detail-specifications,.detail-content { padding:clamp(70px,7vw,110px) clamp(24px,5vw,92px); }
.detail-specifications { background:#f3f6f3; }
.detail-section-head { max-width:800px; margin-bottom:42px; }
.detail-section-head h2 { margin:14px 0 0; font-family:Manrope,Arial,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1.15; letter-spacing:-.05em; }
.spec-table-wrap { overflow-x:auto; border-top:3px solid var(--green); }
.spec-table { width:100%; border-collapse:collapse; background:#fff; font-size:14px; }
.spec-table th,.spec-table td { border-bottom:1px solid #dce3dd; padding:18px 20px; text-align:left; vertical-align:middle; line-height:1.55; }
.spec-table th { width:27%; color:#303a34; background:#e8eee9; font-family:Manrope,Arial,sans-serif; font-weight:800; }
.spec-table tr:nth-child(even) td { background:#fafbfa; }
.detail-content { background:#fff; }
.detail-description { max-width:1000px; color:#606a63; font-size:15px; line-height:1.85; }
.detail-description p { margin-bottom:16px; }
.detail-content-alt { background:#f3f6f3; }
.detail-list { display:grid; gap:14px; margin:0; padding-left:20px; }
.detail-list li { padding-left:5px; }
.product-pagination { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; padding:28px clamp(24px,5vw,92px); border-top:1px solid #e2e8e3; font-size:12px; font-weight:700; }
.product-pagination a:first-child { justify-self:start; }
.product-pagination a:nth-child(2) { color:var(--green); text-transform:uppercase; letter-spacing:.12em; }
.product-pagination a:last-child { justify-self:end; text-align:right; }
.product-pagination a:hover { color:var(--green); }

/* News listing */
.news-page-main { padding-bottom:clamp(80px,8vw,130px); background:#f7f9f7; }
.news-page-heading { padding:clamp(72px,8vw,125px) 24px 58px; text-align:center; background:#fff; }
.news-page-heading h1 { margin:17px 0 15px; font-family:Manrope,Arial,sans-serif; font-size:clamp(42px,5vw,76px); line-height:1.08; letter-spacing:-.055em; }
.news-page-heading h1 em { color:var(--green); font-style:normal; }
.news-page-heading p { max-width:650px; margin:0 auto; color:#6f7972; font-size:16px; line-height:1.7; }
.news-subcategories { display:flex; align-items:center; justify-content:center; gap:1px; padding:38px 24px 0; }
.news-subcategories button { position:relative; min-width:150px; min-height:50px; padding:0 24px; border:1px solid #cfdcd3; color:#4f5b53; background:rgba(255,255,255,.9); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:color .2s,background .2s,border-color .2s,box-shadow .2s; }
.news-subcategories button:hover { color:var(--green); border-color:#86b79a; }
.news-subcategories button.active { z-index:1; color:#fff; border-color:var(--green); background:linear-gradient(120deg,#087442,#087f72); box-shadow:0 10px 25px rgba(8,116,66,.18),inset 0 -3px #0fb6b8; }
.news-list { display:grid; gap:24px; padding:54px clamp(24px,5vw,92px) 0; }
.news-list-card { padding:31px 34px 34px; border:1px solid #dfe5e0; background:#fff; transition:transform .25s,box-shadow .25s,border-color .25s; }
.news-list-card[hidden] { display:none; }
.news-list-card:hover { transform:translateY(-3px); border-color:#b9cbbd; box-shadow:0 15px 35px rgba(23,51,34,.08); }
.news-list-card.featured { border-left:4px solid var(--green); }
.news-list-top { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; padding-bottom:18px; border-bottom:1px solid #dfe5e0; }
.news-list-top h2 { margin:0; font-family:Manrope,Arial,sans-serif; font-size:clamp(20px,2vw,27px); font-weight:600; line-height:1.35; letter-spacing:-.025em; }
.news-list-top time { flex:none; padding-top:5px; color:#6f7972; font-size:13px; }
.news-list-card > p { max-width:1200px; margin:20px 0; color:#79827c; font-size:14px; line-height:1.8; }
.news-list-card > a { display:inline-flex; align-items:center; justify-content:space-between; gap:42px; min-width:142px; padding:12px 16px; border:1px solid #d5ddd7; color:#465149; font-size:13px; font-weight:700; transition:color .2s,background .2s,border-color .2s; }
.news-list-card > a span { color:var(--green); font-size:18px; line-height:1; }
.news-list-card > a:hover { border-color:var(--green); color:#fff; background:var(--green); }
.news-list-card > a:hover span { color:#fff; }

/* Blog and FAQ hubs */
.content-hub-main { padding-bottom:clamp(75px,8vw,125px); background:#f7f9f7; }
.content-hub-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; padding:clamp(45px,6vw,82px) clamp(24px,5vw,92px) 0; }
.content-hub-card { display:flex; min-height:360px; flex-direction:column; padding:30px; border:1px solid #dbe5de; background:linear-gradient(145deg,#fff,#f7fbf8); box-shadow:0 14px 34px rgba(12,57,39,.07); transition:transform .25s,border-color .25s,box-shadow .25s; }
.content-hub-card:hover { transform:translateY(-5px); border-color:rgba(8,116,66,.45); box-shadow:0 20px 44px rgba(5,79,59,.13); }
.content-hub-card .hub-number { color:var(--green); font-size:11px; font-weight:800; letter-spacing:.18em; }
.content-hub-card h2 { margin:35px 0 16px; font-family:Manrope,Arial,sans-serif; font-size:clamp(22px,2.1vw,30px); line-height:1.25; letter-spacing:-.035em; }
.content-hub-card p { margin:0 0 28px; color:#69756d; font-size:14px; line-height:1.8; }
.content-hub-card a { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:18px; border-top:1px solid #dbe5de; color:var(--green); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.faq-groups { display:grid; gap:22px; max-width:1220px; margin:0 auto; padding:clamp(45px,6vw,82px) clamp(24px,5vw,92px) 0; }
.faq-group { padding:clamp(24px,4vw,42px); border:1px solid #dbe5de; background:#fff; box-shadow:0 13px 34px rgba(12,57,39,.06); }
.faq-group > h2 { margin:0 0 22px; color:var(--green); font-family:Manrope,Arial,sans-serif; font-size:clamp(23px,2.6vw,34px); letter-spacing:-.035em; }
.faq-item { border-top:1px solid #dce5df; }
.faq-item:last-child { border-bottom:1px solid #dce5df; }
.faq-item summary { position:relative; padding:20px 48px 20px 0; color:#27332c; font-size:16px; font-weight:750; line-height:1.5; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; position:absolute; top:17px; right:9px; color:var(--green); font-size:24px; font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-item p { max-width:980px; margin:0; padding:0 48px 22px 0; color:#647068; font-size:14px; line-height:1.8; }
.blog-article { max-width:1040px; margin:0 auto; padding:clamp(55px,7vw,100px) clamp(24px,5vw,72px) clamp(80px,9vw,130px); }
.blog-article-header { padding-bottom:35px; border-bottom:1px solid #dbe5de; }
.blog-article-header h1 { max-width:900px; margin:18px 0 20px; font-family:Manrope,Arial,sans-serif; font-size:clamp(38px,5vw,70px); line-height:1.08; letter-spacing:-.055em; }
.blog-article-header p { max-width:820px; margin:0; color:#667169; font-size:18px; line-height:1.75; }
.blog-article-meta { display:block; margin-top:18px; color:#879089; font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.blog-article-body { padding-top:45px; }
.blog-article-body h2 { margin:46px 0 16px; font-family:Manrope,Arial,sans-serif; font-size:clamp(26px,3vw,38px); letter-spacing:-.035em; }
.blog-article-body h2:first-child { margin-top:0; }
.blog-article-body p,.blog-article-body li { color:#58645c; font-size:16px; line-height:1.9; }
.blog-article-body ul { display:grid; gap:9px; padding-left:22px; }
.blog-article-cta { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:55px; padding:30px; color:#fff; background:linear-gradient(120deg,#0b3226,#087442); }
.blog-article-cta strong { font-family:Manrope,Arial,sans-serif; font-size:22px; }
.blog-article-cta a { flex:none; padding:13px 18px; border:1px solid rgba(255,255,255,.45); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.news-detail-main { background:#fff; }
.news-article { padding:clamp(55px,7vw,100px) clamp(24px,5vw,92px) 0; }
.news-article-header { max-width:1100px; margin-bottom:42px; }
.news-article-header h1 { margin:16px 0 22px; font-family:Manrope,Arial,sans-serif; font-size:clamp(38px,5vw,72px); line-height:1.08; letter-spacing:-.055em; }
.news-article-meta { display:flex; flex-wrap:wrap; gap:12px 30px; padding-top:20px; border-top:1px solid var(--line); color:#828c85; font-size:12px; }
.news-article-lead { display:grid; grid-template-columns:minmax(0,.8fr) minmax(380px,1.2fr); align-items:center; gap:clamp(35px,6vw,90px); margin-bottom:clamp(70px,8vw,120px); }
.news-article-lead > div { padding-left:25px; border-left:3px solid var(--green); }
.news-article-lead p { margin:0; color:#566159; font-size:clamp(17px,1.7vw,24px); line-height:1.75; }
.news-article-lead figure { height:clamp(330px,40vw,590px); margin:0; border:1px solid #e0e6e1; background:#f6f8f6; }
.news-article-lead img { width:100%; height:100%; object-fit:contain; }
.news-data { margin:0; padding:clamp(65px,7vw,105px) clamp(24px,5vw,92px); background:#f3f6f3; }
.news-data .detail-section-head h2,.news-related .detail-section-head h2 { margin:14px 0 0; font-family:Manrope,Arial,sans-serif; font-size:clamp(35px,4vw,58px); line-height:1.15; letter-spacing:-.05em; }
.news-data .detail-section-head h2 em,.news-related .detail-section-head h2 em { color:var(--green); font-style:normal; }
.news-data-table-wrap { overflow-x:auto; border-top:3px solid var(--green); }
.news-data-table { width:100%; border-collapse:collapse; background:#fff; font-size:14px; }
.news-data-table th,.news-data-table td { padding:17px 20px; border-bottom:1px solid #dce3dd; text-align:left; vertical-align:top; line-height:1.6; }
.news-data-table th { width:28%; color:#303a34; background:#e8eee9; font-family:Manrope,Arial,sans-serif; font-weight:800; }
.news-data-table tr:nth-child(even) td { background:#fafbfa; }
.news-copy { max-width:1040px; margin:0 auto; padding:clamp(70px,8vw,120px) 0; }
.news-copy-section + .news-copy-section { margin-top:55px; padding-top:55px; border-top:1px solid var(--line); }
.news-copy-section h2 { margin:0 0 22px; font-family:Manrope,Arial,sans-serif; font-size:clamp(27px,3vw,42px); letter-spacing:-.035em; }
.news-copy-section p,.news-copy-section li { color:#5f6962; font-size:16px; line-height:1.85; }
.news-copy-section p { margin:0 0 18px; }
.news-copy-section ul { display:grid; gap:10px; margin:24px 0 0; padding-left:22px; }
.news-related { margin:0; padding:clamp(65px,7vw,105px) clamp(24px,5vw,92px); background:#f7f9f7; }
.news-related-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.news-related-card { display:grid; grid-template-columns:150px 1fr; grid-template-rows:auto auto 1fr; gap:5px 24px; align-items:center; min-height:180px; padding:18px; border:1px solid #dce3dd; background:#fff; transition:transform .25s,box-shadow .25s,border-color .25s; }
.news-related-card:hover { transform:translateY(-3px); border-color:#a9c3b0; box-shadow:0 14px 32px rgba(23,51,34,.08); }
.news-related-card img { grid-row:1 / 4; width:150px; height:145px; object-fit:contain; }
.news-related-card span { align-self:end; color:var(--green); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.news-related-card strong { align-self:center; font-family:Manrope,Arial,sans-serif; font-size:19px; }
.news-related-card small { align-self:start; color:#737d76; font-size:12px; }
.news-article-pagination { display:grid; grid-template-columns:1fr auto 1fr; gap:20px; align-items:center; padding:28px clamp(24px,5vw,92px); border-top:1px solid #e2e8e3; font-size:12px; font-weight:700; }
.news-article-pagination a:first-child { justify-self:start; }
.news-article-pagination a:nth-child(2) { color:var(--green); text-transform:uppercase; letter-spacing:.12em; }
.news-article-pagination a:last-child { justify-self:end; text-align:right; }
.news-article-pagination a:hover { color:var(--green); }
@media(max-width:1000px) { .about { grid-template-columns:1fr; } .about-image img { height:470px; } .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-image { height:300px; } }
@media(max-width:1000px) { .contact-intro { grid-template-columns:1fr; } .contact-details { max-width:780px; } .advantage-grid { grid-template-columns:repeat(3,1fr); } .advantage-grid article { border-bottom:1px solid rgba(255,255,255,.14); } .contact-markets { grid-template-columns:1fr; } }
@media(max-width:1000px) { .home-news-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; } .home-news-copy { padding:19px; } }
@media(max-width:1050px) { .home-inquiry { grid-template-columns:1fr; } .home-inquiry-info { max-width:760px; } }
@media(max-width:1000px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .product-overview { grid-template-columns:1fr; } .detail-summary { max-width:760px; } }
@media(max-width:700px) { .site-shell { width:calc(100% - 16px); margin:8px auto; } .site-header { flex-direction:column; gap:4px; padding:10px 16px 14px; } .brand { width:138px; height:48px; } .main-nav { width:100%; justify-content:space-between; gap:8px; } .main-nav a { font-size:11px; } .hero { aspect-ratio:16 / 9; padding:0 12px; } .hero h1 { font-size:clamp(40px,9vw,67px); } .hero-discover { bottom:56px; } .hero-dots { bottom:24px; } .hero-dot { width:20px; } .hero-dot.is-active { width:38px; } .section-pad { padding:70px 22px; } .about-image::before { top:-10px; right:-10px; } .about-image img { height:340px; } .about-facts { gap:22px; } .about-facts div { min-width:85px; } .product-filter { overflow-x:auto; margin-top:38px; } .product-filter button { flex:0 0 auto; min-height:58px; padding:0 18px; font-size:12px; } .product-grid { gap:12px; } .product-image { height:210px; padding:13px; } .product-details { padding:15px; } .product-details h3 { font-size:14px; } .product-details p { font-size:11px; } .news-layout { grid-template-columns:1fr; margin-top:38px; } .news-visual { height:290px; } .news-visual span { font-size:210px; } .site-footer { flex-direction:column; } }
@media(max-width:700px) { .site-footer-links { justify-content:flex-start; } .privacy-content section { grid-template-columns:1fr; gap:14px; padding:29px 0; } .privacy-content p,.privacy-content ul { grid-column:1; } }
@media(max-width:700px) { .home-inquiry { gap:45px; padding:68px 20px; } .home-inquiry-contacts { grid-template-columns:1fr; margin-top:34px; } .home-inquiry-contacts .home-inquiry-address { grid-column:auto; } .home-inquiry-form-card { padding:28px 20px; } .home-inquiry-fields { grid-template-columns:1fr; } .home-inquiry-message { grid-column:auto; } .home-inquiry-submit { align-items:stretch; flex-direction:column; gap:16px; } .home-inquiry-submit button { width:100%; } }
@media(max-width:700px) { .site-header { min-height:70px; flex-direction:row; gap:16px; padding:8px 14px; } .brand { width:132px; height:50px; } .nav-toggle { display:block; flex:none; } .main-nav { position:absolute; top:100%; right:0; left:0; display:grid; width:100%; max-height:0; gap:0; overflow:hidden; visibility:hidden; opacity:0; background:#fff; box-shadow:0 18px 35px rgba(17,38,24,.15); transform:translateY(-8px); transition:max-height .28s ease,opacity .2s ease,transform .2s ease,visibility .2s; } .site-header.nav-open .main-nav { max-height:300px; visibility:visible; opacity:1; transform:translateY(0); } .main-nav a { padding:15px 20px; border-top:1px solid #e6ebe7; font-size:14px; } .main-nav .active { color:var(--green); background:#f3f7f4; } .main-nav .active::after { display:none; } .site-header.nav-open .nav-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); } .site-header.nav-open .nav-toggle span:nth-child(2) { opacity:0; } .site-header.nav-open .nav-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); } .hero { min-height:0; } }
@media(max-width:700px) { .contact-hero { min-height:360px; padding:60px 22px; background-position:55% center; } .contact-intro,.contact-markets,.contact-location { padding:65px 22px; } .contact-list > div { grid-template-columns:90px 1fr; gap:13px; } .contact-facts { gap:8px; } .contact-facts div { padding-left:10px; } .contact-facts strong { font-size:21px; } .contact-form-card { padding:28px 20px; } .contact-form-grid { grid-template-columns:1fr; } .contact-form-wide { grid-column:auto; } .contact-submit-row { align-items:stretch; flex-direction:column; gap:16px; } .contact-submit-row button { width:100%; } .contact-section-heading,.location-bar { align-items:flex-start; flex-direction:column; } .advantage-grid { grid-template-columns:1fr; } .advantage-grid article,.advantage-grid article:first-child { padding:23px 0; border-right:0; } .advantage-grid h3 { margin-top:12px; } .market-regions { grid-template-columns:1fr; } .market-regions div:nth-child(even) { padding-left:0; border-left:0; } .location-bar > a { width:100%; justify-content:space-between; } .contact-map { min-height:360px; } .contact-map img { height:380px; } .contact-map figcaption span { display:block; margin:5px 0 0; } }
@media(max-width:700px) { .home-news-grid { grid-template-columns:1fr; margin-top:38px; gap:16px; } .home-news-image { height:280px; } .home-news-copy p { min-height:0; } }
@media(max-width:700px) { .catalog-heading { padding:65px 22px 45px; } .catalog-heading p { font-size:14px; } .catalog-categories { grid-template-columns:repeat(2,1fr); } .catalog-category { min-height:132px; border-bottom:1px solid rgba(255,255,255,.17); } .catalog-grid { gap:12px; } .catalog-card-image { height:245px; padding:10px; } .catalog-card-copy { min-height:128px; padding:17px; } .catalog-card-copy h2 { font-size:15px; } .product-overview { padding-top:35px; gap:36px; } .detail-main-image { height:340px; } .detail-summary h1 { font-size:38px; } .detail-promises { display:grid; grid-template-columns:1fr 1fr; } .spec-table { min-width:580px; } .product-pagination { grid-template-columns:1fr 1fr; } .product-pagination a:nth-child(2) { display:none; } }
@media(max-width:700px) { .inquiry-modal { padding:10px; align-items:end; } .inquiry-dialog { width:100%; max-height:calc(100svh - 20px); padding:30px 20px 24px; } .inquiry-close { top:10px; right:10px; } .inquiry-heading p { padding-right:25px; } .inquiry-product { gap:14px; margin-top:22px; padding:12px; } .inquiry-product img { flex-basis:68px; width:68px; height:68px; } .inquiry-fields { grid-template-columns:1fr; } .inquiry-message { grid-column:auto; } .inquiry-actions { align-items:stretch; flex-direction:column; gap:16px; } .inquiry-actions button { width:100%; } }
@media(max-width:700px) { .news-page-heading { padding:65px 22px 45px; } .news-page-heading p { font-size:14px; } .news-subcategories { justify-content:flex-start; overflow-x:auto; padding:25px 16px 0; scrollbar-width:thin; } .news-subcategories button { flex:1 0 112px; min-width:112px; min-height:47px; padding:0 16px; } .news-list { gap:14px; padding:28px 16px 0; } .news-list-card { padding:23px 20px 25px; } .news-list-top { display:block; } .news-list-top time { display:block; margin-top:10px; } .news-list-card > p { font-size:13px; } }
@media(max-width:900px) { .content-hub-grid { grid-template-columns:1fr; } .content-hub-card { min-height:0; } }
@media(max-width:700px) { .content-hub-grid,.faq-groups { padding:28px 16px 0; } .content-hub-card { padding:24px 20px; } .content-hub-card h2 { margin-top:25px; } .faq-group { padding:24px 20px; } .faq-item summary { font-size:14px; } .blog-article-header p { font-size:16px; } .blog-article-body p,.blog-article-body li { font-size:14px; } .blog-article-cta { align-items:flex-start; flex-direction:column; } }
@media(max-width:900px) { .news-article-lead { grid-template-columns:1fr; } .news-article-lead figure { height:440px; } .news-related-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .news-article { padding-top:42px; } .news-article-lead { margin-bottom:70px; } .news-article-lead figure { height:320px; } .news-data-table { min-width:610px; } .news-copy-section p,.news-copy-section li { font-size:14px; } .news-related-card { grid-template-columns:100px 1fr; min-height:138px; column-gap:15px; padding:12px; } .news-related-card img { width:100px; height:112px; } .news-related-card strong { font-size:15px; } .news-article-pagination { grid-template-columns:1fr 1fr; } .news-article-pagination a:nth-child(2) { display:none; } }
@media(max-width:420px) { .product-grid { grid-template-columns:1fr; } .product-image { height:270px; } .news-item { grid-template-columns:60px 1fr 16px; gap:15px; } .news-item time strong { font-size:45px; } }
@media(max-width:420px) { .catalog-grid { grid-template-columns:1fr; } .catalog-card-image { height:300px; } .detail-main-image { height:310px; } .detail-promises { grid-template-columns:1fr; } }
@media(max-width:850px) { .catalog-body { grid-template-columns:1fr; gap:28px; padding-top:28px; } .catalog-sidebar { position:static; padding:18px; } .catalog-categories { grid-template-columns:repeat(4,minmax(0,1fr)); } .catalog-category { display:flex; flex-direction:column; justify-content:center; gap:9px; min-height:122px; padding:12px 7px; border-right:1px solid rgba(255,255,255,.17); border-bottom:0; text-align:center; } .catalog-category:last-child { border-right:0; } .catalog-category:hover,.catalog-category.active { padding-left:7px; } .catalog-category.active::after { top:auto; right:0; bottom:0; left:0; width:auto; height:4px; } .category-type-icon,.category-all-icon { width:48px; height:48px; } .category-type-icon svg { width:31px; height:31px; } .catalog-category > span:last-child { font-size:12px; } }
@media(max-width:700px) { .catalog-body { padding:22px 16px 75px; } .catalog-sidebar { padding:14px; } .catalog-sidebar-title { padding-bottom:12px; } .catalog-categories { grid-template-columns:repeat(2,minmax(0,1fr)); } .catalog-category { min-height:108px; border-right:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); } .catalog-category:nth-child(2n) { border-right:0; } .catalog-category:nth-last-child(-n+2) { border-bottom:0; } .catalog-result-head { margin-bottom:16px; } }
@media(max-width:700px) { .site-header .main-nav { grid-template-columns:minmax(0,1fr); justify-content:stretch; align-items:stretch; } .site-header .main-nav a { display:flex; width:100%; min-height:58px; align-items:center; padding:15px 22px; } }
@media(max-width:800px) { .site-header .nav { grid-template-columns:minmax(0,1fr); justify-content:stretch; align-items:stretch; } .site-header .nav a { display:flex; width:100%; min-height:58px; align-items:center; padding:15px 22px; } }

/* Legacy product URLs now route into the shared static product template. */
.legacy-product-redirect { min-height:56vh; display:grid; place-content:center; justify-items:center; gap:14px; padding:80px 24px; text-align:center; }
.legacy-product-redirect h1 { margin:0; font-family:Manrope,Arial,sans-serif; font-size:clamp(34px,5vw,60px); letter-spacing:-.04em; }
.legacy-product-redirect p { margin:0; color:#69736c; }
.legacy-product-redirect .button-link { display:inline-flex; align-items:center; justify-content:center; min-width:180px; margin-top:10px; padding:14px 22px; color:#fff; background:var(--green); font-size:13px; font-weight:800; }
