/* Hesanor public-web foundation v20261102. Product colors remain local. */
@font-face{font-family:BrandSans;src:url('/assets/fonts/brand-0.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:BrandSans;src:url('/assets/fonts/brand-3.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:BrandDisplay;src:url('/assets/fonts/brand-7.woff2') format('woff2');font-weight:700;font-display:swap}
body[data-ecosystem]{--surface:#10151c;--panel:#18212c;--line:#ffffff20;--ink:#eef4fa;--muted:#aebdcb;--brand-accent:#7bbaff;--brand-gold:#ffce6d;--paper:#10151c;--blue:#7bbaff;background:radial-gradient(ellipse at 85% 0,#245ada16,transparent 800px),#10151c;color:var(--ink);font:400 16px/1.75 BrandSans,sans-serif;margin:0}
body[data-ecosystem] *{box-sizing:border-box}
html{scroll-padding-top:110px;scroll-behavior:smooth}
body[data-ecosystem]::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(100% / 12 - 1px),#ffffff04 calc(100% / 12 - 1px),#ffffff04 calc(100% / 12));mask-image:linear-gradient(#000,transparent)}
body[data-ecosystem] :is(h1,h2,h3){font-family:BrandDisplay,sans-serif;letter-spacing:-.035em;line-height:1.2;text-wrap:balance;margin-top:0}
body[data-ecosystem] h1{font-size:clamp(2.4rem,4.2vw,4.2rem)}
body[data-ecosystem] h2{font-size:clamp(1.8rem,3vw,2.8rem)}
body[data-ecosystem] h3{font-size:1.25rem}
body[data-ecosystem] :is(section,article,div,figure,nav){min-width:0}
body[data-ecosystem] a{color:inherit;text-decoration:none}
body[data-ecosystem] img{max-width:100%;height:auto}
body[data-ecosystem] .wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
body[data-ecosystem] .eyebrow{color:var(--brand-accent);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.8}
body[data-ecosystem] .lead{color:var(--muted);font-size:17px;line-height:1.85}
body[data-ecosystem] .section{padding-block:78px}
body[data-ecosystem] .section-heading{max-width:740px;margin-bottom:38px}
body[data-ecosystem] .section-heading p{color:var(--muted)}
body[data-ecosystem] .button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;border-radius:5px;border:1px solid transparent;min-height:50px;padding:14px 22px;font:700 13px/1.6 BrandSans,sans-serif;cursor:pointer;transition:transform .25s,background .25s,border-color .25s}
body[data-ecosystem] .primary{background:var(--brand-accent);color:#0e2440;border-color:var(--brand-accent);box-shadow:none}
body[data-ecosystem] .primary:hover{background:#b1d7ff;transform:translateY(-3px)}
body[data-ecosystem] .outline{color:var(--ink);border-color:#ffffff38;background:transparent}
body[data-ecosystem] .outline:hover{border-color:var(--brand-accent);transform:translateY(-3px)}
body[data-ecosystem] .text-link{color:var(--brand-accent);font-weight:700;font-size:13px}
body[data-ecosystem] :is(a,button,summary):focus-visible{outline:2px solid var(--brand-accent);outline-offset:5px}
.ecosystem-header{position:sticky;top:12px;z-index:40;width:min(1380px,calc(100% - 32px));margin:12px auto 0;background:#111923f2;border:1px solid #ffffff24;border-radius:8px;backdrop-filter:blur(18px);box-shadow:0 10px 32px #0002}
.ecosystem-header .nav{min-height:82px;height:auto;padding-block:12px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.ecosystem-header .brand{display:inline-flex;flex-shrink:0;padding:7px 12px;border-radius:5px;background:#fffdf9}
.ecosystem-header .brand img{display:block;width:190px;height:54px;object-fit:contain;object-position:center;transform:none}
.ecosystem-header nav{display:flex;gap:24px;align-items:center;font-size:13px;color:#c5d0dc}
.ecosystem-header nav a:hover{color:var(--brand-accent)}
.ecosystem-header .nav-app{background:transparent;color:var(--brand-accent);border:1px solid #7bbaff60;border-radius:4px;padding:11px 15px;white-space:nowrap}
.ecosystem-header .nav-app:hover{background:#7bbaff0d;color:var(--brand-accent)}
.ecosystem-header .menu-toggle{display:none;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:5px;padding:11px 14px;font:700 12px BrandSans,sans-serif}
.ecosystem-motion{position:fixed;right:14px;bottom:14px;z-index:85;background:#131e2af2;border:1px solid #7bbaff50;border-radius:4px;color:#c8d7e4;padding:9px 12px;font:400 10px/1.5 BrandSans,sans-serif;cursor:pointer}
.ecosystem-motion[hidden]{display:none!important}
.ecosystem-paused *, .ecosystem-paused *::before, .ecosystem-paused *::after{animation-play-state:paused!important}
.ecosystem-animate [data-motion]{transition:opacity .65s ease,transform .65s ease}
.ecosystem-animate [data-motion]:not(.motion-visible){opacity:0;transform:translateY(22px)}
body[data-ecosystem] .brand-link{color:var(--brand-accent);font-size:12px}
body[data-ecosystem] .ecosystem-footer{border-top:1px solid var(--line);background:#0b1017;padding-block:44px;color:var(--muted)}
body[data-ecosystem] .ecosystem-footer .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
body[data-ecosystem] .ecosystem-footer nav{display:flex;gap:20px;flex-wrap:wrap;font-size:12px}
body[data-ecosystem] .ecosystem-footer p{font-size:12px;margin:0}
.ecosystem-signal{position:relative;overflow:hidden}
.ecosystem-signal::before{content:'';position:absolute;top:0;left:-140px;width:140px;height:2px;background:var(--brand-accent);box-shadow:0 0 14px #7bbaff;animation:ecosystem-signal 8s ease-in-out infinite}
@keyframes ecosystem-signal{0%,15%{transform:translateX(0);opacity:0}25%{opacity:.9}75%,100%{transform:translateX(1000px);opacity:0}}
@media(max-width:1000px){.ecosystem-header .menu-toggle{display:flex;align-items:center;gap:12px}.ecosystem-header .nav{flex-wrap:wrap;gap:14px}.ecosystem-header nav{display:none;position:static!important;width:100%;flex-basis:100%;background:transparent!important;padding:12px 0 4px;flex-direction:column;align-items:stretch;gap:0;border:0}.ecosystem-header nav.open{display:flex}.ecosystem-header nav>a{padding:14px 5px;border-bottom:1px solid var(--line)}.ecosystem-header nav>.nav-app{margin-top:12px;padding:13px;text-align:center}.ecosystem-header{max-height:calc(100dvh - 24px);overflow-y:auto}}
@media(max-width:700px){body[data-ecosystem] .wrap{width:calc(100% - 40px)}.ecosystem-header{top:8px;width:calc(100% - 20px);margin-top:8px}.ecosystem-header .brand{padding:4px 8px}.ecosystem-header .brand img{width:150px;height:45px}.ecosystem-header .nav{min-height:72px;padding-block:10px;gap:10px}.ecosystem-header .menu-toggle{padding:10px}.ecosystem-header .wrap{width:calc(100% - 24px)!important}body[data-ecosystem] .section{padding-block:50px}body[data-ecosystem] h1{font-size:clamp(2.2rem,8vw,3.2rem)}body[data-ecosystem] .lead{font-size:16px}.ecosystem-motion{bottom:10px;right:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}body[data-ecosystem] *,body[data-ecosystem] *::before,body[data-ecosystem] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ecosystem-animate [data-motion]:not(.motion-visible){opacity:1;transform:none}}
