:root{
  --ink:#101513;
  --ink2:#17201b;
  --muted:#68736d;
  --green:#234b36;
  --green2:#0f3524;
  --lime:#b9d85f;
  --paper:#f3f1e8;
  --paper2:#ebe8dc;
  --line:rgba(16,21,19,.14);
  --white:#fff;
  --shadow:0 26px 80px rgba(9,16,13,.18);
  --header:86px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;background:var(--paper);color:var(--ink);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;border-radius:0}img{display:block;width:100%;height:100%;object-fit:cover}.site-header{position:fixed;z-index:100;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4.8vw,74px);color:#fff;border-bottom:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(8,12,10,.58),rgba(8,12,10,.08));backdrop-filter:blur(16px);transition:.25s}.site-header.scrolled{height:72px;background:rgba(12,18,15,.94);box-shadow:0 18px 50px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:12px;min-width:185px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border:2px solid currentColor;font-weight:950;letter-spacing:-.08em}.brand-text{display:grid;line-height:.95}.brand-text b{font-size:18px;letter-spacing:-.045em}.brand-text small{text-transform:uppercase;letter-spacing:.18em;font-size:9px;opacity:.78;margin-top:5px}.desktop-nav{display:flex;align-items:center;gap:30px}.desktop-nav a{font-size:14px;font-weight:850;opacity:.9;position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-10px;height:2px;background:var(--lime);transition:.22s}.desktop-nav a:hover:after{right:0}.header-actions{display:flex;align-items:center;gap:10px}.lang,.menu-btn{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;height:42px;padding:0 14px;font-weight:900;cursor:pointer}.header-cta{height:42px;display:grid;place-items:center;padding:0 18px;background:var(--lime);color:#0d140f;font-weight:950}.menu-btn{display:none;width:46px;padding:0;place-items:center}.menu-btn span{display:block;width:19px;height:2px;background:currentColor;margin:4px auto;transition:.2s}.menu-btn.open span:first-child{transform:translateY(3px) rotate(45deg)}.menu-btn.open span:last-child{transform:translateY(-3px) rotate(-45deg)}
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:calc(var(--header) + 76px) clamp(18px,4.8vw,74px) 106px;background:#0b0e0c;overflow:hidden}.hero-media{position:absolute;inset:0;z-index:-3;background:center center/cover no-repeat;transition:background-image .45s ease,transform .7s ease;transform:scale(1.025)}.hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(5,8,7,.9),rgba(5,8,7,.5) 42%,rgba(5,8,7,.08)),linear-gradient(0deg,rgba(5,8,7,.78),rgba(5,8,7,.02) 62%)}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);background-size:25vw 100%;opacity:.36}.hero-content{max-width:980px;color:#fff}.eyebrow,.kicker{margin:0 0 16px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:950;color:var(--lime)}.hero h1{margin:0;max-width:980px;font-size:clamp(52px,7.2vw,108px);line-height:.88;letter-spacing:-.078em}.hero-copy{max-width:660px;margin:24px 0 0;color:rgba(255,255,255,.78);font-size:clamp(17px,1.8vw,23px);line-height:1.45}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:34px}.btn{height:56px;display:inline-grid;place-items:center;padding:0 26px;font-weight:950}.btn.primary{background:var(--lime);color:#0b100d}.btn.secondary{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(12px)}.hero-info{position:absolute;right:clamp(18px,4.8vw,74px);bottom:96px;width:min(430px,34vw);display:grid;border-top:1px solid rgba(255,255,255,.28);color:#fff}.hero-info div{display:grid;grid-template-columns:48px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.22)}.hero-info span{font-size:12px;color:var(--lime);font-weight:950}.hero-info b{font-size:14px}.hero-slider{position:absolute;left:clamp(18px,4.8vw,74px);bottom:28px;display:flex;gap:8px}.hero-slider button{width:58px;height:42px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;font-weight:950;cursor:pointer}.hero-slider button.active{background:#fff;color:var(--ink)}
.quick-bar{display:grid;grid-template-columns:repeat(3,1fr);background:#101714;color:#fff}.quick-bar a{min-height:92px;padding:22px clamp(18px,4.8vw,74px);border-right:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;justify-content:center}.quick-bar span{font-size:11px;font-weight:950;letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}.quick-bar b{margin-top:8px;font-size:18px;letter-spacing:-.03em}.section{padding:clamp(62px,8vw,118px) clamp(18px,4.8vw,74px)}.section h2{margin:0;font-size:clamp(34px,5vw,72px);line-height:.94;letter-spacing:-.065em}.section-copy>p:not(.kicker),.section-head>p:not(.kicker),.contact-copy>p:not(.kicker){color:var(--muted);font-size:18px;line-height:1.65;max-width:650px}.split{display:grid;grid-template-columns:.78fr 1.22fr;gap:46px;background:var(--paper2)}.section-copy{position:sticky;top:104px;align-self:start}.solution-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-card{position:relative;min-height:500px;overflow:hidden;background:#000}.photo-card.large{grid-row:span 2}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.76),rgba(0,0,0,.08) 58%)}.photo-card div{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;color:#fff}.photo-card span,.plain-card span{display:block;font-size:12px;letter-spacing:.14em;font-weight:950;color:var(--lime);margin-bottom:22px}.photo-card h3,.plain-card h3{margin:0 0 10px;font-size:31px;line-height:.98;letter-spacing:-.05em}.photo-card p,.plain-card p{margin:0;color:rgba(255,255,255,.78);line-height:1.55}.plain-card{min-height:243px;background:#fff;border:1px solid var(--line);padding:25px;display:flex;flex-direction:column;justify-content:flex-end}.plain-card span{color:var(--green)}.plain-card p{color:var(--muted)}.plain-card.dark{background:#14231c;color:#fff}.plain-card.dark span{color:var(--lime)}.plain-card.dark p{color:rgba(255,255,255,.74)}.systems{background:#e8e9df}.section-head{max-width:910px;margin-bottom:40px}.systems-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:18px}.systems-photo{min-height:585px;overflow:hidden}.system-list{display:grid;align-content:start;background:#fff;border:1px solid var(--line)}.system{border-bottom:1px solid var(--line)}.system:last-child{border-bottom:0}.system button{width:100%;height:106px;border:0;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 28px;cursor:pointer}.system button span{font-size:34px;font-weight:950;letter-spacing:-.06em}.system button b{font-size:12px;color:var(--green);letter-spacing:.14em}.system-body{display:none;padding:0 28px 28px}.system.open .system-body{display:block}.system-body p{margin:0 0 18px;color:var(--muted);max-width:620px;line-height:1.65}.system-body a{font-weight:950;color:var(--green);border-bottom:2px solid var(--green)}.applications{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;background:var(--paper2)}.app-photo{height:580px;overflow:hidden}.app-content{max-width:720px}.app-tags{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.app-tags a{min-height:86px;display:flex;align-items:center;padding:20px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:950}.app-tags a:hover{background:#14221b;color:#fff}.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;background:#101512;color:#fff}.contact .kicker{color:var(--lime)}.contact-copy>p:not(.kicker){color:rgba(255,255,255,.66)}.contact-lines{display:grid;gap:10px;margin-top:28px}.contact-lines a,.contact-lines p{margin:0;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);padding:18px}.contact-lines span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-weight:950}.contact-lines b{display:block;margin-top:6px;overflow-wrap:anywhere}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;color:var(--ink);padding:22px;box-shadow:var(--shadow)}.project-form label{display:grid;gap:8px}.project-form label span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:#53645b}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid var(--line);background:#f7f6ef;padding:15px 14px;outline:none;color:var(--ink)}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--green);background:#fff}.project-form .wide,.project-form button,.project-form small{grid-column:1/-1}.project-form textarea{resize:vertical}.project-form button{height:58px;border:0;background:var(--lime);color:#101512;font-weight:950;cursor:pointer}.project-form small{color:var(--muted)}.footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:30px clamp(18px,4.8vw,74px) 96px;background:#080b09;color:rgba(255,255,255,.7)}.footer a{color:#fff;font-weight:950}.footer-brand{display:flex;align-items:center;gap:12px}.bottom-nav,.mobile-menu{display:none}
@media (max-width:1050px){.desktop-nav,.header-cta{display:none}.menu-btn{display:block}.site-header{height:70px;padding:0 16px}.brand-mark{width:38px;height:38px}.brand-text small{letter-spacing:.12em}.hero{min-height:92svh;padding:108px 18px 104px}.hero h1{font-size:clamp(42px,11vw,74px)}.hero:after{background-size:33.33vw 100%}.hero-info{display:none}.hero-actions{margin-top:28px}.quick-bar{grid-template-columns:1fr 1fr 1fr}.quick-bar a{min-height:78px;padding:16px}.quick-bar b{font-size:13px}.split,.systems-layout,.applications,.contact{grid-template-columns:1fr}.section-copy{position:static}.solution-grid{grid-template-columns:1fr}.photo-card{min-height:390px}.plain-card{min-height:190px}.systems-photo,.app-photo{height:340px;min-height:340px}.system button{height:84px;padding:0 20px}.system button span{font-size:28px}.app-tags{grid-template-columns:1fr 1fr}.project-form{grid-template-columns:1fr}.footer{display:block;text-align:center;padding-bottom:112px}.footer-brand{justify-content:center;margin-bottom:16px}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:1fr 1fr 1.15fr;background:#0d120f;border-top:1px solid rgba(255,255,255,.12);padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -18px 50px rgba(0,0,0,.3)}.bottom-nav a{height:54px;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:950;border:1px solid rgba(255,255,255,.12)}.bottom-nav .main{background:var(--lime);color:#101512;border-color:var(--lime)}.mobile-menu{position:fixed;z-index:85;left:0;right:0;top:70px;background:#101512;color:#fff;display:grid;transform:translateY(-120%);transition:.24s ease;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.35)}.mobile-menu.open{transform:translateY(0)}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.12)}.mobile-menu button{height:38px}.mobile-menu a{padding:18px 16px;border-bottom:1px solid rgba(255,255,255,.1);font-weight:950}.mobile-menu .menu-call{background:var(--lime);color:#101512;text-align:center}}
@media (max-width:620px){:root{--header:70px}.brand{min-width:auto}.brand-text b{font-size:14px}.brand-text small{font-size:8px;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang{display:none}.hero{min-height:87svh;padding:96px 16px 92px;align-items:flex-end}.hero-overlay{background:linear-gradient(90deg,rgba(5,8,7,.82),rgba(5,8,7,.28)),linear-gradient(0deg,rgba(5,8,7,.88),rgba(5,8,7,.08) 68%)}.hero:after{opacity:.24;background-size:50vw 100%}.hero h1{font-size:43px;line-height:.92;letter-spacing:-.068em}.hero-copy{font-size:15.5px;margin-top:16px;line-height:1.55}.eyebrow{font-size:9px;margin-bottom:13px;letter-spacing:.15em}.hero-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:22px}.btn{width:100%;height:52px}.hero-slider{left:16px;bottom:18px;gap:7px}.hero-slider button{width:44px;height:36px;font-size:12px}.quick-bar{display:flex;overflow:auto;scrollbar-width:none}.quick-bar a{min-width:185px;min-height:72px}.section{padding:52px 16px}.section h2{font-size:34px;line-height:.98}.section-copy>p:not(.kicker),.section-head>p:not(.kicker),.contact-copy>p:not(.kicker){font-size:15.5px}.kicker{font-size:10px;margin-bottom:12px}.photo-card{min-height:320px}.photo-card div{left:18px;right:18px;bottom:18px}.photo-card h3,.plain-card h3{font-size:27px}.plain-card{padding:20px;min-height:176px}.systems-photo,.app-photo{height:285px;min-height:285px;margin-inline:-16px}.system-list{margin-inline:-1px}.system button{height:76px;padding:0 16px}.system button span{font-size:24px}.system-body{padding:0 16px 22px}.app-tags{display:grid;grid-template-columns:1fr;border:0;margin-top:22px;gap:8px}.app-tags a{min-height:60px;border:1px solid var(--line)}.contact-lines a,.contact-lines p{padding:15px}.project-form{padding:14px;margin-inline:-2px}.project-form input,.project-form select,.project-form textarea{font-size:16px;padding:14px 12px}.footer{font-size:13px}.bottom-nav a{height:52px}.mobile-menu a{padding:17px 16px}}
@media (max-width:380px){.hero h1{font-size:38px}.brand-text small{display:none}.hero{padding-left:14px;padding-right:14px}.section{padding-left:14px;padding-right:14px}.section h2{font-size:31px}.photo-card{min-height:295px}.bottom-nav{grid-template-columns:1fr 1fr 1fr}.bottom-nav a{font-size:11px}}

/* v9 animation layer */
.scroll-progress{position:fixed;z-index:999;top:0;left:0;width:100%;height:3px;background:var(--lime);transform:scaleX(0);transform-origin:left center;box-shadow:0 0 18px rgba(185,216,95,.55);pointer-events:none}.page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#101512;color:#fff;transition:opacity .55s ease,visibility .55s ease}.page-loader span{font-weight:950;letter-spacing:-.05em;font-size:clamp(34px,7vw,82px);position:relative}.page-loader span:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--lime);transform-origin:left;animation:loaderLine 1.15s cubic-bezier(.2,.8,.2,1) infinite}.loaded .page-loader{opacity:0;visibility:hidden}@keyframes loaderLine{0%{transform:scaleX(0);opacity:.55}45%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1);opacity:0}}
.hero-media{animation:heroBreath 13s ease-in-out infinite alternate}.hero-animate .eyebrow,.hero-animate h1,.hero-animate .hero-copy,.hero-animate .hero-actions{opacity:0;transform:translateY(28px);animation:heroText .86s cubic-bezier(.2,.8,.2,1) forwards}.hero-animate h1{animation-delay:.18s}.hero-animate .hero-copy{animation-delay:.32s}.hero-animate .hero-actions{animation-delay:.46s}.hero-info.hero-animate{opacity:0;transform:translateX(28px);animation:heroSide .8s cubic-bezier(.2,.8,.2,1) .62s forwards}.hero-slider button{transition:transform .22s ease,background .22s ease,color .22s ease,border-color .22s ease}.hero-slider button:hover{transform:translateY(-4px)}@keyframes heroText{to{opacity:1;transform:none}}@keyframes heroSide{to{opacity:1;transform:none}}@keyframes heroBreath{0%{filter:saturate(.95) contrast(1);transform:scale(1.04)}100%{filter:saturate(1.08) contrast(1.06);transform:scale(1.095)}}
.reveal,.photo-card,.plain-card,.system,.app-tags a,.contact-lines a,.contact-lines p{opacity:0;transform:translateY(38px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1),filter .75s ease;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal-left{transform:translateX(-42px)}.reveal-right{transform:translateX(42px)}.is-visible{opacity:1!important;transform:none!important}.photo-card img,.systems-photo img,.app-photo img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .5s ease}.photo-card:hover img{transform:scale(1.075);filter:saturate(1.08) contrast(1.04)}.plain-card,.system,.app-tags a,.contact-lines a,.contact-lines p,.project-form{transition:transform .34s ease,border-color .34s ease,box-shadow .34s ease,background .34s ease,opacity .75s cubic-bezier(.2,.8,.2,1)}.plain-card:hover,.system:hover,.app-tags a:hover,.contact-lines a:hover{transform:translateY(-6px);box-shadow:0 24px 70px rgba(9,16,13,.14);border-color:rgba(35,75,54,.28)}.btn,.header-cta,.project-form button{transition:transform .2s ease,box-shadow .25s ease,background .25s ease}.btn.primary:hover,.header-cta:hover,.project-form button:hover{box-shadow:0 18px 44px rgba(185,216,95,.28)}.btn.secondary:hover{background:rgba(255,255,255,.18)}
.section-photo-bg{position:relative;overflow:hidden}.section-photo-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(235,232,220,.96),rgba(235,232,220,.86)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1400&q=70') center/cover no-repeat;opacity:.74;z-index:0}.section-photo-bg>*{position:relative;z-index:1}.section-photo-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,21,19,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(16,21,19,.045) 1px,transparent 1px);background-size:90px 90px;opacity:.48;pointer-events:none}
@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal,.photo-card,.plain-card,.system,.app-tags a,.contact-lines a,.contact-lines p{opacity:1!important;transform:none!important}.page-loader{display:none!important}}
@media (max-width:760px){.page-loader span{font-size:38px}.hero-media{animation:heroBreathMobile 12s ease-in-out infinite alternate}.reveal,.reveal-left,.reveal-right,.photo-card,.plain-card,.system,.app-tags a,.contact-lines a,.contact-lines p{transform:translateY(24px)}.section-photo-bg:before{background:linear-gradient(0deg,rgba(235,232,220,.96),rgba(235,232,220,.9)),url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1200&q=80') center/cover no-repeat}.plain-card:hover,.system:hover,.app-tags a:hover,.contact-lines a:hover,.photo-card:hover img{transform:none;box-shadow:none}}@keyframes heroBreathMobile{0%{transform:scale(1.02)}100%{transform:scale(1.055)}}


/* v10 premium mobile + contact polish */
:root{--lime:#c7e36c;--green:#163d2b;--deep:#070b09;--paper:#f5f2e8;--paper2:#e9e5d8}
.hero-media{background-position:center center!important;will-change:transform,filter;}
.hero-overlay{background:linear-gradient(90deg,rgba(3,6,5,.92),rgba(3,6,5,.55) 45%,rgba(3,6,5,.08)),linear-gradient(0deg,rgba(3,6,5,.72),rgba(3,6,5,.08) 58%)}
.hero-content{position:relative}.hero-content:before{content:"";position:absolute;left:-26px;top:-30px;width:2px;height:136px;background:linear-gradient(var(--lime),transparent);animation:drawDown 1s cubic-bezier(.2,.8,.2,1) .4s both}.btn,.header-cta,.project-form button{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.photo-card,.systems-photo,.app-photo,.project-form,.contact-lines a,.contact-lines p{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.premium-contact{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 10%,rgba(199,227,108,.18),transparent 28%),linear-gradient(135deg,#07100b,#101512 56%,#18231d)}
.premium-contact:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:92px 92px;opacity:.7;pointer-events:none}.premium-contact>*{position:relative;z-index:1}
.contact-cards small{display:block;margin-top:8px;color:rgba(255,255,255,.52);font-size:12px;line-height:1.45}.contact-lines a,.contact-lines p{transition:transform .28s ease,background .28s ease,border-color .28s ease}.contact-lines a:hover,.contact-lines p:hover{background:rgba(255,255,255,.09);border-color:rgba(199,227,108,.34)}
.project-form{border:1px solid rgba(255,255,255,.12);box-shadow:0 34px 90px rgba(0,0,0,.32)}.project-form label span{color:#314137}.project-form input,.project-form select,.project-form textarea{border-color:rgba(22,61,43,.16);background:#f8f7ef}.project-form button{background:linear-gradient(135deg,var(--lime),#aeca46)}
.footer{border-top:1px solid rgba(255,255,255,.12);padding-bottom:34px}.footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.made-by{opacity:.88}.made-by strong{color:var(--lime);font-weight:950}.made-by:hover{opacity:1}
@keyframes drawDown{from{transform:scaleY(0);transform-origin:top;opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-info div{animation:softFloat 5.5s ease-in-out infinite}.hero-info div:nth-child(2){animation-delay:.6s}.hero-info div:nth-child(3){animation-delay:1.1s}
.is-visible.photo-card:before,.is-visible.systems-photo:before,.is-visible.app-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:translateX(120%);animation:sheen 1.15s ease .18s both;z-index:3;pointer-events:none}@keyframes sheen{from{transform:translateX(-120%)}to{transform:translateX(120%)}}
@media (max-width:1050px){.footer{padding-bottom:112px}.footer-links{justify-content:center;margin-top:12px}.contact{gap:22px}.contact-lines{grid-template-columns:1fr}.project-form{box-shadow:0 22px 60px rgba(0,0,0,.28)}}
@media (max-width:620px){body{padding-bottom:76px}.site-header{backdrop-filter:blur(18px)}.hero{min-height:86svh;padding:104px 16px 96px}.hero-media{background-position:58% center!important}.hero-content:before{left:-12px;top:-18px;height:86px}.hero h1{font-size:clamp(38px,12vw,48px);line-height:.93}.hero-copy{max-width:94%;font-size:15.8px;color:rgba(255,255,255,.82)}.btn{height:54px}.quick-bar a{min-width:168px}.section{padding:50px 16px}.split{gap:26px}.photo-card{min-height:290px}.systems-photo,.app-photo{height:260px;min-height:260px}.system button{height:72px}.project-form{gap:10px;padding:16px;clip-path:none}.project-form label span{font-size:10px}.project-form button{height:56px}.contact-lines a,.contact-lines p{clip-path:none}.footer{padding:28px 16px 104px}.footer-links{gap:10px;display:grid}.bottom-nav{grid-template-columns:1fr 1fr 1.25fr}.bottom-nav a{height:54px}.mobile-menu{max-height:calc(100svh - 70px);overflow:auto}.mobile-menu a{min-height:56px;display:flex;align-items:center}.page-loader{display:none}}


/* v11 — hero photo visibility, responsive slides and back-to-top */
.hero{isolation:isolate;background:#070b09;}
.hero-media{z-index:0!important;opacity:1;filter:saturate(1.03) contrast(1.05);background-position:center center!important;}
.hero-overlay{z-index:1!important;background:linear-gradient(90deg,rgba(3,6,5,.90) 0%,rgba(3,6,5,.70) 28%,rgba(3,6,5,.30) 58%,rgba(3,6,5,.06) 100%),linear-gradient(0deg,rgba(3,6,5,.70),rgba(3,6,5,.05) 58%)!important;}
.hero:after{z-index:1!important;pointer-events:none;}
.hero-content,.hero-info,.hero-slider{z-index:2;}
.hero-content{transition:opacity .32s ease,transform .32s cubic-bezier(.2,.8,.2,1),filter .32s ease;}
.hero-content.slide-switch{opacity:.08;transform:translateY(18px);filter:blur(6px);}
.hero-slider button{position:relative;overflow:hidden;}
.hero-slider button.active:after{content:"";position:absolute;left:0;bottom:0;height:3px;background:var(--lime);animation:slideFill 6.5s linear forwards;right:0;transform-origin:left;}
@keyframes slideFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

.back-top{position:fixed;right:22px;bottom:24px;z-index:120;width:54px;height:54px;border:1px solid rgba(255,255,255,.2);background:rgba(12,18,15,.88);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(16px);transition:opacity .24s ease,visibility .24s ease,transform .24s ease,background .24s ease;backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(0,0,0,.25);clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
.back-top span{font-size:25px;line-height:1;font-weight:950;transform:translateY(-1px)}
.back-top.visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-top:hover{background:var(--lime);color:#101512;border-color:var(--lime);transform:translateY(-4px)}

@media (min-width:1051px){
  .hero-content{max-width:min(760px,54vw)}
  .hero-media{background-position:65% center!important;}
}
@media (max-width:1050px){
  .hero-media{background-position:62% center!important;}
  .hero-overlay{background:linear-gradient(90deg,rgba(3,6,5,.86),rgba(3,6,5,.54) 54%,rgba(3,6,5,.12)),linear-gradient(0deg,rgba(3,6,5,.76),rgba(3,6,5,.06) 60%)!important;}
  .back-top{right:16px;bottom:88px;width:48px;height:48px;}
}
@media (max-width:620px){
  .hero{min-height:90svh;padding:104px 16px 108px;align-items:flex-end;}
  .hero-media{background-position:70% center!important;transform:scale(1.02);}
  .hero-overlay{background:linear-gradient(0deg,rgba(3,6,5,.92) 0%,rgba(3,6,5,.72) 42%,rgba(3,6,5,.20) 100%),linear-gradient(90deg,rgba(3,6,5,.84),rgba(3,6,5,.26))!important;}
  .hero-content{max-width:100%;}
  .hero h1{font-size:clamp(34px,10.8vw,46px);line-height:.96;letter-spacing:-.06em;max-width:95vw;}
  .hero-copy{font-size:15px;max-width:92vw;}
  .hero-slider{bottom:72px;left:16px;right:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
  .hero-slider button{width:100%;height:36px;}
  .hero-actions{grid-template-columns:1fr 1fr;}
  .hero-actions .btn{padding:0 12px;font-size:13px;}
  .back-top{width:44px;height:44px;right:14px;bottom:84px;}
  .back-top span{font-size:22px;}
}
@media (max-width:390px){
  .hero h1{font-size:33px;}
  .hero-copy{font-size:14px;}
  .hero-actions{grid-template-columns:1fr;}
}


/* v13 — requested single hero image for slides 01/02/03 + mobile full-screen hero fix */
:root{--mobile-bottom-h:76px;--vh:1vh;}
html,body{background:#050807!important;}
#home, main{background:#050807!important;}
.hero{background:#050807!important;margin-bottom:0!important;}
.hero-media{background-size:cover!important;background-repeat:no-repeat!important;}

@media (max-width:1050px){
  .hero{
    min-height:100svh!important;
    min-height:100dvh!important;
    min-height:calc(var(--vh, 1vh) * 100)!important;
    height:auto!important;
    padding-top:104px!important;
    padding-bottom:calc(var(--mobile-bottom-h) + 34px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    align-items:flex-end!important;
  }
  .hero-media{background-position:center center!important;}
  .hero-slider{bottom:calc(var(--mobile-bottom-h) + 10px + env(safe-area-inset-bottom))!important;}
  body{padding-bottom:0!important;}
  .bottom-nav{height:auto!important;min-height:var(--mobile-bottom-h)!important;}
}

@media (max-width:620px){
  .hero{
    min-height:100svh!important;
    min-height:100dvh!important;
    min-height:calc(var(--vh, 1vh) * 100)!important;
    padding:96px 16px calc(var(--mobile-bottom-h) + 54px + env(safe-area-inset-bottom))!important;
  }
  .hero-media{background-position:center center!important;transform:none!important;animation:none!important;}
  .hero-overlay{
    background:linear-gradient(0deg,rgba(3,6,5,.94) 0%,rgba(3,6,5,.80) 38%,rgba(3,6,5,.34) 100%),linear-gradient(90deg,rgba(3,6,5,.82),rgba(3,6,5,.24))!important;
  }
  .hero-content{width:100%;}
  .hero h1{font-size:clamp(36px,11.4vw,48px)!important;line-height:.94!important;}
  .hero-copy{font-size:15px!important;line-height:1.48!important;}
  .hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:22px!important;}
  .hero-actions .btn{height:54px!important;width:100%!important;}
  .hero-slider{left:16px!important;right:16px!important;bottom:calc(var(--mobile-bottom-h) + 10px + env(safe-area-inset-bottom))!important;}
  .quick-bar{margin-top:0!important;}
}

@media (max-width:390px){
  .hero{padding-top:90px!important;padding-bottom:calc(var(--mobile-bottom-h) + 48px + env(safe-area-inset-bottom))!important;}
  .hero h1{font-size:34px!important;}
  .hero-copy{font-size:14px!important;}
}


/* v14 — mobile polish, professional typography, better responsive text */
:root{
  --font-main:"IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html, body, button, input, select, textarea{
  font-family:var(--font-main)!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body{font-weight:500;}
h1,h2,h3,.brand-text b,.desktop-nav a,.btn,.header-cta,.kicker,.system button span,.project-form button{
  font-family:var(--font-main)!important;
  letter-spacing:-.035em;
}
.kicker,.eyebrow,.brand-text small{letter-spacing:.16em!important;font-weight:800;}

/* Footer cleanup */
.footer-links{justify-content:flex-end;}
.footer-links .made-by{display:inline-flex;align-items:center;gap:4px;}

/* Hide mobile bottom CTA while scrolling down / after hero so it doesn't cover content */
.bottom-nav{
  transition:transform .28s cubic-bezier(.2,.8,.2,1), opacity .22s ease, visibility .22s ease;
  will-change:transform;
}
body.hide-mobile-actions .bottom-nav{
  transform:translateY(120%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
@media (min-width:769px){.bottom-nav{display:none!important;}}

/* General responsive content protection */
.section h2,
.hero h1,
.photo-card h3,
.plain-card h3,
.system button span,
.contact-copy h2{
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
.section-copy p,
.plain-card p,
.photo-card p,
.system-body p,
.contact-copy p,
.project-form small{
  max-width:62ch;
}

@media (max-width:760px){
  .quick-bar{display:none!important;}
  .section{padding:56px 18px!important;}
  .section h2,
  .contact-copy h2{
    font-size:clamp(30px, 8.4vw, 42px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  .section-copy>p:not(.kicker),
  .section-head>p:not(.kicker),
  .contact-copy>p:not(.kicker),
  .plain-card p,
  .photo-card p,
  .system-body p{
    font-size:15.5px!important;
    line-height:1.6!important;
  }
  .split,
  .systems-layout,
  .applications,
  .contact{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .solution-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .photo-card,
  .plain-card{
    min-height:auto!important;
  }
  .photo-card{
    display:grid!important;
    min-height:360px!important;
  }
  .photo-card div{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .photo-card h3,
  .plain-card h3{
    font-size:clamp(25px, 7.5vw, 34px)!important;
    line-height:1.02!important;
  }
  .plain-card{
    padding:22px!important;
  }
  .systems-photo,
  .app-photo{
    margin-inline:0!important;
    height:280px!important;
    min-height:280px!important;
  }
  .system button{
    height:auto!important;
    min-height:76px!important;
    padding:18px 16px!important;
    gap:12px!important;
  }
  .system button span{
    font-size:clamp(23px, 7vw, 32px)!important;
    line-height:1!important;
  }
  .system-body{
    padding:0 16px 22px!important;
  }
  .app-tags{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .app-tags a{
    min-height:56px!important;
    padding:14px 16px!important;
  }
  .contact-lines{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .contact-lines a,
  .contact-lines p{
    padding:16px!important;
  }
  .project-form{
    margin-inline:0!important;
    padding:18px!important;
    width:100%!important;
  }
  .project-form input,
  .project-form select,
  .project-form textarea{
    width:100%!important;
    min-height:48px!important;
  }
  .footer{
    padding-bottom:34px!important;
  }
  .footer-links{
    justify-content:center!important;
  }
}

@media (max-width:420px){
  .site-header{padding-inline:14px!important;}
  .brand-mark{width:38px!important;height:38px!important;font-size:13px!important;}
  .brand-text b{font-size:14px!important;}
  .hero h1{font-size:clamp(32px, 10vw, 40px)!important;line-height:.98!important;}
  .hero-copy{font-size:14.5px!important;line-height:1.55!important;}
  .section{padding:50px 16px!important;}
  .section h2,.contact-copy h2{font-size:clamp(28px, 8.7vw, 36px)!important;}
  .photo-card{min-height:320px!important;}
  .systems-photo,.app-photo{height:235px!important;min-height:235px!important;}
}


/* v15 — red EasyGreen palette, smoother mobile, clean typography */
:root{
  --red:#a72d29;
  --red2:#7f201e;
  --red-soft:rgba(167,45,41,.14);
  --lime:var(--red)!important;
  --green:var(--red)!important;
  --green2:var(--red2)!important;
  --font-main:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html,body,button,input,select,textarea{font-family:var(--font-main)!important;}
body{background:#f5f2e8!important;}
a,a:visited{color:inherit;}
.brand-mark{overflow:hidden;background:#050807;border-color:rgba(255,255,255,.72)!important;}
.brand-mark img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.34);}
.header-cta,.btn.primary,.project-form button{background:var(--red)!important;color:#fff!important;}
.header-cta:hover,.btn.primary:hover,.project-form button:hover{box-shadow:0 18px 44px rgba(167,45,41,.28)!important;}
.scroll-progress,.page-loader span:after,.hero-content:before,.hero-slider button.active:after{background:var(--red)!important;box-shadow:none!important;}
.eyebrow,.kicker,.hero-info span,.quick-bar span,.photo-card span,.plain-card span,.plain-card.dark span,.contact-lines span,.contact .kicker,.made-by strong{color:var(--red)!important;}
.desktop-nav a:after{background:var(--red)!important;}
.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:var(--red)!important;}
.premium-contact{background:radial-gradient(circle at 20% 10%,rgba(167,45,41,.18),transparent 28%),linear-gradient(135deg,#080908,#111312 56%,#211513)!important;}
.plain-card.dark{background:#251715!important;}
.system button span{color:#111!important;}
.system button b{color:var(--red)!important;}
.system-body a,.system-body a:visited{color:var(--red)!important;border-bottom-color:var(--red)!important;}
.system-body p,.system-body a{font-size:clamp(14.5px, 2.6vw, 16px)!important;line-height:1.65!important;}
.app-tags a:hover{background:var(--red)!important;color:#fff!important;}
.contact-lines a:hover,.contact-lines p:hover{border-color:rgba(167,45,41,.42)!important;}

/* Desktop keeps slider. Mobile gets one stable hero title, no 01/02/03 buttons */
@media (max-width:760px){
  body{padding-bottom:0!important;}
  .bottom-nav{display:none!important;}
  .hero-slider{display:none!important;}
  .hero-info{display:none!important;}
  .hero{
    min-height:100svh!important;
    min-height:calc(var(--vh, 1vh) * 100)!important;
    padding:94px 16px 34px!important;
    align-items:flex-end!important;
    overflow:hidden!important;
  }
  .hero-media{
    animation:none!important;
    transform:none!important;
    background-position:58% center!important;
    will-change:auto!important;
  }
  .hero-overlay{
    background:linear-gradient(0deg,rgba(3,6,5,.91) 0%,rgba(3,6,5,.68) 45%,rgba(3,6,5,.25) 100%),linear-gradient(90deg,rgba(3,6,5,.72),rgba(3,6,5,.18))!important;
  }
  .hero-content{max-width:100%!important;width:100%!important;}
  .hero-content:before{height:74px!important;top:-14px!important;left:-8px!important;background:linear-gradient(var(--red),transparent)!important;}
  .hero h1{
    font-size:clamp(30px, 9.2vw, 42px)!important;
    line-height:1.02!important;
    letter-spacing:-.055em!important;
    max-width:11ch!important;
    text-wrap:balance;
  }
  .hero-copy{
    font-size:clamp(14px, 4vw, 16px)!important;
    line-height:1.52!important;
    max-width:33ch!important;
  }
  .hero-actions{grid-template-columns:1fr!important;margin-top:20px!important;gap:9px!important;}
  .btn{height:52px!important;font-size:14px!important;}
  .site-header{height:70px!important;}
  .brand{min-width:0!important;gap:10px!important;}
  .brand-text b{font-size:14px!important;}
  .brand-text small{display:none!important;}

  /* typography protection across site */
  .section h2,.contact-copy h2{
    font-size:clamp(27px, 8vw, 38px)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
    text-wrap:balance;
  }
  .section-copy>p:not(.kicker),.section-head>p:not(.kicker),.contact-copy>p:not(.kicker),.plain-card p,.photo-card p,.system-body p{
    font-size:clamp(14.5px, 4vw, 16px)!important;
    line-height:1.62!important;
    overflow-wrap:break-word!important;
    hyphens:auto!important;
  }
  .photo-card h3,.plain-card h3{
    font-size:clamp(23px, 7vw, 31px)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
    text-wrap:balance;
  }
  .system button span{
    font-size:clamp(22px, 6.6vw, 30px)!important;
    color:#101513!important;
    line-height:1.05!important;
  }
  .system button{min-height:72px!important;}
  .system-body a{font-size:14.5px!important;color:var(--red)!important;}
  .project-form{grid-template-columns:1fr!important;}
  .footer{padding-bottom:30px!important;}
  .back-top{right:16px!important;bottom:16px!important;background:rgba(9,10,9,.86)!important;}

  /* remove heavy scroll work on phones */
  .reveal,.reveal-left,.reveal-right,.photo-card,.plain-card,.system,.app-tags a,.contact-lines a,.contact-lines p{
    transition-duration:.42s!important;
    transform:translateY(16px);
    will-change:auto!important;
  }
  .is-visible.photo-card:before,.is-visible.systems-photo:before,.is-visible.app-photo:before{display:none!important;}
  .photo-card img,.systems-photo img,.app-photo img{transform:none!important;transition:none!important;}
}

@media (max-width:390px){
  .hero{padding-top:86px!important;}
  .hero h1{font-size:clamp(28px, 9vw, 36px)!important;max-width:12ch!important;}
  .hero-copy{font-size:14px!important;max-width:31ch!important;}
  .section{padding-inline:15px!important;}
  .section h2,.contact-copy h2{font-size:clamp(25px, 8.2vw, 34px)!important;}
}

/* v16 — mobile readability fix: no overlapping/cut text, smoother scrolling */
@media (max-width: 760px){
  html{scroll-behavior:auto!important;}
  body{background:#f5f2e8!important;overflow-x:hidden!important;}

  /* lighter fixed header for smoother mobile scroll */
  .site-header{
    height:70px!important;
    background:rgba(15,22,18,.96)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
  }

  /* stop all heavy entrance/parallax work on phones */
  .reveal,
  .reveal-left,
  .reveal-right,
  .photo-card,
  .plain-card,
  .system,
  .app-tags a,
  .contact-lines a,
  .contact-lines p{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
  }
  .photo-card img,
  .systems-photo img,
  .app-photo img,
  .hero-media{
    transform:none!important;
    transition:none!important;
    animation:none!important;
    will-change:auto!important;
  }

  /* keep the hero stable and lighter */
  .hero{
    min-height:100svh!important;
    padding:90px 18px 34px!important;
  }
  .hero h1{
    font-size:clamp(30px, 8.8vw, 40px)!important;
    line-height:1.02!important;
    max-width:13ch!important;
    letter-spacing:-.055em!important;
  }
  .hero-copy{
    font-size:clamp(14px, 3.8vw, 15.5px)!important;
    line-height:1.55!important;
    max-width:34ch!important;
  }

  /* global mobile text safety */
  .section,
  .section *{
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:none!important;
  }
  .section{
    padding:48px 18px!important;
    overflow:visible!important;
  }
  .kicker{
    font-size:10px!important;
    line-height:1.2!important;
    margin-bottom:12px!important;
    letter-spacing:.18em!important;
  }
  .section h2,
  .contact-copy h2,
  .section-head h2{
    font-size:clamp(28px, 7.2vw, 34px)!important;
    line-height:1.12!important;
    letter-spacing:-.042em!important;
    max-width:100%!important;
    margin-bottom:14px!important;
  }
  .section-copy,
  .section-head,
  .contact-copy,
  .app-content{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  .section-copy > p:not(.kicker),
  .section-head > p:not(.kicker),
  .contact-copy > p:not(.kicker),
  .plain-card p,
  .photo-card p,
  .system-body p{
    font-size:clamp(14px, 3.8vw, 15.5px)!important;
    line-height:1.58!important;
    max-width:100%!important;
    margin-bottom:0!important;
  }

  /* Solutions: force clean vertical flow so paragraph never falls behind the cards */
  #solutions.split{
    display:block!important;
    padding-top:56px!important;
    padding-bottom:44px!important;
  }
  #solutions .section-copy{
    display:block!important;
    position:relative!important;
    top:auto!important;
    margin:0 0 24px!important;
    padding:0!important;
    z-index:2!important;
  }
  #solutions .section-copy h2{
    font-size:clamp(30px, 8.1vw, 36px)!important;
    line-height:1.08!important;
    margin-bottom:16px!important;
  }
  #solutions .section-copy > p:not(.kicker){
    font-size:clamp(14.5px, 3.9vw, 16px)!important;
    line-height:1.6!important;
    color:#68736d!important;
    display:block!important;
  }
  #solutions .solution-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin:0!important;
    clear:both!important;
  }
  #solutions .photo-card.large{
    grid-row:auto!important;
    min-height:315px!important;
    max-height:none!important;
  }
  #solutions .photo-card div{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  #solutions .photo-card h3,
  #solutions .plain-card h3{
    font-size:clamp(25px, 6.8vw, 31px)!important;
    line-height:1.08!important;
    letter-spacing:-.04em!important;
    margin-bottom:10px!important;
  }
  #solutions .photo-card p,
  #solutions .plain-card p{
    font-size:clamp(14px, 3.7vw, 15px)!important;
    line-height:1.55!important;
  }
  #solutions .plain-card{
    min-height:auto!important;
    padding:24px 22px!important;
    justify-content:flex-start!important;
  }
  #solutions .plain-card span,
  #solutions .photo-card span{
    margin-bottom:16px!important;
  }

  /* Systems / FR: prevent weird blue link color and keep spacing compact */
  .system-list{
    background:#fff!important;
  }
  .system button span,
  .system button span:visited{
    color:#101513!important;
  }
  .system-body a,
  .system-body a:visited,
  .system-body a:hover{
    color:var(--red)!important;
    border-bottom-color:var(--red)!important;
  }
  .system button{
    min-height:68px!important;
    padding:16px!important;
  }
  .system button span{
    font-size:clamp(22px, 6vw, 28px)!important;
  }

  /* Cards/photos sizing */
  .systems-photo,
  .app-photo{
    height:240px!important;
    min-height:240px!important;
    margin-inline:0!important;
  }
  .photo-card,
  .plain-card,
  .systems-photo,
  .app-photo,
  .project-form,
  .contact-lines a,
  .contact-lines p{
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)!important;
  }

  .back-top{
    right:14px!important;
    bottom:14px!important;
    width:46px!important;
    height:46px!important;
  }
}

@media (max-width: 390px){
  .section{padding-left:16px!important;padding-right:16px!important;}
  .section h2,
  .contact-copy h2,
  .section-head h2{
    font-size:clamp(26px, 7.6vw, 31px)!important;
    line-height:1.13!important;
  }
  #solutions .section-copy h2{
    font-size:clamp(28px, 8vw, 33px)!important;
  }
  #solutions .photo-card.large{min-height:300px!important;}
  #solutions .photo-card h3,
  #solutions .plain-card h3{font-size:clamp(24px, 6.7vw, 29px)!important;}
}


/* v17 — premium mobile burger menu + safer mobile typography */
.menu-backdrop{display:none;}

@media (max-width:1050px){
  .menu-btn{
    width:62px!important;
    height:58px!important;
    display:grid!important;
    place-items:center!important;
    gap:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.25)!important;
    background:rgba(255,255,255,.055)!important;
    position:relative!important;
    transition:background .2s ease,border-color .2s ease,transform .2s ease!important;
  }
  .menu-btn:hover{background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.42)!important;}
  .menu-btn span{
    position:absolute!important;
    left:17px!important;
    right:17px!important;
    width:auto!important;
    height:2px!important;
    background:#fff!important;
    transition:transform .24s ease, top .24s ease, opacity .18s ease!important;
  }
  .menu-btn span:first-child{top:22px!important;}
  .menu-btn span:last-child{top:34px!important;}
  .menu-btn.open span:first-child{top:28px!important;transform:rotate(45deg)!important;}
  .menu-btn.open span:last-child{top:28px!important;transform:rotate(-45deg)!important;}

  .menu-backdrop{
    display:block;
    position:fixed;
    inset:0;
    z-index:82;
    pointer-events:none;
    opacity:0;
    background:rgba(3,5,5,.62);
    transition:opacity .28s ease;
  }
  .menu-backdrop.open{opacity:1;pointer-events:auto;}
  body.menu-open{overflow:hidden;touch-action:none;}

  .mobile-menu{
    display:block!important;
    position:fixed!important;
    inset:0 0 auto auto!important;
    top:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(430px, calc(100vw - 24px))!important;
    height:100dvh!important;
    max-height:none!important;
    z-index:86!important;
    background:#0e1512!important;
    color:#fff!important;
    transform:translateX(106%)!important;
    transition:transform .34s cubic-bezier(.2,.8,.2,1)!important;
    box-shadow:-28px 0 80px rgba(0,0,0,.42)!important;
    border-left:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
    overflow:hidden!important;
  }
  .mobile-menu.open{transform:translateX(0)!important;}
  .mobile-menu-inner{
    min-height:100%;
    display:flex;
    flex-direction:column;
    padding:18px;
    background:
      linear-gradient(180deg, rgba(165,44,40,.16), rgba(165,44,40,0) 34%),
      radial-gradient(circle at 85% 12%, rgba(255,255,255,.10), transparent 28%),
      #0e1512;
  }
  .mobile-menu-top{
    padding:0 0 18px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
  }
  .menu-brand{display:flex;align-items:center;gap:12px;min-width:0;}
  .menu-brand .brand-mark{width:46px!important;height:46px!important;min-width:46px!important;}
  .menu-brand b{display:block;font-size:17px;line-height:1.1;letter-spacing:-.03em;}
  .menu-brand small{display:block;margin-top:3px;font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.54);}
  .menu-close{
    width:46px!important;
    height:46px!important;
    border:1px solid rgba(255,255,255,.18)!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    font-size:34px!important;
    line-height:1!important;
    cursor:pointer;
  }

  .mobile-menu-links{
    display:grid;
    gap:0;
    margin:24px 0 18px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .mobile-menu-links a{
    min-height:76px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:48px 1fr!important;
    align-items:center!important;
    gap:12px!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    color:#fff!important;
    text-decoration:none!important;
  }
  .mobile-menu-links a span{
    color:var(--red)!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
  }
  .mobile-menu-links a b{
    font-size:clamp(24px, 7vw, 34px)!important;
    line-height:1!important;
    letter-spacing:-.045em!important;
    font-weight:900!important;
  }

  .mobile-menu-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:auto;
  }
  .mobile-menu-actions button,
  .mobile-menu-actions a{
    min-height:52px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
    padding:0 12px!important;
    font-weight:900!important;
    font-size:13px!important;
    text-align:center!important;
  }
  .mobile-menu-actions .menu-offer{
    grid-column:1/-1;
    background:var(--red)!important;
    border-color:var(--red)!important;
    color:#fff!important;
    min-height:58px!important;
  }
  .mobile-menu-foot{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.12);
    color:rgba(255,255,255,.62);
    font-size:12px;
    line-height:1.55;
    display:grid;
    gap:3px;
  }
  .mobile-menu-foot a{color:#fff!important;overflow-wrap:anywhere;font-weight:700;}
}

@media (max-width:760px){
  /* Stop text clipping across all mobile sections */
  .section h2,
  .contact-copy h2,
  .section-head h2,
  .plain-card h3,
  .photo-card h3,
  .system button span,
  .hero h1{
    text-wrap:balance;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .section-copy > p:not(.kicker),
  .plain-card p,
  .photo-card p,
  .system-body p,
  .contact-copy > p:not(.kicker){
    text-wrap:pretty;
    overflow-wrap:break-word!important;
  }
  .site-header{border-radius:0!important;}
  .mobile-menu{width:calc(100vw - 18px)!important;}
  .mobile-menu-inner{padding:16px;}
  .mobile-menu-links a{min-height:70px!important;}
  .mobile-menu-links a b{font-size:clamp(24px, 7.4vw, 31px)!important;}
  .mobile-menu-actions{padding-bottom:max(0px, env(safe-area-inset-bottom));}
}

@media (max-width:380px){
  .mobile-menu{width:100vw!important;}
  .mobile-menu-inner{padding:14px;}
  .mobile-menu-links a{grid-template-columns:40px 1fr!important;min-height:66px!important;}
  .mobile-menu-links a b{font-size:24px!important;}
}

/* v18 — contact form focus stability + cleaner responsive hero */
html{
  scroll-padding-top:86px;
}
.project-form,
.project-form *{
  overflow-anchor:none;
}
.project-form{
  align-self:start;
  transform:none!important;
  transition:box-shadow .22s ease,border-color .22s ease!important;
  contain:layout paint;
}
.project-form label{
  min-width:0;
  transform:none!important;
}
.project-form input,
.project-form select,
.project-form textarea{
  display:block;
  min-width:0;
  font-size:16px;
  line-height:1.25;
  border-radius:0;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.project-form select{
  padding-right:42px;
  background-image:linear-gradient(45deg, transparent 50%, #53645b 50%),linear-gradient(135deg, #53645b 50%, transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.project-form textarea{
  min-height:124px;
}
.project-form input:focus,
.project-form select:focus,
.project-form textarea:focus{
  box-shadow:0 0 0 4px rgba(167,45,41,.10);
}
.project-form label:focus-within span{
  color:var(--red)!important;
}

/* Hero: safer desktop/tablet layout so text and trust box never fight each other */
.hero-content{
  width:min(100%, 880px);
}
.hero h1{
  text-wrap:balance;
}
.hero-copy{
  text-wrap:pretty;
}
@media (min-width:1051px) and (max-width:1280px){
  .hero{
    padding-top:calc(var(--header) + 54px)!important;
    padding-bottom:96px!important;
  }
  .hero-content{
    max-width:min(720px, 58vw)!important;
  }
  .hero h1{
    font-size:clamp(52px, 6.2vw, 82px)!important;
    line-height:.94!important;
  }
  .hero-copy{
    font-size:clamp(17px, 1.55vw, 20px)!important;
    max-width:600px!important;
  }
  .hero-info{
    width:min(360px, 30vw)!important;
    bottom:88px!important;
  }
}
@media (max-width:1050px){
  html{scroll-padding-top:78px;}
  .hero{
    min-height:clamp(620px, 100svh, 900px)!important;
    padding:112px 18px 46px!important;
    align-items:flex-end!important;
  }
  .hero-content{
    max-width:720px!important;
  }
  .hero h1{
    max-width:13ch!important;
    font-size:clamp(40px, 8.8vw, 72px)!important;
    line-height:1!important;
  }
  .hero-copy{
    max-width:42ch!important;
    font-size:clamp(15.5px, 2.4vw, 19px)!important;
  }
  .hero-info{
    display:none!important;
  }
  .hero-actions{
    display:flex!important;
    gap:10px!important;
  }
}
@media (max-width:760px){
  html{scroll-padding-top:74px;}
  .hero{
    min-height:100svh!important;
    min-height:calc(var(--vh, 1vh) * 100)!important;
    padding:96px 16px max(30px, env(safe-area-inset-bottom))!important;
  }
  .hero-content{
    width:100%!important;
    max-width:100%!important;
  }
  .hero h1{
    max-width:12.5ch!important;
    font-size:clamp(32px, 9.4vw, 44px)!important;
    line-height:1.04!important;
    letter-spacing:-.052em!important;
  }
  .hero-copy{
    max-width:34ch!important;
    margin-top:16px!important;
    font-size:clamp(14.5px, 4vw, 16px)!important;
    line-height:1.55!important;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:22px!important;
  }
  .hero-actions .btn{
    width:100%!important;
  }
  .contact{
    gap:22px!important;
  }
  .project-form{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:18px!important;
    box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
    clip-path:none!important;
    contain:none!important;
  }
  .project-form label{
    scroll-margin-top:92px;
  }
  .project-form input,
  .project-form select,
  .project-form textarea{
    min-height:52px!important;
    padding:15px 14px!important;
    font-size:16px!important;
  }
  .project-form textarea{
    min-height:132px!important;
  }
}
@media (max-width:420px){
  .hero{
    padding-top:88px!important;
    padding-bottom:28px!important;
  }
  .hero h1{
    max-width:13ch!important;
    font-size:clamp(29px, 9.2vw, 37px)!important;
  }
  .hero-copy{
    max-width:31ch!important;
  }
  .project-form{
    padding:16px!important;
  }
}

/* v19 — mobile contact form lock + menu/back-top layer fix */
*,*::before,*::after{box-sizing:border-box;}

@media (max-width:1050px){
  .site-header{z-index:2400!important;}
  .menu-backdrop{z-index:2500!important;}
  .mobile-menu{z-index:2600!important;}
  .mobile-menu.open{visibility:visible!important;}
  body.menu-open .back-top,
  body.menu-open .bottom-nav,
  body.menu-open .scroll-progress{display:none!important;}
}

@media (max-width:760px){
  body.menu-open{overflow:hidden!important;position:fixed!important;width:100%!important;}
  .mobile-menu{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    inset:0!important;
    transform:translateX(100%)!important;
    border-left:0!important;
  }
  .mobile-menu.open{transform:translateX(0)!important;}
  .mobile-menu-inner{
    min-height:100dvh!important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom))!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .mobile-menu-top{position:relative!important;z-index:2!important;}
  .menu-brand{display:flex!important;visibility:visible!important;opacity:1!important;}
  .menu-brand .brand-mark{display:grid!important;}
  .mobile-menu-links,
  .mobile-menu-actions,
  .mobile-menu-foot{position:relative!important;z-index:2!important;}

  .back-top{
    z-index:70!important;
    right:12px!important;
    bottom:12px!important;
    width:42px!important;
    height:42px!important;
    opacity:.92;
  }

  .contact{overflow:visible!important;}
  .project-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:12px!important;
    padding:16px!important;
    margin:0!important;
    transform:none!important;
    contain:paint!important;
    overflow:visible!important;
    scroll-margin-top:0!important;
    -webkit-text-size-adjust:100%;
  }
  .project-form,
  .project-form label,
  .project-form input,
  .project-form select,
  .project-form textarea,
  .project-form button{
    box-sizing:border-box!important;
  }
  .project-form label{
    width:100%!important;
    min-width:0!important;
    gap:7px!important;
    transform:none!important;
    scroll-margin-top:0!important;
  }
  .project-form input,
  .project-form select,
  .project-form textarea{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    max-height:none!important;
    padding:0 14px!important;
    margin:0!important;
    border:1px solid rgba(22,61,43,.18)!important;
    border-radius:0!important;
    background-color:#f8f7ef!important;
    font-size:16px!important;
    line-height:52px!important;
    transform:none!important;
    transition:border-color .16s ease, background-color .16s ease!important;
    box-shadow:none!important;
    outline:0!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .project-form select{padding-right:42px!important;}
  .project-form textarea{
    height:128px!important;
    min-height:128px!important;
    line-height:1.45!important;
    padding:13px 14px!important;
    resize:vertical!important;
  }
  .project-form input:focus,
  .project-form select:focus,
  .project-form textarea:focus{
    border-color:var(--red)!important;
    background-color:#fff!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .project-form button{
    width:100%!important;
    height:54px!important;
    min-height:54px!important;
    transform:none!important;
  }
}

@media (max-width:380px){
  .project-form{padding:14px!important;gap:10px!important;}
  .project-form input,
  .project-form select{height:50px!important;min-height:50px!important;line-height:50px!important;}
  .project-form textarea{height:118px!important;min-height:118px!important;}
}


/* Systems section only - clean minimal rework */
#systems.systems{background:#f3f4ef!important;}
#systems .eg-systems-head{max-width:980px;margin-bottom:32px;}
#systems .eg-systems-head p:not(.kicker){max-width:760px;margin-top:16px;color:#68736b;font-size:16px;line-height:1.7;}
#systems .eg-systems-grid{display:grid;gap:16px;}
#systems .eg-category{background:#fff;border:1px solid rgba(20,32,26,.12);padding:clamp(18px,2.6vw,30px);box-shadow:0 18px 55px rgba(15,24,19,.06);}
#systems .eg-category-top{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;}
#systems .eg-category-top>span{width:42px;height:42px;border:1px solid rgba(20,32,26,.14);display:grid;place-items:center;font-size:12px;font-weight:900;color:#b02222;background:#fafafa;}
#systems .eg-category h3{margin:0;font-size:clamp(24px,3vw,40px);line-height:1.05;letter-spacing:-.04em;color:#121614;font-weight:850;}
#systems .eg-category p{margin:10px 0 0;color:#647068;line-height:1.65;font-size:15.5px;}
#systems .eg-system-cards{display:grid;gap:14px;margin-top:24px;}
#systems .eg-system-card{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:stretch;border:1px solid rgba(20,32,26,.1);background:#fbfbf8;padding:14px;}
#systems .eg-system-media{background:#fff;min-height:220px;display:grid;place-items:center;border:1px solid rgba(20,32,26,.08);overflow:hidden;}
#systems .eg-system-media img{width:100%;height:100%;max-height:250px;object-fit:contain;padding:12px;box-sizing:border-box;}
#systems .eg-system-content{display:flex;flex-direction:column;justify-content:center;padding:8px 4px;}
#systems .eg-system-titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px;}
#systems .eg-system-titleline h4{margin:0;font-size:clamp(22px,2.4vw,32px);line-height:1;letter-spacing:-.045em;color:#111;font-weight:850;}
#systems .eg-system-titleline span{white-space:nowrap;background:#111a15;color:#fff;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;}
#systems .eg-specs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 12px;}
#systems .eg-specs span{border:1px solid rgba(20,32,26,.12);background:#fff;padding:8px 10px;font-size:12px;font-weight:800;color:#2e3a33;}
#systems details{border-top:1px solid rgba(20,32,26,.1);padding-top:12px;}
#systems summary{cursor:pointer;font-weight:850;color:#b02222;font-size:14px;}
#systems ul{margin:12px 0 0;padding-left:18px;color:#56615a;line-height:1.65;font-size:14.5px;}
#systems .eg-coming{display:flex;align-items:center;justify-content:space-between;gap:18px;}
#systems .eg-coming b{white-space:nowrap;background:#eef0e9;border:1px solid rgba(20,32,26,.1);padding:11px 14px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#667064;}
@media (max-width:900px){
  #systems .eg-system-card{grid-template-columns:1fr;}
  #systems .eg-system-media{min-height:210px;}
  #systems .eg-coming{display:grid;}
}
@media (max-width:620px){
  #systems .eg-category{padding:16px;}
  #systems .eg-category-top{grid-template-columns:1fr;gap:12px;}
  #systems .eg-category h3{font-size:25px;}
  #systems .eg-system-card{padding:10px;gap:14px;}
  #systems .eg-system-media{min-height:185px;}
  #systems .eg-system-titleline{display:grid;}
  #systems .eg-system-titleline span{justify-self:start;}
  #systems .eg-specs{display:grid;}
}


/* Systems section clarity/pass 3 - only systems */
#systems .eg-systems-head{max-width:900px!important;margin-bottom:28px!important;}
#systems .eg-systems-head h2{max-width:980px;font-size:clamp(38px,5.4vw,78px)!important;line-height:.96!important;letter-spacing:-.055em!important;font-weight:800!important;color:#101512!important;text-wrap:balance;}
#systems .eg-systems-head p:not(.kicker){max-width:680px!important;font-size:16px!important;line-height:1.65!important;color:#667067!important;}
#systems .eg-category{box-shadow:none!important;border-color:rgba(16,21,18,.10)!important;background:#fff!important;}
#systems .eg-category h3{font-weight:800!important;letter-spacing:-.03em!important;}
#systems .eg-system-card{grid-template-columns:220px 1fr!important;gap:20px!important;padding:16px!important;background:#fff!important;border-color:rgba(16,21,18,.10)!important;box-shadow:none!important;}
#systems .eg-system-card:hover{transform:none!important;box-shadow:none!important;}
#systems .eg-system-media{min-height:190px!important;background:#f8f8f4!important;border-color:rgba(16,21,18,.08)!important;}
#systems .eg-system-media img{width:100%!important;height:100%!important;max-height:220px!important;object-fit:contain!important;padding:18px!important;image-rendering:auto!important;filter:none!important;transform:none!important;backface-visibility:hidden;}
#systems .eg-system-content{justify-content:flex-start!important;padding:2px 0!important;}
#systems .eg-system-titleline h4{font-size:clamp(22px,2vw,28px)!important;letter-spacing:-.025em!important;font-weight:800!important;line-height:1.08!important;}
#systems .eg-system-titleline span{font-size:10px!important;font-weight:800!important;padding:7px 9px!important;border-radius:0!important;}
#systems .eg-system-content>p{font-size:14.5px!important;line-height:1.65!important;color:#58625b!important;margin-top:0!important;}
#systems .eg-specs{gap:7px!important;margin:12px 0!important;}
#systems .eg-specs span{font-size:11.5px!important;font-weight:750!important;padding:7px 9px!important;background:#f8f8f4!important;}
#systems details{padding-top:10px!important;}
#systems summary{font-size:13px!important;font-weight:800!important;}
#systems ul{font-size:13.5px!important;line-height:1.55!important;margin-top:10px!important;}
#systems .eg-pdf-btn{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:14px;padding:11px 14px;border:1px solid rgba(176,34,34,.28);background:#fff;color:#a51e1e;font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease;}
#systems .eg-pdf-btn:hover{background:#b02222;color:#fff;border-color:#b02222;}
@media (max-width:900px){#systems .eg-system-card{grid-template-columns:1fr!important;}#systems .eg-system-media{min-height:220px!important;}}
@media (max-width:620px){#systems .eg-systems-head h2{font-size:38px!important;letter-spacing:-.045em!important;}#systems .eg-system-card{padding:12px!important;}#systems .eg-system-media{min-height:190px!important;}#systems .eg-pdf-btn{width:100%;box-sizing:border-box;}}

/* Systems final polish: clearer type, fixed media size, minimal PDF buttons, GIF modal */
html, body{
  text-rendering:optimizeLegibility!important;
  -webkit-font-smoothing:antialiased!important;
  -moz-osx-font-smoothing:grayscale!important;
}
#systems,
#systems *{
  text-shadow:none!important;
  filter:none!important;
  transform-style:flat!important;
}
#systems.systems{
  opacity:1!important;
  transform:none!important;
  transition:none!important;
  will-change:auto!important;
  background:#f4f5f0!important;
}
#systems .eg-systems-head h2{
  max-width:860px!important;
  font-size:clamp(36px,4.65vw,64px)!important;
  line-height:1.01!important;
  letter-spacing:-.045em!important;
  font-weight:750!important;
}
#systems .eg-systems-head p:not(.kicker){
  color:#5f6962!important;
  font-size:16px!important;
  line-height:1.68!important;
}
#systems .eg-category{
  max-width:1180px!important;
  padding:clamp(20px,2.4vw,28px)!important;
  border:1px solid rgba(16,21,18,.11)!important;
  box-shadow:none!important;
}
#systems .eg-category h3{
  font-size:clamp(25px,2.5vw,36px)!important;
  line-height:1.08!important;
  font-weight:760!important;
}
#systems .eg-system-cards{
  gap:12px!important;
}
#systems .eg-system-card{
  grid-template-columns:190px 1fr!important;
  align-items:start!important;
  gap:20px!important;
  padding:14px!important;
  min-height:0!important;
  background:#fff!important;
  transition:border-color .2s ease, background .2s ease!important;
}
#systems .eg-system-card:hover{
  border-color:rgba(176,34,34,.22)!important;
  background:#fff!important;
}
#systems .eg-system-media{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:190px!important;
  height:178px!important;
  min-height:178px!important;
  padding:0!important;
  border:1px solid rgba(16,21,18,.08)!important;
  background:#f8f8f4!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  overflow:hidden!important;
  flex:0 0 auto!important;
}
#systems .eg-system-media img{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:18px!important;
  box-sizing:border-box!important;
  transform:none!important;
  transition:none!important;
  image-rendering:auto!important;
}
#systems .eg-system-media:hover img,
#systems details[open] ~ .eg-system-media img{
  transform:none!important;
}
#systems .eg-system-titleline{
  margin-bottom:8px!important;
}
#systems .eg-system-titleline h4{
  font-size:clamp(22px,1.7vw,27px)!important;
  font-weight:760!important;
  letter-spacing:-.02em!important;
}
#systems .eg-system-titleline span{
  background:#101512!important;
  font-size:10px!important;
  font-weight:800!important;
}
#systems .eg-system-content>p{
  max-width:780px!important;
  font-size:14.5px!important;
  line-height:1.62!important;
  color:#56615a!important;
}
#systems details{
  margin-top:8px!important;
  border-top:1px solid rgba(16,21,18,.08)!important;
  padding-top:10px!important;
}
#systems summary{
  list-style:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  cursor:pointer!important;
  color:#a72d29!important;
  font-size:13px!important;
  font-weight:850!important;
}
#systems summary::-webkit-details-marker{display:none!important;}
#systems summary::before{
  content:"+";
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:1px solid rgba(167,45,41,.24);
  font-size:13px;
  line-height:1;
}
#systems details[open] summary::before{content:"−";}
#systems .eg-pdf-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:max-content!important;
  margin-top:14px!important;
  padding:10px 14px!important;
  border:1px solid rgba(16,21,18,.14)!important;
  background:#101512!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  transition:background .18s ease,border-color .18s ease,transform .18s ease!important;
}
#systems .eg-pdf-btn::after{content:"↗";font-size:12px;line-height:1;}
#systems .eg-pdf-btn:hover{
  background:#a72d29!important;
  border-color:#a72d29!important;
  transform:translateY(-1px)!important;
}
.eg-gallery-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.eg-gallery-modal.open{display:flex;}
.eg-gallery-backdrop{position:absolute;inset:0;background:rgba(5,8,7,.76);backdrop-filter:blur(8px);}
.eg-gallery-dialog{
  position:relative;
  z-index:1;
  width:min(880px,94vw);
  background:#fff;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 30px 110px rgba(0,0,0,.34);
  padding:clamp(16px,2vw,24px);
}
.eg-gallery-figure{margin:0;display:grid;gap:12px;}
.eg-gallery-figure img{width:100%;height:min(68vh,620px);object-fit:contain;background:#f7f7f3;}
.eg-gallery-figure figcaption{font-size:14px;font-weight:850;color:#101512;letter-spacing:-.01em;}
.eg-gallery-close,
.eg-gallery-arrow{
  border:0;
  background:#101512;
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .18s ease,transform .18s ease;
}
.eg-gallery-close{position:absolute;right:12px;top:12px;width:38px;height:38px;font-size:26px;z-index:2;}
.eg-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:54px;font-size:34px;z-index:2;}
.eg-gallery-prev{left:12px;}
.eg-gallery-next{right:12px;}
.eg-gallery-close:hover,.eg-gallery-arrow:hover{background:#a72d29;}
body.eg-modal-open{overflow:hidden;}
@media (max-width:900px){
  #systems .eg-system-card{grid-template-columns:1fr!important;}
  #systems .eg-system-media{width:100%!important;height:210px!important;min-height:210px!important;}
}
@media (max-width:620px){
  #systems .eg-systems-head h2{font-size:34px!important;line-height:1.05!important;}
  #systems .eg-system-card{padding:12px!important;}
  #systems .eg-system-media{height:190px!important;min-height:190px!important;}
  #systems .eg-pdf-btn{width:100%!important;box-sizing:border-box!important;}
  .eg-gallery-modal{padding:12px;}
  .eg-gallery-dialog{padding:12px;}
  .eg-gallery-figure img{height:58vh;}
  .eg-gallery-arrow{width:38px;height:48px;font-size:30px;background:rgba(16,21,18,.9);}
  .eg-gallery-prev{left:8px;}.eg-gallery-next{right:8px;}
}


/* Systems v4 - fill right-side header space + single image modal */
#systems .eg-systems-head{
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0, 1fr) minmax(260px, 360px)!important;
  gap:clamp(22px,4vw,58px)!important;
  align-items:end!important;
}
#systems .eg-systems-head .kicker,
#systems .eg-systems-head h2,
#systems .eg-systems-head>p{
  grid-column:1!important;
}
#systems .eg-systems-summary{
  grid-column:2!important;
  grid-row:1 / span 3!important;
  align-self:end!important;
  display:grid!important;
  gap:8px!important;
  padding:18px!important;
  background:#fff!important;
  border:1px solid rgba(16,21,18,.10)!important;
  box-shadow:none!important;
}
#systems .eg-systems-summary span{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding:12px 0!important;
  border-bottom:1px solid rgba(16,21,18,.08)!important;
}
#systems .eg-systems-summary span:last-child{border-bottom:0!important;}
#systems .eg-systems-summary b{
  font-size:clamp(18px,1.8vw,26px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  color:#101512!important;
}
#systems .eg-systems-summary small{
  color:#68736b!important;
  font-size:12px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  text-align:right!important;
}
#systems .eg-system-media:focus-visible{
  outline:2px solid #a72d29!important;
  outline-offset:3px!important;
}
.eg-gallery-dialog{
  width:min(760px,94vw)!important;
}
.eg-gallery-figure img{
  height:min(66vh,560px)!important;
}
.eg-gallery-arrow{display:none!important;}
@media (max-width:900px){
  #systems .eg-systems-head{grid-template-columns:1fr!important;}
  #systems .eg-systems-head .kicker,
  #systems .eg-systems-head h2,
  #systems .eg-systems-head>p,
  #systems .eg-systems-summary{grid-column:1!important;grid-row:auto!important;}
  #systems .eg-systems-summary{grid-template-columns:repeat(3,1fr)!important;align-self:stretch!important;}
  #systems .eg-systems-summary span{display:grid!important;gap:8px!important;border-bottom:0!important;border-right:1px solid rgba(16,21,18,.08)!important;padding:4px 12px!important;}
  #systems .eg-systems-summary span:last-child{border-right:0!important;}
  #systems .eg-systems-summary small{text-align:left!important;}
}
@media (max-width:620px){
  #systems .eg-systems-summary{grid-template-columns:1fr!important;padding:14px!important;}
  #systems .eg-systems-summary span{display:flex!important;border-right:0!important;border-bottom:1px solid rgba(16,21,18,.08)!important;padding:10px 0!important;}
  #systems .eg-systems-summary span:last-child{border-bottom:0!important;}
}


