*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
a{color:inherit;text-underline-offset:4px}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}
.wrap{width:min(1180px,calc(100% - 48px));margin:auto}
h1,h2,h3{line-height:1.12;letter-spacing:-.03em;margin:0 0 20px;hyphens:none}
h1{font-size:clamp(38px,5vw,62px);font-weight:700;max-width:860px}h1 em{font-style:normal;color:var(--accent-text)}
h2{font-size:clamp(27px,3.3vw,40px);font-weight:700}h3{font-size:22px;font-weight:700}
p{margin:0 0 18px}.lead{font-size:19px;color:var(--muted);max-width:640px}.fine{font-size:13px;color:var(--muted)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--accent-dark);display:flex;gap:9px;align-items:center;margin-bottom:14px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--accent)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent-btn);color:#fff;border:1px solid transparent;border-radius:10px;padding:14px 24px;text-decoration:none;font-weight:700;font-size:15px;line-height:1.3;cursor:pointer;box-shadow:0 6px 18px color-mix(in srgb, var(--accent-btn) 25%, transparent)}
.button:hover{background:var(--accent-dark)}.button.secondary{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:none}.button.secondary:hover{background:var(--tint)}.button.dark{background:var(--ink);box-shadow:none}
.skip{position:absolute;top:-100px;left:15px;z-index:100;background:#fff;padding:12px}.skip:focus{top:15px}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.top{background:var(--ink);color:var(--on-dark);font-size:12.5px;padding:7px 0}.top .wrap{display:flex;justify-content:space-between;gap:16px}.top a{text-decoration:none;color:#fff;font-weight:600}
header.site{background:var(--head-bg);color:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--head-border)}
.nav{display:flex;align-items:center;gap:28px;min-height:82px}.brand{margin-right:auto;display:flex;align-items:center;text-decoration:none}.brand img{height:44px;width:auto;display:block}
.nav nav{display:flex;gap:22px;font-size:14.5px;font-weight:600}.nav nav a{text-decoration:none;color:var(--head-link);padding:6px 0;border-bottom:2px solid transparent}.nav nav a:hover,.nav nav a[aria-current]{border-color:var(--accent)}
.nav .button{padding:11px 18px}
.menu-toggle{display:none}
.hero{padding:70px 0 60px;background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 16px}
.hero-photo{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/2;background:var(--ink)}.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-badge{position:absolute;left:22px;bottom:22px;background:color-mix(in srgb, var(--ink) 86%, transparent);color:#fff;padding:14px 18px;border-radius:14px;backdrop-filter:blur(6px)}.hero-badge strong{display:block;font-size:22px;letter-spacing:-.5px}.hero-badge span{font-size:12.5px;color:var(--on-dark)}
.strip{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:22px 0}.strip-grid div{display:flex;gap:14px;align-items:flex-start}.strip-grid .ico{width:40px;height:40px;border-radius:11px;background:var(--tint);display:grid;place-items:center;color:var(--accent-dark);flex:none}.strip-grid .ico svg{width:21px;height:21px;display:block}.strip strong{display:block;font-size:15.5px}.strip span{font-size:13px;color:var(--muted)}
section.section{padding:72px 0}.section.white{background:#fff}.section.dark{background:var(--ink);color:#fff}.section.dark .eyebrow{color:var(--on-dark-accent)}.section.dark p{color:var(--on-dark)}
.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:36px}.section-head h2{margin:0}.section-head p{max-width:460px;font-size:15.5px;margin:0;color:var(--muted)}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s}.service:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow)}.service .num{font-size:12px;letter-spacing:2px;color:var(--accent-dark);font-weight:700;margin-bottom:22px}.service h3{font-size:21px;margin-bottom:10px}.service p{font-size:14.5px;color:var(--muted);margin-bottom:22px}.service .arrow{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--accent-dark)}
.services.compact{grid-template-columns:repeat(4,1fr)}.services.compact .service{padding:20px}.services.compact h3{font-size:18px}
.finder{background:var(--ink);color:#fff;border-radius:26px;padding:46px;display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:start}.finder .eyebrow{color:var(--on-dark-accent)}.finder p{color:var(--on-dark)}
.search-label{display:block;font-size:14px;font-weight:650;margin:0 0 9px}.search-input{width:100%;border:1px solid var(--dark-border);border-radius:10px;background:#fff;padding:16px 18px;color:var(--ink)}
.search-results{list-style:none;margin:10px 0 0;padding:0;max-height:330px;overflow:auto}.search-results a{display:flex;justify-content:space-between;text-decoration:none;background:#fff;color:var(--ink);padding:10px 15px;margin-bottom:5px;border-radius:8px;font-size:14px}.search-results a:hover{background:var(--tint)}.search-results span{font-size:12px;color:var(--muted)}
.provinces{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.pill{font-size:13.5px;padding:8px 14px;border:1px solid var(--dark-border);border-radius:8px;text-decoration:none;color:#fff;background:var(--pill-bg)}.pill:hover{background:var(--accent);border-color:var(--accent)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.process{counter-reset:s}.process>div{position:relative;padding:0 0 26px 54px}.process>div:before{counter-increment:s;content:counter(s,decimal-leading-zero);position:absolute;left:0;top:2px;color:var(--accent);font-weight:800;font-size:14px;letter-spacing:1px}.process h3{font-size:21px;margin:0 0 8px}.process p{font-size:15.5px;color:var(--muted)}
details{border-bottom:1px solid var(--line);padding:18px 0}summary{font-size:17.5px;font-weight:650;cursor:pointer;line-height:1.45;list-style:none;display:flex;justify-content:space-between;gap:16px}summary::-webkit-details-marker{display:none}summary:after{content:"+";color:var(--accent);font-weight:800;font-size:22px;line-height:1}details[open] summary:after{content:"–"}details p{color:var(--muted);font-size:15.5px;margin:14px 0 0}
.cta{border-radius:24px;background:var(--ink);color:#fff;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:30px;background-image:radial-gradient(circle at 90% -20%,color-mix(in srgb, var(--accent) 35%, transparent),transparent 55%)}.cta h2{font-size:30px;margin:0 0 8px}.cta p{color:var(--on-dark);margin:0;font-size:15.5px}
.crumbs{font-size:12.5px;color:var(--muted);margin:22px 0 0}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.pagehead{padding:24px 0 36px}.pagehead h1{font-size:clamp(34px,4.6vw,54px)}.pagehead .lead{max-width:760px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px;padding:0;list-style:none}.chips li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600}
.content-grid{display:grid;grid-template-columns:minmax(0,760px) 330px;gap:60px;align-items:start}
.article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:44px;overflow-wrap:anywhere}.article h2{font-size:27px;margin-top:38px}.article>h2:first-child,.article>figure+h2{margin-top:0}.article h3{font-size:21px;margin-top:26px}.article p,.article li{font-size:16.5px}.article ul,.article ol{padding-left:22px}.article li{margin:6px 0}.article a{color:var(--accent-dark);text-decoration-thickness:1px}
.article-visual{margin:0 0 28px;border-radius:16px;overflow:hidden;background:var(--line)}.article-visual img{display:block;width:100%;height:auto;max-height:400px;object-fit:cover}
.localbox{background:var(--tint);border-radius:14px;padding:24px 26px;margin:30px 0}.localbox h2{font-size:22px;margin:0 0 10px}.localbox p{font-size:15.5px;margin-bottom:8px}.localbox .tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.localbox .tags span,.localbox .tags a{background:#fff;border-radius:6px;padding:5px 10px;font-size:13px;text-decoration:none}
.tipbox{border-left:4px solid var(--accent);background:var(--tip-bg);padding:18px 22px;border-radius:0 12px 12px 0;margin:30px 0}.tipbox strong{color:var(--accent-dark);display:block;font-size:12.5px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:6px}.tipbox p{margin:0;font-size:15.5px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.steps div{background:var(--paper);border-radius:14px;padding:20px}.steps b{display:block;font-size:12px;color:var(--accent-dark);letter-spacing:1.5px;margin-bottom:8px}.steps h3{font-size:18px;margin:0 0 6px}.steps p{font-size:14.5px;margin:0;color:var(--muted)}
.sidebar{position:sticky;top:104px}.callcard{background:var(--ink);color:#fff;border-radius:20px;padding:28px;background-image:radial-gradient(circle at 100% 0,color-mix(in srgb, var(--accent) 40%, transparent),transparent 60%)}.callcard .eyebrow{color:var(--on-dark-accent)}.callcard h2{font-size:23px;margin:8px 0 10px}.callcard p{color:var(--on-dark);font-size:14.5px}.call-number{font-size:29px;letter-spacing:-1px;text-decoration:none;font-weight:800;display:block;margin:6px 0 18px;color:#fff}.callcard .button{width:100%}
.side-links{padding:22px 0 0}.side-links h3{font-size:17px;margin-bottom:6px}.side-links a{display:flex;justify-content:space-between;font-size:14.5px;padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none}.side-links a:hover{color:var(--accent-dark)}.side-links small{color:var(--muted)}
.city-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 22px;list-style:none;padding:0;margin:0}.city-list a{display:block;border-bottom:1px solid var(--line);padding:9px 0;font-size:15px;text-decoration:none}.city-list a:hover{color:var(--accent-dark)}.city-list small{display:block;color:var(--muted);font-size:12px}
.prov-block{margin-bottom:46px}.prov-block h2{font-size:24px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.prov-block h2 a{font-size:14px;font-weight:600;color:var(--accent-dark);text-decoration:none}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;text-decoration:none;display:flex;flex-direction:column}.post-card:hover{border-color:var(--accent)}.post-card time{font-size:12.5px;color:var(--muted)}.post-card h3{font-size:19px;margin:10px 0 8px}.post-card p{font-size:14.5px;color:var(--muted);margin:0 0 16px}.post-card span{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--accent-dark)}
.post-meta{font-size:13.5px;color:var(--muted);margin-bottom:8px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:22px;padding:34px}.contact-form label{display:block;font-size:14px;font-weight:650;margin:16px 0 6px}.contact-form label:first-child{margin-top:0}.contact-form input,.contact-form textarea{display:block;width:100%;padding:13px;border:1px solid var(--input-border);border-radius:8px;background:#fff;color:var(--ink)}.contact-form textarea{min-height:140px;resize:vertical}.contact-form .button{margin-top:22px}
.infocard{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;margin-bottom:16px}.infocard h3{font-size:16px;margin-bottom:8px}.infocard p{margin:0;font-size:15px}
footer{padding:60px 0 26px;margin-top:80px;background:var(--ink);color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:50px}.footer-grid h3{font-size:15px;margin-bottom:14px;letter-spacing:.5px;text-transform:uppercase;color:var(--on-dark-accent)}.footer-grid p,.footer-grid a{font-size:13.5px;color:var(--on-dark)}.footer-grid ul{list-style:none;padding:0;margin:0}.footer-grid li{margin:7px 0}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:#fff;text-decoration:underline}.footer-logo img{height:40px;width:auto;margin-bottom:16px}
.footer-bottom{margin-top:40px;border-top:1px solid var(--dark-rule);padding-top:20px;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:var(--on-dark-faint)}
.mobile-call{display:none}.draft{background:#ffe6b7;text-align:center;font-size:12px;padding:6px;color:#000}
@media(max-width:1000px){.nav{gap:16px}.nav nav{gap:14px;font-size:13.5px}.hero-grid{gap:34px}.services,.services.compact{grid-template-columns:repeat(2,1fr)}.content-grid{gap:30px;grid-template-columns:minmax(0,1fr) 290px}.article{padding:30px}.finder{gap:26px;padding:32px}.city-list{grid-template-columns:repeat(3,1fr)}.posts{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.top .wrap span:first-child{display:none}.top .wrap{justify-content:center}.nav{min-height:66px;gap:10px;flex-wrap:wrap;padding:6px 0}.brand img{height:34px}.nav>.button{display:none}.menu-toggle{display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--dark-border);color:#fff;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:700}.nav nav{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--dark-rule);padding:6px 0}.nav nav a{padding:11px 0;border-bottom:1px solid var(--dark-rule)}.nav.open nav{display:flex}
.hero{padding:38px 0 30px}.hero-grid,.two-col,.finder,.content-grid,.contact-grid{grid-template-columns:1fr;gap:26px}h1{font-size:38px}.lead{font-size:17px}.hero-photo{order:2;aspect-ratio:4/3}.actions .button{flex:1 1 100%}
.strip-grid{grid-template-columns:1fr;gap:12px;padding:16px 0}section.section{padding:46px 0}.section-head{display:block}.section-head p{margin-top:14px}.services,.services.compact{grid-template-columns:1fr;gap:12px}.service{padding:22px}.service .num{margin-bottom:12px}
.finder{padding:26px;border-radius:20px}.sidebar{position:static}.cta{display:block;padding:28px}.cta .button{margin-top:20px;width:100%}.city-list{grid-template-columns:repeat(2,1fr);gap:4px 16px}.posts{grid-template-columns:1fr}.steps{grid-template-columns:1fr}
.article{padding:22px 18px;border-radius:16px}.article h2{font-size:24px}.pagehead{padding-top:6px}.pagehead h1{font-size:34px}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:8px 0}footer{padding-bottom:96px}
.mobile-call{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--accent-btn);color:#fff;justify-content:center;gap:12px;padding:14px 16px;padding-bottom:max(14px,env(safe-area-inset-bottom));font-size:15.5px;font-weight:800;text-decoration:none;box-shadow:0 -4px 18px rgba(0,0,0,.15)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Nuit — base anthracite, vert de marque plus vif en accent. Plus contrasté, plus premium. */
:root{
--ink:#121417;--head-bg:#1a1e23;--head-border:#2c333a;--head-link:#e7eaee;
--accent:#00c46a;--accent-btn:#0b6b3f;--accent-text:#0b8a4a;--accent-dark:#0b6b3f;
--tint:#eaf5ef;--paper:#f4f5f6;--muted:#5b6470;--line:#e0e3e7;--tip-bg:#f7faf8;
--on-dark:#cdd4dc;--on-dark-accent:#6fe0a6;--on-dark-faint:#98a2ae;
--dark-border:#39424b;--dark-rule:#2c333a;--pill-bg:#252b32;--input-border:#c0c7cf;
--r:14px;--shadow:0 20px 55px color-mix(in srgb, var(--ink) 12%, transparent)}
/* Nuit : le héros et la barre d'arguments passent en sombre, le reste reste clair. */
header.site{border-bottom-color:transparent}
.hero{background:var(--ink);color:#fff;padding-bottom:74px}
.hero h1{color:#fff}.hero h1 em{color:var(--accent)}
.hero .lead{color:var(--on-dark)}.hero .eyebrow{color:var(--on-dark-accent)}.hero .fine{color:var(--on-dark-faint)}
.hero .button.secondary{background:transparent;color:#fff;border-color:var(--dark-border)}
.hero .button.secondary:hover{background:#ffffff14}
.hero-photo{box-shadow:0 26px 60px #0006}
.strip{background:var(--head-bg);border-top-color:var(--dark-rule);border-bottom-color:var(--dark-rule)}
.strip strong{color:#fff}.strip span{color:var(--on-dark-faint)}
.strip-grid .ico{background:var(--pill-bg);color:var(--on-dark-accent)}
