/* Local TT Firs Neue — upload licensed font files to assets/fonts/. */
@font-face{font-family:'TT Firs Neue';src:local('TT Firs Neue'),url('../fonts/TTFirsNeue-Regular.woff2') format('woff2'),url('../fonts/TTFirsNeue-Regular.ttf') format('truetype'),url('../fonts/TT Firs Neue Trial Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'TT Firs Neue';src:local('TT Firs Neue Medium'),url('../fonts/TTFirsNeue-Medium.woff2') format('woff2'),url('../fonts/TTFirsNeue-Medium.ttf') format('truetype'),url('../fonts/TT Firs Neue Trial Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'TT Firs Neue';src:local('TT Firs Neue DemiBold'),url('../fonts/TTFirsNeue-DemiBold.woff2') format('woff2'),url('../fonts/TTFirsNeue-DemiBold.ttf') format('truetype'),url('../fonts/TT Firs Neue Trial DemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'TT Firs Neue';src:local('TT Firs Neue Bold'),url('../fonts/TTFirsNeue-Bold.woff2') format('woff2'),url('../fonts/TTFirsNeue-Bold.ttf') format('truetype'),url('../fonts/TT Firs Neue Trial Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'TT Firs Neue';src:local('TT Firs Neue ExtraBold'),url('../fonts/TTFirsNeue-ExtraBold.woff2') format('woff2'),url('../fonts/TTFirsNeue-ExtraBold.ttf') format('truetype'),url('../fonts/TT Firs Neue Trial ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
:root{--color-bg-cream:#ffffff;--color-bg-dark:#000000;--color-bg-hero:#000000;--color-white:#fff;--color-olive:#777B46;--color-sage:#777B46;--color-olive-hover:#777B46;--color-gold:#777B46;--color-text:#000000;--color-body:#777B46;--color-muted:#777B46;--color-light:#ffffff;--color-cream:#ffffff;--border-light:rgba(119,123,70,.14);--border-medium:rgba(119,123,70,.24);--border-dark:rgba(119,123,70,.38);--font-main:'TT Firs Neue','Plus Jakarta Sans',Arial,sans-serif;--font-mono:'TT Firs Neue','DM Mono',monospace;--brand-primary:#777B46;--brand-secondary:#777B46;--brand-tertiary:#777B46;--brand-soft:#777B46;--brand-pale:#ffffff;--container:1280px;--px:32px;--section:112px;--radius:16px;--radius-lg:24px;--shadow:0 24px 80px rgba(28,31,16,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg-cream);color:var(--color-text);font-family:var(--font-main);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.zytona-theme{overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}.zy-container{max-width:var(--container);margin-inline:auto;padding-inline:var(--px)}.zy-section{padding-block:var(--section);position:relative}.zy-section--cream{background:var(--color-bg-cream)}.zy-section--dark{background:var(--color-bg-dark);color:var(--color-cream)}.zy-section h2,.zy-page h1{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.1;letter-spacing:-.02em;font-weight:800;margin:0 0 24px}.zy-section h2 span{color:var(--color-gold)}.zy-section--cream h2 span,.zy-contact h2 span,.zy-why h2 span{color:var(--color-olive)}.zy-lead{font-size:.9375rem;line-height:1.75;color:rgba(119,123,70,.6);max-width:560px}.zy-lead--light{color:var(--color-body)}.zy-eyebrow{font-family:var(--font-mono);font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-olive);font-weight:500;margin:0 0 20px}.zy-eyebrow--gold{color:var(--color-gold)}.zy-section-heading{max-width:620px;margin-bottom:64px}.zy-section-heading--dark h2{color:var(--color-cream)}.zy-section-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:56px}.zy-text-link{font-weight:600;color:var(--color-olive)}
.zy-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:14px 28px;font-weight:700;font-size:.9375rem;transition:transform .25s,background .25s,box-shadow .25s,border-color .25s}.zy-btn:hover{transform:translateY(-3px)}.zy-btn--primary{background:var(--color-olive);color:var(--color-cream)}.zy-btn--primary:hover{background:var(--color-olive-hover);box-shadow:0 16px 48px rgba(119,123,70,.35)}.zy-btn--secondary{background:rgba(119,123,70,.05);color:var(--color-light);border:1px solid rgba(119,123,70,.15)}.zy-btn--secondary:hover{background:rgba(119,123,70,.1)}
.zy-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,backdrop-filter .4s,border-color .4s}.zy-header.is-scrolled{background:rgba(28,31,16,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(119,123,70,.2)}.zy-nav{height:80px;max-width:var(--container);margin:auto;padding-inline:var(--px);display:flex;align-items:center;justify-content:space-between}.zy-logo{display:inline-flex;align-items:center;gap:10px}.zy-logo__mark{width:36px;height:36px;border-radius:8px;background:var(--color-olive);display:grid;place-items:center}.zy-logo__text{font-weight:700;font-size:1.125rem;letter-spacing:-.01em;color:var(--color-cream)}.zy-logo__text span{color:var(--color-gold)}.zy-nav__links{display:flex;gap:32px;align-items:center}.zy-nav__links>a,.zy-nav__item>a{font-weight:500;font-size:.875rem;color:rgba(119,123,70,.85)}.zy-nav__item--mega{position:relative;padding-block:28px}.zy-mega{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:480px;background:var(--color-bg-dark);border:1px solid var(--border-dark);border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.35);padding:24px;display:grid;grid-template-columns:1fr 1fr;gap:12px;opacity:0;visibility:hidden;transition:.2s}.zy-nav__item--mega:hover .zy-mega{opacity:1;visibility:visible}.zy-mega__item{border-radius:12px;padding:12px;transition:background .2s}.zy-mega__item:hover{background:rgba(119,123,70,.25)}.zy-mega__item strong{display:block;font-size:.8125rem;color:var(--color-light)}.zy-mega__item span{font-size:.75rem;color:var(--color-body)}.zy-nav__actions{display:flex;align-items:center;gap:12px}.zy-cart-button{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(119,123,70,.12);border:1px solid rgba(119,123,70,.2);color:var(--color-gold)}.zy-nav-contact{font-size:.875rem;font-weight:500;color:var(--color-gold)}.zy-nav-shop{border-radius:12px;background:var(--color-olive);color:var(--color-cream);padding:10px 20px;font-weight:600;font-size:.875rem}.zy-mobile-toggle{display:none;background:none;border:0;width:38px;height:38px;padding:8px}.zy-mobile-toggle span{display:block;height:2px;background:var(--color-cream);margin:5px 0}.zy-mobile-menu{display:none;background:var(--color-bg-dark);padding:8px var(--px) 28px}.zy-mobile-menu a{display:block;color:var(--color-light);padding:12px 0;border-bottom:1px solid rgba(119,123,70,.2);font-size:.875rem}
.zy-hero{min-height:100vh;background:var(--color-bg-hero);color:var(--color-cream);position:relative;overflow:hidden;display:flex;align-items:center;padding-top:80px}.zy-hero__canvas,.zy-hero__gradient,.zy-hero__grid{position:absolute;inset:0;pointer-events:none}.zy-hero__gradient{background:radial-gradient(circle at 70% 35%,rgba(119,123,70,.28),transparent 38%),radial-gradient(circle at 25% 80%,rgba(119,123,70,.12),transparent 34%)}.zy-hero__grid{background-image:linear-gradient(rgba(119,123,70,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.08) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}.zy-hero__grid--near{background-size:120px 120px;opacity:.45;transform:perspective(800px) rotateX(65deg) translateY(10%)}.zy-hero__inner{position:relative;z-index:2;width:100%;display:flex;align-items:center;justify-content:space-between;gap:64px;padding-top:clamp(6rem,12vw,10rem);padding-bottom:96px}.zy-hero__copy{max-width:640px}.zy-pill{display:inline-flex;gap:9px;align-items:center;background:rgba(119,123,70,.3);border:1px solid rgba(119,123,70,.2);border-radius:999px;padding:6px 14px;font:500 .6875rem var(--font-mono);color:var(--color-gold);letter-spacing:.1em;text-transform:uppercase;margin:0 0 24px}.zy-pill span{width:6px;height:6px;background:var(--color-gold);border-radius:50%;animation:zyPulse 1.8s infinite}.zy-hero h1{font-size:clamp(2.75rem,6vw,5rem);line-height:1;letter-spacing:-.03em;font-weight:800;margin:0 0 24px}.zy-hero h1 span{color:var(--color-sage)}.zy-hero p:not(.zy-pill){font-size:clamp(.9rem,1.4vw,1.2rem);line-height:1.75;color:rgba(119,123,70,.55);max-width:520px}.zy-hero__actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:40px}.zy-live-panel{width:min(100%,370px);background:rgba(28,31,16,.6);border:1px solid rgba(119,123,70,.25);border-radius:24px;padding:28px;backdrop-filter:blur(20px);box-shadow:0 30px 120px rgba(0,0,0,.25);transform-style:preserve-3d}.zy-live-panel__header{display:flex;align-items:center;gap:8px;color:var(--color-gold);font:500 .6rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px}.zy-live-dot{width:6px;height:6px;background:var(--color-sage);border-radius:50%;animation:zyPulse 1.4s infinite}.zy-live-panel__stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zy-live-panel__stats div{padding:12px;border:1px solid rgba(119,123,70,.15);border-radius:12px;background:rgba(119,123,70,.05)}.zy-live-panel__stats small,.zy-status-bar span,.zy-metric span{display:block;font:400 .6rem var(--font-mono);color:var(--color-body);text-transform:uppercase}.zy-live-panel__stats strong{font-size:1.875rem;color:var(--color-gold);line-height:1;font-weight:800}.zy-live-panel__stats em{font-style:normal;color:var(--color-muted);font-size:.75rem}.zy-status-bar{margin:16px 0;padding:10px 16px;border-radius:12px;background:rgba(119,123,70,.15);border:1px solid rgba(119,123,70,.25);display:flex;justify-content:space-between}.zy-status-bar strong{font:500 .625rem var(--font-mono);color:var(--color-sage)}.zy-metric{margin-top:12px}.zy-metric div{display:flex;justify-content:space-between;margin-bottom:6px}.zy-metric b{font:500 .6875rem var(--font-mono);color:var(--color-gold)}.zy-metric i{display:block;height:4px;border-radius:4px;background:rgba(119,123,70,.2);overflow:hidden}.zy-metric i:before{content:"";display:block;height:100%;width:78%;background:var(--color-sage);border-radius:4px}.zy-metric i.gold:before{background:var(--color-gold);width:65%}.zy-scroll-indicator{position:absolute;z-index:3;bottom:36px;left:50%;transform:translateX(-50%);font:500 .6rem var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:rgba(119,123,70,.5);text-align:center}.zy-scroll-indicator span{display:block;font-size:20px;animation:zyFloat 1.8s infinite}
.zy-trust-strip{background:var(--color-bg-dark);border-top:1px solid rgba(119,123,70,.2);border-bottom:1px solid rgba(119,123,70,.2);padding-block:40px;overflow:hidden}.zy-marquee{white-space:nowrap}.zy-marquee>div{display:inline-flex;gap:64px;animation:zyMarquee 28s linear infinite}.zy-marquee span{display:inline-flex;align-items:center;gap:8px;color:rgba(119,123,70,.45);font-weight:600;font-size:.8125rem;text-transform:uppercase;letter-spacing:.04em}.zy-marquee i{width:6px;height:6px;background:var(--color-gold);border-radius:50%}
.zy-services-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-light);border-right:0;border-bottom:0}.zy-service-card{position:relative;background:var(--color-bg-cream);border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding:28px;transition:.35s;overflow:hidden}.zy-service-card:hover{background:#fff;transform:translateY(-3px)}.zy-service-card:before{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--accent,var(--color-sage));transition:height .4s}.zy-service-card:hover:before{height:100%}.zy-accent-sage{--accent:var(--color-sage)}.zy-accent-gold{--accent:var(--color-gold)}.zy-service-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.zy-service-card__num{font:500 .6125rem var(--font-mono);color:var(--accent)}.zy-service-card__icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent),transparent 90%);color:var(--accent)}.zy-service-card h3,.zy-reason-card h3,.zy-step h3{font-size:1.0625rem;line-height:1.35;font-weight:700;letter-spacing:-.01em;margin:0 0 12px}.zy-service-card p{font-size:.875rem;color:var(--color-body);line-height:1.7;margin:0 0 22px}.zy-tags{display:flex;flex-wrap:wrap;gap:8px}.zy-tags span{font:500 .6rem var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--accent,var(--color-olive));background:rgba(119,123,70,.08);border:1px solid rgba(119,123,70,.15);border-radius:6px;padding:4px 10px}.zy-tags--muted span{color:var(--color-body);background:#ffffff;border:0}
.zy-two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.zy-smart h2,.zy-sustain h2,.zy-faq h2,.zy-process h2,.zy-comparison h2,.zy-cta h2{color:var(--color-cream)}.zy-sensor-list{display:grid;gap:10px;margin-top:32px}.zy-sensor-row{width:100%;display:flex;align-items:center;gap:16px;text-align:left;border-radius:12px;padding:14px;border:1px solid rgba(119,123,70,.12);background:rgba(119,123,70,.08);color:var(--color-light);cursor:pointer;transition:.25s}.zy-sensor-row:hover,.zy-sensor-row.is-active{background:rgba(119,123,70,.3);transform:translateX(6px);border-color:rgba(119,123,70,.25)}.zy-sensor-icon{width:36px;height:36px;border-radius:8px;background:rgba(119,123,70,.1);display:grid;place-items:center;color:var(--color-gold)}.zy-sensor-row strong{display:block;font-size:.8125rem}.zy-sensor-row small{font:.6875rem var(--font-mono);color:var(--color-body)}.zy-sensor-row em{margin-left:auto;font:500 .6rem var(--font-mono);text-transform:uppercase;color:var(--color-sage)}.zy-sensor-row em.gold{color:var(--color-gold)}.zy-building{position:relative;aspect-ratio:1/1;border-radius:24px;background:rgba(119,123,70,.06);border:1px solid rgba(119,123,70,.2);overflow:hidden;transform-style:preserve-3d}.zy-building__svg{position:absolute;inset:0;width:100%;height:100%;padding:28px}.zy-air-path{animation:zyDash 10s linear infinite}.zy-building__label,.zy-building__status{position:absolute;z-index:2;border-radius:999px;background:rgba(28,31,16,.78);border:1px solid rgba(119,123,70,.18);font:500 .6rem var(--font-mono);color:var(--color-gold);text-transform:uppercase;letter-spacing:.08em;padding:8px 12px}.zy-building__label{left:20px;top:20px}.zy-building__status{right:20px;bottom:20px;color:var(--color-sage)}.zy-building__status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-sage);margin-right:6px}.zy-sensor-dot{position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid var(--color-bg-dark);background:var(--color-sage);box-shadow:0 0 0 8px rgba(119,123,70,.1);cursor:pointer;z-index:3}.zy-sensor-dot.gold{background:var(--color-gold);box-shadow:0 0 0 8px rgba(119,123,70,.12)}.zy-sensor-dot span{position:absolute;left:50%;bottom:150%;transform:translateX(-50%);white-space:nowrap;background:#000000;border:1px solid rgba(119,123,70,.2);color:var(--color-light);padding:6px 10px;border-radius:8px;font:.65rem var(--font-mono);opacity:0;pointer-events:none;transition:.2s}.zy-sensor-dot:hover span{opacity:1}
.zy-asym{display:grid;grid-template-columns:2fr 3fr;gap:64px;align-items:start}.zy-sticky{position:sticky;top:112px}.zy-baseline{margin-top:32px;background:var(--color-bg-dark);border:1px solid rgba(119,123,70,.15);border-radius:16px;padding:24px}.zy-baseline>small{display:block;font:500 .625rem var(--font-mono);color:var(--color-body);text-transform:uppercase;letter-spacing:.08em;margin-bottom:18px}.zy-baseline__metric{margin-bottom:16px}.zy-baseline__metric div{display:flex;justify-content:space-between;color:var(--color-light);font-size:.75rem}.zy-baseline__metric b{font-family:var(--font-mono);color:var(--color-gold)}.zy-baseline__metric i,.zy-credit i{display:block;height:6px;background:rgba(119,123,70,.2);border-radius:4px;overflow:hidden;margin-top:7px}.zy-baseline__metric i:before,.zy-credit i:before{content:"";display:block;width:var(--w);height:100%;background:var(--color-sage);border-radius:4px}.zy-baseline__metric i.gold:before,.zy-credit i.gold:before{background:var(--color-gold)}.zy-reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.zy-reason-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:24px}.zy-reason-card div{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.zy-reason-card div span{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:rgba(119,123,70,.08);color:var(--color-olive)}.zy-reason-card div small{font:500 .625rem var(--font-mono);color:var(--color-gold)}.zy-reason-card p{font-size:.875rem;color:var(--color-body);line-height:1.65;margin:0}
.zy-compare-table{border:1px solid rgba(119,123,70,.15);border-radius:16px;overflow:auto}.zy-compare-table table{width:100%;border-collapse:collapse;min-width:740px}.zy-compare-table th,.zy-compare-table td{padding:14px 18px;border-bottom:1px solid rgba(119,123,70,.08);color:rgba(119,123,70,.72);text-align:center}.zy-compare-table th:first-child,.zy-compare-table td:first-child{text-align:left}.zy-compare-table th{background:rgba(119,123,70,.12);font-weight:700;color:var(--color-light)}.zy-compare-table th small{display:block;font:500 .6875rem var(--font-mono);color:var(--color-muted);text-transform:uppercase}.zy-compare-table .is-highlight{background:rgba(119,123,70,.16);border-left:1px solid rgba(119,123,70,.25);border-right:1px solid rgba(119,123,70,.25)}.zy-compare-table span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;font-weight:700}.zy-compare-table .yes{background:rgba(119,123,70,.2);color:var(--color-sage)}.zy-compare-table .no{background:rgba(0,0,0,.10);color:#000000}.zy-compare-table .part{background:rgba(119,123,70,.12);color:var(--color-gold)}
.zy-timeline{display:grid;gap:8px}.zy-step{display:flex;gap:32px}.zy-step__rail{width:48px;flex:0 0 48px;text-align:center}.zy-step__rail span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#000000;border:1px solid rgba(119,123,70,.3);font:500 .6rem var(--font-mono);color:var(--color-gold)}.zy-step__rail i{display:block;width:2px;height:60px;background:rgba(119,123,70,.3);margin:8px auto}.zy-step__card{flex:1;border-radius:16px;background:rgba(119,123,70,.06);border:1px solid rgba(119,123,70,.12);padding:24px;margin-bottom:8px;transition:.3s}.zy-step__card:hover{background:rgba(119,123,70,.12);transform:translateX(6px)}.zy-step__card small{display:inline-block;font:500 .6rem var(--font-mono);color:var(--color-sage);background:rgba(119,123,70,.12);border-radius:999px;padding:4px 10px;text-transform:uppercase;margin-bottom:12px}.zy-step__card p{font-size:.875rem;color:rgba(119,123,70,.55);line-height:1.75}.zy-step__card em{display:inline-block;font:500 .625rem var(--font-mono);color:var(--color-gold);background:rgba(119,123,70,.07);border:1px solid rgba(119,123,70,.14);border-radius:8px;padding:4px 12px;margin:4px 6px 0 0;font-style:normal}
.zy-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.zy-product-card,.zy-case-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;overflow:hidden;transition:.35s}.zy-product-card:hover,.zy-case-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.zy-product-card__image{height:190px;background:var(--color-bg-dark);position:relative;overflow:hidden;display:block}.zy-product-card__image img{width:100%;height:100%;object-fit:cover;opacity:.9}.zy-product-card__image span{position:absolute;top:12px;left:12px;border-radius:999px;background:var(--color-sage);color:var(--color-cream);font:500 .6rem var(--font-mono);text-transform:uppercase;letter-spacing:.04em;padding:4px 10px}.zy-product-card__image span.gold{background:var(--color-gold);color:var(--color-text)}.zy-product-card__body{padding:20px}.zy-product-card small,.zy-case-card small{font:500 .6rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted)}.zy-product-card h3{font-size:.9375rem;line-height:1.35;margin:8px 0;color:var(--color-text)}.zy-product-card p{font-size:.8rem;color:var(--color-body);line-height:1.6;margin:0 0 12px}.zy-rating{color:var(--color-gold);font-size:.75rem}.zy-rating em{color:var(--color-muted);font:400 .6875rem var(--font-mono);font-style:normal}.zy-product-card__bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.zy-product-card__bottom span{font-size:1.125rem;font-weight:700}.zy-product-card__bottom small{display:block;font-size:.625rem;color:var(--color-muted)}.zy-add-cart,.button.product_type_simple,.add_to_cart_button{display:inline-flex!important;align-items:center;justify-content:center;background:var(--color-olive)!important;color:var(--color-cream)!important;border-radius:12px!important;padding:8px 14px!important;font-size:.875rem!important;font-weight:600!important;border:0!important;line-height:1.2!important}
.zy-case-grid,.zy-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.zy-case-card__image{height:240px;position:relative;overflow:hidden;background:var(--color-bg-dark)}.zy-case-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(28,31,16,.75),transparent 55%)}.zy-case-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.zy-case-card:hover img{transform:scale(1.06)}.zy-case-card__image span{position:absolute;z-index:2;left:16px;bottom:16px;border-radius:999px;background:rgba(28,31,16,.8);border:1px solid rgba(119,123,70,.25);padding:4px 10px;color:var(--color-gold);font:500 .6rem var(--font-mono);text-transform:uppercase}.zy-case-card__image a{position:absolute;z-index:2;right:16px;top:16px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--color-olive);color:var(--color-cream);opacity:0;transform:scale(.75);transition:.25s}.zy-case-card:hover .zy-case-card__image a{opacity:1;transform:scale(1)}.zy-case-card__body{padding:24px}.zy-case-card h3{font-size:1rem;line-height:1.35;margin:4px 0 16px}.zy-result{background:rgba(119,123,70,.06);border:1px solid var(--border-light);border-radius:12px;padding:12px;color:var(--color-olive);font-size:.8125rem;font-weight:600;margin-bottom:14px}
.zy-cert-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.zy-cert-badges span{font:500 .6875rem var(--font-mono);color:var(--color-gold);background:rgba(119,123,70,.07);border:1px solid rgba(119,123,70,.18);border-radius:12px;padding:8px 16px}.zy-leed-card{background:rgba(119,123,70,.08);border:1px solid rgba(119,123,70,.2);border-radius:24px;padding:32px}.zy-leed-card__head{display:flex;justify-content:space-between;margin-bottom:26px}.zy-leed-card__head small{font:500 .625rem var(--font-mono);color:var(--color-body);text-transform:uppercase}.zy-leed-card__head strong{font-size:1.875rem;color:var(--color-cream)}.zy-credit{margin-bottom:18px}.zy-credit div{display:grid;grid-template-columns:70px 1fr auto;gap:12px;align-items:center}.zy-credit b{font:500 .6rem var(--font-mono);color:var(--color-gold)}.zy-credit span{font-size:.8125rem;color:var(--color-light)}.zy-credit em{font:400 .625rem var(--font-mono);color:var(--color-muted);font-style:normal}
.zy-testimonial-layout{display:grid;grid-template-columns:3fr 2fr;gap:32px;align-items:start}.zy-quote{display:none;background:var(--color-bg-dark);border:1px solid var(--border-medium);border-radius:24px;padding:40px;min-height:360px;color:var(--color-light)}.zy-quote.is-active{display:block}.zy-quote>span{font-size:3rem;color:var(--color-olive)}.zy-quote p{font-size:1.0625rem;font-style:italic;color:rgba(119,123,70,.85);line-height:1.75}.zy-quote strong{display:block;color:var(--color-cream)}.zy-quote small{display:block;color:var(--color-body);font-size:.8125rem}.zy-quote em{display:block;color:var(--color-olive);font:500 .6875rem var(--font-mono);font-style:normal}.zy-quote b{display:inline-block;margin-top:18px;background:rgba(119,123,70,.2);border:1px solid rgba(119,123,70,.15);border-radius:12px;padding:8px 16px;font:500 .625rem var(--font-mono);color:var(--color-gold);text-transform:uppercase}.zy-testimonial-tabs{display:grid;gap:10px}.zy-testimonial-tabs button{text-align:left;background:transparent;border:1px solid rgba(119,123,70,.08);border-radius:16px;padding:20px;cursor:pointer}.zy-testimonial-tabs button.is-active{background:#fff;border-color:rgba(119,123,70,.2);box-shadow:0 4px 24px rgba(28,31,16,.06)}.zy-testimonial-tabs strong{display:block;font-size:.8125rem;color:var(--color-text)}.zy-testimonial-tabs span{font-size:.75rem;color:var(--color-muted)}
.zy-blog-card__image{height:230px;border-radius:16px;overflow:hidden;background:var(--color-bg-dark);margin-bottom:20px}.zy-blog-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.zy-blog-card:hover img{transform:scale(1.06)}.zy-blog-card small{font:500 .6rem var(--font-mono);color:var(--color-olive);text-transform:uppercase;letter-spacing:.08em}.zy-blog-card h3{font-size:1rem;line-height:1.4;margin:8px 0 10px}.zy-blog-card p{font-size:.8125rem;color:var(--color-body);line-height:1.65}.zy-blog-card div{display:flex;align-items:center;gap:10px;font:400 .625rem var(--font-mono);color:var(--color-muted)}.zy-blog-card i{width:4px;height:4px;background:var(--color-gold);border-radius:50%}
.zy-faq .zy-btn{margin-top:22px}.zy-accordion{display:grid;gap:8px}.zy-faq-item{border-radius:16px;border:1px solid rgba(119,123,70,.12);background:rgba(119,123,70,.06);overflow:hidden}.zy-faq-item.is-open{background:rgba(119,123,70,.15);border-color:rgba(119,123,70,.2)}.zy-faq-item button{width:100%;background:none;border:0;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;text-align:left;color:var(--color-light);cursor:pointer;font-weight:600}.zy-faq-item button i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(119,123,70,.2);color:var(--color-gold);font-style:normal}.zy-faq-item.is-open button i{background:var(--color-gold);color:var(--color-text)}.zy-faq-item div{display:none;padding:0 24px 24px}.zy-faq-item.is-open div{display:block}.zy-faq-item p{margin:0;color:rgba(119,123,70,.65);line-height:1.8;font-size:.875rem}
.zy-contact-info{list-style:none;padding:0;margin:40px 0;display:grid;gap:18px}.zy-contact-info li{position:relative;padding-left:48px}.zy-contact-info li:before{content:"";position:absolute;left:0;top:0;width:36px;height:36px;border-radius:8px;background:rgba(119,123,70,.1)}.zy-contact-info small{display:block;font:500 .625rem var(--font-mono);color:var(--color-muted);text-transform:uppercase}.zy-contact-info strong{font-size:.875rem;color:var(--color-text)}.zy-cert-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:20px;display:flex;gap:8px;flex-wrap:wrap}.zy-cert-card small{flex-basis:100%;font:500 .625rem var(--font-mono);color:var(--color-muted);text-transform:uppercase}.zy-cert-card span{font:500 .6rem var(--font-mono);color:var(--color-olive);background:rgba(119,123,70,.08);border-radius:8px;padding:4px 12px}.zy-contact-form{background:#fff;border:1px solid var(--border-light);border-radius:24px;padding:32px;display:grid;gap:18px}.zy-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.zy-contact-form label{display:grid;gap:6px;font-weight:600;font-size:.8125rem;color:var(--color-text)}.zy-contact-form input,.zy-contact-form select,.zy-contact-form textarea{width:100%;border:1px solid rgba(119,123,70,.2);border-radius:12px;padding:14px 16px;background:#fff;color:var(--color-text);outline:none}.zy-contact-form input:focus,.zy-contact-form select:focus,.zy-contact-form textarea:focus{border-color:var(--color-olive)}.zy-submit{width:100%;border:0;cursor:pointer}.zy-privacy{text-align:center;margin:0;font:400 .625rem var(--font-mono);color:var(--color-muted);letter-spacing:.04em}.zy-form-success{display:none;text-align:center;border:1px solid rgba(119,123,70,.25);background:rgba(119,123,70,.07);border-radius:16px;padding:24px}.zy-contact-form.is-submitted .zy-form-success{display:block}
.zy-cta{overflow:hidden}.zy-cta__grid,.zy-cta__scan{position:absolute;inset:0;pointer-events:none}.zy-cta__grid{background-image:linear-gradient(rgba(119,123,70,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.03) 1px,transparent 1px);background-size:60px 60px}.zy-cta__scan{height:2px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);animation:zyScan 6s linear infinite}.zy-cta__content{position:relative;z-index:1;text-align:center;max-width:800px;margin:auto}.zy-cta h2{font-size:clamp(2.25rem,5vw,4rem);line-height:1.05}.zy-cta p{font-size:1.0625rem;color:rgba(119,123,70,.55);line-height:1.75;max-width:576px;margin-inline:auto}.zy-cta__buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:32px}.zy-cta__stats{margin-top:40px;padding-top:40px;border-top:1px solid rgba(119,123,70,.2);display:flex;justify-content:center;gap:64px;flex-wrap:wrap}.zy-cta__stats strong{display:block;font-size:1.875rem;color:var(--color-gold)}.zy-cta__stats span{font:500 .6875rem var(--font-mono);color:var(--color-body);text-transform:uppercase;letter-spacing:.04em}.zy-page-hero,.zy-shop-hero{background:var(--color-bg-dark);color:var(--color-cream);padding:150px 0 70px}.zy-page-hero h1,.zy-shop-hero h1{font-size:clamp(2rem,4vw,3.5rem);margin:0}.zy-content{max-width:880px}.zy-post-card{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:24px;margin-bottom:20px}.zy-shop-main{background:var(--color-bg-cream)}.zy-shop-hero p{color:rgba(119,123,70,.55);max-width:640px}.zy-wc-container{background:transparent}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:20px!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:0!important;overflow:hidden;transition:.3s}.woocommerce ul.products li.product:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.woocommerce ul.products li.product a img{height:220px;width:100%;object-fit:cover;margin:0!important;background:var(--color-bg-dark)}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem!important;color:var(--color-text);padding:18px 18px 4px!important;line-height:1.35}.woocommerce ul.products li.product .price{display:block!important;padding:0 18px 14px!important;color:var(--color-olive)!important;font-weight:700}.woocommerce ul.products li.product .button{margin:0 18px 18px!important}.woocommerce div.product{background:#fff;border-radius:24px;border:1px solid var(--border-light);padding:28px}.woocommerce div.product .product_title{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.1;color:var(--color-text)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--color-olive);font-weight:800}.woocommerce-cart .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields{background:#fff;border:1px solid var(--border-light);border-radius:16px;padding:24px}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{border:1px solid rgba(119,123,70,.2);border-radius:12px;padding:12px 14px;background:#fff}.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,#place_order{background:var(--color-olive)!important;color:var(--color-cream)!important;border-radius:12px!important;padding:12px 20px!important;border:0!important;font-weight:700!important}
[data-reveal]{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}[data-reveal].visible{opacity:1;transform:none}@keyframes zyPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.9)}}@keyframes zyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes zyMarquee{to{transform:translateX(-50%)}}@keyframes zyDash{to{stroke-dashoffset:-200}}@keyframes zyScan{0%{transform:translateY(0);opacity:0}10%,90%{opacity:1}100%{transform:translateY(100vh);opacity:0}}
@media (max-width:1024px){:root{--section:80px;--px:24px}.zy-nav__links,.zy-nav__actions{display:none}.zy-mobile-toggle{display:block}.zy-mobile-menu.is-open{display:block}.zy-hero__inner,.zy-two-col,.zy-asym,.zy-testimonial-layout{grid-template-columns:1fr;display:grid}.zy-hero__inner{gap:32px}.zy-live-panel{width:100%}.zy-services-grid{grid-template-columns:repeat(2,1fr)}.zy-product-grid{grid-template-columns:repeat(2,1fr)}.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){:root{--section:64px;--px:20px}.zy-section-head-row{align-items:flex-start;flex-direction:column}.zy-hero__actions,.zy-cta__buttons{flex-direction:column;align-items:stretch}.zy-services-grid,.zy-reason-grid,.zy-product-grid,.zy-case-grid,.zy-blog-grid,.zy-form-grid,.woocommerce ul.products{grid-template-columns:1fr!important}.zy-hero h1{font-size:2.75rem}.zy-live-panel__stats{grid-template-columns:1fr 1fr}.zy-step{gap:16px}.zy-credit div{grid-template-columns:1fr}.zy-cta__stats{gap:24px;flex-direction:column}.zy-building{min-height:320px}.zy-nav{height:72px}.zy-header+.zy-mobile-menu{top:72px}}

