/* Loaded only on the managed Quacent website pages. */
body.qwp-page {margin:0;max-width:none;background:#fff;}
.qwp-page #main {width:100%;max-width:none;margin:0;padding:0;}
.qwp-page .qwp-root {width:100%;max-width:none;margin:0;padding:0;}
.qwp-page .qwp-root > .elementor-container {width:100%;max-width:none;margin:0;}
.qwp-page .qwp-root > .elementor-container > .elementor-column {width:100%;min-width:0;}
.qwp-page .qwp-root > .elementor-container > .elementor-column > .elementor-widget-wrap {display:block;width:100%;padding:0;}
.qwp-page .elementor-widget-quacent_pilot_section {display:block;width:100%;margin:0!important;}
.qwp-page .elementor-widget-quacent_pilot_section > .elementor-widget-container {margin:0;padding:0;}
.qwp-page .elementor-widget-quacent_pilot_section p {font-family:inherit;}
.qwp-previewbar {font:12px/1.45 Arial,sans-serif;background:#edf5f8;color:#173540;border-bottom:1px solid #d4e2e8;}
.qwp-previewbar > .wrap {display:flex;gap:16px;justify-content:space-between;align-items:center;padding-block:8px;}
.qwp-previewbar nav {display:flex;gap:12px;flex-shrink:0;}
.qwp-previewbar a {color:#075c84;text-underline-offset:3px;}
.qwp-previewbar [aria-current=page] {font-weight:700;text-decoration-thickness:2px;}
.qwp-page .site-header {top:0;}
.qwp-page.admin-bar .site-header {top:32px;}
@media(max-width:782px){.qwp-page.admin-bar .site-header {top:46px;}.qwp-previewbar > .wrap{align-items:flex-start;}}
@media(max-width:600px){.qwp-previewbar > .wrap{display:block;}.qwp-previewbar nav{margin-top:5px;}}
/* Dutch navigation labels are longer: show the established mobile navigation sooner. */
@media(min-width:951px) and (max-width:1240px){
 html[lang=nl] .qwp-page .header-inner{flex-wrap:wrap;gap:10px;}
 html[lang=nl] .qwp-page .nav-wrap{flex:1 1 100%;justify-content:space-between;}
 html[lang=nl] .qwp-page .primary-nav a,html[lang=nl] .qwp-page .primary-nav summary{font-size:13px;}
}

/* The Dutch tagline may wrap; the menu remains inside the viewport without hiding content. */
@media(max-width:950px){
 .qwp-page .header-inner{min-width:0;gap:16px;}
 .qwp-page .brand{min-width:0;flex:1 1 auto;}
 .qwp-page .brand span{white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.3;}
 .qwp-page .brand img{max-width:100%;}
 .qwp-page .menu-toggle{flex:0 0 auto;}
}

/* 0.1.1 — managed-page integration with the active WordPress/Elementor theme.
   The live preview exposed two real cascade boundaries that the isolated source
   preview did not cover: Elementor image sizing and global kit typography.
   These selectors only affect .qwp-page; do not change the site's Global Kit.
   Clip ONLY the decorative photograph, never the hero's editable text. */
html.qwp-document {
  font-size: 100%;
}
body.qwp-page {
  --font-body: Arial, Helvetica, sans-serif;
  --qwp-heading: #1b4b61;
  --qwp-text: #3e5664;
  --qwp-subtle: #506775;
  --qwp-label: #006ca8;
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
  color: var(--qwp-text);
  background: #fff;
}
body.qwp-page #main {
  color: var(--qwp-text);
  background: #fff;
}
/* Ordinary reading surfaces are opaque. A photo must never show through a
   following content section simply because a global image rule changed. */
body.qwp-page #main :is(.section, .hww-section, .qc-section) {
  position: relative;
  background-color: #fff;
}
body.qwp-page #main :is(.soft, .hww-soft, .qc-soft) {
  background-color: #f6f7f5;
}
body.qwp-page #main :is(.dark, .hww-final, .hero-promises),
body.qwp-page .site-footer {
  --qwp-heading: #fff;
  --qwp-text: #deebf0;
  --qwp-subtle: #c2d6df;
  --qwp-label: #c5e3f0;
  color: var(--qwp-text);
  background-color: #142f3a;
}
/* The existing home enquiry block is light blue, not a dark section. */
body.qwp-page #main .enquiry {
  background-color: #eaf3f8;
}
body.qwp-page #main :is(h2,h3,h4,h5,h6),
body.qwp-page .site-footer :is(h2,h3,h4,h5,h6) {
  color: var(--qwp-heading);
  font-family: var(--font-body);
  font-style: normal;
  text-transform: none;
}
body.qwp-page #main h2 {
  font-size: clamp(1.85rem, 2.75vw, 2.65rem);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -.025em;
}
body.qwp-page #main h3 {
  font-size: 1.1875rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -.012em;
}
body.qwp-page #main :is(p,li,dd,dt,figcaption,label,legend),
body.qwp-page .site-footer :is(p,li,a) {
  font-family: var(--font-body);
}
body.qwp-page #main p {
  color: var(--qwp-text);
  font-weight: 400;
}
body.qwp-page #main :is(.eyebrow,.hww-kicker,.qc-kicker) {
  color: var(--qwp-label);
  font-weight: 700;
}
body.qwp-page #main :is(.lead,.muted,.qc-help,.qc-optional,.qc-required) {
  color: var(--qwp-subtle);
}
body.qwp-page #main :is(.dark,.hww-final,.hero-promises) :is(h2,h3,h4,h5,h6,p,li,dd,dt,b,strong,span) {
  color: var(--qwp-text);
}
body.qwp-page #main :is(.dark,.hww-final,.hero-promises) :is(h2,h3,h4,b,strong) {
  color: #fff;
}
/* Do not inherit the theme's Poppins/black heading styles into this page. */
body.qwp-page .site-header :is(a,summary,button,span),
body.qwp-page #main :is(a,button,input,select,textarea,summary) {
  font-family: var(--font-body);
}
body.qwp-page .site-header .primary-nav :is(a,summary) {
  color: #193a49;
  font-weight: 600;
}
body.qwp-page .site-header .primary-nav a[aria-current=page],
body.qwp-page .site-header .primary-nav details[open]>summary {
  color: #006ca8;
}
body.qwp-page #main .qc-form-top h2,
body.qwp-page #main .qc-contact-aside h2 {
  font-size: 1.9rem;
}
/* A known Elementor rule is `.elementor img { height:auto; }`. Its specificity
   and late loading can beat the source's `.q-hero__picture img`. Anchor both
   picture and image, so an intrinsic-height image cannot spill below the hero. */
