

:root {
  --bg: #0E2A2E;
  --surface: #143840;
  --text: #EAF4F3;
  --muted: #93B0B3;
  --accent: #F0715A;
  --accent2: #4FA6A0;

  --site-bg: #0E2A2E;
  --site-surface: #143840;
  --site-text: #EAF4F3;
  --site-muted: #93B0B3;
  --site-accent: #F0715A;

  --line: rgba(240,113,90,.55);        
  --hair: rgba(147,176,179,.22);       
  --shell: 1024px;
  --passage: 700px;

  --pad-sec: 110px}

* { box-sizing: border-box}

html { scroll-behavior: smooth}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Lora", Georgia, serif;
  font-weight: 400;
  line-height: 1.65;
  font-size: clamp(16px, 1.05vw, 18px);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden}

img { max-width: 100%; display: block}

a { color: var(--accent); text-decoration: none}
a:hover { text-decoration: underline}

h1, h2, h3, h4 {
  font-family: "Lora", Georgia, serif;
  font-weight: 600;
  line-height: 1.12;
  margin: 0 0 .5em;
  letter-spacing: -.01em}

p { margin: 0 0 1.1em}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 2px}

.psn-shell {
  width: 100%;
  max-width: var(--shell);
  margin: 0 auto;
  padding: 0 24px}
.psn-passage { max-width: var(--passage)}

.psn-section { padding: var(--pad-sec) 0}

.psn-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--accent2);
  margin: 0 0 22px}
.psn-eyebrow::before {
  content: "";
  width: 46px;
  height: 1px;
  background: var(--line)}

.psn-section-kop { max-width: var(--passage); margin-bottom: 56px}
.psn-section-kop h2 { font-size: clamp(1.8rem, 4vw, 2.7rem)}
.psn-section-kop p { color: var(--muted)}

.psn-garis {
  border: 0;
  height: 1px;
  background: var(--line);
  margin: 0}

.trigger-xf4 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: inherit;
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 14px 26px;
  border-radius: 2px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .1s ease;
  text-decoration: none;
  line-height: 1}
.trigger-xf4:hover { text-decoration: none}
.trigger-xf4:active { transform: translateY(1px)}
.trigger-xf4--primary {
  background: var(--accent);
  color: #221012;
  border-color: var(--accent)}
.trigger-xf4--primary:hover { background: #f4876f; border-color: #f4876f}
.trigger-xf4--ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--hair)}
.trigger-xf4--ghost:hover { border-color: var(--accent2); color: var(--text)}
.trigger-xf4:disabled { opacity: .5; cursor: not-allowed}

.input-9li {
  width: 100%;
  font-family: inherit;
  font-size: 1rem;
  color: var(--text);
  background: rgba(14,42,46,.6);
  border: 1px solid var(--hair);
  border-radius: 2px;
  padding: 13px 15px;
  min-height: 50px;
  transition: border-color .2s ease, box-shadow .2s ease}
textarea.input-9li { min-height: 150px; resize: vertical}
.input-9li::placeholder { color: rgba(147,176,179,.7)}
.input-9li:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(240,113,90,.18)}
.psn-veld { margin-bottom: 20px}
.psn-veld label {
  display: block;
  font-size: .74rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px}

.card-l6w {
  background: var(--surface);
  border: 1px solid var(--hair);
  border-radius: 2px;
  padding: 34px}
.tag-t4m {
  display: inline-block;
  font-size: .66rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--accent2);
  border: 1px solid var(--hair);
  border-radius: 2px;
  padding: 5px 11px}

#page-header-ysh {
  position: sticky;
  top: 20px;
  z-index: 60;
  padding: 0 24px}
.psn-nav-pil {
  width: 100%;
  max-width: 1100px;
  height: 60px;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--hair);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 12px 0 26px;
  transition: border-color .25s ease, background .25s ease}
#page-header-ysh.is-scrolled .psn-nav-pil {
  border-color: var(--line);
  background: #163e46}

.psn-merk {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text);
  letter-spacing: -.01em;
  white-space: nowrap}
.psn-merk:hover { text-decoration: none}
.psn-merk__ikon { width: 22px; height: 22px; align-self: center; display: block}
.psn-merk__ikon path,
.psn-merk__ikon circle,
.psn-merk__ikon line { stroke: var(--accent)}

