@font-face {
  font-family: "Noto Sans Encavis";
  src: url("../fonts/noto-sans-light.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Noto Sans Encavis";
  src: url("../fonts/noto-sans-latin.woff2") format("woff2");
  font-display: swap;
  font-style: normal;
  font-weight: 400 700;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --encavis-header-height: 5.5rem;
  --encavis-radius: 0.35rem;
  --encavis-shadow: 0 0.75rem 2rem rgb(0 95 116 / 10%);
  --clr-primary-01: #61c3d9;
  --clr-primary-01-shade-high: #62abbc;
  --clr-primary-01-shade-low: #d0edf4;
  --clr-primary-02: #a2c617;
  --clr-primary-03: #005f74;
  --clr-highlight: #642ed2;
  --clr-secondary-01: #fff;
  --clr-secondary-02: #070707;
  --clr-secondary-03: #404040;
  --clr-secondary-04: #ececec;
  --clr-text-01: #202020;
  --clr-text-02: #fff;
  --clr-text-inactive: #9f9f9f;
  --clr-bg-01: #f8f8f8;
  --clr-bg-01-elevated: #fff;
  --clr-bg-02: #f4f4f4;
  --clr-bg-02-elevated: #fff;
  --clr-bg-03: #545454;
  --clr-bg-04: #fff;
  --clr-bg-05: #ededed;
  --clr-icon-01: #202020;
  --clr-icon-02: #fff;
  --clr-divider: #d9d9d9;
  --clr-form: #fff;
  --encavis-cta-text: var(--clr-text-02);
  --encavis-focus: var(--clr-primary-03);
  --encavis-powersave-knob: 0.75rem;

  color-scheme: light;
}

* { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
}

body {
  background: var(--clr-bg-01);
  color: var(--clr-text-01);
  margin: 0;
  overflow-wrap: break-word;
  text-rendering: optimizelegibility;
}
img, video { height: auto; max-width: 100%; }
button, input, select, textarea { font: inherit; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 0.08em; }
a:hover { text-decoration-thickness: 0.14em; }
:focus-visible { box-shadow: 0 0 0 3px #fff; outline: 3px solid var(--encavis-focus); outline-offset: 3px; }
.screen-reader-text:focus { background: #fff; color: #202020; clip-path: none; display: block; height: auto; left: 1rem; padding: 0.75rem 1rem; top: 1rem; width: auto; z-index: 100000; }

.encavis-site-header {
  backdrop-filter: blur(14px);
  background: rgb(255 255 255 / 94%);
  border-bottom: 1px solid rgb(0 95 116 / 10%);
  min-height: var(--encavis-header-height);
  position: sticky;
  top: 0;
  z-index: 100;
}

.encavis-logo { line-height: 0; }
.encavis-logo a { color: inherit; display: inline-block; }
.encavis-logo svg { display: block; height: auto; width: clamp(8rem, 12vw, 11rem); }
.encavis-site-header .wp-block-navigation-item__content { color: currentcolor; text-decoration: none; }
.encavis-site-header .wp-block-navigation-item__content:hover { color: var(--clr-primary-03); }
.encavis-contact-cta a { background: var(--clr-primary-01) !important; color: var(--clr-text-02) !important; }
.encavis-language-switcher { align-items: center; display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; margin: 0; padding: 0; }
.encavis-language-switcher a { align-items: center; display: inline-flex; font-size: 0.8125rem; font-weight: 650; min-height: 2.75rem; padding-inline: 0.2rem; text-decoration: none; text-transform: uppercase; }
.encavis-language-switcher [aria-current="page"] { border-bottom: 2px solid currentcolor; }

.encavis-hero {
  min-height: min(48rem, calc(100svh - var(--encavis-header-height)));
  overflow: clip;
  position: relative;
}
.encavis-hero::after { background: linear-gradient(90deg, rgb(0 38 46 / 78%), transparent 72%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.encavis-hero > .wp-block-cover__inner-container { align-self: end; padding-bottom: clamp(3rem, 7vw, 8rem); position: relative; z-index: 1; }
.encavis-hero h1 { font-size: var(--wp--preset--font-size--display); line-height: 0.98; max-width: 12ch; text-wrap: balance; }

.encavis-eyebrow { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.encavis-section { padding-block: var(--wp--preset--spacing--xl); }
.encavis-grid { align-items: stretch; }
.encavis-stat { border-top: 2px solid var(--clr-primary-03); padding-top: 1rem; }
.encavis-stat strong { color: var(--clr-primary-01); display: block; font-size: clamp(2.4rem, 6vw, 5.5rem); font-weight: 350; letter-spacing: -0.06em; line-height: 1; }
.is-style-encavis-card { background: var(--clr-bg-02-elevated); border-radius: var(--encavis-radius); box-shadow: var(--encavis-shadow); height: 100%; overflow: clip; padding: clamp(1.25rem, 2.5vw, 2.5rem); transition: transform 180ms ease, box-shadow 180ms ease; }
.is-style-encavis-card:hover { box-shadow: 0 1rem 2.5rem rgb(0 95 116 / 16%); transform: translateY(-0.25rem); }
.is-style-encavis-outline .wp-block-button__link { background: transparent !important; border: 2px solid currentcolor; color: var(--clr-primary-03) !important; }
.is-style-encavis-portrait img { aspect-ratio: 4 / 5; object-fit: cover; }
.encavis-quote { background: var(--clr-primary-03); color: var(--encavis-cta-text); padding-block: var(--wp--preset--spacing--l); }
.encavis-quote blockquote { font-size: clamp(1.5rem, 3vw, 3rem); line-height: 1.22; }
.encavis-download { align-items: center; border-top: 1px solid rgb(0 95 116 / 28%); display: grid; gap: 1rem; grid-template-columns: 1fr auto; padding-block: 1rem; }

.encavis-reveal { opacity: 0; transform: translateY(1rem); transition: opacity 500ms ease, transform 500ms ease; }
.encavis-reveal.is-visible { opacity: 1; transform: none; }

.encavis-powersave-toggle { align-items: center; background: transparent; border: 1px solid currentcolor; border-radius: 999px; color: inherit; cursor: pointer; display: inline-flex; gap: 0.45rem; min-height: 2.75rem; padding: 0.5rem 0.8rem; }

html[data-encavis-powersave="true"] {
  --clr-primary-01: #79d4e9;
  --clr-primary-01-shade-high: #b0e1ec;
  --clr-primary-01-shade-low: #62abbc;
  --clr-primary-02: #b4d924;
  --clr-primary-03: #117f97;
  --clr-highlight: #d389ea;
  --clr-secondary-01: #070707;
  --clr-secondary-02: #fff;
  --clr-secondary-03: #969696;
  --clr-secondary-04: #454545;
  --clr-text-01: #ededed;
  --clr-text-02: #202020;
  --clr-text-inactive: #8f8f8f;
  --clr-bg-01: #1d1d1d;
  --clr-bg-01-elevated: #2b2b2b;
  --clr-bg-02: #242424;
  --clr-bg-02-elevated: #3f3f3f;
  --clr-bg-03: #f4f4f4;
  --clr-icon-01: #ededed;
  --clr-icon-02: #202020;
  --clr-divider: #828282;
  --clr-form: #242424;
  --encavis-cta-text: var(--clr-text-01);
  --encavis-focus: var(--clr-primary-01);
  --encavis-powersave-knob: calc(100% - 0.75rem);

  color-scheme: dark;
}

html[data-encavis-powersave="true"] .is-style-encavis-card { box-shadow: none; }

html[data-encavis-powersave="true"] .encavis-hero video,
html[data-encavis-powersave="true"] iframe,
html[data-encavis-powersave="true"] [data-encavis-nonessential-media] { display: none !important; }

.encavis-consent-placeholder { background: var(--clr-bg-02); border: 1px solid var(--clr-divider); display: grid; min-height: 16rem; padding: 2rem; place-items: center; text-align: center; }
.encavis-site-footer { background: var(--clr-primary-03); color: var(--encavis-cta-text); margin-top: var(--wp--preset--spacing--xl); padding-block: var(--wp--preset--spacing--l); }
.encavis-site-footer a { color: inherit; }

@media (width <= 781px) {
  :root { --encavis-header-height: 4.5rem; }
  .encavis-site-header { backdrop-filter: none; }
  .encavis-site-header > .wp-block-group { flex-wrap: wrap !important; row-gap: 0.25rem; }
  .encavis-site-header .wp-block-navigation { margin-inline-start: auto; }
  .encavis-site-header .encavis-powersave-toggle { order: 3; }
  .encavis-site-header .encavis-language-navigation { order: 4; }
  .encavis-site-header .wp-block-buttons { margin-inline-start: auto; order: 5; }
  .encavis-hero { min-height: 70svh; }
  .encavis-hero::after { background: linear-gradient(0deg, rgb(0 38 46 / 82%), transparent 80%); }
  .encavis-download { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
  .encavis-reveal { opacity: 1; transform: none; }
}

@media print {
  .encavis-site-header, .encavis-site-footer, .encavis-powersave-toggle, .encavis-consent-placeholder { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
  a { color: #000 !important; text-decoration: underline; }
}
