:root{
  --bg:#0b1220;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:rgba(15,23,42,.10);
  --accent:#2563eb;
  --accent2:#0ea5e9;
  --radius:18px;
  --shadow:0 20px 50px rgba(2,6,23,.18);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text)}
a{color:inherit}
.container{width:min(1120px,92%);margin:0 auto}

.topbar{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0;gap:12px}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border-radius:999px;
  background:rgba(37,99,235,.08);color:#1d4ed8;
  font-weight:600;font-size:13px;
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 16px;border-radius:12px;border:1px solid transparent;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:white;text-decoration:none;font-weight:700;
  box-shadow:0 10px 30px rgba(37,99,235,.25);
  cursor:pointer;
}
.btn--ghost{
  background:transparent;color:var(--text);
  border-color:var(--line);box-shadow:none;
}
.btn--sm{padding:10px 12px;border-radius:10px;font-weight:700;font-size:14px}

.hero{
  background:
    radial-gradient(1200px 600px at 20% 0%, rgba(14,165,233,.35), transparent 60%),
    radial-gradient(1000px 600px at 80% 10%, rgba(37,99,235,.35), transparent 55%),
    linear-gradient(180deg, rgba(2,6,23,.75), rgba(2,6,23,.86)),
    var(--hero-img);
  background-size:cover;
  background-position:center;
  color:white;
  padding:40px 0 70px;
}
.hero__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start}
@media (max-width: 960px){.hero__grid{grid-template-columns:1fr}.topbar__inner{flex-wrap:wrap}}

.hero h1{font-size:44px;line-height:1.06;margin:0 0 12px}
@media (max-width: 560px){.hero h1{font-size:34px}}
.lead{font-size:18px;line-height:1.5;color:rgba(255,255,255,.85);margin:0 0 18px}

.checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks li::before{content:"✓";font-weight:900;color:#a7f3d0}

.hero__cta{display:flex;flex-direction:column;gap:10px;margin:14px 0 18px}
.micro{font-size:13px;color:rgba(255,255,255,.78)}

.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.proof__item{
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.15);
  border-radius:14px;padding:12px 12px
}
.proof__num{font-weight:900;font-size:18px}
.proof__txt{font-size:13px;color:rgba(255,255,255,.78)}

.card{
  background:rgba(255,255,255,.98);
  color:var(--text);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.65);
  overflow:hidden;
}
.card__head{padding:18px 18px 10px;border-bottom:1px solid var(--line)}
.card__head h2{margin:0 0 6px;font-size:20px}
.card__head p{margin:0;color:var(--muted);font-size:13px}

.progress{height:10px;background:#eef2ff;border-radius:999px;overflow:hidden;margin-top:10px}
.progress__bar{height:100%;width:25%;background:linear-gradient(135deg,var(--accent),var(--accent2))}

form{padding:16px 18px 18px}
.step{display:none}
.step.is-active{display:block}
.step h3{margin:6px 0 14px;font-size:18px}
.label{display:block;margin:12px 0 6px;font-weight:700;font-size:14px}
input,select{
  width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--line);
  outline:none;font-size:15px;background:white
}
input:focus,select:focus{border-color:rgba(37,99,235,.55);box-shadow:0 0 0 4px rgba(37,99,235,.12)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.grid2{grid-template-columns:1fr}}

.choices{display:grid;gap:10px}
.choice{
  display:flex;align-items:center;gap:10px;
  padding:12px;border:1px solid var(--line);border-radius:14px;
  cursor:pointer;background:#fff
}
.choice input{width:auto}

.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
.form__error{margin-top:10px;color:#b91c1c;font-weight:700}

.consent{display:flex;gap:10px;align-items:flex-start;margin-top:12px;color:#334155}
.consent input{width:auto;margin-top:3px}
.fineprint{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.4}

.section{padding:56px 0}
.section--alt{background:#f8fafc}
.section h2{font-size:30px;margin:0 0 16px}
.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (max-width:720px){.benefits{grid-template-columns:1fr}}
.benefit{padding:14px;border:1px solid var(--line);border-radius:14px;background:white}

.split{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:center}
@media (max-width:960px){.split{grid-template-columns:1fr}}
.imgbox{border-radius:20px;overflow:hidden;border:1px solid var(--line);background:white}
.imgbox img{width:100%;height:auto;display:block}

.bullets{margin:14px 0 0;padding-left:18px;color:#334155}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
@media (max-width:960px){.cards3{grid-template-columns:1fr}}
.mini{border:1px solid var(--line);border-radius:16px;padding:16px;background:white}
.mini h3{margin:0 0 8px}
.mini p{margin:0;color:var(--muted);line-height:1.5}

.ctaBand{
  margin-top:18px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px;border-radius:18px;
  background:linear-gradient(135deg, rgba(37,99,235,.10), rgba(14,165,233,.10));
  border:1px solid rgba(37,99,235,.18);
}
.ctaBand h3{margin:0 0 6px}
.ctaBand p{margin:0;color:var(--muted)}
@media (max-width:720px){.ctaBand{flex-direction:column;align-items:flex-start}}

.footer{background:#0b1220;color:rgba(255,255,255,.8);padding:24px 0}
.footer__inner{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.footer__links{display:flex;gap:14px;flex-wrap:wrap}
.footer__links a{color:rgba(255,255,255,.82);text-decoration:none}
.footer__links a:hover{text-decoration:underline}

.cookie{
  position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:rgba(255,255,255,.96);border-top:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.cookie__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;flex-wrap:wrap}
.cookie__actions{display:flex;gap:10px}

/* Local pages: slightly stronger overlay for readability on photo backgrounds */

/* Local pages hero background (forced image) */
.hero.hero--local{
  background-image: linear-gradient(120deg, rgba(2,6,23,.55), rgba(2,6,23,.20)), url('assets/hero-local.jpg');
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}


/* Force 3-column card grids to stack on mobile (pages locales add inline grid-template-columns) */
@media (max-width: 960px){
  .cards3{ grid-template-columns: 1fr !important; }
}
@media (max-width: 560px){
  .cards3{ grid-template-columns: 1fr !important; }
}
