: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-image:url('assets/hero-bg.avif')!important;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);}
}
