/* ===========================================================
   etude-sol-bordeaux.fr - feuille de styles partagee

   Ne contient QUE les regles identiques sur toutes les pages
   ou elles s'appliquent. Les styles propres a l'en-tete, au
   pied de page et au menu restent dans chaque page tant que
   les 4 familles de gabarits n'ont pas ete harmonisees.
   =========================================================== */

:root {
  /* fonds */
  --bg: #f5f7fa;  --bg2: #ffffff;  --bg3: #eef1f6;  --dark3: #eef1f6;  --white: #f0f4f8;
  /* fonds sombres */
  --dark: #0f1923;  --dark2: #1e2d3d;
  /* textes sur fond CLAIR */
  --grey: #4a5a6a;        /* texte courant      - 7,09:1 sur blanc */
  --grey2: #5f6e80;       /* libelles secondaires - 5,21:1 */
  --teal: #00726b;        /* liens, boutons, titres - 5,80:1 */
  /* textes sur fond SOMBRE : le turquoise clair y est parfaitement lisible */
  --teal2: #00c2b8;       /* 5,99:1 sur #0f1923 */
  /* decor uniquement, ne porte jamais de texte */
  --teal-deco: #00a89e;
  --teal-light: #e6f7f6;  --border: #dde3ec;
  /* typographie */
  --font-title: 'Rajdhani', sans-serif;
  --font-body: 'Barlow', sans-serif;
}