/* Systems v5 - centered layout, no header info box */
#systems .eg-systems-summary{display:none!important;}
#systems .eg-systems-head,
#systems .eg-systems-grid{
  width:min(100%, 1380px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
#systems .eg-systems-head{
  display:block!important;
  max-width:min(100%, 1380px)!important;
  margin-bottom:32px!important;
}
#systems .eg-systems-head .kicker,
#systems .eg-systems-head h2,
#systems .eg-systems-head>p{
  grid-column:auto!important;
  max-width:900px!important;
}
#systems .eg-category{
  max-width:none!important;
}
#systems .eg-system-card{
  grid-template-columns:210px minmax(0,1fr)!important;
}
#systems .eg-system-content>p{
  max-width:900px!important;
}
@media (min-width:1400px){
  #systems .eg-system-card{grid-template-columns:230px minmax(0,1fr)!important;}
  #systems .eg-system-media{width:210px!important;height:188px!important;min-height:188px!important;}
}
@media (max-width:900px){
  #systems .eg-systems-head,
  #systems .eg-systems-grid{width:100%!important;}
  #systems .eg-system-card{grid-template-columns:1fr!important;}
}


/* Systems v6 - cleaner H2 and mobile image fit fix */
#systems .eg-systems-head h2{
  max-width:860px!important;
  font-size:clamp(40px,4.8vw,68px)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
  font-weight:780!important;
  text-wrap:balance!important;
}
#systems .eg-system-media{
  cursor:pointer!important;
  border:1px solid rgba(16,21,18,.09)!important;
  padding:0!important;
  overflow:visible!important;
}
#systems .eg-system-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
@media (max-width:900px){
  #systems .eg-system-media{
    width:100%!important;
    height:260px!important;
    min-height:260px!important;
  }
  #systems .eg-system-media img{
    padding:20px!important;
  }
}
@media (max-width:620px){
  #systems .eg-systems-head h2{
    font-size:clamp(32px,9.2vw,42px)!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }
  #systems .eg-system-media{
    height:255px!important;
    min-height:255px!important;
  }
  #systems .eg-system-media img{
    padding:18px!important;
  }
}
@media (max-width:420px){
  #systems .eg-system-media{
    height:235px!important;
    min-height:235px!important;
  }
}