/* V2 cleanup: professional abstract fallback visuals instead of accidental screenshots/default WP media */
.zy-product-device,.zy-project-visual,.zy-blog-visual{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 20% 18%,rgba(119,123,70,.22),transparent 25%),radial-gradient(circle at 82% 72%,rgba(119,123,70,.24),transparent 26%),linear-gradient(135deg,#ffffff 0%,#000000 58%,#000000 100%)}
.zy-product-device:before,.zy-project-visual:before,.zy-blog-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(119,123,70,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.08) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 95%)}
.zy-product-device span,.zy-project-visual span,.zy-blog-visual span{position:absolute;left:50%;top:52%;width:88px;height:116px;transform:translate(-50%,-50%);border:1px solid rgba(119,123,70,.38);border-radius:18px;background:rgba(119,123,70,.035);box-shadow:0 0 50px rgba(119,123,70,.08),inset 0 0 32px rgba(119,123,70,.12)}
.zy-product-device i,.zy-project-visual i,.zy-blog-visual i{position:absolute;left:18%;right:18%;top:38%;height:2px;background:linear-gradient(90deg,transparent,#777B46,transparent);box-shadow:0 34px 0 rgba(119,123,70,.65),0 68px 0 rgba(119,123,70,.45)}
.zy-product-device b,.zy-project-visual b,.zy-blog-visual b{position:absolute;right:22%;top:24%;width:10px;height:10px;border-radius:50%;background:#777B46;box-shadow:-92px 34px 0 rgba(119,123,70,.95),-42px 92px 0 rgba(119,123,70,.75),42px 68px 0 rgba(119,123,70,.75)}
.zy-product-device--air span{border-radius:50%;width:118px;height:118px}.zy-product-device--energy i{top:50%;transform:skewY(-18deg)}.zy-product-device--iot span{width:130px;height:90px;border-radius:20px}.zy-product-device--wc{position:relative;display:block;height:100%}
.zy-project-visual span{width:128px;height:150px;border-radius:4px 4px 0 0;top:60%}.zy-project-visual span:after{content:"";position:absolute;left:18px;right:18px;top:24px;bottom:22px;background:repeating-linear-gradient(to bottom,rgba(119,123,70,.22) 0 2px,transparent 2px 18px)}
.zy-case-card__image--hospital .zy-project-visual span{width:150px;height:96px;top:57%;border-radius:16px}.zy-case-card__image--riverside .zy-project-visual:after{content:"";position:absolute;left:-10%;right:-10%;bottom:28%;height:2px;background:linear-gradient(90deg,transparent,rgba(119,123,70,.55),transparent);box-shadow:0 18px 0 rgba(119,123,70,.25),0 36px 0 rgba(119,123,70,.18)}
.zy-blog-visual span{width:160px;height:96px;border-radius:14px;top:54%}.zy-blog-visual span:after{content:"";position:absolute;left:18px;right:18px;top:24px;height:2px;background:rgba(119,123,70,.45);box-shadow:0 18px 0 rgba(119,123,70,.45),0 36px 0 rgba(119,123,70,.22)}
.zy-blog-card__image{position:relative}.zy-blog-card__image .zy-blog-visual,.zy-case-card__image .zy-project-visual{position:absolute;inset:0}.zy-product-card__image:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(14,18,9,.28),transparent 55%);pointer-events:none}.zy-product-card__image>span{z-index:3}.zy-case-card__image>span,.zy-case-card__image>a{z-index:4}

/* V3 technical fixes */
.zy-contact-form.is-submitted > :not(.zy-form-success){display:none}
.zy-form-error{border:1px solid rgba(0,0,0,.22);background:rgba(0,0,0,.06);color:#000000;border-radius:12px;padding:12px 14px;font-size:.8125rem;font-weight:600}
.zy-contact-form.is-loading .zy-submit{opacity:.72;cursor:wait}
.zy-submit:disabled{opacity:.72;cursor:wait}
.zy-blog-card__image:empty{display:none}
@media (max-width:1024px){.zy-compare-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.zy-compare-table table{min-width:720px}.zy-section{scroll-margin-top:90px}}
@media (max-width:640px){.zy-contact-form{padding:24px}.zy-product-card__image,.zy-blog-card__image{height:200px}.zy-case-card__image{height:220px}.zy-compare-table{margin-inline:-20px;border-radius:0}.zy-compare-table table{min-width:680px}}

/* Footer - structural V4 */
.zy-footer{background:var(--color-bg-hero);color:var(--color-light);position:relative;z-index:1;border-top:1px solid rgba(119,123,70,.22)}
.zy-footer__top{padding:64px 0;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:32px;border-bottom:1px solid rgba(119,123,70,.15)}
.zy-footer__brand .zy-logo{margin-bottom:18px;display:inline-flex}
.zy-footer__brand p{max-width:300px;margin:0 0 22px;color:var(--color-body);font-size:.875rem;line-height:1.7}
.zy-footer__contact{list-style:none;margin:0;padding:0;display:grid;gap:10px;color:var(--color-body);font-size:.8125rem}
.zy-footer__col h5{margin:0 0 16px;color:var(--color-light);font-size:.8125rem;font-weight:700;letter-spacing:.01em}
.zy-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.zy-footer__col a{color:var(--color-body);font-size:.8125rem;transition:color .2s ease}
.zy-footer__col a:hover{color:var(--color-gold)}
.zy-footer__bottom{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#777B46;font:500 .6875rem var(--font-mono);letter-spacing:.03em}
.zy-social,.zy-legal{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.zy-social a{width:32px;height:32px;border-radius:8px;background:rgba(119,123,70,.12);display:grid;place-items:center;color:var(--color-body);font:600 .65rem var(--font-mono);text-transform:uppercase;transition:.2s}
.zy-social a:hover{background:rgba(119,123,70,.3);color:var(--color-gold)}
.zy-legal a{color:#777B46;transition:color .2s}
.zy-legal a:hover{color:var(--color-body)}
@media (max-width:1024px){.zy-footer__top{grid-template-columns:repeat(2,1fr)}.zy-footer__brand{grid-column:1/-1}}
@media (max-width:640px){.zy-footer__top{grid-template-columns:1fr;padding:48px 0}.zy-footer__bottom{align-items:flex-start;flex-direction:column}}

/* V5 Motion Upgrade: canvas, mouse-reactive glow, and lottie-like micro animations */
.zy-motion-enabled .zy-hero,
.zy-motion-enabled .zy-section{isolation:isolate;overflow:hidden}
.zy-motion-enabled .zy-section>.zy-container,
.zy-motion-enabled .zy-hero>.zy-container{position:relative;z-index:3}
.zy-motion-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.46;mix-blend-mode:screen}
.zy-section--cream .zy-motion-canvas{opacity:.18;mix-blend-mode:multiply}
.zy-comparison .zy-motion-canvas,.zy-process .zy-motion-canvas,.zy-sustain .zy-motion-canvas,.zy-faq .zy-motion-canvas,.zy-cta .zy-motion-canvas{opacity:.54}
.zy-mouse-glow{position:absolute;left:var(--zy-mx,50%);top:var(--zy-my,50%);width:520px;height:520px;transform:translate(-50%,-50%);border-radius:999px;pointer-events:none;z-index:1;opacity:0;transition:opacity .35s ease;background:radial-gradient(circle,rgba(119,123,70,.11) 0%,rgba(119,123,70,.08) 32%,transparent 70%);filter:blur(4px)}
.zy-section--cream .zy-mouse-glow{background:radial-gradient(circle,rgba(119,123,70,.085) 0%,rgba(119,123,70,.055) 38%,transparent 72%);mix-blend-mode:multiply}
.zy-motion-active .zy-mouse-glow{opacity:1}
.zy-hero .zy-mouse-glow{width:680px;height:680px;background:radial-gradient(circle,rgba(119,123,70,.22) 0%,rgba(119,123,70,.10) 35%,transparent 72%)}

/* richer hero parallax layers */
.zy-motion-enabled .zy-hero__grid--far{transform:translate3d(calc(var(--zy-hero-x,0px) * -0.35),calc(var(--zy-hero-y,0px) * -0.25),0);transition:transform .18s ease-out}
.zy-motion-enabled .zy-hero__grid--near{transform:translate3d(calc(var(--zy-hero-x,0px) * .55),calc(var(--zy-hero-y,0px) * .38),0);transition:transform .18s ease-out}
.zy-motion-enabled .zy-live-panel{will-change:transform,box-shadow}

/* animated technical visual layers */
.zy-motion-enabled .zy-product-device,
.zy-motion-enabled .zy-project-visual,
.zy-motion-enabled .zy-blog-visual{--zy-par-x:0px;--zy-par-y:0px;will-change:transform;transform:translate3d(calc(var(--zy-par-x) * .08),calc(var(--zy-par-y) * .08),0) scale(1.02);transition:transform .22s ease-out}
.zy-motion-enabled .zy-product-device span,
.zy-motion-enabled .zy-project-visual span,
.zy-motion-enabled .zy-blog-visual span{transform:translate(calc(-50% + var(--zy-par-x,0px) * .32),calc(-50% + var(--zy-par-y,0px) * .32));transition:transform .18s ease-out}
.zy-motion-enabled .zy-product-device i,
.zy-motion-enabled .zy-project-visual i,
.zy-motion-enabled .zy-blog-visual i{animation:zyDataSweep 3.8s ease-in-out infinite;opacity:.95}
.zy-motion-enabled .zy-product-device b,
.zy-motion-enabled .zy-project-visual b,
.zy-motion-enabled .zy-blog-visual b{animation:zyNodePulse 2.6s ease-in-out infinite}
.zy-product-device:after,.zy-project-visual:after,.zy-blog-visual:after{content:"";position:absolute;left:-35%;right:-35%;top:48%;height:1px;background:linear-gradient(90deg,transparent,rgba(119,123,70,.0),rgba(119,123,70,.8),rgba(119,123,70,.45),transparent);transform:translateX(-20%) rotate(-7deg);opacity:.65;animation:zySignalSweep 5.2s linear infinite;z-index:2}
.zy-project-visual:after{top:56%;animation-duration:6.6s}.zy-blog-visual:after{top:42%;animation-duration:4.8s}

/* lottie-like orbital UI elements generated by JS */
.zy-orbit-stack{position:absolute;inset:16%;pointer-events:none;z-index:2;border-radius:50%;opacity:.9;transform:translateZ(40px)}
.zy-orbit-stack span{position:absolute;inset:0;border:1px solid rgba(119,123,70,.13);border-radius:50%;animation:zyOrbit 12s linear infinite}
.zy-orbit-stack span:nth-child(2){inset:13%;border-color:rgba(119,123,70,.18);animation-duration:8.5s;animation-direction:reverse}
.zy-orbit-stack span:nth-child(3){inset:28%;border-style:dashed;border-color:rgba(119,123,70,.2);animation-duration:16s}
.zy-orbit-stack span:after{content:"";position:absolute;right:6%;top:48%;width:7px;height:7px;border-radius:50%;background:var(--color-gold);box-shadow:0 0 18px rgba(119,123,70,.7)}
.zy-orbit-stack span:nth-child(2):after{background:var(--color-sage);box-shadow:0 0 18px rgba(119,123,70,.7)}

/* section-specific atmosphere */
.zy-motion-enabled .zy-smart:before,
.zy-motion-enabled .zy-comparison:before,
.zy-motion-enabled .zy-process:before,
.zy-motion-enabled .zy-sustain:before,
.zy-motion-enabled .zy-faq:before,
.zy-motion-enabled .zy-cta:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(119,123,70,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.028) 1px,transparent 1px);background-size:54px 54px;transform:translate3d(calc(var(--zy-sec-x,0px) * .22),calc(var(--zy-sec-y,0px) * .16),0);transition:transform .12s ease-out;mask-image:radial-gradient(circle at 50% 50%,black,transparent 82%)}
.zy-motion-enabled .zy-services:before,.zy-motion-enabled .zy-products:before,.zy-motion-enabled .zy-cases:before,.zy-motion-enabled .zy-testimonials:before,.zy-motion-enabled .zy-blog:before,.zy-motion-enabled .zy-contact:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--zy-mx,50%) var(--zy-my,50%),rgba(119,123,70,.045),transparent 34%)}

