/* Approved green typography with a coherent, deliberately gentle motion system. */
:root{--type-main:Arial,Helvetica,sans-serif;--ease-enter:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.25,.46,.45,.94)}
body{font-family:var(--type-main);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body[data-scheme="1"]{--section-font:var(--type-main)}
h1,h2,h3,h4,p,button,input,textarea,select,.eyebrow,.detail-label,.news-category{font-family:var(--type-main)}
h2,h3{font-weight:400}.hero1 h1,.hero-slide h2{font-family:var(--type-main);font-weight:600;font-size:64px;line-height:1.12;letter-spacing:-2.4px}
.brand strong{font-size:28px;letter-spacing:6px}.brand span{font-size:10px;letter-spacing:5.5px}
.catalog h2{font-size:44px;line-height:1.2;font-weight:500;letter-spacing:-1.4px}.section-block h2{font-weight:400}.group-stats strong{font:500 42px/normal var(--type-main);letter-spacing:-1px}.story h2{font-size:42px;font-weight:500}.hero1 p{font-size:18px;line-height:1.75}.catalog-card p{line-height:1.65}
.ui-icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;display:block}

/* Equal-height navigation slots; dropdown starts below the entire header. */
.header>.wrap{gap:24px}.site-nav{align-self:stretch;align-items:stretch;gap:22px;font-size:15px;line-height:1.4;min-width:0}
.site-nav>a,.site-nav .site-nav-item{display:flex;align-items:center;position:relative;height:100%;flex-shrink:0}
.site-nav>a,.site-nav .site-nav-item>a{display:flex;align-items:center;font-weight:600;padding:0;border:0!important;height:100%}
.site-nav .site-nav-item{gap:4px}.submenu-toggle{width:24px;height:44px;display:grid;place-items:center;background:transparent;border:0;color:var(--deep);padding:3px;border-radius:50%;transition:background .35s ease}
.submenu-toggle svg{width:16px;height:16px;transition:transform .4s var(--ease-soft)}.site-nav-item.is-open .submenu-toggle svg{transform:rotate(180deg)}
.site-nav .site-subnav,.site-nav-item:hover .site-subnav,.site-nav-item:focus-within .site-subnav{display:block;position:absolute;top:100%;left:-22px;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(14px);transform-origin:30px top;transition:opacity .35s ease,transform .45s var(--ease-enter),visibility .45s;background:#fff;border:1px solid #e1e9df;border-top:3px solid var(--green);padding:14px;min-width:300px;z-index:50;box-shadow:0 18px 35px #214d351c}
.site-nav-item.is-open .site-subnav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.site-nav-item.keyboard-open .site-subnav{transition:none}
.site-nav .site-subnav a{position:relative;display:block;font-size:14px;line-height:1.55;font-weight:500;white-space:normal;padding:12px 14px!important;border:0!important;transition:background .4s ease,color .4s ease,translate .45s var(--ease-soft)}
.site-nav>a:after,.site-nav-item>a:after{content:"";position:absolute;left:0;right:0;bottom:30px;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-soft)}
.site-nav>a:hover:after,.site-nav-item.is-open>a:after,.site-nav a.active:after{transform:scaleX(1)}
.site-mobile-menu.open{animation:menu-in .4s var(--ease-enter) both}.site-mobile-menu.open>a{animation:menu-link-in .45s var(--ease-enter) both;font-weight:600}.site-mobile-menu.open>a:nth-child(2n){animation-delay:55ms}.site-mobile-menu.open>a:nth-child(n+5){animation-delay:100ms}.site-menu-toggle svg{transition:transform .4s var(--ease-soft)}.site-menu-toggle[aria-expanded=true] svg{transform:rotate(90deg)}
@keyframes menu-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes menu-link-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

/* Full rows reveal first; headings, media and grid items follow with a short stagger. */
.motion-ready [data-motion]{opacity:0;transform:translate3d(var(--reveal-x,0px),var(--reveal-y,42px),0);transition:opacity 1s var(--ease-soft),transform 1.15s var(--ease-enter),scale .95s var(--ease-soft),filter .65s ease,translate .65s var(--ease-soft),background-color .4s ease,color .4s ease,border-color .4s ease,box-shadow .5s ease;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms,0ms,0ms,0ms,0ms,0ms}
.motion-ready [data-motion="image"]{--reveal-x:-26px;--reveal-y:16px}.motion-ready [data-motion="text"]{--reveal-x:26px;--reveal-y:18px}
.motion-ready [data-motion="section-down"]{--reveal-x:0px;--reveal-y:-28px;transition-duration:1.05s,1.2s}
.motion-ready [data-motion="section-left"]{--reveal-x:-32px;--reveal-y:0px;transition-duration:1.05s,1.2s}
.motion-ready [data-motion].is-visible{opacity:1;transform:translate3d(0,0,0)}.motion-ready [data-motion].reveal-reset{transition:none;transition-delay:0ms}

