
:root{
  --blue:#1267F5;--blue-600:#0B55D6;--blue-50:#EEF3FF;--blue-100:#DCE7FF;
  --ink:#0B1633;--ink-2:#34405C;--muted:#66718A;--line:#E3E8F2;--bg:#FFFFFF;--bg-soft:#F5F8FF;
  --c-agence:#1267F5;--c-archi:#FF554D;--c-interieur:#7C45F5;--c-part:#13A9B8;
  --radius:18px;--shadow:0 10px 30px rgba(11,22,51,.08);--shadow-lg:0 24px 60px rgba(11,22,51,.14);
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:130px}
body{font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
h1,h2,h3,h4{line-height:1.15;letter-spacing:-.02em;font-weight:800}
h2{font-size:clamp(28px,3.4vw,42px)}
h3{font-size:22px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.lead{font-size:19px;color:var(--ink-2);max-width:640px}
.section{padding:96px 0}
.section-head{max-width:760px;margin-bottom:48px}
.section-head h2{margin:12px 0 14px}
.center{text-align:center;margin-left:auto;margin-right:auto}
.center .eyebrow{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:16px 26px;border-radius:12px;transition:.2s;border:2px solid transparent;cursor:pointer;font-family:inherit}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(18,103,245,.3)}
.btn-primary:hover{background:var(--blue-600);transform:translateY(-1px)}
.btn-ghost{border-color:var(--line);color:var(--ink);background:#fff}
.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}
.btn-white{background:#fff;color:var(--blue)}
.btn-white:hover{transform:translateY(-1px)}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--blue-50);color:var(--blue)}

/* Top bar */
.topbar{background:var(--ink);color:#C9D3EA;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:40px;gap:16px}
.topbar a{color:#fff;font-weight:700}
.topbar span{display:inline-flex;align-items:center;gap:8px}
.topbar svg{width:15px;height:15px;color:#7FA6FF}

/* Header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}
.logo img{height:40px;width:auto}
nav.main{display:flex;gap:28px;font-weight:600;font-size:15px;color:var(--ink-2)}
nav.main a:hover{color:var(--blue)}
.head-cta{display:flex;align-items:center;gap:18px}
.head-phone{font-weight:800;font-size:15px;display:flex;align-items:center;gap:8px}
.head-phone svg{width:18px;height:18px;color:var(--blue)}
.head-cta .btn{padding:12px 20px;font-size:15px}

/* Target switcher (sticky) */
.targetbar{position:sticky;top:76px;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.targetbar .wrap{display:flex;align-items:center;gap:10px;height:56px;overflow-x:auto;scrollbar-width:none}
.targetbar .wrap::-webkit-scrollbar{display:none}
.targetbar b{font-size:14px;color:var(--muted);font-weight:700;white-space:nowrap;margin-right:6px}
.tpill{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:700;font-size:14px;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line);transition:.2s}
.tpill svg{width:18px;height:18px}
.tpill:hover{border-color:currentColor}
.tpill.agence{color:var(--c-agence)}.tpill.archi{color:var(--c-archi)}.tpill.interieur{color:var(--c-interieur)}.tpill.part{color:var(--c-part)}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-soft),#fff 70%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:88px}
.hero h1{font-size:clamp(38px,5vw,64px);margin:18px 0 20px}
.hero h1 .u{position:relative;color:var(--blue);white-space:nowrap}
.hero h1 .u svg{position:absolute;left:0;bottom:-14px;width:100%;height:18px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 36px}
.trust{display:grid;grid-template-columns:repeat(4,auto);gap:22px;justify-content:start}
.trust div{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);font-weight:600;line-height:1.3}
.trust svg{width:34px;height:34px;flex:none;color:var(--blue)}
.hero-visual{position:relative}
.hero-photo{background:linear-gradient(135deg,#DCE7FF,#F5F8FF) !important;border-radius:24px;overflow:hidden;aspect-ratio:4/3.3;box-shadow:var(--shadow-lg);background:#dfe6f5}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.plan-card{position:absolute;left:-48px;bottom:-40px;width:64%;background:#fff;border-radius:18px;box-shadow:var(--shadow-lg);padding:16px}
.plan-card .pc-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:8px}
.plan-card .pc-head span:last-child{color:var(--blue)}
.badge-float{position:absolute;right:-18px;top:28px;background:var(--blue);color:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow-lg);text-align:center}
.badge-float strong{display:block;font-size:34px;line-height:1}
.badge-float small{font-size:12px;font-weight:600;opacity:.9}

/* Targets grid */
.targets{padding:88px 0 40px}
.tgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tcard{position:relative;border-radius:var(--radius);padding:28px 24px 24px;background:#fff;border:1.5px solid var(--line);transition:.25s;display:flex;flex-direction:column;overflow:hidden}
.tcard::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:var(--tc)}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--tc)}
.tcard .ticon{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 12%,#fff);color:var(--tc);margin-bottom:18px}
.tcard .ticon svg{width:34px;height:34px}
.tcard .tlabel{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tc)}
.tcard h3{font-size:21px;margin:6px 0 10px}
.tcard p{font-size:15px;color:var(--ink-2);flex:1}
.tcard .tfmt{margin:16px 0 18px;display:flex;gap:6px;flex-wrap:wrap}
.tcard .tfmt span{font-size:12px;font-weight:700;padding:4px 10px;border-radius:8px;background:var(--bg-soft);color:var(--ink-2)}
.tcard .tgo{font-weight:800;color:var(--tc);display:inline-flex;align-items:center;gap:8px}
.tcard .tgo svg{width:18px;height:18px;transition:.2s}
.tcard:hover .tgo svg{transform:translateX(4px)}
.tcard.agence{--tc:var(--c-agence)}.tcard.archi{--tc:var(--c-archi)}.tcard.interieur{--tc:var(--c-interieur)}.tcard.part{--tc:var(--c-part)}

/* Numbers band */
.numbers{background:var(--blue);color:#fff}
.numbers .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:48px 24px}
.numbers div{border-left:2px solid rgba(255,255,255,.25);padding-left:22px}
.numbers strong{display:block;font-size:44px;font-weight:800;line-height:1;letter-spacing:-.02em}
.numbers span{font-size:15px;opacity:.9;font-weight:500}