/* interactive cards: subtle premium response */
.zy-motion-enabled .zy-service-card,.zy-motion-enabled .zy-reason-card,.zy-motion-enabled .zy-step__card,.zy-motion-enabled .zy-faq-item,.zy-motion-enabled .zy-contact-form,.zy-motion-enabled .zy-quote{position:relative;overflow:hidden}
.zy-motion-enabled .zy-service-card:after,.zy-motion-enabled .zy-reason-card:after,.zy-motion-enabled .zy-step__card:after,.zy-motion-enabled .zy-faq-item:after,.zy-motion-enabled .zy-contact-form:after,.zy-motion-enabled .zy-quote:after{content:"";position:absolute;inset:-1px;pointer-events:none;background:radial-gradient(circle at var(--zy-card-x,50%) var(--zy-card-y,50%),rgba(119,123,70,.14),transparent 36%);opacity:0;transition:opacity .24s ease;z-index:0}
.zy-motion-enabled .zy-service-card:hover:after,.zy-motion-enabled .zy-reason-card:hover:after,.zy-motion-enabled .zy-step__card:hover:after,.zy-motion-enabled .zy-faq-item:hover:after,.zy-motion-enabled .zy-contact-form:hover:after,.zy-motion-enabled .zy-quote:hover:after{opacity:1}
.zy-motion-enabled .zy-service-card>* , .zy-motion-enabled .zy-reason-card>* , .zy-motion-enabled .zy-step__card>* , .zy-motion-enabled .zy-faq-item>* , .zy-motion-enabled .zy-contact-form>* , .zy-motion-enabled .zy-quote>*{position:relative;z-index:1}

/* building SVG now feels alive */
.zy-motion-enabled .zy-building__svg{filter:drop-shadow(0 0 22px rgba(119,123,70,.08));transform:translate3d(calc(var(--zy-par-x,0px) * .12),calc(var(--zy-par-y,0px) * .12),0) scale(1.02);transition:transform .2s ease-out}
.zy-motion-enabled .zy-sensor-dot{animation:zySensorPing 2.6s ease-in-out infinite}.zy-motion-enabled .zy-sensor-dot:nth-of-type(2n){animation-delay:.45s}.zy-motion-enabled .zy-sensor-dot:nth-of-type(3n){animation-delay:.9s}
.zy-motion-enabled .zy-leed-card{position:relative;overflow:hidden}.zy-motion-enabled .zy-leed-card:before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,transparent,rgba(119,123,70,.08),transparent,rgba(119,123,70,.08),transparent);animation:zyOrbit 18s linear infinite;pointer-events:none}.zy-motion-enabled .zy-leed-card>*{position:relative;z-index:1}

@keyframes zyDataSweep{0%,100%{filter:brightness(1);transform:translateX(0)}50%{filter:brightness(1.55);transform:translateX(12px)}}
@keyframes zyNodePulse{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.8);transform:scale(1.08)}}
@keyframes zySignalSweep{0%{transform:translateX(-55%) rotate(-7deg);opacity:0}15%,75%{opacity:.72}100%{transform:translateX(55%) rotate(-7deg);opacity:0}}
@keyframes zyOrbit{to{transform:rotate(360deg)}}
@keyframes zySensorPing{0%,100%{box-shadow:0 0 0 7px rgba(119,123,70,.08),0 0 0 rgba(119,123,70,0)}50%{box-shadow:0 0 0 13px rgba(119,123,70,.02),0 0 22px rgba(119,123,70,.24)}}

@media (prefers-reduced-motion:reduce){.zy-motion-canvas,.zy-mouse-glow,.zy-orbit-stack{display:none!important}.zy-motion-enabled *{animation:none!important;transition:none!important}}
@media (max-width:640px){.zy-motion-canvas{opacity:.22}.zy-mouse-glow{display:none}.zy-orbit-stack{inset:20%}}


/* V6 Brand Identity Alignment — derived from official zytona brand book */
:root{
  --brand-primary:#777B46;
  --brand-secondary:#777B46;
  --brand-tertiary:#777B46;
  --brand-soft:#777B46;
  --brand-pale:#ffffff;
}
.zy-logo{gap:0;min-width:112px}.zy-logo__mark{display:none!important}.zy-logo__text{display:none!important}.zy-logo__image{display:block;width:104px;height:auto}.zy-footer .zy-logo__image{width:128px}.zy-header.is-scrolled{background:rgba(28,31,16,.94);border-bottom-color:rgba(119,123,70,.32)}
.zy-section--cream{background:var(--brand-pale)}.zy-service-card{background:var(--brand-pale)}.zy-service-card:hover,.zy-reason-card,.zy-contact-form,.zy-case-card,.zy-product-card,.zy-testimonial-selector button.is-active{background:#fff}.zy-btn,.zy-nav-shop{border-radius:11px}.zy-btn--primary,.zy-nav-shop{background:var(--brand-primary)}.zy-btn--primary:hover,.zy-nav-shop:hover{background:var(--brand-secondary)}.zy-hero h1 span,.zy-section--cream h2 span,.zy-contact h2 span,.zy-why h2 span{color:var(--brand-primary)}.zy-section h2 span,.zy-eyebrow--gold,.zy-pill,.zy-live-panel__header,.zy-nav-contact,.zy-cart-button{color:var(--brand-soft)}
.zy-pattern-brand:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(119,123,70,.12) 1px,transparent 1px);background-size:22px 22px;opacity:.28}


/* --------------------------------------------------------------------------
   V8: Hero viewport-fit + header UI correction
   Goal: the hero composition must fit inside the first viewport on desktop
   without vertical overflow, while keeping the official olive brand language.
   -------------------------------------------------------------------------- */
