:root{
  --blue:#0053A0;
  --blue-dark:#003d75;
  --grey-light:#f5f6f5;
  --text-dark:#000;
}

/* — Basics — */
html{box-sizing:border-box;}*,*::before,*::after{box-sizing:inherit;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--grey-light);color:var(--text-dark);}
.container{max-width:720px;margin:0 auto;padding:0 1rem;}

h1{font-size:2rem;margin:2.5rem 0 .5rem;text-align:center;}
.micro{font-size:.85rem;color:#666;text-align:center;margin-bottom:2rem;}
.sub{color:#555;margin-bottom:1rem;}
legend{font-weight:600;margin-bottom:1rem;}

/* — Progress — */
.progress{background:#dfe4ea;border-radius:4px;margin-bottom:1.5rem;overflow:hidden;}
.progress-bar{width:0;height:8px;background:var(--blue);transition:width .4s ease;position:relative;text-align:center;font-size:.75rem;color:#fff;line-height:8px;}

/* — Fieldsets — */
fieldset{border:0;margin-bottom:1.5rem;display:none;animation:fade .4s ease;}
fieldset.active{display:block;}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* — Slider — */
.slider{width:100%;appearance:none;height:4px;background:#ccc;border-radius:2px;margin:1rem 0;}
.slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--blue);cursor:pointer;transition:background .3s;}
.slider:active::-webkit-slider-thumb{background:var(--blue-dark);}
.scale{display:flex;justify-content:space-between;font-size:.8rem;color:#666;margin-top:-.25rem}

/* — Lists & Opt-in — */
ul.list{margin:1rem 0 1.5rem 1.2rem;}
ul.list li{list-style:disc;margin-bottom:.35rem;}
.chk{display:block;margin:1.2rem 0;font-size:.9rem;}
.chk input{margin-right:.4rem}

/* — Buttons — */
.btn{display:inline-block;padding:.65rem 1.5rem;font-weight:600;border-radius:6px;border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;transition:background .3s;margin-top:1rem;}
.btn:hover{background:var(--blue-dark);}
.btn-outline{background:transparent;color:var(--blue);}
.btn-outline:hover{background:var(--blue);color:#fff;}

/* Brevo Button override */
.sib-form-block__button{background:var(--blue)!important;border:none;border-radius:4px;color:#fff;padding:.6rem 1.4rem;font-weight:600;}
.sib-form-block__button:hover{background:var(--blue-dark)!important}

/* Nav */
.nav{margin-top:1rem}

/* — Summary — */
.hidden{display:none;}
.summary{text-align:center;padding:2rem 0;}
.summary h2{font-size:1.5rem;margin-bottom:1rem;}
.disclaimer{margin-top:1rem;font-size:.9rem;color:#555;}
.guide-box{background:#fff;border:1px solid #e1e4e8;border-radius:8px;padding:1.25rem;margin:2rem auto;max-width:480px;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.guide-box h3{font-size:1.125rem;margin-bottom:.75rem;}