/* Cross dissolve + slow photographic push-in + staggered text entrance. */
.hero-slide{transition:opacity 1.3s ease,visibility 1.3s}.hero-slide .wrap>.eyebrow,.hero-slide .wrap>h1,.hero-slide .wrap>h2,.hero-slide .wrap>p,.hero-slide .wrap>.button{opacity:0;translate:-35px 16px;transition:opacity 1s var(--ease-soft),translate 1.2s var(--ease-enter)}
.hero-slide.active .wrap>*{opacity:1;translate:0 0}.hero-slide.active .eyebrow{transition-delay:150ms}.hero-slide.active h1,.hero-slide.active h2{transition-delay:250ms}.hero-slide.active p{transition-delay:380ms}.hero-slide.active .button{transition-delay:500ms}.hero-slide.active .button.outline{transition-delay:580ms}
.hero-slide .wrap>.button{transition:opacity 1s var(--ease-soft),translate 1.2s var(--ease-enter),background-color .4s ease,color .4s ease,box-shadow .5s ease,scale .5s var(--ease-soft)}.hero-slide.active .button{transition-delay:500ms,500ms,0ms,0ms,0ms,0ms}.hero-slide.active .button.outline{transition-delay:580ms,580ms,0ms,0ms,0ms,0ms}
.hero-slide>.hero1-art{transform:scale(1.075) translateX(8px);transition:transform 6.3s linear}.hero-slide.active>.hero1-art{transform:scale(1) translateX(0)}
.hero-dot{position:relative;background:transparent}.hero-dot:after{background:#aabfa9!important;transition:background .4s}.hero-dot:before{content:"";position:absolute;left:0;top:10px;right:0;height:3px;background:var(--green);transform-origin:left;transform:scaleX(0);z-index:1}.hero-dot[aria-current=true]:before{transform:scaleX(1)}.hero1.is-playing .hero-dot[aria-current=true]:before{animation:slide-progress 5s linear both}@keyframes slide-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Icons share the numerical baseline and sit to the left of each statistic. */
.group-stats .wrap>div,.facts-strip>div{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:17px;align-items:center;padding:0;min-width:0}
.stat-icon{position:static;grid-column:1;grid-row:1;color:#619268;transition:transform .65s var(--ease-soft),color .45s ease}.stat-icon .ui-icon{width:36px;height:36px}.group-stats strong,.facts-strip strong{grid-column:2;grid-row:1;white-space:nowrap}.group-stats small,.facts-strip>div>span:not(.stat-icon){grid-column:2;grid-row:2}
.counter-value{font-variant-numeric:tabular-nums;display:inline-block;min-width:1ch;transform-origin:left bottom}.counter-running .counter-value{animation:number-counting .34s ease-in-out infinite}.counter-finished .counter-value{animation:number-settle .55s var(--ease-enter)}
@keyframes number-counting{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes number-settle{0%{transform:translateY(-3px)}100%{transform:translateY(0)}}
.facility-label{display:flex;gap:13px;align-items:center}.facility-label .ui-icon{width:27px;height:27px;color:var(--green);transition:transform .6s var(--ease-soft)}.contact-item small{display:flex;align-items:center;gap:11px}.contact-item small .ui-icon{width:19px;height:19px;color:var(--green)}.certificate-card h3{display:flex;align-items:center;gap:9px}.certificate-card h3 .ui-icon{width:20px;height:20px;color:var(--green)}

/* Hover motion uses independent translate/scale, so it never overwrites scroll reveals. */
.catalog-card,.family-tile,.product-tile,.news-item,.news-index-item,.application-card,.process-row article,.location-item,.certificate-document{position:relative;transition:translate .65s var(--ease-soft),box-shadow .65s ease}
.motion-ready :is(.catalog-card,.family-tile,.product-tile,.news-item,.news-index-item,.application-card,.process-row article,.location-item,.certificate-document)[data-motion]{transition:opacity 1s var(--ease-soft),transform 1.15s var(--ease-enter),translate .65s var(--ease-soft),box-shadow .65s ease;transition-delay:var(--reveal-delay,0ms),var(--reveal-delay,0ms),0ms,0ms}
.catalog-photo,.product-art,.news-picture,.news-item>a:first-child,.large-media,.facilities figure{overflow:hidden}
.product-crop{display:block;position:absolute;inset:0;overflow:hidden;transition:transform .95s var(--ease-soft)}
.catalog-photo img,.product-art img{scale:1;transform:none}.family-tile .product-art,.product-tile .product-art,.catalog-photo{transition:box-shadow .65s ease}
.catalog-card h3 span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;flex-shrink:0;color:var(--green);transition:background .45s ease,color .45s ease,transform .65s var(--ease-soft)}
.catalog-card h3,.family-tile h3,.product-tile h3,.news-item h3,.application-card h2{transition:color .45s ease}.brand img{transition:scale .65s var(--ease-soft)}
.news-item img,.news-index-item img,.application-card-photo,.large-media img,.application-photo,.story-photo,.capability-picture,.facilities img{transition:transform .95s var(--ease-soft),scale .95s var(--ease-soft),filter .65s ease}
.button svg,.inline-link .ui-icon,.textlink .ui-icon,.section-link .ui-icon{transition:transform .5s var(--ease-soft)}
a,button,summary{transition:color .4s ease,background-color .4s ease,border-color .4s ease,box-shadow .5s ease}
.button,.hero-arrow,.hero-pause,.icon-button,.news-filter,.certificate-controls button,.motion-preference{transition:color .4s ease,background-color .4s ease,border-color .4s ease,box-shadow .5s ease,translate .5s var(--ease-soft),scale .35s ease}
.button:active,.icon-button:active,.hero-arrow:active,.certificate-controls button:active{scale:.96}.icon-button{border-radius:50%}
.inline-link,.textlink,.section-link,.read-story,.family-link,.footer-column a,.footer-legal a,.contact-item>a,.breadcrumb a,.sitemap-group a,.article-sidebar a,.result-actions button{transition:color .4s ease,border-color .4s ease,background-color .4s ease,translate .5s var(--ease-soft),box-shadow .5s ease;text-decoration-thickness:1px;text-underline-offset:6px}
.inline-link,.textlink,.section-link,.read-story,.family-link{background-image:linear-gradient(var(--green),var(--green));background-repeat:no-repeat;background-size:0 1px;background-position:left bottom;transition:background-size .5s var(--ease-soft),color .4s ease,translate .5s var(--ease-soft)}
.motion-preference{background:none;border:0;border-bottom:1px solid #b7cbb4;color:inherit;padding:0 0 2px;font:inherit;white-space:nowrap}
.faq-group details p,.faq-list details p{animation:answer-in .55s var(--ease-enter)}@keyframes answer-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* Four complete document frames; the track moves continuously across a duplicate set. */
.certificate-rail.is-continuous{overflow:hidden;scroll-snap-type:none;scrollbar-width:none;padding-bottom:12px;display:block;touch-action:pan-y pinch-zoom}.certificate-track{display:flex;gap:26px;will-change:transform;width:max-content}.certificate-track>.certificate-card{width:var(--certificate-width);flex:0 0 var(--certificate-width)}
.certificate-image{transition:border-color .5s ease,box-shadow .6s ease,background .5s ease}.certificate-image img{transition:transform .8s var(--ease-soft)}.certificate-controls button{display:grid;place-items:center}.certificate-controls svg{width:19px;height:19px}.certificate-controls .certificate-pause{width:40px;height:40px;align-self:center;border-color:#b4cbb5}.certificate-rail:focus-visible{outline:2px solid var(--green);outline-offset:6px}
.search-dialog[open],.certificate-lightbox[open]{animation:dialog-in .35s var(--ease-enter)}@keyframes dialog-in{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .site-subnav a:hover{translate:4px 0;background:#f0f6ef}.submenu-toggle:hover{background:#edf4ed}
 .catalog-card:hover,.family-tile:hover,.product-tile:hover,.news-item:hover,.news-index-item:hover,.application-card:hover{translate:0 -6px}
 .process-row article:hover,.location-item:hover,.certificate-document:hover{translate:0 -4px}
 .catalog-card:hover .catalog-photo,.family-tile:hover .product-art,.product-tile:hover .product-art{box-shadow:0 15px 32px #24513718}
 .catalog-card:hover h3 span{background:var(--green);color:#fff;transform:rotate(45deg)}
 .catalog-card:hover .product-crop,.family-tile:hover .product-crop,.product-tile:hover .product-crop,.application-card:hover .product-crop{transform:scale(1.055)}
 .news-item:hover img,.news-index-item:hover img,.application-card:hover .application-card-photo,.large-media:hover img{transform:scale(1.035)}
 .story-photo:hover,.application-photo:hover,.capability-picture:hover{scale:1.02}.facilities figure:hover img{transform:scale(1.025);filter:brightness(1.04)}.facilities figure:hover .ui-icon{transform:translateY(-3px)}
 .group-stats .wrap>div:hover .stat-icon,.facts-strip>div:hover .stat-icon{transform:translateY(-4px) rotate(-5deg);color:var(--green)}
 .button:hover{translate:0 -3px;box-shadow:0 10px 24px #24513722}.button:hover svg{transform:translateX(5px)}.icon-button:hover,.hero-pause:hover{background:#e1ecdf;translate:0 -2px}.hero-arrow:hover{background:white;scale:1.07;transform:none}
 .hero-slide .button:hover{scale:1.025}.brand:hover img{scale:1.045}a:not([class]):hover{color:var(--green)}
 .inline-link:hover,.textlink:hover,.section-link:hover,.read-story:hover,.family-link:hover{background-size:100% 1px;translate:3px 0;color:var(--deep)}
 .footer-column a:hover,.footer-legal a:hover,.contact-item>a:hover,.breadcrumb a:hover,.sitemap-group a:hover,.article-sidebar a:hover,.result-actions button:hover{translate:3px 0;color:var(--green);text-decoration:underline}
 .certificate-image:hover{border-color:#78a27c;box-shadow:inset 0 0 0 2px #dbe8d9}.certificate-image:hover img{transform:scale(1.025)}.certificate-controls button:hover{background:var(--green);color:white;translate:0 -2px}.motion-preference:hover{color:var(--green);background:#edf4ed}
 .faq-list details:hover,.faq-group details:hover{color:var(--green)}
}
@media(min-width:1101px) and (max-width:1550px){.site-nav{font-size:13px;gap:13px}.brand strong{font-size:24px;letter-spacing:5px}.brand span{font-size:9px;letter-spacing:4.6px}.hero1 h1,.hero-slide h2{font-size:56px}.submenu-toggle{width:19px}.group-stats .wrap{gap:24px}.group-stats .wrap>div{grid-template-columns:32px minmax(0,1fr);column-gap:12px}.group-stats strong{font-size:37px}.stat-icon .ui-icon{width:30px;height:30px}}
@media(max-width:1200px) and (min-width:1101px){.header .wrap{gap:14px}.site-nav{font-size:12px;gap:10px}.brand{gap:10px}.brand strong{font-size:22px;letter-spacing:4px}.brand span{font-size:8px;letter-spacing:4.1px}}
@media(max-width:1100px){.hero1 h1,.hero-slide h2{font-size:52px}.group-stats .wrap{gap:20px}.group-stats .wrap>div,.facts-strip>div{grid-template-columns:26px minmax(0,1fr);column-gap:10px}.stat-icon .ui-icon{width:25px;height:25px}.group-stats strong{font-size:30px}.footer-bottom{flex-wrap:wrap}.footer-bottom .footer-legal{flex-wrap:wrap}}
@media(max-width:700px){.brand strong{font-size:21px;letter-spacing:4px}.brand span{font-size:8px;letter-spacing:4px}.hero1 h1,.hero-slide h2{font-size:37px;line-height:1.14;letter-spacing:-1.2px}.hero1 p{font-size:14px;line-height:1.7}.catalog h2,.story h2{font-size:33px;letter-spacing:-.9px}.group-stats strong{font-size:26px;letter-spacing:-.7px}.facts-strip strong{font-size:27px}.group-stats .wrap>div,.facts-strip>div{grid-template-columns:23px minmax(0,1fr);column-gap:8px}.stat-icon .ui-icon{width:23px;height:23px}.group-stats small{font-size:10px}.certificate-track{gap:18px}.certificate-controls{gap:8px}.certificate-controls .certificate-pause{width:35px;height:35px}.motion-ready [data-motion="image"],.motion-ready [data-motion="text"],.motion-ready [data-motion="section-left"]{--reveal-x:0px;--reveal-y:28px}.catalog-card h3 span{width:22px;height:22px}.facility-label{gap:11px}}
@media(max-width:380px){.group-stats strong{font-size:22px}.group-stats .wrap{column-gap:16px}.group-stats .wrap>div{grid-template-columns:20px minmax(0,1fr);column-gap:6px}.stat-icon .ui-icon{width:20px;height:20px}}
/* Explicit visitor setting remains available even though this preview starts animated. */
html[data-motion-preference="reduced"]{scroll-behavior:auto}
html[data-motion-preference="reduced"] *,html[data-motion-preference="reduced"] *:before,html[data-motion-preference="reduced"] *:after{animation:none!important;transition:none!important}
html[data-motion-preference="reduced"] [data-motion],html[data-motion-preference="reduced"] .hero-slide .wrap>*{opacity:1;transform:none;translate:none}
html[data-motion-preference="reduced"] .hero1-art,html[data-motion-preference="reduced"] .hero-slide.active>.hero1-art{transform:none}
@media(prefers-reduced-motion:reduce){html:not([data-motion-preference="full"]) *,html:not([data-motion-preference="full"]) *:before,html:not([data-motion-preference="full"]) *:after{animation:none!important;transition:none!important}}