.zy-cart-button,
.zy-nav-contact,
.zy-nav-shop{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

.zy-cart-button{
  width:44px;
  height:44px;
  padding:0;
  border-radius:14px;
  color:var(--brand-pale);
  background:rgba(119,123,70,.08);
  border:1px solid rgba(119,123,70,.28);
  transition:background .22s ease,border-color .22s ease,transform .22s ease,color .22s ease;
}
.zy-cart-button:hover{
  color:#fff;
  background:rgba(119,123,70,.34);
  border-color:rgba(119,123,70,.45);
  transform:translateY(-2px);
}
.zy-cart-icon{display:block;width:18px;height:18px;stroke:currentColor;overflow:visible}

.zy-nav-contact{
  border-radius:14px;
  padding:0 18px;
  color:var(--brand-pale);
  background:rgba(119,123,70,.08);
  border:1px solid rgba(119,123,70,.22);
  font-weight:600;
  transition:background .22s ease,border-color .22s ease,transform .22s ease,color .22s ease;
}
.zy-nav-contact:hover{
  color:#fff;
  background:rgba(119,123,70,.28);
  border-color:rgba(119,123,70,.38);
  transform:translateY(-2px);
}

@media (min-width:1025px){
  .zy-hero{
    height:100vh;
    height:100svh;
    min-height:680px;
    max-height:100vh;
    max-height:100svh;
    padding-top:0;
    overflow:hidden;
    align-items:stretch;
  }
  @supports (height:100dvh){
    .zy-hero{height:100dvh;max-height:100dvh;}
  }
  .zy-hero__inner{
    height:100%;
    min-height:0;
    box-sizing:border-box;
    align-items:center;
    padding-top:86px;
    padding-bottom:44px;
    gap:clamp(42px,4.2vw,72px);
  }
  .zy-hero__copy{
    max-width:min(760px,58vw);
  }
  .zy-hero h1{
    font-size:clamp(3.25rem,4.65vw,4.65rem);
    line-height:.965;
    letter-spacing:-.035em;
    margin-bottom:18px;
  }
  .zy-hero p:not(.zy-pill){
    font-size:clamp(.92rem,1.05vw,1.08rem);
    line-height:1.58;
    max-width:520px;
  }
  .zy-pill{
    margin-bottom:18px;
  }
  .zy-hero__actions{
    margin-top:28px;
  }
  .zy-live-panel{
    width:min(100%,360px);
    padding:24px;
    flex:0 0 360px;
  }
  .zy-scroll-indicator{
    bottom:18px;
    opacity:.75;
  }
}

@media (min-width:1280px) and (max-height:900px){
  .zy-hero__inner{padding-top:78px;padding-bottom:30px;}
  .zy-hero h1{font-size:clamp(3rem,4.35vw,4.25rem);line-height:.95;margin-bottom:16px;}
  .zy-hero p:not(.zy-pill){font-size:.98rem;line-height:1.52;max-width:500px;}
  .zy-hero__actions{margin-top:24px;}
  .zy-pill{margin-bottom:16px;padding:5px 13px;}
  .zy-live-panel{padding:22px;transform:translateY(6px) scale(.96);transform-origin:center right;}
  .zy-live-panel__header{margin-bottom:14px;}
  .zy-live-panel__stats{gap:8px;}
  .zy-live-panel__stats div{padding:10px;}
  .zy-live-panel__stats strong{font-size:1.58rem;}
  .zy-status-bar{margin:12px 0;padding:9px 14px;}
  .zy-metric{margin-top:9px;}
  .zy-scroll-indicator{display:none;}
}

@media (min-width:1025px) and (max-height:740px){
  .zy-hero{min-height:620px;}
  .zy-hero__inner{padding-top:72px;padding-bottom:24px;}
  .zy-hero h1{font-size:clamp(2.75rem,3.85vw,3.75rem);}
  .zy-hero p:not(.zy-pill){font-size:.9rem;line-height:1.45;}
  .zy-hero__actions{margin-top:18px;}
  .zy-live-panel{transform:translateY(10px) scale(.88);}
}

@media (max-width:1024px){
  .zy-nav-contact{display:none;}
  .zy-cart-button{display:none;}
  .zy-hero{min-height:auto;}
}


/* --------------------------------------------------------------------------
   V9 Light Olive Direction
   Palette is visually restricted to #777B46, black, and white.
   -------------------------------------------------------------------------- */
:root{
  --color-bg-cream:#ffffff;
  --color-bg-dark:#ffffff;
  --color-bg-hero:#ffffff;
  --color-white:#ffffff;
  --color-olive:#777B46;
  --color-sage:#777B46;
  --color-olive-hover:#000000;
  --color-gold:#777B46;
  --color-text:#000000;
  --color-body:#000000;
  --color-muted:#777B46;
  --color-light:#000000;
  --color-cream:#ffffff;
  --border-light:rgba(119,123,70,.18);
  --border-medium:rgba(119,123,70,.32);
  --border-dark:rgba(0,0,0,.14);
  --brand-primary:#777B46;
  --brand-secondary:#777B46;
  --brand-tertiary:#777B46;
  --brand-soft:#777B46;
  --brand-pale:#ffffff;
  --shadow:0 24px 80px rgba(0,0,0,.08);
}
html,body,body.zytona-theme{background:#ffffff;color:#000000}.zy-section,.zy-section--cream,.zy-section--dark,.zy-shop-hero,.zy-video-band{background:#ffffff!important;color:#000000!important}.zy-section--dark h2,.zy-section-heading--dark h2,.zy-smart h2,.zy-comparison h2,.zy-process h2,.zy-sustain h2,.zy-faq h2,.zy-cta h2{color:#000000!important}.zy-lead,.zy-section--dark .zy-lead,.zy-section--dark p,.zy-step__card p,.zy-faq-item p,.zy-quote p{color:#000000!important}.zy-eyebrow,.zy-eyebrow--gold,.zy-pill,.zy-section h2 span,.zy-hero h1 span{color:#777B46!important}.zy-btn--primary,.zy-nav-shop,.zy-submit{background:#777B46!important;color:#ffffff!important}.zy-btn--primary:hover,.zy-nav-shop:hover,.zy-submit:hover{background:#000000!important;color:#ffffff!important}.zy-btn--secondary{background:#ffffff!important;color:#000000!important;border:1px solid #777B46!important}.zy-btn--secondary:hover{background:#777B46!important;color:#ffffff!important}

/* Header becomes light, readable and brand strict */
.zy-header,.zy-header.is-scrolled{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,0,0,.08)!important}.zy-nav__links>a,.zy-nav__item>a{color:#000000!important}.zy-nav__links>a:hover,.zy-nav__item>a:hover,.zy-nav-contact:hover{color:#777B46!important}.zy-nav-contact{background:#ffffff!important;color:#000000!important;border:1px solid rgba(119,123,70,.36)!important}.zy-nav-contact:hover{background:#777B46!important;color:#ffffff!important}.zy-cart-button{background:#ffffff!important;color:#000000!important;border:1px solid rgba(119,123,70,.36)!important}.zy-cart-button:hover{background:#777B46!important;color:#ffffff!important}.zy-mobile-toggle span{background:#000000!important}.zy-mobile-menu{background:#ffffff!important;border-bottom:1px solid rgba(0,0,0,.08)}.zy-mobile-menu a{color:#000000!important;border-bottom:1px solid rgba(119,123,70,.18)}.zy-mega{background:#ffffff!important;border:1px solid rgba(119,123,70,.24)!important;box-shadow:0 24px 70px rgba(0,0,0,.12)!important}.zy-mega__item strong{color:#000000!important}.zy-mega__item span{color:#000000!important}.zy-mega__item:hover{background:rgba(119,123,70,.08)!important}.zy-logo__image{filter:none!important}

/* Hero: first screen, light theme, interactive olive instead of the live panel */
.zy-hero{background:#ffffff!important;color:#000000!important;min-height:100svh;height:100svh;overflow:hidden}.zy-hero__gradient{background:radial-gradient(circle at var(--zy-mx,70%) var(--zy-my,32%),rgba(119,123,70,.12),transparent 35%),radial-gradient(circle at 20% 78%,rgba(119,123,70,.07),transparent 34%)!important}.zy-hero__grid{background-image:linear-gradient(rgba(119,123,70,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.10) 1px,transparent 1px)!important;opacity:.75}.zy-hero h1{color:#000000!important}.zy-hero p:not(.zy-pill){color:#000000!important}.zy-pill{background:#ffffff!important;border:1px solid #777B46!important}.zy-pill span{background:#777B46!important}.zy-scroll-indicator{color:#777B46!important}.zy-hero__inner{align-items:center;gap:clamp(32px,5vw,72px)}
@media (min-width:1025px){.zy-hero__inner{padding-top:80px!important;padding-bottom:24px!important}.zy-hero__copy{max-width:720px}.zy-hero h1{font-size:clamp(3.35rem,5.4vw,6rem)!important}.zy-hero p:not(.zy-pill){max-width:560px}.zy-scroll-indicator{display:none!important}}

.zy-olive-experience{position:relative;flex:0 0 min(40vw,560px);aspect-ratio:1;border:1px solid rgba(119,123,70,.34);border-radius:42px;background:#ffffff;box-shadow:0 30px 90px rgba(0,0,0,.08);overflow:hidden;isolation:isolate;--olive-x:0px;--olive-y:0px;--olive-split:0px;--olive-scale:1}.zy-olive-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.zy-olive-orbit{position:absolute;inset:12%;border:1px solid rgba(119,123,70,.28);border-radius:50%;transform:translate3d(calc(var(--olive-x)*.12),calc(var(--olive-y)*.12),0);transition:transform .12s ease}.zy-olive-orbit:before,.zy-olive-orbit:after{content:"";position:absolute;inset:16%;border:1px dashed rgba(119,123,70,.36);border-radius:50%;animation:zyV9Orbit 12s linear infinite}.zy-olive-orbit:after{inset:28%;animation-duration:18s;animation-direction:reverse}.zy-olive-shell{position:absolute;inset:16%;z-index:2;transform:translate3d(calc(var(--olive-x)*.16),calc(var(--olive-y)*.16),0) scale(var(--olive-scale));transition:transform .16s ease-out}.zy-olive-part{position:absolute;border:clamp(5px,.7vw,9px) solid #777B46;background:#ffffff}.zy-olive-part--left{left:14%;top:19%;width:39%;height:62%;border-radius:58% 38% 48% 54%/48% 48% 55% 58%;transform:translate3d(calc(var(--olive-split)*-1),calc(var(--olive-y)*.04),0) rotate(calc(var(--olive-x)*-.045deg))}.zy-olive-part--right{right:16%;top:18%;width:39%;height:64%;border-radius:42% 62% 54% 45%/46% 49% 58% 58%;transform:translate3d(var(--olive-split),calc(var(--olive-y)*-.04),0) rotate(calc(var(--olive-x)*.045deg))}.zy-olive-part--core{left:35%;top:30%;width:30%;height:42%;border-radius:50%;border-width:clamp(4px,.52vw,7px);transform:translate3d(calc(var(--olive-x)*.035),calc(var(--olive-y)*.035),0)}.zy-olive-seed{position:absolute;left:47%;top:45%;width:10%;height:10%;border-radius:50%;background:#777B46;transform:translate3d(calc(var(--olive-x)*.23),calc(var(--olive-y)*.23),0);box-shadow:0 0 0 14px rgba(119,123,70,.08)}.zy-olive-leaf{position:absolute;right:18%;top:2%;width:30%;height:15%;background:#777B46;border-radius:0 90% 0 90%;transform-origin:left bottom;transform:translate3d(calc(var(--olive-x)*.08),calc(var(--olive-y)*-.10),0) rotate(calc(-24deg + var(--olive-x)*.055deg))}.zy-olive-caption{position:absolute;left:28px;right:28px;bottom:28px;z-index:3;display:grid;gap:5px}.zy-olive-caption small{font:600 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#777B46}.zy-olive-caption strong{font-size:1.35rem;line-height:1;color:#000000}.zy-olive-caption span{font-size:.9rem;line-height:1.5;color:#000000;max-width:390px}.zy-olive-experience:hover .zy-olive-part--left,.zy-olive-experience:hover .zy-olive-part--right{background:rgba(119,123,70,.04)}@keyframes zyV9Orbit{to{transform:rotate(360deg)}}

/* All previous dark components are converted to light cards */
.zy-live-panel,.zy-baseline,.zy-building,.zy-compare-table,.zy-step__card,.zy-leed-card,.zy-quote,.zy-faq-item,.zy-contact-form,.zy-footer{background:#ffffff!important;color:#000000!important;border-color:rgba(119,123,70,.22)!important;box-shadow:0 18px 60px rgba(0,0,0,.06)!important}.zy-service-card,.zy-reason-card,.zy-product-card,.zy-case-card,.zy-blog-card,.zy-testimonial-selector button,.zy-contact-info-row,.zy-certifications{background:#ffffff!important;color:#000000!important;border-color:rgba(119,123,70,.18)!important}.zy-service-card h3,.zy-reason-card h3,.zy-product-card h3,.zy-case-card h3,.zy-blog-card h3,.zy-step__card h3,.zy-contact h2,.zy-faq h2,.zy-footer h3{color:#000000!important}.zy-tags span,.zy-case-card em,.zy-product-card__image span,.zy-step__card em,.zy-certifications span{background:#ffffff!important;color:#777B46!important;border:1px solid rgba(119,123,70,.28)!important}.zy-product-card__image,.zy-case-card__image,.zy-blog-card__image{background:#ffffff!important;border-bottom:1px solid rgba(119,123,70,.18)}.zy-product-device,.zy-case-visual,.zy-blog-visual{background:#ffffff!important}.zy-product-device:before,.zy-case-visual:before,.zy-blog-visual:before{background:rgba(119,123,70,.08)!important}.zy-product-device span,.zy-product-device i,.zy-product-device b,.zy-case-visual span,.zy-case-visual i,.zy-case-visual b,.zy-blog-visual span,.zy-blog-visual i,.zy-blog-visual b{border-color:#777B46!important;background:transparent!important}.zy-compare-table table,.zy-compare-table th,.zy-compare-table td{color:#000000!important;border-color:rgba(119,123,70,.18)!important}.zy-compare-table .is-highlight{background:rgba(119,123,70,.06)!important}.yes,.part,.no{background:#ffffff!important;color:#777B46!important;border:1px solid #777B46!important}.zy-step__rail span{background:#ffffff!important;color:#777B46!important;border-color:#777B46!important}.zy-step__rail i{background:#777B46!important}.zy-faq-item button{color:#000000!important}.zy-faq-item button i{background:#777B46!important;color:#ffffff!important}.zy-input,.zy-contact-form input,.zy-contact-form select,.zy-contact-form textarea{background:#ffffff!important;color:#000000!important;border-color:rgba(119,123,70,.32)!important}.zy-input:focus,.zy-contact-form input:focus,.zy-contact-form select:focus,.zy-contact-form textarea:focus{border-color:#777B46!important}.zy-footer{border-top:1px solid rgba(119,123,70,.2)!important}.zy-footer a,.zy-footer p,.zy-footer li,.zy-footer small{color:#000000!important}.zy-footer a:hover{color:#777B46!important}.zy-footer .zy-logo__image{filter:none!important}

/* New image spaces */
.zy-media-showcase{background:#ffffff!important}.zy-media-intro{max-width:420px;margin:0;color:#000000;font-size:.95rem;line-height:1.65}.zy-media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.zy-image-slot{position:relative;min-height:280px;border:1px solid rgba(119,123,70,.24);border-radius:24px;background:#ffffff;overflow:hidden;margin:0;box-shadow:0 18px 60px rgba(0,0,0,.055)}.zy-image-slot--wide{grid-column:span 2;min-height:520px}.zy-image-slot--tall{grid-row:span 2;min-height:520px}.zy-image-slot__visual{position:absolute;inset:0;background:linear-gradient(135deg,#ffffff,rgba(119,123,70,.08));overflow:hidden}.zy-image-slot__visual:before{content:"";position:absolute;inset:20px;border:1px solid rgba(119,123,70,.34);border-radius:20px}.zy-image-slot__visual span,.zy-image-slot__visual i,.zy-image-slot__visual b{position:absolute;border:1px solid #777B46;border-radius:999px;opacity:.65}.zy-image-slot__visual span{width:52%;height:36%;left:18%;top:22%}.zy-image-slot__visual i{width:38%;height:24%;right:14%;bottom:22%}.zy-image-slot__visual b{width:10px;height:10px;background:#777B46;right:20%;top:20%;animation:zyV9SlotPulse 3s ease-in-out infinite}.zy-image-slot figcaption{position:absolute;left:20px;right:20px;bottom:20px;background:#ffffff;border:1px solid rgba(119,123,70,.22);border-radius:16px;padding:16px}.zy-image-slot strong{display:block;color:#000000;font-size:1rem}.zy-image-slot small{display:block;color:#000000;opacity:.72;margin-top:4px}.zy-image-slot:hover .zy-image-slot__visual{filter:contrast(1.06)}@keyframes zyV9SlotPulse{50%{transform:scale(1.5);opacity:.28}}

/* Full-width video slot */
.zy-video-band{padding:96px 0;background:#ffffff!important;border-top:1px solid rgba(119,123,70,.18);border-bottom:1px solid rgba(119,123,70,.18)}.zy-video-band__head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.zy-video-band__head h2{margin:0;max-width:780px;font-size:clamp(2rem,4vw,4.25rem);line-height:1.02;color:#000000}.zy-video-frame{position:relative;width:100%;min-height:min(72vh,760px);background:#ffffff;border-top:1px solid #777B46;border-bottom:1px solid #777B46;overflow:hidden;display:grid;place-items:center}.zy-video-frame:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(119,123,70,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.10) 1px,transparent 1px);background-size:80px 80px}.zy-video-frame__motion{position:absolute;inset:0}.zy-video-frame__motion span{position:absolute;border:1px solid #777B46;border-radius:50%;opacity:.25;animation:zyV9Video 16s linear infinite}.zy-video-frame__motion span:nth-child(1){width:42vw;height:42vw;left:-10vw;top:10%}.zy-video-frame__motion span:nth-child(2){width:34vw;height:34vw;right:10vw;top:18%;animation-direction:reverse}.zy-video-frame__motion span:nth-child(3){width:18vw;height:18vw;right:12vw;bottom:-5vw}.zy-video-play{position:relative;z-index:2;width:98px;height:98px;border-radius:50%;border:1px solid #777B46;background:#777B46;color:#ffffff;display:grid;place-items:center;cursor:pointer;transition:transform .25s ease,background .25s ease}.zy-video-play:hover{transform:scale(1.08);background:#000000}.zy-video-copy{position:absolute;left:clamp(24px,5vw,80px);bottom:clamp(24px,5vw,70px);z-index:2;display:grid;gap:6px;max-width:520px}.zy-video-copy small{font:700 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:#777B46}.zy-video-copy strong{font-size:clamp(1.35rem,2.3vw,2.5rem);line-height:1.08;color:#000000}.zy-video-copy span{font-size:.95rem;color:#000000;line-height:1.55}@keyframes zyV9Video{to{transform:rotate(360deg)}}

/* Motion recolor to strict palette */
.zy-motion-canvas{opacity:.20!important}.zy-mouse-glow{background:radial-gradient(circle,rgba(119,123,70,.10),transparent 62%)!important}.zy-orbit-stack span{border-color:rgba(119,123,70,.32)!important}.zy-motion-enabled .zy-smart:before,.zy-motion-enabled .zy-comparison:before,.zy-motion-enabled .zy-process:before,.zy-motion-enabled .zy-sustain:before,.zy-motion-enabled .zy-faq:before,.zy-motion-enabled .zy-cta:before{background-image:linear-gradient(rgba(119,123,70,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.05) 1px,transparent 1px)!important}

@media (max-width:1180px){.zy-media-grid{grid-template-columns:repeat(2,1fr)}.zy-image-slot--wide,.zy-image-slot--tall{grid-column:auto;grid-row:auto;min-height:330px}.zy-olive-experience{flex-basis:min(38vw,420px)}}
@media (max-width:1024px){.zy-hero{height:auto;min-height:100svh;padding-top:90px;overflow:hidden}.zy-hero__inner{display:grid;gap:42px;padding-top:72px!important;padding-bottom:60px!important}.zy-olive-experience{width:min(100%,520px);margin:auto;flex-basis:auto}.zy-media-grid{grid-template-columns:1fr}.zy-video-band__head{display:block}.zy-video-frame{min-height:62vh}.zy-video-copy{right:24px}}
@media (max-width:640px){.zy-hero h1{font-size:clamp(2.55rem,16vw,4rem)!important}.zy-olive-experience{border-radius:28px}.zy-olive-caption{left:18px;right:18px;bottom:18px}.zy-olive-caption strong{font-size:1.05rem}.zy-image-slot{min-height:280px}.zy-video-play{width:76px;height:76px}.zy-video-frame{min-height:58vh}}


/* --------------------------------------------------------------------------
   V10 STRICT LIGHT STYLE
   Visible palette is intentionally limited to #777B46, #000000 and #ffffff.
   The olive hero object replaces the previous logo-like illustration.
   -------------------------------------------------------------------------- */
:root{
  --color-bg-cream:#ffffff!important;
  --color-bg-dark:#ffffff!important;
  --color-bg-hero:#ffffff!important;
  --color-white:#ffffff!important;
  --color-olive:#777B46!important;
  --color-sage:#777B46!important;
  --color-olive-hover:#777B46!important;
  --color-gold:#777B46!important;
  --color-text:#000000!important;
  --color-body:#000000!important;
  --color-muted:#777B46!important;
  --color-light:#000000!important;
  --color-cream:#ffffff!important;
  --brand-primary:#777B46!important;
  --brand-secondary:#777B46!important;
  --brand-tertiary:#777B46!important;
  --brand-soft:#777B46!important;
  --brand-pale:#ffffff!important;
  --border-light:rgba(119,123,70,.18)!important;
  --border-medium:rgba(119,123,70,.32)!important;
  --border-dark:rgba(119,123,70,.42)!important;
  --shadow:0 22px 70px rgba(0,0,0,.08)!important;
}
html,body,body.zytona-theme{background:#ffffff!important;color:#000000!important;}
.zy-section,.zy-section--cream,.zy-section--dark,.zy-hero,.zy-footer,.zy-shop-page,.zy-page{background:#ffffff!important;color:#000000!important;}
.zy-header{background:rgba(255,255,255,.86)!important;border-bottom:1px solid rgba(119,123,70,.18)!important;backdrop-filter:blur(18px)}
.zy-header.is-scrolled{background:rgba(255,255,255,.94)!important;border-bottom-color:rgba(119,123,70,.28)!important;}
.zy-nav__links>a,.zy-nav__item>a,.zy-nav-contact,.zy-cart-button{color:#000000!important;}
.zy-nav__links>a:hover,.zy-nav__item>a:hover,.zy-nav-contact:hover,.zy-cart-button:hover{color:#777B46!important;}
.zy-nav-shop,.zy-btn--primary,.zy-submit,.zy-add-cart{background:#777B46!important;color:#ffffff!important;border-color:#777B46!important;}
.zy-btn--secondary,.zy-nav-contact,.zy-cart-button{background:#ffffff!important;color:#000000!important;border:1px solid rgba(119,123,70,.38)!important;}
.zy-mega{background:#ffffff!important;border-color:rgba(119,123,70,.28)!important;box-shadow:0 24px 70px rgba(0,0,0,.08)!important;}
.zy-mega__item strong,.zy-mega__item span{color:#000000!important;}.zy-mega__item:hover{background:rgba(119,123,70,.08)!important;}
.zy-mobile-menu{background:#ffffff!important;border-bottom:1px solid rgba(119,123,70,.2)!important}.zy-mobile-menu a{color:#000000!important;border-bottom-color:rgba(119,123,70,.18)!important}.zy-mobile-toggle span{background:#000000!important}
.zy-logo__image{width:118px!important;height:auto}.zy-footer .zy-logo__image{width:132px!important}
.zy-hero{height:100vh;height:100svh;min-height:690px;overflow:hidden;display:flex;align-items:center;padding-top:80px;color:#000000!important;}
@supports (height:100dvh){.zy-hero{height:100dvh}}
.zy-hero__gradient{background:radial-gradient(circle at var(--zy-mx,72%) var(--zy-my,28%),rgba(119,123,70,.12),transparent 34%),radial-gradient(circle at 12% 86%,rgba(0,0,0,.04),transparent 28%)!important;}
.zy-hero__grid{background-image:linear-gradient(rgba(119,123,70,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.10) 1px,transparent 1px)!important;background-size:58px 58px;mask-image:linear-gradient(to bottom,transparent 0,black 8%,black 92%,transparent 100%)}
.zy-hero__canvas{opacity:.42!important;mix-blend-mode:multiply}
.zy-hero__inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:clamp(42px,5vw,90px);width:100%;height:100%;padding-top:clamp(40px,6vh,86px);padding-bottom:clamp(26px,5vh,56px)}
.zy-hero__copy{max-width:min(730px,55vw)}
.zy-hero h1{color:#000000!important;font-size:clamp(3.1rem,5.05vw,5.4rem);line-height:.95;letter-spacing:-.04em;margin:0 0 22px;font-weight:800;}
.zy-hero h1 span{color:#777B46!important}.zy-hero p:not(.zy-pill){color:#000000!important;max-width:560px;font-size:clamp(.95rem,1.08vw,1.12rem);line-height:1.68}.zy-pill{background:#ffffff!important;color:#777B46!important;border:1px solid rgba(119,123,70,.42)!important;box-shadow:0 12px 34px rgba(0,0,0,.04)}.zy-pill span{background:#777B46!important}.zy-scroll-indicator{display:none!important}
.zy-olive-experience{display:none!important}
.zy-olive-stage{position:relative;flex:0 0 min(42vw,590px);height:min(70vh,620px);min-height:440px;isolation:isolate;--olive-x:0px;--olive-y:0px;--olive-split:0px;--olive-scale:1;}
.zy-olive-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.45;}
.zy-olive-kinetic{position:absolute;inset:0;z-index:2;transform:translate3d(calc(var(--olive-x)*.07),calc(var(--olive-y)*.07),0) scale(var(--olive-scale));transition:transform .14s ease-out;}
.zy-olive-fruit{position:absolute;left:50%;top:50%;background:#777B46;border-radius:58% 42% 54% 46% / 46% 56% 44% 54%;transform-origin:center;box-shadow:inset -28px -34px 0 rgba(0,0,0,.10),inset 20px 24px 0 rgba(255,255,255,.16),0 38px 90px rgba(0,0,0,.13)}
.zy-olive-fruit--main{width:52%;height:68%;transform:translate(-50%,-45%) rotate(-13deg);}
.zy-olive-fruit--slice{background:#ffffff;border:2px solid rgba(119,123,70,.55);box-shadow:none;opacity:.96;}
.zy-olive-slice-1{width:22%;height:55%;transform:translate(calc(-105% - var(--olive-split)*.82),-42%) rotate(calc(-23deg - var(--olive-x)*.025deg));}
.zy-olive-slice-2{width:17%;height:43%;transform:translate(calc(25% + var(--olive-split)*.72),-39%) rotate(calc(-9deg + var(--olive-x)*.02deg));}
.zy-olive-core{position:absolute;left:50%;top:52%;width:18%;height:25%;background:#ffffff;border:2px solid rgba(0,0,0,.18);border-radius:50%;transform:translate(calc(-50% + var(--olive-x)*.05),calc(-50% + var(--olive-y)*.05)) rotate(-12deg);box-shadow:inset 0 0 0 16px rgba(119,123,70,.11)}
.zy-olive-core:after{content:"";position:absolute;left:50%;top:50%;width:36%;height:45%;background:#777B46;border-radius:50%;transform:translate(-50%,-50%);}
.zy-olive-leaf-main{position:absolute;left:56%;top:8%;width:26%;height:12%;background:#777B46;border-radius:0 90% 0 90%;transform-origin:left bottom;transform:translate3d(calc(var(--olive-x)*.08),calc(var(--olive-y)*-.08),0) rotate(calc(-28deg + var(--olive-x)*.035deg));box-shadow:inset -18px -12px 0 rgba(0,0,0,.08)}
.zy-olive-stem{position:absolute;left:53%;top:19%;width:2px;height:15%;background:#000000;opacity:.28;transform:rotate(22deg)}
.zy-olive-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(119,123,70,.24);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;}
.zy-olive-ring--one{width:84%;height:84%;animation:zyOliveOrbit 18s linear infinite}.zy-olive-ring--two{width:64%;height:64%;border-style:dashed;animation:zyOliveOrbit 24s linear reverse infinite}.zy-olive-shadow{position:absolute;left:50%;bottom:9%;width:46%;height:8%;background:radial-gradient(ellipse,rgba(0,0,0,.18),transparent 70%);transform:translateX(-50%);filter:blur(8px)}
@keyframes zyOliveOrbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.zy-section h2,.zy-section h3,.zy-page h1,.zy-footer h5{color:#000000!important}.zy-section h2 span,.zy-eyebrow,.zy-eyebrow--gold,.zy-tags span,.zy-rating,.zy-text-link{color:#777B46!important}.zy-lead,.zy-lead--light,.zy-section p,.zy-footer p,.zy-footer li,.zy-footer a,.zy-contact-info span,.zy-blog-card p,.zy-case-card p{color:#000000!important}.zy-service-card,.zy-reason-card,.zy-case-card,.zy-product-card,.zy-quote,.zy-testimonial-selector button,.zy-contact-form,.zy-faq-item,.zy-leed-card,.zy-baseline,.zy-step__card,.zy-compare-table{background:#ffffff!important;border-color:rgba(119,123,70,.22)!important;color:#000000!important;box-shadow:0 18px 54px rgba(0,0,0,.05)!important;}
.zy-smart svg,.zy-building__svg{stroke:#777B46!important}.zy-sensor-row,.zy-status-bar,.zy-baseline__metric i,.zy-credit i,.zy-metric i{background:#777B46!important}.zy-sensor-row{background:#ffffff!important;border:1px solid rgba(119,123,70,.22)!important}.zy-sensor-row strong,.zy-sensor-row small,.zy-sensor-row em,.zy-building__label,.zy-building__status,.zy-step__card h3,.zy-step__card p,.zy-step__card small,.zy-step__card em{color:#000000!important}.zy-building{background:#ffffff!important;border-color:rgba(119,123,70,.22)!important}.zy-building__label,.zy-building__status{background:#ffffff!important;border:1px solid rgba(119,123,70,.22)!important;color:#777B46!important}
.zy-product-device,.zy-project-visual,.zy-blog-visual,.zy-image-slot__visual,.zy-video-frame{background:#ffffff!important;border:1px solid rgba(119,123,70,.22)!important}.zy-product-device:before,.zy-project-visual:before,.zy-blog-visual:before,.zy-image-slot__visual:before{background:radial-gradient(circle,rgba(119,123,70,.18),transparent 64%)!important}.zy-video-play{background:#777B46!important;color:#ffffff!important;border-color:#777B46!important}.zy-video-copy,.zy-image-slot__label{background:#ffffff!important;color:#000000!important;border:1px solid rgba(119,123,70,.22)!important}
.zy-footer{border-top:1px solid rgba(119,123,70,.24)!important}.zy-footer__bottom{border-top-color:rgba(119,123,70,.2)!important}.zy-social a{background:#ffffff!important;border:1px solid rgba(119,123,70,.28)!important;color:#000000!important}.zy-social a:hover{color:#777B46!important}.zy-footer__col a:hover,.zy-legal a:hover{color:#777B46!important}
.zy-motion-canvas,.zy-orbit-stack{opacity:.28!important}.zy-mouse-glow{background:radial-gradient(circle,rgba(119,123,70,.12),transparent 62%)!important}
@media (min-width:1025px) and (max-height:860px){.zy-hero h1{font-size:clamp(2.9rem,4.35vw,4.65rem)}.zy-olive-stage{height:min(62vh,520px);min-height:400px}.zy-hero__inner{padding-top:70px;padding-bottom:26px}}
@media (max-width:1024px){.zy-hero{height:auto;min-height:100svh;padding-top:90px}.zy-hero__inner{display:grid;height:auto;padding-top:54px;padding-bottom:56px}.zy-hero__copy{max-width:100%}.zy-olive-stage{width:min(100%,560px);height:min(76vw,520px);min-height:360px;margin-inline:auto;flex-basis:auto}.zy-hero h1{font-size:clamp(2.75rem,10vw,4.6rem)}}
@media (max-width:640px){.zy-hero h1{font-size:clamp(2.45rem,13vw,3.8rem)}.zy-olive-stage{min-height:300px;height:78vw}.zy-olive-fruit--main{width:58%;height:66%}.zy-hero__actions{display:grid}.zy-btn{width:100%}}

/* =========================================================
   V11 — Full Hero WebGL-style abstract olive background
   Source of truth: strict #777B46 + #000000 + #FFFFFF only
   ========================================================= */
:root{
  --color-bg-cream:#ffffff!important;
  --color-bg-dark:#ffffff!important;
  --color-bg-hero:#ffffff!important;
  --color-white:#ffffff!important;
  --color-cream:#ffffff!important;
  --color-light:#000000!important;
  --color-text:#000000!important;
  --color-body:#000000!important;
  --color-muted:#777B46!important;
  --color-olive:#777B46!important;
  --color-sage:#777B46!important;
  --color-gold:#777B46!important;
  --color-olive-hover:#777B46!important;
  --border-light:rgba(119,123,70,.22)!important;
  --border-medium:rgba(119,123,70,.34)!important;
  --border-dark:rgba(119,123,70,.48)!important;
}
body,
body.zytona-theme,
.zy-section,
.zy-section--cream,
.zy-section--dark,
.zy-footer,
.zy-shop-page,
.zy-page{background:#ffffff!important;color:#000000!important;}
.zy-header{background:#ffffff!important;border-bottom:1px solid rgba(119,123,70,.22)!important;backdrop-filter:none!important;}
.zy-header.is-scrolled{background:#ffffff!important;backdrop-filter:blur(12px)!important;}
.zy-logo__mark{background:transparent!important;border-radius:0!important;width:auto;height:36px;}
.zy-logo__mark img{height:34px;width:auto;object-fit:contain;}
.zy-logo__text{color:#000000!important}.zy-logo__text span{color:#777B46!important}
.zy-nav__links>a,.zy-nav__item>a,.zy-nav-contact{color:#000000!important;}
.zy-nav-shop,.zy-btn--primary{background:#777B46!important;color:#ffffff!important;border:1px solid #777B46!important;}
.zy-cart-button{background:#ffffff!important;border:1px solid #777B46!important;color:#777B46!important;}
.zy-cart-button svg{width:18px;height:18px;display:block;stroke:#777B46!important;fill:none!important;}
.zy-btn--secondary{background:#ffffff!important;color:#000000!important;border:1px solid #000000!important;}
.zy-mobile-toggle span{background:#000000!important}
.zy-mobile-menu{background:#ffffff!important;border-bottom:1px solid #777B46!important}.zy-mobile-menu a{color:#000000!important;border-bottom:1px solid rgba(119,123,70,.24)!important}

.zy-hero--webgl{
  position:relative;
  height:100vh;
  height:100svh;
  min-height:620px;
  overflow:hidden;
  display:flex;
  align-items:center;
  padding-top:80px;
  background:#ffffff!important;
  color:#000000!important;
  isolation:isolate;
}
@supports (height:100dvh){.zy-hero--webgl{height:100dvh;}}
.zy-hero__webgl{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
  display:block;
  background:#ffffff;
}
.zy-hero__field{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.94) 19%,rgba(255,255,255,.62) 42%,rgba(255,255,255,.12) 100%),
    linear-gradient(rgba(119,123,70,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(119,123,70,.07) 1px,transparent 1px);
  background-size:auto,64px 64px,64px 64px;
}
.zy-hero--webgl .zy-container.zy-hero__inner{
  position:relative;
  z-index:3;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding-top:clamp(32px,5vh,64px)!important;
  padding-bottom:clamp(26px,4vh,52px)!important;
}
.zy-hero--webgl .zy-hero__copy{max-width:min(700px,51vw);}
.zy-hero--webgl .zy-pill{
  background:#ffffff!important;
  color:#777B46!important;
  border:1px solid #777B46!important;
  box-shadow:none!important;
}
.zy-hero--webgl .zy-pill span{background:#777B46!important;}
.zy-hero--webgl h1{
  color:#000000!important;
  font-size:clamp(3rem,5.05vw,5.35rem)!important;
  line-height:.95!important;
  letter-spacing:-.045em!important;
  margin:0 0 22px!important;
}
.zy-hero--webgl h1 span{color:#777B46!important;}
.zy-hero--webgl p:not(.zy-pill){color:#000000!important;max-width:560px;font-size:clamp(.95rem,1.08vw,1.12rem);line-height:1.68;}
.zy-hero--webgl .zy-hero__actions{margin-top:34px;}
.zy-hero--webgl .zy-scroll-indicator,
.zy-hero--webgl .zy-hero__canvas,
.zy-hero--webgl .zy-hero__gradient,
.zy-hero--webgl .zy-hero__grid,
.zy-olive-stage,
.zy-olive-experience,
.zy-live-panel{display:none!important;}

@media (min-width:1025px) and (max-height:820px){
  .zy-hero--webgl{min-height:560px;}
  .zy-hero--webgl h1{font-size:clamp(2.65rem,4.35vw,4.65rem)!important;}
  .zy-hero--webgl .zy-pill{margin-bottom:16px;}
  .zy-hero--webgl .zy-hero__actions{margin-top:24px;}
}
@media (max-width:1024px){
  .zy-hero--webgl{height:auto;min-height:100svh;padding-top:82px;}
  .zy-hero__field{background:linear-gradient(#ffffff 0%,rgba(255,255,255,.76) 62%,rgba(255,255,255,.45) 100%),linear-gradient(rgba(119,123,70,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.07) 1px,transparent 1px);background-size:auto,54px 54px,54px 54px;}
  .zy-hero--webgl .zy-container.zy-hero__inner{height:auto;padding-top:52px!important;padding-bottom:56px!important;}
  .zy-hero--webgl .zy-hero__copy{max-width:100%;}
  .zy-hero--webgl h1{font-size:clamp(2.65rem,10vw,4.6rem)!important;}
}
@media (max-width:640px){
  .zy-hero--webgl h1{font-size:clamp(2.35rem,13vw,3.75rem)!important;}
  .zy-hero--webgl .zy-hero__actions{display:grid;}
  .zy-hero--webgl .zy-btn{width:100%;}
}


/* =========================================================
   V12 — Balanced light/dark rhythm + denser WebGL hero field
   User direction: majority light, occasional black sections,
   strict palette #777B46 / #000000 / #FFFFFF.
   ========================================================= */
:root{
  --v12-olive:#777B46;
  --v12-black:#000000;
  --v12-white:#ffffff;
}

/* keep site mostly light, but allow intentional dark breaks */
.zy-section--dark.zy-cta,
.zy-cta{
  background:#000000!important;
  color:#ffffff!important;
  overflow:hidden;
}
.zy-cta:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 20%, rgba(119,123,70,.36), transparent 34%),
    radial-gradient(circle at 20% 84%, rgba(119,123,70,.18), transparent 38%),
    linear-gradient(rgba(119,123,70,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(119,123,70,.09) 1px, transparent 1px);
  background-size:auto,auto,64px 64px,64px 64px;
  opacity:1;
  z-index:0;
}
.zy-cta:after{
  content:"";
  position:absolute;
  inset:-12% -8%;
  pointer-events:none;
  z-index:0;
  background:
    conic-gradient(from 90deg at 72% 46%, transparent 0 18%, rgba(119,123,70,.32) 18% 19.2%, transparent 19.2% 48%, rgba(119,123,70,.20) 48% 49%, transparent 49% 100%),
    radial-gradient(ellipse at 72% 48%, transparent 0 33%, rgba(119,123,70,.32) 33.4% 34.1%, transparent 34.6% 100%);
  opacity:.65;
  transform:rotate(-8deg);
}
.zy-cta__grid{background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px)!important;background-size:64px 64px!important;opacity:.9;}
.zy-cta__scan{background:linear-gradient(90deg,transparent,#777B46,transparent)!important;opacity:.85;}
.zy-cta__content{position:relative;z-index:2;}
.zy-cta .zy-eyebrow,
.zy-cta .zy-eyebrow--gold{color:#777B46!important;}
.zy-cta h2,
.zy-cta h2 span,
.zy-cta p,
.zy-cta__stats span{color:#ffffff!important;}
.zy-cta h2 span,
.zy-cta__stats strong{color:#777B46!important;}
.zy-cta .zy-btn--primary{background:#777B46!important;color:#ffffff!important;border-color:#777B46!important;}
.zy-cta .zy-btn--secondary{background:#000000!important;color:#ffffff!important;border:1px solid #ffffff!important;}
.zy-cta .zy-btn--secondary:hover{background:#ffffff!important;color:#000000!important;}
.zy-cta__stats{border-top:1px solid rgba(255,255,255,.18)!important;}

/* Denser but still readable WebGL hero */
.zy-hero--webgl{
  background:#ffffff!important;
}
.zy-hero__webgl{opacity:1!important;}
.zy-hero__field{
  background:
    linear-gradient(90deg,#ffffff 0%,rgba(255,255,255,.90) 24%,rgba(255,255,255,.38) 47%,rgba(255,255,255,.05) 100%),
    radial-gradient(circle at 74% 46%, rgba(119,123,70,.11), transparent 38%),
    linear-gradient(rgba(119,123,70,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(119,123,70,.075) 1px,transparent 1px)!important;
  background-size:auto,auto,58px 58px,58px 58px!important;
}
.zy-hero--webgl .zy-container.zy-hero__inner{z-index:4;}
.zy-hero--webgl .zy-hero__copy{
  position:relative;
  z-index:5;
}
/* Soft white veil behind text only, to allow richer background without killing readability */
.zy-hero--webgl .zy-hero__copy:before{
  content:"";
  position:absolute;
  inset:-28px -34px -28px -34px;
  z-index:-1;
  background:linear-gradient(90deg, rgba(255,255,255,.96), rgba(255,255,255,.82) 68%, rgba(255,255,255,0));
  border-radius:28px;
  pointer-events:none;
}
@media (max-width:1024px){
  .zy-hero--webgl .zy-hero__copy:before{inset:-20px;background:rgba(255,255,255,.88);}
}

/* Make sure intentional non-CTA dark sections can remain black if needed later */
.zy-section.zy-section--dark.zy-cta *{border-color:inherit;}

/* =========================================================
   V13 — Approved initial direction
   Invisible Intelligence for Smarter Buildings
   Smart-building airflow + IoT data + HVAC performance field.
   Strict palette: #777B46 / #000000 / #FFFFFF.
   ========================================================= */
.zy-hero--final{
  position:relative!important;
  min-height:100vh!important;
  min-height:100svh!important;
  height:100vh!important;
  height:100svh!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  padding-top:80px!important;
  background:#FFFFFF!important;
  color:#000000!important;
  isolation:isolate!important;
}
@supports (height:100dvh){.zy-hero--final{height:100dvh!important;}}
.zy-hero__intelligence-canvas{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  pointer-events:none!important;
  background:#FFFFFF!important;
}
.zy-hero__final-field{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,1) 0%,rgba(255,255,255,.98) 24%,rgba(255,255,255,.86) 43%,rgba(255,255,255,.32) 64%,rgba(255,255,255,.05) 100%),
    linear-gradient(rgba(119,123,70,.11) 1px,transparent 1px),
    linear-gradient(90deg,rgba(119,123,70,.11) 1px,transparent 1px)!important;
  background-size:auto,86px 86px,86px 86px!important;
  opacity:1!important;
}
.zy-hero--final .zy-container.zy-hero__inner{
  position:relative!important;
  z-index:3!important;
  width:100%!important;
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding-top:clamp(32px,5vh,76px)!important;
  padding-bottom:clamp(26px,4vh,52px)!important;
}
.zy-hero--final .zy-hero__copy{
  max-width:min(690px,48vw)!important;
  position:relative!important;
  z-index:5!important;
}
.zy-hero--final .zy-hero__copy:before{
  content:"";
  position:absolute;
  inset:-32px -42px -30px -42px;
  z-index:-1;
  background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.86) 70%,rgba(255,255,255,0));
  border-radius:30px;
  pointer-events:none;
}
.zy-hero--final .zy-pill{
  background:rgba(255,255,255,.78)!important;
  color:#777B46!important;
  border:1px solid #777B46!important;
  box-shadow:none!important;
}
.zy-hero--final .zy-pill span{background:#777B46!important;}
.zy-hero--final h1{
  color:#000000!important;
  font-size:clamp(3.35rem,5.65vw,6.25rem)!important;
  line-height:.93!important;
  letter-spacing:-.075em!important;
  font-weight:950!important;
  margin:0 0 24px!important;
  max-width:820px!important;
}
.zy-hero--final h1 span{color:#777B46!important;}
.zy-hero--final p:not(.zy-pill){
  color:#000000!important;
  max-width:620px!important;
  font-size:clamp(1rem,1.08vw,1.22rem)!important;
  line-height:1.58!important;
  font-weight:500!important;
}
.zy-hero--final .zy-hero__actions{margin-top:38px!important;display:flex;gap:18px;align-items:center;}
.zy-hero--final .zy-scroll-indicator,
.zy-hero--final .zy-hero__canvas,
.zy-hero--final .zy-hero__gradient,
.zy-hero--final .zy-hero__grid,
.zy-hero--final .zy-hero__webgl,
.zy-hero--final .zy-olive-stage,
.zy-hero--final .zy-olive-experience,
.zy-hero--final .zy-live-panel{display:none!important;}
.zy-hero__metrics{
  position:absolute;
  right:36px;
  bottom:34px;
  z-index:4;
  display:flex;
  gap:12px;
  pointer-events:none;
}
.zy-hero__metrics div{
  width:168px;
  min-height:92px;
  padding:18px;
  border:1px solid rgba(119,123,70,.38);
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(18px);
  border-radius:22px;
}
.zy-hero__metrics strong{
  display:block;
  font-size:28px;
  line-height:1;
  color:#777B46!important;
  letter-spacing:-.04em;
}
.zy-hero__metrics span{
  display:block;
  margin-top:8px;
  font-size:12px;
  line-height:1.25;
  text-transform:uppercase;
  letter-spacing:.10em;
  color:#000000!important;
  font-weight:900;
}

.zy-cta--final{
  position:relative!important;
  overflow:hidden!important;
  background:#000000!important;
  color:#FFFFFF!important;
  min-height:430px!important;
  padding:0!important;
}
.zy-cta--final:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,rgba(0,0,0,.96),rgba(0,0,0,.82),rgba(0,0,0,.55))!important;
  opacity:1!important;
}
.zy-cta--final:after{display:none!important;}
.zy-cta--final .zy-motion-canvas,
.zy-cta--final .zy-cta__grid,
.zy-cta--final .zy-cta__scan{display:none!important;}
.zy-cta__canvas{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
  opacity:.86!important;
  pointer-events:none!important;
}
.zy-cta--final .zy-container.zy-cta__layout{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  display:grid!important;
  grid-template-columns:1.05fr .95fr!important;
  gap:70px!important;
  align-items:center!important;
  padding-top:84px!important;
  padding-bottom:84px!important;
}
.zy-cta--final .zy-cta__content{position:relative!important;z-index:2!important;}
.zy-cta--final .zy-eyebrow,
.zy-cta--final .zy-eyebrow--gold{color:#777B46!important;}
.zy-cta--final h2{
  margin:20px 0 0!important;
  color:#FFFFFF!important;
  font-size:clamp(2.65rem,4vw,4.75rem)!important;
  line-height:.96!important;
  letter-spacing:-.065em!important;
  font-weight:950!important;
}
.zy-cta--final h2 span{color:#777B46!important;}
.zy-cta--final p{color:#FFFFFF!important;max-width:620px!important;font-size:1.18rem!important;line-height:1.55!important;}
.zy-cta--final .zy-cta__buttons{margin-top:32px!important;display:flex!important;}
.zy-cta__cards{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
}
.zy-cta-card{
  min-height:170px;
  border:1px solid rgba(119,123,70,.6)!important;
  border-radius:24px;
  padding:24px;
  background:rgba(255,255,255,.03)!important;
  color:#FFFFFF!important;
}
.zy-cta-card i{
  width:42px;
  height:42px;
  display:block;
  border-radius:50%;
  border:2px solid #777B46!important;
  margin-bottom:28px;
}
.zy-cta-card strong{
  display:block;
  color:#FFFFFF!important;
  font-size:18px;
  line-height:1.15;
}
.zy-cta-card span{
  display:block;
  margin-top:10px;
  color:#FFFFFF!important;
  font-size:13px;
  line-height:1.4;
  opacity:.78;
}
@media (min-width:1025px) and (max-height:820px){
  .zy-hero--final{min-height:640px!important;}
  .zy-hero--final h1{font-size:clamp(3rem,4.85vw,5.25rem)!important;}
  .zy-hero--final .zy-pill{margin-bottom:16px!important;}
  .zy-hero--final .zy-hero__actions{margin-top:24px!important;}
}
@media (max-width:1200px){
  .zy-hero__metrics{display:none!important;}
  .zy-cta__cards{grid-template-columns:1fr!important;}
}
@media (max-width:1024px){
  .zy-hero--final{height:auto!important;min-height:100svh!important;padding-top:82px!important;}
  .zy-hero__final-field{background:rgba(255,255,255,.78)!important;}
  .zy-hero--final .zy-container.zy-hero__inner{height:auto!important;padding-top:52px!important;padding-bottom:56px!important;}
  .zy-hero--final .zy-hero__copy{max-width:100%!important;}
  .zy-hero--final .zy-hero__copy:before{inset:-20px;background:rgba(255,255,255,.88);}
  .zy-hero--final h1{font-size:clamp(2.75rem,10vw,4.7rem)!important;}
  .zy-cta--final .zy-container.zy-cta__layout{grid-template-columns:1fr!important;gap:38px!important;}
}
@media (max-width:640px){
  .zy-hero--final h1{font-size:clamp(2.45rem,13vw,3.85rem)!important;}
  .zy-hero--final .zy-hero__actions{display:grid!important;}
  .zy-hero--final .zy-btn{width:100%!important;}
}


/* =========================================================
   V14 — Content polish, branded card rhythm, comparison icons
   - Final-looking demo copy, no user-facing implementation notes.
   - More visible use of #777B46 across cards.
   - Comparison icons are vertically centered filled badges.
   ========================================================= */

/* Comparison table icon fix */
.zy-compare-table table{border-collapse:collapse!important;}
.zy-compare-table th,
.zy-compare-table td{
  vertical-align:middle!important;
}
.zy-compare-table td:not(:first-child),
.zy-compare-table th:not(:first-child){
  text-align:center!important;
}
.zy-compare-icon,
.zy-compare-table .yes,
.zy-compare-table .no,
.zy-compare-table .part{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  vertical-align:middle!important;
  line-height:1!important;
  font-size:18px!important;
  font-weight:950!important;
  border:0!important;
  box-shadow:none!important;
  transform:none!important;
}
.zy-compare-icon.is-yes,
.zy-compare-table .yes{
  background:#777B46!important;
  color:#FFFFFF!important;
}
.zy-compare-icon.is-no,
.zy-compare-icon.is-neutral,
.zy-compare-table .no,
.zy-compare-table .part{
  background:#000000!important;
  color:#FFFFFF!important;
}

/* More brand presence on the major content cards */
.zy-service-card,
.zy-reason-card,
.zy-step__card{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
  box-shadow:0 22px 64px rgba(0,0,0,.08)!important;
}
.zy-service-card h3,
.zy-reason-card h3,
.zy-step__card h3,
.zy-service-card p,
.zy-reason-card p,
.zy-step__card p{
  color:#FFFFFF!important;
}
.zy-service-card__num,
.zy-service-card__icon,
.zy-reason-card div small,
.zy-step__card em{
  color:#FFFFFF!important;
}
.zy-service-card__icon,
.zy-reason-card div span,
.zy-step__rail span{
  background:#FFFFFF!important;
  color:#777B46!important;
  border-color:#FFFFFF!important;
}
.zy-service-card:before{background:#FFFFFF!important;}
.zy-tags span,
.zy-service-card .zy-tags span,
.zy-step__card .zy-tags span{
  background:#FFFFFF!important;
  color:#777B46!important;
  border-color:#FFFFFF!important;
}
.zy-service-card:hover,
.zy-reason-card:hover,
.zy-step__card:hover{
  background:#000000!important;
  border-color:#000000!important;
  transform:translateY(-4px);
}
.zy-service-card:hover h3,
.zy-reason-card:hover h3,
.zy-step__card:hover h3,
.zy-service-card:hover p,
.zy-reason-card:hover p,
.zy-step__card:hover p{
  color:#FFFFFF!important;
}

/* Keep content-rich cards white where readability/product structure matters, but add stronger brand accents */
.zy-product-card,
.zy-case-card,
.zy-blog-card,
.zy-quote,
.zy-faq-item,
.zy-contact-form,
.zy-leed-card,
.zy-baseline{
  border-color:rgba(119,123,70,.34)!important;
}
.zy-product-card__image span,
.zy-case-card em,
.zy-certifications span,
.zy-cert-card span{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}

/* Project visuals: final content feel, branded captions */
.zy-media-intro{
  max-width:520px!important;
  color:#000000!important;
  font-weight:500!important;
}
.zy-image-slot{
  border-color:rgba(119,123,70,.42)!important;
  box-shadow:0 20px 64px rgba(0,0,0,.07)!important;
}
.zy-image-slot__visual{
  background:
    radial-gradient(circle at 76% 24%, rgba(119,123,70,.22), transparent 24%),
    linear-gradient(135deg,#FFFFFF,rgba(119,123,70,.16))!important;
}
.zy-image-slot figcaption{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}
.zy-image-slot strong,
.zy-image-slot small{
  color:#FFFFFF!important;
}
.zy-image-slot small{opacity:.88!important;}

/* Video area should read like a real brand/engineering story, not a placeholder */
.zy-video-copy{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}
.zy-video-copy small,
.zy-video-copy strong,
.zy-video-copy span{
  color:#FFFFFF!important;
}
.zy-video-frame{
  background:#FFFFFF!important;
  border-color:#777B46!important;
}

/* Slightly stronger olive rhythm across light sections */
.zy-section--cream,
.zy-media-showcase,
.zy-video-band{
  background:#FFFFFF!important;
}
.zy-section-head-row,
.zy-section-heading{
  position:relative;
}
.zy-section-head-row:before,
.zy-section-heading:before{
  content:"";
  position:absolute;
  left:0;
  top:-18px;
  width:72px;
  height:4px;
  border-radius:999px;
  background:#777B46;
  opacity:.95;
}

/* =========================================================
   V15 — Final polish requested by client
   - Fix invisible white-on-white labels on olive/dark cards and hover.
   - Add gutters/padding to Engineering Intelligence cards.
   - Replace star marks with animated discipline icons.
   - Use real visual assets in gallery/cases/blog.
   - Hide gallery captions until hover/touch.
   - Use YouTube thumbnail/video.
   - Animate LEED progress bars when reached, over 2s.
   ========================================================= */

/* Text logo spelling requested: zytona, no accent/capital styling. */
.zy-logo--text{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  color:#777B46!important;
  text-decoration:none!important;
  line-height:.82!important;
}
.zy-logo--text .zy-logo__word{
  display:block!important;
  color:#777B46!important;
  font-size:clamp(1.7rem,2.6vw,2.55rem)!important;
  font-weight:950!important;
  letter-spacing:-.075em!important;
  text-transform:lowercase!important;
}
.zy-logo--text small{
  display:block!important;
  color:#777B46!important;
  font:800 .54rem/1 var(--font-main)!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}

/* Engineering Intelligence spacing — no more stuck-together blocks. */
.zy-services .zy-section-heading{
  margin-bottom:42px!important;
}
.zy-services-grid{
  border:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:26px!important;
}
.zy-service-card{
  border-radius:24px!important;
  padding:34px!important;
  min-height:330px!important;
  border:1px solid rgba(119,123,70,.55)!important;
}
.zy-service-card:hover{
  background:#000000!important;
  border-color:#000000!important;
}
.zy-service-card__top{
  margin-bottom:44px!important;
}
.zy-service-card__icon{
  width:50px!important;
  height:50px!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#FFFFFF!important;
  color:#777B46!important;
  overflow:hidden!important;
}
.zy-service-card__icon svg{
  width:30px!important;
  height:30px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:2.4!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.zy-service-card__icon--hvac svg{animation:zyV15IconSpin 7s linear infinite;transform-origin:center;}
.zy-service-card__icon--iot svg circle{animation:zyV15IconPulse 2.2s ease-in-out infinite;transform-origin:center;}
.zy-service-card__icon--iaq svg path{animation:zyV15IconFlow 3.2s ease-in-out infinite;}
.zy-service-card__icon--energy svg{animation:zyV15IconEnergy 2.4s ease-in-out infinite;}
.zy-service-card__icon--tab svg{animation:zyV15IconNeedle 2.8s ease-in-out infinite;}
.zy-service-card__icon--controls svg circle{animation:zyV15IconPulse 2.5s ease-in-out infinite;}
@keyframes zyV15IconSpin{to{transform:rotate(360deg)}}
@keyframes zyV15IconPulse{50%{opacity:.42;transform:scale(.88)}}
@keyframes zyV15IconFlow{50%{transform:translateX(2px);opacity:.58}}
@keyframes zyV15IconEnergy{50%{transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(119,123,70,.55))}}
@keyframes zyV15IconNeedle{50%{transform:rotate(-5deg)}}

/* Fix invisible tags/text on olive cards and hover states. */
.zy-service-card .zy-tags span,
.zy-service-card:hover .zy-tags span,
.zy-step__card em,
.zy-step__card:hover em,
.zy-step__card small,
.zy-step__card:hover small,
.zy-reason-card div span,
.zy-reason-card:hover div span{
  background:#FFFFFF!important;
  color:#777B46!important;
  border-color:#FFFFFF!important;
  opacity:1!important;
  visibility:visible!important;
}
.zy-step__card small{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  font-weight:850!important;
}
.zy-step__card em{
  min-height:26px!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  margin-top:10px!important;
}
.zy-service-card h3,
.zy-service-card p,
.zy-service-card__num,
.zy-service-card:hover h3,
.zy-service-card:hover p,
.zy-service-card:hover .zy-service-card__num,
.zy-step__card h3,
.zy-step__card p,
.zy-step__card:hover h3,
.zy-step__card:hover p{
  color:#FFFFFF!important;
}

/* Case/blog/gallery visuals now use image assets, not empty shape spaces. */
.zy-image-slot__visual,
.zy-case-card__image,
.zy-blog-card__image{
  background:#FFFFFF!important;
  border:1px solid rgba(119,123,70,.22)!important;
}
.zy-image-slot__visual img,
.zy-case-card__image img,
.zy-blog-card__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transform:scale(1.02)!important;
  transition:transform .55s ease,filter .55s ease!important;
}
.zy-image-slot__visual:before,
.zy-image-slot__visual span,
.zy-image-slot__visual i,
.zy-image-slot__visual b{
  display:none!important;
}
.zy-image-slot:hover .zy-image-slot__visual img,
.zy-image-slot:active .zy-image-slot__visual img,
.zy-image-slot:focus .zy-image-slot__visual img,
.zy-case-card:hover .zy-case-card__image img,
.zy-blog-card:hover .zy-blog-card__image img{
  transform:scale(1.075)!important;
  filter:contrast(1.04) saturate(1.03)!important;
}

/* Engineering You Can See and Measure — captions appear only on hover/touch/focus. */
.zy-image-slot figcaption{
  opacity:0!important;
  transform:translateY(18px)!important;
  pointer-events:none!important;
  background:#000000!important;
  color:#FFFFFF!important;
  border-color:#000000!important;
  transition:opacity .28s ease,transform .28s ease!important;
}
.zy-image-slot:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 58%);
  opacity:0;
  transition:opacity .28s ease;
  pointer-events:none;
}
.zy-image-slot:hover:before,
.zy-image-slot:active:before,
.zy-image-slot:focus:before,
.zy-image-slot:hover figcaption,
.zy-image-slot:active figcaption,
.zy-image-slot:focus figcaption{
  opacity:1!important;
  transform:translateY(0)!important;
}
.zy-image-slot figcaption{z-index:3!important;}
.zy-image-slot strong,
.zy-image-slot small{
  color:#FFFFFF!important;
}

/* Filled final images for case studies and blog cards. */
.zy-case-card__image,
.zy-blog-card__image{
  position:relative!important;
  overflow:hidden!important;
  min-height:260px!important;
}
.zy-case-card__image > span{
  background:#777B46!important;
  color:#FFFFFF!important;
  border:0!important;
}
.zy-case-card__image > a{
  background:#FFFFFF!important;
  color:#777B46!important;
}

/* YouTube feature with requested video thumbnail. */
.zy-video-frame--youtube{
  background-image:var(--video-thumb)!important;
  background-size:cover!important;
  background-position:center!important;
  border-color:#777B46!important;
}
.zy-video-frame--youtube:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.38),rgba(0,0,0,.12))!important;
  z-index:1!important;
}
.zy-video-frame__poster{position:absolute;inset:0;background:transparent;z-index:0;}
.zy-video-frame--youtube iframe{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  z-index:5!important;
  background:#000000!important;
}
.zy-video-frame--youtube .zy-video-play,
.zy-video-frame--youtube .zy-video-copy{
  z-index:3!important;
}
.zy-video-frame--youtube.is-playing .zy-video-play,
.zy-video-frame--youtube.is-playing .zy-video-copy{
  display:none!important;
}
.zy-video-frame--youtube .zy-video-copy{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}

/* LEED bars fill only when the section is reached; 2 seconds. */
.zy-leed-card .zy-credit i:before{
  width:0!important;
  transition:width 2s cubic-bezier(.16,1,.3,1)!important;
}
.zy-leed-card.is-progress-visible .zy-credit i:before{
  width:var(--w)!important;
}
.zy-leed-card__head strong{
  color:#777B46!important;
}
.zy-credit span,
.zy-credit em,
.zy-credit b{
  color:#000000!important;
}

@media (max-width:1180px){
  .zy-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:680px){
  .zy-services-grid{grid-template-columns:1fr!important;}
  .zy-service-card{min-height:auto!important;padding:28px!important;}
}
.zy-product-card__image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .45s ease,filter .45s ease!important;
}
.zy-product-card:hover .zy-product-card__image img{
  transform:scale(1.06)!important;
  filter:contrast(1.05) saturate(1.03)!important;
}


/* =========================================================
   V16 — targeted fix after review
   - Restore visible logo and stable nav/cart/contact hover states.
   - Use Bootstrap Icons library for service icons; remove custom animations.
   - Real photo rendering for galleries/cases/blog/products.
   - YouTube click toggles play/pause with controls hidden.
   - LEED bars fill on viewport entry over exactly 2s.
   ========================================================= */
.zy-header,
.zy-header.is-scrolled{
  height:88px!important;
  background:#FFFFFF!important;
  border-bottom:1px solid rgba(119,123,70,.22)!important;
  backdrop-filter:none!important;
  overflow:visible!important;
  z-index:999!important;
}
.zy-nav{
  height:88px!important;
  overflow:visible!important;
  align-items:center!important;
}
.zy-logo.zy-logo--text{
  min-width:170px!important;
  display:inline-flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:3px!important;
  line-height:1!important;
  overflow:visible!important;
  color:#777B46!important;
  transform:none!important;
  padding:0!important;
}
.zy-logo.zy-logo--text .zy-logo__word{
  display:block!important;
  font-size:34px!important;
  line-height:.88!important;
  font-weight:950!important;
  letter-spacing:-.075em!important;
  color:#777B46!important;
  text-transform:lowercase!important;
}
.zy-logo.zy-logo--text small{
  display:block!important;
  margin-top:4px!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.17em!important;
  color:#777B46!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
.zy-nav-contact,
.zy-cart-button,
.zy-nav-shop{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.zy-nav-contact{
  min-height:44px!important;
  padding:0 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
  color:#000000!important;
  border:1.5px solid #000000!important;
  font-weight:850!important;
  text-decoration:none!important;
}
.zy-nav-contact:hover,
.zy-nav-contact:focus,
.zy-nav-contact:active{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}
.zy-cart-button{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:14px!important;
  background:#FFFFFF!important;
  color:#000000!important;
  border:1.5px solid #000000!important;
  padding:0!important;
}
.zy-cart-button:hover,
.zy-cart-button:focus,
.zy-cart-button:active{
  background:#777B46!important;
  color:#FFFFFF!important;
  border-color:#777B46!important;
}
.zy-cart-icon{
  display:block!important;
  width:20px!important;
  height:20px!important;
  color:currentColor!important;
  stroke:currentColor!important;
  opacity:1!important;
  visibility:visible!important;
}
.zy-cart-button svg path{stroke:currentColor!important;fill:none!important;opacity:1!important;visibility:visible!important;}
.zy-cart-button svg circle{fill:currentColor!important;opacity:1!important;visibility:visible!important;}
.zy-nav-shop:hover,
.zy-nav-shop:focus,
.zy-nav-shop:active{
  background:#000000!important;
  color:#FFFFFF!important;
  border-color:#000000!important;
}

/* Service cards spacing and library icons */
.zy-services .zy-section-heading{margin-bottom:54px!important;}
.zy-services-grid{
  gap:30px!important;
  border:0!important;
  padding:0!important;
}
.zy-service-card{
  min-height:330px!important;
  padding:38px!important;
  border-radius:26px!important;
  background:#777B46!important;
  color:#FFFFFF!important;
  border:1px solid #777B46!important;
}
.zy-service-card:hover{
  background:#000000!important;
  border-color:#000000!important;
  transform:translateY(-4px)!important;
}
.zy-service-card h3,
.zy-service-card p,
.zy-service-card__num,
.zy-service-card:hover h3,
.zy-service-card:hover p,
.zy-service-card:hover .zy-service-card__num{
  color:#FFFFFF!important;
}
.zy-service-card__top{margin-bottom:42px!important;}
.zy-service-card__icon{
  width:52px!important;
  height:52px!important;
  border-radius:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#FFFFFF!important;
  color:#777B46!important;
  border:0!important;
}
.zy-service-card__icon i.bi{
  display:block!important;
  font-size:25px!important;
  line-height:1!important;
  color:#777B46!important;
}
.zy-service-card__icon svg{display:none!important;}
.zy-service-card__icon,
.zy-service-card__icon *,
.zy-service-card__icon--hvac svg,
.zy-service-card__icon--iot svg circle,
.zy-service-card__icon--iaq svg path,
.zy-service-card__icon--energy svg,
.zy-service-card__icon--tab svg,
.zy-service-card__icon--controls svg{
  animation:none!important;
  transform:none!important;
}
.zy-service-card .zy-tags span,
.zy-service-card:hover .zy-tags span{
  background:#FFFFFF!important;
  color:#777B46!important;
  border-color:#FFFFFF!important;
}

/* Real images: remove invented CSS drawings completely wherever an img exists. */
.zy-image-slot__visual,
.zy-case-card__image,
.zy-blog-card__image,
.zy-product-card__image{
  background:#FFFFFF!important;
  overflow:hidden!important;
  border:1px solid rgba(119,123,70,.28)!important;
}
.zy-image-slot__visual:before,
.zy-image-slot__visual:after,
.zy-image-slot__visual span,
.zy-image-slot__visual i,
.zy-image-slot__visual b,
.zy-case-card__image:before,
.zy-case-card__image:after,
.zy-blog-card__image:before,
.zy-blog-card__image:after,
.zy-product-card__image:before,
.zy-product-card__image:after,
.zy-product-device,
.zy-project-visual,
.zy-blog-visual{
  display:none!important;
  content:none!important;
}
.zy-image-slot__visual img,
.zy-case-card__image img,
.zy-blog-card__image img,
.zy-product-card__image img,
.zy-product-card__image .attachment-woocommerce_thumbnail{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  filter:grayscale(.08) contrast(1.05) saturate(.85)!important;
}
.zy-image-slot:hover .zy-image-slot__visual img,
.zy-image-slot:focus .zy-image-slot__visual img,
.zy-image-slot:active .zy-image-slot__visual img,
.zy-case-card:hover .zy-case-card__image img,
.zy-blog-card:hover .zy-blog-card__image img,
.zy-product-card:hover .zy-product-card__image img{
  filter:grayscale(0) contrast(1.06) saturate(.95)!important;
  transform:scale(1.055)!important;
}
.zy-image-slot figcaption{
  opacity:0!important;
  transform:translateY(16px)!important;
  pointer-events:none!important;
  background:#000000!important;
  color:#FFFFFF!important;
  border-color:#000000!important;
}
.zy-image-slot:hover figcaption,
.zy-image-slot:focus figcaption,
.zy-image-slot:active figcaption{
  opacity:1!important;
  transform:translateY(0)!important;
}
.zy-image-slot figcaption strong,
.zy-image-slot figcaption small{color:#FFFFFF!important;}

/* Video: one-click play; click again pauses/plays, no YouTube controls. */
.zy-video-frame--youtube{
  cursor:pointer!important;
  background-image:var(--video-thumb)!important;
  background-size:cover!important;
  background-position:center!important;
}
.zy-video-frame--youtube iframe{z-index:3!important;}
.zy-video-frame--youtube .zy-video-toggle{
  position:absolute!important;
  right:24px!important;
  bottom:24px!important;
  z-index:8!important;
  width:58px!important;
  height:58px!important;
  border-radius:999px!important;
  border:1.5px solid #FFFFFF!important;
  background:#000000!important;
  color:#FFFFFF!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:22px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.zy-video-frame--youtube.is-playing .zy-video-toggle{display:inline-flex!important;}

/* LEED progress: starts empty and fills on viewport entry in 2 seconds. */
.zy-leed-card .zy-credit i{
  overflow:hidden!important;
}
.zy-leed-card .zy-credit i:before{
  width:var(--w)!important;
  transform:scaleX(0)!important;
  transform-origin:left center!important;
  transition:transform 2s cubic-bezier(.16,1,.3,1)!important;
}
.zy-leed-card.is-progress-visible .zy-credit i:before,
.zy-leed-card.visible .zy-credit i:before{
  transform:scaleX(1)!important;
}
.zy-leed-card__head strong{color:#777B46!important;}
.zy-credit b,.zy-credit span,.zy-credit em{color:#000000!important;}

@media(max-width:1024px){
  .zy-header,.zy-header.is-scrolled,.zy-nav{height:78px!important;}
  .zy-logo.zy-logo--text .zy-logo__word{font-size:30px!important;}
  .zy-logo.zy-logo--text small{font-size:7px!important;}
}


/* V17 - restore official brand logo image in header/footer. */
.zy-logo.zy-logo--brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:auto!important;
  gap:0!important;
  line-height:0!important;
  text-decoration:none!important;
  color:transparent!important;
}
.zy-logo.zy-logo--brand .zy-logo__image{
  display:block!important;
  width:142px!important;
  max-width:142px!important;
  height:auto!important;
  max-height:48px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.zy-header .zy-logo.zy-logo--brand{
  flex:0 0 auto!important;
}
.zy-footer .zy-logo.zy-logo--brand .zy-logo__image{
  width:156px!important;
  max-width:156px!important;
  max-height:54px!important;
}
.zy-logo--brand .zy-logo__word,
.zy-logo--brand small,
.zy-logo--brand .zy-logo__text,
.zy-logo--brand .zy-logo__mark{
  display:none!important;
}
@media(max-width:700px){
  .zy-logo.zy-logo--brand .zy-logo__image{width:118px!important;max-width:118px!important;}
  .zy-footer .zy-logo.zy-logo--brand .zy-logo__image{width:132px!important;max-width:132px!important;}
}

/* =========================================================
   V18 — LEED progress bars real fix
   Bars must be empty before the section is reached. The track
   stays light, and the olive fill animates to the target width
   only after JS adds .is-progress-visible.
   ========================================================= */
.zy-leed-card[data-progress-card] .zy-credit i{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  background:rgba(119,123,70,.16)!important;
  border-radius:999px!important;
}
.zy-leed-card[data-progress-card] .zy-credit i:before{
  content:""!important;
  display:block!important;
  height:100%!important;
  width:0!important;
  max-width:100%!important;
  background:#777B46!important;
  border-radius:999px!important;
  transform:none!important;
  transform-origin:left center!important;
  transition:none!important;
}
.zy-leed-card[data-progress-card].visible:not(.is-progress-visible) .zy-credit i:before,
.zy-leed-card[data-progress-card]:not(.is-progress-visible) .zy-credit i:before{
  width:0!important;
  transform:none!important;
  transition:none!important;
}
.zy-leed-card[data-progress-card].is-progress-visible .zy-credit i:before{
  width:var(--w)!important;
  transform:none!important;
  transition:width 2s cubic-bezier(.16,1,.3,1)!important;
}


/* =========================================================
   V19 — synchronize all progress bars
   Applies to both Performance Baseline and LEED score bars.
   The track stays visible, the fill starts at 0, and JS adds
   .is-progress-visible only when each card reaches the viewport.
   ========================================================= */
[data-progress-card] .zy-baseline__metric i,
[data-progress-card] .zy-credit i{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  background:rgba(119,123,70,.15)!important;
  border-radius:999px!important;
}
[data-progress-card] .zy-baseline__metric i:before,
[data-progress-card] .zy-credit i:before{
  content:""!important;
  display:block!important;
  height:100%!important;
  width:0!important;
  max-width:100%!important;
  background:#777B46!important;
  border-radius:999px!important;
  transform:none!important;
  transform-origin:left center!important;
  transition:none!important;
}
[data-progress-card]:not(.is-progress-visible) .zy-baseline__metric i:before,
[data-progress-card]:not(.is-progress-visible) .zy-credit i:before,
[data-progress-card].visible:not(.is-progress-visible) .zy-baseline__metric i:before,
[data-progress-card].visible:not(.is-progress-visible) .zy-credit i:before{
  width:0!important;
  transition:none!important;
  transform:none!important;
}
[data-progress-card].is-progress-visible .zy-baseline__metric i:before,
[data-progress-card].is-progress-visible .zy-credit i:before{
  width:var(--w)!important;
  transition:width 2.8s cubic-bezier(.22,1,.36,1)!important;
  transform:none!important;
}


/* =========================================================
   V21 — Requested design updates
   ========================================================= */
/* Header: taller and transparent on scroll */
.zy-header{height:96px!important;background:rgba(255,255,255,.88)!important;border-bottom:1px solid rgba(119,123,70,.18)!important;backdrop-filter:blur(14px)!important;transition:height .28s ease,background .28s ease,backdrop-filter .28s ease,border-color .28s ease!important;}
.zy-header.is-scrolled{height:96px!important;background:rgba(255,255,255,.50)!important;backdrop-filter:blur(22px)!important;border-bottom-color:rgba(119,123,70,.25)!important;}
.zy-nav{height:96px!important;}
.zy-logo.zy-logo--brand .zy-logo__image{max-height:62px!important;width:auto!important;display:block!important;opacity:1!important;visibility:visible!important;}
.zy-header.is-scrolled .zy-logo__image{opacity:1!important;filter:none!important;}
.zy-nav-contact,.zy-nav-contact:hover,.zy-nav-contact:focus,.zy-nav-contact:active{color:#000!important;background:transparent!important;opacity:1!important;}
.zy-cart-button,.zy-cart-button:hover,.zy-cart-button:focus,.zy-cart-button:active{color:#777B46!important;background:rgba(119,123,70,.12)!important;border-color:rgba(119,123,70,.32)!important;opacity:1!important;}
.zy-cart-icon{display:block!important;opacity:1!important;color:currentColor!important;}

/* Hero: make the green movement more visible */
.zy-hero__final-field{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.94) 24%,rgba(255,255,255,.72) 43%,rgba(255,255,255,.22) 64%,rgba(255,255,255,.02) 100%),linear-gradient(rgba(119,123,70,.145) 1px,transparent 1px),linear-gradient(90deg,rgba(119,123,70,.145) 1px,transparent 1px)!important;background-size:auto,82px 82px,82px 82px!important;}
.zy-hero--final .zy-hero__copy:before{background:linear-gradient(90deg,rgba(255,255,255,.98),rgba(255,255,255,.83) 70%,rgba(255,255,255,0))!important;}

/* Hero title: word-by-word entrance + moving underline under Smarter */
.zy-hero-title-split{overflow:visible!important;}
.zy-title-word{display:inline-block;opacity:0;transform:translateY(34px) rotateX(28deg);filter:blur(10px);animation:zyTitleWord .72s cubic-bezier(.18,.8,.18,1) forwards;animation-delay:calc(.12s + var(--i,0) * .13s);transform-origin:left bottom;}
.zy-title-accent{position:relative;color:#777B46!important;}
.zy-title-accent:after{content:"";position:absolute;left:.03em;right:.03em;bottom:-.08em;height:.075em;background:#777B46;border-radius:999px;transform:scaleX(0);transform-origin:left center;animation:zySmarterUnderline 1.15s cubic-bezier(.18,.8,.18,1) forwards;animation-delay:calc(.58s + var(--i,0) * .13s);}
@keyframes zyTitleWord{to{opacity:1;transform:translateY(0) rotateX(0);filter:blur(0)}}
@keyframes zySmarterUnderline{0%{transform:scaleX(0);opacity:.3}55%{transform:scaleX(1.06);opacity:1}100%{transform:scaleX(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.zy-title-word{opacity:1;transform:none;filter:none;animation:none}.zy-title-accent:after{transform:scaleX(1);animation:none}}

/* New full-width autoplay video section */
.zy-cinematic-video{position:relative;min-height:68vh;overflow:hidden;background:#000;color:#fff;display:flex;align-items:center;isolation:isolate;}
.zy-cinematic-video__media{position:absolute;inset:0;z-index:0;background:#000 var(--video-poster) center/cover no-repeat;overflow:hidden;}
.zy-cinematic-video__media iframe{position:absolute;top:50%;left:50%;width:177.777vh;height:100vh;min-width:100vw;min-height:56.25vw;transform:translate(-50%,-50%);border:0;pointer-events:none;filter:saturate(.85) contrast(1.05);}
.zy-cinematic-video__overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.48) 46%,rgba(0,0,0,.12)),radial-gradient(circle at 78% 48%,rgba(119,123,70,.28),transparent 36%);}
.zy-cinematic-video__content{position:relative;z-index:2;padding-block:clamp(92px,10vw,150px);max-width:var(--container);}
.zy-cinematic-video .zy-eyebrow{color:#fff!important;margin-bottom:18px!important;}
.zy-cinematic-video h2{max-width:760px;margin:0;color:#fff!important;font-size:clamp(2.4rem,5.5vw,5.5rem);line-height:.96;letter-spacing:-.065em;font-weight:950;}
.zy-cinematic-video p:not(.zy-eyebrow){max-width:650px;margin:26px 0 0;color:#fff!important;font-size:clamp(1rem,1.4vw,1.35rem);line-height:1.55;}
.zy-cinematic-video__actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px;}
.zy-cinematic-video .zy-btn--secondary{background:rgba(255,255,255,.08)!important;color:#fff!important;border:1px solid rgba(255,255,255,.75)!important;backdrop-filter:blur(12px);}

/* Why / Engineering That Performs Beyond Specification: turn whole section black */
.zy-why{background:#000!important;color:#fff!important;}
.zy-why h2,.zy-why h2 span,.zy-why h3,.zy-why p,.zy-why .zy-lead,.zy-why small,.zy-why span,.zy-why b{color:#fff!important;}
.zy-why .zy-eyebrow{color:#777B46!important;}
.zy-why .zy-sticky,.zy-why .zy-reason-card,.zy-why .zy-baseline{background:rgba(255,255,255,.035)!important;border:1px solid rgba(119,123,70,.42)!important;box-shadow:none!important;color:#fff!important;}
.zy-why .zy-baseline__metric i{background:rgba(255,255,255,.12)!important;}
.zy-why .zy-baseline__metric i:before{background:#777B46!important;}
.zy-why .zy-reason-card div span{background:#777B46!important;color:#fff!important;border-color:#777B46!important;}
.zy-why .zy-reason-card small{color:#777B46!important;}

/* From Airflow to Intelligence video text box */
.zy-video-copy{background:rgba(255,255,255,.72)!important;color:#777B46!important;border:1px solid rgba(119,123,70,.28)!important;border-radius:24px!important;padding:24px 26px!important;backdrop-filter:blur(18px)!important;max-width:min(460px,calc(100% - 48px));}
.zy-video-copy small,.zy-video-copy strong,.zy-video-copy span{color:#777B46!important;}
.zy-video-copy strong{font-weight:950!important;line-height:1.05!important;}
.zy-video-copy span{line-height:1.45!important;}

/* Final CTA background movement brighter on black */
.zy-cta__canvas{opacity:1!important;filter:brightness(1.75) contrast(1.08)!important;}
.zy-cta--final:before{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.76),rgba(0,0,0,.42))!important;}

/* Artistic lazy reveal for every section */
.zy-lazy-section{opacity:0;transform:translateY(42px);filter:blur(14px);clip-path:inset(8% 0 0 0 round 28px);transition:opacity .9s cubic-bezier(.18,.8,.18,1),transform .9s cubic-bezier(.18,.8,.18,1),filter .9s cubic-bezier(.18,.8,.18,1),clip-path .9s cubic-bezier(.18,.8,.18,1);transition-delay:calc(var(--zy-lazy-index,0) * 35ms);}
.zy-lazy-section.is-lazy-visible{opacity:1;transform:translateY(0);filter:blur(0);clip-path:inset(0 0 0 0 round 0);}
[data-reveal]{transition-duration:.82s!important;}
[data-reveal].visible{filter:blur(0)!important;}
.zy-image-slot img,.zy-case-card__image img,.zy-blog-card__image img,.zy-product-card__image img{object-fit:cover!important;width:100%!important;height:100%!important;}

@media (max-width:1024px){.zy-header,.zy-header.is-scrolled,.zy-nav{height:84px!important}.zy-cinematic-video{min-height:62vh}.zy-cinematic-video__media iframe{width:220vh;height:124vh}.zy-cinematic-video__content{padding-block:90px}.zy-video-copy{left:18px!important;right:18px!important;bottom:18px!important;}}


/* V23 correction from V21 baseline: exact hero title + From Airflow to Intelligence overlay fix */
.zy-hero h1 .zy-title-word:not(.zy-title-accent),
.zy-hero h1 .zy-title-word:not(.zy-title-accent) * {
  color: #000000 !important;
}
.zy-hero h1 .zy-title-accent {
  color: #777B46 !important;
  position: relative !important;
}
.zy-hero h1 .zy-title-accent::after {
  background: #777B46 !important;
}

/* Target ONLY the video-feature card: From Airflow to Intelligence */
.zy-video-frame--youtube .zy-video-copy,
.zy-video-frame .zy-video-copy {
  background: rgba(255,255,255,.82) !important;
  color: #777B46 !important;
  border: 1px solid rgba(119,123,70,.34) !important;
  border-radius: 24px !important;
  padding: 24px 26px !important;
  backdrop-filter: blur(18px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.1) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.12) !important;
}
.zy-video-frame--youtube .zy-video-copy small,
.zy-video-frame--youtube .zy-video-copy strong,
.zy-video-frame--youtube .zy-video-copy span,
.zy-video-frame .zy-video-copy small,
.zy-video-frame .zy-video-copy strong,
.zy-video-frame .zy-video-copy span {
  color: #777B46 !important;
  opacity: 1 !important;
  text-shadow: none !important;
}
.zy-video-frame--youtube .zy-video-copy strong,
.zy-video-frame .zy-video-copy strong {
  font-weight: 950 !important;
}
.zy-video-frame--youtube .zy-video-copy span,
.zy-video-frame .zy-video-copy span {
  line-height: 1.45 !important;
}

/* Do not let the poster/video state hide the From Airflow to Intelligence copy before playback. */
.zy-video-frame--youtube:not(.is-playing) .zy-video-copy,
.zy-video-frame--youtube:not(.is-playing) .zy-video-play {
  display: grid !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.zy-video-frame--youtube.is-playing .zy-video-copy,
.zy-video-frame--youtube.is-playing .zy-video-play {
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 1024px) {
  .zy-video-frame--youtube .zy-video-copy,
  .zy-video-frame .zy-video-copy {
    left: 18px !important;
    right: 18px !important;
    bottom: 18px !important;
    max-width: calc(100% - 36px) !important;
  }
}
