/* Pulse Arverne — Clermont-Ferrand */
:root{
  --ink:#14161a;
  --ink-soft:#3c414b;
  --paper:#f7f6f2;
  --card:#ffffff;
  --primary:#1f2a44;
  --accent:#c8f04a;
  --accent-dark:#93b52a;
  --line:#e4e2da;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Work Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:16.5px}
h1,h2,h3{font-family:'Sora',sans-serif;line-height:1.2;color:var(--primary)}
h1{font-size:clamp(1.9rem,4.5vw,3rem)}
h2{font-size:clamp(1.4rem,3vw,2rem);margin-bottom:.75rem}
h3{font-size:1.12rem;margin-bottom:.4rem}
p{margin-bottom:1rem;color:var(--ink-soft)}
a{color:var(--primary)}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}

/* Header */
header{background:var(--primary);position:sticky;top:0;z-index:50;box-shadow:0 2px 12px rgba(20,22,26,.18)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:18px}
.brand{font-family:'Sora',sans-serif;font-weight:700;font-size:1.25rem;color:#fff;text-decoration:none;letter-spacing:.3px}
.brand span{color:var(--accent)}
nav ul{display:flex;gap:22px;list-style:none;align-items:center;flex-wrap:wrap}
nav a{color:#e8eaf1;text-decoration:none;font-size:.95rem;font-weight:500}
nav a:hover{color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:var(--primary)!important;font-weight:700;padding:.65rem 1.3rem;border-radius:999px;text-decoration:none;border:none;font-size:.95rem;cursor:pointer;font-family:'Sora',sans-serif}
.btn:hover{background:#d7f96b}
.btn-ghost{background:transparent;color:#fff!important;border:2px solid var(--accent)}
.btn-ghost:hover{background:rgba(200,240,74,.12)}

/* Hero split */
.hero{background:linear-gradient(135deg,#1f2a44 0%,#2c3d63 60%,#31507a 100%);color:#fff;padding:70px 0 60px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{color:#cdd4e4;font-size:1.08rem}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.4rem}
.hero-panel{background:rgba(255,255,255,.06);border:1px solid rgba(200,240,74,.35);border-radius:18px;padding:26px}
.hero-panel h3{color:var(--accent)}
.hero-panel li{color:#dde3f0;margin:.45rem 0;list-style:none;padding-left:1.4rem;position:relative}
.hero-panel li::before{content:"◆";color:var(--accent);position:absolute;left:0;font-size:.7rem;top:.35rem}

/* Stats strip */
.stats{background:var(--accent);padding:26px 0}
.stats .wrap{display:flex;justify-content:space-around;gap:18px;flex-wrap:wrap;text-align:center}
.stat b{display:block;font-family:'Sora',sans-serif;font-size:1.7rem;color:var(--primary)}
.stat span{font-size:.88rem;color:#39430f;font-weight:600}

/* Sections */
section{padding:58px 0}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--accent-dark);margin-bottom:.4rem}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:1.6rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;transition:transform .15s}
.card:hover{transform:translateY(-3px)}
.card .pict{width:46px;height:46px;border-radius:12px;background:var(--primary);display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:1.3rem;margin-bottom:.9rem;font-family:'Sora',sans-serif;font-weight:700}
.card a{font-weight:600;color:var(--accent-dark);text-decoration:none}
.card a:hover{text-decoration:underline}

.alt{background:#eceade}
.edito p{font-size:1.02rem}
.edito a{color:var(--accent-dark);font-weight:600}

/* Pricing */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:1.6rem}
.price{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:30px 26px;text-align:center}
.price.hot{border:2px solid var(--accent-dark);position:relative}
.price.hot::before{content:"Le plus choisi";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--primary);font-size:.75rem;font-weight:700;padding:.2rem .9rem;border-radius:999px}
.price b{font-family:'Sora',sans-serif;font-size:2rem;color:var(--primary);display:block;margin:.5rem 0}
.price small{color:var(--ink-soft)}
.price ul{list-style:none;margin:1.1rem 0;text-align:left}
.price li{padding:.32rem 0 .32rem 1.5rem;position:relative;font-size:.94rem;color:var(--ink-soft)}
.price li::before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:700}

/* FAQ */
.faq details{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:18px 22px}
.faq summary{font-family:'Sora',sans-serif;font-weight:600;cursor:pointer;color:var(--primary)}
.faq details p{margin:.8rem 0 0}

/* Forms */
form{display:grid;gap:14px}
input,textarea,select{width:100%;padding:.8rem .95rem;border:1px solid #cfcdc3;border-radius:10px;font-family:inherit;font-size:1rem;background:#fff}
input:focus,textarea:focus{outline:2px solid var(--accent-dark)}
label{font-weight:600;font-size:.92rem;color:var(--primary)}

/* Page hero (inner) */
.page-hero{background:var(--primary);color:#fff;padding:52px 0 44px}
.page-hero h1{color:#fff}
.page-hero p{color:#c9d1e2;max-width:760px}
.breadcrumb{font-size:.85rem;color:#9aa6c0;margin-bottom:.8rem}
.breadcrumb a{color:var(--accent);text-decoration:none}

/* CTA band */
.cta-band{background:linear-gradient(120deg,var(--primary),#31507a);color:#fff;text-align:center;border-radius:20px;padding:48px 30px;margin:30px 0}
.cta-band h2{color:#fff}
.cta-band p{color:#ccd4e6}

/* Footer */
footer{background:#101521;color:#98a0b3;padding:46px 0 28px;margin-top:40px;font-size:.92rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:34px;margin-bottom:26px}
footer h4{color:#fff;font-family:'Sora',sans-serif;margin-bottom:.7rem;font-size:1rem}
footer a{color:#b9c1d4;text-decoration:none}
footer a:hover{color:var(--accent)}
footer ul{list-style:none}
footer li{margin:.35rem 0}
.legal{border-top:1px solid #232b3d;padding-top:18px;text-align:center;font-size:.82rem}

table{width:100%;border-collapse:collapse;margin:1.2rem 0;background:#fff;border-radius:12px;overflow:hidden}
th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--line);font-size:.95rem}
th{background:var(--primary);color:#fff;font-family:'Sora',sans-serif;font-weight:600}

ul.checks{list-style:none;margin:0 0 1rem}
ul.checks li{padding:.3rem 0 .3rem 1.6rem;position:relative;color:var(--ink-soft)}
ul.checks li::before{content:"✓";position:absolute;left:0;color:var(--accent-dark);font-weight:700}

@media(max-width:860px){
  .hero-grid,.grid2,.foot-grid{grid-template-columns:1fr}
  .grid3,.prices{grid-template-columns:1fr}
  nav ul{gap:14px;font-size:.88rem}
  .nav{flex-wrap:wrap;padding:10px 0}
}
