/* BMS SERVICE — DESIGN SYSTEM */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --rouge: #C0392B; --rouge-dark: #9B2D20; --rouge-light: rgba(192,57,43,0.10);
  --marine: #1B2A4A; --marine-mid: #243860; --marine-light: rgba(27,42,74,0.06);
  --blanc: #FFFFFF; --creme: #F8F7F4; --gris: #F0EEE9;
  --texte: #2C2C2C; --texte-doux: #6B6B6B; --bordure: #E0DDD6;
  --or: #C9A84C; --or-light: rgba(201,168,76,0.12);
}
html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', sans-serif; color: var(--texte); background: var(--blanc); overflow-x: hidden; }

/* STICKY */
.call-sticky { position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--rouge);display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;text-decoration:none;color:#fff;font-weight:700;font-size:.95rem;letter-spacing:.04em;box-shadow:0 -4px 20px rgba(192,57,43,.4); }
.call-sticky svg { animation: ring 2.5s ease-in-out infinite; }
@keyframes ring { 0%,100%{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}50%{transform:rotate(0)} }

/* NAV */
.main-nav { position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--bordure);display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:70px; }
.nav-logo { display:flex;align-items:center;text-decoration:none; }
.nav-logo img { height:50px;width:auto;object-fit:contain; }
.nav-links { display:flex;gap:4px;align-items:center; }
.nav-link { font-size:.77rem;font-weight:600;color:var(--texte-doux);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;border-radius:4px;transition:all .2s; }
.nav-link:hover,.nav-link.active { color:var(--marine);background:var(--marine-light); }
.nav-drop { position:relative; }
.nav-drop:hover .drop-menu { opacity:1;visibility:visible;transform:translateY(0); }
.drop-menu { position:absolute;top:calc(100% + 8px);left:0;min-width:210px;background:#fff;border:1px solid var(--bordure);border-radius:8px;padding:8px;box-shadow:0 16px 48px rgba(0,0,0,.12);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s;z-index:300; }
.drop-menu a { display:block;padding:8px 12px;font-size:.79rem;font-weight:600;color:var(--texte);text-decoration:none;border-radius:4px;transition:all .2s; }
.drop-menu a:hover { background:var(--rouge-light);color:var(--rouge); }
.nav-cta { display:flex!important;align-items:center;gap:8px;background:var(--rouge)!important;color:#fff!important;padding:10px 18px!important;border-radius:4px;transition:background .2s,transform .2s!important; }
.nav-cta:hover { background:var(--rouge-dark)!important;transform:scale(1.02)!important; }

/* HERO */
.hero { background:var(--marine);min-height:100vh;display:flex;align-items:center;padding:100px 64px 80px;position:relative;overflow:hidden; }
.hero::before { content:'';position:absolute;top:-20%;right:-8%;width:65vw;height:120vh;background:linear-gradient(135deg,var(--marine-mid) 0%,#0d1929 100%);clip-path:polygon(18% 0%,100% 0%,100% 100%,0% 100%); }
.hero::after { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 55% 65% at 78% 50%,rgba(192,57,43,.2) 0%,transparent 65%); }
.hero-pattern { position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100'%3E%3Cpath d='M28 66L0 50V17L28 1l28 16v33z' fill='none' stroke='%23fff' stroke-width='1'/%3E%3C/svg%3E");background-size:56px 100px; }
.hero-content { position:relative;z-index:2;max-width:600px; }
.hero-badge { display:inline-flex;align-items:center;gap:8px;background:rgba(192,57,43,.2);border:1px solid rgba(192,57,43,.5);color:#ff9088;font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:7px 16px;border-radius:2px;margin-bottom:22px; }
.pulse { width:7px;height:7px;background:#ff6b5b;border-radius:50%;animation:pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.7)} }
.hero h1 { font-size:clamp(2.6rem,5vw,4.8rem);font-weight:900;color:#fff;line-height:.98;letter-spacing:-.01em;margin-bottom:8px; }
.hero h1 em { font-family:'Lora',serif;font-style:italic;font-weight:400;color:var(--rouge);display:block; }
.hero-sub { font-size:.78rem;font-weight:700;color:rgba(255,255,255,.38);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px; }
.hero-desc { font-size:.96rem;color:rgba(255,255,255,.6);line-height:1.78;max-width:490px;margin-bottom:38px; }
.hero-ctas { display:flex;gap:12px;flex-wrap:wrap; }
.hero-stats { display:flex;gap:36px;margin-top:50px;padding-top:30px;border-top:1px solid rgba(255,255,255,.08);flex-wrap:wrap; }
.stat-n { font-size:2rem;font-weight:900;color:#fff;line-height:1; }
.stat-n span { color:var(--rouge); }
.stat-l { font-size:.66rem;color:rgba(255,255,255,.4);letter-spacing:.12em;text-transform:uppercase;margin-top:4px;font-weight:600; }
.hero-visual { position:absolute;right:5%;top:50%;transform:translateY(-50%);z-index:2; }
.hero-shield { width:280px;opacity:.07;animation:float 7s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)} }
.hcard { position:absolute;background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:14px 18px; }
.hcard-1 { bottom:18%;left:-40px; }
.hcard-2 { top:22%;right:-10px; }
.hcard-3 { top:58%;right:-15px; }
.hc-val { font-size:1.4rem;font-weight:900;color:#fff;line-height:1; }
.hc-val.rouge { color:#ff8075; }
.hc-val.or { color:var(--or); }
.hc-label { font-size:.65rem;color:rgba(255,255,255,.45);margin-top:3px; }
.stars-s { color:#f5c842;font-size:.78rem;letter-spacing:1px;margin-bottom:3px;white-space:nowrap; }

/* STRIPS */
.urgence-strip { background:var(--rouge);padding:14px 48px;display:flex;align-items:center;justify-content:center;text-align:center; }
.urgence-strip p { color:#fff;font-size:.87rem;font-weight:600;letter-spacing:.03em; }
.urgence-strip strong { font-size:.93rem; }
.eng-bar { background:var(--creme);padding:20px 64px;border-bottom:1px solid var(--bordure); }
.eng-grid { display:grid;grid-template-columns:repeat(4,1fr); }
.eng-item { display:flex;align-items:center;gap:12px;padding:12px 20px;border-right:1px solid var(--bordure); }
.eng-item:last-child { border-right:none; }
.eng-icon { font-size:1.3rem;flex-shrink:0; }
.eng-title { font-size:.79rem;font-weight:700;color:var(--marine);margin-bottom:2px; }
.eng-desc { font-size:.68rem;color:var(--texte-doux);line-height:1.4; }

/* SECTIONS */
.section { padding:84px 64px; }
.bg-blanc { background:var(--blanc); }
.bg-creme { background:var(--creme); }
.bg-gris { background:var(--gris); }
.bg-marine { background:var(--marine); }
.eyebrow { font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge);margin-bottom:10px;display:block; }
.eyebrow.blanc { color:rgba(192,57,43,.8); }
.section-title { font-size:clamp(1.9rem,3.2vw,2.9rem);font-weight:900;color:var(--marine);line-height:1.05;margin-bottom:14px;letter-spacing:-.01em; }
.section-title.blanc { color:#fff; }
.section-title em { font-family:'Lora',serif;font-style:italic;font-weight:400;color:var(--rouge); }
.section-sub { font-size:.92rem;color:var(--texte-doux);line-height:1.78;max-width:520px;margin-bottom:50px; }
.section-sub.blanc { color:rgba(255,255,255,.52);max-width:100%; }
.section-header-mb { margin-bottom:50px; }
.centered { text-align:center; }
.centered .section-sub { margin-left:auto;margin-right:auto; }

/* BUTTONS */
.btn { display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:4px;text-decoration:none;font-weight:700;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;transition:all .2s;font-family:'Montserrat',sans-serif;border:none;cursor:pointer; }
.btn-rouge { background:var(--rouge);color:#fff;box-shadow:0 4px 16px rgba(192,57,43,.35); }
.btn-rouge:hover { background:var(--rouge-dark);transform:translateY(-2px); }
.btn-marine { background:var(--marine);color:#fff; }
.btn-marine:hover { background:var(--marine-mid);transform:translateY(-2px); }
.btn-outline-w { border:1.5px solid rgba(255,255,255,.25);color:rgba(255,255,255,.8);background:transparent; }
.btn-outline-w:hover { border-color:rgba(255,255,255,.7);color:#fff; }
.btn-or { background:var(--or);color:#000;font-weight:800; }
.btn-or:hover { background:#b8942a;transform:scale(1.02); }

/* GRIDS */
.grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.grid-4 { display:grid;grid-template-columns:repeat(4,1fr);gap:20px; }
.grid-aside { display:grid;grid-template-columns:3fr 2fr;gap:64px;align-items:start; }

/* CARDS */
.card { background:var(--blanc);border:1px solid var(--bordure);border-radius:10px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s; }
.card:hover { transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,.1);border-color:rgba(192,57,43,.3); }
.card-body { padding:28px; }
.card-icon { font-size:1.8rem;margin-bottom:14px; }
.card-title { font-size:1.1rem;font-weight:800;color:var(--marine);margin-bottom:10px; }
.card-desc { font-size:.84rem;color:var(--texte-doux);line-height:1.72; }

/* SERVICE CARDS */
.srv-card { background:var(--blanc);padding:38px 34px;position:relative;overflow:hidden;transition:background .3s;border:1px solid var(--bordure);border-radius:10px; }
.srv-card::after { content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rouge);transform:scaleY(0);transform-origin:bottom;transition:transform .35s ease; }
.srv-card:hover { background:#fdfcfa; }
.srv-card:hover::after { transform:scaleY(1); }
.srv-urgence-tag { display:inline-block;background:var(--rouge);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;border-radius:2px;margin-bottom:12px; }
.srv-icon { font-size:1.7rem;margin-bottom:14px; }
.srv-name { font-size:1.15rem;font-weight:800;color:var(--marine);margin-bottom:10px;line-height:1.2; }
.srv-desc { font-size:.83rem;color:var(--texte-doux);line-height:1.72;margin-bottom:18px; }
.srv-list { list-style:none;display:flex;flex-direction:column;gap:6px;margin-bottom:20px; }
.srv-list li { font-size:.79rem;color:var(--texte);display:flex;gap:8px;align-items:flex-start; }
.srv-list li::before { content:'→';color:var(--rouge);font-weight:700;flex-shrink:0;font-size:.72rem;margin-top:2px; }
.srv-link { display:inline-flex;align-items:center;gap:6px;font-size:.77rem;font-weight:700;color:var(--rouge);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:gap .2s; }
.srv-link:hover { gap:10px; }

/* TARIFS */
.tarif-card { background:var(--blanc);border:1.5px solid var(--bordure);border-radius:8px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;transition:border-color .3s;min-width:0;overflow:hidden; }
.tarif-card:hover { border-color:rgba(192,57,43,.4); }
.tarif-card.featured { border-color:var(--rouge);background:rgba(192,57,43,.04); }
.tarif-moment { font-size:.62rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--texte-doux);margin-bottom:4px; }
.tarif-name { font-weight:700;color:var(--marine);font-size:.88rem; }
.tarif-prix { font-size:2rem;font-weight:900;color:var(--marine);line-height:1; }
.tarif-prix.rouge { color:var(--rouge); }
.tarif-note { font-size:.65rem;color:var(--texte-doux);margin-top:2px; }

/* AVIS */
.avis-card { background:var(--blanc);border:1px solid var(--bordure);border-radius:8px;padding:22px;transition:border-color .3s; }
.avis-card:hover { border-color:#f5c842; }
.avis-stars { color:#f5c842;font-size:.82rem;letter-spacing:1px;margin-bottom:10px;white-space:nowrap; }
.avis-texte { font-size:.84rem;color:var(--texte-doux);line-height:1.72;font-style:italic;font-family:'Lora',serif;margin-bottom:14px; }
.avis-auteur { font-weight:700;color:var(--marine);font-size:.8rem; }
.avis-meta { font-size:.68rem;color:var(--texte-doux);margin-top:2px; }
.avis-ville { display:inline-block;margin-top:6px;font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rouge);background:var(--rouge-light);padding:2px 9px;border-radius:2px; }

/* CHECK LIST */
.check-list { list-style:none;display:flex;flex-direction:column;gap:8px; }
.check-list li { font-size:.83rem;color:var(--texte);display:flex;gap:10px;align-items:flex-start;line-height:1.5; }
.check-list li::before { content:'→';color:var(--rouge);font-weight:700;flex-shrink:0;font-size:.73rem;margin-top:2px; }
.check-list.w li { color:rgba(255,255,255,.62); }
.check-list.w li::before { content:'✓';color:var(--or); }

/* ZONES */
.zones-pills { display:flex;flex-wrap:wrap;gap:10px;justify-content:center; }
.zpill { padding:7px 17px;border:1px solid rgba(255,255,255,.1);border-radius:100px;font-size:.79rem;font-weight:600;color:rgba(255,255,255,.44);transition:all .2s;letter-spacing:.03em; }
.zpill:hover,.zpill.main { border-color:rgba(192,57,43,.45);color:#ff9088;background:rgba(192,57,43,.08); }
.zpill a { color:inherit;text-decoration:none; }

/* FAQ */
.faq-item { border-bottom:1px solid var(--bordure); }
.faq-q { display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 0;cursor:pointer;font-weight:700;font-size:.88rem;color:var(--marine);transition:color .2s;user-select:none; }
.faq-q:hover { color:var(--rouge); }
.faq-q svg { flex-shrink:0;transition:transform .3s; }
.faq-item.open .faq-q svg { transform:rotate(45deg); }
.faq-a { font-size:.83rem;color:var(--texte-doux);line-height:1.74;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s; }
.faq-item.open .faq-a { max-height:400px;padding-bottom:17px; }

/* BREADCRUMB */
.breadcrumb { display:flex;align-items:center;gap:8px;margin-bottom:20px;flex-wrap:wrap; }
.breadcrumb a { font-size:.72rem;color:rgba(255,255,255,.36);text-decoration:none;letter-spacing:.08em;transition:color .2s; }
.breadcrumb a:hover { color:rgba(255,255,255,.7); }
.breadcrumb .sep { font-size:.72rem;color:rgba(255,255,255,.2); }
.breadcrumb .cur { font-size:.72rem;color:rgba(255,255,255,.62); }

/* GAMME CARDS */
.gamme-card { border-radius:10px;overflow:hidden;border:2px solid var(--bordure);transition:transform .3s,box-shadow .3s; }
.gamme-card:hover { transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.1); }
.gamme-card.premium { border-color:var(--or); }
.gc-head { padding:30px 30px 22px; }
.gc-head.essentiel { background:linear-gradient(135deg,#f0f4ff 0%,#e8edf8 100%); }
.gc-head.ajax-h { background:linear-gradient(135deg,var(--marine) 0%,#0d1929 100%); }
.gc-tag { font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px;display:block; }
.gc-head.essentiel .gc-tag { color:var(--texte-doux); }
.gc-head.ajax-h .gc-tag { color:rgba(255,255,255,.4); }
.gc-name { font-size:1.65rem;font-weight:900;line-height:1; }
.gc-head.essentiel .gc-name { color:var(--marine); }
.gc-head.ajax-h .gc-name { color:#fff; }
.gc-name span { color:var(--or); }
.gc-sub { font-size:.78rem;margin-top:5px; }
.gc-head.essentiel .gc-sub { color:var(--texte-doux); }
.gc-head.ajax-h .gc-sub { color:rgba(255,255,255,.48); }
.gc-badge { display:inline-block;background:var(--or);color:#000;font-size:.62rem;font-weight:800;letter-spacing:.12em;padding:4px 11px;border-radius:2px;margin-top:11px;text-transform:uppercase; }
.gc-body { padding:26px 30px;background:var(--blanc); }
.gc-prix { font-size:2.3rem;font-weight:900;color:var(--marine);line-height:1;margin-bottom:4px; }
.gc-prix.or { color:var(--or); }
.gc-note { font-size:.7rem;color:var(--texte-doux);margin-bottom:18px; }
.gc-cta { display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border-radius:6px;text-decoration:none;font-weight:700;font-size:.83rem;letter-spacing:.06em;width:100%;transition:all .2s; }
.gc-cta.marine { background:var(--marine);color:#fff; }
.gc-cta.marine:hover { background:var(--marine-mid); }
.gc-cta.gold { background:var(--or);color:#000; }
.gc-cta.gold:hover { background:#b8942a; }

/* CHATBOT */
.chat-bubble { position:fixed;bottom:80px;right:24px;z-index:150;width:54px;height:54px;background:var(--marine);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.25);transition:transform .2s;border:3px solid var(--rouge); }
.chat-bubble:hover { transform:scale(1.08); }
.chat-notif { position:absolute;top:-2px;right:-2px;width:15px;height:15px;background:var(--rouge);border-radius:50%;border:2px solid #fff;animation:pulse 1.5s ease-in-out infinite; }
.chat-window { position:fixed;bottom:148px;right:24px;z-index:150;width:355px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.18);display:none;flex-direction:column;overflow:hidden;border:1px solid var(--bordure); }
.chat-window.open { display:flex;animation:slideUp .3s ease; }
@keyframes slideUp { from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)} }
.chat-header { background:var(--marine);padding:13px 17px;display:flex;align-items:center;justify-content:space-between; }
.chat-av { width:33px;height:33px;background:var(--rouge);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem; }
.chat-name { font-weight:700;color:#fff;font-size:.87rem; }
.chat-status { font-size:.63rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px; }
.chat-status::before { content:'';width:5px;height:5px;background:#4ade80;border-radius:50%; }
.chat-x { background:none;border:none;color:rgba(255,255,255,.5);cursor:pointer;font-size:1.1rem;transition:color .2s;line-height:1; }
.chat-x:hover { color:#fff; }
.chat-msgs { padding:13px;display:flex;flex-direction:column;gap:9px;max-height:280px;overflow-y:auto;background:#f9f8f6; }
.msg { display:flex;gap:7px;align-items:flex-end; }
.msg.user { flex-direction:row-reverse; }
.msg-av { width:25px;height:25px;background:var(--marine);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.68rem;flex-shrink:0;color:#fff; }
.msg-b { max-width:80%;padding:9px 12px;border-radius:12px;font-size:.8rem;line-height:1.54; }
.msg.bot .msg-b { background:#fff;color:var(--texte);border:1px solid var(--bordure);border-radius:12px 12px 12px 2px; }
.msg.user .msg-b { background:var(--rouge);color:#fff;border-radius:12px 12px 2px 12px; }
.chat-opts { padding:9px 13px;display:flex;flex-direction:column;gap:5px; }
.chat-opt { background:#fff;border:1.5px solid var(--bordure);border-radius:7px;padding:8px 12px;cursor:pointer;font-size:.78rem;font-weight:600;color:var(--marine);text-align:left;transition:all .2s;font-family:'Montserrat',sans-serif; }
.chat-opt:hover { border-color:var(--rouge);color:var(--rouge);background:var(--rouge-light); }
.chat-opt.urg { border-color:var(--rouge);color:var(--rouge);background:rgba(192,57,43,.05); }
.chat-in-z { padding:9px 13px;border-top:1px solid var(--bordure);display:flex;gap:7px;background:#fff; }
.chat-in { flex:1;border:1.5px solid var(--bordure);border-radius:7px;padding:8px 12px;font-family:'Montserrat',sans-serif;font-size:.8rem;outline:none;transition:border-color .2s; }
.chat-in:focus { border-color:var(--rouge); }
.chat-send { background:var(--rouge);color:#fff;border:none;border-radius:7px;width:35px;height:35px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0; }
.chat-send:hover { background:var(--rouge-dark); }

/* CONTACT FORM */
.contact-form { display:flex;flex-direction:column;gap:14px; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.fg { display:flex;flex-direction:column;gap:6px; }
.fg label { font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--texte-doux); }
.fg input,.fg select,.fg textarea { background:var(--creme);border:1.5px solid var(--bordure);border-radius:6px;color:var(--texte);font-family:'Montserrat',sans-serif;font-size:.88rem;font-weight:500;padding:12px 15px;outline:none;transition:border-color .2s,box-shadow .2s; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--rouge);box-shadow:0 0 0 3px rgba(192,57,43,.08); }
.fg textarea { resize:vertical;min-height:85px; }
.form-btn { background:var(--rouge);color:#fff;border:none;border-radius:6px;padding:15px 32px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s;width:100%;margin-top:4px; }
.form-btn:hover { background:var(--rouge-dark);transform:translateY(-2px); }

/* FOOTER */
.main-footer { background:#0d1929;padding:58px 64px 90px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:46px;border-top:1px solid rgba(255,255,255,.05); }
.footer-logo img { height:52px;width:auto;object-fit:contain;margin-bottom:14px;display:block; }
.footer-desc { font-size:.79rem;color:rgba(255,255,255,.37);line-height:1.72;max-width:255px; }
.footer-tags { display:flex;flex-wrap:wrap;gap:5px;margin-top:13px; }
.ftag { font-size:.59rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(192,57,43,.27);color:rgba(192,57,43,.58);padding:3px 9px;border-radius:2px; }
.footer-siret { font-size:.64rem;color:rgba(255,255,255,.17);margin-top:13px;line-height:1.6; }
.footer-col h4 { font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.27);margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.05); }
.footer-col a { display:block;font-size:.79rem;color:rgba(255,255,255,.37);text-decoration:none;margin-bottom:7px;font-weight:500;transition:color .2s; }
.footer-col a:hover { color:rgba(255,255,255,.8); }
.footer-bottom { grid-column:1/-1;border-top:1px solid rgba(255,255,255,.05);padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:.69rem;color:rgba(255,255,255,.19);flex-wrap:wrap;gap:10px; }

/* RESPONSIVE */
@media(max-width:1024px){.main-nav{padding:0 24px}.nav-link{font-size:.72rem;padding:5px 8px}}
@media(max-width:768px){.nav-links{display:none}.main-nav{padding:0 16px}.hero{padding:88px 20px 60px}.section{padding:56px 20px}.eng-bar{padding:14px 20px}.eng-grid{grid-template-columns:1fr 1fr}.eng-item{border-right:none;border-bottom:1px solid var(--bordure);padding:9px 10px}.grid-2,.grid-3,.grid-4,.grid-aside{grid-template-columns:1fr;gap:20px}.form-row{grid-template-columns:1fr}.main-footer{grid-template-columns:1fr 1fr;padding:38px 20px 90px;gap:26px}.urgence-strip{padding:12px 20px}.chat-window{width:calc(100vw - 40px);right:20px}.hero-visual{display:none}.tarif-prix{font-size:1.6rem}.tarif-name{font-size:.8rem}[style*="grid-template-columns:repeat(3,1fr)"]{grid-template-columns:1fr 1fr!important}}