/* Target detail blocks */
.tblock{padding:88px 0;border-top:1px solid var(--line)}
.tblock .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.tblock.rev .media{order:2}
.tblock .media{position:relative;background:linear-gradient(135deg,#DCE7FF,#F5F8FF) !important;border-radius:24px;overflow:hidden;aspect-ratio:5/4;background:#e5eaf4;box-shadow:var(--shadow)}
.tblock .media img{width:100%;height:100%;object-fit:cover}
.tblock .media .tag{position:absolute;left:20px;top:20px;display:inline-flex;align-items:center;gap:8px;background:var(--tc);color:#fff;font-weight:800;font-size:14px;padding:10px 16px;border-radius:12px}
.tblock .media .tag svg{width:20px;height:20px}
.tblock .ttl{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tc)}
.tblock .ttl i{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc) 12%,#fff)}
.tblock .ttl svg{width:22px;height:22px}
.tblock h2{margin:14px 0 16px}
.pain{background:var(--bg-soft);border-left:4px solid var(--tc);border-radius:0 12px 12px 0;padding:14px 18px;font-size:16px;color:var(--ink-2);margin-bottom:22px;font-style:italic}
.checks{list-style:none;display:grid;gap:12px;margin-bottom:26px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:16px}
.checks svg{width:24px;height:24px;flex:none;color:var(--tc);margin-top:1px}
.tblock .deliv{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.tblock .deliv span{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;padding:8px 12px;border-radius:10px;border:1.5px solid var(--line)}
.tblock .deliv svg{width:18px;height:18px;color:var(--tc)}
.tblock .btn-t{background:var(--tc);color:#fff}
.tblock .btn-t:hover{filter:brightness(1.1);transform:translateY(-1px)}
.tblock.agence{--tc:var(--c-agence)}.tblock.archi{--tc:var(--c-archi)}.tblock.interieur{--tc:var(--c-interieur)}.tblock.part{--tc:var(--c-part)}
.tblock.archi .media .tag{background:var(--c-archi)}

/* Example plan */
.example{background:var(--ink);color:#fff}
.example .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.example .eyebrow{color:#7FA6FF}
.example h2{margin:12px 0 16px}
.example p{color:#C9D3EA}
.anno{list-style:none;margin:28px 0 32px;display:grid;gap:14px}
.anno li{display:flex;gap:14px;align-items:flex-start;color:#E4EAF7;font-size:16px}
.anno b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue);display:grid;place-items:center;font-size:13px;color:#fff}
.plan-big{background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.plan-big .ph{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted);margin-bottom:10px}
.plan-big small{display:block;margin-top:10px;font-size:12px;color:var(--muted)}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.step{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:30px 26px;position:relative}
.step .num{position:absolute;top:-18px;left:26px;background:var(--blue);color:#fff;font-weight:800;font-size:15px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;box-shadow:0 6px 16px rgba(18,103,245,.35)}
.step .sicon{width:56px;height:56px;color:var(--blue);margin:8px 0 16px}
.step h3{margin-bottom:8px}
.step p{color:var(--ink-2);font-size:15px}
.step .when{display:inline-block;margin-top:14px;font-size:13px;font-weight:800;color:var(--blue);background:var(--blue-50);padding:5px 10px;border-radius:8px}
.steps-foot{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}

/* Why */
.why{background:var(--bg-soft)}
.wgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.wcard{background:#fff;border-radius:var(--radius);padding:28px 24px;box-shadow:var(--shadow)}
.wcard svg{width:44px;height:44px;color:var(--blue);margin-bottom:16px}
.wcard h3{font-size:19px;margin-bottom:8px}
.wcard p{font-size:15px;color:var(--ink-2)}

/* Pricing */
.pricing .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.pcard{border-radius:24px;padding:40px;border:1.5px solid var(--line);background:#fff}
.pcard.main{background:linear-gradient(135deg,var(--blue),#2B6BFF);color:#fff;border:none;box-shadow:var(--shadow-lg)}
.pcard.main .eyebrow{color:#fff}
.pcard.main h2{margin:12px 0 14px}
.pcard.main p{color:#E4ECFF}
.pcard.main ul{list-style:none;margin:24px 0 30px;display:grid;gap:10px}
.pcard.main li{display:flex;gap:10px;align-items:center;font-weight:600}
.pcard.main li svg{width:22px;height:22px;flex:none}
.opt{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.opt:last-of-type{border-bottom:none}
.opt .oi{width:52px;height:52px;border-radius:14px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center;flex:none}
.opt .oi svg{width:28px;height:28px}
.opt h3{font-size:18px;margin-bottom:4px}
.opt p{font-size:15px;color:var(--ink-2)}
.opt small{display:block;font-size:13px;color:var(--muted);margin-top:4px}

/* Zone */
.zone .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.zone-media{background:linear-gradient(135deg,#DCE7FF,#F5F8FF) !important;position:relative;border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:#e5eaf4}
.zone-media img{width:100%;height:100%;object-fit:cover}
.zone-media .pin{position:absolute;left:24px;bottom:24px;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);display:flex;gap:12px;align-items:center;font-weight:800}
.zone-media .pin svg{width:28px;height:28px;color:var(--blue)}
.communes{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.communes span{font-size:14px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line)}
.communes span.all{background:var(--blue);color:#fff;border-color:var(--blue)}
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.types div{border:1.5px solid var(--line);border-radius:14px;padding:14px;font-size:14px;font-weight:700;display:flex;gap:10px;align-items:center}
.types svg{width:26px;height:26px;color:var(--blue);flex:none}

/* Know */
.know{padding:0 0 96px}
.know .box{display:flex;gap:24px;align-items:flex-start;background:#FFF8EC;border:1.5px solid #F6DDB0;border-radius:20px;padding:30px 32px}
.know svg{width:40px;height:40px;color:#C27A00;flex:none}
.know h3{font-size:20px;margin-bottom:6px}
.know p{color:var(--ink-2);font-size:16px}

/* FAQ */
.faq{background:var(--bg-soft)}
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.faq details{background:#fff;border-radius:16px;margin-bottom:12px;border:1.5px solid var(--line);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:400;color:var(--blue);line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 24px 22px;color:var(--ink-2);font-size:16px}
.faq .side p{color:var(--ink-2);margin:14px 0 24px}

/* Final CTA */
.final{background:var(--blue);color:#fff;position:relative;overflow:hidden}
.final .wrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:88px}
.final h2{font-size:clamp(32px,4vw,48px);margin:12px 0 16px}
.final .eyebrow{color:#fff}
.final p{color:#E4ECFF;font-size:18px}
.final .contact-lines{margin-top:28px;display:grid;gap:12px}
.final .contact-lines a{display:inline-flex;gap:12px;align-items:center;font-weight:800;font-size:20px}
.final .contact-lines svg{width:24px;height:24px}
.qform{background:#fff;color:var(--ink);border-radius:24px;padding:32px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.qform h3{margin-bottom:6px}
.qform .sub{font-size:14px;color:var(--muted);margin-bottom:20px}
.qform .who{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
.qform .who label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.qform .who input{accent-color:var(--blue)}
.qform .who label:has(input:checked){border-color:var(--blue);background:var(--blue-50);color:var(--blue)}
.qform .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qform input[type=text],.qform input[type=tel],.qform input[type=email]{width:100%;font-family:inherit;font-size:15px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;outline:none}
.qform input:focus{border-color:var(--blue)}
.qform .accept{display:flex;gap:10px;font-size:13px;color:var(--muted);margin:6px 0 16px;align-items:flex-start}
.qform .accept a{color:var(--blue);text-decoration:underline}
.qform .btn{width:100%;justify-content:center}
.qform .ok{display:none;margin-top:14px;font-size:14px;font-weight:700;color:var(--c-part)}

/* Footer */
footer.site{background:var(--ink);color:#AEB9D3;font-size:15px}
footer.site .wrap{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-top:64px;padding-bottom:48px}
footer.site img{height:40px;width:auto;margin-bottom:18px}
footer.site h4{color:#fff;font-size:15px;margin-bottom:14px}
footer.site ul{list-style:none;display:grid;gap:10px}
footer.site a:hover{color:#fff}
footer.site .legal{border-top:1px solid rgba(255,255,255,.1)}
footer.site .legal .wrap{display:flex;justify-content:space-between;padding-top:22px;padding-bottom:22px;font-size:13px;grid-template-columns:none}

/* Mobile sticky CTA */
.mcta{display:none}

@media (max-width:1080px){
  nav.main{display:none}
  .hero .wrap,.tblock .wrap,.example .wrap,.pricing .wrap,.zone .wrap,.faq .wrap,.final .wrap{grid-template-columns:1fr}
  .tblock.rev .media{order:0}
  .tgrid,.wgrid{grid-template-columns:repeat(2,1fr)}
  .numbers .wrap{grid-template-columns:repeat(2,1fr)}
  .trust{grid-template-columns:repeat(2,auto)}
  .plan-card{left:12px;bottom:-30px;width:70%}
  .badge-float{right:12px}
  footer.site .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 16px}
  .topbar .hide-m{display:none}
  .head-phone{display:none}
  .section,.tblock{padding:64px 0}
  .tgrid,.wgrid,.steps{grid-template-columns:1fr}
  .steps{gap:36px}
  .types{grid-template-columns:1fr 1fr}
  .qform .row{grid-template-columns:1fr}
  .pcard{padding:28px}
  footer.site .wrap{grid-template-columns:1fr}
  footer.site .legal .wrap{flex-direction:column;gap:8px}
  .mcta{display:grid;grid-template-columns:1fr 1.4fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;padding:10px 12px;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,22,51,.1)}
  .mcta a{justify-content:center;padding:14px 10px;font-size:15px}
  body{padding-bottom:76px}
}

/* ===== Pages internes ===== */
nav.main a.active{color:var(--blue)}
nav.main{white-space:nowrap;gap:22px}
@media (max-width:1340px){.head-phone{display:none}}
.phero{background:linear-gradient(180deg,var(--bg-soft),#fff);border-bottom:1px solid var(--line)}
.phero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:56px;padding-bottom:72px}
.phero.simple .wrap{grid-template-columns:1fr;padding-bottom:56px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:18px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--blue)}
.crumbs span[aria-current]{color:var(--ink);font-weight:700}
.phero h1{font-size:clamp(34px,4.4vw,54px);margin:14px 0 18px}
.phero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 30px}
.phero .ptag{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--tc,var(--blue))}
.phero .ptag i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc,var(--blue)) 12%,#fff)}
.phero .ptag svg{width:24px;height:24px}
.phero .pmedia{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-lg);background:linear-gradient(135deg,#DCE7FF,#F5F8FF)}
.phero .pmedia img{width:100%;height:100%;object-fit:cover}
.phero .pmedia .mini{position:absolute;right:16px;bottom:16px;width:58%;background:#fff;border-radius:14px;padding:10px;box-shadow:var(--shadow-lg)}
.phero.t-agence{--tc:var(--c-agence)}.phero.t-archi{--tc:var(--c-archi)}.phero.t-part{--tc:var(--c-part)}.phero.t-interieur{--tc:var(--c-interieur)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.cards4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bcard{background:#fff;border:1.5px solid var(--line);border-radius:var(--radius);padding:28px 24px}
.bcard .bi{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--tc,var(--blue)) 12%,#fff);color:var(--tc,var(--blue));margin-bottom:16px}
.bcard .bi svg{width:30px;height:30px}
.bcard h3{font-size:19px;margin-bottom:8px}
.bcard p{font-size:15px;color:var(--ink-2)}
.soft{background:var(--bg-soft)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split .media{border-radius:24px;overflow:hidden;aspect-ratio:5/4;background:linear-gradient(135deg,#DCE7FF,#F5F8FF);box-shadow:var(--shadow)}
.split .media img{width:100%;height:100%;object-fit:cover}
.split h2{margin:12px 0 16px}
.split p{color:var(--ink-2);margin-bottom:14px}
.inout{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.inout .col{border-radius:20px;padding:30px;border:1.5px solid var(--line);background:#fff}
.inout .col.in{border-color:#BFD2FF;background:var(--bg-soft)}
.inout h3{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:20px}
.inout h3 svg{width:28px;height:28px}
.inout ul{list-style:none;display:grid;gap:10px}
.inout li{display:flex;gap:10px;font-size:15px;color:var(--ink-2)}
.inout li svg{width:22px;height:22px;flex:none;color:var(--blue)}
.inout .out li svg{color:#C0392B}
.timeline{position:relative;display:grid;gap:22px;max-width:860px;margin:0 auto}
.tl{display:grid;grid-template-columns:72px 1fr;gap:22px;align-items:start}
.tl .n{width:72px;height:72px;border-radius:20px;background:var(--blue);color:#fff;display:grid;place-items:center}
.tl .n svg{width:36px;height:36px}
.tl .c{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:22px 24px}
.tl h3{font-size:20px;margin-bottom:6px}
.tl p{color:var(--ink-2);font-size:16px}
.tl .when{display:inline-block;margin-top:10px;font-size:13px;font-weight:800;color:var(--blue);background:var(--blue-50);padding:5px 10px;border-radius:8px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tier{border:1.5px solid var(--line);border-radius:22px;padding:32px 28px;background:#fff;display:flex;flex-direction:column}
.tier.hl{border-color:var(--blue);box-shadow:var(--shadow-lg);position:relative}
.tier.hl::before{content:"Le plus demandé";position:absolute;top:-13px;left:28px;background:var(--blue);color:#fff;font-size:12px;font-weight:800;padding:5px 10px;border-radius:8px}
.tier .size{font-size:14px;font-weight:800;color:var(--blue);text-transform:uppercase;letter-spacing:.06em}
.tier h3{font-size:26px;margin:8px 0 6px}
.tier .price{font-size:15px;color:var(--muted);margin-bottom:18px}
.tier ul{list-style:none;display:grid;gap:10px;margin-bottom:24px;flex:1}
.tier li{display:flex;gap:10px;font-size:15px}
.tier li svg{width:22px;height:22px;flex:none;color:var(--blue)}
.tier .btn{justify-content:center}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gcard{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:18px}
.gcard .gp{background:var(--bg-soft);border-radius:12px;padding:10px}
.gcard h3{font-size:18px;margin:14px 0 4px}
.gcard p{font-size:14px;color:var(--muted)}
.ctable{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;border:1.5px solid var(--line)}
.ctable th,.ctable td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
.ctable th{background:var(--bg-soft);font-size:14px}
.ctable td:first-child{font-weight:700}
.tablewrap{overflow-x:auto}
.clist{columns:4;column-gap:22px;list-style:none;margin-top:10px}
.clist li{break-inside:avoid;padding:8px 0;border-bottom:1px dashed var(--line);font-size:15px;font-weight:600;display:flex;gap:8px;align-items:center}
.clist li svg{width:16px;height:16px;color:var(--blue);flex:none}
.faqgroup{margin-bottom:40px}
.faqgroup h2{font-size:24px;margin-bottom:16px}
.faq-one details{background:#fff;border-radius:16px;margin-bottom:12px;border:1.5px solid var(--line);overflow:hidden}
.faq-one summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.faq-one summary::-webkit-details-marker{display:none}
.faq-one summary::after{content:"+";font-size:26px;font-weight:400;color:var(--blue);line-height:1}
.faq-one details[open] summary::after{content:"\2212"}
.faq-one details p{padding:0 24px 22px;color:var(--ink-2);font-size:16px}
.prose{max-width:820px;margin:0 auto}
.prose h2{font-size:22px;margin:40px 0 12px}
.prose p,.prose li{color:var(--ink-2);font-size:16px;margin-bottom:12px}
.prose ul{padding-left:22px;margin-bottom:12px}
.prose a{color:var(--blue);text-decoration:underline}
.prose .toc{background:var(--bg-soft);border-radius:16px;padding:22px 26px;margin-bottom:24px}
.prose .toc ol{columns:2;padding-left:20px}
.prose .toc li{font-size:14px;margin-bottom:6px}
.note{display:flex;gap:18px;background:#FFF8EC;border:1.5px solid #F6DDB0;border-radius:18px;padding:22px 24px}
.note svg{width:32px;height:32px;color:#C27A00;flex:none}
.note p{color:var(--ink-2);font-size:15px}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:56px}
.ccard{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:28px}
.ccard svg{width:36px;height:36px;color:var(--blue);margin-bottom:14px}
.ccard h3{font-size:18px;margin-bottom:6px}
.ccard a.big{font-size:20px;font-weight:800;color:var(--blue)}
.ccard p{font-size:14px;color:var(--muted);margin-top:6px}
.formpage{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.formpage .qform{box-shadow:var(--shadow-lg)}
.qform select,.qform textarea{width:100%;font-family:inherit;font-size:15px;padding:13px 14px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;outline:none;background:#fff}
.qform textarea{min-height:110px;resize:vertical}
.qform .opts{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.qform .opts label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;border:1.5px solid var(--line);border-radius:10px;padding:8px 12px;cursor:pointer}
.side-list{list-style:none;display:grid;gap:16px}
.side-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px}
.side-list svg{width:30px;height:30px;color:var(--blue);flex:none}
.side-list b{display:block;margin-bottom:2px}
.side-list span{font-size:14px;color:var(--ink-2)}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.post{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:30px;display:flex;flex-direction:column;transition:.2s}
.post:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.post .cat{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--tc,var(--blue))}
.post h2{font-size:23px;margin:10px 0 10px}
.post p{font-size:15px;color:var(--ink-2);flex:1}
.post .more{margin-top:18px;font-weight:800;color:var(--tc,var(--blue));display:inline-flex;gap:8px;align-items:center}
.post .more svg{width:18px;height:18px}
.post.agence{--tc:var(--c-agence)}.post.archi{--tc:var(--c-archi)}.post.interieur{--tc:var(--c-interieur)}.post.part{--tc:var(--c-part)}
.err404{text-align:center;padding:120px 0}
.err404 .big{font-size:120px;font-weight:800;color:var(--blue);line-height:1}
.err404 .links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}
@media (max-width:1080px){
 .phero .wrap,.split,.formpage,.inout{grid-template-columns:1fr}
 .cards3,.tiers,.gallery,.posts,.contact-cards{grid-template-columns:1fr 1fr}
 .cards4{grid-template-columns:1fr 1fr}
 .clist{columns:2}
}
@media (max-width:640px){
 .cards3,.cards4,.tiers,.gallery,.posts,.contact-cards{grid-template-columns:1fr}
 .clist{columns:1}
 .prose .toc ol{columns:1}
 .tl{grid-template-columns:52px 1fr;gap:14px}
 .tl .n{width:52px;height:52px;border-radius:14px}
 .tl .n svg{width:26px;height:26px}
}

/* ===== Méthode (animation) ===== */
.method{background:#fff}
.method .wrap.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
@media (min-width:1081px){.method .meth-scene{position:sticky;top:160px}}
.meth-scene{background:#fff;border:1.5px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow-lg)}
.msteps{list-style:none;display:grid;gap:12px;counter-reset:ms}
.mstep{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;background:#fff}
.mstep .mi{width:48px;height:48px;border-radius:12px;background:var(--blue-50);color:var(--blue);display:grid;place-items:center}
.mstep .mi svg{width:26px;height:26px}
.mstep h3{font-size:17px;margin-bottom:4px}
.mstep p{font-size:14.5px;color:var(--ink-2)}
.mstep b.k{color:var(--blue)}
.custom{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:linear-gradient(135deg,var(--ink),#1B2B57);color:#fff;border-radius:20px;padding:24px 26px}
.custom .ci{width:52px;height:52px;border-radius:14px;background:rgba(255,255,255,.1);display:grid;place-items:center;color:#9DB8FF}
.custom .ci svg{width:28px;height:28px}
.custom h3{font-size:18px;margin-bottom:6px}
.custom p{font-size:14.5px;color:#C9D3EA}
.custom .tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.custom .tags span{font-size:12px;font-weight:700;padding:5px 10px;border-radius:8px;background:rgba(255,255,255,.1);color:#fff}
.meth-svg .m-pt,.meth-svg .m-flash,.meth-svg .m-thumb,.meth-svg .m-stamp,.meth-svg .m-pulse,.meth-svg .m-cam{transform-box:fill-box;transform-origin:center}
.meth-scene .m-pt,.meth-scene .m-ray,.meth-scene .m-tol,.meth-scene .m-cam,.meth-scene .m-flash,.meth-scene .m-arrow,.meth-scene .m-thumb,.meth-scene .m-stamp,.meth-scene .m-ok,.meth-scene .m-pro{opacity:0}
.meth-scene .m-poly,.meth-scene .m-screen,.meth-scene .m-screen2{stroke-dasharray:1 1;stroke-dashoffset:1}
.meth-scene.in .m-pt{animation:m-pt 12s infinite;animation-delay:calc(var(--i)*.3s)}
.meth-scene.in .m-ray{animation:m-ray 12s infinite;animation-delay:calc(var(--i)*.3s)}
.meth-scene.in .m-pulse{animation:m-pulse 1.4s infinite}
.meth-scene.in .m-poly{animation:m-draw1 12s infinite}
.meth-scene.in .m-tol{animation:m-p1 12s infinite}
.meth-scene.in .m-cam{animation:m-p2 12s infinite;animation-delay:calc(var(--i)*.35s)}
.meth-scene.in .m-flash{animation:m-flash 12s infinite;animation-delay:calc(var(--i)*.35s)}
.meth-scene.in .m-arrow{animation:m-p2 12s infinite}
.meth-scene.in .m-thumb{animation:m-thumb 12s infinite;animation-delay:calc(var(--i)*.35s)}
.meth-scene.in .m-screen{animation:m-draw3 12s infinite}
.meth-scene.in .m-screen2{animation:m-draw3b 12s infinite}
.meth-scene.in .m-pro{animation:m-p3 12s infinite}
.meth-scene.in .m-stamp{animation:m-stamp 12s infinite}
.meth-scene.in .m-ok{animation:m-p4 12s infinite}
.method.in .mstep:nth-child(1){animation:m-s1 12s infinite}
.method.in .mstep:nth-child(2){animation:m-s2 12s infinite}
.method.in .mstep:nth-child(3){animation:m-s3 12s infinite}
.method.in .mstep:nth-child(4){animation:m-s4 12s infinite}
@keyframes m-pt{0%,1%{opacity:0;transform:scale(0)}5%,95%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes m-ray{0%{opacity:0}2%{opacity:.8}9%,100%{opacity:0}}
@keyframes m-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(2.2);opacity:0}}
@keyframes m-draw1{0%,16%{stroke-dashoffset:1}26%,95%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes m-p1{0%,18%{opacity:0}22%,95%{opacity:1}100%{opacity:0}}
@keyframes m-p2{0%,26%{opacity:0}29%,95%{opacity:1}100%{opacity:0}}
@keyframes m-flash{0%,27%{opacity:0;transform:scale(.3)}28.5%{opacity:.95;transform:scale(1)}32%,100%{opacity:0;transform:scale(1.3)}}
@keyframes m-thumb{0%,31%{opacity:0;transform:translateX(-24px)}37%,95%{opacity:1;transform:none}100%{opacity:0}}
@keyframes m-draw3{0%,50%{stroke-dashoffset:1}63%,95%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes m-draw3b{0%,60%{stroke-dashoffset:1}68%,95%{stroke-dashoffset:0}100%{stroke-dashoffset:1}}
@keyframes m-p3{0%,52%{opacity:0}56%,95%{opacity:1}100%{opacity:0}}
@keyframes m-stamp{0%,75%{opacity:0;transform:scale(.3)}79%{opacity:1;transform:scale(1.12)}82%,95%{opacity:1;transform:scale(1)}100%{opacity:0}}
@keyframes m-p4{0%,78%{opacity:0}82%,95%{opacity:1}100%{opacity:0}}
@keyframes m-s1{0%,23%{border-color:#1267F5;background:#EEF3FF}25%,100%{border-color:#E3E8F2;background:#fff}}
@keyframes m-s2{0%,24%{border-color:#E3E8F2;background:#fff}26%,48%{border-color:#1267F5;background:#EEF3FF}50%,100%{border-color:#E3E8F2;background:#fff}}
@keyframes m-s3{0%,49%{border-color:#E3E8F2;background:#fff}51%,73%{border-color:#1267F5;background:#EEF3FF}75%,100%{border-color:#E3E8F2;background:#fff}}
@keyframes m-s4{0%,74%{border-color:#E3E8F2;background:#fff}76%,98%{border-color:#00A37A;background:#E6F7F1}100%{border-color:#E3E8F2;background:#fff}}
/* ===== Plan (animation) ===== */
.plan-anim .pa-walls>*{stroke-dasharray:1 1;stroke-dashoffset:1}
.plan-anim .pa-dims2>g,.plan-anim .pa-floor,.plan-anim .pa-open,.plan-anim .pa-labels>g,.plan-anim .pa-dims>g,.plan-anim .pa-marks>g,.plan-anim .pa-north{opacity:0}
.plan-svg .pa-labels>g,.plan-svg .pa-marks>g{transform-box:fill-box}
.plan-anim.in .pa-floor{animation:pa-fade .6s forwards}
.plan-anim.in .pa-walls>*{animation:pa-draw 1.1s ease-out forwards;animation-delay:calc(var(--i)*.14s)}
.plan-anim.in .pa-open{animation:pa-fade .6s 1.2s forwards}
.plan-anim.in .pa-labels>g{animation:pa-up .5s forwards;animation-delay:calc(1.5s + var(--i)*.12s)}
.plan-anim.in .pa-dims>g{animation:pa-fade .5s forwards;animation-delay:calc(2.2s + var(--i)*.16s)}
.plan-anim.in .pa-marks>g{animation:pa-pop .45s forwards;animation-delay:calc(3.4s + var(--i)*.22s)}
.plan-anim.in .pa-north{animation:pa-fade .5s 3.2s forwards}
.plan-anim.in .pa-dims2>g{animation:pa-fade .5s forwards;animation-delay:calc(3.6s + var(--i)*.3s)}
@keyframes pa-draw{to{stroke-dashoffset:0}}
@keyframes pa-fade{to{opacity:1}}
@keyframes pa-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes pa-pop{0%{opacity:0;transform:scale(.2)}70%{opacity:1;transform:scale(1.15)}100%{opacity:1;transform:scale(1)}}
@media (prefers-reduced-motion:reduce){
 .plan-anim *,.meth-scene *,.method .mstep{animation:none !important;opacity:1 !important;stroke-dashoffset:0 !important;transform:none !important}
 .meth-scene .m-flash,.meth-scene .m-pulse,.meth-scene .m-ray{opacity:0 !important}
}
@media (max-width:1080px){.method .wrap.grid{grid-template-columns:1fr}}
@media (max-width:640px){.custom{grid-template-columns:1fr}}

[hidden]{display:none!important}
.sim-sticky{display:none}
@media (max-width:640px){
 .sim-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:61;background:var(--ink);color:#fff;padding:10px 12px 10px 18px;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 -8px 24px rgba(11,22,51,.25);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
 .sim-sticky small{display:block;font-size:12px;color:#9DB8FF;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
 .sim-sticky b{font-size:22px;letter-spacing:-.01em}
 .sim-sticky .btn{padding:13px 18px;font-size:15px}
 body.simfocus .mcta{display:none}
}
/* ===== Simulateur de tarif ===== */
.sim{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}
.sim-main{display:grid;gap:18px}
.sim-card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:24px}
.sim-card h3{font-size:18px;display:flex;align-items:center;gap:10px;margin-bottom:14px}
.sim-card h3 .n{width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-size:14px;display:grid;place-items:center;flex:none}
.sim-profiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sim-profiles label,.sim-sizes label{position:relative;cursor:pointer}
.sim-profiles input,.sim-sizes input,.sim-opts input{position:absolute;opacity:0;pointer-events:none}
.sim-profiles .pc{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;border:1.5px solid var(--line);border-radius:14px;padding:16px 8px;font-weight:700;font-size:14px;transition:.15s;height:100%}
.sim-profiles .pc svg{width:32px;height:32px;color:var(--tc)}
.sim-profiles label:hover .pc{border-color:var(--tc)}
.sim-profiles input:checked+.pc{border-color:var(--tc);background:color-mix(in srgb,var(--tc) 8%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--tc) 18%,transparent)}
.sim-profiles input:focus-visible+.pc,.sim-sizes input:focus-visible+.sc,.sim-opts input:focus-visible+.oc{outline:3px solid var(--blue);outline-offset:2px}
.sim-deliv{margin-top:16px;border-radius:14px;background:var(--bg-soft);padding:16px 18px;display:grid;gap:8px}
.sim-deliv .t{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.sim-deliv ul{list-style:none;display:grid;gap:6px}
.sim-deliv li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.sim-deliv li svg{width:20px;height:20px;flex:none;color:var(--blue);margin-top:2px}
.sim-deliv .from{font-size:15px;font-weight:700;color:var(--ink)}
.sim-deliv .from b{color:var(--blue);font-size:18px}
.sim-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sim-sizes .sc{display:block;text-align:center;border:1.5px solid var(--line);border-radius:14px;padding:14px 8px;font-weight:800;font-size:15px;transition:.15s}
.sim-sizes .sc small{display:block;font-weight:600;font-size:12px;color:var(--muted);margin-top:4px}
.sim-sizes input:checked+.sc{border-color:var(--blue);background:var(--blue-50);color:var(--blue)}
.sim-loc{display:flex;gap:12px;align-items:flex-start;margin-top:14px;font-size:14px;color:var(--ink-2);background:#FFF8EC;border:1.5px solid #F6DDB0;border-radius:12px;padding:12px 14px}
.sim-loc svg{width:22px;height:22px;flex:none;color:#C27A00}
.sim-loc label{display:flex;gap:8px;align-items:center;margin-top:8px;font-weight:700;cursor:pointer}
.sim-loc input{accent-color:var(--blue);width:18px;height:18px}
.sim-opts{display:grid;gap:10px}
.sim-opts label{cursor:pointer;position:relative}
.sim-opts .oc{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;transition:.15s}
.sim-opts .box{width:22px;height:22px;border-radius:6px;border:2px solid #B7C2D8;display:grid;place-items:center;transition:.15s}
.sim-opts .box svg{width:14px;height:14px;color:#fff;opacity:0}
.sim-opts input:checked+.oc{border-color:var(--blue);background:var(--blue-50)}
.sim-opts input:checked+.oc .box{background:var(--blue);border-color:var(--blue)}
.sim-opts input:checked+.oc .box svg{opacity:1}
.sim-opts .oc b{display:block;font-size:15px}
.sim-opts .oc span.d{font-size:13px;color:var(--muted)}
.sim-opts .oc .p{font-weight:800;color:var(--blue);white-space:nowrap;font-variant-numeric:tabular-nums}
.sim-fmt{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.sim-fmt label{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:700;border:1.5px solid var(--line);border-radius:10px;padding:7px 12px;cursor:pointer}
.sim-fmt input{accent-color:var(--blue)}
.sim-aside{position:sticky;top:150px;display:grid;gap:14px}
.sim-total{background:var(--ink);color:#fff;border-radius:22px;padding:26px;box-shadow:var(--shadow-lg)}
.sim-total .lbl{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#9DB8FF}
.sim-total .price{font-size:52px;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.sim-total .price.q{font-size:34px}
.sim-total .tax{font-size:14px;color:#C9D3EA}
.sim-lines{list-style:none;margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);display:grid;gap:8px;font-size:14px}
.sim-lines li{display:flex;justify-content:space-between;gap:12px;color:#E4EAF7}
.sim-lines li span:last-child{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.sim-lines li.muted{color:#9AA6C2}
.sim-note{font-size:12.5px;color:#9AA6C2;margin-top:14px}
.sim-actions{display:grid;gap:10px}
.sim-actions .btn{justify-content:center}
.sim-actions .btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.sim-actions .btn.on{box-shadow:0 0 0 3px rgba(4,87,250,.25)}
.sim-contact{position:relative;background:#fff;border:1.5px solid var(--blue);border-radius:20px;padding:22px}
.sim-contact h3{font-size:18px;margin-bottom:4px}
.sim-contact p.sub{font-size:14px;color:var(--muted);margin-bottom:14px}
.sim-contact .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sim-contact input[type=text],.sim-contact input[type=email],.sim-contact input[type=tel]{width:100%;font-family:inherit;font-size:15px;padding:12px 13px;border:1.5px solid var(--line);border-radius:12px;margin-bottom:10px;outline:none;background:#fff;color:var(--ink)}
.sim-contact input:focus{border-color:var(--blue)}
.sim-contact .accept{display:flex;gap:10px;font-size:13px;color:var(--muted);margin:4px 0 14px;align-items:flex-start}
.sim-contact .accept a{color:var(--blue);text-decoration:underline}
.sim-contact .btn{width:100%;justify-content:center}
.sim-done{display:none;margin-top:12px;background:#E6F7F1;color:#006B50;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600}
@media (max-width:1080px){.sim{grid-template-columns:1fr}.sim-aside{position:static}}
@media (max-width:640px){.sim-profiles,.sim-sizes{grid-template-columns:1fr 1fr}.sim-contact .row{grid-template-columns:1fr}.sim-total .price{font-size:44px}}

/* ===== V3 : lisibilité, mobile ===== */
.head-phone,.head-cta .btn{white-space:nowrap}
@media (max-width:1460px){.head-phone span{display:none}.head-phone{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);justify-content:center}}
@media (max-width:1340px){.head-phone{display:flex}}
.topbar .tb-main b{color:#fff;font-weight:800}
.topbar .tb-main{gap:0}.topbar .tb-main svg{margin-right:8px}.topbar .tb-main b span{display:inline}.topbar .tb-main b .show-m{display:none}
@media (max-width:1080px){.topbar .wrap>.hide-m{display:none}.topbar .wrap{justify-content:center}}
.avatar.noimg{background:var(--blue)!important}
.btnrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btnrow .btn{margin:0!important}
.trust{grid-template-columns:repeat(2,max-content);gap:16px 34px}
.trust div{font-size:13.5px;color:var(--muted);font-weight:500}
.trust div span{display:flex;flex-direction:column}
.trust div b{font-size:15px;color:var(--ink);font-weight:800}
.trust svg{width:30px;height:30px}
/* placeholders images */
.noimg{background:linear-gradient(135deg,#DCE7FF,#F5F8FF) !important;position:relative}
.noimg::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Cg fill='none' stroke='%231267F5' stroke-opacity='.18' stroke-width='2'%3E%3Crect x='10' y='10' width='100' height='70'/%3E%3Cpath d='M55 10v38H10M55 48h55M80 48v32'/%3E%3C/g%3E%3C/svg%3E") center/55% no-repeat}
/* hero */
.plan-card{width:76%;left:-44px;bottom:-52px;padding:18px}
@supports selector(:has(a)){
 .hero-visual .badge-float{opacity:0;transform:translateY(-10px) scale(.9)}
 .hero-visual:has(.plan-anim.in) .badge-float{animation:badge-in .6s 3.6s cubic-bezier(.2,1.4,.4,1) forwards}
}
@keyframes badge-in{to{opacity:1;transform:none}}
/* cartes profils */
.tcard .tprice{margin:14px 0 4px;font-size:13px;color:var(--muted);font-weight:600}
.tcard .tprice b{display:block;font-size:22px;color:var(--ink);font-weight:800;letter-spacing:-.01em}
.tcard .tacts{display:grid;gap:8px;margin-top:14px}
.tcard .tacts .btn{justify-content:center;padding:12px 14px;font-size:15px;background:var(--tc);color:#fff;box-shadow:none}
.tcard .tacts .tgo{justify-content:center}
.tcard:hover{transform:none}
/* confiance */
.trustsec{padding:72px 0}
.tgrid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.who-card,.guar-card{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;border-radius:22px;padding:28px;border:1.5px solid var(--line);background:#fff}
.guar-card{background:#E6F7F1;border-color:#BFE8DA}
.guar-card .eyebrow{color:#00805F}
.who-card h3,.guar-card h3{font-size:21px;margin:8px 0 6px}
.who-card p,.guar-card p{font-size:15px;color:var(--ink-2)}
.avatar{width:84px;height:84px;border-radius:50%;overflow:hidden;position:relative;background:var(--blue);display:grid;place-items:center}
.avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.avatar span{color:#fff;font-weight:800;font-size:32px}
.avatar.noimg::after{display:none}
.gi{width:64px;height:64px;border-radius:18px;background:#fff;color:#00A37A;display:grid;place-items:center}
.gi svg{width:34px;height:34px}
.lnk{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:800;color:var(--blue)}
.guar-card .lnk{color:#00805F}
.lnk svg{width:18px;height:18px}
/* prix */
.pfrom{display:flex;gap:28px;flex-wrap:wrap;margin:20px 0 6px}
.pfrom div{font-size:13px;opacity:.9}
.pfrom b{display:block;font-size:30px;line-height:1.1;letter-spacing:-.02em}
.dl{display:inline-flex;align-items:center;gap:8px;color:#9DB8FF;font-weight:700;margin-left:6px}
.dl svg{width:18px;height:18px}
.communes a{font-size:14px;font-weight:600;padding:7px 12px;border-radius:999px;background:var(--bg-soft);border:1px solid var(--line)}
.communes a:hover{border-color:var(--blue);color:var(--blue)}
.communes a.all{background:var(--blue);color:#fff;border-color:var(--blue)}
/* articles */
.article .prose h2{font-size:24px}
.article .prose table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}
.article .prose th,.article .prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}
.article .prose th{background:var(--bg-soft)}
/* blog + contact */
.ameta{font-size:14px;color:var(--muted);font-weight:600;margin:-4px 0 14px}
.atoc{background:var(--bg-soft);border:1.5px solid var(--line);border-radius:16px;padding:18px 22px;margin-bottom:28px}.atoc b{display:block;margin-bottom:8px}.atoc ol{margin:0;padding-left:20px}.atoc li{margin:0 0 4px!important;font-size:15px}.atoc a{text-decoration:none!important}
.bfilter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}.bfilter a{font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;border:1.5px solid var(--line)}.bfilter a.on,.bfilter a:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-50)}
.post .pcover{margin:-30px -30px 20px;border-radius:22px 22px 0 0;overflow:hidden;aspect-ratio:16/8}.post .pcover img{width:100%;height:100%;object-fit:cover}
.prose img{border-radius:14px;margin:10px 0}.prose figure{margin:18px 0}.prose figcaption{font-size:13px;color:var(--muted)}.prose blockquote{border-left:4px solid var(--blue);background:var(--bg-soft);padding:12px 18px;border-radius:0 12px 12px 0;margin:0 0 16px}
.prose table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left}.prose th{background:var(--bg-soft)}
.prose .acta .btn{color:#fff;text-decoration:none}.prose .acta p{color:var(--ink)}
.acover{margin:0 0 28px}.acover img{width:100%;border-radius:18px;aspect-ratio:16/9;object-fit:cover;margin:0}
.cform-msg{display:none;margin-top:14px;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600}
.cform select{margin-bottom:10px}
a.bcard{display:block;transition:.2s}a.bcard:hover{border-color:var(--tc,var(--blue));box-shadow:var(--shadow)}
.acta{display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:var(--blue-50);border:1.5px solid #BFD2FF;border-radius:18px;padding:22px 24px;margin:30px 0}
.acta p{margin:0!important;font-weight:700;color:var(--ink)!important}
.city-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.city-facts div{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:18px}
.city-facts b{display:block;font-size:20px;color:var(--blue)}
.city-facts span{font-size:14px;color:var(--ink-2)}
@media (max-width:1080px){
 .tgrid2{grid-template-columns:1fr}
 .plan-card{left:12px;width:84%}
 .city-facts{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.hero-visual .badge-float{opacity:1!important;transform:none!important;animation:none!important}}
.show-m,.topbar .show-m{display:none}
/* menu mobile */
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{position:fixed;left:0;right:0;top:0;bottom:0;z-index:45;background:rgba(11,22,51,.35)}
.mnav-in{background:#fff;max-height:100%;overflow:auto;padding:calc(var(--mh,110px) + 18px) 20px 28px;box-shadow:var(--shadow-lg)}
.mnav-t{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.mnav-prof{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.mnav-prof .tpill{justify-content:flex-start;white-space:normal;font-size:13.5px;padding:10px 12px;border-radius:12px}
.mnav-links{display:grid;border-top:1px solid var(--line);margin-bottom:20px}
.mnav-links a{padding:14px 2px;border-bottom:1px solid var(--line);font-weight:700;font-size:17px}
.mnav-links a:first-child{color:var(--blue)}
.mnav .btnrow .btn{flex:1 1 100%;justify-content:center}
body.menu-open{overflow:hidden}body.menu-open .mcta,body.menu-open .sim-sticky{display:none!important}
@media (max-width:1080px){.burger{display:flex}}
@media (min-width:1081px){.mnav{display:none!important}}
/* parallaxe */
.hero-photo,.plan-card,.badge-float{will-change:transform}
.hero-visual .badge-float{z-index:3}
/* maquettes (logiciel, PDF agence) */
.mock{border-radius:16px;overflow:hidden;box-shadow:var(--shadow-lg);background:#fff;border:1px solid var(--line)}
.mock .mbar{display:flex;align-items:center;gap:7px;background:#232836;color:#C9D3EA;padding:9px 14px;font-size:12px;font-weight:600}
.mock .mbar i{width:10px;height:10px;border-radius:50%;background:#FF5F57}.mock .mbar i:nth-child(2){background:#FEBC2E}.mock .mbar i:nth-child(3){background:#28C840}
.mock .mbar span{margin-left:10px}.mock .mbar em{margin-left:auto;font-style:normal;color:#7FA6FF}
.mock .mbody{display:grid;grid-template-columns:38px 1fr 150px;min-height:320px}
.mock .mtools{background:#2E3444;display:flex;flex-direction:column;gap:9px;padding:10px 9px}
.mock .mtools b{display:block;width:20px;height:20px;border-radius:5px;background:#3D4558}.mock .mtools b:first-child{background:#1267F5}
.mock .mcanvas{background:#F4F6FA;background-image:linear-gradient(#E6EAF2 1px,transparent 1px),linear-gradient(90deg,#E6EAF2 1px,transparent 1px);background-size:22px 22px;padding:14px;display:flex;align-items:center}
.mock .mlayers{background:#FAFBFD;border-left:1px solid var(--line);padding:12px;font-size:12px}
.mock .mlayers b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.mock .mlayers span{display:flex;align-items:center;gap:7px;padding:5px 0;font-weight:600;color:var(--ink-2)}
.mock .mlayers span i{width:12px;height:3px;border-radius:2px;background:var(--c)}
.mock.sheet{padding:18px 20px 14px}
.mock .shead{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;border-bottom:2px solid var(--blue);padding-bottom:10px;margin-bottom:8px}
.mock .slogo{width:64px;height:40px;border:2px dashed #9DB8FF;border-radius:8px;display:grid;place-items:center;font-size:9px;font-weight:800;color:var(--blue);text-align:center;line-height:1.1;background:var(--blue-50)}
.mock .shead b{display:block;font-size:14px}.mock .shead span{font-size:12px;color:var(--muted)}
.mock .sref{font-size:11px;color:var(--muted);font-weight:700}
.mock .sfoot{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px;margin-top:4px}
.mlegend{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;font-size:13px;font-weight:600;color:var(--ink-2)}
.mlegend span{display:inline-flex;align-items:center;gap:8px}.mlegend i{width:18px;height:3px;border-radius:2px;background:var(--c)}
.mockrow{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.mockrow h2{margin:12px 0 14px}.mockrow p{color:var(--ink-2);margin-bottom:12px}
.mock img.shot{width:100%;display:block}
@media (max-width:1080px){.mockrow{grid-template-columns:1fr}.mock .mbody{grid-template-columns:30px 1fr}.mock .mlayers{display:none}}
.tgrid2.three{grid-template-columns:repeat(3,1fr)}
.cloud-card{background:var(--blue-50);border-color:#BFD2FF}
@media (max-width:1080px){.tgrid2.three{grid-template-columns:1fr}}
/* ===== MOBILE ===== */
@media (max-width:640px){
 .topbar{font-size:12.5px}
 .topbar .wrap{height:34px;justify-content:center}
 .topbar .tb-main{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .topbar .tb-main svg{display:none}
 header.site .wrap{height:62px}
 .logo img{height:34px}
 .head-phone{display:none}
 .burger{width:42px;height:42px}
 .head-cta{gap:8px}
 .head-cta .btn{padding:10px 14px;font-size:14px}
 .targetbar{position:static}
 .targetbar .wrap{height:50px}
 .targetbar b{display:none}
 html{scroll-padding-top:76px}
 h2{font-size:26px}
 h3{font-size:19px}
 .lead{font-size:16.5px}
 .section{padding:48px 0}
 .section-head{margin-bottom:26px}
 .hero .wrap{padding-top:26px;padding-bottom:40px;gap:34px}
 .hero h1{font-size:35px;margin:12px 0 14px}
 .hero h1 br{display:none}
 .hero .ctas,.phero .ctas{margin:22px 0 24px}
 .btnrow .btn{flex:1 1 100%;justify-content:center}
 .trust{grid-template-columns:1fr 1fr;gap:14px 12px}
 .trust div{font-size:12.5px;gap:8px}
 .trust div b{font-size:14px}
 .trust svg{width:26px;height:26px}
 .hero-photo{display:none}
 .plan-card{position:relative;left:0;bottom:0;width:100%}
 .badge-float{top:-18px;right:10px;padding:10px 14px}
 .badge-float strong{font-size:24px}
 .targets{padding:40px 0 24px}
 .tcard{padding:20px 18px 18px}
 .tcard>p,.tcard .tfmt{display:none}
 .tcard .ticon{width:44px;height:44px;margin-bottom:10px;border-radius:12px}
 .tcard .ticon svg{width:26px;height:26px}
 .tcard h3{font-size:18px;margin:4px 0 0}
 .tcard .tprice{margin-top:10px}
 .tcard .tacts{grid-template-columns:1fr auto;align-items:center}
 .tgrid{gap:14px}
 .numbers .wrap{padding:26px 16px;gap:18px 14px}
 .numbers div{padding-left:12px}
 .numbers strong{font-size:28px}
 .numbers span{font-size:13px;line-height:1.35;display:block;margin-top:4px}
 .phero .wrap{padding-top:22px;padding-bottom:36px;gap:26px}
 .phero h1{font-size:31px;margin:10px 0 12px}
 .phero .ptag{font-size:12px}.phero .ptag i{width:32px;height:32px}
 .crumbs{margin-bottom:10px;font-size:12px}
 .phero .pmedia{aspect-ratio:auto;background:none!important;box-shadow:none;overflow:visible}
 .phero .pmedia img,.phero .pmedia.noimg::after{display:none}
 .phero .pmedia .mini{position:static;width:100%;box-shadow:var(--shadow)}
 .phero .pmedia:not(:has(.mini)){display:none}
 .split .media,.tblock .media,.zone-media{display:none}
 .split,.tblock .wrap,.zone .wrap{gap:0}
 .tblock{padding:48px 0}
 .example .wrap{gap:28px}
 .plan-big{padding:12px}
 .anno{margin:18px 0 22px;gap:10px}
 .anno li{font-size:15px}
 .method .wrap.grid{gap:22px}
 .meth-scene{position:static;padding:10px}
 .mstep{grid-template-columns:40px 1fr;gap:12px;padding:12px 14px}
 .mstep .mi{width:40px;height:40px}
 .mstep p{font-size:14px}
 .custom{padding:20px}
 .steps{gap:30px}
 .step{padding:24px 20px}
 .step .sicon{width:44px;height:44px;margin:4px 0 10px}
 .wgrid{grid-template-columns:1fr 1fr;gap:12px}
 .wcard{padding:18px 16px}
 .wcard svg{width:32px;height:32px;margin-bottom:10px}
 .wcard h3{font-size:16px}
 .wcard p{font-size:13.5px}
 .trustsec{padding:40px 0}
 .who-card,.guar-card{padding:20px;gap:16px}
 .avatar{width:64px;height:64px}
 .gi{width:52px;height:52px}
 .pcard{padding:24px 20px}
 .pfrom b{font-size:26px}
 .opt{padding:16px 0;gap:14px}
 .opt .oi{width:42px;height:42px}
 .communes{margin:16px 0}
 .know{padding-bottom:48px}
 .know .box{padding:20px;gap:14px}
 .know svg{width:30px;height:30px}
 .know p{font-size:14.5px}
 .faq .wrap{gap:22px}
 .faq .side p{margin:8px 0 14px}
 .faq summary{padding:16px 18px;font-size:16px}
 .faq details p{padding:0 18px 18px;font-size:15px}
 .faq-one summary{padding:16px 18px;font-size:16px}
 .final .wrap{padding-top:48px;padding-bottom:48px;gap:26px}
 .final h2{font-size:30px}
 .final .contact-lines a{font-size:18px}
 .qform{padding:22px 18px}
 .bcard{padding:20px 18px}
 .cards3,.cards4{gap:12px}
 .bcard .bi{width:44px;height:44px;margin-bottom:10px}
 .bcard .bi svg{width:24px;height:24px}
 .bcard h3{font-size:17px}
 .bcard p{font-size:14.5px}
 .inout .col{padding:20px}
 .tl .c{padding:16px 18px}
 .tl h3{font-size:17px}
 .ctable th,.ctable td{padding:12px;font-size:14px}
 .contact-cards{margin-bottom:32px;gap:12px}
 .ccard{padding:20px}
 .ccard a.big{font-size:18px}
 .post{padding:22px}
 .post h2{font-size:19px}
 .acta{padding:18px}
 .mcta.solo{grid-template-columns:1fr}
 .mcta{transition:transform .25s;transform:translateY(120%)}
 body.ctas-off .mcta{transform:none}
 .phero .pmedia{display:none}
 .phero.simple .wrap{padding-bottom:26px}
 .phero.simple .lead{font-size:15.5px}
 .bcard,a.bcard{display:grid;grid-template-columns:44px 1fr;gap:2px 14px;align-items:start}
 .bcard .bi{grid-row:span 2;margin:0}
 .bcard h3{margin:2px 0 4px}
 .topbar .show-m,.topbar .tb-main b .show-m{display:inline}
 .topbar .tb-main b .hide-m{display:none}
 .topbar .tb-main .hide-m{display:none}
 .topbar .tb-main,.topbar .tb-main span{display:inline}
 .topbar .tb-main{display:block}
 .hero h1{line-height:1.22}
 .hero h1 .u svg{bottom:-9px;height:12px}
 .tcard .ticon{display:none}
 .final .side-list{display:none}
 footer.site .wrap{grid-template-columns:1fr 1fr;gap:28px 18px;padding-top:40px;padding-bottom:28px}
 footer.site .wrap>div:first-child{grid-column:1/-1}
 footer.site ul{gap:8px;font-size:14px}
}