/* Mobile systems image size fix */
@media (max-width:620px){
  #systems .eg-system-media{
    height:165px!important;
    min-height:165px!important;
    max-height:165px!important;
    width:100%!important;
    overflow:hidden!important;
  }
  #systems .eg-system-media img{
    width:100%!important;
    height:100%!important;
    max-height:150px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:10px!important;
    box-sizing:border-box!important;
  }
}
@media (max-width:420px){
  #systems .eg-system-media{
    height:145px!important;
    min-height:145px!important;
    max-height:145px!important;
  }
  #systems .eg-system-media img{
    max-height:130px!important;
    padding:8px!important;
  }
}

/* Logo update: recreated EasyGreen mark */
.brand-mark{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:44px!important;
  height:54px!important;
  min-width:44px!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
}
.brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  transform:none!important;
  display:block!important;
}
.brand-text b{letter-spacing:-.035em;}
.menu-brand .brand-mark{
  width:48px!important;
  height:58px!important;
  min-width:48px!important;
}
.footer .brand-mark{
  width:38px!important;
  height:46px!important;
  min-width:38px!important;
}
@media (max-width:620px){
  .brand-mark{width:36px!important;height:44px!important;min-width:36px!important;}
  .menu-brand .brand-mark{width:42px!important;height:50px!important;min-width:42px!important;}
}

/* Final header/logo + system image alignment fixes */
.site-header .brand,
.mobile-menu .menu-brand,
.footer-brand{
  align-items:center!important;
}
.site-header .brand{
  gap:14px!important;
  min-width:auto!important;
}
.site-header .brand-mark{
  width:34px!important;
  height:58px!important;
  min-width:34px!important;
  padding:0!important;
  overflow:hidden!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.site-header .brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.site-header .brand-text{
  line-height:1!important;
}
.site-header .brand-text b{
  font-size:17px!important;
}
.site-header .brand-text small{
  font-size:9px!important;
  letter-spacing:.16em!important;
  margin-top:5px!important;
  opacity:.82!important;
}
.mobile-menu .brand-mark{
  width:34px!important;
  height:58px!important;
  min-width:34px!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.25)!important;
  overflow:hidden!important;
}
.mobile-menu .brand-mark img,
.footer-brand .brand-mark img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
}
.footer-brand .brand-mark{
  width:28px!important;
  height:46px!important;
  min-width:28px!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.18)!important;
  overflow:hidden!important;
}
@media (max-width:620px){
  .site-header .brand-mark{
    width:28px!important;
    height:48px!important;
    min-width:28px!important;
  }
  .site-header .brand-text b{font-size:15px!important;}
  .site-header .brand-text small{font-size:8px!important;letter-spacing:.12em!important;}
}

#systems .eg-system-media{
  width:205px!important;
  height:205px!important;
  min-height:205px!important;
  background:#fbfbf8!important;
  border:1px solid rgba(16,21,18,.08)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#systems .eg-system-media img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:20px!important;
  box-sizing:border-box!important;
}
#systems .eg-system-card{
  grid-template-columns:230px minmax(0,1fr)!important;
  align-items:center!important;
}
@media (max-width:900px){
  #systems .eg-system-card{grid-template-columns:1fr!important;}
  #systems .eg-system-media{
    width:180px!important;
    height:180px!important;
    min-height:180px!important;
    margin:0 auto!important;
  }
}
@media (max-width:620px){
  #systems .eg-system-media{
    width:150px!important;
    height:150px!important;
    min-height:150px!important;
  }
  #systems .eg-system-media img{
    padding:14px!important;
  }
}

/* v15 nested fire-protection subcategories */
#systems .eg-subcategory-wrap{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin:22px 0 18px!important;
}
#systems .eg-subcategory-card{
  min-height:126px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:16px!important;
  background:#f8f8f4!important;
  border:1px solid rgba(16,21,18,.10)!important;
  color:#101512!important;
  transition:border-color .18s ease,background .18s ease,transform .18s ease!important;
}
#systems .eg-subcategory-card:hover,
#systems .eg-subcategory-card-active{
  background:#fff!important;
  border-color:rgba(167,45,41,.32)!important;
  transform:translateY(-1px)!important;
}
#systems .eg-subcategory-card span,
#systems .eg-subcategory-placeholder span,
#systems .eg-subcategory-heading span{
  color:#a72d29!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
#systems .eg-subcategory-card strong{
  display:block!important;
  font-size:17px!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:820!important;
}
#systems .eg-subcategory-card small{
  display:block!important;
  color:#657069!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}
#systems .eg-subcategory-section{
  margin:18px 0 12px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(16,21,18,.08)!important;
}
#systems .eg-subcategory-heading{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-bottom:12px!important;
}
#systems .eg-subcategory-heading h4{
  margin:0!important;
  color:#101512!important;
  font-size:clamp(22px,2.2vw,32px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
#systems .eg-subcategory-placeholders{
  display:grid!important;
  gap:10px!important;
  margin-top:16px!important;
}
#systems .eg-subcategory-placeholder{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px!important;
  background:#f8f8f4!important;
  border:1px dashed rgba(16,21,18,.18)!important;
  scroll-margin-top:110px!important;
}
#systems .eg-subcategory-placeholder h4{
  margin:6px 0 7px!important;
  font-size:22px!important;
  line-height:1.1!important;
  letter-spacing:-.025em!important;
}
#systems .eg-subcategory-placeholder p{
  margin:0!important;
  max-width:760px!important;
  color:#5f6962!important;
  font-size:14px!important;
  line-height:1.55!important;
}
#systems .eg-subcategory-placeholder b{
  flex:0 0 auto!important;
  padding:9px 11px!important;
  background:#fff!important;
  border:1px solid rgba(16,21,18,.10)!important;
  color:#a72d29!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
@media (max-width:980px){
  #systems .eg-subcategory-wrap{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:620px){
  #systems .eg-subcategory-wrap{grid-template-columns:1fr!important;}
  #systems .eg-subcategory-card{min-height:112px!important;}
  #systems .eg-subcategory-heading{display:grid!important;gap:8px!important;}
  #systems .eg-subcategory-placeholder{display:grid!important;}
  #systems .eg-subcategory-placeholder b{width:max-content!important;}
}


/* v16: Greek category labels + stable product media when details open */
#systems .eg-system-card{
  align-items:start!important;
  transition:border-color .22s ease, background-color .22s ease, box-shadow .22s ease!important;
}
#systems .eg-system-card:hover{
  box-shadow:0 10px 28px rgba(16,21,18,.055)!important;
}
#systems .eg-system-media{
  align-self:start!important;
  transition:border-color .22s ease, background-color .22s ease, box-shadow .22s ease!important;
}
#systems .eg-system-media img{
  transition:transform .28s ease, opacity .22s ease!important;
}
#systems .eg-system-media:hover img{
  transform:scale(1.035)!important;
}
#systems details{
  overflow:hidden!important;
  transition:border-color .22s ease, background-color .22s ease!important;
}
#systems details[open]{
  border-color:rgba(176,34,34,.20)!important;
}
#systems details > summary{
  list-style:none;
  transition:color .2s ease, padding-left .2s ease!important;
}
#systems details > summary::-webkit-details-marker{display:none;}
#systems details > summary::after{
  content:"+";
  display:inline-block;
  margin-left:8px;
  transition:transform .22s ease;
}
#systems details[open] > summary::after{
  transform:rotate(45deg);
}
#systems details[open] ul{
  animation:egDetailsIn .24s ease both;
}
@keyframes egDetailsIn{
  from{opacity:0;transform:translateY(-6px);}
  to{opacity:1;transform:translateY(0);}
}
@media (max-width:900px){
  #systems .eg-system-card{align-items:stretch!important;}
  #systems .eg-system-media{align-self:center!important;}
}

/* v17: mobile right-side shadow/ghost layer fix */
@media (max-width: 760px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    background:#f4f5f0!important;
  }

  main,
  #systems.systems,
  #systems .eg-systems-grid,
  #systems .eg-category,
  #systems .eg-system-cards,
  #systems .eg-system-card,
  #systems .eg-system-content,
  #systems .eg-system-media{
    box-shadow:none!important;
    filter:none!important;
    text-shadow:none!important;
    background-image:none!important;
    clip-path:none!important;
  }

  #systems.systems{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    background:#f4f5f0!important;
    overflow:hidden!important;
  }

  #systems .eg-systems-grid,
  #systems .eg-category{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }

  #systems .eg-category{
    background:#fff!important;
    border:1px solid rgba(16,21,18,.10)!important;
    overflow:hidden!important;
  }

  #systems .eg-system-card{
    background:#fff!important;
    border:1px solid rgba(16,21,18,.09)!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  #systems .eg-system-card:hover{
    box-shadow:none!important;
  }

  #systems .eg-system-card::before,
  #systems .eg-system-card::after,
  #systems .eg-category::before,
  #systems .eg-category::after,
  #systems .eg-system-media::before,
  #systems .eg-system-media::after{
    display:none!important;
    content:none!important;
  }

  #systems .eg-system-media{
    background:#fbfbf8!important;
    border:1px solid rgba(16,21,18,.08)!important;
    transform:none!important;
  }

  #systems details,
  #systems details[open]{
    box-shadow:none!important;
    background:#fff!important;
  }
}

/* v22 — brighter hero background */
.hero-media{
  filter:saturate(1.08) contrast(1.03) brightness(1.16)!important;
}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(3,6,5,.72) 0%,rgba(3,6,5,.48) 34%,rgba(3,6,5,.16) 68%,rgba(3,6,5,.03) 100%),
    linear-gradient(0deg,rgba(3,6,5,.54),rgba(3,6,5,.02) 62%)!important;
}
.hero:after{
  opacity:.22!important;
}
@media (max-width:760px){
  .hero-media{
    filter:saturate(1.08) contrast(1.02) brightness(1.20)!important;
  }
  .hero-overlay{
    background:
      linear-gradient(0deg,rgba(3,6,5,.76) 0%,rgba(3,6,5,.54) 42%,rgba(3,6,5,.16) 100%),
      linear-gradient(90deg,rgba(3,6,5,.58),rgba(3,6,5,.10))!important;
  }
  .hero:after{
    opacity:.16!important;
  }
}


/* v23 — keep mobile scroll position when burger menu opens */
@media (max-width:760px){
  body.menu-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:hidden!important;
  }
}

/* Fire-rated glass category additions */
#systems .eg-mini-product-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:16px 0 30px;
}
#systems .eg-mini-product-grid article{
  background:#fff;
  border:1px solid rgba(16,21,18,.08);
  padding:18px;
  min-height:130px;
  box-shadow:none!important;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
#systems .eg-mini-product-grid article:hover{
  transform:translateY(-3px);
  border-color:rgba(183,28,28,.24);
  background:#fffdfb;
}
#systems .eg-mini-product-grid h4{
  margin:0 0 8px;
  font-size:18px;
  letter-spacing:-.02em;
}
#systems .eg-mini-product-grid p{
  margin:0;
  color:rgba(16,21,18,.72);
  line-height:1.55;
  font-size:14px;
}
#systems .eg-glass-tech{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);
  gap:28px;
  align-items:center;
  background:#fff;
  border:1px solid rgba(16,21,18,.08);
  padding:26px;
  margin-top:18px;
  box-shadow:none!important;
  overflow:hidden;
}
#systems .eg-glass-tech h4{
  margin:0 0 12px;
  font-size:28px;
  letter-spacing:-.04em;
  line-height:1.05;
}
#systems .eg-glass-tech p:not(.kicker){
  margin:0 0 16px;
  color:rgba(16,21,18,.72);
  line-height:1.7;
}
#systems .eg-glass-tech-media{
  background:#f8f8f4;
  border:1px solid rgba(16,21,18,.08);
  min-height:280px;
  display:grid;
  place-items:center;
}
#systems .eg-glass-tech-media img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}
#systems .eg-tech-specs{
  margin-bottom:14px;
}
@media (max-width:900px){
  #systems .eg-mini-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  #systems .eg-glass-tech{grid-template-columns:1fr;padding:18px;}
}
@media (max-width:620px){
  #systems .eg-mini-product-grid{grid-template-columns:1fr;gap:10px;}
  #systems .eg-glass-tech{padding:14px;margin-top:12px;}
  #systems .eg-glass-tech h4{font-size:24px;}
  #systems .eg-glass-tech-media{min-height:190px;}
}


/* v20: make remaining fire-rated glass products full cards with images */
#systems .eg-glass-other-cards{
  margin-top:18px;
}
#systems .eg-glass-other-cards .eg-system-media img{
  object-fit:cover;
  object-position:center;
}
@media (max-width: 760px){
  #systems .eg-glass-other-cards{gap:12px;}
}


/* production performance pass */
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{max-width:100%;height:auto;}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
.eg-system-card,.photo-card,.plain-card,.contact,.section{content-visibility:auto;contain-intrinsic-size:1px 600px;}
.hero,.site-header,.bottom-nav{content-visibility:visible;}