body.qwp-page #main .q-hero {
  position: relative;
  isolation: isolate;
  color: #fff;
  background: #142f3a;
}
body.qwp-page #main .q-hero > .q-hero__picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  z-index: 0;
}
body.qwp-page #main .q-hero > .q-hero__picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  max-height: none;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: var(--hero-position, 50% 50%);
}
body.qwp-page #main .q-hero .q-hero__title {
  color: #fff;
  font-family: var(--font-body);
  font-weight: 700;
}
body.qwp-page #main .q-hero .q-hero__intro {
  color: #fff;
  font-family: var(--font-body);
  font-weight: 400;
}
body.qwp-page #main .q-hero .q-hero__eyebrow {
  color: #d5e9f1;
  font-family: var(--font-body);
  font-weight: 700;
}
body.qwp-page #main .q-hero .q-hero__note {
  color: #e0ebef;
}
body.qwp-page #main .q-hero .q-hero__cta {
  color: #073449;
  background: #fff;
}
body.qwp-page #main .q-hero .q-hero__secondary {
  color: #fff;
  background: transparent;
}
body.qwp-page #main .q-hero .q-hero__cta:hover {
  color: #073449;
  background: #dceef5;
}
body.qwp-page #main .q-hero .q-hero__secondary:hover {
  color: #073449;
  background: #fff;
}
/* Preserve semantic feedback colours rather than making every paragraph grey. */
body.qwp-page #main .qc-error,
body.qwp-page #main .qc-errors :is(p,a),
body.qwp-page #main .qc-receipt[data-status=error] {
  color: #8b1b1b;
}
body.qwp-page #main .qc-field :is(input,textarea,select) {
  color: #243e4c;
  background: #fff;
}
@media(max-width:768px) {
  body.qwp-page #main .q-hero > .q-hero__picture img {
    object-position: var(--hero-mobile-position, var(--hero-position, 50% 50%));
  }
}
@media(max-width:640px) {
  body.qwp-page #main h2 { font-size: 1.85rem; line-height: 1.2; }
  body.qwp-page #main h3 { font-size: 1.125rem; }
  body.qwp-page #main .qc-form-top h2,
  body.qwp-page #main .qc-contact-aside h2 { font-size: 1.7rem; }
}
@media print {
  body.qwp-page #main,body.qwp-page #main :is(.section,.hww-section,.qc-section,.dark,.hww-final,.hero-promises),body.qwp-page .site-footer {
    --qwp-heading:#172e39; --qwp-text:#243e4c; --qwp-subtle:#506775;
    background:#fff;
  }
  body.qwp-page #main :is(.dark,.hww-final,.hero-promises) :is(h2,h3,h4,h5,h6,p,li,b,strong,span) {color:#243e4c;}
}