.psn-nav-lijst {
  display: flex;
  align-items: center;
  gap: 26px;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
  justify-content: center}
.psn-nav-lijst a {
  color: var(--muted);
  font-size: .9rem;
  letter-spacing: .02em}
.psn-nav-lijst a:hover,
.psn-nav-lijst a.psn-nav-lijst__aktif { color: var(--text); text-decoration: none}

.psn-nav-knop {
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 9999px;
  background: var(--accent);
  color: #221012;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer}
.psn-nav-knop:hover { background: #f4876f; text-decoration: none}

#burger-t2i {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--hair);
  border-radius: 9999px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-size: 1.1rem}

#nav-overlay-ybg {
  position: fixed;
  inset: 0;
  background: rgba(14,42,46,.7);
  backdrop-filter: blur(2px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease;
  z-index: 90}
#nav-overlay-ybg.is-open { opacity: 1; visibility: visible}

#drawer-teg {
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: min(320px, 84vw);
  background: var(--surface);
  border-left: 1px solid var(--line);
  transform: translateX(100%);
  transition: transform .3s ease;
  z-index: 100;
  padding: 26px;
  display: flex;
  flex-direction: column;
  gap: 8px}
#drawer-teg.is-open { transform: translateX(0)}
#drawer-teg .psn-drawer-lijst {
  list-style: none;
  margin: 24px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px}
#drawer-teg .psn-drawer-lijst a {
  display: block;
  padding: 14px 6px;
  color: var(--text);
  border-bottom: 1px solid var(--hair);
  font-size: 1.05rem}
#drawer-teg .psn-drawer-lijst a:hover { text-decoration: none; color: var(--accent)}
#nav-close-43g {
  align-self: flex-end;
  width: 42px; height: 42px;
  border: 1px solid var(--hair);
  border-radius: 9999px;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  font-size: 1.1rem}

.psn-hero {
  position: relative;
  padding-top: 60px}
.psn-hero-rooster {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin-top: 40px}
.psn-hero-judul {
  font-size: clamp(2.4rem, 7vw, 4.6rem);
  position: relative;
  z-index: 2}
.psn-hero-judul em { color: var(--accent); font-style: normal}
.psn-hero-tekst { max-width: 56ch; color: var(--muted); margin-top: 8px}
.psn-hero-acties { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px}

.psn-hero-beeld {
  position: relative;
  aspect-ratio: 16 / 10;
  border: 1px solid var(--hair);
  border-radius: 2px;
  overflow: hidden;
  margin-top: -40px;      
}
.psn-hero-beeld img { width: 100%; height: 100%; object-fit: cover}

@media (min-width: 860px) {
  .psn-hero-rooster {
    grid-template-columns: 1fr 1fr;
    align-items: start;
    gap: 40px}
  .psn-hero-kop { padding-top: 40px}
  .psn-hero-beeld { margin-top: -70px}
  .psn-hero-judul {
    
    margin-right: -90px}
}

.psn-hero--type {
  text-align: center;
  padding: 130px 0 90px}
.psn-hero--type .psn-hero-judul {
  font-size: clamp(2.6rem, 8vw, 5.2rem);
  margin: 0 auto}
.psn-hero--type .psn-eyebrow { justify-content: center}
.psn-hero--type .psn-hero-tekst { margin: 18px auto 0}

.psn-hero--boxed { padding: 80px 0}
.psn-hero--boxed .psn-hero-doos {
  border: 1px solid var(--line);
  border-radius: 2px;
  padding: clamp(40px, 8vw, 90px);
  text-align: center}
.psn-hero--boxed .psn-eyebrow { justify-content: center}
.psn-hero--boxed .psn-hero-judul { margin: 0 auto}
.psn-hero--boxed .psn-hero-tekst { margin: 18px auto 0}

.psn-page-hero {
  text-align: center;
  padding: 120px 0 60px}
.psn-page-hero .psn-eyebrow { justify-content: center}
.psn-page-hero h1 { font-size: clamp(2.2rem, 6vw, 3.6rem)}
.psn-page-hero p { color: var(--muted); max-width: 55ch; margin: 14px auto 0}

.psn-stat-rij {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 30px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 50px 0}
.psn-stat-item { text-align: center; min-width: 0}
.psn-stat-cijfer {
  font-size: clamp(2.4rem, 6vw, 3.6rem);
  font-weight: 700;
  color: var(--text);
  line-height: 1}
