/* EHQSplus — site styles. One file, no build step. Tokens first, then base, layout, components.
   House rule: no hairlines. Things are separated by fill, shadow and space – never by 1px borders or rules. */
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("/assets/fonts/inter-tight-var.woff2") format("woff2");font-weight:100 900;font-display:swap}

:root{
  /* brand: the logo's blue, the petrol and navy of the old site */
  --blue:#368ccc; --sky:#9fd0f2; --petrol:#007596; --petrol-dark:#005d78; --navy:#0a3550; --navy-deep:#072a40;
  --ink:#0c2a3b; --text:#374c5c; --muted:#5d7282; --tint:#f0f5f9; --tint-2:#e1ecf4; --tint-3:#cfe0ec; --white:#fff;
  /* the traffic light of the EHQSplus cockpit */
  --green:#63bf80; --green-dark:#2c7f48; --amber:#f1c94d; --red:#ec7570; --red-dark:#b3342e;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --display:"Inter Tight","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Times New Roman",Times,serif;
  --wrap:min(98rem,max(76rem,82vw)); --wrap-head:min(112rem,max(80rem,92vw)); --gutter:clamp(18px,4vw,40px); --radius:18px; --radius-sm:12px;
  --shadow:0 3px 8px rgba(10,53,80,.05),0 14px 34px rgba(10,53,80,.08);
  --shadow-lg:0 6px 14px rgba(10,53,80,.08),0 28px 64px rgba(10,53,80,.18);
  --header:5.25rem;
}
*,*::before,*::after{box-sizing:border-box}
html{font-size:clamp(16px,calc(13.6px + .25vw),20px);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 1.5rem)}
body{margin:0;font:400 1rem/1.65 var(--font);color:var(--text);background:#fff;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto;display:block}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.15;margin:0 0 .6em;font-weight:700;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.1rem,1.3rem + 3vw,3.4rem);letter-spacing:-.025em}
h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.3rem)}
h3{font-size:1.2rem;line-height:1.3}
h4{font-size:1.02rem;line-height:1.35}
p{margin:0 0 1.1em;text-wrap:pretty}
a{color:var(--petrol);text-decoration-thickness:.1em;text-underline-offset:.2em;transition:color .15s}
a:hover{color:var(--petrol-dark)}
strong{color:var(--ink);font-weight:650}
ul,ol{margin:0 0 1.1em;padding-left:1.2em}
button{font:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
::selection{background:var(--sky);color:var(--navy-deep)}
.icon{width:1.25em;height:1.25em;flex:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--navy);color:#fff;padding:10px 16px;border-radius:8px;transition:top .15s}
.skip-link:focus{top:12px;color:#fff}
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
/* the header pill is a little wider than the content, as on veonio.com */
.site-header>.wrap{width:min(var(--wrap-head),100% - 2*clamp(10px,1.6vw,28px))}
.muted{color:var(--muted)}
.eyebrow{font:650 .8rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--petrol);margin:0 0 1em}
.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{text-decoration:underline}
.lead{font-size:1.16rem;line-height:1.6;color:var(--text)}
[hidden]{display:none!important}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .18s ease both}
::view-transition-new(root){animation:vt-in .32s cubic-bezier(.2,.8,.2,1) both}
@keyframes vt-out{to{opacity:0}}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}