* { margin:0; padding:0; box-sizing:border-box; }
.b { max-width:480px; }
.i { width:80px; height:80px; border-radius:50%; background:rgba(226,87,76,.15); border:2px solid #e2574c; display:flex; align-items:center; justify-content:center; font-size:42px; color:#e2574c; margin:0 auto 24px; }
.box { max-width:520px; }
.topbar a:hover { color:var(--teal2); }
.btn { display:inline-block; background:#00807a; color:#ffffff; text-decoration:none; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; padding:13px 30px; border-radius:6px; }
a:hover { background:var(--teal2); transform:translateY(-2px); }
.nav-links a:hover { color:var(--dark); background:var(--bg3); }
.dropdown { position:relative; }
.dropdown:hover .dropdown-menu { display:block; }
.dropdown-menu a:hover { color:var(--teal); background:var(--teal-light); }
.dropdown > a::after { content:" ▾"; font-size:10px; }
.dropdown>a::after { content:" ▾"; font-size:10px; }
.wrap { max-width:820px; margin:0 auto; padding:50px 40px 70px; }
.btn-devis-nav:hover { background:var(--teal2) !important; color:white !important; }
.meta { font-size:13px; color:var(--grey2); margin-bottom:8px; }
.hero { background:var(--dark2); padding:80px 40px 70px; text-align:center; position:relative; overflow:hidden; }
.lead { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:18px 22px; font-size:14px; color:var(--grey); line-height:1.7; margin-bottom:30px; }
.hero::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 40%, rgba(0,168,158,0.15) 0%, transparent 70%); }
.lead strong { color:var(--dark); }
.page-header::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 50%, rgba(0,194,184,0.07) 0%, transparent 70%); }
h2.art { font-family:var(--font-title); font-size:17px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin:30px 0 10px; }
.badge { width:58px; height:58px; border-radius:50%; background:rgba(255,255,255,0.08); border:2px solid var(--teal2); display:flex; align-items:center; justify-content:center; font-family:var(--font-title); font-size:20px; font-weight:700; color:var(--teal2); }
.wrap p { font-size:14.5px; color:var(--grey); line-height:1.8; margin-bottom:12px; }
.page-header p { color:white !important; }
.hero-content { position:relative; z-index:1; }
.wrap p strong { color:var(--dark); }
.page-header h1 span { color:var(--teal2); }
.edit { background:#fff8e6; border:1px solid var(--teal2); border-radius:8px; padding:12px 16px; font-size:13px; color:#7a5a00; line-height:1.6; margin:18px 0; }
.hero h1 span { color:var(--teal2); }
.form-intro { text-align:center; margin-bottom:40px; }
.form-intro p { font-size:15px; color:var(--grey); line-height:1.7; }
.hero-region { font-size:16px; color:rgba(255,255,255,0.7); margin-bottom:6px; }
.form-intro p strong { color:var(--dark); }
.mentions-card { background:#ffffff; border:1px solid var(--border); border-radius:12px; padding:50px; }
.hero-region strong { color:white; }
.choice-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-bottom:50px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.section-block { margin-bottom:36px; padding-bottom:36px; border-bottom:1px solid rgba(0,194,184,0.08); }
.mission-block { display:grid; grid-template-columns:280px 1fr; gap:50px; align-items:start; margin-bottom:60px; padding-bottom:60px; border-bottom:1px solid rgba(0,194,184,0.1); }
.service-block { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; margin-bottom:80px; padding-bottom:80px; border-bottom:1px solid rgba(0,194,184,0.1); }
.hero-tagline { font-size:14px; color:rgba(255,255,255,0.5); margin-bottom:36px; letter-spacing:1px; }
.form-section-title { font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:20px; padding-bottom:10px; border-bottom:1px solid rgba(0,194,184,0.2); }
.section-block:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.mission-block:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.service-block:last-child { border-bottom:none; }
.btn-hero { display:inline-block; background:var(--teal); color:white; font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:16px 40px; border-radius:6px; text-decoration:none; transition:all 0.3s; box-shadow:0 4px 20px rgba(0,168,158,0.4); }
.choice-card { border-radius:12px; overflow:hidden; border:1px solid var(--border); text-decoration:none; display:block; transition:all 0.3s; cursor:pointer; }
.contact-info h2 { font-family:var(--font-title); font-size:clamp(20px, 2.5vw, 28px); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.section-block h2 { font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:16px; }
.carte-wrap { border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.service-block.reverse { direction:rtl; }
.btn-hero:hover { background:var(--teal2); transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,194,184,0.5); }
.choice-card:hover { border-color:var(--teal-deco); transform:translateY(-6px); box-shadow:0 16px 60px rgba(0,194,184,0.2); }
.contact-info h2 span { color:var(--teal); }
.section-block p { font-size:14px; color:var(--grey); line-height:1.8; margin-bottom:10px; }
.g-card { border-radius:12px; overflow:hidden; border:1px solid var(--border); text-decoration:none; display:block; transition:all 0.3s; }
.carte-img { width:100%; aspect-ratio:3/4; background:linear-gradient(160deg, #1a0a00 0%, #3d1500 15%, #8b2800 30%, #c44d00 50%, #e87020 65%, #f5a050 80%, #ffd090 95%); position:relative; display:flex; align-items:flex-end; justify-content:center; padding-bottom:20px; }
.service-block.reverse > * { direction:ltr; }
.section { padding:70px 40px; max-width:1200px; margin:0 auto; }
.g1-visual { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #0d2010, #1a4020, #2d6030); display:flex; align-items:center; justify-content:center; position:relative; }
.contact-info .sub { font-size:12px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:30px; font-weight:600; }
.form-group label span { color:var(--teal); }
.section-block p:last-child { margin-bottom:0; }
.g-card:hover { border-color:var(--teal-deco); transform:translateY(-4px); box-shadow:0 8px 30px rgba(0,194,184,0.15); }
.carte-img::before { content:'CARTE DE FRANCE\A RETRAIT / GONFLEMENT\A DES ARGILES'; white-space:pre; position:absolute; top:20px; left:50%; transform:translateX(-50%); font-family:var(--font-title); font-size:13px; font-weight:700; color:rgba(255,255,255,0.8); text-align:center; letter-spacing:1px; text-shadow:0 1px 4px rgba(0,0,0,0.6); }
.info-cards { display:flex; flex-direction:column; gap:16px; margin-bottom:30px; }
.section-block p strong { color:var(--dark); }
.carte-legend { background:#ffffff; padding:16px 20px; }
.g-card-visual { border-radius:12px; overflow:hidden; border:1px solid var(--border); cursor:pointer; transition:all 0.3s; text-decoration:none; display:block; }
.text-block h2 span { color:var(--teal); }
.section-title span { color:var(--teal); }
.terrain-sign { background:white; border:3px solid #333333; padding:16px 24px; text-align:center; border-radius:4px; box-shadow:0 4px 20px rgba(0,0,0,0.4); }
.info-card { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:20px 24px; display:flex; align-items:flex-start; gap:16px; }
.form-group select { width:100%; background:#eef1f6; border:1px solid var(--border); border-radius:6px; padding:12px 16px; color:var(--dark); font-family:var(--font-body); font-size:14px; transition:border-color 0.2s; outline:none; }
.img-terrain { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #0d2010, #1a4020, #2d6030); display:flex; align-items:center; justify-content:center; position:relative; }
.section-block a { color:var(--teal); text-decoration:none; }
.g-card-bg { width:100%; aspect-ratio:1; background:linear-gradient(135deg, #0a1020, #0d1e30, #0a1820); display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; }
.legend-title { font-family:var(--font-title); font-size:12px; font-weight:700; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:10px; }
.g-card-visual:hover { border-color:var(--teal-deco); transform:translateY(-4px); box-shadow:0 12px 50px rgba(0,194,184,0.2); }
.text-block .sub { font-size:12px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; font-weight:600; }
.img-placeholder { border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.terrain-sign .t1 { font-size:18px; font-weight:900; color:#111111; letter-spacing:1px; font-family:var(--font-title); }
.info-card .icon { font-size:22px; flex-shrink:0; margin-top:2px; }
.section-block a:hover { text-decoration:underline; }
.g-card-bg::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(45deg, transparent, transparent 30px, rgba(0,194,184,0.02) 30px, rgba(0,194,184,0.02) 31px); }
.legend-items { display:flex; flex-direction:column; gap:8px; }
.text-block p { color:var(--grey); font-size:15px; line-height:1.8; margin-bottom:14px; }
.terrain-sign .t2 { background:var(--teal); color:white; font-size:14px; font-weight:700; padding:4px 8px; margin:6px 0; letter-spacing:1px; }
.info-card h4 { font-family:var(--font-title); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.section-block ul { list-style:none; padding:0; }
.g-circle { width:90px; height:90px; border-radius:50%; background:linear-gradient(135deg, var(--dark3), #0d2030); border:3px solid var(--teal-deco); display:flex; align-items:center; justify-content:center; font-family:var(--font-title); font-size:32px; font-weight:700; color:var(--teal); box-shadow:0 0 30px rgba(0,194,184,0.3); margin-bottom:14px; position:relative; z-index:1; }
.expertise-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:28px; text-align:center; cursor:pointer; transition:all 0.3s; text-decoration:none; color:inherit; display:block; }
.terrain-sign .t3 { font-size:13px; color:#333333; font-style:italic; }
.g2-visual { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #0a1020, #0d1e30, #1a2a20); display:flex; align-items:center; justify-content:center; }
.info-card p { font-size:14px; color:var(--grey); line-height:1.6; }
.form-group select:focus { border-color:var(--teal-deco); box-shadow:0 0 0 3px rgba(0,194,184,0.1); }
.img-chantier { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #0d1520, #1a2535, #0d2030); display:flex; align-items:center; justify-content:center; }
.section-block ul li { font-size:14px; color:var(--grey); line-height:1.8; padding-left:16px; position:relative; margin-bottom:6px; }
.g-card-label { font-family:var(--font-title); font-size:13px; font-weight:700; letter-spacing:3px; color:var(--grey); text-transform:uppercase; position:relative; z-index:1; }
.mission-text h2 { font-family:var(--font-title); font-size:clamp(20px, 2.5vw, 26px); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; }
.expertise-card:hover { border-color:var(--teal-deco); transform:translateY(-4px); box-shadow:0 8px 30px rgba(0,168,158,0.12); }
.info-card a { color:var(--grey); text-decoration:none; }
.img-chantier-inner { text-align:center; padding:20px; }
.section-block ul li::before { content:'→'; position:absolute; left:0; color:var(--teal); font-size:12px; }
.mission-text h2 span { color:var(--teal); }
.form-group input { width:100%; background:#eef1f6; border:1px solid var(--border); border-radius:6px; padding:12px 16px; color:var(--dark); font-family:var(--font-body); font-size:14px; transition:border-color 0.2s; outline:none; }
.expertise-card h3 { font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.info-card a:hover { color:var(--teal); }
.elan-box { background:#ffffff; border:1px solid var(--border); border-left:4px solid var(--teal-deco); border-radius:8px; padding:24px 28px; margin-bottom:30px; }
.img-chantier-inner .icon { font-size:48px; margin-bottom:12px; display:block; }
.mission-text .sub { font-size:12px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; font-weight:600; }
.service-text h2 { color:var(--dark); font-family:var(--font-title); font-size:clamp(22px, 3vw, 32px); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; }
.expertise-card .label { font-size:11px; color:var(--grey2); letter-spacing:1px; text-transform:uppercase; margin-bottom:12px; font-weight:600; }
.choice-card-body { background:#ffffff; padding:28px; }
.services-box { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:24px; }
.elan-box h3 { font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
.img-chantier-inner p { font-size:13px; color:var(--grey); font-family:var(--font-title); letter-spacing:1px; text-transform:uppercase; }
.mission-text p { color:var(--grey); font-size:14px; line-height:1.8; margin-bottom:14px; }
.service-text h2 span { color:var(--teal); }
.expertise-card p { font-size:14px; color:var(--grey); line-height:1.6; }
.choice-card-body h2 { font-family:var(--font-title); font-size:22px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.services-box h4 { font-family:var(--font-title); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:14px; }
.form-group input:focus { border-color:var(--teal-deco); box-shadow:0 0 0 3px rgba(0,194,184,0.1); }
.form-group select option { background:#eef1f6; color:var(--dark); }
.elan-box p { font-size:14px; color:var(--grey); line-height:1.7; }
.mission-text p strong { color:var(--dark); }
.service-text .sub { font-size:12px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; font-weight:600; }
.risques-card { background:var(--bg2); border:1px solid var(--border); border-radius:10px; overflow:hidden; cursor:pointer; transition:all 0.3s; text-decoration:none; color:inherit; display:block; }
.choice-card-body .card-sub { font-size:11px; color:var(--grey); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; font-weight:600; }
.services-list { display:flex; flex-wrap:wrap; gap:8px; }
.elan-box p strong { color:var(--dark); }
.info-box h3 { font-family:var(--font-title); font-size:16px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:12px; }
.phase-block { background:#ffffff; border:1px solid var(--border); border-left:3px solid var(--teal-deco); border-radius:6px; padding:16px 20px; margin-bottom:12px; }
.service-text p { color:var(--grey); font-size:15px; line-height:1.8; margin-bottom:14px; }
.form-group textarea:focus { border-color:var(--teal-deco); box-shadow:0 0 0 3px rgba(0,194,184,0.1); }
.risques-card:hover { border-color:var(--teal-deco); box-shadow:0 8px 30px rgba(0,168,158,0.12); }
.choice-card-body p { font-size:14px; color:var(--grey); line-height:1.7; margin-bottom:20px; }
.service-tag { background:rgba(0,194,184,0.08); border:1px solid var(--border); color:var(--grey); font-size:12px; padding:5px 12px; border-radius:20px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.phase-block h4 { font-family:var(--font-title); font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.service-text p strong { color:var(--dark); }
.form-group textarea { width:100%; background:#eef1f6; border:1px solid var(--border); border-radius:6px; padding:12px 16px; color:var(--dark); font-family:var(--font-body); font-size:14px; transition:border-color 0.2s; outline:none; }
.form-group input::placeholder { color:var(--grey); }
.choice-card-body p strong { color:var(--dark); }
.phase-block p { font-size:13px; color:var(--grey); line-height:1.7; margin:0; }
.risques-card .card-body { padding:20px; }
.form-group textarea::placeholder { color:var(--grey); }
.risques-img { width:100%; height:160px; background:linear-gradient(135deg, #3d1a00, #7a2e00, #c44d00, #e8520a); display:flex; align-items:center; justify-content:center; }
.btn-choice { display:block; background:var(--teal); color:#ffffff; font-family:var(--font-title); font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:14px 20px; border-radius:4px; text-align:center; text-decoration:none; transition:all 0.3s; }
.form-card h3 { font-family:var(--font-title); font-size:18px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.argiles-visual { border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.phase-block p strong { color:var(--dark); }
.risques-card h3 { font-family:var(--font-title); font-size:14px; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:1px; margin-bottom:6px; }
.vendu-badge .v1 { font-family:var(--font-title); font-size:42px; font-weight:700; color:white; text-transform:uppercase; letter-spacing:3px; display:block; background:rgba(0,194,184,0.8); padding:8px 24px; border-radius:4px; transform:rotate(-5deg); }
.risques-img span { font-family:var(--font-title); font-size:16px; font-weight:700; color:white; text-align:center; letter-spacing:1px; text-shadow:0 2px 8px rgba(0,0,0,0.4); padding:10px; }
.btn-choice:hover { background:var(--teal2); }
.form-card .form-sub { font-size:12px; color:var(--grey); margin-bottom:24px; }
.argiles-img { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #1a0a00, #3d1500, #c44d00, #e87020); display:flex; align-items:center; justify-content:center; position:relative; }
.stat-highlight { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:20px 24px; margin:20px 0; display:flex; align-items:center; gap:20px; }
.risques-card p { font-size:13px; color:var(--grey); line-height:1.5; }
.vendu-badge .v2 { font-size:14px; color:var(--teal); letter-spacing:2px; margin-top:16px; font-family:var(--font-title); text-transform:uppercase; text-align:center; }
.radio-item input[type="radio"] { accent-color:var(--teal); width:16px; height:16px; cursor:pointer; }
.steps-title { font-family:var(--font-title); font-size:20px; font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:24px; }
.argiles-img-label { font-family:var(--font-title); font-size:16px; font-weight:700; color:white; text-align:center; letter-spacing:1px; text-shadow:0 2px 8px rgba(0,0,0,0.6); z-index:1; padding:20px; }
.stat-num { font-family:var(--font-title); font-size:36px; font-weight:700; color:var(--teal); flex-shrink:0; }
.btn-service { display:inline-block; background:var(--teal); color:#ffffff; font-family:var(--font-title); font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:14px 32px; border-radius:4px; text-decoration:none; transition:all 0.3s; margin-top:10px; }
.bureau-section { background:var(--bg3); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:70px 40px; }
.steps-title span { color:var(--teal); }
.stat-text { font-size:14px; color:var(--grey); line-height:1.6; }
.btn-service:hover { background:var(--teal2); transform:translateY(-2px); }
.bureau-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.file-upload { border:2px dashed rgba(0,194,184,0.3); border-radius:6px; padding:20px; text-align:center; cursor:pointer; transition:all 0.2s; }
.steps { list-style:none; margin-bottom:40px; }
.stat-text strong { color:var(--dark); }
.cta-final { background:#ffffff; border:1px solid var(--border); border-radius:12px; padding:50px 40px; text-align:center; margin-top:20px; }
.file-upload:hover { border-color:var(--teal-deco); background:rgba(0,194,184,0.03); }
.steps li { display:flex; gap:16px; margin-bottom:20px; align-items:flex-start; }
.vendu-visual { border-radius:8px; overflow:hidden; border:1px solid var(--border); }
.elan-section { background:#ffffff; border-top:1px solid rgba(0,194,184,0.1); border-bottom:1px solid rgba(0,194,184,0.1); padding:60px 40px; margin-bottom:60px; }
.cta-final h2 { font-family:var(--font-title); font-size:clamp(22px, 3vw, 32px); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; }
.file-upload input { display:none; }
.vendu-img { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #0a1a10, #1a3a20, #0d2a18); display:flex; align-items:center; justify-content:center; }
.elan-inner { max-width:1200px; margin:0 auto; }
.cta-final h2 span { color:var(--teal); }
.bureau-text h2 span { color:var(--teal); }
.file-upload p { font-size:13px; color:var(--grey); }
.steps li div { font-size:14px; color:var(--grey); line-height:1.7; padding-top:4px; }
.vendu-badge { text-align:center; }
.elan-inner h2 { font-family:var(--font-title); font-size:clamp(22px, 3vw, 32px); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; text-align:center; }
.cta-final p { color:var(--grey); font-size:15px; max-width:600px; margin:0 auto 30px; line-height:1.7; }
.bureau-text .subtitle { font-size:12px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:22px; font-weight:600; }
.file-upload p strong { color:var(--teal); }
.steps li div strong { color:var(--dark); display:block; margin-bottom:2px; }
.elan-inner h2 span { color:var(--teal); }
.bureau-text p { color:var(--grey); font-size:15px; line-height:1.8; margin-bottom:14px; }
.file-upload .file-size { font-size:11px; color:var(--grey); margin-top:4px; }
.elan-inner .sub { font-size:13px; color:var(--teal); letter-spacing:2px; text-transform:uppercase; margin-bottom:40px; text-align:center; font-weight:600; }
.bureau-text p strong { color:var(--dark); }
.consent-box { background:#eef1f6; border:1px solid var(--border); border-radius:8px; padding:16px 20px; margin:24px 0; }
.conformite-box { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:30px; text-align:center; margin-bottom:40px; }
.elan-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.bureau-text ul { list-style:none; margin-top:10px; }
.consent-item { display:flex; align-items:flex-start; gap:12px; }
.conformite-box h3 { font-family:var(--font-title); font-size:20px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:14px; }
.bureau-text ul li { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; font-size:14px; color:var(--grey); line-height:1.6; }
.consent-item input[type="checkbox"] { accent-color:var(--teal); width:16px; height:16px; margin-top:3px; flex-shrink:0; cursor:pointer; }
.conformite-box p { font-size:14px; color:var(--grey); line-height:1.7; max-width:700px; margin:0 auto; }
.elan-card { background:#eef1f6; border:1px solid var(--border); border-radius:8px; padding:28px; cursor:pointer; text-decoration:none; display:block; transition:all 0.3s; }
.response-badge { display:flex; align-items:center; gap:10px; background:rgba(0,194,184,0.08); border:1px solid var(--border); border-radius:6px; padding:12px 16px; margin-bottom:20px; }
.consent-item label { font-size:13px; color:var(--grey); line-height:1.6; cursor:pointer; margin:0; text-transform:none; letter-spacing:0; font-weight:400; }
.securite-box { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:30px; margin-bottom:40px; }
.elan-card:hover { border-color:var(--teal-deco); transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,194,184,0.15); }
.bureau-visual { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.response-badge span { font-size:13px; color:var(--grey); }
.securite-box h3 { font-family:var(--font-title); font-size:20px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:16px; }
.elan-card .g-badge { width:60px; height:60px; border-radius:50%; background:rgba(0,194,184,0.1); border:2px solid var(--teal-deco); display:flex; align-items:center; justify-content:center; font-family:var(--font-title); font-size:22px; font-weight:700; color:var(--teal); margin-bottom:16px; }
.stat-box { background:var(--bg2); border:1px solid var(--border); border-radius:10px; padding:20px; text-align:center; }
.btn-cta:hover { background:var(--teal2); transform:translateY(-2px); }
.response-badge strong { color:var(--teal); }
.consent-item label a:hover { text-decoration:underline; }
.consent-note { font-size:12px; color:var(--grey); line-height:1.6; margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,0.05); }
.securite-box p { font-size:14px; color:var(--grey); line-height:1.8; margin-bottom:10px; }
.elan-card h3 { font-family:var(--font-title); font-size:18px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--teal); margin-bottom:8px; }
.stat-box .num { font-family:var(--font-title); font-size:30px; font-weight:700; color:var(--teal); display:block; }
.btn-submit:hover { background:var(--teal2); transform:translateY(-2px); }
.elan-card .card-sub { font-size:11px; color:var(--grey); letter-spacing:2px; text-transform:uppercase; margin-bottom:14px; font-weight:600; }
.stat-box .lbl { font-size:11px; color:var(--grey2); letter-spacing:1px; text-transform:uppercase; margin-top:4px; }
.elan-card p { font-size:14px; color:var(--grey); line-height:1.7; margin-bottom:10px; }
.stat-box.full { grid-column:span 2; }
.form-divider { border:none; border-top:1px solid rgba(0,194,184,0.1); margin:30px 0; }
.zone-strip { background:#ffffff; border-top:1px solid rgba(0,194,184,0.1); border-bottom:1px solid rgba(0,194,184,0.1); padding:30px 40px; text-align:center; }
.elan-card p strong { color:var(--dark); }
.argiles-section { padding:70px 40px; max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.zone-strip p { font-size:14px; color:var(--grey); line-height:1.8; max-width:800px; margin:0 auto; }
.georisques-box { background:#ffffff; border:1px solid var(--border); border-radius:8px; padding:30px; text-align:center; margin-bottom:50px; }
.zone-strip p strong { color:var(--dark); }
.georisques-box h3 { font-family:var(--font-title); font-size:20px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); margin-bottom:14px; }
.argiles-map { border-radius:10px; overflow:hidden; border:1px solid var(--border); box-shadow:0 4px 20px rgba(0,0,0,0.08); }
.georisques-box p { font-size:14px; color:var(--grey); line-height:1.7; max-width:600px; margin:0 auto 20px; }
.legend { background:var(--bg3); padding:14px 20px; display:flex; gap:20px; justify-content:center; border-top:1px solid var(--border); }
.argiles-map-visual { width:100%; aspect-ratio:4/3; background:linear-gradient(135deg, #1a0a00 0%, #3d1500 20%, #c44d00 45%, #e87020 60%, #f5a050 80%, #ffd090 100%); display:flex; align-items:center; justify-content:center; }
.argiles-map-visual span { font-family:var(--font-title); font-size:16px; font-weight:700; color:rgba(255,255,255,0.8); text-align:center; letter-spacing:1px; padding:20px; }
.argiles-text h2 span { color:var(--teal); }
.argiles-text p { color:var(--grey); font-size:14px; line-height:1.8; margin-bottom:12px; }
.argiles-text p strong { color:var(--dark); }
.btn-secondary:hover { background:var(--teal); color:white; }
.zone-section { background:var(--dark2); padding:70px 40px; }
.zone-inner { max-width:1200px; margin:0 auto; }
.zone-inner h2 span { color:var(--teal2); }
.zone-map { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:30px; text-align:center; }
.zone-label { font-family:var(--font-title); font-size:20px; font-weight:700; color:var(--teal2); letter-spacing:2px; margin-bottom:6px; }
.zone-sublabel { font-size:12px; color:rgba(255,255,255,0.4); letter-spacing:2px; text-transform:uppercase; margin-bottom:24px; }
.zone-cities { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.city-tag { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.15); color:rgba(255,255,255,0.6); font-size:12px; padding:5px 12px; border-radius:20px; }
.city-tag.main { background:rgba(0,194,184,0.15); border-color:var(--teal2); color:var(--teal2); font-weight:600; }
.btn-zone { display:inline-block; background:var(--teal); color:white; font-family:var(--font-title); font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:14px 36px; border-radius:6px; text-decoration:none; margin-top:28px; transition:all 0.3s; }
.btn-zone:hover { background:var(--teal2); transform:translateY(-2px); }
.accordion-section h2 { font-family:var(--font-title); font-size:clamp(20px,3vw,26px); font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dark); margin-bottom:10px; }
.accordion-section h2 span { color:var(--teal); }
.faq-section { max-width:1200px; margin:0 auto; padding:50px 40px; }
.faq-section h2 { font-family:var(--font-title); font-size:clamp(20px,3vw,26px); font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--dark); margin-bottom:30px; }
.footer-col a:hover { color:var(--teal2); }
.faq-section h2 span { color:var(--teal); }
.faq-list { display:flex; flex-direction:column; gap:16px; }
.faq-item { background:white; border:1px solid var(--border); border-radius:8px; padding:20px 24px; }
.faq-item h3 { font-family:var(--font-title); font-size:16px; font-weight:700; color:var(--dark); margin-bottom:8px; }
.faq-item p { font-size:14px; color:var(--grey); line-height:1.7; }
.footer-bottom a:hover { color:var(--teal2); }
.faq-item a { color:var(--teal); font-weight:600; text-decoration:none; }
.mobile-menu a:hover { color:var(--teal); }
.mobile-menu.open { display:flex; }
.mobile-bar a { display:flex; flex-direction:column; align-items:center; gap:4px; color:rgba(255,255,255,0.7); text-decoration:none; font-size:11px; font-weight:600; letter-spacing:0.5px; text-transform:uppercase; }
.mobile-bar a span.icon { font-size:20px; }
.mobile-bar a.devis-btn { background:var(--teal); color:white; padding:8px 18px; border-radius:6px; font-size:12px; }
.gd-card:hover { border-color:var(--teal-deco); background:#f4fbfa; }
.gd-arrow { font-size:12px; color:var(--teal); transition:transform .25s; flex-shrink:0; }
.gd-card.open .gd-arrow { transform:rotate(180deg); }
.gd-panel.open { display:block; }
.gd-link.gd-active { border-color:var(--teal-deco); color:var(--teal); font-weight:600; background:var(--teal-light); }
.gd-panel-body { display:flex; flex-wrap:wrap; gap:8px; padding:16px 18px; }
.gd-link:hover { border-color:var(--teal-deco); color:var(--teal); background:var(--teal-light); }
.gd-soon { font-size:13px; color:var(--grey2); font-style:italic; }
.gd-deptlink:hover { background:#00807a; }

@media(max-width:600px) {
  .form-row { grid-template-columns:1fr; }
}

@media(max-width:768px) {
  .two-col .img-placeholder { order:-1; }
  .choice-grid { grid-template-columns:1fr 1fr; gap:12px; }
  .contact-grid { grid-template-columns:1fr; }
  .mission-block { grid-template-columns:1fr; gap:24px; }
  .service-block { grid-template-columns:1fr; direction:ltr; }
  .wrap { padding:36px 20px 50px; }
  .bureau-inner { grid-template-columns:1fr; }
  .elan-grid { grid-template-columns:1fr; }
  .mentions-card { padding:24px; }
  .elan-section { padding:40px 20px; }
  .argiles-section { grid-template-columns:1fr; }
  .section { padding:50px 20px; }
  .bureau-section { padding:50px 20px; }
  .zone-section { padding:50px 20px; }
  .faq-section { padding:40px 20px; }
}
