/* Original colour photographs and the same identity as the website. */
.check-landing header .brand img,.quiz-page header .brand img{display:block;width:76px;height:58px;object-fit:contain}
.check-landing .review-photo img,.check-landing .review-photo:hover img,.check-landing .intro-person img,.check-landing .intro-person:hover img{filter:none!important;mix-blend-mode:normal;transform:none}
.check-landing .review-photo:after,.check-landing .intro-person:after{display:none}
.check-landing .check-start{border-color:#40bfdf;background:#40bfdf;color:#082f40}
.quiz-page .progress b{background:#40bfdf}
.quiz-page .cta{background:#40bfdf;color:#082f40;border-color:#75d6ed}
.quiz-page .check.is-contact{min-height:60vh;padding:70px 24px}
.quiz-page .check.is-contact form{height:auto;min-height:0}
.contact-summary{text-align:center;max-width:640px;margin:auto}
.contact-summary[hidden]{display:none}
.contact-summary h2{font-size:clamp(30px,4vw,46px);line-height:1.1}
.contact-summary p{font-size:17px;line-height:1.6;color:#c7d6df}
.contact-summary .cta{margin:26px auto 18px}
.back-to-answers{display:block;margin:18px auto;border:0;background:none;color:#c7d6df;text-decoration:underline;font:inherit;cursor:pointer}
.quiz-page dialog.contact-finish{position:fixed;inset:0;box-sizing:border-box;width:min(600px,calc(100% - 28px));max-width:600px;max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:32px;border:1px solid #446573;border-radius:24px;background:#102c3a;color:#f6fbfd;text-align:left;box-shadow:0 24px 100px #0009}
.quiz-page dialog.contact-finish:not([open]){display:none!important}
.quiz-page dialog.contact-finish::backdrop{background:#031119bb;backdrop-filter:blur(5px)}
.contact-dialog-open{overflow:hidden}
.dialog-logo{width:70px;height:55px;object-fit:contain;margin-bottom:22px}
.dialog-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #6f939e;border-radius:50%;background:transparent;color:white;font-size:30px;cursor:pointer}
.quiz-page dialog.contact-finish h2{font-size:30px;line-height:1.12;margin:0 0 14px;text-align:left}
.quiz-page dialog.contact-finish>p{font-size:15px;line-height:1.5;text-align:left;color:#d0e0e6}
.quiz-page dialog .contact-fields{margin-top:24px;gap:12px}
.quiz-page dialog .contact-field input:not([type=checkbox]){height:54px}
.quiz-page dialog .contact-finish .consent,.quiz-page dialog .consent{color:#d0dce2;font-size:12px}
.quiz-page dialog .contact-submit{font-size:16px;margin-top:22px;min-height:58px}
.quiz-page dialog .form-submit-note{margin-top:16px}
.quiz-page dialog .phone-field small{display:none}
.quiz-page .step legend:focus{outline:0}
@media(max-width:520px){.quiz-page dialog.contact-finish{padding:26px 20px}.quiz-page dialog.contact-finish h2{font-size:27px}.check-landing header .brand img,.quiz-page header .brand img{width:60px;height:46px}}
.quiz-page dialog.contact-finish .consent{color:#d0dce2;font-size:12px;line-height:1.5}

/* Make the main check action unmistakable without changing the surrounding hero. */
.check-landing .intro-copy .check-start{
  overflow:visible;
  border-color:rgba(155,240,255,.98);
  background:linear-gradient(112deg,#6ee8ff 0%,#21c5eb 34%,#079fd3 58%,#83efff 78%,#21c5eb 100%);
  background-size:230% 100%;
  color:#062d3c;
  box-shadow:0 0 0 1px rgba(151,239,255,.42),0 22px 54px rgba(0,0,0,.42),0 0 42px rgba(45,210,246,.5),inset 0 1px 0 rgba(255,255,255,.78);
  animation:immoCheckAttention 1.85s ease-in-out infinite,immoCheckFlow 4.2s ease-in-out infinite;
}
.check-landing .intro-copy .check-start:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-10px;
  border:2px solid rgba(92,226,255,.78);
  border-radius:20px;
  pointer-events:none;
  filter:drop-shadow(0 0 12px rgba(68,219,252,.72));
  animation:immoCheckRing 1.85s ease-out infinite;
}
.check-landing .intro-copy .check-start:after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.1) 42%,rgba(255,255,255,.86) 50%,rgba(255,255,255,.1) 58%,transparent 70%);
  clip-path:inset(0 round 12px);
  pointer-events:none;
  transform:translateX(-120%) skewX(-14deg);
  animation:immoCheckShine 2.7s cubic-bezier(.2,.72,.25,1) infinite;
}
.check-landing .intro-copy .check-start b{
  background:rgba(255,255,255,.72);
  box-shadow:0 0 22px rgba(255,255,255,.48);
  animation:immoCheckArrow 1.85s ease-in-out infinite;
}
.check-landing .intro-copy .check-start:hover,.check-landing .intro-copy .check-start:focus-visible{
  border-color:#d9faff;
  transform:translateY(-6px) scale(1.035);
  box-shadow:0 0 0 2px rgba(185,246,255,.58),0 28px 64px rgba(0,0,0,.48),0 0 105px rgba(60,220,252,.72),inset 0 1px 0 #fff;
}
@keyframes immoCheckAttention{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 0 0 1px rgba(151,239,255,.38),0 22px 54px rgba(0,0,0,.42),0 0 34px rgba(45,210,246,.42),inset 0 1px 0 rgba(255,255,255,.78)}
  50%{transform:translateY(-4px) scale(1.018);box-shadow:0 0 0 2px rgba(185,246,255,.62),0 27px 62px rgba(0,0,0,.46),0 0 86px rgba(65,224,255,.7),inset 0 1px 0 #fff}
}
@keyframes immoCheckFlow{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes immoCheckRing{0%,38%,100%{opacity:0;transform:scale(1)}52%{opacity:.95}82%{opacity:0;transform:scale(1.08)}}
@keyframes immoCheckShine{0%,28%{transform:translateX(-120%) skewX(-14deg)}62%,100%{transform:translateX(120%) skewX(-14deg)}}
@keyframes immoCheckArrow{0%,42%,100%{transform:translateY(-50%)}58%{transform:translate(5px,-50%) scale(1.09)}74%{transform:translateY(-50%)}}
@media(prefers-reduced-motion:reduce){
  .check-landing .intro-copy .check-start,
  .check-landing .intro-copy .check-start:before,
  .check-landing .intro-copy .check-start:after,
  .check-landing .intro-copy .check-start b{animation:none!important}
}
