:root{
  --ink:#1c2b3a;
  --ink-soft:#54687a;
  --paper:#f4f8fa;
  --card:#ffffff;
  --line:#dde6ea;
  --accent:#1d6fa5;
  --accent-dark:#134f78;
  --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Segoe UI',system-ui,-apple-system,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1000px;margin:0 auto;padding:0 24px}
section{padding:64px 0}

header{position:sticky;top:0;z-index:50;background:rgba(244,248,250,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.logo{font-weight:700;font-size:1.1rem}
.logo span{color:var(--accent)}
nav ul{list-style:none;display:flex;gap:26px}
nav ul a{font-size:.94rem;text-decoration:none;color:var(--ink-soft)}
nav ul a.active,nav ul a:hover{color:var(--accent)}
.nav-cta{background:var(--accent);color:#fff;padding:10px 20px;border-radius:999px;text-decoration:none;font-size:.88rem;font-weight:600;white-space:nowrap}
@media(max-width:680px){nav ul{display:none}}

.hero{padding:76px 0 56px}
.hero-tag{display:inline-block;background:#e3f0f8;color:var(--accent-dark);padding:6px 14px;border-radius:999px;font-size:.8rem;font-weight:600;margin-bottom:18px}
h1{font-size:clamp(1.8rem,4.2vw,2.6rem);line-height:1.2;letter-spacing:-.02em;margin-bottom:18px;max-width:680px}
h2{font-size:1.7rem;margin-bottom:14px;letter-spacing:-.01em}
.hero p.lead{font-size:1.08rem;color:var(--ink-soft);max-width:560px;margin-bottom:28px}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:999px;text-decoration:none;font-weight:600;font-size:.94rem}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark)}
.btn-ghost{border:1.5px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}

.section-sub{color:var(--ink-soft);margin-bottom:36px;max-width:560px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px;display:flex;flex-direction:column;gap:8px}
.card h3{font-size:1.02rem}
.card p{font-size:.92rem;color:var(--ink-soft)}
.icon{font-size:1.6rem;margin-bottom:4px}

.band{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-block{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}
.contact-item .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-dark);font-weight:700;margin-bottom:4px}
.contact-item .val{font-size:1rem}

footer{padding:28px 24px;text-align:center;color:var(--ink-soft);font-size:.84rem;border-top:1px solid var(--line)}

.faq-item{border-bottom:1px solid var(--line);padding:18px 0}
.faq-item h4{font-size:1rem;margin-bottom:6px}
.faq-item p{color:var(--ink-soft);font-size:.94rem}

.demo-banner{background:#134f78;color:#fff;text-align:center;padding:10px 16px;font-size:.85rem}
.demo-banner strong{color:#8fd0ff}

/* PHOTO PLACEHOLDER */
.photo-slot{
  width:100%;aspect-ratio:4/5;max-width:280px;border-radius:var(--radius);
  background:repeating-linear-gradient(45deg,#e9f1f6,#e9f1f6 10px,#dfeaf1 10px,#dfeaf1 20px);
  border:1.5px dashed #a9c3d4;display:flex;flex-direction:column;align-items:center;justify-content:center;
  color:var(--ink-soft);gap:8px;text-align:center;padding:16px;
}
.photo-slot .ic{font-size:2.2rem}
.photo-slot span{font-size:.82rem;font-weight:600}
.hero-with-photo{display:flex;gap:36px;align-items:flex-start;flex-wrap:wrap}
.hero-with-photo .hero-text{flex:1;min-width:280px}

/* AVIS */
.avis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.avis-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.avis-stars{color:#f0a500;font-size:.95rem;margin-bottom:10px;letter-spacing:2px}
.avis-card p{font-size:.92rem;color:var(--ink-soft);margin-bottom:12px}
.avis-name{font-size:.86rem;font-weight:700;color:var(--ink)}
.avis-tag{font-size:.76rem;color:var(--accent-dark);font-weight:600}

.rdv-cta{
  background:#eaf3f9;border:1.5px dashed var(--accent);border-radius:var(--radius);
  padding:22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:16px;
}
.rdv-cta p{font-size:.88rem;color:var(--ink-soft);max-width:420px}