.psn-stat-label {
  display: block;
  margin-top: 12px;
  font-size: .74rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted)}

.psn-stat-kaarten {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px}
.psn-stat-kaart { text-align: left}
.psn-stat-kaart i { color: var(--accent2); font-size: 1.4rem; margin-bottom: 16px; display: block}
.psn-stat-kaart .psn-stat-cijfer { font-size: clamp(2rem, 4vw, 2.8rem)}

.psn-stat-veld {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--hair);
  border: 1px solid var(--hair)}
.psn-stat-veld .psn-stat-cel {
  background: var(--surface);
  padding: 44px 30px;
  min-width: 0}
.psn-stat-veld .psn-stat-cijfer { font-size: clamp(2.2rem, 5vw, 3.2rem)}
@media (max-width: 560px) {
  .psn-stat-veld { grid-template-columns: 1fr}
}

.psn-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px 44px;
  padding: 40px 0}
.psn-trust-merk {
  color: var(--muted);
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-width: 0}
.psn-trust-merk i { color: var(--accent2); font-size: 1.2rem}

.psn-trust-garantie {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 24px}
.psn-trust-garantie .card-l6w { text-align: center}
.psn-trust-garantie i { color: var(--accent); font-size: 1.7rem; margin-bottom: 16px; display: block}
.psn-trust-garantie h3 { font-size: 1.15rem}
.psn-trust-garantie p { color: var(--muted); margin: 0; font-size: .95rem}

.psn-quote-rij {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px}
.psn-quote-kaart blockquote {
  margin: 0 0 22px;
  font-size: 1.08rem;
  line-height: 1.6}
.psn-quote-kaart::before {
  content: "";
  display: block;
  width: 40px; height: 1px;
  background: var(--line);
  margin-bottom: 22px}
.psn-quote-bron { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; min-width: 0}
.psn-quote-bron b { color: var(--text); font-weight: 600}
.psn-quote-bron span { color: var(--muted); font-size: .85rem; display: block}
.psn-quote-foto {
  width: 48px; height: 48px; min-width: 48px;
  border-radius: 9999px; overflow: hidden;
  border: 1px solid var(--hair)}
.psn-quote-foto img { width: 100%; height: 100%; object-fit: cover}

.psn-quote-groot {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center}
.psn-quote-groot__foto {
  aspect-ratio: 4 / 5;
  border: 1px solid var(--hair);
  border-radius: 2px;
  overflow: hidden}
.psn-quote-groot__foto img { width: 100%; height: 100%; object-fit: cover}
.psn-quote-groot blockquote {
  margin: 0;
  font-size: clamp(1.3rem, 3vw, 1.9rem);
  line-height: 1.45}
.psn-quote-groot cite { display: block; margin-top: 24px; color: var(--muted); font-style: normal}
@media (min-width: 780px) {
  .psn-quote-groot { grid-template-columns: 5fr 7fr}
}

.psn-quote-duo {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px}
.psn-quote-duo blockquote { font-size: 1.15rem; margin: 0 0 20px}

.psn-prijs-rij {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 24px;
  align-items: start}
.psn-prijs-kaart { display: flex; flex-direction: column}
.psn-prijs-kaart .tag-t4m { align-self: flex-start; margin-bottom: 20px}
.psn-prijs-naam { font-size: 1.25rem}
.psn-prijs-cijfer {
  font-size: clamp(2.2rem, 5vw, 3rem);
  font-weight: 700;
  color: var(--text);
  margin: 12px 0 4px}
.psn-prijs-cijfer small { font-size: .9rem; color: var(--muted); font-weight: 400}
.psn-prijs-lijst {
  list-style: none;
  margin: 24px 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--hair);
  display: flex;
  flex-direction: column;
  gap: 12px}
.psn-prijs-lijst li { display: flex; gap: 12px; color: var(--muted); min-width: 0}
.psn-prijs-lijst i { color: var(--accent2); margin-top: 5px}
.psn-prijs-kaart .trigger-xf4 { margin-top: auto}
.psn-prijs-kaart__unggulan {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
  position: relative}

