
:root{
  --purple:#56358f;
  --purple-dark:#2f185f;
  --purple-ink:#3D2675;
  --violet-soft:#f2eefb;
  --ink:#1d2030;
  --muted:#64687a;
  --line:#e8e4f1;
  --white:#fff;
  --shadow:0 8px 26px rgba(47,24,95,.07);
  --shadow-soft:0 2px 10px rgba(47,24,95,.05);
  --radius:12px;
  --radius-lg:14px;
  --max:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;padding:14px 32px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{flex-shrink:0}.brand img{width:158px;height:auto;display:block}
.main-nav{display:flex;align-items:center;gap:22px;flex:1;justify-content:center;font-size:14px;font-weight:700;color:#30264f;white-space:nowrap}
.main-nav a{padding:12px 1px;border-bottom:3px solid transparent;white-space:nowrap}.main-nav a.active{color:var(--purple);border-color:var(--purple)}
.nav-dropdown{position:relative}
.nav-drop-trigger{display:inline-flex;align-items:center;gap:6px;background:none;border:0;border-bottom:3px solid transparent;font:inherit;font-weight:700;color:#30264f;padding:12px 1px;cursor:pointer;white-space:nowrap}
.nav-drop-trigger svg{width:14px;height:14px;transition:transform .15s ease}
.nav-drop-trigger.active{color:var(--purple);border-color:var(--purple)}
.nav-drop-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:8px;min-width:200px;display:none;flex-direction:column;gap:2px;z-index:60}
.nav-drop-menu a{white-space:nowrap;padding:10px 12px;border-radius:8px;border-bottom:0!important;color:#30264f}
.nav-drop-menu a:hover,.nav-drop-menu a.active{background:var(--violet-soft);color:var(--purple)}
.nav-dropdown:hover .nav-drop-menu,.nav-dropdown:focus-within .nav-drop-menu,.nav-dropdown.open .nav-drop-menu{display:flex}
.nav-dropdown:hover .nav-drop-trigger svg,.nav-dropdown.open .nav-drop-trigger svg{transform:rotate(180deg)}
.header-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--purple),#7247b8);color:#fff;padding:12px 18px;border-radius:10px;font-size:13.5px;font-weight:800;white-space:nowrap;box-shadow:0 10px 24px rgba(86,53,143,.22)}
.menu-toggle{display:none;border:0;background:#fff;gap:4px;flex-direction:column;flex-shrink:0}.menu-toggle span{width:24px;height:2px;background:var(--purple);display:block}
.site-header.open .main-nav{display:flex!important}
@media (max-width:1320px){.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:18px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start;gap:4px}.main-nav a{padding:10px 0;border-bottom:0}.main-nav a.active{background:var(--violet-soft);padding:10px 12px;border-radius:8px}.nav-dropdown{width:100%}.nav-drop-trigger{width:100%;justify-content:space-between;padding:10px 0}.nav-drop-menu{position:static;transform:none;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0;display:none}.nav-dropdown.open .nav-drop-menu,.nav-dropdown:focus-within .nav-drop-menu{display:flex}.menu-toggle{display:flex}.header-cta{margin-left:auto}}
.hero,.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 25% 20%,#6b48b2 0,#2b174f 54%,#171321 100%);color:#fff;min-height:560px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:stretch}.home-hero{min-height:650px}.hero-copy,.page-hero-copy{position:relative;z-index:2;max-width:680px;padding:86px 64px 80px calc((100vw - var(--max))/2 + 24px)}
.hero h1,.page-hero h1{font-size:clamp(42px,5vw,72px);line-height:.98;margin:12px 0 22px;letter-spacing:-.045em}.hero p.lead,.page-hero p{font-size:clamp(18px,2vw,23px);max-width:620px;color:rgba(255,255,255,.9)}
.hl-swoosh{position:relative;display:inline-block;white-space:nowrap}
.hl-swoosh svg{position:absolute;left:0;bottom:-.1em;width:100%;height:.3em;color:#d2bcff;overflow:visible}
.eyebrow{display:inline-flex;text-transform:uppercase;letter-spacing:.13em;font-weight:900;font-size:12px;color:#d7c9ff}.eyebrow.light{color:#e9ddff}
@keyframes fpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}
.hero-copy .eyebrow,.page-hero-copy .eyebrow,.cta-panel .eyebrow{align-items:center;gap:9px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:8px 14px;border-radius:999px}
.hero-copy .eyebrow::before,.page-hero-copy .eyebrow::before,.cta-panel .eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:#d2bcff;animation:fpulse 1.8s ease-in-out infinite;flex-shrink:0}
@media (prefers-reduced-motion:reduce){.hero-copy .eyebrow::before,.page-hero-copy .eyebrow::before,.cta-panel .eyebrow::before{animation:none}}.hero-visual{position:relative;min-height:100%;isolation:isolate}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(47,24,95,.85),rgba(47,24,95,.15) 40%,rgba(47,24,95,.05));z-index:1}.water-lines{position:absolute;left:-10%;right:-10%;bottom:0;height:160px;z-index:2;opacity:.55;background:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 18px,rgba(255,255,255,.35) 19px 21px,transparent 22px 34px)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:11px;padding:15px 26px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.18s ease;font-size:15.5px}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--purple);color:#fff;box-shadow:0 10px 24px rgba(86,53,143,.32)}.btn.primary:hover{background:#5e3a9c;box-shadow:0 14px 30px rgba(86,53,143,.4)}.btn.secondary{background:#fff;color:var(--purple);border-color:#ded6ee}.btn.white{background:#fff;color:var(--purple);box-shadow:0 12px 28px rgba(0,0,0,.12)}.btn.ghost{background:transparent;color:var(--purple);border-color:#ddd1ef}
.trust-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:10px 13px;border-radius:999px;font-weight:800;color:#fff}.trust-row span:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:var(--purple)}
section{padding:104px 24px}.section-head{max-width:780px;margin:0 auto 44px;text-align:center}.section-head.compact{margin-bottom:32px}.section-head h2, .comparison-section h2{font-size:clamp(32px,3.4vw,48px);font-weight:800;line-height:1.06;margin:0 0 16px;color:var(--purple-ink);letter-spacing:-.035em}.section-head p{font-size:18px;color:var(--muted);margin:0}.page-gateway{background:#fff}.gateway-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gateway-card{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);min-height:190px;position:relative;overflow:hidden}.gateway-card:after{content:"→";position:absolute;right:20px;bottom:18px;color:var(--purple);font-size:24px}.gateway-card span{font-size:13px;font-weight:900;color:var(--purple)}.gateway-card h3{font-size:25px;margin:14px 0 8px;color:var(--purple-ink)}.gateway-card p{color:var(--muted);margin:0;max-width:260px}
.short-preview,.content-section{max-width:var(--max);margin:auto}.card-grid{display:grid;gap:22px}.card-grid.three{grid-template-columns:repeat(3,1fr)}.card-grid.four{grid-template-columns:repeat(4,1fr)}.image-card,.feature-card,.product-card,.info-panel,.compare-card,.zone-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.image-card img{height:190px;width:100%;object-fit:cover}.image-card div{padding:24px}.feature-card{padding:28px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.feature-card>*{position:relative;z-index:1}.feature-card::before{content:"";position:absolute;top:-28px;right:-28px;width:84px;height:84px;border-radius:50%;background:var(--violet-soft);z-index:0}.feature-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(107,72,178,.14);border-color:#d8cdef}.feature-card strong{display:block;margin-top:12px}.image-card h3,.feature-card h3,.product-card h3{color:var(--purple-ink);font-size:23px;line-height:1.1;margin:10px 0}.image-card p,.feature-card p,.product-card p{color:var(--muted);margin:0}.round-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--violet-soft);color:var(--purple);font-weight:900;font-size:24px;flex-shrink:0}.round-icon svg{width:24px;height:24px;display:block}
.proof-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}.proof-icon svg{width:24px;height:24px;display:block;color:#fff}
.steps span{display:grid;place-items:center;margin:0 auto 14px;width:38px;height:38px;border-radius:50%;background:var(--purple);color:#fff;font-weight:900;font-size:15px}
.process-band,.comparison-section,.content-section.soft{background:linear-gradient(180deg,#fff,#f7f4fd);border-top:1px solid #f1edf8;border-bottom:1px solid #f1edf8}.process-band{max-width:none}.steps{max-width:var(--max);margin:auto;display:grid;gap:20px}.steps.three{grid-template-columns:repeat(3,1fr)}.steps.four{grid-template-columns:repeat(4,1fr)}.steps div{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:26px;text-align:center;position:relative}.steps span{display:grid;place-items:center;margin:0 auto 14px;width:38px;height:38px;border-radius:50%;background:var(--purple);color:#fff;font-weight:900}.steps h3{margin:0 0 8px;color:var(--purple-ink);font-size:20px}.steps p{margin:0;color:var(--muted)}.steps.large div{min-height:190px}
.cta-panel{max-width:var(--max);margin:0 auto 80px;border-radius:var(--radius-lg);padding:42px 48px;background:radial-gradient(300px 300px at 92% -15%,rgba(107,72,178,.45),transparent 70%),radial-gradient(280px 280px at -2% 125%,rgba(124,95,208,.32),transparent 70%),#1d2030;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta-panel:after{content:"";position:absolute;inset:auto -10% 0 -10%;height:120px;opacity:.28;background:repeating-radial-gradient(ellipse at 50% 120%,transparent 0 17px,rgba(255,255,255,.45) 18px 20px,transparent 21px 33px)}.cta-panel > *{position:relative;z-index:1}.cta-panel h2{font-size:38px;line-height:1.05;margin:0 0 12px}.cta-panel p{margin:0;color:rgba(255,255,255,.85);font-size:18px;max-width:620px}
.split-hero{grid-template-columns:minmax(0,.9fr) minmax(440px,1.1fr);min-height:500px}.compact-hero{min-height:320px;display:block}.compact-hero .page-hero-copy{padding-right:24px}.vulnerability-map{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vulnerability-map div{border:1px solid var(--line);border-radius:var(--radius);padding:30px;background:#fff;box-shadow:var(--shadow)}.vulnerability-map span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--purple);color:#fff;font-weight:900;margin-bottom:18px}.vulnerability-map h3{color:var(--purple-ink);font-size:24px;margin:0 0 10px}.vulnerability-map p{color:var(--muted);margin:0}.compare-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-card{padding:30px}.compare-card h3{font-size:25px;margin:0 0 16px;color:var(--purple-ink)}.compare-card ul{margin:0;padding-left:20px;color:var(--muted)}.compare-card.bad{border-left:6px solid #d94a62}.compare-card.good{border-left:6px solid #28a76f}.material-band,.proof-strip,.time-strip,.action-grid{max-width:var(--max);margin:0 auto 80px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:0}.material-band{grid-template-columns:repeat(3,1fr);padding:28px}.material-band div{padding:20px}.material-band h3{color:var(--purple-ink);margin:0 0 8px}.material-band p{margin:0;color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-card img{height:230px;width:100%;object-fit:cover}.product-card div{padding:24px}.product-card ul{padding-left:20px;color:var(--muted);min-height:92px}.product-card a,.inline-link{font-weight:900;color:var(--purple)}.proof-strip{grid-template-columns:repeat(4,1fr);padding:0}.proof-strip div{padding:28px;text-align:center;font-weight:900;color:var(--purple-ink);border-right:1px solid var(--line)}.proof-strip div:last-child{border-right:0}.time-strip{grid-template-columns:repeat(3,1fr);padding:0}.time-strip div{padding:28px;display:grid;gap:6px;text-align:center;border-right:1px solid var(--line)}.time-strip div:last-child{border-right:0}.time-strip strong{color:var(--purple-ink)}.time-strip span{color:var(--muted)}
.aid-hero,.network-hero{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);padding:0;min-height:560px}.aid-hero:before,.network-hero:before{content:"";position:absolute;inset:0;background:url('/assets/house-hero.webp') center/cover no-repeat;opacity:.45}.aid-hero:after,.network-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,18,50,.92),rgba(28,18,50,.55));}.aid-hero .page-hero-copy,.aid-hero .estimate-card,.network-hero .page-hero-copy,.network-hero .zone-card{position:relative;z-index:2}.estimate-card,.zone-card{margin:70px calc((100vw - var(--max))/2 + 24px) 70px 20px;padding:28px;align-self:center}.estimate-card{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.estimate-card h2,.estimate-card .btn,.estimate-card .micro,.estimate-card output{grid-column:1/-1}.estimate-card h2{color:var(--purple-ink);font-size:32px;margin:0 0 8px}.estimate-card label,.form-card label,.zone-card label{display:grid;gap:7px;font-weight:800;font-size:13px;color:#3a3452}.estimate-card input,.estimate-card select,.form-card input,.form-card select,.form-card textarea,.zone-card input{border:1px solid #dcd5ea;border-radius:10px;padding:13px 12px;font:inherit;background:#fff;color:var(--ink)}.form-card textarea{min-height:100px}.micro{font-size:12px;color:var(--muted);margin:0}.estimator-result,.zone-result{display:block;padding:14px;border-radius:12px;background:var(--violet-soft);color:var(--purple-ink);font-weight:800}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px}.info-panel{padding:32px}.info-panel h2{color:var(--purple-ink);font-size:32px;margin:0 0 22px}.stacked-list{display:grid;gap:18px}.stacked-list div{border-bottom:1px solid var(--line);padding-bottom:16px}.stacked-list strong{color:var(--purple-ink);font-size:20px}.notice{background:var(--violet-soft);border:1px solid #e1d9ef;color:var(--purple-ink);padding:14px;border-radius:12px;font-weight:700}.notice.centered{text-align:center;max-width:860px;margin:26px auto 0}.action-grid{grid-template-columns:repeat(3,1fr);padding:18px}.action-grid a{padding:24px;border-radius:16px;background:#fff;color:var(--purple-ink);font-weight:900;border:1px solid var(--line)}
.zone-card{background:linear-gradient(135deg,#3b246f,#56358f);color:#fff}.zone-card h2{font-size:32px;margin:0 0 18px}.zone-card label{color:#fff}.zone-card input{color:#111}.zone-result{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;margin-top:14px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin:0 5px}.green{background:#35c56b}.orange{background:#f7b733}.grey{background:#aaa}.form-section{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:36px;align-items:start}.form-section h2{font-size:40px;line-height:1.05;margin:0 0 14px;color:var(--purple-ink)}.form-section p{color:var(--muted);font-size:18px}.form-card{padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card .wide,.form-card .btn{grid-column:1/-1}.form-card .check{display:flex;align-items:center;gap:10px}.leads-panel{max-width:var(--max);margin:0 auto 90px;padding:36px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.table-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px}th{background:var(--violet-soft);color:var(--purple-ink)}
.site-footer{background:linear-gradient(180deg,#56358f,#281654);color:#fff;margin-top:40px}.footer-proof{max-width:var(--max);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:42px 24px;border-bottom:1px solid rgba(255,255,255,.14)}.footer-proof div{display:grid;grid-template-columns:48px 1fr;gap:6px 14px}.proof-icon{grid-row:span 2;font-size:32px}.footer-proof small{color:rgba(255,255,255,.7)}.footer-main{max-width:var(--max);margin:auto;padding:46px 24px;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:34px}.footer-brand img{width:180px;margin-bottom:14px}.footer-brand p{color:rgba(255,255,255,.78);max-width:320px}.legal-name{font-size:12px}.footer-col h2{margin:0 0 12px;font-size:16px;font-weight:800;color:#fff;letter-spacing:0}.footer-col a{display:block;color:rgba(255,255,255,.72);font-size:14px;margin:8px 0}.footer-bottom{max-width:var(--max);margin:auto;padding:18px 24px;border-top:1px solid rgba(255,255,255,.14);display:flex;gap:18px;flex-wrap:wrap;color:rgba(255,255,255,.65);font-size:13px}.toast{position:fixed;right:20px;bottom:20px;background:#1d2030;color:#fff;padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(12px);transition:.2s ease;z-index:100}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1100px){.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 24px;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}.site-header.open .main-nav{display:flex}.menu-toggle{display:flex}.header-cta{margin-left:auto}.hero,.page-hero,.aid-hero,.network-hero,.split-hero{grid-template-columns:1fr}.hero-copy,.page-hero-copy{padding:64px 24px}.hero-visual{min-height:360px}.estimate-card,.zone-card{margin:30px 24px 60px}.gateway-grid,.card-grid.three,.card-grid.four,.product-grid,.steps.three,.steps.four,.vulnerability-map,.compare-grid,.material-band,.proof-strip,.two-columns,.action-grid,.footer-proof,.footer-main,.time-strip{grid-template-columns:1fr}.form-section{grid-template-columns:1fr}.form-card,.estimate-card{grid-template-columns:1fr}.cta-panel{flex-direction:column;align-items:flex-start}.footer-main{gap:18px}.footer-proof div{grid-template-columns:42px 1fr}} 
@media (max-width:620px){.site-header{padding:12px 14px}.brand img{width:140px}.header-cta{display:none}.hero h1,.page-hero h1{font-size:34px;line-height:1.05}.hero-copy,.page-hero-copy{padding:48px 22px}.hero p.lead,.page-hero p{font-size:17px}.home-hero{min-height:auto}.gateway-card{min-height:auto}.cta-panel{padding:30px}.cta-panel h2{font-size:30px}.section-head h2,.comparison-section h2{font-size:30px}.product-card img,.image-card img{height:170px}.footer-bottom{display:grid}.hero-visual{min-height:260px}section{padding:54px 20px}
/* Bandeau cookies compact sur mobile */
.cookie-banner{left:10px;right:10px;bottom:10px;padding:14px;gap:12px}.cookie-banner p{font-size:13px}.cookie-actions{width:100%}.cookie-actions button{flex:1;padding:11px}}

/* Champ anti-spam (honeypot) : invisible pour les humains, piège pour les robots */
.hp-field{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px;height:1px;opacity:0;overflow:hidden}

/* Pages légales / contenu texte long */
.legal-page{max-width:860px;margin:0 auto;padding:70px 24px}
.legal-page h1{color:var(--purple-ink);font-size:42px;margin:0 0 8px}
.legal-page .updated{color:var(--muted);font-size:14px;margin:0 0 28px}
.legal-page h2{color:var(--purple-ink);font-size:24px;margin:34px 0 10px}
.legal-page p,.legal-page li{color:var(--ink);line-height:1.65}
.legal-page a{color:var(--purple)}
.legal-page .todo{background:#fff6e5;border:1px solid #f0d28a;border-radius:8px;padding:2px 6px;font-weight:700}
.sitemap-list{columns:2;gap:30px}
.sitemap-list a{display:block;margin:8px 0;color:var(--purple);font-weight:700}
@media (max-width:620px){.sitemap-list{columns:1}.legal-page h1{font-size:32px}}

/* Bandeau cookies / RGPD */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;background:#1d2030;color:#fff;border-radius:14px;box-shadow:var(--shadow);padding:18px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;max-width:900px;margin:auto}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;font-size:14px;color:rgba(255,255,255,.85);max-width:560px}
.cookie-banner a{color:#c9b6f5}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions button{cursor:pointer;border-radius:10px;padding:10px 16px;font:inherit;font-weight:800;border:1px solid rgba(255,255,255,.25)}
.cookie-actions .accept{background:var(--purple);color:#fff;border-color:var(--purple)}
.cookie-actions .refuse{background:transparent;color:#fff}

/* Blog */
.blog-list{display:grid;gap:20px;margin-top:18px}
.blog-item{display:block;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);transition:.18s ease}
.blog-item:hover{transform:translateY(-2px)}
.blog-date{font-size:13px;font-weight:800;color:var(--purple);text-transform:uppercase;letter-spacing:.05em}
.blog-item h2{margin:8px 0 8px;color:var(--purple-ink);font-size:24px;line-height:1.15}
.blog-item p{margin:0 0 12px;color:var(--muted)}
.blog-more{font-weight:800;color:var(--purple)}
/* Article (prose) */
.prose h2{margin-top:32px}
.prose ul,.prose ol{padding-left:22px;line-height:1.7}
.prose blockquote{margin:26px 0;padding:14px 18px;border-left:4px solid var(--purple);background:var(--violet-soft);border-radius:0 12px 12px 0}
.prose blockquote p{margin:0}
.prose a{color:var(--purple);font-weight:700}

/* Téléphone header + footer */
.header-phone{display:inline-flex;align-items:center;gap:7px;color:var(--purple);font-weight:800;font-size:14px;white-space:nowrap;flex-shrink:0}
.header-phone svg{width:18px;height:18px}
.footer-contact{margin:4px 0 6px}
.footer-contact a{color:#fff;font-weight:800}

/* Barre CTA fixe mobile */
.mobile-cta{display:none;position:fixed;left:0;right:0;bottom:0;z-index:150;gap:1px;background:var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.12)}
.mobile-cta a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 8px;font-weight:800;font-size:15px}
.mcta-call{background:#fff;color:var(--purple)}
.mcta-call svg{width:18px;height:18px}
.mcta-diag{background:linear-gradient(135deg,var(--purple),#7046b8);color:#fff}

/* Schéma des 3 points d'entrée */
.house-schema{max-width:760px;margin:0 auto 34px}
.house-schema svg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.schema-marker circle{fill:var(--purple)}
.schema-marker text{fill:#fff;font-weight:900;font-size:18px;text-anchor:middle}
.schema-legend{list-style:none;display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;padding:18px 0 0;margin:0}
.schema-legend li{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--purple-ink)}
.schema-legend span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--purple);color:#fff;font-weight:900;font-size:13px}

/* FAQ */
.faq-section{max-width:860px;margin:auto}
.faq-list{display:grid;gap:12px;margin-top:24px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:20px 22px;font-weight:800;color:var(--purple-ink);font-size:17px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-icon{position:relative;flex-shrink:0;width:18px;height:18px}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--purple);border-radius:2px}
.faq-icon::before{top:8px;left:0;width:18px;height:2px}
.faq-icon::after{top:0;left:8px;width:2px;height:18px;transition:transform .2s ease}
.faq-item[open] .faq-icon::after{transform:rotate(90deg);opacity:0}
.faq-answer{padding:0 22px 20px}
.faq-answer p{margin:0;color:var(--muted);line-height:1.65}

/* Formulaires : aide + champs obligatoires + succès */
.form-hint{grid-column:1/-1;margin:0;font-size:13px;color:var(--muted)}
.form-hint span{color:#d3455b;font-weight:900}
.form-card label:not(.check),.estimate-card label{position:relative}
.form-card label:not(.check):has(:required)::after,.estimate-card label:has(:required)::after{content:"*";position:absolute;top:0;right:2px;color:#d3455b;font-weight:900;font-size:15px;line-height:1}
.form-success{background:#eaf7ef;border:1px solid #b6e0c4;border-radius:var(--radius);padding:28px;display:grid;gap:6px}
.form-success strong{color:#1f7a44;font-size:18px}
.form-success span{color:#2d6a47}

@media (max-width:620px){
  body{padding-bottom:62px}
  .header-phone{display:none}
  .mobile-cta{display:flex}
  .cookie-banner{bottom:72px}
  .toast{bottom:72px}
  .schema-legend{flex-direction:column;align-items:flex-start}
}

/* ===== Réalisations ===== */
.real-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.real-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:.2s ease}
.real-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#d8cdef}
.real-cover{position:relative;aspect-ratio:4/3;overflow:hidden}
.real-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.real-card:hover .real-cover img{transform:scale(1.04)}
.real-tag{position:absolute;top:12px;left:12px;background:rgba(86,53,143,.92);color:#fff;font-size:12px;font-weight:800;padding:6px 12px;border-radius:999px}
.real-body{padding:22px;display:flex;flex-direction:column;gap:8px}
.real-meta{font-size:13px;font-weight:700;color:var(--purple);text-transform:capitalize}
.real-body h2{margin:0;color:var(--purple-ink);font-size:21px;line-height:1.2}
.real-body p{margin:0;color:var(--muted)}
.real-more{margin-top:auto;padding-top:6px;font-weight:800;color:var(--purple)}

/* Page détail réalisation */
.realisation{max-width:900px;margin:0 auto;padding:70px 24px}
.realisation-head h1{color:var(--purple-ink);font-size:clamp(30px,4vw,44px);line-height:1.08;margin:6px 0 8px}
.realisation-cover{margin:26px 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow)}
.realisation-cover img{width:100%;height:auto;display:block}
.realisation-body{margin-top:10px}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:34px 0}
.gallery img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
.real-consent{font-size:13px;color:var(--muted);font-style:italic;margin:10px 0 0}
.realisation-cta{margin-top:48px;padding:34px;text-align:center;background:var(--violet-soft);border-radius:var(--radius-lg)}
.realisation-cta h2{margin:0 0 18px;color:var(--purple-ink);font-size:26px}

@media (max-width:900px){.real-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.real-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}}