/* buttons: always filled, never outlined */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.88em 1.4em;border-radius:999px;border:0;font:650 1rem/1.2 var(--font);text-decoration:none;cursor:pointer;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn--primary,.btn--light{overflow:hidden;isolation:isolate}
.btn--primary::after,.btn--light::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);transform:translateX(-120%);transition:transform .7s}
.btn--light::after{background:linear-gradient(105deg,transparent 35%,rgba(54,140,204,.28) 50%,transparent 65%)}
.btn--primary:hover::after,.btn--light:hover::after{transform:translateX(120%)}
.btn--primary{background:var(--petrol);color:#fff;box-shadow:0 8px 20px rgba(0,117,150,.3)}
.btn--primary:hover{background:var(--petrol-dark);color:#fff;box-shadow:0 12px 26px rgba(0,117,150,.36)}
.btn--ghost{background:var(--tint-2);color:var(--ink)}
.btn--ghost:hover{background:var(--tint-3);color:var(--ink)}
.btn--light{background:#fff;color:var(--navy);box-shadow:0 8px 22px rgba(0,0,0,.18)}
.btn--light:hover{background:var(--tint-2);color:var(--navy)}
.btn--ghost-light{background:rgba(255,255,255,.14);color:#fff}
.btn--ghost-light:hover{background:rgba(255,255,255,.24);color:#fff}
.btn--sm{padding:.66em 1.15em;font-size:.92rem}
.btn--lg{padding:1em 1.65em;font-size:1.05rem}
.btn--block{display:flex;width:100%}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;margin:1.6em 0 0}
.more{display:inline-flex;align-items:center;gap:.4em;font-weight:650;color:var(--petrol);text-decoration:none}
.more .icon{width:1.05em;height:1.05em;transition:transform .2s}
a:hover>.more .icon,.more:hover .icon{transform:translateX(4px)}

/* cards light up under the pointer (site.js sets --mx/--my) */
[data-glow]{position:relative;isolation:isolate}
[data-glow]::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(16rem circle at var(--mx,50%) var(--my,50%),rgba(54,140,204,.16),transparent 65%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}
[data-glow]:hover::after{opacity:1}

/* ---------- header: a floating glass pill ---------- */
.site-header{position:fixed;inset:0 0 auto 0;z-index:40;padding-top:12px;pointer-events:none;transition:padding .25s}
.site-header.is-stuck{padding-top:8px}
.site-header__in{position:relative;pointer-events:auto;display:flex;align-items:center;gap:clamp(16px,2vw,36px);min-height:4rem;padding:0 .6rem 0 clamp(1.2rem,2vw,2.2rem);border-radius:999px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(1.5);backdrop-filter:blur(18px) saturate(1.5);box-shadow:0 4px 12px rgba(10,53,80,.06),0 16px 40px rgba(10,53,80,.1);transition:box-shadow .25s,background-color .25s}
.site-header.is-stuck .site-header__in{background:rgba(255,255,255,.93);box-shadow:0 6px 16px rgba(10,53,80,.1),0 22px 54px rgba(10,53,80,.18)}
.brand{display:flex;flex:none;view-transition-name:brand}
.brand img{width:auto;height:2.2rem;transition:transform .3s}
.brand:hover img{transform:scale(1.05)}
.nav{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end}
.nav__links{display:flex;gap:clamp(2px,.6vw,14px);list-style:none;margin:0 auto;padding:0}
.nav__links>li{position:relative;display:flex;align-items:center}
.nav__links>li.has-sub--mega{position:static}
.nav__links>li>a{display:block;padding:.6em .85em;color:var(--ink);font-weight:600;font-size:.97rem;text-decoration:none;border-radius:999px;transition:background-color .2s,color .2s}
.nav__links>li>a:hover,.has-sub.is-open>a{background:var(--tint-2);color:var(--petrol)}
.nav__links>li>a[aria-current]{color:var(--petrol)}
.has-sub>a{padding-right:.3em!important}
.sub-toggle{background:none;border:0;padding:.5em .5em .5em 0;color:var(--muted);cursor:pointer;display:flex;border-radius:999px}
.sub-toggle .icon{width:16px;height:16px;transition:transform .25s}
.has-sub.is-open .sub-toggle .icon{transform:rotate(180deg)}
.panel{position:absolute;left:0;right:0;top:100%;padding-top:10px;opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top center;transition:opacity .22s,transform .22s,visibility 0s .22s;z-index:5}
.has-sub.is-open .panel,.has-sub:focus-within .panel{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.panel>*{background:#fff;border-radius:26px;box-shadow:var(--shadow-lg)}
.panel--small{right:auto;left:-.5rem;width:23rem}
.panel__list,.mega__list{list-style:none;margin:0;padding:0}
.panel__list{padding:10px}
.panel__list a,.mega__list a{display:flex;gap:12px;align-items:center;padding:.5em .7em;border-radius:12px;color:var(--ink);text-decoration:none;transition:background-color .15s,color .15s,transform .15s}
.panel__list a,.mega__list--sub a{align-items:flex-start;padding:.6em .7em}
.panel__list a:hover,.mega__list a:hover,.panel__list a[aria-current],.mega__list a[aria-current]{background:var(--tint);color:var(--petrol);transform:translateX(3px)}
.panel__list .icon,.mega__list .icon{width:20px;height:20px;color:var(--petrol)}
.panel__list a .icon,.mega__list--sub .icon{margin-top:2px}
.panel__list span,.mega__list span{display:grid;gap:1px;line-height:1.3}
.panel__list strong,.mega__list strong{font-size:.93rem;font-weight:600;color:inherit}
.panel__list small,.mega__list small{font-size:.8rem;color:var(--muted)}
.mega{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;gap:8px;padding:14px;width:min(100%,84rem);margin-inline:auto}
.mega__col{padding:8px}
.mega__col--side{background:var(--tint);border-radius:18px;display:flex;flex-direction:column;padding:14px}
.mega__col--side .mega__list a:hover{background:#fff}
.mega__label{font:650 .74rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:4px 0 8px .7em}
.mega__cta{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding:14px 16px;border-radius:14px;background:var(--navy);color:#fff;text-decoration:none;transition:background-color .2s,transform .2s}
.mega__cta:hover{background:var(--petrol-dark);color:#fff;transform:translateY(-2px)}
.mega__cta strong{color:#fff;font-size:.98rem}
.mega__cta span{display:inline-flex;align-items:center;gap:6px;font-size:.86rem;color:var(--sky)}
.mega__cta .icon{width:1em;height:1em}
.nav__side{display:flex;align-items:center;gap:6px;flex:none}
.icon-btn{display:inline-grid;place-items:center;width:2.6rem;height:2.6rem;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer;text-decoration:none;transition:background-color .15s,color .15s,transform .15s}
.icon-btn:hover{background:var(--tint-2);color:var(--petrol);transform:translateY(-1px)}
.icon-btn span{display:none}
.icon-btn+.btn{margin-left:6px}
.menu-btn{display:none;margin-left:auto;background:var(--tint-2);border:0;color:var(--ink);padding:9px;cursor:pointer;border-radius:50%}
.menu-btn .icon{width:24px;height:24px}
.menu-btn__close,.menu-btn[aria-expanded="true"] .menu-btn__open{display:none}
.menu-btn[aria-expanded="true"] .menu-btn__close{display:block}
/* the first section of every page starts under the floating header */
main>.hero:first-child .hero__in{padding-top:calc(clamp(40px,6vw,80px) + var(--header))}
main>.page-hero:first-child .page-hero__in{padding-top:calc(clamp(32px,4.5vw,60px) + var(--header))}
main>.page-title:first-child{padding-top:calc(clamp(30px,4vw,52px) + var(--header))}
main>.page-title--tall:first-child{padding-top:calc(clamp(64px,10vw,140px) + var(--header))}

/* narrow desktops: the menu tightens up before it turns into the mobile menu */
@media (max-width:1320px){.site-header__in{gap:12px}.nav{gap:6px}.nav__links{gap:0}.nav__links>li>a{padding:.6em .62em}.nav__side .icon-btn[href^="tel"]{display:none}.nav__side .btn{padding-inline:1em}}
@media (max-width:1100px){
  .site-header__in{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding-right:.5rem}
  .brand,.menu-btn{position:relative;z-index:2}
  .menu-btn{display:flex}
  .nav{position:fixed;inset:0;z-index:1;background:var(--tint);flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:calc(var(--header) + 12px) var(--gutter) 32px;overflow-y:auto;transform:translateY(-102%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s .32s}
  .nav.is-open{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
  .nav__links{flex-direction:column;margin:0;gap:6px}
  .nav__links>li{flex-wrap:wrap;background:#fff;border-radius:18px;padding:0 18px}
  .nav__links>li>a{flex:1;padding:.95em 0;font-size:1.08rem;border-radius:0}
  .nav__links>li>a:hover,.has-sub.is-open>a{background:none}
  .sub-toggle{padding:.9em;margin-right:-.9em}
  .sub-toggle .icon{width:22px;height:22px}
  .panel{position:static;flex-basis:100%;padding:0;opacity:1;visibility:visible;transform:none;display:none}
  .has-sub.is-open .panel{display:block}
  .panel>*{box-shadow:none;border-radius:0;background:none}
  .panel--small{width:auto}
  .panel__list{padding:0 0 12px}
  .mega{grid-template-columns:1fr;padding:0 0 12px;gap:0}
  .mega__col{padding:0 0 8px}
  .mega__col--side{padding:12px;margin-top:6px}
  .mega__label{margin-left:0}
  .panel__list a,.mega__list a{padding:.7em .4em}
  .nav__side{flex-direction:column;align-items:stretch;gap:8px;margin-top:16px}
  .icon-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:auto;height:auto;padding:.85em;border-radius:999px;background:#fff;font-weight:600}
  .icon-btn span{display:inline}
  .icon-btn+.btn{margin-left:0}
  .nav__side .btn{padding:.95em 1.2em;font-size:1rem}
}

/* search dialog */
.search{width:min(40rem,100% - 2rem);max-height:min(36rem,80vh);margin-top:12vh;padding:0;border:0;border-radius:22px;background:#fff;box-shadow:var(--shadow-lg);overflow:hidden;color:var(--text)}
.search::backdrop{background:rgba(7,42,64,.55);backdrop-filter:blur(6px)}
.search[open]{display:flex;flex-direction:column;animation:pop .2s ease}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}}
.search__head{display:flex;align-items:center;gap:12px;padding:18px 22px;background:var(--tint)}
.search__head .icon{width:1.4rem;height:1.4rem;color:var(--petrol)}
.search__head input{flex:1;min-width:0;border:0;background:none;font:500 1.15rem/1.3 var(--font);color:var(--ink);outline:0}
.search__close{border:0;background:#fff;color:var(--muted);border-radius:8px;padding:.45em .7em;font:600 .75rem/1 var(--font);cursor:pointer}
.search__list{list-style:none;margin:0;padding:10px;overflow-y:auto}
.search__list a{display:flex;gap:14px;align-items:flex-start;padding:12px 14px;border-radius:14px;text-decoration:none;color:var(--text)}
.search__list a:hover,.search__list a.is-active{background:var(--tint)}
.search__list .icon{width:1.4rem;height:1.4rem;color:var(--petrol);margin-top:.15em}
.search__list span{display:grid;gap:2px;line-height:1.4}
.search__list strong{font:650 1rem/1.3 var(--display)}
.search__list small{font-size:.86rem;color:var(--muted)}
.search__empty{padding:28px 24px;margin:0;color:var(--muted);text-align:center}
.search__list .search__empty a{display:inline;padding:0;color:var(--petrol);text-decoration:underline}

/* ---------- device frames and the ring ---------- */
.phone{display:block;position:relative;width:100%;max-width:17rem;padding:.55rem;border-radius:2.3rem;background:#0d1b24;box-shadow:var(--shadow-lg)}
.phone::before{content:"";position:absolute;left:50%;top:.95rem;width:28%;height:1.1rem;border-radius:999px;background:#0d1b24;transform:translateX(-50%);z-index:1}
.phone img{width:100%;border-radius:1.8rem;padding-top:1.9rem;background:#1b9ad6}
.window{display:block;border-radius:14px;background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}
.window__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#dfe8ee}
.window__bar i{width:10px;height:10px;border-radius:50%;background:var(--red)}
.window__bar i:nth-child(2){background:var(--amber)}.window__bar i:nth-child(3){background:var(--green)}
.window__bar b{margin-left:10px;font:600 .74rem/1 var(--font);color:var(--muted)}
.window img{width:100%}
.ring{position:relative;display:inline-grid;place-items:center;width:6.5rem;aspect-ratio:1}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:13}
.ring__bg{stroke:rgba(255,255,255,.14)}
.ring__seg--green{stroke:var(--green)}.ring__seg--amber{stroke:var(--amber)}.ring__seg--red{stroke:var(--red)}
.ring__label{position:absolute;inset:0;display:grid;place-items:center;font:700 1.15rem/1 var(--display);color:var(--ink)}

/* ---------- home hero ---------- */
.hero{position:relative;color:#d5e3ec;background:linear-gradient(160deg,#051f30,var(--navy) 55%,#0e4a6d);overflow:hidden;border-radius:0 0 clamp(28px,4vw,56px) clamp(28px,4vw,56px)}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none}
.hero::before{width:50rem;height:36rem;right:-12rem;top:-10rem;background:rgba(54,140,204,.55);animation:drift 16s ease-in-out infinite alternate}
.hero::after{width:36rem;height:28rem;left:-12rem;bottom:-14rem;background:rgba(0,150,170,.55);animation:drift 20s ease-in-out infinite alternate-reverse}
@keyframes drift{to{transform:translate(5rem,3rem) scale(1.15)}}
.hero__in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(48px,7vw,96px) clamp(64px,8vw,112px)}
.hero h1{color:#fff;margin-bottom:.45em;font-size:clamp(2.3rem,1.3rem + 3.6vw,3.9rem);line-height:1.06}
.hero h1 em{font-style:normal;background:linear-gradient(100deg,#bfe3fb,#7fd0e6 35%,#fff 55%,#9fd0f2 80%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite alternate}
@keyframes sheen{to{background-position:100% 0}}
.hero .lead{color:#d5e3ec;max-width:34em}
.hero__pill{display:inline-flex;align-items:center;gap:10px;margin:0 0 1.4em;padding:.5em 1em .5em .75em;border-radius:999px;background:rgba(255,255,255,.1);font:650 .76rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;color:#d9ecf8}
.hero__pill i{width:.6rem;height:.6rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(99,191,128,.7);animation:pulse 2.2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 .6rem rgba(99,191,128,0)}100%{box-shadow:0 0 0 0 rgba(99,191,128,0)}}
.hero__facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:2.4em 0 0;padding:0;font-size:.9rem}
.hero__facts li{display:flex;align-items:center;gap:8px;padding:.5em .95em .5em .7em;border-radius:999px;background:rgba(255,255,255,.1);color:#e6f0f6;transition:background-color .2s,transform .2s}
.hero__facts li:hover{background:rgba(255,255,255,.18);transform:translateY(-2px)}
.hero__facts .icon{color:var(--green);width:1.1em;height:1.1em;stroke-width:3}
.hero__stage{position:relative;padding:0 0 4.2rem 9.4rem;--px:0px;--py:0px}
.hero__stage .cockpit{transform:perspective(1600px) rotateY(-5deg) rotateX(1.5deg) translate(calc(var(--px)*-1),calc(var(--py)*-1));transform-origin:left center;transition:transform .35s ease-out}
.hero__stage:hover .cockpit{transform:perspective(1600px) rotateY(0) rotateX(0) translate(calc(var(--px)*-1),calc(var(--py)*-1))}
.hero__stage>.phone{position:absolute;left:0;bottom:1.6rem;width:10rem;transform:translate(calc(var(--px)*1.6),calc(var(--py)*1.6)) rotate(-4deg);transition:transform .35s ease-out;z-index:2}
.hero__caption{position:absolute;right:0;bottom:0;margin:0;max-width:calc(100% - 12.5rem);font-size:.76rem;line-height:1.4;color:#a9c3d3;text-align:right}
@media (max-width:980px){
  .hero__in{grid-template-columns:1fr}
  .hero__stage{padding-left:6.4rem;max-width:38rem}
  .hero__stage .cockpit,.hero__stage:hover .cockpit{transform:none}
  .hero__stage>.phone{width:8rem}
  .hero__caption{max-width:calc(100% - 9.5rem)}
}
@media (max-width:520px){.hero__stage{padding-left:0;padding-bottom:1.5rem}.hero__stage>.phone{display:none}.hero__caption{position:static;max-width:none;text-align:left;margin-top:12px}}

/* the cockpit: a working miniature of the EHQSplus start page */
.cockpit{position:relative;border-radius:26px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.18),0 40px 90px rgba(0,0,0,.34);padding:1rem;color:var(--text);font-size:.9rem}
.cockpit__bar{display:flex;align-items:center;gap:6px;padding:2px 4px 14px}
.cockpit__bar i{width:10px;height:10px;border-radius:50%;background:var(--red)}
.cockpit__bar i:nth-child(2){background:var(--amber)}.cockpit__bar i:nth-child(3){background:var(--green)}
.cockpit__bar b{margin-left:8px;font:600 .76rem/1 var(--font);color:var(--muted)}
.cockpit__hint{margin-left:auto;padding:.4em .8em;border-radius:999px;background:var(--petrol);color:#fff;font:650 .7rem/1 var(--font);animation:nudge 2.4s ease-in-out infinite}
@keyframes nudge{50%{transform:translateY(-3px)}}
.cockpit.is-used .cockpit__hint{display:none}
.cockpit__rings{list-style:none;margin:0;padding:14px 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-radius:18px;background:var(--tint)}
.cockpit__rings li{display:grid;justify-items:center;gap:6px}
.cockpit__rings .ring{width:min(6.2rem,100%)}
.cockpit__rings .ring__bg{stroke:var(--tint-3)}
.cockpit__rings .ring__label{font-size:1.5rem;transition:color .3s}
.cockpit__rings .ring.is-clear .ring__label{color:var(--green-dark)}
.cockpit__ring-label{font:600 .76rem/1 var(--font);color:var(--muted)}
.cockpit__status{margin:12px 6px 10px;font-size:.86rem}
.cockpit__tasks{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.task{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;width:100%;padding:10px 10px 10px 14px;border:0;border-radius:14px;background:var(--tint);color:var(--ink);text-align:left;cursor:pointer;transition:background-color .2s,transform .2s,opacity .3s}
.task:hover{background:var(--tint-2);transform:translateX(4px)}
.task__dot{width:.7rem;height:.7rem;border-radius:50%;background:var(--red);transition:background-color .3s}
.task>span{display:grid;line-height:1.3;font-weight:550;font-size:.88rem;min-width:0}
.task small{font-size:.7rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.task em{font-style:normal;font-size:.74rem;font-weight:600;color:var(--red-dark);white-space:nowrap}
.task__check{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:#fff;color:transparent;transition:background-color .25s,color .25s,transform .25s}
.task__check .icon{width:1.1rem;height:1.1rem;stroke-width:3}
.task:hover .task__check{color:var(--tint-3)}
.task[aria-pressed="true"]{background:#e2f4e8;opacity:.75}
.task[aria-pressed="true"] .task__dot{background:var(--green)}
.task[aria-pressed="true"] em{visibility:hidden}
.task[aria-pressed="true"] .task__check{background:var(--green);color:#fff;transform:scale(1.1)}
.cockpit__reset{display:block;margin:12px auto 0;padding:.5em 1.1em;border:0;border-radius:999px;background:var(--tint-2);color:var(--ink);font:600 .82rem/1.2 var(--font);cursor:pointer}
.cockpit__reset:hover{background:var(--tint-3)}
.cockpit.is-clear .cockpit__rings{background:#e2f4e8}
@media (max-width:520px){.task{grid-template-columns:auto 1fr auto}.task em{display:none}}

/* ---------- logo band ---------- */
.trust{padding:30px 0 36px;background:#fff}
.trust__title{text-align:center;font-size:.88rem;font-weight:600;color:var(--muted);margin:0 0 18px}
.trust__title strong{color:var(--ink)}
.logos{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logos__track{display:flex;width:max-content;animation:logos 60s linear infinite}
.logos:hover .logos__track,.logos:focus-within .logos__track{animation-play-state:paused}
.logos__row{display:flex;align-items:center;gap:56px;padding-right:56px}
.logos__row a{display:flex;flex:none;transition:transform .25s}
.logos__row a:hover{transform:scale(1.12)}
.logos__row img{height:2.5rem;width:auto;max-width:9rem;object-fit:contain;filter:grayscale(1);opacity:.72;mix-blend-mode:multiply;transition:filter .25s,opacity .25s}
.logos__row a:hover img{filter:none;opacity:1}
@keyframes logos{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.section{padding-block:clamp(56px,7.5vw,104px)}
.section--tint{background:var(--tint)}
.section--navy{position:relative;margin-inline:clamp(8px,1.4vw,20px);border-radius:clamp(28px,4vw,56px);background:linear-gradient(160deg,#051f30,var(--navy) 60%,#0e4a6d);color:#cfdde7;overflow:hidden}
.section--navy::before{content:"";position:absolute;inset:0;background:radial-gradient(28rem circle at var(--sx,80%) var(--sy,0%),rgba(54,140,204,.38),transparent 70%);pointer-events:none;transition:opacity .4s}
.section--navy>.wrap{position:relative}
.section--navy h2,.section--navy h3,.section--navy strong{color:#fff}
.section--navy .eyebrow{color:var(--sky)}
.section--navy a:not(.btn){color:var(--sky)}
.section--flush{padding-bottom:0}
main>.section--tint:last-child{padding-bottom:calc(clamp(56px,7.5vw,104px) + clamp(48px,6vw,72px))}
main:has(>.section--tint:last-child){background:var(--tint)}
main:has(>.section--tint:last-child)+.site-footer{margin-top:0}
.section__intro{max-width:50rem;margin:0 auto clamp(32px,4vw,56px);text-align:center}
.section__intro--left{margin-inline:0;text-align:left}
.section__intro p:last-child{margin:0}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:1.6em}
.section__head h2{margin:0}
.section__head .eyebrow{margin-bottom:.7em}
.center{text-align:center}
.center.btn-row,.center .btn-row{justify-content:center}

/* generic card surface: white with a soft shadow, lifts on hover */
.pillars li,.module-card a,.options li,.feature,.steps>li,.tile,.faq__item,.logo-grid li,.contact-list a,.contact-list__static,.downloads a,.related,.card{background:#fff;box-shadow:var(--shadow);border-radius:var(--radius)}

/* E · H · Q · S: the wordmark as tabs */
.ehqs{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:clamp(18px,3vw,34px)}
.ehqs__letters{display:flex;align-items:flex-start;justify-content:center;gap:clamp(2px,1.2vw,18px)}
.ehqs__letter{display:grid;justify-items:center;gap:.2rem;padding:.3rem clamp(.4rem,1.6vw,1.4rem) .9rem;border:0;border-radius:26px;background:none;color:var(--tint-3);cursor:pointer;transition:background-color .3s,color .3s,transform .3s}
.ehqs__letter b{font:400 clamp(4.6rem,3rem + 9vw,10.5rem)/.92 var(--serif);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.ehqs__letter span{font:650 .74rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.ehqs__letter:hover{color:var(--sky)}
.ehqs__letter.is-active{color:var(--blue);background:var(--tint)}
.ehqs__letter.is-active b{transform:scale(1.06)}
.ehqs__letter.is-active span,.ehqs__letter:hover span{opacity:1;transform:none}
.ehqs__plus{align-self:flex-start;margin-top:clamp(.9rem,2.4vw,2.3rem);font:400 clamp(1.5rem,1rem + 2.6vw,3.2rem)/1 var(--serif);color:var(--tint-3)}
.ehqs__plus sup{font-size:.5em}
.ehqs__panels{width:min(50rem,100%)}
.ehqs__panel{padding:clamp(22px,3vw,36px);border-radius:26px;background:var(--tint);text-align:center;animation:rise .4s cubic-bezier(.2,.8,.2,1)}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
.ehqs__panel h3{font-size:1.5rem;margin-bottom:.4em}
.ehqs__panel p{max-width:36rem;margin-inline:auto}
.ehqs__mods{list-style:none;margin:1.4em 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ehqs__mods a{display:inline-flex;align-items:center;gap:8px;padding:.6em 1em .6em .8em;border-radius:999px;background:#fff;color:var(--ink);font-weight:600;font-size:.92rem;text-decoration:none;box-shadow:0 2px 8px rgba(10,53,80,.06);transition:transform .18s,box-shadow .18s,color .18s,background-color .18s}
.ehqs__mods a:hover{transform:translateY(-3px);background:var(--petrol);color:#fff;box-shadow:0 10px 22px rgba(0,117,150,.3)}
.ehqs__mods .icon{color:var(--petrol);transition:color .18s}
@media (max-width:560px){.ehqs__plus{display:none}.ehqs__letters{gap:0;width:100%;justify-content:space-between}.ehqs__letter{padding:.3rem .5rem .8rem;border-radius:18px}.ehqs__letter b{font-size:clamp(3.4rem,19vw,4.6rem)}.ehqs__letter span{font-size:.6rem;letter-spacing:.04em}}
.ehqs__mods a:hover .icon{color:#fff}

/* bento: six modules, each with a small moving picture */
.bento{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:minmax(15rem,auto);gap:16px}
.bento__tile{grid-column:span 3;display:flex}
.bento__tile--tall{grid-row:span 2}
.bento__tile--third{grid-column:span 2}
.bento__tile>a{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:18px;width:100%;padding:clamp(20px,2.4vw,30px);border-radius:28px;color:var(--text);text-decoration:none;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.bento__tile>a:hover{transform:translateY(-6px) scale(1.01);box-shadow:var(--shadow-lg)}
.bento__text{display:grid;gap:.35rem;max-width:24rem;position:relative;z-index:1}
.bento__text small{font:650 .74rem/1 var(--font);letter-spacing:.1em;text-transform:uppercase;color:var(--sky)}
.bento__text strong{font:700 clamp(1.25rem,1rem + .8vw,1.7rem)/1.15 var(--display);letter-spacing:-.015em}
.bento__text>span:not(.more){font-size:.95rem;line-height:1.5}
.bento__text .more{margin-top:.5rem;font-size:.92rem}
.bento__tile--navy>a{background:linear-gradient(160deg,var(--navy-deep),var(--navy) 60%,#0e4a6d);color:#cfdde7}
.bento__tile--navy strong{color:#fff}.bento__tile--navy .more{color:var(--sky)}
.bento__tile--tint>a{background:var(--tint)}
.bento__tile--white>a{background:#fff;box-shadow:var(--shadow)}
.bento__tile--amber>a{background:#fdf3cf}
.bento__tile--red>a{background:#fde6e4}
.bento__tile--blue>a{background:linear-gradient(135deg,#2f7fc0,var(--blue) 60%,#62b0e6);color:#eaf4fb}
.bento__tile--blue strong,.bento__tile--blue .more{color:#fff}
.bento__tile--tint>a,.bento__tile--white>a{flex-direction:row;align-items:center}
.bento__tile--tint .bento__text,.bento__tile--white .bento__text{flex:1 1 46%}
.v-matrix{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(100%,21rem);align-self:flex-end;transform:rotate(-4deg);transition:transform .4s}
.bento__tile>a:hover .v-matrix{transform:rotate(0) scale(1.04)}
.v-matrix i{aspect-ratio:1.25;border-radius:12px;opacity:.9;animation:blink 4.8s infinite}
.v-matrix i[data-level="1"]{background:var(--green)}.v-matrix i[data-level="2"]{background:var(--amber)}.v-matrix i[data-level="3"]{background:var(--red)}
.v-matrix i:nth-child(3n){animation-delay:.6s}.v-matrix i:nth-child(4n+1){animation-delay:1.5s}.v-matrix i:nth-child(5n+2){animation-delay:2.6s}.v-matrix i:nth-child(7n){animation-delay:3.4s}
@keyframes blink{0%,86%,100%{transform:none;opacity:.9}92%{transform:scale(1.12);opacity:1}}
.v-learn{flex:1 1 54%;display:grid;gap:10px}
.v-learn>span{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:0 2px 8px rgba(10,53,80,.06)}
.v-learn b{font-weight:600;font-size:.86rem;color:var(--ink)}
.v-learn em{font-style:normal;font-size:.78rem;font-weight:650;color:var(--muted);display:grid;place-items:center}
.v-learn em .icon{width:1.3rem;height:1.3rem;padding:.2rem;border-radius:50%;background:var(--green);color:#fff;stroke-width:3.5}
.v-learn i{grid-column:1/-1;height:8px;border-radius:999px;background:var(--tint-2);overflow:hidden}
.v-learn u{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--petrol),var(--blue));transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.is-in .v-learn u.w100,.bento.is-live .v-learn u.w100{width:100%;background:var(--green)}
.bento.is-live .v-learn u.w72{width:72%}.bento.is-live .v-learn u.w38{width:38%}
.v-checks{flex:1 1 54%;display:grid;gap:8px}
.v-checks>span{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:var(--tint);font-weight:600;font-size:.88rem;color:var(--ink)}
.v-checks i{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--tint-3);color:#fff;transition:background-color .35s,transform .35s}
.v-checks i .icon{width:.95rem;height:.95rem;stroke-width:3.5}
.bento.is-live .v-checks>span:nth-child(1) i{background:var(--green);transition-delay:.3s}
.bento.is-live .v-checks>span:nth-child(2) i{background:var(--green);transition-delay:.8s}
.bento.is-live .v-checks>span:nth-child(3) i{background:var(--green);transition-delay:1.3s}
.bento.is-live .v-checks>span:nth-child(4) i{background:var(--amber);transition-delay:1.8s}
.bento__tile>a:hover .v-checks>span:nth-child(4) i{background:var(--green);transform:scale(1.15);transition-delay:0s}
.v-ghs{display:flex;gap:1.6rem;justify-content:center;padding:1.2rem 0 .6rem}
.v-ghs i{display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 5px var(--red);transform:rotate(45deg);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.v-ghs .icon{width:1.5rem;height:1.5rem;color:var(--ink);transform:rotate(-45deg)}
.bento__tile>a:hover .v-ghs i{transform:rotate(45deg) translate(-4px,-4px)}
.bento__tile>a:hover .v-ghs i:nth-child(2){transform:rotate(45deg) translate(-9px,-9px)}
.v-bars{display:flex;align-items:flex-end;gap:8px;height:6rem}
.v-bars i{flex:1;height:8%;border-radius:8px 8px 3px 3px;background:var(--red);transition:height .9s cubic-bezier(.2,.8,.2,1)}
.v-bars i:nth-child(n+4){background:var(--amber)}.v-bars i:nth-child(n+6){background:var(--green)}
.bento.is-live .v-bars .h92{height:92%}.bento.is-live .v-bars .h78{height:78%;transition-delay:.08s}.bento.is-live .v-bars .h70{height:70%;transition-delay:.16s}
.bento.is-live .v-bars .h52{height:52%;transition-delay:.24s}.bento.is-live .v-bars .h40{height:40%;transition-delay:.32s}.bento.is-live .v-bars .h26{height:26%;transition-delay:.4s}
.v-phone{display:block;width:9.5rem;margin:0 auto -9rem;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.bento__tile>a:hover .v-phone{transform:translateY(-2.4rem)}
@media (max-width:1000px){.bento__tile,.bento__tile--third{grid-column:span 6}.bento__tile--tall{grid-row:auto}.bento{grid-auto-rows:auto}.v-phone{margin-bottom:-7rem}}
@media (max-width:620px){.bento__tile--tint>a,.bento__tile--white>a{flex-direction:column;align-items:stretch}}

/* all modules as a moving row of pills */
.marquee{margin-top:clamp(28px,4vw,48px);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track{display:flex;width:max-content;animation:logos 70s linear infinite}
.marquee:hover .marquee__track,.marquee:focus-within .marquee__track{animation-play-state:paused}
.marquee__row{display:flex;gap:10px;padding-right:10px}
.marquee a{display:inline-flex;align-items:center;gap:9px;padding:.7em 1.15em .7em .9em;border-radius:999px;background:var(--tint);color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap;transition:background-color .18s,color .18s,transform .18s}
.marquee a:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
.marquee .icon{color:var(--petrol);transition:color .18s}
.marquee a:hover .icon{color:var(--sky)}

/* stepper: four clickable steps, the phone shows the matching screen */
.stepper{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,5vw,72px);align-items:center}
.stepper__tabs{display:grid;gap:12px}
.stepper__tab{position:relative;display:flex;gap:16px;align-items:flex-start;width:100%;padding:20px 22px;border:0;border-radius:var(--radius);background:rgba(255,255,255,.06);color:#cfdde7;text-align:left;cursor:pointer;overflow:hidden;transition:background-color .25s,transform .25s}
.stepper__tab:hover{background:rgba(255,255,255,.11);transform:translateX(4px)}
.stepper__tab.is-active{background:#fff;color:var(--text);transform:translateX(8px);box-shadow:var(--shadow-lg)}
.stepper__tab b{display:grid;place-items:center;flex:none;width:2.3rem;height:2.3rem;border-radius:50%;background:rgba(159,208,242,.2);color:var(--sky);font:700 1rem/1 var(--display);transition:background-color .25s,color .25s}
.stepper__tab.is-active b{background:var(--petrol);color:#fff}
.stepper__tab>span{display:grid;gap:4px}
.stepper__tab strong{font:650 1.15rem/1.3 var(--display);color:#fff}
.stepper__tab.is-active strong{color:var(--ink)}
.stepper__tab small{font-size:.95rem;line-height:1.5;display:none}
.stepper__tab.is-active small{display:block}
.stepper__bar{position:absolute;left:0;bottom:0;height:5px;width:0;background:linear-gradient(90deg,var(--petrol),var(--blue))}
.stepper__tab.is-active .stepper__bar.is-running{width:100%;transition:width var(--dur,6s) linear}
.stepper__stage{position:relative;display:grid;justify-items:center}
.stepper__stage::before{content:"";position:absolute;inset:8% 6%;border-radius:50%;background:radial-gradient(closest-side,rgba(54,140,204,.55),transparent);filter:blur(30px)}
.stepper__screen{grid-area:1/1;position:relative;width:100%;max-width:16rem;opacity:0;transform:translateY(18px) scale(.96);transition:opacity .45s,transform .45s;pointer-events:none}
.stepper__screen.is-active{opacity:1;transform:none;pointer-events:auto}
.stepper__note{display:flex;gap:16px;align-items:center;margin-top:28px;padding:20px 24px;border-radius:var(--radius);background:rgba(255,255,255,.07)}
.stepper__note .icon{width:2rem;height:2rem;color:var(--sky)}
.stepper__note p{margin:0}
@media (max-width:860px){.stepper{grid-template-columns:1fr}.stepper__tab.is-active{transform:none}.stepper__screen{max-width:13rem}}

/* static four-step row (software overview) */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:flow}
.flow li{padding:24px;border-radius:var(--radius);background:rgba(255,255,255,.07);counter-increment:flow;transition:background-color .25s,transform .25s}
.flow li:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.flow li::before{content:counter(flow);display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--sky);color:var(--navy-deep);font:700 1rem/1 var(--display);margin-bottom:1rem}
.flow h3{margin-bottom:.4em}
.flow p{margin:0;font-size:.95rem}
@media (max-width:980px){.flow{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.flow{grid-template-columns:1fr}}

/* module finder */
.finder{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-radius:calc(var(--radius) + 8px);overflow:hidden;box-shadow:var(--shadow-lg);background:#fff}
.finder__ask{padding:clamp(22px,3.2vw,40px)}
.finder__ask h3{font-size:1.3rem;margin-bottom:.3em}
.finder__ask>p{color:var(--muted);font-size:.95rem}
.finder__needs{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.2em}
.need{display:inline-flex;align-items:center;gap:9px;padding:.7em 1.05em .7em .8em;border:0;border-radius:999px;background:var(--tint);color:var(--ink);font:550 .95rem/1.25 var(--font);cursor:pointer;text-align:left;transition:background-color .18s,color .18s,transform .18s,box-shadow .18s}
.need:hover{background:var(--tint-2);transform:translateY(-2px)}
.need .icon{width:1.2em;height:1.2em;color:var(--petrol);transition:color .18s}
.need[aria-pressed="true"]{background:var(--petrol);color:#fff;box-shadow:0 8px 18px rgba(0,117,150,.3)}
.need[aria-pressed="true"] .icon{color:#fff}
.finder__out{padding:clamp(22px,3.2vw,40px);background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#cfdde7;display:flex;flex-direction:column}
.finder__out h3{color:#fff;font-size:1.3rem;margin-bottom:.3em}
.finder__count{color:var(--sky);font-size:.95rem;margin-bottom:1.1em}
.finder__list{list-style:none;margin:0 0 1.4em;padding:0;display:grid;gap:8px}
.finder__list li{animation:slide .3s ease both}
@keyframes slide{from{opacity:0;transform:translateX(14px)}}
.finder__list a{display:flex;gap:12px;align-items:center;padding:.75em 1em;border-radius:14px;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;font-weight:600;transition:background-color .15s,transform .15s}
.finder__list a:hover{background:rgba(255,255,255,.18);transform:translateX(4px)}
.finder__list .icon:first-child{color:var(--sky);width:1.35em;height:1.35em}
.finder__list span{flex:1;display:grid;line-height:1.3}
.finder__list small{font-weight:400;font-size:.8rem;color:#b9cddb}
.finder__list .icon:last-child{width:1em;height:1em;opacity:.6}
.finder__empty{margin:auto 0;padding:26px;border-radius:var(--radius);background:rgba(255,255,255,.07);text-align:center}
.finder__out .btn-row{margin-top:auto}
@media (max-width:860px){.finder{grid-template-columns:1fr}}

/* module cards */
.filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:28px}
.chip{padding:.62em 1.15em;border-radius:999px;border:0;background:var(--tint-2);color:var(--ink);font:600 .92rem/1.2 var(--font);cursor:pointer;transition:background-color .15s,color .15s,transform .15s}
.chip:hover{background:var(--tint-3);transform:translateY(-1px)}
.chip.is-active{background:var(--navy);color:#fff}
.livesearch{display:flex;align-items:center;gap:12px;max-width:34rem;margin:0 auto 22px;padding:.25em .5em .25em 1.2em;border-radius:999px;background:var(--tint);transition:background-color .2s,box-shadow .2s}
.livesearch:focus-within{background:#fff;box-shadow:0 0 0 3px var(--petrol),var(--shadow)}
.livesearch .icon{color:var(--petrol)}
.livesearch input{flex:1;min-width:0;border:0;background:none;padding:.85em 0;font:500 1rem/1.3 var(--font);color:var(--ink);outline:0}
.livesearch__count{font-size:.85rem;color:var(--muted);padding-right:.8em;white-space:nowrap}
.modules{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:18px}
.module-card{display:flex;transition:opacity .25s,transform .25s}
.module-card.is-fading{opacity:0;transform:scale(.96)}
.module-card.is-hidden{display:none}
.module-card a{display:flex;flex-direction:column;gap:.5rem;width:100%;padding:24px;color:var(--text);text-decoration:none;transition:transform .22s,box-shadow .22s}
.module-card a:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.module-card__icon{display:inline-grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--tint-2);color:var(--petrol);margin-bottom:.4rem;transition:background-color .2s,color .2s,transform .3s}
.module-card a:hover .module-card__icon{background:var(--petrol);color:#fff;transform:rotate(-6deg) scale(1.08)}
.module-card__icon .icon{width:1.5rem;height:1.5rem}
.module-card strong{font:650 1.1rem/1.3 var(--display)}
.module-card__text{font-size:.93rem;line-height:1.55;flex:1}
.module-card .more{margin-top:.5rem;font-size:.93rem}
.module-group{margin-top:clamp(40px,5vw,64px)}
.module-group:first-of-type{margin-top:0}
.module-group.is-hidden{display:none}
.module-group__head{display:flex;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin-bottom:22px}
.module-group__head h2{margin:0;font-size:1.5rem}
.module-group__head p{margin:0;color:var(--muted)}
.nohits{padding:28px;border-radius:var(--radius);background:var(--tint);text-align:center;color:var(--muted)}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:10px}
.tile{display:flex;align-items:center;gap:12px;padding:.9em 1.05em;border-radius:14px;box-shadow:0 2px 8px rgba(10,53,80,.06);color:var(--ink);font-weight:600;font-size:.95rem;text-decoration:none;transition:color .15s,transform .15s,box-shadow .15s}
.tile:hover{color:var(--petrol);transform:translateX(4px);box-shadow:var(--shadow)}
.tile .icon:first-child{color:var(--petrol)}
.tile span{flex:1}
.tile .icon:last-child{width:1em;height:1em;color:var(--muted)}

/* text + picture */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.split--wide-text{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.split--top{align-items:start}
.split__media--flip{order:-1}
@media (max-width:900px){.split,.split--wide-text{grid-template-columns:1fr}.split__media--flip{order:0}}
.phones{display:flex;justify-content:center;align-items:flex-end;gap:clamp(10px,2vw,22px)}
.phones .phone{flex:1 1 0;min-width:0;max-width:13.5rem;transition:transform .4s,opacity .4s,filter .4s}
.phones .phone:nth-child(2){transform:translateY(-1.6rem)}
.phones.has-spot .phone{opacity:.45;filter:saturate(.6);transform:scale(.94)}
.phones.has-spot .phone.is-spot{opacity:1;filter:none;transform:translateY(-1.2rem) scale(1.06)}
@media (max-width:560px){.phones .phone{padding:.3rem;border-radius:1.3rem}.phones .phone img{border-radius:1.05rem;padding-top:1.1rem}.phones .phone::before{top:.5rem;height:.6rem}}
/* list whose items spotlight one of the phones next to it */
.spots{list-style:none;margin:0 0 1.2em;padding:0;display:grid;gap:8px}
.spots li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s}
.spots li:hover,.spots li.is-on,.spots li:focus-visible{background:#fff;box-shadow:var(--shadow);transform:translateX(6px)}
.spots .icon{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:12px;background:#fff;color:var(--petrol);transition:background-color .2s,color .2s}
.spots li.is-on .icon,.spots li:hover .icon{background:var(--petrol);color:#fff}
.spots span{display:block}
.shot{margin:2em 0}
.shot figcaption{margin-top:.9em;font-size:.86rem;color:var(--muted);text-align:center}
.shot .phone{margin-inline:auto;transition:transform .3s}
.shot .phone:hover{transform:translateY(-6px) rotate(-1.5deg)}
.shot--pair{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.shot--pair figcaption{grid-column:1/-1}
.shot .window{cursor:zoom-in;transition:transform .3s}
.shot .window:hover{transform:scale(1.015)}
.zoom{padding:0;border:0;background:none;max-width:min(96vw,1500px);max-height:94vh;border-radius:14px;overflow:hidden;box-shadow:var(--shadow-lg)}
.zoom::backdrop{background:rgba(7,42,64,.8);backdrop-filter:blur(4px)}
.zoom img{width:100%;height:auto;max-height:94vh;object-fit:contain;cursor:zoom-out;background:#fff}

/* lists */
.checks{list-style:none;padding:0;margin:0 0 1.2em}
.checks li{position:relative;padding-left:1.9em;margin-bottom:.6em}
.checks li::before{content:"";position:absolute;left:0;top:.28em;width:1.2em;height:1.2em;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7 10 16l-4-4'/%3E%3C/svg%3E") center/78% no-repeat}
.checks ul{margin:.4em 0 0;padding-left:1.1em;font-size:.95em;color:var(--muted)}
.checks--cols{columns:2;column-gap:2.5em}
.checks--cols li{break-inside:avoid}
@media (max-width:640px){.checks--cols{columns:1}}
.tags{list-style:none;padding:0;margin:0 0 1.2em;display:flex;flex-wrap:wrap;gap:8px}
.tags li{padding:.4em .9em;border-radius:999px;background:var(--tint-2);font-size:.88rem;color:var(--ink);transition:background-color .15s,transform .15s}
.tags li:hover{background:var(--tint-3);transform:translateY(-2px)}
.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:16px;margin:1.6em 0 2em}
.feature{padding:22px;background:var(--tint);box-shadow:none;transition:transform .22s,background-color .22s,box-shadow .22s}
.feature:hover{transform:translateY(-4px);background:#fff;box-shadow:var(--shadow-lg)}
.section--tint .feature{background:#fff;box-shadow:var(--shadow)}
.feature>.icon{width:2.6rem;height:2.6rem;padding:.55rem;border-radius:12px;background:#fff;color:var(--petrol);margin-bottom:.9rem;transition:background-color .2s,color .2s}
.section--tint .feature>.icon{background:var(--tint-2)}
.feature:hover>.icon{background:var(--petrol);color:#fff}
.feature h3{font-size:1.05rem;margin-bottom:.35em}
.feature p{margin:0;font-size:.94rem}
.callout{display:flex;gap:16px;padding:20px 22px;margin:1.8em 0;border-radius:var(--radius);background:linear-gradient(135deg,#e2f1fa,var(--tint))}
.callout>.icon{width:2.6rem;height:2.6rem;padding:.55rem;border-radius:12px;background:var(--blue);color:#fff}
.callout p:last-child{margin:0}
.steps{list-style:none;margin:1.6em 0;padding:0;counter-reset:step;display:grid;gap:14px}
.steps>li{position:relative;padding:20px 22px 20px 4.6rem;background:var(--tint);box-shadow:none;counter-increment:step;transition:transform .2s,background-color .2s,box-shadow .2s}
.steps>li:hover{transform:translateX(6px);background:#fff;box-shadow:var(--shadow)}
.section--tint .steps>li{background:#fff;box-shadow:var(--shadow)}
.steps>li::before{content:counter(step);position:absolute;left:1.25rem;top:1.15rem;display:grid;place-items:center;width:2.3rem;height:2.3rem;border-radius:50%;background:var(--navy);color:#fff;font:700 1rem/1 var(--display)}
.steps h3{margin-bottom:.35em}
.steps p:last-child,.steps ul:last-child{margin-bottom:0}
.table-wrap{overflow-x:auto;margin:1.6em 0;border-radius:var(--radius);background:var(--tint)}
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:.85em 1.1em;text-align:left;vertical-align:top}
thead th{background:var(--navy);font-weight:650;color:#fff;white-space:nowrap}
tbody tr:nth-child(even){background:var(--tint-2)}
tbody tr{transition:background-color .15s}
tbody tr:hover{background:var(--tint-3)}
tbody th{font-weight:650;color:var(--ink)}
details.fold{margin:1.4em 0;border-radius:var(--radius);background:var(--tint);transition:background-color .2s}
details.fold:hover{background:var(--tint-2)}
details.fold[open]{background:var(--tint)}
details.fold>summary{cursor:pointer;padding:16px 20px;font-weight:650;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::after{content:"+";display:grid;place-items:center;flex:none;width:1.8rem;height:1.8rem;border-radius:50%;background:#fff;font:500 1.3rem/1 var(--display);color:var(--petrol);transition:transform .25s,background-color .2s,color .2s}
details.fold[open]>summary::after{transform:rotate(45deg);background:var(--petrol);color:#fff}
details.fold>:not(summary){margin-inline:20px}
details.fold>:last-child{margin-bottom:0;padding-bottom:20px}
details.fold .tags li{background:#fff}

/* risk matrix (Gefährdungsbeurteilung): a hands-on illustration */
.matrix{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:20px;margin:1.8em 0;padding:clamp(18px,2.5vw,28px);border-radius:var(--radius);background:var(--tint)}
.matrix__grid{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:6px;align-items:stretch;font-size:.78rem}
.matrix__grid>span{display:flex;align-items:center;color:var(--muted);line-height:1.25;padding-right:6px}
.matrix__grid>span.matrix__col{justify-content:center;text-align:center;padding:0 0 4px}
.matrix__cell{aspect-ratio:1.5;border:0;border-radius:10px;font:700 1rem/1 var(--display);color:rgba(12,42,59,.75);cursor:pointer;transition:transform .15s,box-shadow .15s,opacity .15s}
.matrix__cell[data-level="1"]{background:var(--green)}.matrix__cell[data-level="2"]{background:var(--amber)}.matrix__cell[data-level="3"]{background:var(--red)}
.matrix__cell:hover{transform:scale(1.08)}
.matrix__grid.has-pick .matrix__cell{opacity:.4}
.matrix__grid.has-pick .matrix__cell[aria-pressed="true"]{opacity:1;transform:scale(1.14);box-shadow:0 0 0 4px #fff,var(--shadow)}
.matrix__out{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;border-radius:var(--radius-sm);background:#fff;transition:background-color .25s}
.matrix__out small{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:650}
.matrix__out strong{font:700 1.5rem/1.15 var(--display)}
.matrix__out p{margin:0;font-size:.92rem}
.matrix__out[data-level="1"]{background:#e2f4e8}.matrix__out[data-level="2"]{background:#fdf3cf}.matrix__out[data-level="3"]{background:#fde3e1}
.matrix__note{grid-column:1/-1;margin:0;font-size:.82rem;color:var(--muted)}
@media (max-width:700px){.matrix{grid-template-columns:1fr}}

/* numbers */
.stats__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stats__list li{padding:22px 24px;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s}
.stats__list li:hover{transform:translateY(-4px)}
.section:not(.section--tint):not(.section--navy) .stats__list li{background:var(--tint);box-shadow:none}
.stats__list strong{display:block;font:700 clamp(1.6rem,1.2rem + 1.4vw,2.3rem)/1.1 var(--display);color:var(--petrol);letter-spacing:-.02em;white-space:nowrap}
.stats__list li>span{display:block;margin-top:.4em;font-size:.93rem;color:var(--muted)}
.stats__list li:first-child{flex-direction:column-reverse;justify-content:flex-end}
.stats__list li:first-child>span{margin:0 0 .4em}
@media (max-width:420px){.stats__list{grid-template-columns:1fr}}

/* licence calculator */
.calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;border-radius:calc(var(--radius) + 8px);overflow:hidden;box-shadow:var(--shadow-lg);background:#fff}
.calc__form{padding:clamp(22px,3vw,36px)}
.calc__form h3{margin-bottom:1.2em}
.calc__row{margin-bottom:1.4em}
.calc__row label{display:flex;justify-content:space-between;gap:12px;font-weight:600;color:var(--ink);font-size:.95rem;margin-bottom:.5em}
.calc__row output{font-variant-numeric:tabular-nums;color:var(--petrol);font-weight:700}
.calc input[type=range]{width:100%;accent-color:var(--petrol);height:1.8rem;cursor:grab}
.calc__note{font-size:.84rem;color:var(--muted);margin:0}
.calc__result{padding:clamp(22px,3vw,36px);background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#cfdde7;display:flex;flex-direction:column;gap:16px}
.calc__bars{display:flex;align-items:flex-end;gap:5px;height:8.5rem;padding:14px 16px 12px;border-radius:16px;background:rgba(255,255,255,.07)}
.calc__bars i{flex:1;min-width:0;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--red),#c9544f);transition:height .35s cubic-bezier(.2,.8,.2,1)}
.calc__bars i:last-child{background:linear-gradient(180deg,#ffb1ad,var(--red))}
.calc__bars-cap{display:flex;justify-content:space-between;font-size:.78rem;color:#b9cddb;margin-top:-8px;padding:0 4px}
.calc__box{padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.08)}
.calc__box small{display:block;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--sky);margin-bottom:.4em}
.calc__box strong{display:block;font:700 clamp(1.5rem,1.2rem + 1.2vw,2.1rem)/1.1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.calc__box span{font-size:.9rem}
.calc__pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc__box--own{background:rgba(99,191,128,.2)}
.calc__box--own strong{font-size:1.2rem;line-height:1.3}
.calc__result .btn{margin-top:auto;align-self:flex-start}
@media (max-width:820px){.calc{grid-template-columns:1fr}}
@media (max-width:460px){.calc__pair{grid-template-columns:1fr}}
.options{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:16px}
.options li{padding:24px;transition:transform .22s,box-shadow .22s,background-color .22s}
.options li:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.section:not(.section--tint) .options li{background:var(--tint);box-shadow:none}
.section:not(.section--tint) .options li:hover{background:#fff;box-shadow:var(--shadow-lg)}
.options li>.icon{width:2.8rem;height:2.8rem;padding:.6rem;border-radius:14px;background:var(--tint-2);color:var(--petrol);margin-bottom:.9rem;transition:background-color .2s,color .2s,transform .3s}
.section:not(.section--tint) .options li>.icon{background:#fff}
.options li:hover>.icon{background:var(--petrol);color:#fff;transform:rotate(-6deg) scale(1.08)}
.options h3{font-size:1.08rem;margin-bottom:.35em}
.options p{margin:0;font-size:.94rem}
.options li>p:last-child:has(.more){margin-top:.9em}

/* blue card (EHQSblue) */
.promo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(26px,4vw,48px);border-radius:calc(var(--radius) + 8px);background:linear-gradient(135deg,#2f7fc0,var(--blue) 55%,#58a8e0);color:#eaf4fb;box-shadow:var(--shadow-lg)}
.promo h2,.promo strong{color:#fff}
.promo .eyebrow{color:#dff0fb}
.promo__facts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.promo__facts li{padding:16px 20px;border-radius:16px;background:rgba(255,255,255,.16);transition:transform .2s,background-color .2s}
.promo__facts li:hover{transform:translateX(-6px);background:rgba(255,255,255,.26)}
.promo__facts strong{display:block;font:700 1.5rem/1.1 var(--display)}
.promo__facts span{font-size:.9rem}
@media (max-width:820px){.promo{grid-template-columns:1fr}}

/* FAQ */
.faq{max-width:58rem;margin-inline:auto;display:grid;gap:10px}
.faq__item{background:var(--tint);box-shadow:none;transition:box-shadow .2s,background-color .2s}
.faq__item:hover{background:var(--tint-2)}
.faq__item[open]{background:#fff;box-shadow:var(--shadow-lg)}
.section--tint .faq__item{background:#fff}
.faq__item summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;font:650 1.05rem/1.4 var(--display);color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";display:grid;place-items:center;flex:none;width:2rem;height:2rem;border-radius:50%;background:#fff;font:500 1.4rem/1 var(--display);color:var(--petrol);transition:transform .25s,background-color .2s,color .2s}
.faq__item[open] summary::after{transform:rotate(45deg);background:var(--petrol);color:#fff}
.faq__item>div{padding:0 22px 20px}
.faq__item>div>:last-child{margin-bottom:0}

/* ---------- inner pages ---------- */
.page-hero{background:linear-gradient(180deg,var(--tint),#fff)}
.page-hero__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(28px,5vw,72px);align-items:center;padding-block:clamp(40px,5.5vw,76px)}
.page-hero__in--form{align-items:start}
.page-hero__in--solo{grid-template-columns:minmax(0,56rem)}
.page-hero h1{font-size:clamp(2rem,1.3rem + 2.4vw,3rem)}
.page-hero__media{display:flex;justify-content:center}
.page-hero__media .phone,.page-hero__media .window{transition:transform .4s}
.page-hero__media:hover .phone{transform:translateY(-8px) rotate(-2deg)}
.page-hero__media:hover .window{transform:translateY(-6px)}
.page-hero__media--phone .phone{max-width:15.5rem}
.page-hero__media--icon{position:relative;align-items:center;justify-content:center;aspect-ratio:4/3;max-width:26rem;width:100%;margin-inline:auto;border-radius:calc(var(--radius) + 10px);background:linear-gradient(160deg,var(--navy-deep),var(--navy));box-shadow:var(--shadow-lg);overflow:hidden}
.page-hero__media--icon::before{content:"";position:absolute;width:20rem;height:16rem;right:-6rem;top:-6rem;border-radius:50%;background:rgba(54,140,204,.6);filter:blur(50px);animation:drift 14s ease-in-out infinite alternate}
.page-hero__media--icon .glyph{position:relative;display:grid;place-items:center;width:7.5rem;height:7.5rem;border-radius:30px;background:rgba(255,255,255,.12);color:#fff;transition:transform .4s}
.page-hero__media--icon:hover .glyph{transform:scale(1.1) rotate(-4deg)}
.page-hero__media--icon .glyph .icon{width:3.6rem;height:3.6rem;stroke-width:1.4}
.page-hero__media--icon .ring{position:absolute;right:1.4rem;bottom:1.4rem;width:4.4rem}
@media (max-width:900px){.page-hero__in{grid-template-columns:1fr}.page-hero__media--icon{display:none}.page-hero__media--phone .phone{max-width:12.5rem}}
.page-title{background:linear-gradient(180deg,var(--tint),#fff);padding-block:clamp(36px,5vw,64px)}
.page-title h1{margin:0;font-size:clamp(1.9rem,1.3rem + 2vw,2.7rem)}
.page-title .lead{margin:.8em 0 0;max-width:44rem}
.page-title--tall{padding-block:clamp(64px,10vw,140px)}

.prose{max-width:62rem}
/* running text keeps a readable measure; grids, figures and tables use the full column */
.prose>:is(p,ul,ol,h2,h3,h4,details,.callout){max-width:46rem}
.prose--legal{max-width:46rem}
.prose h2{margin-top:1.9em;font-size:clamp(1.4rem,1.15rem + 1vw,1.8rem)}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.6em}
.prose .feature h3,.prose .steps h3{margin-top:0}
.prose--legal h2{font-size:1.35rem}
.prose--legal h3{font-size:1.08rem}
.prose--legal{overflow-wrap:anywhere}
.prose--wide{max-width:none}

.module{display:grid;grid-template-columns:minmax(0,62rem) minmax(18rem,22rem);justify-content:space-between;gap:clamp(32px,5vw,96px);align-items:start}
.module__aside{position:sticky;top:calc(var(--header) + 1.5rem);display:grid;gap:18px}
@media (max-width:980px){.module{grid-template-columns:1fr}.module__aside{position:static}.toc{display:none}}
.toc{padding:20px 20px 16px;border-radius:var(--radius);background:var(--tint)}
.toc h2,.related h2{font:650 .78rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.9em}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.toc a{display:block;padding:.5em .8em;border-radius:10px;color:var(--text);font-size:.92rem;line-height:1.35;text-decoration:none;transition:background-color .15s,color .15s,transform .15s}
.toc a:hover{background:#fff;color:var(--petrol)}
.toc a.is-active{background:var(--navy);color:#fff;transform:translateX(4px);font-weight:600}
.contact-box{padding:24px;border-radius:var(--radius);background:linear-gradient(160deg,var(--navy-deep),var(--navy));color:#cfdde7;box-shadow:var(--shadow)}
.contact-box h2{color:#fff;font-size:1.2rem;margin-bottom:.5em}
.contact-box p{font-size:.94rem}
.contact-box .btn--primary{background:#fff;color:var(--navy);box-shadow:none}
.contact-box .btn--primary:hover{background:var(--tint-2)}
.contact-box__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.contact-box__list a{display:flex;align-items:center;gap:10px;padding:.5em 0;color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .15s,color .15s}
.contact-box__list a:hover{color:var(--sky);transform:translateX(4px)}
.contact-box__list .icon{color:var(--sky)}
.related{padding:20px;background:var(--tint);box-shadow:none}
.related__list{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.related__list a{display:flex;align-items:center;gap:10px;padding:.5em .8em;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;font-size:.93rem;transition:background-color .15s,color .15s,transform .15s}
.related__list a:hover{background:#fff;color:var(--petrol);transform:translateX(4px)}
.related__list .icon{color:var(--petrol)}

/* reference logos */
.logo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:12px}
.logo-grid li{position:relative;display:flex;align-items:center;justify-content:center;height:5.6rem;padding:14px 18px;border-radius:14px;box-shadow:0 2px 10px rgba(10,53,80,.07);transition:transform .22s,box-shadow .22s;overflow:hidden}
.logo-grid li:hover,.logo-grid li:focus-visible{transform:translateY(-6px) scale(1.04);box-shadow:var(--shadow-lg);z-index:1}
.logo-grid img{max-height:3.4rem;width:auto;max-width:100%;object-fit:contain;transition:transform .25s}
.logo-grid li::after{content:attr(data-name);position:absolute;left:0;right:0;bottom:0;padding:.5em .6em;background:var(--navy);color:#fff;font-size:.74rem;font-weight:600;line-height:1.25;text-align:center;transform:translateY(100%);transition:transform .22s}
.logo-grid li:hover::after,.logo-grid li:focus-visible::after{transform:none}
.logo-grid li:hover img,.logo-grid li:focus-visible img{transform:translateY(-.7rem)}
.logo-grid li.is-hidden{display:none}

/* contact + forms: filled fields, thick focus ring */
.contact-list{list-style:none;margin:1.8em 0 0;padding:0;display:grid;gap:10px}
.contact-list a,.contact-list__static{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.contact-list a:hover{transform:translateX(4px);box-shadow:var(--shadow-lg)}
.contact-list .icon{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:12px;background:var(--tint-2);color:var(--petrol)}
.contact-list a>span,.contact-list__static>span{display:grid;line-height:1.35}
.contact-list strong{font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:650}
.card{border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-lg)}
.form{padding:clamp(22px,3.2vw,40px)}
.form h2{font-size:1.45rem;margin-bottom:.3em}
.form__sub{color:var(--muted);font-size:.95rem;margin-bottom:1.2em}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form__grid--top,.form__grid--gap{margin-top:20px}
@media (max-width:560px){.form__grid{grid-template-columns:1fr}}
.field{display:grid;gap:6px;align-content:start}
.field--full{grid-column:1/-1}
.field>span{font-weight:650;font-size:.9rem;color:var(--ink)}
.field input,.field textarea,.field select{width:100%;font:400 1rem/1.4 var(--font);color:var(--ink);background:var(--tint);border:0;border-radius:12px;padding:.85em 1em;transition:background-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:7.5rem}
.field input:hover,.field textarea:hover,.field select:hover{background:var(--tint-2)}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;background:#fff;box-shadow:0 0 0 3px var(--petrol)}
.field [aria-invalid="true"]{background:#fdecea;box-shadow:0 0 0 3px var(--red-dark)}
.field__msg{font-size:.82rem;color:var(--red-dark);font-weight:600}
.choices{border:0;padding:0;margin:20px 0 0;min-width:0}
.choices legend{font-weight:650;font-size:.9rem;color:var(--ink);margin-bottom:10px;padding:0}
.choices legend small{font-weight:400;color:var(--muted)}
.choices__list{display:flex;flex-wrap:wrap;gap:8px}
.choices label{position:relative;cursor:pointer}
.choices input{position:absolute;opacity:0;width:1px;height:1px}
.choices span{display:inline-block;padding:.5em .95em;border-radius:999px;background:var(--tint);font-size:.88rem;font-weight:550;color:var(--ink);transition:background-color .15s,color .15s,transform .15s}
.choices label:hover span{background:var(--tint-2);transform:translateY(-1px)}
.choices input:checked+span{background:var(--petrol);color:#fff}
.choices input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.choices--radio .choices__list{gap:10px}
.consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:.9rem;line-height:1.5}
.consent input{margin-top:.2em;width:1.25em;height:1.25em;accent-color:var(--petrol);flex:none}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.turnstile{margin:0 0 16px}
.form__error{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#fdecea;color:#8a1c1c;font-weight:600}
.form__hint{font-size:.85rem;color:var(--muted);margin:14px 0 0}
.form__ok{text-align:center;padding:20px 10px}
.form__ok-icon{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:50%;background:#e3f6ea;color:var(--green-dark);margin-bottom:16px;animation:pop .4s ease}
.form__ok-icon .icon{width:32px;height:32px;stroke-width:3}
.form__ok p:last-child{margin:0}
.form__topic{display:none;align-items:center;gap:10px;margin:0 0 18px;padding:10px 14px;border-radius:12px;background:#e3f6ea;font-size:.92rem;color:var(--ink)}
.form__topic.is-on{display:flex}
.form__topic .icon{color:var(--green-dark)}
.form__meter{height:8px;border-radius:999px;background:var(--tint-2);margin:0 0 22px;overflow:hidden}
.form__meter i{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--petrol),var(--green));transition:width .35s}
.expect{list-style:none;margin:1.6em 0 0;padding:0;display:grid;gap:14px}
.expect li{display:flex;gap:14px;align-items:flex-start}
.expect .icon{width:2.6rem;height:2.6rem;padding:.6rem;border-radius:12px;background:#fff;box-shadow:var(--shadow);color:var(--petrol)}
.expect strong{display:block}
.expect span span{font-size:.94rem}

/* login + downloads */
.login{max-width:27rem;margin-inline:auto}
.login .form{padding:clamp(24px,4vw,40px)}
.login .field{margin-bottom:16px}
.login .btn--block{margin-top:4px}
.downloads{list-style:none;margin:1.5em 0;padding:0;display:grid;gap:10px}
.downloads a{display:flex;align-items:center;gap:16px;padding:16px 20px;color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.downloads a:hover{transform:translateX(4px);box-shadow:var(--shadow-lg)}
.downloads .icon:first-child{width:1.7rem;height:1.7rem;color:var(--petrol)}
.downloads span{flex:1;display:grid;line-height:1.4}
.downloads small{color:var(--muted)}
.downloads .icon:last-child{color:var(--muted)}

/* phone-only action bar */
.dock{display:none}
@media (max-width:760px){
  .dock{position:fixed;left:10px;right:10px;bottom:10px;z-index:30;display:grid;grid-template-columns:auto 1fr;gap:8px;padding:8px;border-radius:999px;background:rgba(7,42,64,.94);box-shadow:var(--shadow-lg);transform:translateY(140%);transition:transform .3s}
  .dock.is-on{transform:none}
  .dock a{display:flex;align-items:center;justify-content:center;gap:8px;padding:.8em 1.1em;border-radius:999px;font-weight:650;font-size:.95rem;text-decoration:none}
  .dock a:first-child{background:rgba(255,255,255,.14);color:#fff}
  .dock a:last-child{background:#fff;color:var(--navy)}
  body:has(.dock) .site-footer__legal{padding-bottom:72px}
}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-deep);color:#b5c8d5;margin-top:clamp(72px,9vw,128px);border-radius:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0 0}
.cta{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(28px,4.5vw,56px);border-radius:calc(var(--radius) + 10px);background:radial-gradient(30rem 20rem at 90% 0%,rgba(159,208,242,.4),transparent 60%),linear-gradient(135deg,var(--petrol-dark),var(--petrol) 55%,var(--blue));color:#e3f1f8;box-shadow:var(--shadow-lg);transform:translateY(clamp(-72px,-6vw,-48px));margin-bottom:clamp(-40px,-3vw,-16px)}
.cta h2{color:#fff}
.cta .eyebrow{color:#d5ecf8}
.cta__text p:last-child{margin-bottom:0}
.cta__contact{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cta__contact a,.cta__contact>li>span{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:600;transition:background-color .15s,transform .15s}
.cta__contact a:hover{background:rgba(255,255,255,.26);color:#fff;transform:translateX(-6px)}
.cta__contact .icon{width:1.4rem;height:1.4rem}
.cta__contact a>span,.cta__contact>li>span>span{display:grid;line-height:1.35}
.cta__contact small{font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;font-weight:600;color:#d5ecf8}
@media (max-width:860px){.cta{grid-template-columns:1fr}}
.site-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.1fr;gap:clamp(24px,4vw,56px);padding-block:clamp(20px,3vw,40px) clamp(40px,5vw,64px)}
.site-footer__logo{height:2.4rem;width:auto;margin-bottom:1.2rem}
.site-footer__about p{font-size:.93rem;max-width:24rem}
.site-footer__title{font:650 .78rem/1.3 var(--font);letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-bottom:1.1em}
.site-footer__list{list-style:none;margin:0;padding:0;display:grid;gap:.55em;font-size:.94rem}
.site-footer a{color:#d3e2ec;text-decoration:none;transition:color .15s}
.site-footer a:hover{color:#fff}
.site-footer .btn--light,.site-footer .btn--light:hover{color:var(--navy)}
.site-footer .btn--ghost-light{color:#fff}
.site-footer__list a{display:inline-block;transition:transform .15s,color .15s}
.site-footer__list a:hover{transform:translateX(4px)}
.site-footer__contact li{display:flex;gap:10px;align-items:flex-start}
.site-footer__contact .icon{color:var(--sky);margin-top:.2em}
.site-footer__legal{font-size:.86rem;color:#8fa9b9}
.site-footer__legal-in{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;padding-block:20px}
.site-footer__legal p{margin:0}
.site-footer__links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.site-footer:not(:has(.cta)){margin-top:0}
.site-footer:not(:has(.cta)) .site-footer__grid{padding-top:clamp(40px,5vw,64px)}
@media (max-width:980px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.site-footer__grid{grid-template-columns:1fr}}
.to-top{position:fixed;right:18px;bottom:18px;z-index:29;display:grid;place-items:center;width:3rem;height:3rem;border:0;border-radius:50%;background:var(--navy);color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .25s,transform .25s,background-color .2s}
.to-top.is-on{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{background:var(--petrol)}
.to-top .icon{transform:rotate(-90deg)}
@media (max-width:760px){.to-top{display:none}}

/* ---------- motion ---------- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms)}
[data-reveal].is-in{opacity:1;transform:none}
.ring__seg{transition:stroke-dasharray 1.1s cubic-bezier(.2,.7,.2,1)}
.ring.is-zero .ring__seg{stroke-dasharray:0 264!important}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .logos__track{animation:none}
  [data-reveal]{opacity:1;transform:none}
}
@media print{.site-header,.site-footer .cta,.menu-btn,.dock,.to-top{display:none}}

/* tables stack on phones instead of scrolling sideways */
@media (max-width:640px){
  table,tbody,tr,th,td{display:block}
  thead{display:none}
  tbody tr{padding:.9em 1.1em}
  th,td{padding:.15em 0}
  td:empty{display:none}
  tbody td:first-child:not(:only-child){font-size:.78rem;font-weight:650;color:var(--muted)}
}