.psn-prijs-solo {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center}
.psn-prijs-solo__box { text-align: center}
.psn-prijs-solo__box .psn-prijs-cijfer { font-size: clamp(3rem, 8vw, 4.6rem)}
@media (min-width: 780px) {
  .psn-prijs-solo { grid-template-columns: 1fr 1fr}
  .psn-prijs-solo__box { text-align: left}
}

.psn-cta {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center;
  padding: var(--pad-sec) 0}
.psn-cta h2 { font-size: clamp(1.9rem, 5vw, 3rem); margin: 0 auto .4em}
.psn-cta p { color: var(--muted); max-width: 50ch; margin: 0 auto 30px}

.psn-cta-split {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
  align-items: center}
.psn-cta-split__info { display: flex; flex-direction: column; gap: 16px}
.psn-cta-split__info a { color: var(--text); display: inline-flex; gap: 12px; align-items: center; min-width: 0}
.psn-cta-split__info i { color: var(--accent)}
@media (min-width: 780px) {
  .psn-cta-split { grid-template-columns: 3fr 2fr}
}

.psn-cta-kaart {
  border: 1px solid var(--line);
  border-radius: 2px;
  text-align: center;
  padding: clamp(44px, 8vw, 80px);
  max-width: 760px;
  margin: 0 auto}
.psn-cta-kaart h2 { font-size: clamp(1.8rem, 4vw, 2.6rem)}
.psn-cta-kaart p { color: var(--muted); max-width: 48ch; margin: 0 auto 28px}

.psn-kontak-rooster {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px}
.psn-kontak-info { display: flex; flex-direction: column; gap: 22px}
.psn-kontak-regel { display: flex; gap: 14px; align-items: flex-start; min-width: 0}
.psn-kontak-regel i { color: var(--accent); margin-top: 4px}
.psn-kontak-regel a, .psn-kontak-regel span { color: var(--text)}
.psn-kontak-regel small {
  display: block;
  color: var(--muted);
  font-size: .74rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 4px}
@media (min-width: 820px) {
  .psn-kontak-rooster { grid-template-columns: 5fr 7fr}
}

[data-accordion] { border-top: 1px solid var(--hair)}
[data-panel] { border-bottom: 1px solid var(--hair)}
[data-acc-head] {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  color: var(--text);
  font-family: inherit;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 24px 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center}
[data-acc-head]::after {
  content: "\002B";
  color: var(--accent);
  font-size: 1.3rem;
  transition: transform .25s ease}
[data-panel].is-open [data-acc-head]::after { transform: rotate(45deg)}
[data-panel] .psn-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease}
[data-panel].is-open .psn-acc-body { max-height: 600px}
.psn-acc-body p { color: var(--muted); padding-bottom: 24px; margin: 0}

.swipe-deck-3ja { padding-bottom: 50px}
.swipe-deck-3ja .swiper-slide { height: auto}
.swiper-pagination-bullet { background: var(--muted); opacity: .5}
.swiper-pagination-bullet-active { background: var(--accent); opacity: 1}
.swiper-button-prev, .swiper-button-next { color: var(--accent)}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 1.4rem}

.site-modal, .dialog-mx3 {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(14,42,46,.78);
  backdrop-filter: blur(3px)}
.site-modal.is-open, .dialog-mx3.is-open { display: flex}
.dialog-mx3__paneel, .site-modal__paneel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 2px;
  max-width: 460px;
  width: 100%;
  padding: 40px;
  text-align: center}
.dialog-mx3__paneel h3, .site-modal__paneel h3 { font-size: 1.5rem}
.dialog-mx3__paneel p, .site-modal__paneel p { color: var(--muted)}
.dialog-mx3__paneel .psn-veld { text-align: left; margin-top: 22px}

.psn-legal { padding: 60px 0 var(--pad-sec)}
.psn-legal .psn-passage h2 { margin-top: 44px; font-size: 1.5rem}
.psn-legal .psn-passage h3 { margin-top: 30px; font-size: 1.15rem}
.psn-legal .psn-passage p,
.psn-legal .psn-passage li { color: var(--muted)}
.psn-legal .psn-passage a { color: var(--accent)}

.psn-footer {
  border-top: 1px solid var(--line);
  padding: 80px 0 40px;
  margin-top: 40px}
.psn-footer-merk {
  font-size: clamp(56px, 12vw, 180px);
  font-weight: 700;
  line-height: .9;
  color: rgba(147,176,179,.28);
  letter-spacing: -.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip}
