/* BatiSpot — UI kit website
   Pulled from index.html source (palette client) */
:root {
  --g1:#1A6B45; --g2:#228B5B; --g3:#4CAF82;
  --g-soft:#EBF7F1; --g-cream:#F7FBF8;
  --cta:#166534; --cta-h:#0f4a2f;
  --text:#1C2B22; --sub:#3D5A4E;
  --border:rgba(34,139,91,0.12);
  --shadow:rgba(26,107,69,0.08);
  --white:#fff;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#1F2937;background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
:focus-visible{outline:3px solid #228B5B;outline-offset:3px;border-radius:4px}

/* NAV */
.bs-nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:0 5%;height:66px;display:flex;align-items:center;justify-content:space-between}
.bs-nav .logo{display:flex;align-items:center;gap:.5rem;text-decoration:none}
.bs-nav .nav-links{display:flex;gap:2rem;list-style:none}
.bs-nav .nav-links a{text-decoration:none;color:var(--sub);font-weight:500;font-size:.9rem;transition:color .2s}
.bs-nav .nav-links a:hover{color:var(--g1)}
.bs-nav .nav-switch{display:flex;align-items:center;gap:.8rem}
.bs-nav .nav-pro-link{font-size:.82rem;font-weight:600;color:var(--sub);text-decoration:none;border-bottom:1px dashed var(--border);transition:color .2s;display:inline-flex;align-items:center;gap:4px}
.bs-nav .nav-pro-link:hover{color:var(--g2)}
.bs-nav .nav-cta{background:var(--cta);color:#fff;border:none;padding:.5rem 1.3rem;border-radius:10px;font-weight:800;font-size:.88rem;cursor:pointer;text-decoration:none;transition:background .2s,transform .1s}
.bs-nav .nav-cta:hover{background:var(--cta-h);transform:translateY(-1px)}

/* HERO */
.bs-hero{min-height:88vh;background:radial-gradient(ellipse at 80% 20%,rgba(34,139,91,0.08) 0%,transparent 55%),radial-gradient(ellipse at 20% 80%,rgba(76,175,130,0.06) 0%,transparent 50%),linear-gradient(180deg,var(--g-cream) 0%,#fff 100%);display:flex;align-items:center;padding:80px 5% 70px}
.bs-hero-inner{max-width:1100px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.bs-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:var(--g-soft);color:var(--g1);padding:.35rem 1rem;border-radius:20px;font-size:.78rem;font-weight:700;border:1px solid var(--border);margin-bottom:1.2rem}
.bs-eyebrow::before{content:'●';color:var(--g3);font-size:.5rem}
.bs-hero-text h1{font-size:clamp(2rem,3.8vw,3.1rem);font-weight:900;color:var(--text);line-height:1.12;margin-bottom:1rem;letter-spacing:-.02em}
.bs-hero-text h1 em{font-style:normal;color:var(--g2)}
.bs-hero-text>p{font-size:1.05rem;color:var(--sub);margin-bottom:2rem;max-width:440px;line-height:1.7}
.bs-hero-trust{display:flex;flex-direction:column;gap:.55rem;margin-bottom:2.2rem}
.trust-item{display:flex;align-items:center;gap:.7rem;font-size:.88rem;color:var(--sub)}
.trust-check{width:22px;height:22px;border-radius:50%;background:var(--g-soft);border:1.5px solid var(--g3);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--g2);font-size:.7rem;font-weight:900}
.bs-hero-stats{display:flex;gap:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.stat .num{display:block;font-size:1.6rem;font-weight:900;color:var(--g2)}
.stat .lbl{font-size:.75rem;color:var(--sub);text-transform:uppercase;letter-spacing:.5px}

/* FORM CARD */
.form-card{background:#fff;border-radius:24px;padding:2.2rem 2rem;box-shadow:0 20px 60px rgba(26,107,69,0.10),0 2px 8px rgba(0,0,0,0.04);border:1px solid var(--border)}
.form-card-header{margin-bottom:1.4rem}
.form-card-header .pulse{display:inline-flex;align-items:center;gap:.4rem;background:#F0FDF4;border:1px solid rgba(34,139,91,0.2);padding:.25rem .7rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#0F5132;margin-bottom:.6rem}
.form-card-header .pulse span{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,0.18);display:inline-block;animation:bs-pulse 2s infinite}
@keyframes bs-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.92)}}
.form-card-header h2{font-size:1.3rem;font-weight:900;color:var(--text);margin-bottom:.2rem}
.form-card-header p{font-size:.83rem;color:var(--sub)}
.fg{margin-bottom:.8rem}
.fg label{display:block;font-size:.76rem;font-weight:700;color:var(--text);margin-bottom:.3rem;letter-spacing:.2px}
.fg input,.fg select,.fg textarea{width:100%;padding:.65rem .95rem;border:1.5px solid #E5E7EB;border-radius:10px;font-size:.88rem;color:var(--text);background:#FAFAF9;transition:border-color .2s,box-shadow .2s;outline:none;font-family:inherit}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--g3);box-shadow:0 0 0 3px rgba(76,175,130,0.12);background:#fff}
.fg textarea{resize:vertical;min-height:72px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.btn-submit{width:100%;padding:.9rem;background:var(--cta);color:#fff;border:none;border-radius:12px;font-size:.97rem;font-weight:900;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 6px 20px rgba(42,157,110,0.25);margin-top:.3rem}
.btn-submit:hover{background:var(--cta-h);transform:translateY(-1px)}
.form-note{text-align:center;font-size:.75rem;color:var(--sub);margin-top:.7rem}

/* SECTIONS */
section{padding:88px 5%}
.section-inner{max-width:1100px;margin:0 auto}
.section-head{text-align:center;max-width:580px;margin:0 auto 3.5rem}
.tag{display:inline-block;background:var(--g-soft);color:var(--g1);padding:.28rem .85rem;border-radius:20px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.7rem;border:1px solid var(--border)}
.section-head h2{font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:900;color:var(--text);line-height:1.2;margin-bottom:.7rem;letter-spacing:-.015em}
.section-head p{color:var(--sub);font-size:.96rem}

/* POURQUOI */
.bs-pourquoi{background:var(--g-soft)}
.pourquoi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}
.pourquoi-card{background:#fff;border-radius:20px;padding:2rem 1.5rem;box-shadow:0 4px 20px var(--shadow);border:1px solid var(--border);transition:transform .2s,box-shadow .2s}
.pourquoi-card:hover{transform:translateY(-5px);box-shadow:0 14px 38px rgba(26,107,69,0.12)}
.p-icon{width:56px;height:56px;border-radius:16px;background:var(--g-soft);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.pourquoi-card h3{font-size:1rem;font-weight:800;color:var(--text);margin-bottom:.45rem}
.pourquoi-card p{font-size:.85rem;color:var(--sub);line-height:1.6}

/* SERVICES */
.bs-services{background:#fff}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.2rem}
.svc{background:var(--g-cream);border-radius:16px;padding:1.4rem 1.2rem;text-align:center;border:1px solid var(--border);transition:background .2s,transform .2s;text-decoration:none;color:inherit;display:block}
.svc:hover{background:var(--g-soft);transform:translateY(-3px)}
.svc-ico{margin-bottom:.6rem;display:block}
.svc h3{font-size:.88rem;font-weight:800;color:var(--text);margin-bottom:.3rem}
.svc p{font-size:.78rem;color:var(--sub)}

/* PARCOURS */
.bs-parcours{background:var(--g-soft)}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2rem}
.step{text-align:center;padding:1rem}
.step-num{width:50px;height:50px;border-radius:50%;background:var(--cta);color:#fff;font-size:1.1rem;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;box-shadow:0 6px 18px rgba(42,157,110,0.28)}
.step h3{font-size:.95rem;font-weight:800;color:var(--text);margin-bottom:.4rem}
.step p{font-size:.83rem;color:var(--sub)}

/* CTA FINAL */
.bs-cta-final{background:linear-gradient(135deg,#0d3320 0%,var(--g1) 50%,var(--g2) 100%);text-align:center;padding:88px 5%;color:#fff}
.bs-cta-final h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:900;color:#fff;margin-bottom:1rem;letter-spacing:-.015em}
.bs-cta-final p{font-size:.98rem;color:rgba(255,255,255,0.75);max-width:460px;margin:0 auto 2rem}
.cta-final-btn{display:inline-block;background:#fff;color:var(--g1);padding:.95rem 2.6rem;border-radius:14px;font-size:1rem;font-weight:900;text-decoration:none;transition:transform .15s,box-shadow .2s;box-shadow:0 8px 24px rgba(0,0,0,0.15)}
.cta-final-btn:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(0,0,0,0.2)}

/* FOOTER */
.bs-footer{background:#0a1c10;color:rgba(255,255,255,0.72);padding:2.5rem 5%;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.8rem}
.bs-footer .f-logo{font-size:1.2rem;font-weight:900;color:#fff;text-decoration:none}
.bs-footer a{color:rgba(255,255,255,0.65);text-decoration:none}
.bs-footer a:hover{color:#fff}
.footer-links{display:flex;gap:1.5rem;flex-wrap:wrap}

@media(max-width:768px){
  .bs-hero-inner{grid-template-columns:1fr;gap:2.5rem}
  .form-row{grid-template-columns:1fr}
  .bs-nav .nav-links,.bs-nav .nav-switch{display:none}
}