/* Projects carousel */
.projects-section{background:#f5f3ec;border-top:1px solid rgba(15,20,17,.08);border-bottom:1px solid rgba(15,20,17,.08)}
.projects-head{align-items:flex-end;gap:24px}.projects-head p{max-width:760px}.projects-controls{display:flex;gap:10px;flex-shrink:0}.projects-arrow{width:48px;height:48px;border:1px solid rgba(15,20,17,.18);background:#fff;color:#0b120f;font-weight:900;font-size:20px;cursor:pointer;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}.projects-arrow:hover{background:#0b120f;color:#fff;border-color:#0b120f;transform:translateY(-2px)}
.projects-carousel{position:relative;min-height:520px;overflow:hidden;border:1px solid rgba(15,20,17,.12);background:#fff}.project-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);opacity:0;pointer-events:none;transform:translateX(36px);transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1)}.project-slide.is-active{opacity:1;pointer-events:auto;transform:translateX(0)}
.project-image{border:0;padding:0;background:#e9e7df;overflow:hidden;cursor:pointer;min-height:520px}.project-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1),filter .35s ease}.project-image:hover img{transform:scale(1.045);filter:brightness(1.04)}.project-copy{padding:44px 42px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(15,20,17,.12)}.project-year{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#b3261e;font-weight:900;margin-bottom:18px}.project-copy h3{font-size:clamp(28px,3vw,46px);line-height:.98;margin:0 0 18px;color:#050807}.project-copy p{font-size:17px;line-height:1.65;color:#3f4542;margin:0 0 24px}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{font-size:12px;font-weight:900;border:1px solid rgba(15,20,17,.14);padding:8px 10px;background:#f7f7f4;color:#101512}.projects-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.projects-dots button{width:9px;height:9px;border-radius:999px;border:0;background:rgba(15,20,17,.25);cursor:pointer;padding:0;transition:width .25s ease,background .25s ease}.projects-dots button.is-active{width:34px;background:#b3261e}
@media (max-width:900px){.projects-head{align-items:flex-start}.projects-carousel{min-height:0}.project-slide{grid-template-columns:1fr;position:relative;display:none;transform:none}.project-slide.is-active{display:grid}.project-image{min-height:300px;height:300px}.project-copy{border-left:0;border-top:1px solid rgba(15,20,17,.12);padding:28px 22px}.projects-controls{width:100%;justify-content:flex-start}.project-copy h3{font-size:29px}.project-copy p{font-size:15px}.projects-arrow{width:44px;height:44px}}


/* Minimal projects carousel polish */
.projects-section{
  background:#f7f6f1!important;
  border-top:1px solid rgba(15,20,17,.07)!important;
  border-bottom:1px solid rgba(15,20,17,.07)!important;
}
.projects-head{
  display:flex!important;
  align-items:end!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin-bottom:30px!important;
}
.projects-head h2{
  max-width:760px!important;
}
.projects-controls{
  display:flex!important;
  gap:8px!important;
}
.projects-arrow{
  width:44px!important;
  height:44px!important;
  border:1px solid rgba(15,20,17,.12)!important;
  background:rgba(255,255,255,.72)!important;
  color:#101512!important;
  font-size:18px!important;
  border-radius:999px!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px)!important;
}
.projects-arrow:hover{
  background:#101512!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}
.projects-carousel{
  min-height:560px!important;
  border:1px solid rgba(15,20,17,.08)!important;
  background:#fff!important;
  border-radius:0!important;
  box-shadow:0 24px 70px rgba(16,21,18,.07)!important;
}
.project-slide{
  grid-template-columns:minmax(0,1.38fr) minmax(300px,.62fr)!important;
}
.project-image{
  min-height:560px!important;
  background:#eeece4!important;
}
.project-image img{
  filter:saturate(.96) contrast(1.02)!important;
}
.project-image:hover img{
  transform:scale(1.025)!important;
  filter:saturate(1) contrast(1.03) brightness(1.02)!important;
}
.project-copy{
  padding:46px 38px!important;
  border-left:1px solid rgba(15,20,17,.08)!important;
  background:linear-gradient(180deg,#fff,#fbfaf6)!important;
}
.project-year{
  color:#a3322b!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  margin-bottom:16px!important;
}
.project-copy h3{
  font-size:clamp(27px,2.6vw,42px)!important;
  letter-spacing:-.055em!important;
  margin-bottom:14px!important;
}
.project-copy p{
  color:#525a56!important;
  font-size:15.5px!important;
  line-height:1.7!important;
  margin-bottom:22px!important;
}
.project-tags{
  gap:6px!important;
}
.project-tags span{
  background:transparent!important;
  border:1px solid rgba(15,20,17,.12)!important;
  color:#151a17!important;
  padding:7px 9px!important;
  font-size:11px!important;
  letter-spacing:.03em!important;
}
.projects-dots{
  margin-top:16px!important;
}
.projects-dots button{
  width:7px!important;
  height:7px!important;
  background:rgba(15,20,17,.22)!important;
}
.projects-dots button.is-active{
  width:28px!important;
  background:#101512!important;
}
.form-status{
  grid-column:1/-1;
  min-height:20px;
  font-size:13px;
  line-height:1.45;
  color:#53645b;
  font-weight:800;
}
.form-status.is-loading{color:#53645b;}
.form-status.is-success{color:#1f7a48;}
.form-status.is-error{color:#b3261e;}
.project-form button[disabled]{opacity:.65;cursor:wait;}
@media (max-width:900px){
  .projects-head{align-items:flex-start!important;}
  .projects-carousel{min-height:0!important;box-shadow:none!important;}
  .project-slide{grid-template-columns:1fr!important;}
  .project-image{min-height:280px!important;height:280px!important;}
  .project-copy{border-left:0!important;border-top:1px solid rgba(15,20,17,.08)!important;padding:26px 20px!important;}
  .projects-controls{justify-content:flex-start!important;}
}


/* Minimal projects carousel refinement */
.projects-section{background:#f6f5ee;border-top:1px solid rgba(16,21,18,.08);border-bottom:1px solid rgba(16,21,18,.08)}
.projects-head{align-items:end;gap:24px;margin-bottom:28px}.projects-head h2{max-width:760px}.projects-head>div:first-child{max-width:820px}
.projects-controls{display:flex;gap:8px}.projects-arrow{width:42px;height:42px;border:1px solid rgba(16,21,18,.16);background:#fff;color:#101512;font-weight:900;cursor:pointer;transition:.2s ease}.projects-arrow:hover{background:#101512;color:#fff;transform:translateY(-2px)}
.projects-carousel{position:relative;min-height:470px;overflow:hidden}.project-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:0;background:#fff;border:1px solid rgba(16,21,18,.1);opacity:0;pointer-events:none;transform:translateX(18px);transition:opacity .38s ease,transform .38s ease}.project-slide.is-active{opacity:1;pointer-events:auto;transform:none}.project-image{border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden;min-height:470px}.project-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.96) contrast(1.02);transition:transform .65s ease}.project-image:hover img{transform:scale(1.035)}.project-copy{padding:44px 38px;display:flex;flex-direction:column;justify-content:flex-end}.project-year{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a72d29;font-weight:900;margin-bottom:14px}.project-copy h3{font-size:clamp(28px,3vw,44px);line-height:.95;margin:0 0 18px;letter-spacing:-.045em}.project-copy p{font-size:16px;line-height:1.62;color:#314137;margin:0 0 22px}.project-tags{display:flex;gap:8px;flex-wrap:wrap}.project-tags span{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(16,21,18,.12);padding:8px 10px;background:#f6f5ee}.projects-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}.projects-dots button{width:7px;height:7px;border-radius:999px;border:0;background:rgba(16,21,18,.22);padding:0;cursor:pointer;transition:.2s ease}.projects-dots button.is-active{width:28px;background:#a72d29}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
@media(max-width:760px){.projects-head{display:block}.projects-controls{margin-top:18px}.projects-carousel{min-height:620px}.project-slide{grid-template-columns:1fr;grid-template-rows:300px auto}.project-image{min-height:300px}.project-copy{padding:26px 22px 30px}.project-copy h3{font-size:32px}.project-copy p{font-size:15px}.projects-dots{margin-top:14px}}


/* Final projects carousel responsive cleanup */
.projects-section{
  background:#f7f6f1!important;
}
.projects-carousel{
  border-radius:0!important;
  background:#fff!important;
  min-height:520px!important;
  box-shadow:none!important;
}
.project-slide{
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
}
.project-image{
  min-height:520px!important;
  height:520px!important;
}
.project-image img{
  object-fit:cover!important;
  object-position:center!important;
}
.project-copy{
  padding:38px 34px!important;
  background:#fff!important;
}
.project-copy h3{
  font-size:clamp(26px,2.65vw,42px)!important;
  letter-spacing:-.045em!important;
}
.project-copy p{
  font-size:15.5px!important;
  line-height:1.65!important;
}
.project-tags span{
  border-radius:999px!important;
  padding:8px 12px!important;
  background:#f5f4ef!important;
}
@media (max-width:980px){
  .projects-carousel{min-height:auto!important;overflow:hidden!important;}
  .project-slide{grid-template-columns:1fr!important;position:relative!important;display:none!important;}
  .project-slide.is-active{display:grid!important;}
  .project-image{height:340px!important;min-height:340px!important;}
  .project-copy{border-left:0!important;border-top:1px solid rgba(15,20,17,.1)!important;padding:26px 22px!important;}
}
@media (max-width:620px){
  .projects-head{gap:16px!important;}
  .projects-controls{justify-content:flex-start!important;}
  .projects-arrow{width:42px!important;height:42px!important;}
  .project-image{height:245px!important;min-height:245px!important;}
  .project-copy{padding:20px 16px 22px!important;}
  .project-copy h3{font-size:25px!important;line-height:1.02!important;margin-bottom:12px!important;}
  .project-year{font-size:10px!important;margin-bottom:12px!important;}
  .project-copy p{font-size:14.5px!important;margin-bottom:16px!important;}
  .project-tags{gap:6px!important;}
  .project-tags span{font-size:10.5px!important;padding:7px 9px!important;}
  .projects-dots{margin-top:14px!important;gap:7px!important;}
}


/* Projects title + image sharpness refinement */
.projects-head h2{max-width:680px!important;font-size:clamp(40px,5.6vw,74px)!important;line-height:.92!important;letter-spacing:-.055em!important;}
.projects-head>div:first-child{max-width:760px!important;}
.projects-head p:not(.kicker){max-width:700px!important;}
.projects-carousel{min-height:430px!important;}
.project-slide{grid-template-columns:minmax(0,1fr) minmax(320px,420px)!important;align-items:stretch!important;}
.project-image{display:flex!important;align-items:center!important;justify-content:center!important;min-height:430px!important;height:430px!important;background:#ebe7de!important;padding:18px!important;}
.project-image img{width:100%!important;height:100%!important;max-width:760px!important;object-fit:contain!important;object-position:center!important;image-rendering:auto!important;}
.project-copy{padding:34px 30px!important;}
@media (max-width:980px){.projects-head h2{font-size:clamp(34px,8vw,56px)!important;max-width:100%!important;}.projects-carousel{min-height:auto!important;}.project-image{height:320px!important;min-height:320px!important;padding:14px!important;}.project-image img{max-width:100%!important;}}
@media (max-width:620px){.projects-head h2{font-size:clamp(30px,11vw,46px)!important;line-height:.95!important;}.project-image{height:220px!important;min-height:220px!important;padding:10px!important;}.projects-head p:not(.kicker){font-size:15px!important;line-height:1.55!important;}}


/* Projects carousel visual polish + anchor fix */
#projects{scroll-margin-top:96px!important;}
.projects-section{padding-top:86px!important;}
.projects-head{align-items:center!important;margin-bottom:34px!important;}
.projects-controls{align-self:end!important;margin-bottom:8px!important;}
.projects-carousel{max-width:1440px!important;margin:0 auto!important;min-height:420px!important;background:#fff!important;border:1px solid rgba(16,21,18,.1)!important;overflow:hidden!important;}
.project-slide{grid-template-columns:minmax(0,58%) minmax(360px,42%)!important;background:#fff!important;}
.project-image{height:420px!important;min-height:420px!important;background:#f5f3ec!important;padding:28px!important;display:grid!important;place-items:center!important;}
.project-image img{width:100%!important;height:100%!important;max-width:720px!important;max-height:364px!important;object-fit:cover!important;object-position:center!important;border:1px solid rgba(16,21,18,.1)!important;box-shadow:0 18px 45px rgba(16,21,18,.10)!important;background:#fff!important;}
.project-copy{min-height:420px!important;justify-content:center!important;padding:42px 40px!important;border-left:1px solid rgba(16,21,18,.08)!important;}
.project-copy h3{font-size:clamp(30px,2.45vw,42px)!important;line-height:1!important;}
@media (max-width:980px){
  #projects{scroll-margin-top:84px!important;}
  .projects-section{padding-top:68px!important;}
  .projects-head{display:block!important;}
  .projects-controls{margin-top:18px!important;}
  .projects-carousel{min-height:auto!important;}
  .project-slide{grid-template-columns:1fr!important;}
  .project-image{height:320px!important;min-height:320px!important;padding:18px!important;}
  .project-image img{max-width:680px!important;max-height:284px!important;}
  .project-copy{min-height:auto!important;border-left:0!important;border-top:1px solid rgba(16,21,18,.08)!important;padding:26px 22px!important;}
}
@media (max-width:620px){
  .project-image{height:235px!important;min-height:235px!important;padding:12px!important;}
  .project-image img{max-height:211px!important;}
  .project-copy{padding:22px 16px 24px!important;}
}


/* Simple contact form + footer made-by alignment */
.simple-contact-form{grid-template-columns:1fr 1fr!important;}
.simple-contact-form .wide,.simple-contact-form button,.simple-contact-form small,.simple-contact-form .form-status{grid-column:1/-1!important;}
.footer{justify-content:flex-start!important;}
.footer-brand{flex:0 0 auto!important;}
.footer>p{margin-left:22px!important;margin-right:0!important;}
.footer-links{margin-left:34px!important;margin-right:auto!important;}
.made-by{display:inline-flex!important;align-items:center!important;gap:4px!important;}
@media(max-width:760px){.simple-contact-form{grid-template-columns:1fr!important;}.footer{display:block!important;text-align:left!important;}.footer>p{margin:14px 0 0!important;}.footer-links{margin:14px 0 0!important;}}

/* Tiny footer credit adjustment: only 3px left, not a full layout shift */
.footer{
  justify-content:space-between!important;
}
.footer-brand{
  flex:initial!important;
}
.footer>p{
  margin-left:0!important;
  margin-right:0!important;
}
.footer-links{
  margin-left:0!important;
  margin-right:0!important;
  justify-content:flex-end!important;
  transform:translateX(-3px);
}
@media(max-width:760px){
  .footer{display:block!important;text-align:center!important;}
  .footer>p{margin:14px 0 0!important;}
  .footer-links{margin:14px 0 0!important;justify-content:center!important;transform:translateX(-3px);}
}


/* Header projects dropdown + standalone projects pages */
.desktop-nav{align-items:center;}
.nav-dropdown{position:relative;display:flex;align-items:center;}
.nav-dropdown-toggle{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;cursor:pointer;padding:10px 0;}
.nav-caret{font-size:11px;line-height:1;transition:transform .2s ease;}
.nav-dropdown:hover .nav-caret,.nav-dropdown:focus-within .nav-caret{transform:rotate(180deg);}
.nav-dropdown-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);width:min(760px,calc(100vw - 32px));background:rgba(255,255,255,.98);color:#101512;border:1px solid rgba(16,21,18,.12);box-shadow:0 22px 60px rgba(0,0,0,.18);padding:18px;opacity:0;pointer-events:none;visibility:hidden;transition:.22s ease;z-index:60;backdrop-filter:blur(14px);}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.dropdown-all{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 16px;margin-bottom:12px;background:#101512;color:#fff!important;text-decoration:none;}
.dropdown-all small{color:rgba(255,255,255,.72);font-weight:700;}
.dropdown-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.dropdown-group{border:1px solid rgba(16,21,18,.1);padding:12px;background:#f7f6f0;}
.dropdown-category{display:block;color:#101512!important;font-weight:900;text-decoration:none;margin-bottom:8px;line-height:1.2;}
.dropdown-sub{display:block;color:#576159!important;text-decoration:none;font-size:12px;line-height:1.35;padding:5px 0;border-top:1px solid rgba(16,21,18,.08);}
.dropdown-sub:hover,.dropdown-category:hover{text-decoration:underline;}
.mobile-projects-menu{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:0;margin:4px 0;background:rgba(255,255,255,.04);}
.mobile-projects-menu summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px;cursor:pointer;}
.mobile-projects-menu summary::-webkit-details-marker{display:none;}
.mobile-submenu{display:grid;gap:6px;padding:0 16px 16px 54px;}
.mobile-submenu a{font-size:14px!important;padding:8px 0!important;color:rgba(255,255,255,.82)!important;border:0!important;}
.project-page-hero{padding-top:150px!important;padding-bottom:54px!important;background:linear-gradient(135deg,#101512,#26372e);color:#fff;min-height:auto!important;}
.project-page-hero h1{font-size:clamp(42px,7vw,86px);letter-spacing:-.06em;line-height:.92;margin:0 0 18px;max-width:980px;}
.project-page-hero p:not(.kicker){max-width:760px;color:rgba(255,255,255,.78);font-size:18px;line-height:1.7;}
.project-category-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.project-category-pills a{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;font-weight:900;font-size:13px;background:rgba(255,255,255,.06);}
.project-category-pills a.is-active,.project-category-pills a:hover{background:#fff;color:#101512;}
.project-list-section{background:#f6f5ee;}
.project-list-section .section-head{align-items:end;gap:20px;margin-bottom:28px;}
.project-section-link{color:#a72d29;font-weight:900;text-decoration:none;}
.project-list-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.project-list-card{background:#fff;border:1px solid rgba(16,21,18,.1);overflow:hidden;display:flex;flex-direction:column;min-height:100%;}
.project-list-image{border:0;background:#e9e7df;padding:0;cursor:zoom-in;aspect-ratio:16/10;overflow:hidden;}
.project-list-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.project-list-image:hover img{transform:scale(1.04);}
.project-list-content{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1;}
.project-list-meta{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#a72d29;font-weight:900;}
.project-list-content h3{font-size:26px;line-height:1;margin:0;letter-spacing:-.04em;color:#101512;}
.project-list-content p{margin:0;color:#435047;line-height:1.58;font-size:15px;}
.project-page-cta{text-align:center;background:#101512;color:#fff;}
.project-page-cta h2{font-size:clamp(34px,5vw,62px);letter-spacing:-.055em;line-height:.95;margin:0 0 14px;}
.project-page-cta p{max-width:680px;margin:0 auto 24px;color:rgba(255,255,255,.72);line-height:1.7;}
@media(max-width:980px){.dropdown-groups{grid-template-columns:1fr 1fr}.project-list-grid{grid-template-columns:1fr 1fr}.nav-dropdown-menu{left:auto;right:0;transform:translateY(8px)}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{transform:translateY(0)}}
@media(max-width:760px){.project-page-hero{padding-top:118px!important}.project-list-grid{grid-template-columns:1fr}.project-list-section .section-head{display:block}.dropdown-groups{grid-template-columns:1fr}}


/* Systems moved from landing to standalone header pages */
.systems-page-hero{padding-top:150px;background:#101512;color:#fff;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;}
.systems-page-hero .kicker{color:var(--lime);margin:0;}
.systems-page-hero h1{margin:0;max-width:980px;font-size:clamp(42px,6vw,82px);line-height:.94;letter-spacing:-.06em;}
.systems-page-hero>p{max-width:760px;margin:0;color:rgba(255,255,255,.72);font-size:18px;line-height:1.65;}
.systems-breadcrumb{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.62);}
.systems-breadcrumb a{color:#fff;}
.systems-dropdown-menu{min-width:620px;}
.systems-nav-dropdown .dropdown-groups{grid-template-columns:1fr 1fr;}
@media (max-width:900px){.systems-page-hero{padding-top:116px;min-height:300px}.systems-dropdown-menu{min-width:min(92vw,620px)}}
@media (max-width:620px){.systems-page-hero{padding:112px 16px 48px;min-height:280px}.systems-page-hero h1{font-size:38px}.systems-page-hero>p{font-size:15.5px}}

/* UX fix: responsive hover mega-menu for Systems */
@media (min-width:1051px){
  .site-header{overflow:visible!important;}
  .desktop-nav{gap:clamp(18px,2.2vw,30px);}
  .nav-dropdown{position:relative;min-height:72px;display:flex;align-items:center;}
  .nav-dropdown-toggle{height:72px;padding:0 2px;color:inherit!important;}
  .nav-dropdown-toggle:focus-visible{outline:2px solid var(--lime);outline-offset:6px;}
  .nav-dropdown-menu{
    top:100%!important;
    left:50%!important;
    right:auto!important;
    width:min(920px,calc(100vw - 48px))!important;
    min-width:unset!important;
    max-height:calc(100svh - 110px);
    overflow:auto;
    padding:14px!important;
    border-radius:22px;
    transform:translateX(-50%) translateY(12px)!important;
    box-shadow:0 28px 80px rgba(0,0,0,.24)!important;
    scrollbar-width:thin;
  }
  .nav-dropdown-menu:before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:-18px;
    height:18px;
  }
  .nav-dropdown:hover .nav-dropdown-menu,
  .nav-dropdown:focus-within .nav-dropdown-menu,
  .nav-dropdown.is-open .nav-dropdown-menu{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateX(-50%) translateY(0)!important;
  }
  .nav-dropdown:hover .nav-caret,
  .nav-dropdown:focus-within .nav-caret,
  .nav-dropdown.is-open .nav-caret{transform:rotate(180deg);}
  .dropdown-all{
    border-radius:16px;
    margin-bottom:10px!important;
    padding:16px 18px!important;
  }
  .dropdown-all:after{display:none!important;}
  .systems-nav-dropdown .dropdown-groups,
  .dropdown-groups{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(260px,1fr))!important;
    gap:10px!important;
  }
  .dropdown-group{
    border-radius:16px;
    padding:14px!important;
    min-height:100%;
  }
  .dropdown-category{
    display:flex!important;
    align-items:center;
    min-height:44px;
    padding:0 2px 10px;
    font-size:15px;
  }
  .dropdown-category:after{display:none!important;}
  .dropdown-sub{
    min-height:38px;
    display:flex!important;
    align-items:center;
    padding:8px 10px!important;
    margin-top:2px;
    border-radius:10px;
    border-top:1px solid rgba(16,21,18,.08)!important;
    font-size:13px!important;
  }
  .dropdown-sub:after{display:none!important;}
  .dropdown-sub:hover,
  .dropdown-sub:focus-visible{
    background:#fff;
    color:#101512!important;
    text-decoration:none!important;
  }
  .dropdown-category:hover,
  .dropdown-category:focus-visible{text-decoration:none!important;color:#a72d29!important;}
}

@media (min-width:1051px) and (max-width:1180px){
  .desktop-nav{gap:16px;}
  .desktop-nav a,.nav-dropdown-toggle{font-size:13px;}
  .brand{min-width:160px;}
  .header-cta{padding:0 14px;font-size:13px;}
}

@media (max-width:1050px){
  .mobile-projects-menu.mobile-systems-menu{border-radius:18px!important;background:rgba(255,255,255,.055)!important;overflow:hidden;}
  .mobile-projects-menu summary{min-height:62px!important;padding:16px!important;}
  .mobile-projects-menu summary b{font-size:clamp(22px,6.5vw,30px)!important;}
  .mobile-submenu{padding:4px 14px 16px!important;display:grid!important;gap:8px!important;}
  .mobile-submenu a{min-height:48px!important;padding:12px 14px!important;border-radius:12px!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.08)!important;font-size:14px!important;line-height:1.25!important;}
  .mobile-submenu a:first-child{background:var(--lime)!important;color:#101512!important;border-color:var(--lime)!important;font-weight:950!important;}
}


/* v20 — cleaner header, compact system pages, nicer bilingual project pages */
@media (min-width:1051px){
  .desktop-nav{gap:clamp(14px,1.65vw,24px)!important;}
  .desktop-nav>a,.nav-dropdown-toggle{white-space:nowrap;}
}
.systems-page-hero{
  padding-top:112px!important;
  padding-bottom:34px!important;
  min-height:240px!important;
  gap:10px!important;
  background:linear-gradient(135deg,#0b100d 0%,#111914 62%,#17231d 100%)!important;
}
.systems-page-hero .kicker{font-size:12px!important;letter-spacing:.18em!important;color:var(--red)!important;}
.systems-page-hero h1{font-size:clamp(34px,4.8vw,62px)!important;line-height:.98!important;max-width:900px!important;letter-spacing:-.052em!important;}
.systems-page-hero>p{font-size:clamp(15px,1.45vw,17px)!important;line-height:1.55!important;max-width:720px!important;}
.systems-breadcrumb{margin-top:4px!important;font-size:11px!important;letter-spacing:.1em!important;}
#systems-page .systems.section{padding-top:70px!important;}

.project-page-hero{
  padding-top:118px!important;
  padding-bottom:38px!important;
  background:linear-gradient(135deg,#0b100d 0%,#151f19 58%,#24342b 100%)!important;
}
.project-page-hero .kicker{font-size:12px!important;letter-spacing:.18em!important;color:var(--red)!important;}
.project-page-hero h1{font-size:clamp(38px,5vw,68px)!important;line-height:.96!important;margin-bottom:12px!important;max-width:880px!important;}
.project-page-hero p:not(.kicker){font-size:clamp(15px,1.45vw,17px)!important;line-height:1.58!important;max-width:780px!important;}
.project-category-pills{gap:8px!important;margin-top:22px!important;}
.project-category-pills a{border-radius:999px!important;clip-path:none!important;padding:9px 13px!important;background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.18)!important;font-size:12px!important;}
.project-category-pills a.is-active,.project-category-pills a:hover{background:#fff!important;color:#101512!important;text-decoration:none!important;}
.project-list-section{padding-top:46px!important;padding-bottom:46px!important;}
.project-list-section:nth-of-type(even){background:#f0eee7!important;}
.project-list-section .section-head{padding-bottom:18px!important;border-bottom:1px solid rgba(16,21,18,.1);}
.project-list-section .section-head h2{font-size:clamp(30px,3.6vw,48px)!important;letter-spacing:-.05em!important;margin-top:6px!important;}
.project-section-link{display:inline-flex;align-items:center;gap:8px;color:#101512!important;background:#fff;border:1px solid rgba(16,21,18,.12);padding:10px 14px;border-radius:999px;text-decoration:none!important;box-shadow:0 12px 30px rgba(16,21,18,.06);}
.project-section-link:after{content:"→";color:var(--red);}
.project-list-grid{gap:22px!important;}
.project-list-card{border-radius:22px!important;overflow:hidden!important;box-shadow:0 18px 50px rgba(16,21,18,.08)!important;border-color:rgba(16,21,18,.08)!important;}
.project-list-image{aspect-ratio:16/9!important;background:#d9d6cb!important;}
.project-list-content{padding:22px!important;gap:10px!important;}
.project-list-meta{font-size:10px!important;letter-spacing:.16em!important;}
.project-list-content h3{font-size:clamp(22px,2.4vw,30px)!important;line-height:1.05!important;}
.project-list-content p{font-size:15px!important;line-height:1.62!important;color:#465248!important;}
.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:6px;}
.project-tags span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f0eee7;border:1px solid rgba(16,21,18,.08);font-size:11px;font-weight:850;color:#26372e;}
.project-page-cta{padding-top:56px!important;padding-bottom:60px!important;}
@media(max-width:1050px){
  .systems-page-hero{padding-top:102px!important;min-height:220px!important;}
  .project-page-hero{padding-top:104px!important;}
}
@media(max-width:760px){
  .systems-page-hero{padding:92px 16px 28px!important;min-height:0!important;}
  .systems-page-hero h1{font-size:clamp(30px,9vw,40px)!important;}
  #systems-page .systems.section{padding-top:34px!important;}
  .project-page-hero{padding:94px 16px 30px!important;}
  .project-page-hero h1{font-size:clamp(32px,9vw,42px)!important;}
  .project-category-pills{display:flex!important;overflow:auto!important;flex-wrap:nowrap!important;padding-bottom:6px;margin-left:-2px;margin-right:-2px;scrollbar-width:none;}
  .project-category-pills::-webkit-scrollbar{display:none;}
  .project-category-pills a{flex:0 0 auto;}
  .project-list-section{padding:34px 16px!important;}
  .project-list-section .section-head{margin-bottom:20px!important;}
  .project-section-link{margin-top:12px;}
  .project-list-card{border-radius:18px!important;}
  .project-list-content{padding:18px!important;}
}

/* v31 — clean mobile burger menu + scrollable systems list */
@media (max-width:1050px){
  .menu-backdrop{
    background:rgba(4,6,6,.68)!important;
    backdrop-filter:blur(7px)!important;
  }

  .mobile-menu{
    width:min(430px, 100vw)!important;
    max-width:100vw!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:#0b100e!important;
    border-left:1px solid rgba(255,255,255,.10)!important;
    box-shadow:-26px 0 80px rgba(0,0,0,.46)!important;
  }

  .mobile-menu-inner{
    height:100dvh!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    padding:16px!important;
    overflow:hidden!important;
    background:
      radial-gradient(circle at 100% 0%, rgba(182,45,40,.22), transparent 34%),
      linear-gradient(180deg, #15110f 0%, #0d1411 48%, #0a100d 100%)!important;
  }

  .mobile-menu-top{
    flex:0 0 auto!important;
    padding-bottom:14px!important;
    margin-bottom:12px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }

  .menu-close{
    width:44px!important;
    height:44px!important;
    border-radius:0!important;
    font-size:30px!important;
    display:grid!important;
    place-items:center!important;
  }

  .mobile-menu-links{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    margin:0!important;
    padding:2px 2px 14px 0!important;
    border-top:0!important;
    scrollbar-width:thin!important;
  }

  .mobile-menu-links::-webkit-scrollbar,
  .mobile-submenu::-webkit-scrollbar{width:6px!important;}
  .mobile-menu-links::-webkit-scrollbar-thumb,
  .mobile-submenu::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)!important;border-radius:20px!important;}

  .mobile-menu-links > a{
    min-height:58px!important;
    padding:0 14px!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.045)!important;
    box-shadow:none!important;
  }

  .mobile-menu-links > a span,
  .mobile-projects-menu summary span{
    color:#c4312d!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
    letter-spacing:.08em!important;
  }

  .mobile-menu-links > a b,
  .mobile-projects-menu summary b{
    font-size:20px!important;
    line-height:1.08!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  .mobile-projects-menu,
  .mobile-systems-menu{
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.055)!important;
    overflow:hidden!important;
  }

  .mobile-projects-menu summary,
  .mobile-systems-menu summary{
    min-height:60px!important;
    padding:0 14px!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 22px!important;
    gap:10px!important;
    align-items:center!important;
    list-style:none!important;
    cursor:pointer!important;
  }

  .mobile-projects-menu summary::after,
  .mobile-systems-menu summary::after{
    content:'›';
    justify-self:end;
    color:rgba(255,255,255,.62);
    font-size:24px;
    line-height:1;
    transform:rotate(90deg);
    transition:transform .2s ease;
  }

  .mobile-projects-menu[open] summary::after,
  .mobile-systems-menu[open] summary::after{transform:rotate(-90deg);}

  .mobile-submenu{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    max-height:44dvh!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 12px 12px!important;
    margin:0!important;
  }

  .mobile-submenu a,
  .mobile-menu-links .mobile-submenu a{
    min-height:auto!important;
    display:flex!important;
    align-items:center!important;
    grid-template-columns:none!important;
    padding:12px 12px!important;
    border:1px solid rgba(255,255,255,.09)!important;
    border-radius:11px!important;
    background:rgba(255,255,255,.045)!important;
    color:rgba(255,255,255,.90)!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    overflow-wrap:break-word!important;
  }

  .mobile-submenu a:first-child{
    background:#b82d2a!important;
    border-color:#b82d2a!important;
    color:#fff!important;
    font-weight:950!important;
  }

  .mobile-menu-actions{
    flex:0 0 auto!important;
    margin-top:12px!important;
    padding-top:12px!important;
    border-top:1px solid rgba(255,255,255,.10)!important;
  }

  .mobile-menu-foot{
    flex:0 0 auto!important;
    margin-top:10px!important;
    padding-top:10px!important;
  }
}

@media (max-width:760px){
  body.menu-open{overflow:hidden!important;}
  .mobile-menu{inset:0!important;width:100vw!important;border-left:0!important;}
  .mobile-menu-inner{padding:14px 12px calc(14px + env(safe-area-inset-bottom))!important;}
  .mobile-menu-links > a{min-height:56px!important;border-radius:13px!important;}
  .mobile-menu-links > a b,
  .mobile-projects-menu summary b{font-size:19px!important;}
  .mobile-submenu{max-height:45dvh!important;}
  .mobile-submenu a,
  .mobile-menu-links .mobile-submenu a{font-size:13.5px!important;padding:11px 12px!important;}
}

/* v32 — smart mobile drawer: no hidden items, full scroll + compact systems accordion */
@media (max-width:1050px){
  body.menu-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:hidden!important;
  }

  .mobile-menu{
    inset:0 0 0 auto!important;
    width:min(420px,100vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    z-index:3000!important;
  }

  .mobile-menu-inner{
    height:100dvh!important;
    min-height:0!important;
    display:block!important;
    padding:14px 14px calc(18px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
  }

  .mobile-menu-inner::-webkit-scrollbar{width:6px!important;}
  .mobile-menu-inner::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)!important;border-radius:999px!important;}

  .mobile-menu-top{
    position:sticky!important;
    top:0!important;
    z-index:3!important;
    background:linear-gradient(180deg,#171210 0%,#121310 100%)!important;
    padding:0 0 12px!important;
    margin:0 0 12px!important;
  }

  .mobile-menu-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    flex:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0!important;
    margin:0!important;
  }

  .mobile-menu-links > a,
  .mobile-projects-menu summary,
  .mobile-systems-menu summary{
    min-height:54px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.048)!important;
  }

  .mobile-menu-links > a b,
  .mobile-projects-menu summary b,
  .mobile-systems-menu summary b{
    font-size:18px!important;
    line-height:1.1!important;
  }

  .mobile-systems-menu[open]{
    background:rgba(255,255,255,.06)!important;
    border-color:rgba(255,255,255,.16)!important;
  }

  .mobile-systems-menu .mobile-submenu{
    max-height:min(300px,42dvh)!important;
    overflow-y:auto!important;
    display:grid!important;
    gap:7px!important;
    padding:0 10px 10px!important;
    margin:0!important;
    scrollbar-width:thin!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .mobile-systems-menu .mobile-submenu a{
    min-height:42px!important;
    padding:10px 12px!important;
    border-radius:10px!important;
    font-size:13px!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  .mobile-systems-menu .mobile-submenu a:first-child{
    position:sticky!important;
    top:0!important;
    z-index:2!important;
    box-shadow:0 8px 16px rgba(0,0,0,.16)!important;
  }

  .mobile-menu-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:12px 0 0!important;
    padding:12px 0 0!important;
  }

  .mobile-menu-actions button,
  .mobile-menu-actions a{
    min-height:48px!important;
    border-radius:0!important;
    font-size:12.5px!important;
  }

  .mobile-menu-actions .menu-offer{min-height:54px!important;}

  .mobile-menu-foot{
    margin:12px 0 0!important;
    padding:12px 0 0!important;
    font-size:11.5px!important;
  }
}

@media (max-width:390px), (max-height:740px){
  .mobile-menu-inner{padding:12px 10px calc(14px + env(safe-area-inset-bottom))!important;}
  .menu-brand .brand-mark{width:42px!important;height:42px!important;min-width:42px!important;}
  .menu-close{width:40px!important;height:40px!important;font-size:28px!important;}
  .mobile-menu-links{gap:7px!important;}
  .mobile-menu-links > a,
  .mobile-projects-menu summary,
  .mobile-systems-menu summary{min-height:50px!important;}
  .mobile-menu-links > a b,
  .mobile-projects-menu summary b,
  .mobile-systems-menu summary b{font-size:17px!important;}
  .mobile-systems-menu .mobile-submenu{max-height:255px!important;gap:6px!important;padding:0 8px 8px!important;}
  .mobile-systems-menu .mobile-submenu a{min-height:38px!important;font-size:12.5px!important;padding:9px 10px!important;}
  .mobile-menu-actions button,
  .mobile-menu-actions a{min-height:44px!important;}
  .mobile-menu-actions .menu-offer{min-height:50px!important;}
}


/* Mobile close button polish */
@media (max-width: 980px){
  .mobile-menu-top{
    position:sticky!important;
    top:0!important;
    z-index:5!important;
    background:linear-gradient(180deg, rgba(21,17,15,.98), rgba(21,17,15,.90))!important;
    backdrop-filter:blur(12px)!important;
  }

  .menu-close{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    border-radius:14px!important;
    border:1px solid rgba(255,255,255,.14)!important;
    background:rgba(255,255,255,.055)!important;
    color:transparent!important;
    font-size:0!important;
    line-height:0!important;
    display:grid!important;
    place-items:center!important;
    position:relative!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10), 0 10px 24px rgba(0,0,0,.22)!important;
    transition:background .2s ease, border-color .2s ease, transform .2s ease!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  .menu-close::before{
    content:"";
    position:absolute;
    inset:7px;
    border-radius:10px;
    background:rgba(182,45,40,.16);
    opacity:.9;
  }

  .menu-close span{
    position:absolute!important;
    width:17px!important;
    height:2px!important;
    border-radius:999px!important;
    background:#fff!important;
    left:50%!important;
    top:50%!important;
    transform-origin:center!important;
    box-shadow:0 0 12px rgba(255,255,255,.15)!important;
  }

  .menu-close span:first-child{transform:translate(-50%, -50%) rotate(45deg)!important;}
  .menu-close span:last-child{transform:translate(-50%, -50%) rotate(-45deg)!important;}

  .menu-close:hover,
  .menu-close:focus-visible{
    background:#b62d28!important;
    border-color:#b62d28!important;
    transform:translateY(-1px)!important;
    outline:none!important;
  }

  .menu-close:active{transform:scale(.96)!important;}
}

@media (max-width:390px), (max-height:740px){
  .menu-close{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    border-radius:12px!important;
  }
  .menu-close span{width:15px!important;}
}

/* Request fix: remove background from mobile menu top */
@media (max-width: 980px){
  .mobile-menu-top{
    background:transparent!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

/* v36 — smarter mobile systems menu: clean state, compact categories */
@media (max-width:1050px){
  .mobile-menu,
  .mobile-menu *{
    -webkit-tap-highlight-color:transparent!important;
  }

  .mobile-projects-menu,
  .mobile-systems-menu{
    background:rgba(255,255,255,.045)!important;
    border-color:rgba(255,255,255,.11)!important;
  }

  .mobile-systems-menu[open]{
    background:rgba(255,255,255,.052)!important;
    border-color:rgba(255,255,255,.14)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
  }

  .mobile-systems-menu summary,
  .mobile-systems-menu[open] summary,
  .mobile-systems-menu summary:hover,
  .mobile-systems-menu summary:focus,
  .mobile-systems-menu summary:active,
  .mobile-systems-menu summary:focus-visible{
    background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.035))!important;
    color:#fff!important;
    outline:0!important;
    box-shadow:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }

  .mobile-systems-menu[open] summary{
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    border-radius:14px 14px 0 0!important;
  }

  .mobile-systems-menu summary::after{
    content:""!important;
    width:8px!important;
    height:8px!important;
    border-right:2px solid rgba(255,255,255,.62)!important;
    border-bottom:2px solid rgba(255,255,255,.62)!important;
    transform:rotate(45deg)!important;
    transition:transform .18s ease, border-color .18s ease!important;
    font-size:0!important;
  }

  .mobile-systems-menu[open] summary::after{
    transform:rotate(225deg)!important;
    border-color:#fff!important;
  }

  .mobile-systems-menu .mobile-submenu.mobile-systems-compact{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    max-height:none!important;
    overflow:visible!important;
    padding:10px!important;
  }

  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a,
  .mobile-menu-links .mobile-submenu.mobile-systems-compact a{
    min-height:44px!important;
    padding:10px 11px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.045)!important;
    color:rgba(255,255,255,.9)!important;
    font-size:12.8px!important;
    line-height:1.14!important;
    font-weight:850!important;
    letter-spacing:-.01em!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;
  }

  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child{
    grid-column:1/-1!important;
    position:static!important;
    background:#b82d2a!important;
    border-color:#b82d2a!important;
    color:#fff!important;
    justify-content:center!important;
    min-height:42px!important;
    box-shadow:none!important;
  }

  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:hover,
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:focus-visible{
    background:rgba(255,255,255,.09)!important;
    border-color:rgba(255,255,255,.18)!important;
    outline:0!important;
  }

  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child:hover,
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child:focus-visible{
    background:#c43330!important;
    border-color:#c43330!important;
  }
}

@media (max-width:380px){
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact{
    gap:7px!important;
    padding:9px!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a,
  .mobile-menu-links .mobile-submenu.mobile-systems-compact a{
    font-size:12.2px!important;
    padding:9px 10px!important;
  }
}


/* Mobile systems menu: complete, clean navigation */
@media (max-width: 920px){
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact{
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    padding:10px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a,
  .mobile-menu-links .mobile-submenu.mobile-systems-compact a{
    min-height:40px!important;
    padding:9px 10px!important;
    border-radius:11px!important;
    font-size:12.1px!important;
    line-height:1.08!important;
    font-weight:800!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child{
    grid-column:1/-1!important;
    min-height:40px!important;
    font-size:12.6px!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a.is-current,
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a[aria-current="page"]{
    border-color:rgba(184,45,42,.9)!important;
    background:linear-gradient(135deg, rgba(184,45,42,.24), rgba(255,255,255,.055))!important;
    color:#fff!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child.is-current,
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child[aria-current="page"]{
    background:#b82d2a!important;
    border-color:#b82d2a!important;
  }
}
@media (max-width:380px){
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact{
    grid-template-columns:1fr!important;
  }
  .mobile-systems-menu .mobile-submenu.mobile-systems-compact a:first-child{
    grid-column:auto!important;
  }
}

/* v24 — final header order + certifications section */
.certifications{background:#f3f2ea;color:#101512;}
.certifications .section-head{max-width:900px;margin-bottom:28px;}
.cert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.cert-grid article{background:#fff;border:1px solid rgba(16,21,18,.11);padding:24px;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:0 16px 50px rgba(10,16,13,.05);}
.cert-grid span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:950;color:var(--red);margin-bottom:18px;}
.cert-grid b{font-size:22px;letter-spacing:-.045em;line-height:1.05;margin-bottom:10px;}
.cert-grid p{margin:0;color:#526158;line-height:1.55;font-size:15px;}
@media (min-width:1051px){
  .desktop-nav{gap:clamp(10px,1.05vw,17px)!important;}
  .desktop-nav>a,.nav-dropdown-toggle{font-size:clamp(12px,.82vw,14px)!important;}
  .brand{min-width:165px!important;}
  .header-actions{gap:8px!important;}
  .header-cta{padding-inline:14px!important;font-size:13px!important;}
}
@media (min-width:1051px) and (max-width:1320px){
  .header-cta{display:none!important;}
}
@media (max-width:1050px){
  .mobile-menu-links>a b,.mobile-projects-menu summary b{font-size:clamp(17px,4.7vw,22px)!important;}
  .mobile-menu-links>a,.mobile-projects-menu summary{min-height:50px!important;padding:12px 14px!important;}
  .mobile-menu-links>a span,.mobile-projects-menu summary span{font-size:10px!important;min-width:28px;}
  .cert-grid{grid-template-columns:1fr;}
  .cert-grid article{min-height:150px;padding:20px;}
}


/* v25 — POLFLAM certifications cards */
.cert-grid-polflam{grid-template-columns:repeat(4,minmax(0,1fr));}
.cert-card{position:relative;overflow:hidden;gap:10px;justify-content:flex-start!important;}
.cert-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--red);opacity:.9;}
.cert-link{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 18px;border:1px solid rgba(16,21,18,.16);background:#101512;color:#fff!important;text-decoration:none;font-weight:900;font-size:14px;letter-spacing:-.02em;text-align:center;white-space:normal;line-height:1.2;transition:transform .18s ease,background .18s ease,border-color .18s ease;}
.cert-link:hover{background:var(--red);border-color:var(--red);transform:translateY(-2px);}
.cert-note{margin:18px 0 0;color:#5a665e;font-size:14px;line-height:1.6;max-width:880px;}
@media (max-width:1100px){.cert-grid-polflam{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.cert-grid-polflam{grid-template-columns:1fr;}.cert-link{width:100%;}.cert-note{font-size:13px;}}

/* v26 — certifications moved to separate page */
.certifications-page .compact-page-hero{padding:128px 6vw 34px; min-height:auto; background:#101512; color:#f8f7ef;}
.certifications-page .compact-page-hero .section-head{margin:0 auto; text-align:center;}
.certifications-page .compact-page-hero h1{margin:0; font-size:clamp(2.2rem,5vw,4.8rem); letter-spacing:-.05em;}
.certifications-page .certifications{padding-top:54px;}
@media (max-width: 760px){.certifications-page .compact-page-hero{padding:104px 22px 28px}.certifications-page .certifications{padding-top:38px}}

/* Certification page button polish */
.cert-grid-polflam .cert-card{display:flex;flex-direction:column;gap:22px;}
.cert-grid-polflam .cert-card p{margin-bottom:6px;}
.cert-grid-polflam .cert-link::after{content:"↗";font-size:13px;margin-left:10px;line-height:1;}
.cert-grid-polflam .cert-link:hover{color:#fff!important;}


/* POLFLAM application section */
.polflam-applications .apps-lead{margin:18px 0 0;color:var(--muted);font-size:18px;line-height:1.65;max-width:760px}
.polflam-app-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0;margin-top:28px}
.polflam-app-grid a{min-height:132px;display:block;padding:22px 22px 20px;background:#fff;border:1px solid var(--line);transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}
.polflam-app-grid a strong{display:block;font-size:21px;line-height:1.05;letter-spacing:-.04em;color:var(--ink)}
.polflam-app-grid a small{display:block;margin-top:12px;color:var(--muted);font-size:14px;line-height:1.45;font-weight:700}
.polflam-app-grid a:hover{background:#14221b;color:#fff;border-color:#14221b;transform:translateY(-2px)}
.polflam-app-grid a:hover strong,.polflam-app-grid a:hover small{color:#fff}
@media (max-width:700px){.polflam-app-grid{grid-template-columns:1fr}.polflam-app-grid a{min-height:auto;padding:18px}.polflam-app-grid a strong{font-size:19px}.polflam-applications .apps-lead{font-size:16px}}


/* v30 — About dropdown, certifications cleanup, objectives page */
.about-nav-dropdown .about-dropdown-menu{width:min(420px,calc(100vw - 32px))!important;min-width:320px!important;}
.about-nav-dropdown .dropdown-all{margin-bottom:0!important;}
.cert-grid-polflam{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media (max-width:1100px){.cert-grid-polflam{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media (max-width:640px){.cert-grid-polflam{grid-template-columns:1fr!important;}}
.objectives-page .compact-page-hero{padding:128px 6vw 46px;min-height:auto;background:#101512;color:#f8f7ef;}
.objectives-page .compact-page-hero .section-head{max-width:980px;margin:0 auto;text-align:left;}
.objectives-page .compact-page-hero h1{margin:0;font-size:clamp(2.4rem,5.6vw,5.2rem);letter-spacing:-.06em;line-height:.92;}
.objectives-page .compact-page-hero p:not(.kicker){margin:18px 0 0;max-width:760px;color:rgba(255,255,255,.74);font-size:clamp(15px,1.45vw,18px);line-height:1.65;}
.objectives-section{background:#f3f2ea;color:#101512;}
.objectives-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:clamp(28px,4vw,58px);align-items:start;max-width:1280px;margin:0 auto;}
.objectives-copy{background:#fff;border:1px solid rgba(16,21,18,.1);padding:clamp(26px,4vw,54px);box-shadow:0 20px 60px rgba(10,16,13,.06);}
.objectives-copy h2{font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:-.06em;margin:0 0 18px;}
.objectives-copy>p{color:#526158;font-size:16px;line-height:1.75;margin:0 0 22px;}
.objective-points{display:grid;gap:10px;margin:26px 0;}
.objective-points div{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:16px;border:1px solid rgba(16,21,18,.1);background:#f8f7f1;}
.objective-points span{color:var(--red);font-weight:950;font-size:12px;letter-spacing:.12em;}
.objective-points p{margin:0;color:#3f4d44;line-height:1.62;font-size:15px;}
.objectives-copy blockquote{margin:30px 0;padding:22px 24px;border-left:4px solid var(--red);background:#101512;color:#fff;font-weight:900;font-size:clamp(18px,2vw,24px);line-height:1.25;letter-spacing:-.03em;}
.objectives-images{display:grid;gap:16px;position:sticky;top:108px;}
.objectives-images img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(16,21,18,.12);box-shadow:0 18px 50px rgba(10,16,13,.12);background:#ddd;}
.mobile-about-menu .mobile-submenu a:first-child{background:rgba(255,255,255,.06)!important;color:rgba(255,255,255,.92)!important;border-color:rgba(255,255,255,.1)!important;}
@media (max-width:980px){.objectives-layout{grid-template-columns:1fr}.objectives-images{position:static;grid-template-columns:1fr 1fr}.objectives-copy{padding:28px}.about-nav-dropdown .about-dropdown-menu{right:auto!important;left:0!important;transform:translateY(8px)!important}.about-nav-dropdown:hover .about-dropdown-menu,.about-nav-dropdown:focus-within .about-dropdown-menu{transform:translateY(0)!important}}
@media (max-width:640px){.objectives-page .compact-page-hero{padding:104px 22px 32px}.objectives-section{padding:34px 18px}.objectives-images{grid-template-columns:1fr}.objective-points div{grid-template-columns:1fr;gap:6px}.objectives-copy blockquote{padding:18px}}

/* v31 — About pages: advisory, training and milestones */
.about-dropdown-menu .dropdown-all + .dropdown-all{margin-top:8px;}
.about-dropdown-menu .dropdown-all{display:block;border-radius:14px;padding:14px 16px;}
.mobile-about-compact{display:grid;gap:8px;}
.mobile-about-compact a{line-height:1.25;}
.objectives-copy .section-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:14px 18px;background:#101512;color:#fff;text-decoration:none;font-weight:900;border:1px solid rgba(16,21,18,.12);transition:transform .2s ease,background .2s ease;}
.objectives-copy .section-cta:hover{transform:translateY(-2px);background:var(--red);}


/* Advisory page refinements */
.advisory-page .objectives-layout{max-width:1200px;grid-template-columns:minmax(0,1fr) minmax(320px,.84fr);gap:clamp(24px,3.2vw,44px);}
.advisory-page .objectives-copy{padding:clamp(22px,3vw,40px);}
.advisory-page .objectives-copy h2{font-size:clamp(1.8rem,3.2vw,3.65rem);}
.advisory-page .objective-points{margin-bottom:24px;}
.advisory-page .objectives-images img{aspect-ratio:16/11;}
@media (max-width:980px){.advisory-page .objectives-layout{grid-template-columns:1fr;}.advisory-page .objectives-images{grid-template-columns:1fr 1fr;}}
@media (max-width:640px){.advisory-page .objectives-images{grid-template-columns:1fr;}.advisory-page .objectives-copy{padding:24px;}}









/* Products dropdown - polished like About us */
.products-cascade-dropdown{
  position:relative;
}

.products-cascade-dropdown .products-cascade-menu{
  width:auto !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  backdrop-filter:none !important;
}

.products-cascade-dropdown .products-overview-link{
  display:none !important;
}

.products-cascade-dropdown .products-cascade-list{
  width:360px !important;
  display:grid !important;
  gap:8px !important;
  position:relative !important;
  padding:12px !important;
  background:rgba(248,247,239,.96) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:18px !important;
  box-shadow:0 24px 75px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(14px) !important;
  overflow:visible !important;
}

.products-cascade-dropdown .products-cascade-item{
  display:block !important;
  position:relative !important;
  border:0 !important;
  background:transparent !important;
  overflow:visible !important;
}

.products-cascade-dropdown .products-cascade-item + .products-cascade-item{
  border-top:0 !important;
}

.products-cascade-dropdown .products-cascade-main{
  position:relative !important;
  display:block !important;
  width:100% !important;
  min-height:auto !important;
  padding:15px 44px 15px 16px !important;
  background:#202821 !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:12px !important;
  text-decoration:none !important;
  box-shadow:none !important;
  outline:none !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.18 !important;
  letter-spacing:-.02em !important;
  transition:transform .18s ease, background .18s ease, border-color .18s ease !important;
}

.products-cascade-dropdown .products-cascade-main span{
  display:block !important;
  max-width:260px !important;
}

.products-cascade-dropdown .products-cascade-main small{
  display:block !important;
  margin-top:5px !important;
  color:#ef5a55 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
}

.products-cascade-dropdown .products-cascade-main:before{
  content:none !important;
  display:none !important;
}

.products-cascade-dropdown .products-cascade-main:after{
  content:"›" !important;
  position:absolute !important;
  right:16px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  border:0 !important;
  width:auto !important;
  height:auto !important;
  background:none !important;
  color:rgba(255,255,255,.58) !important;
  font-size:22px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main{
  background:#101512 !important;
  border-color:rgba(185,43,43,.45) !important;
  transform:translateX(3px) !important;
}

.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main small,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main small{
  color:#fff !important;
  opacity:.7 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main:after,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main:after{
  color:#fff !important;
}

.products-cascade-dropdown .products-cascade-submenu{
  display:none !important;
  position:absolute !important;
  left:calc(100% + 12px) !important;
  top:0 !important;
  width:335px !important;
  min-height:auto !important;
  padding:10px !important;
  background:rgba(248,247,239,.96) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:16px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.20) !important;
  backdrop-filter:blur(14px) !important;
  overflow:hidden !important;
  z-index:50 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .products-cascade-submenu,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-submenu,
.products-cascade-dropdown .products-cascade-item:first-of-type:hover .products-cascade-submenu,
.products-cascade-dropdown .products-cascade-item:first-of-type:focus-within .products-cascade-submenu{
  display:grid !important;
  gap:7px !important;
}

.products-cascade-dropdown .products-cascade-item:first-of-type .products-cascade-submenu{
  display:none !important;
}

.products-cascade-dropdown .products-cascade-submenu a{
  display:block !important;
  min-height:auto !important;
  padding:12px 13px !important;
  border:1px solid rgba(16,21,18,.08) !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#101512 !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1.22 !important;
  box-shadow:none !important;
  outline:none !important;
  transition:background .16s ease,color .16s ease,border-color .16s ease, transform .16s ease !important;
}

.products-cascade-dropdown .products-cascade-submenu a:before,
.products-cascade-dropdown .products-cascade-submenu a:after{
  content:none !important;
  display:none !important;
}

.products-cascade-dropdown .products-cascade-submenu a:hover{
  background:#101512 !important;
  color:#fff !important;
  border-color:#101512 !important;
  transform:translateX(2px) !important;
}

@media (max-width:1180px){
  .products-cascade-dropdown .products-cascade-list{
    width:330px !important;
  }
  .products-cascade-dropdown .products-cascade-submenu{
    width:310px !important;
    left:calc(100% + 8px) !important;
  }
}


/* Keep products submenu open while moving cursor to the right panel */
.products-cascade-dropdown .products-cascade-item::after{
  content:"";
  position:absolute;
  left:100%;
  top:0;
  width:16px;
  height:100%;
  display:block;
  z-index:45;
}

.products-cascade-dropdown .products-cascade-submenu{
  left:calc(100% + 8px) !important;
}

.products-cascade-dropdown .products-cascade-main{
  cursor:pointer !important;
}

.products-cascade-dropdown .products-cascade-item:hover .products-cascade-submenu,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-submenu{
  display:grid !important;
  gap:7px !important;
}

/* slightly smoother, less jumpy hover */
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main{
  transform:none !important;
  background:#101512 !important;
}

.products-cascade-dropdown .products-cascade-submenu a{
  cursor:pointer !important;
}


/* Frameless EI badges inside products dropdown */
.products-cascade-dropdown .products-cascade-main .product-ei-badges{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:5px !important;
  margin-top:7px !important;
  color:#ef5a55 !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges span{
  display:inline-flex !important;
  max-width:none !important;
  color:inherit !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges em{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:18px !important;
  padding:2px 6px !important;
  border:1px solid rgba(239,90,85,.55) !important;
  border-radius:999px !important;
  color:#ef5a55 !important;
  font-style:normal !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  background:rgba(239,90,85,.08) !important;
}

.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges,
.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges span,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges span{
  color:#fff !important;
  opacity:1 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges em,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges em{
  color:#fff !important;
  border-color:rgba(255,255,255,.38) !important;
  background:rgba(255,255,255,.10) !important;
}


/* Frameless ratings - cleaner minimal look */
.products-cascade-dropdown .products-cascade-main .product-ei-badges{
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  margin-top:6px !important;
  flex-wrap:nowrap !important;
  color:rgba(255,255,255,.72) !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges span{
  display:inline-flex !important;
  max-width:none !important;
  color:#ef5a55 !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges em{
  display:inline-flex !important;
  align-items:center !important;
  min-height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.62) !important;
  font-style:normal !important;
  font-size:10px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
}

.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges span,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges span{
  color:#fff !important;
  opacity:.82 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges em,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges em{
  color:rgba(255,255,255,.72) !important;
  border:0 !important;
  background:transparent !important;
}


/* Products submenu spacing polish */
.products-cascade-dropdown .products-cascade-item::after{
  width:26px !important;
}

.products-cascade-dropdown .products-cascade-submenu{
  left:calc(100% + 22px) !important;
  top:4px !important;
  border-radius:14px !important;
  padding:12px !important;
  box-shadow:0 26px 72px rgba(0,0,0,.24) !important;
}

.products-cascade-dropdown .products-cascade-submenu::before{
  content:"" !important;
  position:absolute !important;
  left:-14px !important;
  top:18px !important;
  width:14px !important;
  height:28px !important;
  background:rgba(248,247,239,.96) !important;
  clip-path:polygon(100% 0, 0 50%, 100% 100%) !important;
  filter:drop-shadow(-2px 0 2px rgba(0,0,0,.05)) !important;
}

.products-cascade-dropdown .products-cascade-submenu a{
  border-radius:9px !important;
  padding:13px 14px !important;
}

@media (max-width:1180px){
  .products-cascade-dropdown .products-cascade-submenu{
    left:calc(100% + 18px) !important;
  }
}


/* Frameless inline alignment polish */
.products-cascade-dropdown .products-cascade-main .product-ei-badges{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-top:5px !important;
  flex-wrap:nowrap !important;
  line-height:1 !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges span,
.products-cascade-dropdown .products-cascade-main .product-ei-badges em{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
  margin:0 !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges span{
  color:#ef5a55 !important;
  position:relative !important;
  top:0 !important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges em{
  color:rgba(255,255,255,.66) !important;
  position:relative !important;
  top:0 !important;
}

.products-cascade-dropdown .products-cascade-item:hover .product-ei-badges em,
.products-cascade-dropdown .products-cascade-item:focus-within .product-ei-badges em{
  color:rgba(255,255,255,.78) !important;
}


/* Company milestones page */
.milestones-section{padding-top:70px;}
.milestones-wrap{max-width:1240px;margin:0 auto;display:grid;gap:28px;}
.milestone-card{background:#fff;border:1px solid rgba(16,21,18,.1);box-shadow:0 20px 60px rgba(10,16,13,.06);padding:clamp(24px,3vw,42px);display:grid;grid-template-columns:170px 1fr;gap:clamp(20px,3vw,42px);align-items:start;}
.milestone-year{font-size:clamp(1.6rem,2.8vw,2.8rem);line-height:.95;font-weight:900;letter-spacing:-.06em;color:#101512;}
.milestone-content h2{font-size:clamp(1.9rem,3.6vw,3.8rem);line-height:.98;letter-spacing:-.06em;margin:0 0 16px;color:#101512;}
.milestone-content p:not(.kicker){font-size:16px;line-height:1.75;color:#526158;margin:0;}
.milestone-gallery{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px;}
.milestone-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid rgba(16,21,18,.12);background:#ddd;transition:transform .2s ease, box-shadow .2s ease;}
.milestone-gallery img:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(10,16,13,.16);}
@media (max-width:980px){.milestone-card{grid-template-columns:1fr}.milestone-gallery{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.milestones-section{padding-top:36px}.milestone-card{padding:22px}.milestone-gallery{grid-template-columns:1fr}.milestone-content h2{font-size:2rem}}


/* === Simplified Projects List UI === */
.project-page-hero{
  padding-bottom:42px !important;
}
.project-page-hero p:not(.kicker){
  max-width:680px;
  font-size:17px;
}
.project-category-pills{
  gap:8px;
  margin-top:22px;
}
.project-category-pills a{
  padding:9px 13px;
  font-size:12px;
  border-radius:999px;
}
.project-list-section{
  background:#f6f5ee;
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.project-list-section + .project-list-section{
  padding-top:0 !important;
}
.project-list-section .section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(16,21,18,.10);
}
.project-section-link{
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.project-list-grid{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.project-list-card{
  display:grid;
  grid-template-columns:200px minmax(0,1fr);
  align-items:stretch;
  min-height:0;
  background:#fff;
  border:1px solid rgba(16,21,18,.10);
  border-radius:18px;
  overflow:hidden;
  box-shadow:none;
}
.project-list-image{
  width:100%;
  min-height:150px;
  height:100%;
  aspect-ratio:auto;
  background:#ece9df;
}
.project-list-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.project-list-content{
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  justify-content:center;
}
.project-list-meta{
  font-size:11px;
  letter-spacing:.12em;
}
.project-list-content h3{
  margin:0;
  font-size:24px;
  line-height:1.02;
  letter-spacing:-.04em;
}
.project-list-content p{
  margin:0;
  font-size:14px;
  line-height:1.55;
  color:#4c5a51;
}
.project-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:4px;
}
.project-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:#f3f1ea;
  border:1px solid rgba(16,21,18,.08);
  font-size:11px;
  line-height:1.2;
  font-weight:800;
  color:#101512;
}
.project-page-cta{
  margin-top:10px;
  border-radius:24px;
}
@media (max-width: 980px){
  .project-list-card{
    grid-template-columns:180px minmax(0,1fr);
  }
}
@media (max-width: 760px){
  .project-page-hero{
    padding-bottom:32px !important;
  }
  .project-category-pills{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .project-category-pills a{
    justify-content:center;
  }
  .project-list-section .section-head{
    display:block;
  }
  .project-section-link{
    display:inline-block;
    margin-top:8px;
  }
  .project-list-card{
    grid-template-columns:1fr;
    border-radius:16px;
  }
  .project-list-image{
    min-height:190px;
  }
  .project-list-content{
    padding:16px;
  }
  .project-list-content h3{
    font-size:21px;
  }
}
@media (max-width: 520px){
  .project-category-pills{
    grid-template-columns:1fr;
  }
  .project-list-image{
    min-height:170px;
  }
}


/* POLFLAM BR / FR product spec submenu */
.products-cascade-dropdown .product-spec-submenu{
  width:380px !important;
}

.products-cascade-dropdown .product-spec-submenu .product-spec-link{
  padding:14px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:7px !important;
}

.products-cascade-dropdown .product-spec-submenu .product-spec-link strong{
  font-size:14px !important;
  line-height:1 !important;
  color:inherit !important;
  letter-spacing:-.02em !important;
}

.products-cascade-dropdown .product-spec-submenu .product-spec-link small{
  display:inline-flex !important;
  width:max-content !important;
  max-width:100% !important;
  padding:5px 8px !important;
  border-radius:999px !important;
  background:rgba(16,21,18,.06) !important;
  border:1px solid rgba(16,21,18,.08) !important;
  color:#46524b !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
}

.products-cascade-dropdown .product-spec-submenu .product-spec-link:hover small{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(255,255,255,.22) !important;
  color:#fff !important;
}

@media (max-width:1180px){
  .products-cascade-dropdown .product-spec-submenu{
    width:340px !important;
  }
}




/* POLFLAM clean product pages */
.polflam-page{background:#f5f4ef;}
.polflam-hero{
  padding:126px 6vw 46px;
  background:linear-gradient(135deg,#0d120f 0%,#141c17 58%,#202b24 100%);
  color:#f8f7f1;
}
.polflam-hero-inner{max-width:1160px;margin:0 auto;display:grid;gap:14px;}
.polflam-hero .kicker{margin:0;color:var(--red);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:900;}
.polflam-hero h1{margin:0;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.94;letter-spacing:-.05em;}
.polflam-hero p{margin:0;max-width:720px;font-size:16px;line-height:1.7;color:rgba(255,255,255,.74);}
.polflam-shell{max-width:1160px;margin:0 auto;padding:48px 24px 72px;}
.polflam-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.78fr);gap:30px;align-items:start;}
.polflam-card{background:#fff;border:1px solid rgba(16,21,18,.08);box-shadow:0 16px 44px rgba(16,21,18,.06);border-radius:22px;}
.polflam-copy{padding:34px;}
.polflam-copy h2,.polflam-section-title{margin:0 0 18px;color:#101512;font-size:clamp(1.9rem,3.3vw,3.35rem);line-height:.96;letter-spacing:-.05em;}
.polflam-copy p{margin:0 0 16px;font-size:15.5px;line-height:1.78;color:#49584f;}
.polflam-list, .polflam-bullets{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.polflam-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid rgba(16,21,18,.08);border-radius:14px;background:#fbfbf8;color:#2f3d35;font-size:14px;line-height:1.55;}
.polflam-list li strong{color:#101512;}
.polflam-bullets li{position:relative;padding-left:16px;color:#536157;font-size:15px;line-height:1.65;}
.polflam-bullets li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--red);position:absolute;left:0;top:.72em;}
.polflam-meta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0;}
.polflam-chip{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#f1efe7;border:1px solid rgba(16,21,18,.08);font-size:12px;font-weight:850;color:#213027;}
.polflam-side{display:grid;gap:18px;}
.polflam-image-card{overflow:hidden;}
.polflam-image-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.polflam-side-body{padding:18px 18px 20px;}
.polflam-side-body h3{margin:0 0 8px;font-size:1.06rem;color:#101512;letter-spacing:-.02em;}
.polflam-side-body p{margin:0;color:#5a675f;font-size:14px;line-height:1.65;}
.polflam-downloads{display:grid;gap:10px;margin-top:22px;}
.polflam-downloads h3{margin:0 0 2px;font-size:1rem;color:#101512;}
.polflam-download{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px 15px;border-radius:14px;border:1px solid rgba(16,21,18,.08);background:#fbfbf8;color:#101512;text-decoration:none;font-weight:850;line-height:1.35;transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;}
.polflam-download span{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#7d8a82;}
.polflam-download:hover,.polflam-download:focus-visible{transform:translateY(-1px);box-shadow:0 14px 30px rgba(16,21,18,.08);border-color:rgba(167,45,41,.28);background:#fff;color:var(--red);text-decoration:none;}
.polflam-download.muted{cursor:default;}
.polflam-download.muted:hover{transform:none;color:#101512;background:#fbfbf8;box-shadow:none;}
.polflam-panel{padding:22px;}
.polflam-panel h3{margin:0 0 12px;font-size:1rem;color:#101512;}
.polflam-panel p{margin:0;color:#55645b;font-size:14px;line-height:1.68;}
.polflam-chart-wrap{margin-top:30px;}
.polflam-chart-card{padding:26px;}
.polflam-chart-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:18px;}
.polflam-chart-head p{margin:0;max-width:640px;color:#5e6b63;font-size:14px;line-height:1.6;}
.polflam-chart-card img{display:block;width:100%;border-radius:12px;border:1px solid rgba(16,21,18,.08);background:#f2f2f0;}
@media(max-width:980px){
  .polflam-grid{grid-template-columns:1fr;}
}
@media(max-width:760px){
  .polflam-hero{padding:102px 20px 34px;}
  .polflam-shell{padding:32px 16px 50px;}
  .polflam-copy{padding:24px;}
  .polflam-chart-card{padding:18px;}
  .polflam-chart-head{flex-direction:column;align-items:flex-start;}
  .polflam-download{flex-direction:column;align-items:flex-start;}
}


.polflam-caption{display:block;margin-top:10px;color:#6b776f;font-size:12.5px;line-height:1.65;}
.polflam-caption strong{display:block;margin-bottom:3px;color:#101512;font-size:13px;}
.polflam-side-copy{padding:16px 18px 20px;}


/* POLFLAM pages - softer, smaller, cleaner final polish */
.polflam-page{
  background:#f6f5ef !important;
}
.polflam-hero{
  padding:104px 6vw 34px !important;
}
.polflam-hero-inner{
  max-width:1080px !important;
  gap:10px !important;
}
.polflam-hero h1{
  font-size:clamp(2.05rem,3.8vw,3.75rem) !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}
.polflam-hero p{
  max-width:680px !important;
  font-size:15px !important;
  line-height:1.65 !important;
}
.polflam-shell{
  max-width:1080px !important;
  padding:38px 22px 58px !important;
}
.polflam-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.72fr) !important;
  gap:22px !important;
}
.polflam-card{
  border-radius:14px !important;
  box-shadow:none !important;
}
.polflam-copy{
  padding:26px !important;
}
.polflam-copy h2,
.polflam-section-title{
  font-size:clamp(1.55rem,2.35vw,2.35rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
  margin-bottom:14px !important;
}
.polflam-copy p{
  font-size:14px !important;
  line-height:1.68 !important;
  margin-bottom:13px !important;
}
.polflam-bullets{
  gap:7px !important;
  margin:4px 0 14px !important;
}
.polflam-bullets li{
  font-size:14px !important;
  line-height:1.5 !important;
}
.polflam-meta{
  gap:7px !important;
  margin-top:14px !important;
}
.polflam-chip{
  padding:6px 10px !important;
  font-size:11px !important;
}
.polflam-side{
  gap:14px !important;
}
.polflam-image-card img{
  aspect-ratio:16/11 !important;
}
.polflam-side-body,
.polflam-side-copy{
  padding:14px 15px 16px !important;
}
.polflam-side-body h3,
.polflam-panel h3{
  font-size:15px !important;
}
.polflam-side-body p,
.polflam-panel p,
.polflam-caption{
  font-size:12.5px !important;
  line-height:1.58 !important;
}
.polflam-panel{
  padding:18px !important;
}
.polflam-list{
  gap:8px !important;
}
.polflam-list li{
  padding:10px 12px !important;
  border-radius:10px !important;
  font-size:13px !important;
  line-height:1.45 !important;
}
.polflam-downloads{
  margin-top:18px !important;
  gap:8px !important;
}
.polflam-downloads h3{
  font-size:15px !important;
}
.polflam-download{
  padding:11px 12px !important;
  border-radius:10px !important;
  font-size:13px !important;
}
.polflam-download span{
  font-size:10px !important;
}
.polflam-chart-wrap{
  margin-top:22px !important;
}
.polflam-chart-card{
  padding:18px !important;
}
.polflam-chart-head{
  margin-bottom:13px !important;
}
.polflam-chart-head p{
  font-size:13px !important;
  line-height:1.5 !important;
}
.polflam-chart-card img{
  border-radius:8px !important;
}
@media(max-width:980px){
  .polflam-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:760px){
  .polflam-hero{
    padding:92px 18px 28px !important;
  }
  .polflam-shell{
    padding:28px 14px 44px !important;
  }
  .polflam-copy{
    padding:20px !important;
  }
  .polflam-chart-card{
    padding:14px !important;
  }
}

/* v21 — polished mobile product menu with readable subcategories */
@media (max-width:1050px){
  .mobile-menu-links{
    gap:8px!important;
    border-top:0!important;
    margin:18px 0 16px!important;
    overflow:auto!important;
    padding-right:2px!important;
    scrollbar-width:thin;
  }
  .mobile-menu-links>a,
  .mobile-menu-links>details{
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .mobile-menu-links>a{
    min-height:62px!important;
    padding:0 15px!important;
    grid-template-columns:34px 1fr!important;
    border-bottom:0!important;
  }
  .mobile-menu-links>a span,
  .mobile-projects-menu>summary span{
    color:var(--lime)!important;
    font-size:11px!important;
    opacity:.95!important;
  }
  .mobile-menu-links>a b,
  .mobile-projects-menu>summary b{
    font-size:clamp(18px,5.4vw,23px)!important;
    line-height:1.15!important;
    letter-spacing:-.025em!important;
  }
  .mobile-projects-menu{
    margin:0!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.045)!important;
    border:1px solid rgba(255,255,255,.10)!important;
  }
  .mobile-projects-menu>summary{
    min-height:62px!important;
    padding:0 15px!important;
    display:grid!important;
    grid-template-columns:34px 1fr 22px!important;
    gap:12px!important;
    align-items:center!important;
  }
  .mobile-projects-menu>summary:after{
    content:"+";
    width:22px;
    height:22px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-weight:950;
    line-height:1;
    transition:transform .2s ease, background .2s ease;
  }
  .mobile-projects-menu[open]>summary:after{
    content:"–";
    background:var(--lime);
    color:#101512;
  }

  .mobile-products-compact{
    padding:0 12px 12px!important;
    display:grid!important;
    gap:9px!important;
  }
  .mobile-products-compact .mobile-product-all{
    min-height:48px!important;
    border-radius:14px!important;
    background:var(--lime)!important;
    color:#101512!important;
    border:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    font-size:14px!important;
    font-weight:950!important;
  }
  .mobile-products-compact .mobile-product-all:after{
    content:"→";
    font-weight:950;
  }
  .mobile-products-compact>details{
    background:#f6f4eb!important;
    color:#101512!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .mobile-products-compact>details>summary{
    list-style:none!important;
    min-height:58px!important;
    padding:13px 44px 13px 14px!important;
    display:flex!important;
    align-items:center!important;
    position:relative!important;
    font-size:14px!important;
    line-height:1.25!important;
    font-weight:950!important;
    letter-spacing:-.01em!important;
    cursor:pointer!important;
    color:#101512!important;
  }
  .mobile-products-compact>details>summary::-webkit-details-marker{display:none!important;}
  .mobile-products-compact>details>summary:after{
    content:"+";
    position:absolute;
    right:13px;
    top:50%;
    transform:translateY(-50%);
    width:24px;
    height:24px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#101512;
    color:#fff;
    font-weight:950;
    line-height:1;
  }
  .mobile-products-compact>details[open]>summary:after{
    content:"–";
    background:var(--green);
  }
  .mobile-products-compact>details>a{
    min-height:44px!important;
    display:flex!important;
    align-items:center!important;
    padding:11px 14px 11px 34px!important;
    margin:0!important;
    border:0!important;
    border-top:1px solid rgba(16,21,18,.10)!important;
    border-radius:0!important;
    background:#fff!important;
    color:#27332d!important;
    font-size:13.5px!important;
    font-weight:850!important;
    line-height:1.25!important;
    position:relative!important;
  }
  .mobile-products-compact>details>a:before{
    content:"";
    position:absolute;
    left:16px;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--green);
    opacity:.8;
  }
  .mobile-about-compact a{
    min-height:44px!important;
    font-size:13.5px!important;
  }
}

@media (max-width:760px){
  .mobile-menu-inner{padding:14px!important;}
  .mobile-menu-top{padding-bottom:14px!important;}
  .mobile-menu-links{margin-top:14px!important;gap:7px!important;}
  .mobile-menu-links>a,
  .mobile-projects-menu>summary{min-height:58px!important;}
  .mobile-products-compact>details>summary{font-size:13.5px!important;}
  .mobile-products-compact>details>a{font-size:13px!important;}
}

/* v33 — mobile products menu color contrast fix */
@media (max-width:1050px){
  .mobile-products-cascade{
    background:rgba(255,255,255,.05)!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }

  .mobile-products-cascade > summary{
    background:transparent!important;
    color:#fff!important;
  }

  .mobile-products-compact{
    padding:0 12px 12px!important;
    gap:10px!important;
  }

  .mobile-products-compact .mobile-product-all{
    background:#ba2d29!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  }

  .mobile-products-compact .mobile-product-all:after{
    color:#fff!important;
  }

  .mobile-products-compact > details{
    background:#f3f0e7!important;
    border:1px solid rgba(16,21,18,.10)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
  }

  .mobile-products-compact > details > summary{
    background:#f3f0e7!important;
    color:#101512!important;
    opacity:1!important;
    text-shadow:none!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details > summary *{
    color:#101512!important;
  }

  .mobile-products-compact > details > summary:after{
    background:#101512!important;
    color:#fff!important;
  }

  .mobile-products-compact > details[open] > summary{
    background:#ece7db!important;
    border-bottom:1px solid rgba(16,21,18,.08)!important;
  }

  .mobile-products-compact > details[open] > summary:after{
    background:#ba2d29!important;
    color:#fff!important;
  }

  .mobile-products-compact > details > a{
    background:#fff!important;
    color:#223028!important;
    border-top:1px solid rgba(16,21,18,.08)!important;
  }

  .mobile-products-compact > details > a:hover,
  .mobile-products-compact > details > a:focus-visible{
    background:#f7f4ed!important;
    color:#101512!important;
  }

  .mobile-products-compact > details > a:before{
    background:#ba2d29!important;
    opacity:1!important;
  }
}

@media (max-width:760px){
  .mobile-products-compact .mobile-product-all,
  .mobile-products-compact > details > summary{
    min-height:54px!important;
  }

  .mobile-products-compact > details > summary{
    font-size:13.5px!important;
    line-height:1.3!important;
  }

  .mobile-products-compact > details > a{
    font-size:13px!important;
    line-height:1.3!important;
  }
}

/* v34 — fix broken right-side contact info card */
.premium-contact > .contact-card{
  align-self:start;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:148px!important;
  padding:22px 24px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  text-decoration:none!important;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)!important;
  transition:transform .28s ease,background .28s ease,border-color .28s ease,box-shadow .28s ease!important;
}
.premium-contact > .contact-card span{
  display:block!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--red)!important;
  font-weight:950!important;
}
.premium-contact > .contact-card strong{
  display:block!important;
  font-size:clamp(28px,2.1vw,36px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
  color:#fff!important;
}
.premium-contact > .contact-card small{
  display:block!important;
  color:rgba(255,255,255,.68)!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.premium-contact > .contact-card:hover{
  transform:translateY(-6px)!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(167,45,41,.42)!important;
  box-shadow:0 24px 70px rgba(9,16,13,.18)!important;
}
@media (max-width:1050px){
  .premium-contact > .contact-card{
    min-height:auto!important;
    padding:18px!important;
  }
  .premium-contact > .contact-card strong{
    font-size:26px!important;
  }
}
@media (max-width:620px){
  .premium-contact > .contact-card{
    clip-path:none!important;
    border-radius:16px!important;
  }
  .premium-contact > .contact-card strong{
    font-size:24px!important;
  }
  .premium-contact > .contact-card small{
    font-size:12.5px!important;
  }
}

/* v35 — restore contact section layout: form on the right, info cards on the left */
@media (min-width:1051px){
  .premium-contact{
    grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr)!important;
    align-items:start!important;
    gap:32px!important;
  }

  .premium-contact > .contact-copy{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start!important;
  }

  .premium-contact > .contact-card{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    max-width:610px!important;
    margin-top:2px!important;
    min-height:118px!important;
  }

  .premium-contact > .project-form{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    align-self:start!important;
    width:100%!important;
    margin:0!important;
  }
}

@media (max-width:1050px){
  .premium-contact > .contact-copy{order:1!important;}
  .premium-contact > .contact-card{order:2!important; width:100%!important;}
  .premium-contact > .project-form{order:3!important; width:100%!important;}
}

/* v36 — final mobile products menu color system fix */
@media (max-width:1050px){
  .mobile-products-cascade,
  .mobile-products-cascade[open]{
    background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.035))!important;
    border:1px solid rgba(255,255,255,.12)!important;
  }

  .mobile-products-cascade > summary,
  .mobile-products-cascade[open] > summary{
    background:transparent!important;
    color:#fff!important;
  }

  .mobile-products-cascade > summary b,
  .mobile-products-cascade > summary span,
  .mobile-products-cascade[open] > summary b,
  .mobile-products-cascade[open] > summary span{
    color:inherit!important;
  }

  .mobile-products-compact{
    background:transparent!important;
    padding:0 12px 12px!important;
    display:grid!important;
    gap:10px!important;
  }

  .mobile-products-compact .mobile-product-all,
  .mobile-products-compact .mobile-product-all:visited{
    background:#ba2d29!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 12px 24px rgba(0,0,0,.16)!important;
  }

  .mobile-products-compact .mobile-product-all *{
    color:#fff!important;
  }

  .mobile-products-compact .mobile-product-all:after{
    color:#fff!important;
  }

  .mobile-products-compact > details,
  .mobile-products-compact > details[open]{
    background:#f2efe6!important;
    border:1px solid rgba(16,21,18,.10)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
    overflow:hidden!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details[open] > summary{
    background:#f2efe6!important;
    color:#232a26!important;
    opacity:1!important;
    text-shadow:none!important;
    transition:none!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details > summary *,
  .mobile-products-compact > details[open] > summary,
  .mobile-products-compact > details[open] > summary *{
    color:#232a26!important;
  }

  .mobile-products-compact > details > summary:after{
    background:#101512!important;
    color:#fff!important;
  }

  .mobile-products-compact > details[open] > summary{
    background:#ebe5d8!important;
    border-bottom:1px solid rgba(16,21,18,.08)!important;
  }

  .mobile-products-compact > details[open] > summary:after{
    background:#ba2d29!important;
    color:#fff!important;
  }

  .mobile-products-compact > details > a,
  .mobile-products-compact > details > a:visited{
    background:#fff!important;
    color:#27312c!important;
    border-top:1px solid rgba(16,21,18,.08)!important;
    transition:none!important;
  }

  .mobile-products-compact > details > a *,
  .mobile-products-compact > details > a:visited *{
    color:#27312c!important;
  }

  .mobile-products-compact > details > a:hover,
  .mobile-products-compact > details > a:focus-visible,
  .mobile-products-compact > details > a:active{
    background:#f8f5ee!important;
    color:#101512!important;
  }

  .mobile-products-compact > details > a:hover *,
  .mobile-products-compact > details > a:focus-visible *,
  .mobile-products-compact > details > a:active *{
    color:#101512!important;
  }

  .mobile-products-compact > details > a:before{
    background:#ba2d29!important;
    opacity:1!important;
  }
}

@media (max-width:760px){
  .mobile-products-compact .mobile-product-all,
  .mobile-products-compact > details > summary{
    min-height:54px!important;
  }

  .mobile-products-compact > details > summary{
    font-size:13.5px!important;
    line-height:1.3!important;
  }

  .mobile-products-compact > details > a{
    font-size:13px!important;
    line-height:1.3!important;
  }
}

/* v37 — static minimal submit button */
.project-form button,
.project-form button:hover,
.project-form button:focus,
.project-form button:active{
  transform:none!important;
  translate:none!important;
  animation:none!important;
  box-shadow:none!important;
  background:#a72d29!important;
  background-image:none!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease!important;
}

.project-form button{
  border:0!important;
  border-radius:0!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

.project-form button:hover,
.project-form button:focus-visible{
  background:#962522!important;
  box-shadow:none!important;
}

/* v38 — mobile products cards: dark readable categories with proper text contrast */
@media (max-width:1050px){
  .mobile-products-compact > details,
  .mobile-products-compact > details[open]{
    background:linear-gradient(180deg, rgba(24,30,27,.98), rgba(16,21,18,.98))!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details[open] > summary{
    background:transparent!important;
    color:#f5f3ec!important;
    opacity:1!important;
    text-shadow:none!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details > summary *,
  .mobile-products-compact > details[open] > summary,
  .mobile-products-compact > details[open] > summary *{
    color:#f5f3ec!important;
  }

  .mobile-products-compact > details > summary:after{
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
  }

  .mobile-products-compact > details[open] > summary:after{
    background:#ba2d29!important;
    color:#fff!important;
  }

  .mobile-products-compact > details > a,
  .mobile-products-compact > details > a:visited{
    background:rgba(255,255,255,.03)!important;
    color:rgba(255,255,255,.84)!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }

  .mobile-products-compact > details > a *,
  .mobile-products-compact > details > a:visited *{
    color:rgba(255,255,255,.84)!important;
  }

  .mobile-products-compact > details > a:hover,
  .mobile-products-compact > details > a:focus-visible,
  .mobile-products-compact > details > a:active{
    background:rgba(255,255,255,.06)!important;
    color:#fff!important;
  }

  .mobile-products-compact > details > a:hover *,
  .mobile-products-compact > details > a:focus-visible *,
  .mobile-products-compact > details > a:active *{
    color:#fff!important;
  }

  .mobile-products-compact > details > a:before{
    background:#ba2d29!important;
    opacity:1!important;
  }
}

@media (max-width:760px){
  .mobile-products-compact > details > summary{
    font-size:13.5px!important;
    line-height:1.32!important;
  }
  .mobile-products-compact > details > a{
    font-size:13px!important;
    line-height:1.3!important;
  }
}

/* v39 — mobile accordion indicators: remove + / - and use a clean arrow */
@media (max-width:1050px){
  .mobile-projects-menu > summary:after,
  .mobile-projects-menu summary::after,
  .mobile-systems-menu summary::after,
  .mobile-products-compact > details > summary:after,
  .mobile-products-compact > details[open] > summary:after{
    content:"›"!important;
    width:22px!important;
    height:22px!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    font-weight:900!important;
    font-size:18px!important;
    line-height:1!important;
    transform:none!important;
    transition:transform .2s ease, background .2s ease!important;
  }

  .mobile-projects-menu[open] > summary:after,
  .mobile-projects-menu[open] summary::after,
  .mobile-systems-menu[open] summary::after,
  .mobile-products-compact > details[open] > summary:after{
    content:"›"!important;
    transform:rotate(90deg)!important;
    background:#ba2d29!important;
    color:#fff!important;
  }

  .mobile-products-compact .mobile-product-all:after{
    content:"›"!important;
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
    transform:none!important;
  }
}

/* v40 — remove bullet dots from mobile product submenu items */
@media (max-width:1050px){
  .mobile-products-compact > details > a{
    padding-left:14px!important;
  }

  .mobile-products-compact > details > a:before,
  .mobile-products-compact > details > a::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:transparent!important;
    opacity:0!important;
  }
}

/* v41 — mobile menu final polish: plain white arrows, proper spacing, red 05 index */
@media (max-width:1050px){
  /* keep menu section numbers red, including 05 */
  .mobile-menu-links > a span,
  .mobile-projects-menu > summary span,
  .mobile-projects-menu summary span,
  .mobile-products-cascade > summary span,
  .mobile-products-cascade[open] > summary span{
    color:#c4312d!important;
  }

  /* simple white arrows only */
  .mobile-projects-menu > summary:after,
  .mobile-projects-menu summary::after,
  .mobile-systems-menu summary::after,
  .mobile-products-compact > details > summary:after,
  .mobile-products-compact > details[open] > summary:after,
  .mobile-products-compact .mobile-product-all:after{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    width:auto!important;
    height:auto!important;
    border-radius:0!important;
    color:#fff!important;
    font-size:18px!important;
    line-height:1!important;
    padding:0!important;
  }

  .mobile-projects-menu[open] > summary:after,
  .mobile-projects-menu[open] summary::after,
  .mobile-systems-menu[open] summary::after,
  .mobile-products-compact > details[open] > summary:after{
    background:transparent!important;
    color:#fff!important;
    transform:rotate(90deg)!important;
  }

  /* better spacing when a product subcategory opens */
  .mobile-products-compact > details,
  .mobile-products-compact > details[open]{
    padding:0 10px 10px!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details[open] > summary{
    margin:0 -10px!important;
    padding:14px 34px 14px 14px!important;
    border-bottom:0!important;
  }

  .mobile-products-compact > details > a,
  .mobile-products-compact > details > a:visited{
    margin-top:8px!important;
    border-radius:10px!important;
    border:1px solid rgba(255,255,255,.08)!important;
  }

  .mobile-products-compact > details > a:first-of-type{
    margin-top:10px!important;
  }
}

/* v42 — show all product categories without inner scroll on mobile */
@media (max-width:1050px){
  .mobile-products-cascade,
  .mobile-products-cascade[open]{
    overflow:visible!important;
  }

  .mobile-products-cascade .mobile-submenu,
  .mobile-products-cascade .mobile-products-compact,
  .mobile-systems-menu .mobile-submenu,
  .mobile-products-compact{
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
  }

  .mobile-products-compact{
    gap:7px!important;
    padding:0 10px 10px!important;
  }

  .mobile-products-compact .mobile-product-all{
    min-height:42px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:13px!important;
  }

  .mobile-products-compact > details,
  .mobile-products-compact > details[open]{
    border-radius:12px!important;
    padding:0 8px 8px!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details[open] > summary{
    min-height:44px!important;
    padding:10px 30px 10px 12px!important;
    font-size:12.6px!important;
    line-height:1.2!important;
  }

  .mobile-products-compact > details > a,
  .mobile-products-compact > details > a:visited{
    min-height:34px!important;
    padding:8px 10px!important;
    margin-top:6px!important;
    font-size:12px!important;
    line-height:1.15!important;
    border-radius:8px!important;
  }

  .mobile-products-compact > details > a:first-of-type{
    margin-top:6px!important;
  }
}

@media (max-width:390px), (max-height:740px){
  .mobile-products-compact{
    gap:6px!important;
    padding:0 8px 8px!important;
  }

  .mobile-products-compact .mobile-product-all{
    min-height:38px!important;
    font-size:12.5px!important;
  }

  .mobile-products-compact > details > summary,
  .mobile-products-compact > details[open] > summary{
    min-height:40px!important;
    font-size:12px!important;
    padding:9px 28px 9px 10px!important;
  }

  .mobile-products-compact > details > a,
  .mobile-products-compact > details > a:visited{
    min-height:31px!important;
    padding:7px 9px!important;
    font-size:11.6px!important;
  }
}

/* v43 — remove initial loader and keep mobile scrolling light */
.page-loader{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

@media (max-width:760px){
  html{
    scroll-behavior:auto!important;
  }

  .scroll-progress{
    display:none!important;
  }

  .hero-media,
  .hero-info div,
  .hero-content:before,
  .hero-slider button.active:after,
  .reveal,
  .reveal-left,
  .reveal-right,
  .photo-card,
  .plain-card,
  .system,
  .app-tags a,
  .contact-lines a,
  .contact-lines p,
  .is-visible.photo-card:before,
  .is-visible.systems-photo:before,
  .is-visible.app-photo:before{
    animation:none!important;
    transition:none!important;
    will-change:auto!important;
  }

  .reveal,
  .reveal-left,
  .reveal-right,
  .photo-card,
  .plain-card,
  .system,
  .app-tags a,
  .contact-lines a,
  .contact-lines p{
    opacity:1!important;
    transform:none!important;
  }

  .hero-media,
  .photo-card img,
  .systems-photo img,
  .app-photo img{
    transform:none!important;
    filter:none!important;
  }

  .site-header,
  .btn.secondary{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}

/* v44 — mobile fix for About/Solutions text overlap */
@media (max-width:760px){
  #about.section.split,
  #about.split{
    display:block!important;
    padding-top:56px!important;
    padding-bottom:44px!important;
    overflow:visible!important;
  }

  #about .section-copy{
    display:block!important;
    position:relative!important;
    top:auto!important;
    margin:0 0 26px!important;
    padding:0!important;
    z-index:3!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  #about .section-copy h2{
    font-size:clamp(30px, 8.1vw, 36px)!important;
    line-height:1.08!important;
    letter-spacing:-.045em!important;
    margin:0 0 16px!important;
    max-width:100%!important;
  }

  #about .section-copy > p:not(.kicker){
    display:block!important;
    position:relative!important;
    z-index:3!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0!important;
    padding:0!important;
    font-size:clamp(14.5px, 3.9vw, 16px)!important;
    line-height:1.62!important;
    color:#68736d!important;
    max-width:100%!important;
  }

  #about .solution-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    position:relative!important;
    z-index:2!important;
    margin-top:0!important;
    clear:both!important;
  }

  #about .photo-card,
  #about .plain-card{
    position:relative!important;
    transform:none!important;
  }
}

/* v43 - FR65 product page */
.eg-system-media.eg-product-link{
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}
.eg-view-product{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  margin-top:18px;
  padding:12px 18px;
  background:#a91f24;
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.03em;
  text-transform:uppercase;
  font-size:12px;
  border:1px solid #a91f24;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}
.eg-view-product:hover{transform:translateY(-2px);background:#111;color:#fff;border-color:#111;}
.fr-product-page{background:#f5f4ee;color:#111;overflow:hidden;}
.fr-product-hero{
  min-height:76vh;
  padding:150px clamp(22px,5vw,76px) 70px;
  display:grid;
  grid-template-columns:minmax(0,0.9fr) minmax(300px,1.1fr);
  align-items:center;
  gap:clamp(30px,5vw,80px);
  background:linear-gradient(135deg,#f7f6f0 0%,#ebe9df 100%);
  position:relative;
}
.fr-product-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:72px 72px;opacity:.55;pointer-events:none;}
.fr-product-hero-copy,.fr-product-hero-media{position:relative;z-index:1;}
.fr-product-hero h1{font-size:clamp(58px,9vw,136px);line-height:.86;margin:8px 0 22px;letter-spacing:-.08em;font-weight:800;}
.fr-product-hero p:not(.kicker){max-width:660px;font-size:clamp(17px,1.8vw,22px);line-height:1.65;color:#333;}
.fr-product-hero-media{background:#fff;border:1px solid rgba(0,0,0,.08);box-shadow:0 28px 80px rgba(0,0,0,.12);padding:clamp(18px,3vw,42px);}
.fr-product-hero-media img{display:block;width:100%;height:auto;object-fit:contain;}
.fr-product-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.fr-primary-btn,.fr-secondary-btn,.fr-return{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid #bd1f2d;padding:14px 22px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;font-size:13px;transition:.25s ease;
}
.fr-primary-btn{background:#bd1f2d;color:#fff;}.fr-primary-btn:hover{background:#111;border-color:#111;color:#fff;transform:translateY(-2px);}
.fr-secondary-btn,.fr-return{background:transparent;color:#bd1f2d;}.fr-secondary-btn:hover,.fr-return:hover{background:#bd1f2d;color:#fff;transform:translateY(-2px);}
.fr-product-content{padding:clamp(36px,6vw,90px) clamp(18px,5vw,72px);display:grid;gap:28px;}
.fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs{background:#fff;border:1px solid rgba(0,0,0,.09);box-shadow:0 18px 50px rgba(0,0,0,.06);padding:clamp(22px,4vw,46px);}
.fr-copy-card h2,.fr-pdf-card h2{font-size:clamp(28px,4vw,52px);line-height:1;margin:0 0 18px;letter-spacing:-.04em;}
.fr-copy-card p,.fr-pdf-card p{font-size:17px;line-height:1.75;color:#404040;max-width:980px;}
.fr-feature-list{columns:2;column-gap:44px;margin:28px 0 0;padding:0;list-style:none;}
.fr-feature-list li{break-inside:avoid;margin:0 0 14px;padding-left:22px;position:relative;line-height:1.55;color:#2e2e2e;}
.fr-feature-list li:before{content:"";position:absolute;left:0;top:.75em;width:8px;height:2px;background:#bd1f2d;}
.fr-table-wrap{overflow-x:auto;margin-top:20px;border:1px solid rgba(0,0,0,.08);}
.fr-spec-table{width:100%;border-collapse:collapse;min-width:860px;}
.fr-spec-table th{background:#e8e8e8;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#444;padding:20px 16px;font-weight:600;text-align:center;border-right:1px solid #fff;}
.fr-spec-table td{padding:18px 16px;text-align:center;border-top:1px solid #eee;color:#333;}
.fr-max-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px;}
.fr-max-grid span{background:#f4f4f0;border:1px solid rgba(0,0,0,.07);padding:14px;font-size:13px;font-weight:700;color:#333;}
.fr-pdf-card{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.fr-tabs{padding-top:0;}
.fr-tabs input{position:absolute;opacity:0;pointer-events:none;}
.fr-tab-labels{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #bd1f2d;margin:0 calc(clamp(22px,4vw,46px) * -1) 36px;}
.fr-tab-labels label{cursor:pointer;text-align:center;padding:18px 16px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#333;transition:.2s ease;}
#fr-tab-cross:checked ~ .fr-tab-labels label[for="fr-tab-cross"],#fr-tab-visual:checked ~ .fr-tab-labels label[for="fr-tab-visual"],#fr-tab-real:checked ~ .fr-tab-labels label[for="fr-tab-real"]{background:#bd1f2d;color:#fff;}
.fr-tab-panel{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:center;justify-items:center;}
.fr-tab-panel img{width:100%;max-width:560px;height:auto;object-fit:contain;display:block;}
#fr-tab-cross:checked ~ .fr-panel-cross,#fr-tab-visual:checked ~ .fr-panel-visual,#fr-tab-real:checked ~ .fr-panel-real{display:grid;}
.fr-empty{grid-column:1/-1;text-align:center;color:#777;padding:50px 0;}
.fr-return{margin:34px auto 0;display:flex;width:max-content;}
@media (max-width: 860px){
  .fr-product-hero{grid-template-columns:1fr;min-height:auto;padding:120px 18px 42px;gap:28px;}
  .fr-product-hero h1{font-size:64px;letter-spacing:-.06em;}
  .fr-product-hero p:not(.kicker){font-size:16px;}
  .fr-product-hero-media{padding:18px;}
  .fr-product-content{padding:28px 14px 90px;gap:18px;}
  .fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs{padding:22px 16px;}
  .fr-feature-list{columns:1;}
  .fr-max-grid{grid-template-columns:1fr;}
  .fr-pdf-card{display:block;}
  .fr-pdf-card .fr-primary-btn{margin-top:18px;}
  .fr-tab-labels{grid-template-columns:1fr;margin:0 -16px 24px;}
  .fr-tab-labels label{padding:15px 10px;font-size:12px;border-bottom:1px solid rgba(189,31,45,.2);}
  .fr-tab-panel{grid-template-columns:1fr;gap:18px;}
  .fr-return{width:100%;}
}

/* v6 product media zoom / lightbox */
.fr-performance-title{margin-top:34px;}
.fr-note{font-size:13px;color:#666;margin:12px 0 0;}
.fr-tab-panel .fr-zoom{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:560px;min-height:160px;background:#fff;text-decoration:none;overflow:hidden;cursor:zoom-in;}
.fr-tab-panel .fr-zoom img{transition:transform .35s ease,filter .35s ease,opacity .35s ease;}
.fr-tab-panel .fr-zoom:before{content:"";position:absolute;inset:0;background:rgba(17,17,17,.18);opacity:0;transition:opacity .25s ease;z-index:1;}
.fr-tab-panel .fr-zoom:after{content:"⌕";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.86);width:58px;height:58px;border:2px solid #bd1f2d;border-radius:999px;background:rgba(255,255,255,.92);color:#bd1f2d;display:flex;align-items:center;justify-content:center;font-size:42px;line-height:1;font-weight:300;opacity:0;transition:opacity .25s ease,transform .25s ease;z-index:2;}
.fr-tab-panel .fr-zoom:hover:before,.fr-tab-panel .fr-zoom:hover:after{opacity:1;}
.fr-tab-panel .fr-zoom:hover:after{transform:translate(-50%,-50%) scale(1);}
.fr-tab-panel .fr-zoom:hover img{transform:scale(1.035);filter:saturate(.96) contrast(1.05);}
.fr-image-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);display:none;align-items:center;justify-content:center;padding:28px;z-index:9999;}
.fr-image-lightbox.is-open{display:flex;}
.fr-image-lightbox img{max-width:min(1120px,94vw);max-height:88vh;width:auto;height:auto;object-fit:contain;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.45);}
.fr-lightbox-close{position:absolute;right:22px;top:18px;border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08);color:#fff;width:44px;height:44px;font-size:30px;line-height:1;cursor:pointer;}
body.fr-lightbox-open{overflow:hidden;}
@media (hover:none){.fr-tab-panel .fr-zoom:before,.fr-tab-panel .fr-zoom:after{opacity:1}.fr-tab-panel .fr-zoom:before{background:rgba(17,17,17,.06)}.fr-tab-panel .fr-zoom:after{width:46px;height:46px;font-size:32px;right:10px;left:auto;top:10px;transform:none;}}
@media (max-width:860px){.fr-tab-panel .fr-zoom{max-width:100%;}.fr-image-lightbox{padding:14px;}.fr-lightbox-close{right:12px;top:12px;}}

/* v7 product pages: cleaner / minimal sizing */
.fr-product-page{
  background:#f7f6f1;
  overflow-x:hidden;
}
.fr-product-hero{
  min-height:auto;
  max-width:1180px;
  margin:0 auto;
  padding:118px 22px 46px;
  grid-template-columns:minmax(0,1fr) minmax(260px,420px);
  gap:42px;
  background:transparent;
}
.fr-product-hero:before{display:none;}
.fr-product-hero h1{
  font-size:clamp(38px,5.2vw,68px);
  line-height:1;
  letter-spacing:-.045em;
  margin:8px 0 16px;
}
.fr-product-hero p:not(.kicker){
  max-width:620px;
  font-size:16px;
  line-height:1.7;
  color:#333;
}
.fr-product-hero-media{
  padding:22px;
  box-shadow:none;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.fr-product-hero-media img{
  max-height:390px;
  object-fit:contain;
  margin:0 auto;
}
.fr-product-actions{margin-top:24px;}
.fr-primary-btn,.fr-secondary-btn,.fr-return{
  padding:12px 18px;
  font-size:12px;
  letter-spacing:.045em;
}
.fr-product-content{
  max-width:1180px;
  margin:0 auto;
  padding:10px 22px 80px;
  gap:18px;
}
.fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs{
  padding:28px;
  box-shadow:none;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.fr-copy-card h2,.fr-pdf-card h2{
  font-size:clamp(22px,2.5vw,32px);
  line-height:1.15;
  letter-spacing:-.025em;
  margin-bottom:14px;
}
.fr-copy-card p,.fr-pdf-card p{
  font-size:15px;
  line-height:1.7;
  max-width:900px;
  margin-bottom:0;
}
.fr-feature-list{
  columns:1;
  max-width:980px;
  margin-top:20px;
}
.fr-feature-list li{
  margin-bottom:9px;
  font-size:14px;
  line-height:1.55;
  color:#333;
}
.fr-table-wrap{margin-top:14px;}
.fr-spec-table{min-width:760px;}
.fr-spec-table th{
  padding:13px 12px;
  font-size:11px;
  font-weight:600;
}
.fr-spec-table td{
  padding:13px 12px;
  font-size:13px;
}
.fr-max-grid{
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  margin-top:16px;
}
.fr-max-grid span{padding:12px;font-size:12px;}
.fr-pdf-card{align-items:center;}
.fr-tab-labels{
  margin:0 -28px 26px;
}
.fr-tab-labels label{
  padding:15px 12px;
  font-size:13px;
}
.fr-tab-panel{
  gap:22px;
}
.fr-tab-panel img,
.fr-tab-panel .fr-zoom{
  max-width:420px;
}
.fr-tab-panel .fr-zoom{
  min-height:120px;
}
.fr-tab-panel .fr-zoom:after{
  width:48px;
  height:48px;
  font-size:34px;
}
.fr-return{margin-top:28px;}

@media (max-width:860px){
  .fr-product-hero{
    grid-template-columns:1fr;
    padding:96px 16px 28px;
    gap:20px;
  }
  .fr-product-hero h1{font-size:42px;}
  .fr-product-hero p:not(.kicker){font-size:14px;line-height:1.65;}
  .fr-product-hero-media{padding:14px;max-width:360px;width:100%;margin:0 auto;}
  .fr-product-hero-media img{max-height:300px;}
  .fr-product-content{padding:6px 14px 78px;gap:14px;}
  .fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs{padding:18px 14px;}
  .fr-copy-card h2,.fr-pdf-card h2{font-size:22px;}
  .fr-copy-card p,.fr-pdf-card p{font-size:14px;}
  .fr-feature-list li{font-size:13px;margin-bottom:8px;padding-left:17px;}
  .fr-feature-list li:before{width:6px;}
  .fr-tab-labels{margin:0 -14px 18px;}
  .fr-tab-labels label{padding:12px 10px;font-size:11px;}
  .fr-tab-panel{gap:14px;}
  .fr-tab-panel img,.fr-tab-panel .fr-zoom{max-width:100%;}
}

/* v48 - unify "Δείτε προϊόν" product buttons */
#systems .eg-view-product,
#systems .eg-view-product:link,
#systems .eg-view-product:visited,
.eg-view-product,
.eg-view-product:link,
.eg-view-product:visited{
  background:#a91f24!important;
  color:#fff!important;
  border-color:#a91f24!important;
  text-decoration:none!important;
}

#systems .eg-view-product:hover,
#systems .eg-view-product:focus,
.eg-view-product:hover,
.eg-view-product:focus{
  background:#111!important;
  color:#fff!important;
  border-color:#111!important;
  text-decoration:none!important;
}

#systems .eg-view-product *,
.eg-view-product *{
  color:inherit!important;
}

/* v49 - smaller subcategory/product listing titles */
#systems .eg-subcategory-heading h4,
#systems .eg-category h3,
#systems-page #systems .eg-subcategory-heading h4{
  font-size:clamp(18px,1.45vw,24px)!important;
  line-height:1.18!important;
  letter-spacing:-.018em!important;
  font-weight:760!important;
}

.systems-page-hero h1{
  font-size:clamp(36px,4.2vw,58px)!important;
  line-height:1.02!important;
}

@media (max-width:860px){
  #systems .eg-subcategory-heading h4,
  #systems .eg-category h3,
  #systems-page #systems .eg-subcategory-heading h4{
    font-size:19px!important;
    line-height:1.22!important;
  }

  .systems-page-hero h1{
    font-size:34px!important;
  }
}

/* v50 - product detail pages color reset / clean minimal */
main.fr-product-page,
.fr-product-page{
  background:#f7f6f1!important;
  color:#111!important;
}

.fr-product-page .fr-product-hero{
  background:#f7f6f1!important;
  color:#111!important;
  border-bottom:1px solid rgba(0,0,0,.06)!important;
}

.fr-product-page .fr-product-hero-copy,
.fr-product-page .fr-product-hero-copy h1,
.fr-product-page .fr-product-hero-copy p,
.fr-product-page .fr-product-hero-copy li{
  color:#111!important;
  opacity:1!important;
}

.fr-product-page .fr-product-hero-copy p:not(.kicker){
  color:#333!important;
}

.fr-product-page .kicker,
.fr-product-page .fr-copy-card .kicker,
.fr-product-page .fr-spec-card .kicker{
  color:#bd1f2d!important;
  opacity:1!important;
}

.fr-product-page .fr-copy-card,
.fr-product-page .fr-spec-card,
.fr-product-page .fr-pdf-card,
.fr-product-page .fr-tabs{
  background:#fff!important;
  color:#111!important;
}

.fr-product-page .fr-copy-card h2,
.fr-product-page .fr-pdf-card h2,
.fr-product-page .fr-copy-card p,
.fr-product-page .fr-pdf-card p,
.fr-product-page .fr-feature-list li,
.fr-product-page .fr-spec-table td{
  color:#111!important;
  opacity:1!important;
}

.fr-product-page .fr-feature-list li{
  color:#2b2b2b!important;
}

.fr-product-page .fr-primary-btn,
.fr-product-page .fr-primary-btn:link,
.fr-product-page .fr-primary-btn:visited{
  background:#bd1f2d!important;
  border-color:#bd1f2d!important;
  color:#fff!important;
}

.fr-product-page .fr-secondary-btn,
.fr-product-page .fr-secondary-btn:link,
.fr-product-page .fr-secondary-btn:visited,
.fr-product-page .fr-return,
.fr-product-page .fr-return:link,
.fr-product-page .fr-return:visited{
  background:#fff!important;
  border-color:#bd1f2d!important;
  color:#bd1f2d!important;
}

.fr-product-page .fr-primary-btn:hover,
.fr-product-page .fr-secondary-btn:hover,
.fr-product-page .fr-return:hover{
  background:#111!important;
  border-color:#111!important;
  color:#fff!important;
}

.fr-product-page .fr-product-hero-media{
  background:#fff!important;
}


/* v52 - MC Fire product page tabs */
#mcfire-tab-cross:checked ~ .fr-tab-labels label[for="mcfire-tab-cross"],
#mcfire-tab-visual:checked ~ .fr-tab-labels label[for="mcfire-tab-visual"],
#mcfire-tab-real:checked ~ .fr-tab-labels label[for="mcfire-tab-real"]{background:#bd1f2d;color:#fff;}
#mcfire-tab-cross:checked ~ .fr-panel-cross,
#mcfire-tab-visual:checked ~ .fr-panel-visual,
#mcfire-tab-real:checked ~ .fr-panel-real{display:grid;}
.fr-empty{margin:20px auto;color:#555;font-size:15px;text-align:center;}


/* v18 — Fire protecting systems quick navigation and complete mobile product list */
.fire-subcategory-nav-section{
  padding-top:26px!important;
  padding-bottom:0!important;
}
.fire-subcategory-nav{
  max-width:1180px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
}
.fire-subcategory-link{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  min-height:112px!important;
  padding:16px!important;
  background:#fff!important;
  color:#101512!important;
  border:1px solid rgba(16,21,18,.10)!important;
  text-decoration:none!important;
  box-shadow:0 14px 34px rgba(16,21,18,.05)!important;
}
.fire-subcategory-link span{
  color:#a72d29!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.fire-subcategory-link strong{
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
.fire-subcategory-link small{
  color:#68726b!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.fire-subcategory-link:hover,
.fire-subcategory-link.is-active{
  border-color:rgba(167,45,41,.38)!important;
  background:#faf7f4!important;
}
@media (max-width:920px){
  .fire-subcategory-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:560px){
  .fire-subcategory-nav-section{padding-top:18px!important;}
  .fire-subcategory-nav{grid-template-columns:1fr!important;gap:8px!important;}
  .fire-subcategory-link{min-height:auto!important;padding:13px 14px!important;border-radius:10px!important;box-shadow:none!important;}
  .fire-subcategory-link strong{font-size:14px!important;}
  .fire-subcategory-link small{font-size:11.5px!important;}
}
@media (max-width:1050px){
  .mobile-products-compact > details > a.mobile-subcategory-heading-link,
  .mobile-products-compact > details > a.mobile-subcategory-heading-link:visited{
    margin-top:10px!important;
    background:#fff!important;
    color:#101512!important;
    border-color:rgba(167,45,41,.24)!important;
    font-weight:900!important;
  }
  .mobile-products-compact > details > a.mobile-subcategory-heading-link:before{
    background:#a72d29!important;
  }
}


/* v19 - generic product tabs + stronger mobile responsiveness */
.fr-tabs input:nth-of-type(1):checked ~ .fr-tab-labels label:nth-child(1),
.fr-tabs input:nth-of-type(2):checked ~ .fr-tab-labels label:nth-child(2),
.fr-tabs input:nth-of-type(3):checked ~ .fr-tab-labels label:nth-child(3){
  background:#bd1f2d!important;
  color:#fff!important;
}
.fr-tabs input:nth-of-type(1):checked ~ .fr-panel-cross,
.fr-tabs input:nth-of-type(2):checked ~ .fr-panel-visual,
.fr-tabs input:nth-of-type(3):checked ~ .fr-panel-real{
  display:grid!important;
}

.fr-product-page,
.fr-product-page *{
  box-sizing:border-box;
}

.fr-product-hero,
.fr-product-content,
.fr-copy-card,
.fr-spec-card,
.fr-pdf-card,
.fr-tabs,
.fr-tab-panel,
#systems .eg-system-card,
#systems .eg-system-content,
#systems .eg-system-media{
  min-width:0;
}

.fr-table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}

@media (max-width: 900px){
  .fr-product-hero{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:94px 16px 24px!important;
  }
  .fr-product-hero-copy{
    order:1;
  }
  .fr-product-hero-media{
    order:2;
    width:100%;
    max-width:360px;
    margin:0 auto;
    padding:14px!important;
  }
  .fr-product-hero h1{
    font-size:clamp(34px,10vw,44px)!important;
    line-height:1.02!important;
    word-break:break-word;
  }
  .fr-product-hero p:not(.kicker){
    font-size:14px!important;
    line-height:1.65!important;
  }
  .fr-product-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%;
  }
  .fr-primary-btn,.fr-secondary-btn,.fr-return,
  .fr-pdf-card .fr-primary-btn{
    width:100%!important;
    text-align:center!important;
  }
  .fr-product-content{
    padding:8px 14px 78px!important;
    gap:14px!important;
  }
  .fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs{
    padding:18px 14px!important;
    border-radius:14px!important;
  }
  .fr-copy-card h2,.fr-pdf-card h2{
    font-size:22px!important;
  }
  .fr-copy-card p,.fr-pdf-card p,
  .fr-feature-list li{
    font-size:14px!important;
  }
  .fr-tab-labels{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(110px,1fr))!important;
    margin:0 -14px 18px!important;
    overflow-x:auto;
    border-bottom:1px solid rgba(189,31,45,.2)!important;
  }
  .fr-tab-labels label{
    padding:12px 10px!important;
    font-size:11px!important;
    white-space:nowrap;
  }
  .fr-tab-panel{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .fr-tab-panel .fr-zoom,
  .fr-tab-panel img{
    max-width:100%!important;
    width:100%!important;
  }
  .fr-image-lightbox{
    padding:12px!important;
  }
  .fr-lightbox-close{
    right:10px!important;
    top:10px!important;
  }

  #systems .eg-system-card{
    grid-template-columns:1fr!important;
    padding:12px!important;
    gap:14px!important;
  }
  #systems .eg-system-media{
    width:100%!important;
    min-height:190px!important;
    height:190px!important;
  }
  #systems .eg-system-media img{
    max-height:170px!important;
    padding:14px!important;
  }
  #systems .eg-system-titleline{
    display:block!important;
  }
  #systems .eg-system-titleline h4{
    font-size:24px!important;
    line-height:1.08!important;
  }
  #systems .eg-system-titleline span{
    display:inline-flex!important;
    margin-top:10px!important;
  }
  #systems .eg-system-content>p{
    font-size:14px!important;
    line-height:1.6!important;
  }
  #systems .eg-pdf-btn,
  #systems .eg-view-product{
    width:100%!important;
    justify-content:center!important;
  }
}

@media (max-width: 560px){
  .fr-product-hero{
    padding:88px 12px 20px!important;
  }
  .fr-product-content{
    padding:6px 12px 72px!important;
  }
  .fr-product-hero-media{
    max-width:100%!important;
  }
  .fr-tab-labels{
    grid-template-columns:1fr!important;
  }
  .fr-tab-labels label{
    border-bottom:1px solid rgba(189,31,45,.15)!important;
  }
  .fr-spec-table{
    min-width:680px!important;
  }
  .fr-max-grid{
    grid-template-columns:1fr!important;
  }
  #systems .eg-system-titleline h4{
    font-size:21px!important;
  }
}


/* v20 - remove quick category nav, fix mobile menu scroll/colors, speed pass */
.fire-subcategory-nav-section,
.fire-subcategory-nav{
  display:none!important;
}

@media (max-width:1050px){
  html, body{
    overflow-x:hidden!important;
  }
  body.menu-open{
    overflow:hidden!important;
    touch-action:none!important;
  }
  .mobile-menu{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    display:block!important;
    overflow:hidden!important;
    background:#090f0c!important;
    color:#fff!important;
    transform:translateX(105%)!important;
    transition:transform .18s ease!important;
    z-index:5000!important;
    border:0!important;
    box-shadow:none!important;
  }
  .mobile-menu.open{
    transform:translateX(0)!important;
  }
  .mobile-menu-inner{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    padding:14px 12px calc(96px + env(safe-area-inset-bottom))!important;
    background:#090f0c!important;
  }
  .mobile-menu-top{
    position:sticky!important;
    top:0!important;
    z-index:4!important;
    background:#090f0c!important;
    padding:4px 0 12px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .mobile-menu-links{
    display:grid!important;
    gap:8px!important;
    margin-top:14px!important;
    overflow:visible!important;
    max-height:none!important;
  }
  .mobile-menu-links>a,
  .mobile-menu-links>details,
  .mobile-projects-menu,
  .mobile-products-cascade{
    background:#111a15!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:12px!important;
    overflow:hidden!important;
    box-shadow:none!important;
  }
  .mobile-menu-links>a,
  .mobile-projects-menu>summary,
  .mobile-products-cascade>summary{
    min-height:54px!important;
    padding:13px 14px!important;
    color:#fff!important;
  }
  .mobile-menu-links>a b,
  .mobile-projects-menu summary b{
    color:#fff!important;
    font-size:20px!important;
  }
  .mobile-menu-links>a span,
  .mobile-projects-menu summary span{
    color:#bd2f2a!important;
  }

  .mobile-products-compact{
    padding:0 10px 12px!important;
    display:grid!important;
    gap:8px!important;
    background:#111a15!important;
  }
  .mobile-products-compact .mobile-product-all{
    background:#bd2f2a!important;
    color:#fff!important;
    border:1px solid rgba(255,255,255,.08)!important;
    min-height:46px!important;
    border-radius:9px!important;
    box-shadow:none!important;
  }
  .mobile-products-compact>details{
    background:#101713!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:9px!important;
    box-shadow:none!important;
  }
  .mobile-products-compact>details>summary{
    background:#101713!important;
    color:#fff!important;
    min-height:48px!important;
    padding:12px 42px 12px 12px!important;
    font-size:13px!important;
  }
  .mobile-products-compact>details>summary,
  .mobile-products-compact>details>summary *{
    color:#fff!important;
  }
  .mobile-products-compact>details>summary:after{
    background:#263329!important;
    color:#fff!important;
  }
  .mobile-products-compact>details[open]>summary{
    background:#15211a!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
  }
  .mobile-products-compact>details[open]>summary:after{
    background:#bd2f2a!important;
    color:#fff!important;
  }
  .mobile-products-compact>details>a,
  .mobile-products-compact>details>a.mobile-subcategory-heading-link,
  .mobile-products-compact>details>a.mobile-subcategory-heading-link:visited{
    background:#131d17!important;
    color:rgba(255,255,255,.88)!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
    min-height:42px!important;
    padding:10px 12px 10px 30px!important;
    font-size:13px!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .mobile-products-compact>details>a.mobile-subcategory-heading-link{
    background:#1b251f!important;
    color:#fff!important;
    font-weight:950!important;
  }
  .mobile-products-compact>details>a:before,
  .mobile-products-compact>details>a.mobile-subcategory-heading-link:before{
    background:#bd2f2a!important;
    opacity:1!important;
  }
}

/* Performance/mobile speed: reduce expensive paints and animation jank */
img{content-visibility:auto;}
.reveal,.reveal-up,.reveal-left,.reveal-right,
.photo-card,.plain-card,.fr-product-hero-media,.fr-copy-card,.fr-spec-card,.fr-pdf-card,.fr-tabs,
#systems .eg-system-card,#systems .eg-system-media{
  will-change:auto!important;
}
@media (max-width:1050px){
  *{
    scroll-behavior:auto!important;
  }
  .reveal,.reveal-up,.reveal-left,.reveal-right,
  .photo-card,.plain-card,.fr-product-hero,.fr-product-hero-media,
  #systems .eg-system-card,#systems .eg-system-media,#systems .eg-system-media img{
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .hero:after,
  .fr-product-hero:before,
  .systems-page-hero:before{
    display:none!important;
  }
  .site-header,
  .mobile-menu,
  .bottom-nav{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .fr-tab-panel .fr-zoom:hover img,
  .fr-tab-panel .fr-zoom img{
    transform:none!important;
  }
}


/* v21 - product category labels are not links + remove category arrows */
.products-cascade-dropdown .products-cascade-main,
.products-cascade-dropdown button.products-cascade-main{
  appearance:none!important;
  -webkit-appearance:none!important;
  font-family:inherit!important;
  text-align:left!important;
  cursor:default!important;
  width:100%!important;
  border:0!important;
}
.products-cascade-dropdown .products-cascade-main:after,
.products-cascade-dropdown .products-cascade-main:before{
  display:none!important;
  content:none!important;
}
.products-cascade-dropdown button.products-cascade-main:hover,
.products-cascade-dropdown button.products-cascade-main:focus{
  color:inherit!important;
  text-decoration:none!important;
  outline:none!important;
}
.products-cascade-dropdown .products-cascade-submenu a{
  cursor:pointer!important;
}

@media (max-width:1050px){
  .mobile-products-compact>details>summary{
    padding-right:12px!important;
    cursor:pointer!important;
  }
  .mobile-products-compact>details>summary:after,
  .mobile-products-compact>details[open]>summary:after{
    display:none!important;
    content:none!important;
  }
  .mobile-products-compact>details>summary,
  .mobile-products-compact>details[open]>summary{
    background:#101713!important;
    color:#fff!important;
  }
}


/* v22 - keep product category text readable on hover */
.products-cascade-dropdown .products-cascade-main,
.products-cascade-dropdown .products-cascade-main:link,
.products-cascade-dropdown .products-cascade-main:visited,
.products-cascade-dropdown .products-cascade-main:hover,
.products-cascade-dropdown .products-cascade-main:focus,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main{
  color:#fff!important;
  background:#101512!important;
  text-decoration:none!important;
}

.products-cascade-dropdown .products-cascade-main span,
.products-cascade-dropdown .products-cascade-main:hover span,
.products-cascade-dropdown .products-cascade-main:focus span,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main span,
.products-cascade-dropdown .products-cascade-item:focus-within .products-cascade-main span{
  color:#fff!important;
}

.products-cascade-dropdown .products-cascade-main .product-ei-badges,
.products-cascade-dropdown .products-cascade-main .product-ei-badges span,
.products-cascade-dropdown .products-cascade-main .product-ei-badges em,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main .product-ei-badges,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main .product-ei-badges span,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main .product-ei-badges em{
  color:#fff!important;
}

.products-cascade-dropdown button.products-cascade-main{
  color:#fff!important;
}

.products-cascade-dropdown button.products-cascade-main:hover *,
.products-cascade-dropdown button.products-cascade-main:focus *{
  color:#fff!important;
}

@media (max-width:1050px){
  .mobile-products-compact>details>summary:hover,
  .mobile-products-compact>details>summary:focus,
  .mobile-products-compact>details>summary:hover *,
  .mobile-products-compact>details>summary:focus *{
    color:#fff!important;
    background:#15211a!important;
  }
}


/* v23 - show hand cursor on non-link product categories */
.products-cascade-dropdown .products-cascade-main,
.products-cascade-dropdown button.products-cascade-main,
.products-cascade-dropdown .products-cascade-item:hover .products-cascade-main,
.products-cascade-dropdown .products-cascade-main:hover,
.products-cascade-dropdown .products-cascade-main:focus{
  cursor:pointer!important;
}

.products-cascade-dropdown .products-cascade-main *{
  cursor:pointer!important;
}

@media (max-width:1050px){
  .mobile-products-compact>details>summary,
  .mobile-products-compact>details>summary *,
  .mobile-products-compact>details[open]>summary,
  .mobile-products-compact>details[open]>summary *{
    cursor:pointer!important;
  }
}


/* v24 - product category offer cards + mobile menu cleanup */
.mobile-products-compact .mobile-product-all{
  display:none!important;
}

.offer-categories{
  background:#f7f6f1!important;
  padding-top:42px!important;
  padding-bottom:34px!important;
}
.offer-categories-head{
  max-width:1180px;
  margin:0 auto 24px;
  text-align:center;
}
.offer-categories-head h2{
  margin:6px 0 0;
  font-size:clamp(24px,2.4vw,36px);
  font-weight:650;
  letter-spacing:-.025em;
  color:#29302b;
}
.offer-category-grid{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px;
}
.offer-category-card{
  position:relative;
  min-height:225px;
  overflow:hidden;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  padding:48px 28px 22px;
  text-decoration:none!important;
  background:#dfe4e0;
  isolation:isolate;
  border:1px solid rgba(16,21,18,.06);
  box-shadow:none!important;
}
.offer-category-card:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(255,255,255,.88) 0%,rgba(255,255,255,.70) 52%,rgba(255,255,255,.12) 100%),var(--offer-bg);
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
  transition:transform .35s ease,filter .35s ease;
  z-index:-2;
}
.offer-category-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.08);
  z-index:-1;
}
.offer-category-card span{
  position:absolute;
  top:42px;
  left:28px;
  width:34px;
  height:2px;
  background:#bd1f2d;
}
.offer-category-card strong{
  display:block;
  max-width:78%;
  margin-top:24px;
  color:#3c4440!important;
  font-size:clamp(16px,1.25vw,21px);
  line-height:1.25;
  font-weight:500;
}
.offer-category-card em{
  position:absolute;
  right:0;
  bottom:0;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#bd1f2d;
  border-left:1px solid rgba(189,31,45,.28);
  border-top:1px solid rgba(189,31,45,.28);
  font-size:34px;
  line-height:1;
  font-style:normal;
  transition:background .25s ease,color .25s ease;
}
.offer-category-card:hover:before{
  transform:scale(1.055);
  filter:saturate(1.04) contrast(1.03);
}
.offer-category-card:hover em{
  background:#bd1f2d;
  color:#fff;
}
.offer-category-card:hover strong{
  color:#111!important;
}

@media (max-width: 1024px){
  .offer-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .offer-category-card{min-height:200px;}
}
@media (max-width: 620px){
  .offer-categories{padding:28px 14px 24px!important;}
  .offer-categories-head{text-align:left;margin-bottom:16px;}
  .offer-category-grid{grid-template-columns:1fr;gap:12px;}
  .offer-category-card{min-height:150px;padding:34px 20px 18px;border-radius:0;}
  .offer-category-card span{top:30px;left:20px;width:30px;}
  .offer-category-card strong{margin-top:20px;max-width:82%;font-size:17px;}
  .offer-category-card em{width:38px;height:38px;font-size:30px;}
}


/* v25 - show category cards on homepage too */
.home-offer-categories{
  background:#f7f6f1!important;
  padding-top:56px!important;
}
.home-offer-categories .offer-category-grid{
  max-width:1180px!important;
}
@media (max-width:760px){
  .home-offer-categories{padding-top:34px!important;}
}


/* v26 - remove offer category cards */
.offer-categories,.home-offer-categories{display:none!important;}


/* v27 - desktop product dropdown category text alignment */
@media (min-width:1051px){
  .products-cascade-dropdown .products-cascade-main,
  .products-cascade-dropdown button.products-cascade-main,
  .products-cascade-dropdown .products-cascade-submenu a{
    text-align:left!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    place-items:start!important;
  }

  .products-cascade-dropdown .products-cascade-main span,
  .products-cascade-dropdown .products-cascade-main small,
  .products-cascade-dropdown .products-cascade-main strong,
  .products-cascade-dropdown .products-cascade-submenu a span,
  .products-cascade-dropdown .products-cascade-submenu a strong,
  .products-cascade-dropdown .products-cascade-submenu a small{
    text-align:left!important;
    margin-left:0!important;
    margin-right:auto!important;
    justify-content:flex-start!important;
  }

  .products-cascade-dropdown .products-cascade-main{
    padding-left:16px!important;
    padding-right:18px!important;
  }

  .products-cascade-dropdown .products-cascade-main .product-ei-badges{
    justify-content:flex-start!important;
    text-align:left!important;
    margin-left:0!important;
    margin-right:auto!important;
  }

  .products-cascade-dropdown .products-cascade-list,
  .products-cascade-dropdown .products-cascade-submenu{
    text-align:left!important;
  }
}


/* v28 - POLFLAM glass subcategories */
.products-cascade-submenu a{line-height:1.25!important;}
#systems .eg-system-card[id]{scroll-margin-top:110px;}
@media (max-width:860px){
  #systems .eg-system-card[id]{scroll-margin-top:88px;}
  .mobile-products-compact a{line-height:1.25!important;}
}


/* v29 POLFLAM GAIA subsection */
#systems .eg-system-card-gaia{
  display:block!important;
  background:#f4f3ef!important;
  border:1px solid rgba(17,24,20,.08)!important;
  padding:28px 26px!important;
}
#systems .gaia-feature-head{
  border-bottom:1px solid rgba(17,24,20,.12);
  padding-bottom:14px;
  margin-bottom:26px;
}
#systems .gaia-feature-head span{
  display:block;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#a22b2b;
  margin-bottom:8px;
  font-weight:700;
}
#systems .gaia-feature-head h3{
  margin:0;
  font-size:30px;
  line-height:1.08;
  color:#14201a;
}
#systems .gaia-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:32px;
  align-items:start;
}
#systems .gaia-feature-copy h4{
  margin:0 0 18px;
  font-size:28px;
  line-height:1.15;
  color:#14201a;
}
#systems .gaia-feature-copy p{
  margin:0 0 16px;
  color:#505b54;
  font-size:15px;
  line-height:1.85;
}
#systems .gaia-feature-media{
  display:grid;
  gap:22px;
}
#systems .gaia-figure{
  margin:0;
}
#systems .gaia-figure img{
  width:100%;
  height:auto;
  display:block;
  background:#fff;
}
#systems .gaia-figure figcaption{
  margin-top:10px;
  color:#7c857f;
  font-size:13px;
  line-height:1.6;
  text-align:right;
  font-style:italic;
}
@media (max-width: 980px){
  #systems .eg-system-card-gaia{padding:22px 18px!important;}
  #systems .gaia-feature-grid{grid-template-columns:1fr!important;gap:24px!important;}
  #systems .gaia-feature-copy h4{font-size:24px!important;}
}
@media (max-width: 620px){
  #systems .eg-system-card-gaia{padding:18px 14px!important;}
  #systems .gaia-feature-head{margin-bottom:20px!important;}
  #systems .gaia-feature-head h3{font-size:24px!important;}
  #systems .gaia-feature-copy h4{font-size:21px!important;}
  #systems .gaia-feature-copy p{font-size:14px!important;line-height:1.75!important;}
  #systems .gaia-figure figcaption{text-align:left!important;font-size:12.5px!important;}
}


/* v30 POLFLAM partitions / doors detail */
#systems .eg-system-card-polflam-detail{
  display:block!important;
  background:#f4f3ef!important;
  border:1px solid rgba(17,24,20,.08)!important;
  padding:28px 26px!important;
}
#systems .polflam-feature-head{
  border-bottom:1px solid rgba(17,24,20,.12);
  padding-bottom:14px;
  margin-bottom:26px;
}
#systems .polflam-feature-head span{
  display:block;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#a22b2b;
  margin-bottom:8px;
  font-weight:700;
}
#systems .polflam-feature-head h3{
  margin:0;
  font-size:30px;
  line-height:1.08;
  color:#14201a;
}
#systems .polflam-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:32px;
  align-items:start;
}
#systems .polflam-feature-copy p,
#systems .polflam-feature-copy li{
  color:#505b54;
  font-size:15px;
  line-height:1.85;
}
#systems .polflam-feature-copy p{margin:0 0 18px;}
#systems .polflam-bullets{margin:0 0 18px 20px;padding:0;}
#systems .polflam-bullets li{margin:0 0 4px;}
#systems .polflam-feature-copy h5{
  margin:18px 0 14px;
  color:#14201a;
  font-size:18px;
  line-height:1.3;
}
#systems .polflam-pdf-list{display:grid;gap:9px;}
#systems .polflam-pdf-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:11px 14px;
  border:1px solid rgba(17,24,20,.10);
  background:#fff;
  color:#14201a;
  text-decoration:none;
  transition:all .2s ease;
}
#systems .polflam-pdf-row:hover{
  border-color:#c53131;
  transform:translateY(-1px);
}
#systems .polflam-pdf-row span{
  color:#14201a;
  font-size:14px;
  line-height:1.45;
}
#systems .polflam-pdf-row b{
  color:#c53131;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  white-space:nowrap;
}
#systems .polflam-feature-media{display:grid;gap:14px;}
#systems .polflam-figure{margin:0;}
#systems .polflam-figure img{
  display:block;
  width:100%;
  height:auto;
  background:#fff;
}
#systems .polflam-figure figcaption{
  margin-top:10px;
  color:#7c857f;
  font-size:13px;
  line-height:1.65;
  text-align:right;
}
@media (max-width: 980px){
  #systems .eg-system-card-polflam-detail{padding:22px 18px!important;}
  #systems .polflam-feature-grid{grid-template-columns:1fr!important;gap:24px!important;}
}
@media (max-width: 620px){
  #systems .eg-system-card-polflam-detail{padding:18px 14px!important;}
  #systems .polflam-feature-head{margin-bottom:20px!important;}
  #systems .polflam-feature-head h3{font-size:24px!important;}
  #systems .polflam-feature-copy p,
  #systems .polflam-feature-copy li{font-size:14px!important;line-height:1.75!important;}
  #systems .polflam-pdf-row{flex-direction:column;align-items:flex-start!important;}
  #systems .polflam-figure figcaption{text-align:left!important;font-size:12.5px!important;}
}


/* v31 POLFLAM L / LL supplement */
#systems .polflam-extra-block{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid rgba(17,24,20,.10);
}
#systems .polflam-figure-spec,
#systems .polflam-figure-product{
  margin:0 0 18px;
}
#systems .polflam-figure-spec img,
#systems .polflam-figure-product img{
  width:100%;
  height:auto;
  display:block;
  background:#fff;
}
#systems .polflam-extra-block p{
  margin:0 0 16px;
}
#systems .polflam-pdf-row-single{
  margin-top:6px;
  margin-bottom:18px;
}
#systems .polflam-contact-note{
  margin-top:4px;
  color:#14201a!important;
  font-weight:500;
}


/* v33 POLFLAM L/LL desktop responsive media alignment */
#systems .polflam-extra-media-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin-bottom:18px;
}
#systems .polflam-extra-media-row .polflam-figure{
  margin:0!important;
}
#systems .polflam-extra-media-row .polflam-figure img{
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
}
@media (max-width: 820px){
  #systems .polflam-extra-media-row{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
}


/* v34 - POLFLAM partitions extra block full-width after main caption */
#systems #polflam-partitions-doors .polflam-extra-block{
  width:100%!important;
  margin-top:34px!important;
  padding-top:26px!important;
  border-top:1px solid rgba(17,24,20,.12)!important;
}
#systems #polflam-partitions-doors .polflam-extra-media-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
  margin-bottom:24px!important;
}
#systems #polflam-partitions-doors .polflam-extra-media-row .polflam-figure{
  margin:0!important;
  width:100%!important;
}
#systems #polflam-partitions-doors .polflam-extra-media-row .polflam-figure img{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  padding:0!important;
}
#systems #polflam-partitions-doors .polflam-extra-block > p,
#systems #polflam-partitions-doors .polflam-extra-block > h5,
#systems #polflam-partitions-doors .polflam-extra-block > .polflam-pdf-row,
#systems #polflam-partitions-doors .polflam-extra-block > .polflam-contact-note{
  max-width:760px!important;
}
@media (max-width:900px){
  #systems #polflam-partitions-doors .polflam-extra-media-row{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}


/* v35 - POLFLAM partitions extra block slightly higher and centered */
#systems #polflam-partitions-doors .polflam-extra-block{
  margin-top:14px!important;
  padding-top:18px!important;
}
#systems #polflam-partitions-doors .polflam-extra-media-row{
  align-items:center!important;
  gap:24px!important;
  margin-bottom:22px!important;
}
#systems #polflam-partitions-doors .polflam-figure-spec{
  align-self:center!important;
}
@media (max-width:900px){
  #systems #polflam-partitions-doors .polflam-extra-block{
    margin-top:18px!important;
    padding-top:18px!important;
  }
  #systems #polflam-partitions-doors .polflam-extra-media-row{
    align-items:start!important;
  }
}


/* v36 - POLFLAM facades/windows layout + zoomable spec image */
#systems .polflam-zoom-figure .fr-zoom{
  position:relative;
  display:block;
  width:100%;
  background:#fff;
  overflow:hidden;
  cursor:zoom-in;
  text-decoration:none;
}
#systems .polflam-zoom-figure .fr-zoom img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .35s ease, filter .35s ease;
}
#systems .polflam-zoom-figure .fr-zoom::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(17,17,17,.14);
  opacity:0;
  transition:opacity .25s ease;
  z-index:1;
}
#systems .polflam-zoom-figure .fr-zoom::after{
  content:"⌕";
  position:absolute;
  right:16px;
  top:16px;
  width:54px;
  height:54px;
  border:2px solid #bd1f2d;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#bd1f2d;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:36px;
  line-height:1;
  opacity:0;
  transform:scale(.92);
  transition:opacity .25s ease, transform .25s ease;
  z-index:2;
}
#systems .polflam-zoom-figure .fr-zoom:hover::before,
#systems .polflam-zoom-figure .fr-zoom:hover::after{
  opacity:1;
}
#systems .polflam-zoom-figure .fr-zoom:hover::after{transform:scale(1);}
#systems .polflam-zoom-figure .fr-zoom:hover img{transform:scale(1.02);filter:saturate(.98) contrast(1.02);}
#systems #polflam-facades-windows .polflam-facades-spec-block{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(17,24,20,.12)!important;
}
#systems #polflam-facades-windows .polflam-facades-spec-block .polflam-figure-spec{
  max-width:980px;
  margin:0 auto!important;
}
@media (hover:none){
  #systems .polflam-zoom-figure .fr-zoom::before,
  #systems .polflam-zoom-figure .fr-zoom::after{opacity:1;}
  #systems .polflam-zoom-figure .fr-zoom::before{background:rgba(17,17,17,.05);}
  #systems .polflam-zoom-figure .fr-zoom::after{width:46px;height:46px;font-size:30px;right:10px;top:10px;}
}
@media (max-width:620px){
  #systems .polflam-zoom-figure .fr-zoom::after{width:42px;height:42px;font-size:28px;right:10px;top:10px;}
  #systems #polflam-facades-windows .polflam-facades-spec-block{margin-top:20px!important;padding-top:18px!important;}
}


/* v37 - POLFLAM H roofs */
#systems #polflam-h-roofs .polflam-h-roofs-spec-block{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(17,24,20,.12)!important;
}
#systems #polflam-h-roofs .polflam-h-roofs-spec-block .polflam-figure-spec{
  max-width:980px;
  margin:0 auto!important;
}
#systems #polflam-h-roofs .polflam-spec-note{
  max-width:980px;
  margin:10px auto 0!important;
  text-align:left;
  color:#58605b;
  font-size:13px;
  line-height:1.5;
  font-style:italic;
}
@media (max-width:620px){
  #systems #polflam-h-roofs .polflam-h-roofs-spec-block{margin-top:20px!important;padding-top:18px!important;}
  #systems #polflam-h-roofs .polflam-spec-note{font-size:12px;margin-top:8px!important;}
}


/* v38 - POLFLAM F floors */
#systems #polflam-f-floors .polflam-f-floors-spec-block{
  margin-top:26px!important;
  padding-top:24px!important;
  border-top:1px solid rgba(17,24,20,.12)!important;
}
#systems #polflam-f-floors .polflam-f-floors-spec-block .polflam-figure-spec{
  max-width:980px;
  margin:0 auto!important;
}
#systems #polflam-f-floors .polflam-spec-note{
  max-width:980px;
  margin:10px auto 0!important;
  color:#58605b;
  font-size:13px;
  line-height:1.55;
  font-style:italic;
}
#systems #polflam-f-floors .polflam-spec-note-right{
  text-align:right;
}
@media (max-width:620px){
  #systems #polflam-f-floors .polflam-f-floors-spec-block{margin-top:20px!important;padding-top:18px!important;}
  #systems #polflam-f-floors .polflam-spec-note{font-size:12px;margin-top:8px!important;}
  #systems #polflam-f-floors .polflam-spec-note-right{text-align:left!important;}
}


/* v39 - POLFLAM EI higher safety */
#systems #polflam-ei-higher-safety .polflam-feature-media .polflam-figure img{
  width:100%;
  height:auto;
  display:block;
  background:#fff;
}
#systems #polflam-ei-higher-safety .polflam-contact-note{
  margin-top:18px!important;
  color:#14201a!important;
  font-weight:600;
}


/* v40 - Applications hero readability + launch polish */
.applications-page .compact-page-hero{
  padding:104px clamp(18px,4.8vw,74px) 34px!important;
  min-height:230px!important;
  background:linear-gradient(135deg,#070b08 0%,#0d1510 58%,#142018 100%)!important;
  color:#f8f7ef!important;
  display:flex!important;
  align-items:flex-end!important;
}
.applications-page .compact-page-hero .section-head{
  max-width:820px!important;
  margin:0!important;
  text-align:left!important;
}
.applications-page .compact-page-hero .kicker{
  margin:0 0 18px!important;
  color:var(--red)!important;
  font-size:12px!important;
  letter-spacing:.22em!important;
  font-weight:950!important;
}
.applications-page .compact-page-hero h1{
  margin:0!important;
  color:#f8f7ef!important;
  opacity:1!important;
  font-size:clamp(34px,4.4vw,58px)!important;
  line-height:1.02!important;
  letter-spacing:-.052em!important;
  max-width:760px!important;
}
.applications-page .compact-page-hero p:not(.kicker){
  margin:20px 0 0!important;
  color:rgba(248,247,239,.76)!important;
  font-size:clamp(15px,1.35vw,17px)!important;
  line-height:1.62!important;
  max-width:720px!important;
}
.applications-page .polflam-applications{
  padding-top:54px!important;
}
.applications-page .polflam-applications h2{
  color:#101512!important;
  font-size:clamp(32px,4vw,54px)!important;
  line-height:1!important;
}
@media (max-width:1050px){
  .applications-page .compact-page-hero{
    padding:92px 18px 30px!important;
    min-height:0!important;
  }
  .applications-page .compact-page-hero h1{
    font-size:clamp(30px,8.6vw,42px)!important;
    line-height:1.04!important;
  }
  .applications-page .compact-page-hero p:not(.kicker){
    font-size:15px!important;
    line-height:1.58!important;
  }
  .applications-page .polflam-applications{
    padding-top:36px!important;
  }
}
@media (max-width:620px){
  .applications-page .compact-page-hero{
    padding:88px 16px 24px!important;
  }
  .applications-page .compact-page-hero .kicker{
    margin-bottom:12px!important;
  }
  .applications-page .compact-page-hero h1{
    font-size:clamp(28px,9vw,38px)!important;
  }
  .applications-page .polflam-applications h2{
    font-size:clamp(28px,8vw,36px)!important;
  }
}

/* launch checks: safer mobile overflow */
html,body{max-width:100%;overflow-x:hidden;}
img,video,canvas,svg{max-width:100%;}
@media (max-width:1050px){
  .section,.systems,.applications,.contact{overflow-x:hidden;}
  .mobile-menu{max-height:calc(100svh - 70px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;}
}

/* v43 - responsive polish for smaller desktop / laptop screens */
@media (min-width:1051px) and (max-width:1440px){
  .site-header{
    padding-inline:clamp(18px,2.4vw,42px)!important;
  }
  .brand{
    min-width:150px!important;
    gap:10px!important;
  }
  .site-header .brand-mark{
    width:38px!important;
    height:38px!important;
  }
  .site-header .brand-text b{
    font-size:16px!important;
  }
  .site-header .brand-text small{
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
  .desktop-nav{
    gap:clamp(10px,1.15vw,18px)!important;
  }
  .desktop-nav>a,
  .nav-dropdown-toggle{
    font-size:clamp(12px,.9vw,13px)!important;
    white-space:nowrap!important;
  }
  .lang{
    height:38px!important;
    padding-inline:12px!important;
    font-size:13px!important;
  }
  .header-cta{
    height:38px!important;
    padding-inline:13px!important;
    font-size:13px!important;
  }
  .section,
  .systems,
  .applications,
  .contact,
  .certifications,
  .objectives-section,
  .polflam-applications,
  .project-list-section{
    padding-left:clamp(24px,4vw,54px)!important;
    padding-right:clamp(24px,4vw,54px)!important;
  }
  .hero,
  .systems-page-hero,
  .project-page-hero,
  .compact-page-hero{
    padding-left:clamp(24px,4vw,54px)!important;
    padding-right:clamp(24px,4vw,54px)!important;
  }
  .hero h1{
    font-size:clamp(54px,7vw,92px)!important;
  }
  .systems-page-hero h1,
  .project-page-hero h1,
  .applications-page .compact-page-hero h1,
  .objectives-page .compact-page-hero h1{
    font-size:clamp(34px,4.2vw,58px)!important;
  }
  .products-cascade-dropdown .products-cascade-menu{
    max-width:calc(100vw - 48px)!important;
  }
  .products-cascade-dropdown .products-cascade-submenu{
    max-width:min(430px,calc(100vw - 480px))!important;
  }
}

@media (min-width:1051px) and (max-width:1280px){
  .site-header{
    height:72px!important;
  }
  .site-header.scrolled{
    height:68px!important;
  }
  .desktop-nav{
    gap:10px!important;
  }
  .header-actions{
    gap:7px!important;
  }
  .header-cta{
    display:none!important;
  }
  .hero{
    min-height:760px!important;
    padding-top:120px!important;
    padding-bottom:72px!important;
  }
  .systems-page-hero,
  .project-page-hero,
  .applications-page .compact-page-hero,
  .certifications-page .compact-page-hero,
  .objectives-page .compact-page-hero{
    padding-top:110px!important;
    padding-bottom:34px!important;
    min-height:0!important;
  }
  .split,
  .systems-layout,
  .applications,
  .contact{
    gap:clamp(28px,4vw,52px)!important;
  }
  #systems .eg-systems-shell,
  #systems .eg-systems-inner,
  #systems .eg-system-detail,
  #systems .polflam-feature-wrap{
    max-width:100%!important;
  }
  #systems .polflam-feature-grid{
    grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;
    gap:24px!important;
  }
  #systems .polflam-feature-copy p,
  #systems .polflam-feature-copy li{
    font-size:14.5px!important;
    line-height:1.72!important;
  }
  #systems .polflam-feature-head h3{
    font-size:26px!important;
  }
  #systems .eg-system-card{
    grid-template-columns:200px minmax(0,1fr)!important;
    gap:16px!important;
  }
  #systems .eg-system-media{
    min-height:180px!important;
  }
  .cert-grid-polflam,
  .cert-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (min-width:1051px) and (max-width:1120px){
  .desktop-nav>a,
  .nav-dropdown-toggle{
    font-size:12px!important;
  }
  .brand{
    min-width:128px!important;
  }
  .site-header .brand-text small{
    display:none!important;
  }
  #systems .polflam-feature-grid{
    grid-template-columns:1fr!important;
  }
  #systems .polflam-feature-media{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;
  }
  #systems .polflam-feature-media .polflam-figure:only-child{
    max-width:780px!important;
  }
}

@media (min-width:761px) and (max-width:1050px){
  .hero,
  .systems-page-hero,
  .project-page-hero,
  .compact-page-hero{
    padding-left:28px!important;
    padding-right:28px!important;
  }
  .section,
  .systems,
  .applications,
  .contact,
  .certifications,
  .objectives-section,
  .polflam-applications,
  .project-list-section{
    padding-left:28px!important;
    padding-right:28px!important;
  }
  #systems .polflam-feature-grid,
  #systems .gaia-feature-grid{
    grid-template-columns:1fr!important;
  }
}

/* tables/spec images should never force horizontal body scroll */
.table-wrap,
.spec-table-wrap,
.eg-table-wrap,
#systems .polflam-figure-spec,
#systems .technical-table,
#systems table{
  max-width:100%!important;
}
.table-wrap,
.spec-table-wrap,
.eg-table-wrap{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}


/* v45 - Homepage hero auto photo rotation */
.hero-media{transition:opacity .35s ease, background-image .45s ease, transform .7s ease, filter .7s ease!important;}
.hero-media.is-switching{opacity:.72;}
@media (max-width:620px){
  .hero-media{background-position:center center!important;}
}


/* v46 - real homepage hero images override cached old hero-bg */
.hero-media{
  background-image:var(--hero-bg, url('../save_as_studio_ncbham_immogra_10-scaled.jpg'))!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
}
@media (max-width:620px){
  .hero-media{background-position:center center!important;}
}


/* v47 - robust homepage hero image layers (not only CSS background) */
.hero-media{
  background-color:#070b09!important;
}
.hero-media .hero-bg-img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  opacity:0!important;
  visibility:hidden!important;
  display:block!important;
  transition:opacity .85s ease, visibility .85s ease, transform 6s ease!important;
  z-index:0!important;
  pointer-events:none!important;
}
.hero-media .hero-bg-img.is-active{
  opacity:1!important;
  visibility:visible!important;
}
.hero-media .hero-bg-img.is-active{
  transform:scale(1.025)!important;
}
@media (min-width:1051px){
  .hero-media .hero-bg-img{object-position:65% center!important;}
}
@media (max-width:1050px){
  .hero-media .hero-bg-img{object-position:62% center!important;}
}
@media (max-width:760px){
  .hero-media .hero-bg-img{object-position:center center!important;transform:none!important;}
}


.hero-media .hero-bg-img.hero-bg-dim{
  filter: brightness(0.72) saturate(0.95)!important;
}


/* v50 - remove first-load hero title flicker */
.hero-content,
.hero-info{
  backface-visibility:hidden!important;
}
body:not(.eg-ready) .hero-content,
body:not(.eg-ready) .hero-info{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  animation:none!important;
  transition:none!important;
}
body:not(.eg-ready) .hero-content.slide-switch{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}


/* v51 - cleaner hero images + slightly smaller title */
.hero-media::before,
.hero-media::after,
.hero::before,
.hero::after{
  background: transparent !important;
  opacity: 0 !important;
}
.hero-media .hero-bg-img.hero-bg-dim{
  filter: brightness(0.88) saturate(0.98) !important;
}
.hero .hero-content h1,
.hero-copy h1,
.hero-title {
  font-size: clamp(38px, 5.2vw, 64px) !important;
  line-height: 1.02 !important;
}
@media (max-width: 1050px){
  .hero .hero-content h1,
  .hero-copy h1,
  .hero-title {
    font-size: clamp(32px, 6.2vw, 52px) !important;
  }
}
@media (max-width: 640px){
  .hero .hero-content h1,
  .hero-copy h1,
  .hero-title {
    font-size: clamp(26px, 8.5vw, 40px) !important;
    line-height: 1.04 !important;
  }
}


/* v52 - remove hero dark effect + fix repeated image path errors */
.hero-overlay{display:none!important;background:transparent!important;opacity:0!important;}
.hero::before,.hero::after,.hero-media::before,.hero-media::after{content:none!important;display:none!important;background:none!important;opacity:0!important;}
.hero-media{background:none!important;filter:none!important;transform:none!important;animation:none!important;}
.hero-media .hero-bg-img,
.hero-media .hero-bg-img.is-active,
.hero-media .hero-bg-img.hero-bg-dim{filter:none!important;opacity:0;visibility:hidden;transform:none!important;}
.hero-media .hero-bg-img.is-active{opacity:1!important;visibility:visible!important;}
.hero-content h1,.hero h1{font-size:clamp(34px,5vw,58px)!important;line-height:1.02!important;letter-spacing:-.045em!important;}
.hero-copy{color:rgba(255,255,255,.92)!important;}
.hero-content,.hero-info{ text-shadow:0 2px 18px rgba(0,0,0,.18);}
@media (max-width:1050px){
  .hero-content h1,.hero h1{font-size:clamp(30px,6vw,48px)!important;}
}
@media (max-width:760px){
  .hero-content h1,.hero h1{font-size:clamp(26px,8vw,38px)!important;line-height:1.04!important;}
}


/* v54 - hero images completely natural, no filters */
.hero-overlay{
  display:none!important;
  opacity:0!important;
  background:none!important;
}
.hero::before,
.hero::after,
.hero-media::before,
.hero-media::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  background:none!important;
}
.hero-media,
.hero-media.is-switching{
  filter:none!important;
  opacity:1!important;
  background:none!important;
}
.hero-media .hero-bg-img,
.hero-media .hero-bg-img.is-active,
.hero-media .hero-bg-img.hero-bg-dim{
  filter:none!important;
  -webkit-filter:none!important;
  mix-blend-mode:normal!important;
}
.hero-media .hero-bg-img{
  opacity:0!important;
  visibility:hidden!important;
}
.hero-media .hero-bg-img.is-active{
  opacity:1!important;
  visibility:visible!important;
}


/* v55 - completely original hero photos, no darkening, no filters, no overlay */
.hero-overlay{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
}
.hero::before,
.hero::after,
.hero-media::before,
.hero-media::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  background-image:none !important;
  box-shadow:none !important;
}
.hero-media{
  background:none !important;
  background-image:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
}
.hero-media .hero-bg-img,
.hero-media .hero-bg-img.is-active,
.hero-media .hero-bg-img.hero-bg-dim{
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1;
}
.hero-media .hero-bg-img{
  transition:opacity .85s ease, visibility .85s ease !important;
}


/* v56 - hero title/text block slightly left and lower */
@media (min-width: 761px){
  .hero .hero-content{
    position:relative!important;
    left:-28px!important;
    top:32px!important;
  }
}
@media (min-width: 1051px) and (max-width: 1366px){
  .hero .hero-content{
    left:-20px!important;
    top:26px!important;
  }
}
@media (max-width: 760px){
  .hero .hero-content{
    left:auto!important;
    top:auto!important;
  }
}