.psn-footer-legal {
  min-height: 48px;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--hair);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 26px}
.psn-footer-legal a { color: var(--muted); font-size: .85rem}
.psn-footer-legal a:hover { color: var(--text); text-decoration: none}
.psn-footer-legal .psn-footer-copy {
  color: var(--muted);
  font-size: .85rem;
  margin-left: auto;
  min-width: 0}

#side-dock-ruk {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 70}
#top-btn-3zu {
  width: 48px; height: 48px;
  border-radius: 9999px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--accent);
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  transition: background .2s ease}
#top-btn-3zu.is-visible { display: inline-flex}
#top-btn-3zu:hover { background: #163e46}

@media (max-width: 820px) {
  .psn-nav-lijst { display: none}
  #burger-t2i { display: inline-flex; align-items: center; justify-content: center}
  .psn-nav-pil { max-width: 100%}
}

[data-aos] { opacity: 1}

.cookie-bar-cvl-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998}
.cookie-bar-cvl-overlay.is-open{opacity:1;visibility:visible}
.cookie-bar-cvl-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999}
.cookie-bar-cvl-panel.is-open{opacity:1;visibility:visible}
.cookie-bar-cvl-panel h3{margin:0 0 8px;font-size:1.2rem}
.cookie-bar-cvl-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem}
.cookie-bar-cvl-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2)}
.cookie-bar-cvl-cat h4{margin:0 0 2px;font-size:.98rem}
.cookie-bar-cvl-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem}
.cookie-bar-cvl-switch{position:relative;flex:0 0 auto;width:44px;height:24px}
.cookie-bar-cvl-switch input{opacity:0;width:0;height:0;position:absolute}
.cookie-bar-cvl-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer}
.cookie-bar-cvl-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.cookie-bar-cvl-switch input:checked+span{background:var(--site-accent,#2b7)}
.cookie-bar-cvl-switch input:checked+span::before{transform:translateX(20px)}
.cookie-bar-cvl-switch input:disabled+span{opacity:.6;cursor:not-allowed}
.cookie-bar-cvl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cookie-bar-cvl-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}
.cookie-bar-cvl-actions #cookie-bar-cvl-all{background:var(--site-accent,#2b7);color:#fff}
.cookie-bar-cvl-actions #cookie-bar-cvl-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4)}
.cookie-bar-cvl-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem}
.cookie-bar-cvl-links a{color:var(--site-accent,#2b7);text-decoration:underline}
.cookie-bar-cvl-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem}

.cookie-bar-cvl-overlay{background:rgba(0,0,0,.5)}
.cookie-bar-cvl-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px}
.cookie-bar-cvl-panel.is-open{transform:translate(-50%,0)}
@media(max-width:520px){.cookie-bar-cvl-actions button{min-width:100%}}
#side-dock-ruk{left:auto !important;right:18px !important}
@media(max-width:520px){#side-dock-ruk{right:12px !important}}

.reply-box-6ma{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px)}
.reply-box-6ma.is-open{display:flex}
.reply-box-6ma__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:reply-box-6ma-in .22s ease-out}
@keyframes reply-box-6ma-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.reply-box-6ma__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff}
.reply-box-6ma__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.reply-box-6ma__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472)}
.reply-box-6ma__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff}
.reply-box-6ma__close:hover{filter:brightness(1.08)}
.reply-box-6ma__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.reply-box-6ma__box{animation:none}}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,svg,video,iframe,canvas{max-width:100%}
table{max-width:100%}

.simpleParallax{display:block;width:100%;height:100%}
.simpleParallax img{width:100%;height:100%;object-fit:cover}

blockquote, figure { margin-left: 0; margin-right: 0}

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0}

html.no-aos [data-aos]{opacity:1 !important;transform:none !important}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7}
.legal-doc h1{margin:0 0 .6em}
.legal-doc h2{margin:1.8em 0 .5em}
.legal-doc h3{margin:1.4em 0 .4em}
.legal-doc p,.legal-doc li{margin:0 0 .8em}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left}

@media (max-width: 720px) {
  body { overflow-x: hidden}
  h1, h2, h3, p, li, td { overflow-wrap: break-word}
  
  input, select, textarea { max-width: 100%; min-width: 0}
  
  img, svg, video, iframe, table { max-width: 100%}
}

