
:root{--navy:#132248;--deep:#0a1329;--pink:#c8026e;--pink-dark:#a3025b;--pink-light:#f483c1;--paper:#fafbfe;--muted:#4f5a6e;--line:#dfe3eb;--star:#f6bd55;--sans:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--navy);font-family:var(--sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input{font:inherit}
button,a,input{touch-action:manipulation}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
:focus-visible{outline:3px solid var(--pink-light);outline-offset:3px}
.wrap{width:min(68.75rem,100% - 2rem);margin-inline:auto}
.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--paper);color:var(--navy);padding:.75rem;z-index:10}
.skip-link:focus{top:.5rem}


.nav{background:var(--deep);color:var(--paper)}
.nav-inner{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.25rem 0}
.nav-logo-img{width:8.5rem;height:auto}
.nav-pill{display:flex;align-items:center;gap:.375rem;min-height:2.75rem;font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap}
.stars{color:var(--star);letter-spacing:.06em}


.hero{background:var(--deep);color:var(--paper);padding:.75rem 0 1.5rem;text-align:center}
.hero-title{font-size:1.75rem;line-height:1.15;font-weight:800;letter-spacing:-.015em;margin:0 auto .625rem;max-width:40rem;text-wrap:balance}
.hero-title .hl{color:var(--pink-light)}
.hero-sub{font-size:1rem;line-height:1.45;color:#e0e4ee;margin:0 auto;max-width:36rem}
.hero-sub strong{color:#fff;font-weight:700}
.target-line{font-size:1rem;color:#c9d1e2;margin:.375rem 0 0}
.target-line strong{color:#fff}


.trust{list-style:none;display:grid;gap:.25rem;margin:.75rem auto 0;padding:.5rem .75rem;max-width:36rem;background:#ffffff10;border:1px solid #ffffff22;border-radius:.375rem}
.trust li{min-width:0;font-size:1rem;line-height:1.35;color:#e0e4ee;overflow-wrap:anywhere}
.trust b{color:#fff;font-weight:800}
.trust .stars{font-size:.875rem}


.btn-primary{display:flex;width:100%;max-width:36rem;margin:.875rem auto 0;justify-content:center;align-items:center;gap:.5rem;background:var(--pink);color:#fff;border:0;border-radius:.375rem;text-decoration:none;padding:.875rem 1.25rem;min-height:3.5rem;font-weight:800;font-size:1.0625rem;box-shadow:0 .25rem 0 #850249}
.btn-primary:hover{background:var(--pink-dark)}
.btn-primary:active{transform:translateY(2px);box-shadow:0 1px 0 #850249}
.apply-note{font-size:.875rem;color:#b7c1d5;margin:.5rem 0 0}


.quiz-wrap{max-width:36rem;margin:.875rem auto 0;scroll-margin-top:.75rem;text-align:left}
.quiz-wrap[hidden]{display:none}
.quiz-wrap.booking{max-width:58rem}
.quiz{background:var(--paper);color:var(--navy);padding:.875rem 1rem 1rem;border-radius:.5rem;border-top:4px solid var(--pink);box-shadow:0 .75rem 2rem #0003}
.quiz-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:.875rem;font-weight:600;margin:0 0 .375rem}
.quiz-bar{height:4px;background:#e4e7ed;border-radius:4px;overflow:hidden}
.quiz-bar span{display:block;width:0;height:100%;background:var(--pink);transition:width .2s}
.q-step{display:none;padding-top:.75rem}
.q-step.active{display:block}
.q-question{font-size:1.0625rem;font-weight:800;line-height:1.35;margin:0 0 .625rem}
.q-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.q-opt{min-width:0;min-height:3.25rem;border:1px solid #c5cddd;border-radius:.25rem;background:#fff;color:var(--navy);font-size:1rem;font-weight:700;padding:.625rem .5rem;overflow-wrap:anywhere}
.q-opt:hover{background:#fcebf4;border-color:var(--pink)}
.q-opt.wide{grid-column:1/-1}
.q-note{font-size:.875rem;line-height:1.5;color:var(--muted);margin:.625rem 0 0}
.q-note a{color:var(--pink)}
.q-back{border:0;background:none;color:var(--muted);padding:.625rem .5rem;margin-top:.25rem;font-size:1rem;min-height:2.75rem}
.form-group{margin-bottom:.75rem}
.form-group label{display:block;font-weight:700;font-size:1rem;margin-bottom:.25rem}
.form-group input{width:100%;border:1px solid #cbd1dc;background:#fff;color:var(--navy);border-radius:.375rem;padding:.75rem .875rem;font-size:1rem;min-height:3rem}
.form-group input.error{border-color:#a81939}
.form-error-msg{display:none;font-size:.9375rem;color:#a81939;margin:.375rem 0}
.form-error-msg.visible{display:block}
.consent{display:flex;align-items:flex-start;gap:.625rem;font-size:.875rem;color:var(--muted);margin:.5rem 0 .875rem}
.consent input{margin-top:.3rem;width:1.25rem;height:1.25rem;flex:none;accent-color:var(--pink)}
.quiz .btn-primary{margin-top:0}
.mismatch-title{font-size:1.375rem;font-weight:800;line-height:1.25;margin:0 0 .625rem}
.mismatch-title em{font-style:normal;color:var(--pink)}
.mismatch-body,.mismatch-list{font-size:1rem;color:var(--muted)}
.mismatch-list{padding-left:1.125rem}
.mismatch-list li{margin-bottom:.5rem}
.mismatch-list a{overflow-wrap:anywhere;color:var(--pink)}
.mismatch-icon{display:none}
#calInline{min-height:36rem}
.cal-fallback a{color:var(--pink)}


.proof{padding:2.25rem 0}
.section-eyebrow{font-size:.875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);text-align:center;margin:0 0 .375rem}
.section-title{font-size:1.625rem;font-weight:800;line-height:1.15;text-align:center;margin:0 0 1.25rem}
.section-title em{font-style:normal;color:var(--pink)}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;list-style:none;margin:0;padding:0}
.stat-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:.375rem;padding:1.125rem 1rem;text-align:center}
.stat-card:first-child{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.stat-num{font-size:clamp(1.75rem,7vw,2.375rem);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--pink);overflow-wrap:anywhere;margin:0 0 .375rem}
.stat-card:first-child .stat-num{color:var(--pink-light)}
.stat-label{font-size:1rem;font-weight:800;margin:0 0 .25rem}
.stat-context{font-size:.9375rem;color:var(--muted);margin:0}
.stat-card:first-child .stat-context{color:#d3dbee}
.reviews-title{font-size:1.25rem;font-weight:800;text-align:center;margin:1.75rem 0 .875rem}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.875rem;list-style:none;margin:0;padding:0}
.review{min-width:0;background:#fff;border:1px solid var(--line);border-radius:.375rem;padding:1rem;margin:0}
.review .stars{display:block;font-size:.9375rem;margin-bottom:.375rem}
.review blockquote{margin:0 0 .5rem;font-size:1rem;line-height:1.55}
.review-name{font-size:.9375rem;font-weight:800}
.review-source{font-size:.875rem;color:var(--muted)}
.proof-foot{text-align:center;margin:1.125rem 0 0}
.proof-foot a{font-size:1rem;color:var(--pink);text-underline-offset:4px}
.micro{font-size:.875rem;color:var(--muted);text-align:center;margin:.5rem 0 0}


.cta-band{background:var(--pink);color:#fff;text-align:center;padding:2.25rem 0}
.cta-band-title{font-size:1.625rem;font-weight:800;line-height:1.15;margin:0 0 .625rem}
.cta-band-sub{font-size:1rem;margin:0 auto 1rem;max-width:38rem}
.cta-band .btn-primary{background:#fff;color:var(--navy);box-shadow:0 .25rem 0 #750441}
.guarantee{font-size:.9375rem;line-height:1.6;max-width:40rem;margin:1rem auto 0}


.site-footer{background:var(--deep);color:#a9b5cc;padding:1.5rem 0;text-align:center}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem}
.footer-links a{display:inline-flex;align-items:center;min-height:2.75rem;font-size:.875rem;text-decoration:none}
.footer-copy{font-size:.875rem;margin:.5rem 0 0}
.footer-disc{font-size:.8125rem;line-height:1.55;max-width:56rem;margin:.75rem auto 0;text-align:left}

@media (max-width:43.75rem){
  .stat-grid,.review-grid{grid-template-columns:minmax(0,1fr)}
}
@media (min-width:43.76rem){
  .hero{padding:1.5rem 0 2.5rem}
  .hero-title{font-size:2.5rem}
  .hero-sub{font-size:1.125rem}
  .nav-logo-img{width:10.5rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