/* 0.2.0 — all-page surfaces and longer Dutch labels. */
body.qwp-page #main .tx-section {position:relative;background-color:#fff;}
body.qwp-page #main .tx-soft {background-color:#f6f7f5;}
body.qwp-page #main :is(.tx-final,.qc-final) {background-color:#eaf3f8;}
body.qwp-page #main .tx-kicker {color:var(--qwp-label);font-weight:700;}
body.qwp-page #main .tx-section :is(h2,h3) {overflow-wrap:break-word;}
body.qwp-page .qwp-honeypot {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
body.qwp-page .qwp-delivery-notice {font-size:.875rem;line-height:1.5;color:#3e5664;margin-block:14px;}
/* Dutch menu labels need actual reflow, not clipped overflow. */
@media(min-width:1361px){
 html[lang=nl] body.qwp-page .header-inner,html[lang=nl] body.qwp-page .nav-wrap{gap:16px;}
 html[lang=nl] body.qwp-page .primary-nav>ul{gap:12px;}
 html[lang=nl] body.qwp-page .nav-wrap>.button{max-width:228px;padding-inline:16px;gap:12px;}
}
@media(min-width:951px) and (max-width:1360px){
 html[lang=nl] body.qwp-page .header-inner{flex-wrap:wrap;gap:10px;}
 html[lang=nl] body.qwp-page .nav-wrap{flex:1 1 100%;justify-content:space-between;}
 html[lang=nl] body.qwp-page .primary-nav a,html[lang=nl] body.qwp-page .primary-nav summary{font-size:13px;}
}
body.qwp-page :is(.hww-subnav,.tx-menu,.qc-menu) a{min-width:0;overflow-wrap:anywhere;}
body.qwp-page .related-card{min-width:0;overflow-wrap:anywhere;}
body.qwp-page .related-card>span{min-width:0;flex-shrink:1;overflow-wrap:anywhere;}
body.qwp-page .related-card>span:first-child:not(:last-child){flex:1 1 auto;}
body.qwp-page .related-card>span:last-child{flex:0 0 auto;}
@media(max-width:640px){
 body.qwp-page .hww-subnav a{flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;padding-inline:6px;}
}