@media (max-width: 720px) {
  
.psn-eyebrow,
.trigger-xf4,
.psn-nav-pil,
.psn-merk,
.psn-nav-knop,
#drawer-teg,
#drawer-teg .psn-drawer-lijst,
.psn-trust-merk,
.psn-prijs-kaart,
.psn-prijs-lijst,
.psn-prijs-lijst li,
.psn-cta-split__info,
.psn-cta-split__info a,
.psn-kontak-info,
.psn-kontak-regel,
[data-acc-head],
.site-modal.is-open, .dialog-mx3.is-open,
#top-btn-3zu.is-visible,
.cookie-bar-cvl-cat,
.cookie-bar-cvl-links,
.reply-box-6ma.is-open,
.reply-box-6ma__mark { flex-wrap: wrap}
  
.psn-eyebrow > *,
.trigger-xf4 > *,
.psn-nav-pil > *,
.psn-merk > *,
.psn-nav-knop > *,
#drawer-teg > *,
#drawer-teg .psn-drawer-lijst > *,
.psn-trust-merk > *,
.psn-prijs-kaart > *,
.psn-prijs-lijst > *,
.psn-prijs-lijst li > *,
.psn-cta-split__info > *,
.psn-cta-split__info a > *,
.psn-kontak-info > *,
.psn-kontak-regel > *,
[data-acc-head] > *,
.site-modal.is-open, .dialog-mx3.is-open > *,
#top-btn-3zu.is-visible > *,
.cookie-bar-cvl-cat > *,
.cookie-bar-cvl-links > *,
.reply-box-6ma.is-open > *,
.reply-box-6ma__mark > * { min-width: 0}
}

.cookie-bar-cvl-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.cookie-bar-cvl-overlay.is-open{opacity:1;visibility:visible;}
.cookie-bar-cvl-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.cookie-bar-cvl-panel.is-open{opacity:1;visibility:visible;}
.cookie-bar-cvl-panel h3{margin:0 0 8px;font-size:1.2rem;}
.cookie-bar-cvl-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.cookie-bar-cvl-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.cookie-bar-cvl-cat h4{margin:0 0 2px;font-size:.98rem;}
.cookie-bar-cvl-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.cookie-bar-cvl-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.cookie-bar-cvl-switch input{opacity:0;width:0;height:0;position:absolute;}
.cookie-bar-cvl-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.cookie-bar-cvl-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.cookie-bar-cvl-switch input:checked+span{background:var(--site-accent,#2b7);}
.cookie-bar-cvl-switch input:checked+span::before{transform:translateX(20px);}
.cookie-bar-cvl-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.cookie-bar-cvl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.cookie-bar-cvl-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.cookie-bar-cvl-actions #cookie-bar-cvl-all{background:var(--site-accent,#2b7);color:#fff;}
.cookie-bar-cvl-actions #cookie-bar-cvl-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.cookie-bar-cvl-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.cookie-bar-cvl-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.cookie-bar-cvl-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.cookie-bar-cvl-overlay{background:rgba(0,0,0,.5);}
.cookie-bar-cvl-panel{left:50%;bottom:24px;transform:translate(-50%,20px);width:min(560px,calc(100% - 32px));border-radius:16px;}
.cookie-bar-cvl-panel.is-open{transform:translate(-50%,0);}
@media(max-width:520px){.cookie-bar-cvl-actions button{min-width:100%;}}
#side-dock-ruk{left:auto !important;right:18px !important;}
@media(max-width:520px){#side-dock-ruk{right:12px !important;}}

.reply-box-6ma{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.reply-box-6ma.is-open{display:flex;}
.reply-box-6ma__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:reply-box-6ma-in .22s ease-out;}
@keyframes reply-box-6ma-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.reply-box-6ma__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.reply-box-6ma__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.reply-box-6ma__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.reply-box-6ma__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.reply-box-6ma__close:hover{filter:brightness(1.08);}
.reply-box-6ma__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.reply-box-6ma__box{animation:none;}}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}

.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}

blockquote, figure { margin-left: 0; margin-right: 0; }

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }

html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  
  input, select, textarea { max-width: 100%; min-width: 0; }
  
  img, svg, video, iframe, table { max-width: 100%; }
}
