@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jakarta-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/jakarta-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* espace fine insécable (U+202F) des milliers : Jakarta la dessine à 0,09 em, invisible (« 1228 ») ; cette mini-police ne contient que ce caractère, à 0,21 em (01/11/2026) */
@font-face{font-family:'Espace fine';font-style:normal;font-weight:100 900;font-display:block;src:url(/fonts/espace-fine.woff) format('woff');unicode-range:U+202F}
:root{
  /* identité « Trouver sa place » */
  --forest:#14302A;--forest-deep:#0D241E;--ivory:#F7F5EF;--white:#FFFFFF;--lime:#D8EF72;--sage:#E7EDE5;--border:#D8DED5;
  --bg:var(--ivory);--surface:var(--white);--ink:var(--forest);--ink-2:#3B4D46;--muted:#59675F;--line:var(--border);--line-2:#C3CCC0;
  --accent:var(--forest);--accent-ink:var(--forest);--accent-soft:var(--sage);--warn:#8A5A0B;--warn-soft:#FBF0DE;--chip:var(--sage);
  --ok:#1F6B4F;--error:#B42318;
  --radius:14px;--radius-s:10px;--shadow:0 1px 2px rgba(13,36,30,.04),0 8px 24px -14px rgba(13,36,30,.18);
  --font:'Espace fine','Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--display:'Espace fine','Plus Jakarta Sans',system-ui,sans-serif;
  --wrap:1240px;color-scheme:light;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--font);font-feature-settings:"tnum" 0}
a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--accent)}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--surface);padding:8px 12px;z-index:99}
/* header */
.top{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:24px;height:62px}
.logo{display:flex;align-items:center;gap:10px;font:560 21px/1 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.01em;white-space:nowrap}
.logo-svg{color:var(--ink);flex:none}.logo-svg .seat{fill:var(--accent)}
.logo small{font-size:inherit;font-weight:600;color:var(--muted)}
.logo b{color:inherit;font-weight:inherit}
.logo-mark{width:26px;height:26px;border-radius:7px;background:var(--ink);display:grid;place-items:center}
.logo-mark i{display:block;width:12px;height:12px;border:2.5px solid var(--bg);border-radius:3px;box-shadow:5px 5px 0 -2.5px var(--accent)}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{color:var(--ink-2);text-decoration:none;font-size:15px;padding:8px 12px;border-radius:8px}
.nav a:hover{background:var(--chip);color:var(--ink)}
.nav .btn{margin-left:6px}
.search-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--surface);color:var(--muted);border-radius:9px;padding:7px 12px;font:inherit;font-size:14px;cursor:pointer;min-width:200px}
.search-btn kbd{margin-left:auto;font:12px var(--font);border:1px solid var(--line);border-radius:5px;padding:1px 6px}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--bg)!important;text-decoration:none;border:0;border-radius:6px;padding:10px 16px;font:600 15px/1 var(--font);cursor:pointer}
.btn:hover{opacity:.9}
.btn.alt{background:var(--surface);color:var(--ink)!important;border:1px solid var(--line-2)}
.btn.accent{background:var(--accent);color:#fff!important}
@media (max-width:860px){.nav a:not(.btn){display:none}.search-btn{min-width:0}.search-btn span,.search-btn kbd{display:none}}
/* breadcrumb */
.crumbs{font-size:14px;color:var(--muted);padding:18px 0 0}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li:not(:last-child)::after{content:"›";margin-left:6px;color:var(--line-2)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
/* hero */
.hero{padding:22px 0 8px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.012em;line-height:1.12;color:var(--ink);font-weight:560}
h1{font-size:clamp(32px,4.6vw,52px);margin:8px 0 14px;font-weight:540;max-width:22ch}
h1.wide{max-width:none}
h2{font-size:clamp(25px,2.8vw,34px);margin:64px 0 18px;font-weight:540;padding-top:22px;border-top:1px solid var(--line)}
h3{font-size:20px;margin:0 0 6px;font-weight:600}
.lede{font-size:18px;color:var(--ink-2);max-width:72ch;margin:0 0 6px}
.meta-line{font-size:14px;color:var(--muted)}
/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:26px 0 8px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px}
.stat .v{font:500 34px/1.05 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.stat .l{font-size:13.5px;color:var(--muted);margin-top:4px}
@media (max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--line-2);color:var(--ink-2);text-decoration:none;border-radius:6px;padding:6px 13px;font-size:14px}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip small{color:var(--muted)}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
/* listing */
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:22px 0 14px}
.toolbar select,.toolbar input{font:inherit;font-size:14px;background:var(--surface);color:var(--ink);border:1px solid var(--line-2);border-radius:8px;padding:8px 10px}
.toolbar .count{margin-left:auto;color:var(--muted);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px;position:relative;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--line-2);box-shadow:var(--shadow)}
.card h3{font-size:17px;line-height:1.3}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.card .addr{font-size:14px;color:var(--muted);margin:0}
.price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.price .amt{font:600 24px/1 var(--display);font-variant-numeric:tabular-nums}
.price .unit{font-size:13.5px;color:var(--muted)}
.price .sub{font-size:13.5px;color:var(--ink-2);background:var(--accent-soft);border-radius:6px;padding:2px 7px}
.price.none .amt{font:600 15px/1.2 var(--font);color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.tag{font-size:12.5px;background:var(--chip);color:var(--ink-2);border-radius:6px;padding:3px 8px}
.badge{display:inline-block;font-size:12px;font-weight:600;border-radius:6px;padding:2px 8px;background:var(--accent-soft);color:var(--accent-ink)}
.badge.warn{background:var(--warn-soft);color:var(--warn)}
/* tables */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:15px}
caption{text-align:left;padding:14px 16px 4px;font-size:14px;color:var(--muted);caption-side:top}
th,td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
th{font-size:13px;font-weight:600;color:var(--muted);text-transform:none}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
tr:last-child td{border-bottom:0}
td a{color:var(--ink);font-weight:550;text-decoration:none}td a:hover{text-decoration:underline}
/* prose */
.prose{max-width:76ch;color:var(--ink-2);font-size:16.5px}
.prose p{margin:0 0 14px}
.prose strong{color:var(--ink)}
/* faq */
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;list-style:none;padding:16px 32px 16px 0;font:500 19px/1.35 var(--display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 22px/1 var(--font);color:var(--muted)}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 16px;color:var(--ink-2)}
/* grids of links */
.link-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0 24px;margin:0;padding:0;list-style:none}
.link-grid li{border-bottom:1px solid var(--line);padding:10px 0;display:flex;justify-content:space-between;gap:10px;font-size:15px}
.link-grid a{color:var(--ink);text-decoration:none}.link-grid a:hover{color:var(--accent)}
.link-grid small{color:var(--muted);white-space:nowrap}
@media (max-width:900px){.link-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.link-grid{grid-template-columns:1fr}}
.city-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.city-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:4px}
.city-card:hover{border-color:var(--ink)}
.city-card b{font:560 21px/1.2 var(--display)}
.city-card span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.city-cards{grid-template-columns:repeat(2,1fr)}}
/* principles */
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.three > div{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.three p{margin:0;color:var(--ink-2);font-size:15px}
@media (max-width:820px){.three{grid-template-columns:1fr}}
/* fiche */
.fiche{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
@media (max-width:920px){.fiche{grid-template-columns:minmax(0,1fr)}}
.side{position:sticky;top:80px;display:flex;flex-direction:column;gap:14px}
.box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.box h2,.box h3{margin-top:0}
.box h2{font-size:20px}
.offer{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.offer:last-child{border-bottom:0}
.offer .o-t{font-weight:600}
.offer .o-d{font-size:13.5px;color:var(--muted)}
.offer .o-p{font:600 22px/1.2 var(--display);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.offer .o-p small{display:block;font:400 12.5px var(--font);color:var(--muted)}
.amen{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px;list-style:none;padding:0;margin:0}
.amen li{display:flex;gap:9px;align-items:center;font-size:15px}
.amen li::before{content:"";width:16px;height:16px;border-radius:5px;background:var(--accent-soft);box-shadow:inset 0 0 0 4px var(--surface),inset 0 0 0 10px var(--accent);flex:none}
.hours{width:100%;font-size:14.5px}
.hours td{padding:6px 0;border:0}
.hours td:last-child{text-align:right;color:var(--ink-2)}
form.lead{display:flex;flex-direction:column;gap:10px}
form.lead label{font-size:13.5px;color:var(--muted);display:flex;flex-direction:column;gap:4px}
form.lead input,form.lead textarea,form.lead select{font:inherit;font-size:15px;border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;background:var(--bg);color:var(--ink)}
form.lead textarea{min-height:96px;resize:vertical}
.fine{font-size:12.5px;color:var(--muted);margin:0}
.hp{position:absolute;left:-5000px}
.quote{font-size:13px;color:var(--muted);border-left:2px solid var(--line-2);padding-left:10px;margin:6px 0 0}
#map{height:380px;border-radius:var(--radius);border:1px solid var(--line);margin:8px 0 0;z-index:1}
/* footer */
footer{margin-top:80px;border-top:1px solid var(--line);background:var(--surface);padding:44px 0 28px;font-size:14.5px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}
.foot .fh{font:650 14px/1 var(--font);margin:0 0 12px;color:var(--ink)}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.foot a{color:var(--ink-2);text-decoration:none}.foot a:hover{color:var(--ink)}
.foot p{color:var(--muted);margin:10px 0 0;max-width:36ch}
.legal{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;color:var(--muted);margin-top:34px;font-size:13px}
.legal a{color:var(--muted)}
@media (max-width:820px){.foot{grid-template-columns:1fr 1fr}}
/* search dialog */
dialog.search{border:0;border-radius:14px;padding:0;width:min(640px,94vw);background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgba(0,0,0,.25)}
dialog.search::backdrop{background:rgba(15,20,32,.45)}
dialog.search input{width:100%;border:0;border-bottom:1px solid var(--line);padding:18px 20px;font:inherit;font-size:17px;background:transparent;color:var(--ink);outline:none}
dialog.search ul{list-style:none;margin:0;padding:6px;max-height:60vh;overflow:auto}
dialog.search li a{display:flex;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:8px;color:var(--ink);text-decoration:none}
dialog.search li a:hover,dialog.search li a.sel{background:var(--chip)}
dialog.search li small{color:var(--muted)}
.hero-search{display:flex;gap:8px;max-width:620px;margin:22px 0 4px}
.hero-search button{flex:1;justify-content:flex-start;min-width:0;padding:14px 16px;font-size:16px;border-radius:11px}
.note{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-s);padding:10px 14px;font-size:14px}
.cite{background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--radius);padding:14px 16px;font-size:14px}
.cite code{font-size:13px;word-break:break-all}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.rating{margin:0;font-size:13.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.rating b{color:var(--ink);font-weight:600}
.stars{--r:0;width:70px;height:13px;display:inline-block;background:linear-gradient(90deg,#e0a526 calc(var(--r)/5*100%),var(--line-2) 0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 13'%3E%3Cg%3E%3Cpath id='s' d='M6.5 0l1.9 4.2 4.6.4-3.5 3 1.1 4.5-4.1-2.4-4 2.4 1-4.5-3.5-3 4.6-.4z'/%3E%3Cuse href='%23s' x='14.3'/%3E%3Cuse href='%23s' x='28.6'/%3E%3Cuse href='%23s' x='42.9'/%3E%3Cuse href='%23s' x='57.2'/%3E%3C/g%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 70 13'%3E%3Cg%3E%3Cpath id='s' d='M6.5 0l1.9 4.2 4.6.4-3.5 3 1.1 4.5-4.1-2.4-4 2.4 1-4.5-3.5-3 4.6-.4z'/%3E%3Cuse href='%23s' x='14.3'/%3E%3Cuse href='%23s' x='28.6'/%3E%3Cuse href='%23s' x='42.9'/%3E%3Cuse href='%23s' x='57.2'/%3E%3C/g%3E%3C/svg%3E") no-repeat}

/* ================================================================ motion v2 */
@view-transition{navigation:auto}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
:root{--ease:cubic-bezier(.2,.7,.2,1);--glow:color-mix(in srgb,var(--accent) 22%,transparent)}
/* logo : apparition sobre */
.logo-svg rect{transform-box:fill-box;transform-origin:center}
.logo-svg circle:last-child{transition:transform .4s var(--ease);transform-box:fill-box;transform-origin:center}
.logo:hover .logo-svg circle:last-child{transform:scale(1.25)}
/* en-tête */
.top{transition:box-shadow .3s,background .3s}
.top.scrolled{box-shadow:0 6px 24px -12px rgba(20,33,61,.18)}
/* révélation au défilement */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--i,0) * 55ms)}
.js .rv.in{opacity:1;transform:none}
.js .rv{animation:rvSafety 0s 3.5s forwards}@keyframes rvSafety{to{opacity:1;transform:none}}
.js .rv.in{animation:none}
/* boutons */
.btn{position:relative;overflow:hidden;transition:transform .2s var(--ease),box-shadow .2s,opacity .2s}
.btn:hover{opacity:.92}
/* cartes */
.card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -20px rgba(20,33,61,.3);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
.card .amt{transition:color .3s}.card:hover .amt{color:var(--accent)}
.city-card{position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .3s,box-shadow .35s}
.city-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(20,33,61,.4)}
.city-card .bar{display:block;height:4px;border-radius:4px;background:var(--line);margin-top:10px;position:relative;overflow:hidden}
.city-card .bar i{position:absolute;inset:0 auto 0 0;width:var(--w);background:var(--accent);border-radius:4px;transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease) .2s}
.city-card.in .bar i{transform:scaleX(1)}
.city-card .bar s{position:absolute;top:-3px;bottom:-3px;left:var(--m);width:2px;background:var(--ink);opacity:.5}
/* héros accueil */
.hero-home{position:relative;padding:72px 0 10px}

.eyebrow{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero-home h1{font-size:clamp(40px,6.2vw,74px);max-width:16ch;margin:14px 0 20px;line-height:1.02;font-weight:500;letter-spacing:-.02em}
.hero-home h1 em{font-style:italic;color:var(--accent-ink)}
.hero-search .search-btn{border:1px solid var(--line-2);box-shadow:0 10px 30px -22px rgba(20,33,61,.45);transition:border-color .2s}.hero-search .search-btn:hover{border-color:var(--ink)}
/* bandeau de villes */
/* étapes */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;counter-reset:st}
.steps>div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;overflow:hidden}
.steps>div::before{counter-increment:st;content:"0" counter(st);font:italic 400 40px/1 var(--display);color:var(--line-2);position:absolute;right:16px;top:12px}
.steps h3{margin-top:28px}.steps p{margin:0;color:var(--ink-2);font-size:15px}
.steps .ic{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}
/* répartition des prix (pages villes) */
.spread{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px 22px 16px;margin:22px 0 4px}
.spread .spread-t{font-size:15px;margin:0 0 4px}.spread p{margin:0;font-size:13.5px;color:var(--muted)}
.axis{position:relative;height:64px;margin:16px 6px 4px;border-bottom:1px solid var(--line-2)}
.axis i{position:absolute;bottom:8px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:color-mix(in srgb,var(--accent) 55%,transparent);border:2px solid var(--surface);left:var(--x);transform:translateY(calc(var(--y) * -1));transition:transform .8s var(--ease),opacity .6s;transition-delay:calc(var(--k) * 25ms)}
.js .spread:not(.in) .axis i{transform:translateY(-60px);opacity:0}
.axis .med{position:absolute;top:-6px;bottom:-6px;width:2px;background:var(--ink);left:var(--x)}
.axis .med span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:600;white-space:nowrap;background:var(--ink);color:var(--bg);border-radius:6px;padding:2px 7px}
.ticks{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:0 6px}
/* pages de contenu */
.hero h1{animation:h1In .8s var(--ease) both}
.lede{animation:h1In .8s var(--ease) .08s both}
@keyframes h1In{from{opacity:0;transform:translateY(10px)}}
.stat .v{font-variant-numeric:tabular-nums}
.chip{transition:transform .2s var(--ease),border-color .2s,background .2s}.chip:hover{transform:translateY(-2px)}
.faq details[open] p{animation:h1In .45s var(--ease)}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}}

/* ================================================================ direction Nordique (v4) */
body{font-feature-settings:"cv11" 1}
h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;font-weight:800;line-height:1.1}
h1{font-weight:800;font-size:clamp(32px,4.6vw,50px)}
h2{font-weight:800;font-size:clamp(24px,2.7vw,31px);border-top:0;padding-top:0;margin:60px 0 18px}
h3{font-weight:700;letter-spacing:-.015em}
.stat,.card,.city-card,.box,.table-wrap,.steps>div,.three>div,.spread{border-radius:var(--radius);box-shadow:var(--shadow);border-color:var(--line)}
.stat .v{font:800 31px/1.05 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.price .amt,.offer .o-p{font-family:var(--display);font-weight:800;letter-spacing:-.025em;font-variant-numeric:tabular-nums}
td.n,th.n{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.chip{border-radius:99px}
.btn{border-radius:11px;font-weight:700}
.btn.accent{background:var(--accent)}
.search-btn{border-radius:11px}
.logo{font:800 18.5px/1 var(--display);letter-spacing:-.03em}
.logo small{font-weight:700}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--accent-soft);color:var(--accent-ink);border-radius:99px;padding:6px 13px;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none}
.hero-home h1{font-weight:800;letter-spacing:-.04em;font-size:clamp(38px,5.6vw,64px);line-height:1.03}
.hero-home h1 em{font-style:normal;color:var(--accent-ink)}
.faq summary{font:700 17.5px/1.4 var(--display);letter-spacing:-.01em}
.city-card b{font:800 19px/1.2 var(--display);letter-spacing:-.02em}
.steps>div::before{font:800 40px/1 var(--display);color:var(--accent-soft)}
.steps .ic{border-radius:12px}
.badge,.tag{border-radius:8px}
.meta-line .releve,.releve{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.axis i{background:color-mix(in srgb,var(--accent) 70%,transparent)}
.logo-svg .soft{fill:var(--accent-soft)}

.tag.partner{background:var(--accent);color:#fff;font-weight:600}
.partner-line{background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--radius-s);padding:10px 14px;font-size:14px;margin:0 0 10px}

/* v5 : éléments sobres, sans pictos décoratifs */
.source-line{font-size:13.5px;color:var(--muted);margin:12px 0 0}.source-line a{color:var(--muted)}
.how{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:start}
.how-list{margin:0;padding:0;list-style:none;counter-reset:h}
.how-list li{counter-increment:h;position:relative;padding:4px 0 22px 44px;color:var(--ink-2);font-size:16px}
.how-list li::before{content:counter(h);position:absolute;left:0;top:2px;width:28px;height:28px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;font:700 14px/1 var(--display);color:var(--ink)}
.how-list li:not(:last-child)::after{content:"";position:absolute;left:14px;top:34px;bottom:4px;width:1.5px;background:var(--line-2)}
.how-list b{display:block;color:var(--ink);font:700 17px/1.35 var(--display);letter-spacing:-.01em;margin-bottom:2px}
.sample{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px;font-size:14.5px}
.sample figcaption{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.sample dl{display:grid;grid-template-columns:auto 1fr;gap:7px 18px;margin:0}.sample dt{color:var(--muted)}.sample dd{margin:0;font-weight:600;color:var(--ink)}
.sample .masked{display:inline-block;background:repeating-linear-gradient(135deg,var(--line) 0 6px,var(--chip) 6px 12px);color:transparent;border-radius:4px;width:120px;user-select:none}
@media (max-width:820px){.how{grid-template-columns:1fr}}
.promise{display:grid;grid-template-columns:repeat(4,1fr);margin:6px 0 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--line)}
.promise div{padding:16px 18px 18px 0}.promise div+div{padding-left:18px;border-left:1px solid var(--line)}
.promise dt{font:700 16px/1.3 var(--display);letter-spacing:-.01em;color:var(--ink)}.promise dd{margin:4px 0 0;font-size:14px;color:var(--muted)}
@media (max-width:900px){.promise{grid-template-columns:1fr 1fr}.promise div:nth-child(3){padding-left:0;border-left:0}}
.promise-line{font-size:13px;font-weight:600;color:var(--accent-ink);margin:0 0 10px}

/* ================================================================ v6 : mouvement façon Apple, piloté par le défilement */
.split .w{display:inline-block;transform:translateY(.22em);animation:wIn .8s var(--ease) both;animation-delay:calc(var(--d) * 50ms)}
@keyframes wIn{to{transform:none}}  /* sans opacité : le titre s'affiche tout de suite (LCP) */
@supports (animation-timeline: scroll()){
  .hero-home{animation:heroOut linear both;animation-timeline:scroll(root);animation-range:0 70vh}
  @keyframes heroOut{to{opacity:.25;transform:scale(.94) translateY(-30px)}}
  .manifest p{animation:mIn linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
  @keyframes mIn{from{opacity:.08;transform:translateY(60px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
  .city-card{animation:cIn linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
  @keyframes cIn{from{opacity:0;transform:translateY(40px) scale(.97)}}
}
.manifest{padding:12vh 0 8vh}
.manifest p{font:800 clamp(34px,6.4vw,84px)/1.04 var(--display);letter-spacing:-.045em;margin:0 0 .5em;color:var(--muted);max-width:16ch}
.manifest b{color:var(--ink);font-weight:800}
.manifest p:nth-child(3) b{color:var(--accent-ink)}
.story{height:190vh;position:relative;margin-top:40px}
.story-pin{position:sticky;top:90px;height:calc(100vh - 120px);min-height:520px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.story h2{margin:0 0 28px}
.story ol{list-style:none;margin:0;padding:0}
.story li{padding:16px 0 16px 20px;border-left:2px solid var(--line);color:var(--muted);font-size:16.5px;transition:color .5s var(--ease),border-color .5s var(--ease),opacity .5s;opacity:.55}
.story li b{display:block;font:800 21px/1.25 var(--display);letter-spacing:-.02em;color:inherit;margin-bottom:4px}
.story li.on{color:var(--ink-2);border-color:var(--accent);opacity:1}.story li.on b{color:var(--ink)}
.story-bar{height:3px;background:var(--line);border-radius:3px;margin-top:22px;overflow:hidden}.story-bar i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(var(--p,0))}
.story-card{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 40px 80px -40px rgba(20,48,42,.35);padding:28px 30px;transform:perspective(1200px) rotateX(calc((1 - var(--p,0)) * 8deg)) translateY(calc((1 - var(--p,0)) * 30px));transition:transform .2s linear}
.story-card figcaption{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.story-card dl{margin:0}.story-card dl div{display:grid;grid-template-columns:120px 1fr;padding:10px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.story-card dl div.on{opacity:1;transform:none}.story-card dt{color:var(--muted)}.story-card dd{margin:0;font-weight:700;color:var(--ink)}
.story-card .masked{display:inline-block;width:130px;background:repeating-linear-gradient(135deg,var(--line) 0 6px,var(--chip) 6px 12px);color:transparent;border-radius:4px}
.sc-a,.sc-b{margin:14px 0 0;padding:11px 14px;border-radius:12px;font-weight:700;font-size:14.5px;opacity:0;transform:translateY(10px) scale(.98);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.sc-a{background:var(--chip);color:var(--ink-2)}.sc-b{background:var(--accent);color:#fff}
.story[data-s="1"] .sc-a,.story[data-s="2"] .sc-a,.story[data-s="2"] .sc-b{opacity:1;transform:none}
@media (max-width:860px){.story{height:auto}.story-pin{position:static;height:auto;grid-template-columns:1fr;gap:24px}.story li{opacity:1;color:var(--ink-2)}.story-card dl div,.sc-a,.sc-b{opacity:1;transform:none}.story-card{transform:none}}
@media (prefers-reduced-motion:reduce){.split .w{opacity:1;transform:none}.story{height:auto}.story-pin{position:static;height:auto}.story li{opacity:1}.story-card dl div,.sc-a,.sc-b{opacity:1;transform:none}.manifest p{opacity:1}}

.cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 50px -20px rgba(20,48,42,.4);padding:16px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.cc p{margin:0;flex:1 1 260px;font-size:14px;color:var(--ink-2)}.cc div{display:flex;gap:8px}.cc .btn{padding:9px 14px;font-size:14px}

.logo-svg .tile{fill:var(--accent)}

.post-body h2{font-size:clamp(22px,2.4vw,27px);margin:42px 0 12px}.post-body ul{padding-left:20px}.post-body li{margin:6px 0}.post-body .table-wrap{margin:18px 0}
.post-body table{font-size:14.5px}.post-body a{color:var(--accent-ink)}
.sources{font-size:14px;color:var(--muted);padding-left:18px}.sources a{color:var(--ink-2)}
.posts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.post-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .3s var(--ease)}
.post-card:hover{transform:translateY(-2px)}.post-card b{font:800 19px/1.3 var(--display);letter-spacing:-.02em}.post-card span:last-child{color:var(--muted);font-size:14.5px}
@media (max-width:760px){.posts{grid-template-columns:1fr}}

.cta-line{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;background:var(--accent-soft);border-radius:var(--radius);padding:14px 18px;margin:14px 0 4px}
.cta-line p{margin:0;flex:1 1 380px;font-size:15px;color:var(--ink-2)}.cta-line b{color:var(--ink)}
.sticky-cta{display:none}
@media (max-width:760px){.sticky-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;background:var(--accent);color:#fff;text-align:center;font-weight:700;padding:14px;border-radius:14px;text-decoration:none;box-shadow:0 12px 30px -10px rgba(20,48,42,.5)}
  body{padding-bottom:76px}.cc{bottom:84px}}

/* ================================================================ mobile (v9) */
img,svg,video,iframe{max-width:100%}
.wrap{padding:0 16px}
h1,h2,h3,.lede,.prose,p,dd,td{overflow-wrap:anywhere}
@media (max-width:760px){
  .top .wrap{gap:10px;height:56px}
  .nav .btn{display:none}
  .logo{font-size:16px;gap:8px}.logo-svg{width:26px;height:26px}
  .search-btn{margin-left:auto;padding:8px 10px;min-width:0}
  h1{font-size:30px;line-height:1.12}.hero-home h1{font-size:36px}
  h2{font-size:23px;margin:44px 0 14px}
  .lede{font-size:16px}
  .hero{padding:14px 0 4px}.hero-home{padding:36px 0 6px}
  .hero-search{flex-direction:column;align-items:stretch}.hero-search .btn{justify-content:center}
  .stats{gap:8px}.stat{padding:12px 14px}.stat .v{font-size:24px}.stat .l{font-size:12.5px}
  .cards{grid-template-columns:1fr}
  .city-cards{grid-template-columns:1fr 1fr;gap:8px}.city-card{padding:12px}.city-card b{font-size:16px}.city-card span{font-size:12.5px}
  .foot{grid-template-columns:1fr;gap:22px}
  .legal{flex-direction:column;gap:8px}
  form.lead div[style*="grid-template-columns"]{grid-template-columns:1fr!important}
  .fiche{grid-template-columns:minmax(0,1fr);gap:18px}
  .side{position:static}
  .offer{flex-wrap:wrap}.offer .o-p{text-align:left}
  .amen{grid-template-columns:1fr}
  .three,.three[style]{grid-template-columns:1fr!important}
  .toolbar select{flex:1 1 45%}.toolbar .count{width:100%;margin-left:0}
  .crumbs{font-size:12.5px}.crumbs ol{flex-wrap:nowrap;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-right:-16px}
  .chip{flex:none}
  .promise{grid-template-columns:1fr}.promise div,.promise div+div{padding:12px 0;border-left:0;border-bottom:1px solid var(--line)}
  .manifest{padding:6vh 0 4vh}.manifest p{font-size:34px}
  .story-card{padding:20px 18px}.story-card dl div{grid-template-columns:100px 1fr}
  .spread{padding:16px}.ticks{font-size:11px}
  #map{height:260px}
  .table-wrap{margin-right:-16px;border-radius:var(--radius) 0 0 var(--radius)}
  th,td{padding:10px 12px}
  .posts{grid-template-columns:1fr}
  .box{padding:16px}
  .cta-line{padding:14px}.cta-line .btn{width:100%;justify-content:center}
  dialog.search{width:100vw;max-width:100vw;margin:0;border-radius:0 0 14px 14px;max-height:85vh}
}
@media (max-width:380px){.city-cards{grid-template-columns:1fr}.logo small{display:none}}
@media (max-width:860px){.hero-search .search-btn span{display:inline}.hero-search .search-btn{padding:14px 16px;font-size:15.5px}}

/* l'attribut hidden doit toujours l'emporter (bandeau de consentement, filtres de cartes) */
[hidden]{display:none!important}

.social{display:flex;gap:10px;margin-top:16px}.social a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--chip);color:var(--ink)!important;transition:background .2s,color .2s}
.social a:hover{background:var(--accent);color:#fff!important}
/* photos */
.photo{margin:0 0 18px;border-radius:18px;overflow:hidden;background:var(--line)}
.photo img{display:block;width:100%;height:auto}
.photo figcaption{font-size:11.5px;color:var(--muted);padding:6px 4px 0;background:var(--bg)}
.photo figcaption a{color:inherit}
.photo.wide{margin:22px 0 26px}
.city-photo{margin:14px 0 4px}
.city-photo img{aspect-ratio:2.4;object-fit:cover}
.mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:26px 0 8px}
.mosaic .photo{margin:0;height:100%}
.mosaic .photo img{height:100%;aspect-ratio:auto;object-fit:cover;min-height:220px}
.city-card .cc-img{margin:-16px -16px 10px;border-radius:0;height:110px}
.city-card .cc-img img{height:110px;object-fit:cover}
.cta-photo{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:center}
.cta-photo .photo{margin:0;border-radius:12px}
.post-card .photo{margin:-16px -16px 12px;border-radius:0}
@media (max-width:760px){.mosaic{grid-template-columns:1fr 1fr}.mosaic .photo:first-child{grid-column:1/-1}.mosaic .photo img{min-height:150px}.cta-photo{grid-template-columns:1fr}.cta-photo .photo{max-height:160px}.cta-photo .photo img{height:160px;object-fit:cover}.city-photo img{aspect-ratio:2}}
.keyfacts{padding-left:22px}.keyfacts li{margin:0 0 10px;line-height:1.55}
pre.code{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;overflow-x:auto;font-size:13px;white-space:pre-wrap;word-break:break-all}
/* ================================================================ demande en 4 questions */
.nav .req-btn{background:var(--ink);color:#fff;border-color:var(--ink)}.nav .req-btn:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.rq-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"a c" "b c";column-gap:40px;align-items:start;padding:14px 0 30px}.rq-a{grid-area:a}.rq-b{grid-area:b}.rq-hero>.req-card{grid-area:c}
.rq-hero .rq-a h1{margin-top:6px}
.rq-sub{font-size:18px;line-height:1.5;color:var(--ink-2);max-width:40ch;margin:0 0 16px}
.rq-proof{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14.5px;color:var(--ink-2);margin:0 0 20px;padding:0;list-style:none}
.rq-proof li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--forest);margin-right:8px;vertical-align:2px}
.rq-data{font-size:15.5px;margin-top:18px}
.rq-hero .city-photo{margin:4px 0 0}.rq-hero .city-photo img{aspect-ratio:2.1}
.req-card{background:#fff;border:1px solid var(--line-2);border-radius:18px;box-shadow:0 30px 60px -40px rgba(20,48,42,.45);overflow:hidden;position:sticky;top:84px;scroll-margin-top:84px}
.rc-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}
.rc-head b{font-size:15px}.rc-step{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rc-bar{height:3px;background:var(--line)}.rc-bar i{display:block;height:3px;background:var(--forest);width:25%;transition:width .35s}
.rc-body{padding:20px}
.rc-q{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 14px;color:var(--ink)}
.opts{display:grid;gap:8px}.opts.g2{grid-template-columns:1fr 1fr}
.opt{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line-2);border-radius:12px;padding:14px 16px;font:inherit;font-size:16px;font-weight:650;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.opt:hover{border-color:var(--ink)}.opt.on{border-color:var(--forest);background:var(--sage)}
.opt small{display:block;font-weight:500;font-size:13px;color:var(--muted);margin-top:2px}
.opt .pr{font-size:14px;font-weight:700;white-space:nowrap;color:var(--ink-2)}
.live{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:var(--bg);font-size:14px;line-height:1.5;color:var(--ink-2)}.live b{color:var(--ink)}
.rc-foot{margin-top:14px}
.back{background:none;border:0;font:inherit;font-size:14px;color:var(--muted);cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:3px}
.req-card .fld{display:block;margin:0 0 10px}.req-card .fld span{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:var(--ink)}.req-card .fld i{font-style:normal;font-weight:500;color:var(--muted)}
.req-card .fld input{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink)}
.req-card .fld input:focus{outline:none;border-color:var(--forest)}
.req-card .fld textarea{width:100%;font:inherit;font-size:16px;padding:11px 14px;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);resize:vertical;min-height:64px}.req-card .fld textarea:focus{outline:none;border-color:var(--forest)}
.opts.g3{grid-template-columns:repeat(3,1fr)}@media (max-width:420px){.opts.g3{grid-template-columns:1fr}}
.sugg{display:grid;gap:6px}.sugg button{display:flex;justify-content:space-between;gap:10px;text-align:left;border:1.5px solid var(--line-2);background:#fff;border-radius:10px;padding:11px 14px;font:inherit;cursor:pointer;color:var(--ink)}
.sugg button:hover{border-color:var(--ink)}.sugg span{font-size:13px;color:var(--muted)}
.mode{display:grid;gap:8px;margin:6px 0 14px}.mode label{display:flex;gap:10px;align-items:flex-start;border:1.5px solid var(--line-2);border-radius:10px;padding:11px 12px;font-size:14.5px;cursor:pointer}
.mode label:has(input:checked){border-color:var(--forest);background:var(--sage)}.mode input{margin-top:3px;accent-color:var(--forest)}.mode small{display:block;color:var(--muted);font-size:12.5px}
.go{width:100%;border:0;border-radius:12px;background:var(--forest);color:#fff;font:inherit;font-size:17px;font-weight:800;padding:16px;cursor:pointer}.go:hover{background:#17654b}.go:disabled{opacity:.6}
.req-card .fine{font-size:12.5px;color:var(--muted);text-align:center;margin:10px 0 0;line-height:1.45}.req-card .fine.left{text-align:left;margin-top:14px}
.rq-err{color:#a4332c;font-size:14px;margin:0 0 10px}
.prio{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--forest);background:var(--sage);font-size:14px;border-radius:0 8px 8px 0;line-height:1.45}
.done p{color:var(--ink-2);margin:0}
.tl{list-style:none;padding:0;margin:16px 0 0 4px;border-left:2px solid var(--line-2)}
.tl li{position:relative;padding:0 0 14px 18px;font-size:14.5px;line-height:1.45;color:var(--ink-2)}.tl li::before{content:"";position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--line-2)}
.tl li.ok::before{background:var(--forest);border-color:var(--forest)}.tl b{display:block;color:var(--ink)}
.reasons{margin:26px 0 8px;padding:28px 0 6px;border-top:1px solid var(--line-2)}
.reasons h2{margin:0 0 18px}
.reasons ol{list-style:none;counter-reset:r;display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;padding:0;margin:0}
.reasons li{counter-increment:r;display:flex;flex-direction:column;gap:4px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.reasons li::before{content:counter(r,decimal-leading-zero);font-size:12.5px;font-weight:700;color:var(--forest);letter-spacing:.04em}
.reasons li b{color:var(--ink);font-size:17px;line-height:1.3}
.reasons-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 0}
.how{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-2);margin:30px 0 14px}
.how div{padding:18px 22px 0 0}.how em{font-style:normal;font-size:13px;font-weight:700;color:var(--forest)}.how b{display:block;font-size:18px;margin:4px 0 6px;color:var(--ink)}.how p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.5}
.card .ask{position:relative;z-index:2;align-self:flex-start;margin-top:10px;border:1.5px solid var(--ink);border-radius:9px;padding:7px 12px;font-size:14px;font-weight:700;color:var(--ink);text-decoration:none}
.card .ask:hover{background:var(--ink);color:#fff}
.fiche-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}
.side .req-card{position:static;margin-bottom:16px}
.sticky-cta.off{transform:translateY(140%)}
.rq-hero.home .hero-home{padding:0}
@media (max-width:900px){.rq-hero{grid-template-columns:1fr;grid-template-areas:"a" "c" "b";row-gap:20px}.req-card{position:static}.reasons ol{grid-template-columns:1fr}.how{grid-template-columns:1fr}.how div{padding-right:0}
  .rq-sub{font-size:17px}}
/* choix des espaces + panier */
.rq-hint{font-size:14px;line-height:1.5;color:var(--ink-2);margin:-6px 0 12px}
.pick{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;max-height:340px;overflow:auto;margin:0 0 14px;padding-right:2px}
.pk{display:flex;align-items:center;gap:12px;width:100%;min-width:0;text-align:left;background:#fff;border:1.5px solid var(--line-2);border-radius:11px;padding:10px 12px;font:inherit;cursor:pointer;color:var(--ink)}
.pk:hover{border-color:var(--ink)}.pk.on{border-color:var(--forest);background:var(--sage)}.pk.fix{cursor:default}
.pk .ck{flex:0 0 20px;height:20px;border-radius:6px;border:1.5px solid var(--line-2);background:#fff;position:relative}
.pk.on .ck{background:var(--forest);border-color:var(--forest)}.pk.on .ck::after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.pk .pn{display:flex;flex-direction:column;min-width:0}.pk b{font-size:14.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk small{font-size:12.5px;color:var(--muted)}
.card .ask.on{background:var(--forest);border-color:var(--forest);color:#fff}
.basket{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:14px;padding:10px 10px 10px 18px;box-shadow:0 18px 40px -16px rgba(20,48,42,.6);font-size:15px;font-weight:600;white-space:nowrap}
.basket[hidden]{display:none}
.basket a{background:var(--forest);color:#fff;text-decoration:none;border-radius:10px;padding:10px 14px;font-weight:800}
@media (max-width:760px){.basket{left:12px;right:12px;transform:none;bottom:12px;justify-content:space-between;font-size:14px;padding-left:14px}.basket em{display:none}.basket i{display:inline}}
.basket em{font-style:normal}.basket i{display:none;font-style:normal}
.rq-bonus{margin:6px 0 0;padding:12px 14px;border-radius:10px;background:var(--bg);font-size:14px;line-height:1.5;color:var(--ink-2)}
.price.none .sub{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.pro-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 28px;margin:6px 0 22px}.pro-tools b{display:block;font-size:17px;margin-bottom:4px;color:var(--ink)}.pro-tools p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.5}@media (max-width:900px){.pro-tools{grid-template-columns:1fr}}
.xcity{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:2px 0 12px}
.xc{display:inline-flex;align-items:center;gap:6px;background:var(--sage);border:1.5px solid var(--forest);border-radius:999px;padding:4px 6px 4px 12px;font-size:13.5px;font-weight:600}
.xc button{border:0;background:none;font-size:16px;line-height:1;cursor:pointer;color:var(--ink-2);padding:0 4px}
.xadd{display:grid;grid-template-columns:1fr 84px;gap:6px;width:100%}.xadd input{font:inherit;font-size:15px;padding:10px 12px;border:1.5px solid var(--line-2);border-radius:10px}.xadd .sugg{grid-column:1/-1}
.quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 2px}
.quick span{font-size:13px;color:var(--muted);margin-right:2px}
.quick button{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--chip);border:1px solid transparent;border-radius:999px;padding:6px 12px;cursor:pointer;transition:border-color .15s,background .15s}
.quick button:hover{background:var(--surface);border-color:var(--ink)}



.end-cta{margin:56px 0 8px;padding:44px 40px;border-radius:24px;background:#14302a;color:#e8f1ed;display:grid;gap:10px;justify-items:start}
.end-cta h2{margin:0;color:#fff;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.03em;max-width:22ch}
.end-cta p{margin:0 0 10px;color:#b6c7c0}
.end-cta .btn{background:#4cc39f;color:#0d1714!important;font-weight:800;font-size:16px;padding:14px 22px;border-radius:12px}
@media (max-width:760px){.end-cta{padding:30px 22px;margin-top:40px}}

.req-card .fld-help{display:block;margin-top:5px;font-size:12.5px;line-height:1.4;color:var(--muted)}
.rq-trust{list-style:none;margin:2px 0 12px;padding:10px 12px;border-radius:10px;background:var(--sage,#E7EDE5);font-size:13px;line-height:1.45;color:var(--ink-2);text-align:left}
.rq-trust li{position:relative;padding-left:20px;margin:0 0 4px}.rq-trust li:last-child{margin:0}
.rq-trust li::before{content:"";position:absolute;left:2px;top:4px;width:10px;height:6px;border-left:2px solid var(--forest,#14302A);border-bottom:2px solid var(--forest,#14302A);transform:rotate(-45deg)}
.rq-trust1{margin:2px 0 12px;font-size:13px;line-height:1.45;color:var(--ink-2);text-align:left}#rq-telopen{display:block;margin:-2px 0 10px}
.rq-mention{margin:10px 0 4px;font-size:12.5px;line-height:1.45;color:var(--muted);text-align:center}.rq-mention a{color:inherit}
.rq-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 12px;font-size:13.5px;line-height:1.45;color:var(--ink-2);cursor:pointer;text-align:left}
.rq-consent input{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0;accent-color:var(--forest)}
.rq-consent a{color:inherit}

/* accueil : hero animé (bandeau photo, barre de demande, écart de prix) */
.h2x{margin:18px 0 8px}
.h2x-band{position:relative;border-radius:24px;overflow:hidden;min-height:470px;display:flex;align-items:center;background:#14302a;isolation:isolate}
.h2x-bgs,.h2x-bgs img{position:absolute;inset:0;width:100%;height:100%}
.h2x-bgs{z-index:-2}
.h2x-bgs img{object-fit:cover;opacity:0;animation:h2xFade 18s infinite,h2xZoom 18s infinite linear}
.h2x-bgs img:nth-child(1){animation-delay:0s}.h2x-bgs img:nth-child(2){animation-delay:6s}.h2x-bgs img:nth-child(3){animation-delay:12s}
@keyframes h2xFade{0%{opacity:0}5%,33%{opacity:.6}39%,100%{opacity:0}}
@keyframes h2xZoom{0%{transform:scale(1.12)}40%{transform:scale(1)}100%{transform:scale(1)}}
.h2x-band::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,30,26,.86) 0%,rgba(13,30,26,.5) 62%,rgba(13,30,26,.2) 100%)}
.h2x-in{position:relative;padding:56px 48px;width:100%}
.h2x h1{font:800 clamp(34px,4.6vw,58px)/1.04 var(--display);letter-spacing:-.035em;color:#fff;margin:0 0 14px;max-width:17ch}
.h2x h1 .w{display:inline-block;opacity:0;transform:translateY(.45em);animation:h2xUp .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(var(--d)*70ms + 100ms)}
.h2x h1 .acc{color:#7fd9bd}
.h2x-sub{color:#dce8e3;font-size:18px;line-height:1.5;max-width:34em;margin:0 0 26px;opacity:0;animation:h2xUp .7s .55s forwards}
@keyframes h2xUp{to{opacity:1;transform:none}}
.h2x-bar{display:grid;grid-template-columns:1.6fr 1fr 1.1fr auto;background:#fff;border-radius:16px;padding:8px;box-shadow:0 24px 50px -20px rgba(0,0,0,.5);max-width:920px;opacity:0;transform:translateY(16px);animation:h2xUp .7s .75s cubic-bezier(.2,.7,.2,1) forwards;transition:box-shadow .3s}
.h2x-bar:focus-within{box-shadow:0 0 0 4px rgba(127,217,189,.45),0 24px 50px -20px rgba(0,0,0,.5)}
.h2x-bar .f{display:flex;flex-direction:column;justify-content:center;padding:6px 16px;border-right:1px solid #e1e8e5;min-width:0;border-radius:10px;transition:background .2s}
.h2x-bar .f:hover{background:#f3f7f5}
.h2x-bar .f span{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#566760;margin-bottom:2px}
.h2x-bar input,.h2x-bar select{border:0;outline:0;background:transparent;font:600 16px/1.3 var(--font);color:#14302a;padding:2px 0;width:100%;appearance:none;-webkit-appearance:none}
.h2x-bar select{cursor:pointer}
.h2x-bar button{position:relative;overflow:hidden;border:0;border-radius:11px;background:var(--forest);color:#fff;font:800 16px var(--font);padding:0 26px;margin-left:8px;cursor:pointer;white-space:nowrap;transition:transform .15s,background .2s}
.h2x-bar button:hover{background:var(--forest-deep);transform:translateY(-1px)}
.h2x-bar button::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);animation:h2xShine 4.5s 2s infinite}
@keyframes h2xShine{0%,70%{left:-60%}100%{left:130%}}
.h2x-pop{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px}
.h2x-pop span{color:#b6c7c0;margin-right:4px;opacity:0;animation:h2xUp .5s 1s forwards}
.h2x-pop a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 12px;opacity:0;transform:translateY(8px);animation:h2xUp .45s forwards;animation-delay:calc(1.05s + var(--i)*60ms);transition:background .2s,border-color .2s,transform .2s}
.h2x-pop a:hover{background:rgba(255,255,255,.14);border-color:#fff;transform:translateY(-2px)}
.h2x-price{position:absolute;right:24px;top:24px;z-index:1;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:14px;padding:12px 16px 14px;min-width:270px;box-shadow:0 18px 40px -20px rgba(0,0,0,.5);opacity:0;transform:translateY(12px);animation:h2xUp .7s 1.4s forwards}
.h2x-price small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#566760;margin-bottom:3px}
.h2x-price b{font-size:15.5px;color:#14302a;display:block;transition:opacity .3s,transform .3s}
.h2x-price.swap b{opacity:0;transform:translateY(6px)}
.h2x-price .c{color:var(--forest)}
.h2x-price .bar{display:block;height:3px;background:#e1e8e5;border-radius:3px;margin-top:10px;overflow:hidden}
.h2x-price .bar i{display:block;height:100%;background:var(--forest);width:0;animation:h2xBar 3.6s linear infinite}
@keyframes h2xBar{to{width:100%}}
.h2x-proof{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.h2x-proof li{font-size:14.5px;color:var(--ink-2);padding:12px 14px;border-left:3px solid var(--forest);background:var(--surface);border-radius:0 10px 10px 0;opacity:0;transform:translateY(10px);animation:h2xUp .5s forwards;animation-delay:calc(1.2s + var(--i)*90ms)}
.h2x-proof b{color:var(--ink);font-variant-numeric:tabular-nums}
@media (max-width:860px){.h2x-band{min-height:0;border-radius:18px;flex-direction:column;align-items:stretch}.h2x-in{padding:32px 18px 20px}.h2x-sub{font-size:16px}
 .h2x-bar{grid-template-columns:1fr 1fr;gap:6px}.h2x-bar .f{border:1px solid #e1e8e5}.h2x-bar .f-ville{grid-column:1/-1}.h2x-bar button{grid-column:1/-1;margin:2px 0 0;padding:15px}
 .h2x-price{position:relative;right:auto;bottom:auto;margin:0 18px 20px}.h2x-proof{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.h2x *{animation:none!important;opacity:1!important;transform:none!important}.h2x-bgs img:first-child{opacity:.6!important}}
.h2x-src{margin:10px 0 0;font-size:13px;color:var(--muted)}.h2x-src a{color:inherit}

/* activité réelle (affichée seulement au-dessus d'un seuil) */
.pouls{display:flex;gap:9px;align-items:flex-start;margin:0;padding:10px 20px;font-size:13.5px;line-height:1.45;color:var(--ink-2);background:var(--accent-soft);border-bottom:1px solid var(--line)}
.pouls i{flex:0 0 8px;width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--forest);box-shadow:0 0 0 0 rgba(31,122,92,.5);animation:pouls 2s infinite}
.pouls b{color:var(--ink)}
@keyframes pouls{70%{box-shadow:0 0 0 7px rgba(31,122,92,0)}100%{box-shadow:0 0 0 0 rgba(31,122,92,0)}}
@media (prefers-reduced-motion:reduce){.pouls i{animation:none}}

/* carte de demande : signal visuel quand un espace vient d'y être ajouté */
.req-card.flash{animation:rqFlash 1.4s ease}
@keyframes rqFlash{0%,30%{box-shadow:0 0 0 4px rgba(31,122,92,.45),0 30px 60px -40px rgba(20,48,42,.45)}100%{box-shadow:0 30px 60px -40px rgba(20,48,42,.45)}}

/* demande : besoins annexes (salle de réunion, domiciliation, parking) */
.needs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 2px}
.needs span{font-size:13px;color:var(--muted);margin-right:2px}
.need{font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1.5px solid var(--line-2);border-radius:999px;padding:6px 12px;cursor:pointer}
.need.on{border-color:var(--forest);background:var(--accent-soft);color:var(--forest-deep)}
.need.on::before{content:"✓ "}

/* photos fournies par l'espace (fiche complétée) */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:18px 0 6px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;background:var(--line)}
.gallery img:first-child{grid-column:1/-1;aspect-ratio:16/9}

/* ======================================================================
   Identité « Trouver sa place » : couche de style commune à toutes les pages
   (les contenus, titres et liens ne changent pas : seul le rendu évolue)
   ====================================================================== */
body{background:var(--bg);color:var(--ink);text-rendering:optimizeLegibility}
a{color:var(--forest);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{color:var(--forest-deep);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--forest);outline-offset:3px;border-radius:4px}
footer :focus-visible{outline-color:var(--lime)}
.skip:focus{background:var(--forest);color:var(--white);border-radius:var(--radius-s)}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:clamp(2.1rem,1.5rem + 2.4vw,3.4rem);line-height:1.04;letter-spacing:-.035em;font-weight:800}
h2{font-size:clamp(1.55rem,1.2rem + 1.3vw,2.3rem);line-height:1.1;font-weight:800;border-top:1px solid var(--line)}
h3{font-weight:700;letter-spacing:-.012em}
.lede{color:var(--ink-2)}.meta-line,.fine{color:var(--muted)}

/* logo officiel : animation unique à l'arrivée, coupée ensuite ou si l'utilisateur réduit les animations */
.ccl{display:block;height:100%;width:auto;overflow:visible}
.ccl-a{animation:ccl-a .7s cubic-bezier(.22,1,.36,1) .1s both}.ccl-b{animation:ccl-b .7s cubic-bezier(.22,1,.36,1) .1s both}
@keyframes ccl-a{from{transform:translate(-45px,-15px)}to{transform:none}}@keyframes ccl-b{from{transform:translate(45px,15px)}to{transform:none}}
.ccl-vu .ccl-a,.ccl-vu .ccl-b{animation:none}
@media (prefers-reduced-motion:reduce){.ccl-a,.ccl-b{animation:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* header */
.top{background:var(--bg);backdrop-filter:none;border-bottom:1px solid var(--line)}/* opaque : le contenu ne se voit plus à travers en défilant (01/11/2026) */
.top .wrap{height:76px;gap:20px}
.top .logo{display:block;height:54px;flex:none;border-radius:6px}
.nav a{color:var(--ink);font-weight:600;font-size:15px;border-radius:8px;white-space:nowrap}.nav a:hover{background:var(--sage);color:var(--ink)}
.search-btn{border-radius:var(--radius-s);border-color:var(--line);min-height:44px;white-space:nowrap}
.nav .req-btn{background:var(--forest)!important;border-color:var(--forest)!important;color:var(--white)!important;border-radius:var(--radius-s);min-height:44px}
.nav .req-btn:hover{background:var(--forest-deep)!important;border-color:var(--forest-deep)!important}
@media (max-width:760px){.top .wrap{height:64px}.top .logo{height:42px}}

/* boutons */
.btn{border-radius:var(--radius-s);min-height:44px;padding:0 18px;background:var(--forest);font-weight:700;transition:background .18s,border-color .18s,color .18s}
.btn:hover{opacity:1;background:var(--forest-deep)}
.btn.accent{background:var(--forest)}.btn.accent:hover{background:var(--forest-deep)}
.btn.alt{background:var(--white);border:1.5px solid var(--forest)}.btn.alt:hover{background:var(--sage)}

/* puces, cartes, boîtes, tableaux, accordéons */
.chip{border-radius:8px;border-color:var(--line);background:var(--white);color:var(--ink);font-weight:600;transition:border-color .15s}
.chip:hover{border-color:var(--forest)}.chip.on{background:var(--forest);border-color:var(--forest);color:var(--white)}
.card,.box{border-color:var(--line);border-radius:var(--radius)}
.card{transition:border-color .18s,box-shadow .18s}.card:hover{border-color:var(--forest);box-shadow:none}
.table-wrap{border-color:var(--line);border-radius:var(--radius)}
table{font-variant-numeric:tabular-nums}
thead th{background:var(--sage);color:var(--ink-2);font-weight:700}
.faq details{border-color:var(--line)}.faq summary{font:700 1.0625rem/1.4 var(--font)}
.faq summary::after{color:var(--forest)}
.crumbs a:hover{color:var(--forest)}
.note{border-radius:var(--radius-s)}
.sticky-cta{background:var(--forest)!important;color:var(--white)!important}

/* formulaires */
input,select,textarea{accent-color:var(--forest)}
.lead input,.lead select,.lead textarea,.fld input{border-radius:var(--radius-s)}

/* pied de page sombre, logo inversé */
footer{background:var(--forest-deep);color:#C9D3CC;border-top:0;margin-top:96px;padding:56px 0 28px}
footer .logo{display:block;height:58px}
.foot .fh{color:var(--ivory);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.foot a{color:#C9D3CC}.foot a:hover{color:var(--ivory);text-decoration:underline}
.foot p{color:#B9C6BE}
.legal{color:#B9C6BE;border-top:1px solid rgba(247,245,239,.14);padding-top:18px}.legal a{color:#C9D3CC}
footer .social a,footer svg{color:#C9D3CC}

/* ---------------- accueil ---------------- */
html,body{overflow-x:clip}
/* fond pleine largeur sans déplacer le contenu (ombre étendue, découpée en hauteur) : le texte reste toujours dans sa colonne */
.bleed{box-shadow:0 0 0 100vmax var(--bleed,transparent);clip-path:inset(0 -100vmax)}
.hv-white{--bleed:var(--white)}.hv-dark{--bleed:var(--forest-deep)}.hv-end{--bleed:var(--lime)}
.hv-proof{border:0;background:linear-gradient(var(--line),var(--line)) top/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) bottom/100% 1px no-repeat}
.home h2{border-top:0;padding-top:0;margin:0}
.home .hv-sec{padding-top:clamp(56px,7vw,104px)}
.hv{padding-top:clamp(28px,4.5vw,64px);padding-bottom:clamp(36px,4.5vw,56px)}
.hv-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,4vw,64px);align-items:center}
.hv-k{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.hv h1{font-size:clamp(2.25rem,1.6rem + 2.2vw,3.5rem);line-height:1.02;letter-spacing:-.035em;max-width:none;margin:0}
.hv h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--lime) 62%,var(--lime) 92%,transparent 92%);padding:0 .06em}
.hv-sub{font-size:clamp(1.05rem,1rem + .35vw,1.25rem);color:var(--muted);max-width:34em;margin:22px 0 0}
.hv-form{margin-top:30px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 1px 2px rgba(13,36,30,.04),0 8px 24px -12px rgba(13,36,30,.14)}
.hv-row{display:grid;grid-template-columns:1.6fr 1fr 1.1fr;gap:12px}
.hv-f{display:flex;flex-direction:column;gap:6px;position:relative;min-width:0}
.hv-f label{font-size:13px;font-weight:700}
.hv-f input,.hv-f select{width:100%;min-height:48px;padding:0 12px;border:1.5px solid var(--line);border-radius:var(--radius-s);background:var(--white);color:var(--ink);font-family:inherit;font-weight:500;font-size:16px;transition:border-color .15s}
.hv-f select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2314302A' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}
.hv-f input:hover,.hv-f select:hover{border-color:#B9C3B6}.hv-f input:focus,.hv-f select:focus{border-color:var(--forest);outline:none;box-shadow:0 0 0 3px rgba(20,48,42,.18)}
.hv-f[data-err] input{border-color:var(--error)}.hv-err{color:var(--error);font-size:13px;font-weight:600;margin:0}
.hv-go{width:100%;justify-content:center;margin-top:12px;min-height:52px;font-size:17px}
.hv-pop{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;margin:12px 0 0;font-size:14px;color:var(--muted)}.hv-pop a{font-weight:600}
.hv-ac{position:absolute;left:0;right:0;top:100%;margin:4px 0 0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-s);box-shadow:0 12px 32px -12px rgba(13,36,30,.25);list-style:none;padding:4px;z-index:5;max-height:300px;overflow:auto}
.hv-ac li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-weight:600}.hv-ac li small{color:var(--muted);font-weight:500}
.hv-ac li[aria-selected=true],.hv-ac li:hover{background:var(--sage)}
.hv-photo{position:relative;margin:0}
.hv-photo img,.hv-img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:38% 50%;border-radius:20px;background:var(--sage)}
.hv-photo figcaption{position:absolute;left:16px;bottom:16px;right:16px;max-width:max-content;background:var(--white);border-radius:var(--radius-s);padding:12px 16px;font-size:14px;line-height:1.4;box-shadow:0 6px 18px -10px rgba(13,36,30,.35)}
.hv-photo figcaption small{display:block;color:var(--muted);font-weight:600}.hv-photo figcaption b{font-size:16px}
.hv-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hv-proof ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.hv-proof li{padding:22px 22px 22px 0;color:var(--muted);font-size:15px;line-height:1.4}.hv-proof li+li{border-left:1px solid var(--line);padding-left:22px}
.hv-proof b{color:var(--ink)}.hv-proof li:nth-child(-n+2) b{display:block;font-size:26px;letter-spacing:-.02em;line-height:1.15}
.hv-src{font-size:13px;color:var(--muted);margin:0;padding:0 0 14px}
.hv-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,80px);align-items:start}
.hv-stat{background:var(--sage);border-radius:20px;padding:clamp(26px,4vw,44px)}
.hv-stat h2{font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.hv-big{font-size:clamp(4rem,3rem + 4vw,6.75rem);font-weight:800;letter-spacing:-.05em;line-height:.9;margin:16px 0 0}
.hv-bigt{font-size:18px;margin:14px 0 0;max-width:24em}
.hv-cta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:26px 0 0}
.hv-list{list-style:none;margin:0;padding:0}
.hv-list li{display:grid;grid-template-columns:24px 1fr;column-gap:12px;padding:20px 0;border-top:1px solid var(--line)}.hv-list li:last-child{border-bottom:1px solid var(--line)}
.hv-list li::before{content:"";grid-row:1/3;width:12px;height:12px;margin-top:6px;border-radius:3px;background:var(--lime);box-shadow:inset 0 0 0 1.5px var(--forest)}
.hv-list b{font-size:17px}.hv-list span{color:var(--muted);margin-top:4px}
.hv-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;counter-reset:s;list-style:none;margin:32px 0 0;padding:0}
.hv-steps li{counter-increment:s;border-top:2px solid var(--forest);padding-top:20px;color:var(--muted)}
.hv-steps li::before{content:counter(s,decimal-leading-zero);display:block;font-weight:800;font-size:14px;letter-spacing:.06em;color:var(--ink);margin-bottom:14px}
.hv-steps b{display:block;color:var(--ink);font-size:18px;letter-spacing:-.01em;margin-bottom:6px}
.hv-ticket{margin:44px 0 0;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line);border-radius:20px;background:var(--white);overflow:hidden}
.hv-ticket figcaption{grid-row:1/4;background:var(--forest);color:var(--ivory);padding:clamp(24px,3vw,40px);font-size:24px;font-weight:800;letter-spacing:-.02em}
.hv-ticket dl{margin:0;padding:26px 32px 8px;display:grid;grid-template-columns:auto 1fr;gap:10px 24px;font-size:15px}
.hv-ticket dl div{display:contents}.hv-ticket dt{color:var(--muted)}.hv-ticket dd{margin:0;font-weight:600}
.hv-st{margin:0 32px;padding:10px 0;border-top:1px solid var(--line);font-size:15px}.hv-st:last-child{padding-bottom:24px}
.hv-st::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);margin-right:8px;vertical-align:1px}
.hv-white{background:var(--white);padding-bottom:clamp(56px,7vw,96px)!important;margin-top:clamp(56px,7vw,104px)}
.hv-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px}.hv-head a{font-weight:700}
.hv-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hv-cards a{display:block;text-decoration:none;color:var(--ink);border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--ivory);transition:border-color .18s,transform .18s}
.hv-cards a:hover{border-color:var(--forest);transform:translateY(-2px)}.hv-cards a:hover b{text-decoration:underline;text-underline-offset:4px}
.hv-cards .hv-cimg,.hv-cards img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--sage);border-radius:0;margin:0}
.hv-noimg{display:block}
.hv-cb{display:block;padding:12px 16px 16px}.hv-cb b{display:block;font-size:18px;letter-spacing:-.015em}.hv-cb>span{display:block;color:var(--muted);font-size:15px;margin-top:2px;font-variant-numeric:tabular-nums}
.hv-h2s{font-size:20px!important;margin:48px 0 16px!important}
.hv-dark{background:var(--forest-deep);color:var(--ivory);padding-bottom:clamp(56px,7vw,96px)!important;margin-top:clamp(56px,7vw,104px)}
.hv-dark h2{color:#B9C6BE;font-size:13px!important;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.hv-dark .lede{color:#C9D3CC}.hv-dark a{color:var(--ivory)}
.hv-prices{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.hv-med{white-space:nowrap;font-size:clamp(4rem,2.6rem + 4.6vw,6.75rem);font-weight:800;letter-spacing:-.055em;line-height:.85;margin:16px 0}
.hv-med small{font-size:.28em;letter-spacing:-.01em;font-weight:700;color:var(--lime)}
.hv-acts{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center;margin:26px 0 0}
.btn.hv-lime{background:var(--lime);color:var(--forest)!important}.btn.hv-lime:hover{background:#E4F59A}
.hv-pl h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#B9C6BE;margin:0 0 10px}
.hv-pl ul{list-style:none;margin:0;padding:0}.hv-pl li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(247,245,239,.16);font-variant-numeric:tabular-nums}
.hv-pl a{text-decoration:none;font-weight:600}.hv-pl a:hover{text-decoration:underline}.hv-pl small{font-size:15px;font-weight:700;color:var(--ivory)}
.hv-h3{font-size:22px;margin:0 0 20px}
.hv-types{display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--forest)}
.hv-types>div{padding:20px 16px 20px 0}.hv-types>div+div{border-left:1px solid var(--line);padding-left:16px}
.hv-ty{font-weight:700;margin:0}.hv-tv{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:6px 0}.hv-tq{color:var(--muted);font-size:14px;line-height:1.45;margin:0}
.hv-pt th,.hv-pt td{text-align:right;white-space:nowrap;padding:12px 16px}.hv-pt th[scope=row],.hv-pt thead th:first-child{text-align:left}.hv-pt th[scope=row] a{font-weight:700;text-decoration:none}
.hv-pt .nd{color:var(--muted);font-weight:400}
.hv-three{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px}.hv-three>div{border-top:1px solid var(--forest);padding-top:20px}.hv-three p{color:var(--muted)}
.hv-faq .faq{margin-top:0}.hv-faq h2{margin-bottom:24px!important}
.hv-end{display:flex;justify-content:space-between;align-items:center;gap:32px;background:var(--lime)!important;color:var(--forest);padding-top:clamp(48px,6vw,80px)!important;padding-bottom:clamp(48px,6vw,80px)!important;margin-top:clamp(56px,7vw,104px);margin-bottom:-96px;border:0!important;border-radius:0!important;text-align:left!important}
.hv-end h2{max-width:14em;color:var(--forest)}.hv-end p{margin:10px 0 0;font-weight:500}
.hv-end .btn{min-height:56px;padding:0 28px;font-size:17px;flex:none}
@media (max-width:960px){.hv-types{grid-template-columns:1fr 1fr}.hv-types>div:nth-child(odd){border-left:0;padding-left:0}.hv-types>div:nth-child(n+3){border-top:1px solid var(--line)}
  .hv-prices{grid-template-columns:1fr 1fr}.hv-prices>div:first-child{grid-column:1/-1}.hv-cards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.hv-in{grid-template-columns:1fr}.hv-photo img,.hv-img{aspect-ratio:16/10}.hv-why{grid-template-columns:1fr}.hv-steps{grid-template-columns:1fr;gap:20px}.hv-ticket{grid-template-columns:1fr}.hv-ticket figcaption{grid-row:auto}.hv-three{grid-template-columns:1fr;gap:20px}}
@media (max-width:860px){.hv-proof ul{grid-template-columns:1fr 1fr}.hv-proof li:nth-child(3){border-left:0;padding-left:0}.hv-proof li:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:700px){.hv-cards{grid-template-columns:1fr 1fr;gap:12px}.hv-cb{padding:8px 12px 12px}.hv-cb b{font-size:16px}.hv-cb>span{font-size:13px}.hv-cp{display:block}.hv-cp .dot{display:none}
  .hv-end{flex-direction:column;align-items:flex-start}.hv-head{flex-direction:column;align-items:flex-start;gap:8px}}
@media (max-width:640px){.hv-row{grid-template-columns:1fr 1fr}.hv-fv{grid-column:1/-1}.hv-photo figcaption{position:static;margin-top:12px;box-shadow:none;border:1px solid var(--line);max-width:none}}
@media (max-width:560px){.hv-prices{grid-template-columns:1fr}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------------- animations (une seule fois, courtes, coupées si l'utilisateur réduit les animations) ---------------- */
@keyframes hvUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hvZoom{from{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}
@keyframes hvMark{from{background-size:0% 100%}to{background-size:100% 100%}}
@keyframes hvRow{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.js .hv-k{animation:hvUp .6s cubic-bezier(.22,1,.36,1) both}
.js .hv h1{animation:hvUp .7s cubic-bezier(.22,1,.36,1) .06s both}
.js .hv-sub{animation:hvUp .7s cubic-bezier(.22,1,.36,1) .16s both}
.js .hv-form{animation:hvUp .7s cubic-bezier(.22,1,.36,1) .24s both}
.js .hv-photo{overflow:hidden;border-radius:20px}.js .hv-photo img{animation:hvZoom 1.1s cubic-bezier(.22,1,.36,1) .1s both}
.js .hv-photo figcaption{animation:hvUp .6s cubic-bezier(.22,1,.36,1) .7s both}
.hv h1 em{background:linear-gradient(var(--lime),var(--lime)) no-repeat 0 88%/100% 30%}
.js .hv h1 em{background-size:0% 30%;animation:hvMarkS .8s cubic-bezier(.22,1,.36,1) 1s forwards}
@keyframes hvMarkS{to{background-size:100% 30%}}
.js .hv-ticket.rv dl>div,.js .hv-ticket.rv .hv-st{opacity:0}
.js .hv-ticket.in dl>div{animation:hvRow .45s cubic-bezier(.22,1,.36,1) both}
.js .hv-ticket.in dl>div:nth-child(2){animation-delay:.12s}.js .hv-ticket.in dl>div:nth-child(3){animation-delay:.24s}.js .hv-ticket.in dl>div:nth-child(4){animation-delay:.36s}.js .hv-ticket.in dl>div:nth-child(5){animation-delay:.48s}.js .hv-ticket.in dl>div:nth-child(6){animation-delay:.6s}
.js .hv-ticket.in .hv-st{animation:hvUp .5s cubic-bezier(.22,1,.36,1) .85s both}.js .hv-ticket.in .hv-st:last-child{animation-delay:1.25s}
.js .hv-steps li.rv{border-top-color:transparent;background:linear-gradient(var(--forest),var(--forest)) no-repeat 0 0/0% 2px;transition:background-size .8s cubic-bezier(.22,1,.36,1),opacity .7s,transform .7s}
.js .hv-steps li.in{background-size:100% 2px}
.js .hv-cards img{transition:transform .5s cubic-bezier(.22,1,.36,1)}.hv-cards a:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.js .hv-k,.js .hv h1,.js .hv-sub,.js .hv-form,.js .hv-photo img,.js .hv-photo figcaption,.js .hv-ticket.in dl>div,.js .hv-ticket.in .hv-st{animation:none}
  .js .hv h1 em{background-size:100% 30%;animation:none}.js .hv-ticket.rv dl>div,.js .hv-ticket.rv .hv-st{opacity:1}.js .hv-steps li.rv{border-top-color:var(--forest);background:none}.hv-cards a:hover img{transform:none}}
.end-cta.hv-end,.end-cta.hv-end h2,.end-cta.hv-end p{color:var(--forest)!important}
.end-cta.hv-end .btn{background:var(--forest)!important;color:var(--white)!important;border:0}.end-cta.hv-end .btn:hover{background:var(--forest-deep)!important}
@media (max-width:760px){.top .search-btn{margin-left:auto}.top .nav{display:none}}
.fiche>*,.three>*,.cards>*{min-width:0}

/* ================= animations « tout le long » (désactivées si l'utilisateur réduit les animations) ================= */
@media (prefers-reduced-motion:no-preference){
/* barre de progression de lecture */
.cc-prog{position:fixed;left:0;top:0;height:3px;width:100%;background:var(--lime);transform-origin:0 50%;transform:scaleX(var(--p,0));z-index:60;pointer-events:none;box-shadow:0 0 0 .5px rgba(20,48,42,.25)}
/* mots qui montent un à un (titres découpés par le script ; le texte reste dans la page pour Google) */
.js .sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js .sw>i{display:inline-block;font-style:normal;transform:translateY(105%);transition:transform .8s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--k,0) * 45ms)}
.js .split.in .sw>i{transform:none}
.js .hv h1{animation:none}.js .hv h1 .sw>i{transition-duration:.9s}
/* photo du hero : dévoilement, puis zoom lent et profondeur au défilement */
.js .hv-photo{clip-path:inset(0 0 100% 0 round 20px);animation:hvClip 1.1s cubic-bezier(.77,0,.18,1) .15s forwards}
@keyframes hvClip{to{clip-path:inset(0 0 0 0 round 20px)}}
.js .hv-photo img{animation:hvKB 22s ease-in-out 1.2s infinite alternate}
@keyframes hvKB{from{transform:scale(1.02) translateY(var(--py,0))}to{transform:scale(1.1) translateY(var(--py,0))}}
.hv-photo figcaption{transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .35s}
.hv-photo figcaption.swap{transform:translateY(8px);opacity:0}
.hv-gap{display:block;height:4px;border-radius:2px;background:var(--sage);margin-top:8px;overflow:hidden}.hv-gap>i{display:block;height:100%;width:100%;background:var(--forest);transform-origin:0;animation:hvGap 3.6s linear infinite}
@keyframes hvGap{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* bouton principal : reflet qui passe */
.hv-go{position:relative;overflow:hidden}.hv-go::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(216,239,114,.45) 50%,transparent 70%);transform:translateX(-120%);animation:hvShine 1.2s cubic-bezier(.22,1,.36,1) 1.3s 1 forwards}
@keyframes hvShine{to{transform:translateX(120%)}}
.hv-go:hover::after{animation:hvShine .9s cubic-bezier(.22,1,.36,1) forwards}
.js .hv-pop a{display:inline-block;animation:hvUp .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.5s + var(--n,0) * 50ms)}
/* champs du formulaire qui arrivent en cascade */
.js .hv-row .hv-f{animation:hvUp .6s cubic-bezier(.22,1,.36,1) both}.js .hv-row .hv-f:nth-child(2){animation-delay:.38s}.js .hv-row .hv-f:nth-child(3){animation-delay:.46s}.js .hv-row .hv-f:first-child{animation-delay:.3s}
/* bandeau de chiffres : traits qui se dessinent */
.hv-proof{background-size:0 1px,0 1px;transition:background-size 1.2s cubic-bezier(.22,1,.36,1) .2s}.hv-proof.drawn{background-size:100% 1px,100% 1px}
/* bloc 74 % : fond qui s'ouvre */
.js .hv-stat.rv{transform:scale(.94);opacity:0;transition:transform .9s cubic-bezier(.22,1,.36,1),opacity .6s}.js .hv-stat.in{transform:none;opacity:1}
/* avantages : glissent de la droite, la puce citron rebondit */
.js .hv-list>li.rv{transform:translateX(40px)}.js .hv-list>li.in{transform:none}
.js .hv-list>li.rv::before{transform:scale(0) rotate(-45deg);transition:transform .5s cubic-bezier(.34,1.56,.64,1) calc(var(--i,0) * 55ms + .25s)}.js .hv-list>li.in::before{transform:none}
/* cartes des villes : photo dévoilée et dézoom */
.js .hv-cards>li.rv{transform:translateY(40px) scale(.97)}.js .hv-cards>li.in{transform:none}
.js .hv-cards>li.rv img{clip-path:inset(100% 0 0 0);transform:scale(1.18);transition:clip-path .9s cubic-bezier(.77,0,.18,1),transform 1.4s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i,0) * 60ms)}
.js .hv-cards>li.in img{clip-path:inset(0 0 0 0);transform:none}
/* prix : barres qui se remplissent, liste qui glisse */
.hv-pl li{position:relative}.hv-pl li::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:var(--w,0);background:var(--lime);transform-origin:0;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.22,1,.36,1) calc(var(--i,0) * 90ms + .2s)}
.hv-pl li.in::after{transform:scaleX(1)}
.js .hv-pl li.rv{transform:translateX(-24px)}.js .hv-pl li.in{transform:none}
.js .hv-med.rv{transform:translateY(30px) scale(.96)}.js .hv-med.in{transform:none}
/* types d'offre : trait du haut qui se dessine */
.hv-types{border-top:0;background:linear-gradient(var(--forest),var(--forest)) top left/0 2px no-repeat;transition:background-size 1.2s cubic-bezier(.22,1,.36,1)}.hv-types.drawn{background-size:100% 2px}
/* tableau : lignes en cascade */
.js .hv-pt tbody tr{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--n,0) * 45ms)}.js .hv-pt.in tbody tr{opacity:1;transform:none}
/* principes : traits */
.js .hv-three>div.rv{border-top-color:transparent;background:linear-gradient(var(--forest),var(--forest)) top left/0 1px no-repeat;transition:background-size .9s cubic-bezier(.22,1,.36,1) calc(var(--i,0) * 120ms),opacity .7s,transform .7s}.js .hv-three>div.in{background-size:100% 1px}
/* FAQ : questions en cascade */
.js .hv-faq details{opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--n,0) * 70ms)}.js .hv-faq.in details{opacity:1;transform:none}
.faq details[open] p{animation:hvUp .4s cubic-bezier(.22,1,.36,1)}
/* bloc final citron : rideau qui s'ouvre */
.js .hv-end>div{opacity:0;transform:translateY(30px);transition:opacity .8s,transform 1s cubic-bezier(.22,1,.36,1)}.js .hv-end.in>div{opacity:1;transform:none}
.js .hv-end .btn{transform:scale(.9);opacity:0;transition:transform .6s cubic-bezier(.34,1.56,.64,1) .6s,opacity .4s .6s}.js .hv-end.in .btn{transform:none;opacity:1}
/* survols */
.hv-cards a{transition:border-color .18s,transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}.hv-cards a:hover{transform:translateY(-6px);box-shadow:0 18px 40px -22px rgba(13,36,30,.45)}
.hv-list li{transition:background .2s}.hv-list li:hover{background:linear-gradient(90deg,var(--sage),transparent)}
.btn{transition:background .18s,transform .18s}.btn:active{transform:scale(.97)}
}
/* filet de sécurité : si le script ne passe pas, tout s'affiche après 3,5 s */
.js .split .sw>i,.js .hv-pt tbody tr,.js .hv-faq details,.js .hv-end>div,.js .hv-end .btn{animation:rvSafety 0s 3.5s forwards}
.js .split.in .sw>i,.js .hv-pt.in tbody tr,.js .hv-faq.in details,.js .hv-end.in>div,.js .hv-end.in .btn{animation:none}

/* logo « table et chaises » : la table se pose, les chaises sortent de dessous, la chaise libre (citron) s'avance de temps en temps */
.cct rect{transform-box:fill-box;transform-origin:center}
.cct .cct-t,.cct .cct-b{transition:transform .45s cubic-bezier(.34,1.56,.64,1)}
.logo:hover .cct .cct-t{transform:translateY(-26px)}.logo:hover .cct .cct-b{transform:translateY(26px)}
@media (prefers-reduced-motion:no-preference){
.cct .cct-table{animation:cctTab .6s cubic-bezier(.34,1.56,.64,1) both}
.cct .cct-t>rect{animation:cctUp .85s cubic-bezier(.22,1,.36,1) .35s both}
.cct .cct-t>rect:nth-child(n+3){animation-delay:.52s}
.cct .cct-b>rect{animation:cctDown .85s cubic-bezier(.22,1,.36,1) .43s both}
.cct .cct-b>rect:nth-child(n+3){animation-delay:.6s}
.cct .cct-t>rect:nth-child(3){animation:cctUp .85s cubic-bezier(.22,1,.36,1) .52s both,cctIdle 6s ease-in-out 3.5s infinite}
.cct .cct-t>rect:nth-child(4){animation:cctUp .85s cubic-bezier(.22,1,.36,1) .52s both,cctPop .7s cubic-bezier(.34,1.56,.64,1) 1.35s,cctIdle 6s ease-in-out 3.5s infinite}
.cct .cct-w>path{animation:cctW .7s cubic-bezier(.22,1,.36,1) .25s both}
.cct .cct-w>path:nth-child(2){animation-delay:.38s}.cct .cct-w>path:nth-child(3){animation-delay:.51s}
}
@keyframes cctTab{from{transform:scale(.55);opacity:0}to{transform:none;opacity:1}}
@keyframes cctUp{0%{transform:translateY(80px);opacity:0}20%{opacity:1}70%{transform:translateY(-22px)}100%{transform:none;opacity:1}}
@keyframes cctDown{0%{transform:translateY(-80px);opacity:0}20%{opacity:1}70%{transform:translateY(22px)}100%{transform:none;opacity:1}}
@keyframes cctPop{0%,100%{transform:none}45%{transform:scale(1.3)}}
@keyframes cctIdle{0%,78%,100%{transform:none}83%{transform:translateY(-50px)}90%{transform:translateY(-50px)}95%{transform:translateY(6px)}}
@keyframes cctW{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.top .logo{height:50px}footer .logo{height:56px}
@media (max-width:760px){.top .logo{height:40px}}
/* « Cette fiche est à vous » : encart sur les fiches et page de revendication */
.box.claim{background:var(--sage,#E7EDE5);border-color:transparent}.box.claim .btn{display:inline-block}
.lead label.radio{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;margin:0 0 8px}.lead label.radio input[type=radio]{width:auto;margin:0}.lead label.radio input[type=email]{flex-basis:100%}
/* grandes listes (Paris, Lyon…) : les fiches hors de l'écran ne sont dessinées qu'en approchant ; elles restent dans la page et dans ses liens */
.cards>.card:nth-child(n+13){content-visibility:auto;contain-intrinsic-size:auto 340px}
/* grille de tarifs communiquée par un espace : une carte par prestation */
.pgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:6px}
.pg{border:1px solid var(--line,#D8DED5);border-radius:14px;padding:14px 16px;background:#fff}
.pg-t{font-weight:700;font-size:16px;margin:0 0 2px}.pg-n{font-size:13px;color:var(--muted);margin:0 0 8px}
.pg-r{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-top:1px solid #eef1ec;font-size:14.5px}
.pg-r:first-of-type{border-top:0}.pg-r b{white-space:nowrap;font-size:15.5px}
/* espace vérifié : badge vu sur le site de l'espace */
.chip.verified,.tag.verified{background:#D8EF72;color:#14302A;font-weight:700;border-color:transparent}
.chip.verified:before,.tag.verified:before{content:"✓ "}

/* villes ciblées : réponse directe en tête de page */
.essentiel{margin:18px 0}.essentiel h2{margin:0 0 8px;font-size:1.15rem}.essentiel p{margin:0;line-height:1.6}

/* fiches : grille tarifaire (type de poste x durée) */
.tarifs h2 small{font:500 13px var(--font);color:var(--muted);margin-left:6px;letter-spacing:0}
.tgrid{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.tgrid th,.tgrid td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:right;vertical-align:middle}
.tgrid thead th{font:600 12.5px var(--font);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--line-2)}
.tgrid tbody th{text-align:left;font-weight:600;color:var(--ink)}
.tgrid tbody th small{display:block;font-weight:400;font-size:13px;color:var(--muted)}
.tgrid td b{font:800 21px/1 var(--display);letter-spacing:-.02em;color:var(--ink)}
.tgrid td sup{font-size:11px;color:var(--muted);margin-left:2px}
.tgrid td.nc{color:var(--muted);font-size:14px}
.tgrid tr:last-child th,.tgrid tr:last-child td{border-bottom:0}
.tg-notes{margin:10px 0 0;padding-left:20px;font-size:13.5px;color:var(--ink-2)}
.tg-src{margin:12px 0 0}
.tg-none{margin:0}
.tg-all{margin-top:12px;font-size:14px}.tg-all summary{cursor:pointer;color:var(--accent-ink)}
.offer .o-src summary{font-size:12.5px;color:var(--muted);cursor:pointer}
.offer .o-src .quote{margin:4px 0 0}
@media (max-width:560px){.tgrid th,.tgrid td{padding:10px 6px}.tgrid td b{font-size:18px}.tgrid tbody th small{display:none}}
/* fiches : encart « Vous gérez cet espace ? » */
.owner{margin-top:24px;background:var(--sage)}
.owner .ow-h{margin:0 0 10px}
.ow-l{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:14px}
.ow-l li::before{display:inline-block;width:1.2em;font-weight:700}
.ow-l li.ok::before{content:"✓";color:var(--ink)}
.ow-l li.ko{color:var(--muted)}.ow-l li.ko::before{content:"○"}
.ow-t{margin:0 0 12px;font-size:14.5px;color:var(--ink-2)}
.ctab tbody th a{color:var(--ink);text-decoration:none}.ctab tbody th a:hover{text-decoration:underline}
.ctab td b{font-size:18px}
.tarifs h2,.essentiel h2,.owner h2{border-top:0;padding-top:0}
.ctab tr.me th,.ctab tr.me td{background:var(--sage)}
.tarifs .pg-r span small{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.tarifs .pg-r b{font:800 18px/1.1 var(--display);letter-spacing:-.015em;color:var(--ink);font-variant-numeric:tabular-nums}
.tarifs .pg-r{align-items:center}
.tg-x{margin:10px 0 0;color:var(--ink-2)}.tg-abs{margin:10px 0 0}
.tarifs .pg-g{font-size:12.5px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 0 2px;border-top:1px solid #eef1ec}
.tarifs .pg-g + .pg-r{border-top:0}
.own-line{margin:10px 0 0;font-size:13.5px;color:var(--muted)}.own-line a{color:var(--muted)}
.owner .ow-h{font-weight:600;font-size:16px;margin:0 0 8px;color:var(--ink)}
.ow-r{margin:0 0 12px;font-size:14.5px}
.ow-s{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:6px;font-size:14px}
.ow-s li{display:grid;grid-template-columns:22px 110px 1fr;align-items:baseline;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.ow-s li::before{font-weight:700}.ow-s li.ok::before{content:"✓";color:var(--ink)}.ow-s li.ko::before{content:"!";color:var(--warn)}
.ow-s li.ko span{color:var(--warn)}.ow-s li.ok span{color:var(--ink-2)}
.ow-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
@media (max-width:560px){.ow-s li{grid-template-columns:22px 1fr}.ow-s li span{grid-column:2}}
/* page « Je suis le propriétaire » */
.face th small{display:block;font-weight:400;font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0}
.face td{text-align:left;font-size:14.5px}.face td.ko{color:var(--warn)}.face td.ok{color:var(--ink);font-weight:600}
.face thead th{text-align:left}
.pitch-l{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px}
.pitch-l li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:12px 14px 12px 40px;position:relative;font-size:15px}
.pitch-l li::before{position:absolute;left:14px;top:11px;font-weight:800}
.pitch-l.ko li::before{content:"!";color:var(--warn)}.pitch-l.ok li::before{content:"✓";color:var(--ink)}
.pitch-l.ko li{border-color:#efd9b5;background:var(--warn-soft)}
.pitch-f{margin:18px 0 0;font-size:15px}

/* espace pro : parcours en étapes */
.pz{margin:18px 0;padding:22px}
.pz-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pz-top h2{margin:0;border:0;padding:0;font-size:24px}
.pz-bar{height:10px;background:var(--sage);border-radius:99px;margin:12px 0 16px;overflow:hidden}
.pz-bar i{display:block;height:100%;background:var(--ink);border-radius:99px;transition:width .6s}
.pz-steps{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;gap:6px}
.pz-steps a{display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 6px;border:1px solid var(--line-2);border-radius:99px;font-size:13.5px;color:var(--ink-2);text-decoration:none;background:var(--surface)}
.pz-steps a span{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--sage);font-size:12px;font-weight:700;color:var(--ink)}
.pz-steps li.ok a span{background:var(--ink);color:#fff}
.pz-steps li.on a{border-color:var(--ink);box-shadow:0 0 0 2px var(--ink) inset;color:var(--ink);font-weight:600}
.pz-steps small{color:var(--muted);font-weight:400}
.pz-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff}
.pz-card h3{margin:0 0 6px;font-size:19px}
.pz-done{font:600 12px var(--font);background:var(--sage);color:var(--ink);padding:2px 8px;border-radius:99px;vertical-align:middle}
.pz-gain{margin:0 0 14px;padding:10px 12px;background:var(--lime);border-radius:8px;color:var(--ink);font-size:14.5px}
.pz-recap{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:6px}
.pz-recap li::before{display:inline-block;width:1.4em;font-weight:800}
.pz-recap li.ok::before{content:"✓";color:var(--ink)}.pz-recap li.ko{color:var(--warn)}.pz-recap li.ko::before{content:"○"}
.pz-gain.ok{background:var(--sage)}
.pz-cadeaux{margin:-6px 0 14px}
.pz-plus{margin:14px 0 4px;border-top:1px dashed var(--line-2);padding-top:10px}.pz-plus summary{cursor:pointer;font-size:14px;color:var(--accent-ink)}
.pz-serv{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px 14px;margin-bottom:6px}
.pz-serv label{flex-direction:row;gap:8px;align-items:center;font-size:14.5px}
/* espace pro : une question à la fois */
.pz-top b{font:600 18px var(--display)}
.pz-dots{display:flex;gap:6px;margin:-4px 0 18px}
.pz-dots a{flex:1;height:6px;border-radius:99px;background:var(--line)}
.pz-dots a.ok{background:var(--ink)}.pz-dots a.on{background:var(--lime);box-shadow:0 0 0 1px var(--ink) inset}
.pz-q{max-width:560px}
.pz-n{margin:0 0 4px;font-size:13px;color:var(--muted)}
.pz-q h3{margin:0 0 12px;font-size:26px;line-height:1.15;border:0;padding:0}
.pz-stat{margin:0 0 18px;padding:12px 14px;background:var(--lime);border-radius:10px;color:var(--ink);font-size:15px;line-height:1.5}
.pz-known{margin:0 0 8px;font-size:18px}
.pz-edit summary{cursor:pointer;color:var(--accent-ink);font-size:14.5px;margin:4px 0}
.pz-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:8px}
.pz-acts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px}
.pz-acts .btn{font-size:16px;padding:13px 20px}
.pz-non{margin:10px 0 0}.pz-non button{background:none;border:0;padding:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit;font-size:14px}
.pz-skip{display:inline-block;margin-top:14px;font-size:14px;color:var(--muted)}
.pz-drop{display:block;border:2px dashed var(--line-2);border-radius:12px;padding:22px;text-align:center;cursor:pointer;font-weight:600}
.pz-drop input{display:block;margin:10px auto 0}
.pz-photos{display:flex;gap:8px;flex-wrap:wrap}.pz-photos label{width:130px;display:block}.pz-photos img{width:130px;height:90px;object-fit:cover;border-radius:8px}
.pz-fete{margin:0 0 16px;padding:14px 16px;background:var(--ink);color:#fff;border-radius:10px}
.pz-bonus{margin:22px 0 0;padding-top:12px;border-top:1px solid var(--line)}
.pz-q textarea{width:100%}
/* espace pro : en-tête, menu latéral, tableau de bord */
body.pro{background:#F3F2EC}
.pro-top .wrap{max-width:1180px;height:68px;gap:14px}
.pro-top .logo{height:40px}
.pro-tag{font:700 11px/1 var(--font);letter-spacing:.08em;text-transform:uppercase;background:var(--lime);color:var(--forest);padding:6px 9px;border-radius:999px;flex:none}
.pro-who{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;min-width:0}
.pro-who b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}
.pro-who small{color:var(--muted);font-size:12.5px}
.pro-top .pro-voir{min-height:38px;padding:0 14px;font-size:14px;flex:none}
.pro-layout{max-width:1180px;display:grid;grid-template-columns:232px 1fr;gap:32px;padding-top:28px;padding-bottom:72px;align-items:start}
.pro-nav{position:sticky;top:92px;display:flex;flex-direction:column;gap:2px}
.pro-nav a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:10px;color:var(--ink-2);text-decoration:none;font-weight:600;font-size:15px}
.pro-nav a svg{flex:none;color:var(--muted)}
.pro-nav a:hover{background:rgba(20,48,42,.06);color:var(--ink)}
.pro-nav a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(13,36,30,.06),inset 0 0 0 1px var(--line)}
.pro-nav a[aria-current=page] svg{color:var(--forest)}
.pro-badge{margin-left:auto;font:700 12px/1 var(--font);background:var(--sage);color:var(--forest);padding:4px 7px;border-radius:999px}
.pro-badge.ok{background:var(--lime)}
.pro-help{margin-top:22px;padding:14px 12px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.5;color:var(--muted);display:flex;flex-direction:column;gap:2px}
.pro-help b{color:var(--ink);font-size:13.5px}
.pro-help a{font-size:12.5px;overflow-wrap:anywhere}
.pro-main{min-width:0;max-width:820px}
.pro-head{margin-bottom:18px}
.pro-head h1{font-size:30px;line-height:1.15;margin:0 0 6px;letter-spacing:-.02em}
.pro-head .lede{font-size:16px;margin:0}
.pro-main>.note{margin:0 0 16px}
.pro-main .box{margin:0 0 16px!important;border-radius:16px;padding:22px 24px}
.pro-main .box h2{margin-top:0;font-size:19px;border-top:0;padding-top:0}
.pro-kpis{grid-template-columns:repeat(3,1fr);margin:0 0 16px}
.pro-kpis .stat{border-radius:16px}
.pro-kpis .v{font-size:28px;font-weight:800;letter-spacing:-.02em}
.pro-kpis .l{font-size:13.5px;color:var(--muted)}
.pro-empty{background:var(--surface);border:1px dashed var(--line-2);border-radius:16px;padding:34px 28px;text-align:center}
.pro-empty b{display:block;font-size:17px;margin-bottom:6px}
.pro-empty p{color:var(--muted);max-width:52ch;margin:0 auto 16px;font-size:15px}
.pro-t td{vertical-align:middle;padding:12px 14px}
.pro-t th{padding:10px 14px}
.pro-t small{color:var(--muted)}
.pro-t .btn{min-height:36px;font-size:14px;padding:0 12px;white-space:nowrap}
.pro-pill{display:inline-block;font:700 12px/1 var(--font);padding:5px 8px;border-radius:999px;background:#ECEDE8;color:var(--muted)}
.pro-pill.ok{background:var(--lime);color:var(--forest)}
.pro-pill.on{background:#E2F2EC;color:var(--ok)}
@media (max-width:900px){
  .pro-layout{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0}
  .pro-nav{min-width:0}
  .pro-nav{position:sticky;top:64px;z-index:15;flex-direction:row;overflow-x:auto;gap:4px;margin:0 -20px 18px;padding:10px 20px;background:#F3F2EC;border-bottom:1px solid var(--line);scrollbar-width:none}
  .pro-nav::-webkit-scrollbar{display:none}
  .pro-nav a{flex:none;padding:8px 12px;font-size:14px}
  .pro-help{display:none}
  .pro-who{display:none}
  .pro-top .pro-voir{margin-left:auto}
  .pro-kpis{grid-template-columns:1fr 1fr}
  .pro-head h1{font-size:25px}
  .pro-main .box{padding:18px}
}
@media (max-width:520px){.pro-tag{display:none}.pro-top .pro-voir{font-size:13px;padding:0 10px}}
.pro-main form.lead[style*="flex-end"]{flex-direction:row}
.pro-main form.lead[style*="flex-end"] label{flex:1 1 300px;max-width:420px}
.pro-promo{display:flex;align-items:center;gap:18px;background:var(--forest);color:#fff;border-radius:16px;padding:18px 22px;margin:0 0 22px}
.pro-promo-n{flex:none;width:58px;height:58px;border-radius:14px;background:var(--lime);color:var(--forest);display:grid;place-items:center;font:800 30px/1 var(--font);letter-spacing:-.02em}
.pro-promo-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pro-promo-t b{font-size:20px;line-height:1.25;letter-spacing:-.01em}
.pro-promo-t span{font-size:15px;color:rgba(255,255,255,.82)}
.pro-promo .btn{flex:none;background:var(--lime)!important;color:var(--forest)!important;border:0}
.pro-promo .btn:hover{background:#E6F59A!important}
@media (max-width:640px){.pro-promo{flex-wrap:wrap;gap:12px 14px;padding:16px}.pro-promo-n{width:48px;height:48px;font-size:24px}.pro-promo-t b{font-size:17px}.pro-promo .btn{width:100%;justify-content:center}}
.pro-help span{color:var(--muted)}.pro-help span b{color:var(--ink);font-size:13px;word-break:break-all}
.pro-switch{font-size:13.5px;font-weight:600;white-space:nowrap}
.pro-grid2{display:grid!important;grid-template-columns:1fr 1fr;gap:12px 14px}
.pro-grid2 .full{grid-column:1/-1}
.pro-grid2 select{font:inherit;font-size:15px;border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;background:var(--bg);color:var(--ink)}
.pro-t form{margin:0}
.pro-faq{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.pro-faq details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:0 20px}
.pro-faq summary{cursor:pointer;list-style:none;font-weight:700;font-size:16px;padding:16px 28px 16px 0;position:relative}
.pro-faq summary::-webkit-details-marker{display:none}
.pro-faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:22px;font-weight:500;color:var(--muted)}
.pro-faq details[open] summary::after{content:"–"}
.pro-faq details>div{padding:0 0 16px;color:var(--ink-2);font-size:15px}
.pro-faq details>div p{margin:0 0 10px}
.pro-faq .table-wrap{margin:4px 0 8px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pro-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.pro-contact p{margin:0;color:var(--muted)}
.pro-login{max-width:520px;padding-top:56px;padding-bottom:72px}
.pro-login-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:32px 30px;box-shadow:var(--shadow)}
.pro-login-card h1{font-size:27px;line-height:1.2;margin:0 0 8px;letter-spacing:-.02em}
.pro-login-card .lede{font-size:15.5px;margin:0 0 18px}
.pro-login-card .note{margin:0 0 14px}
.pro-login-card .note.ok{background:#E2F2EC;color:var(--ok)}
.pro-login-card form{gap:14px}
.pro-login-card .btn{justify-content:center}
.pro-code{font-size:26px!important;letter-spacing:.3em;text-align:center;font-weight:700}
.pro-login-foot{text-align:center;margin-top:18px}
.pro-choix{display:flex;flex-direction:column;gap:8px}
.pro-choix a{display:flex;flex-direction:column;padding:14px 16px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}
.pro-choix a:hover{border-color:var(--forest);background:var(--sage)}
.pro-choix small{color:var(--muted)}
@media (max-width:640px){.pro-grid2{grid-template-columns:1fr}.pro-login-card{padding:24px 18px}.pro-switch{display:none}}
.pro-tw{box-shadow:none;margin:0 -6px}
.pro-fact{width:100%}
.pro-fact td:nth-child(3){max-width:260px}
.pro-fact .btn{min-height:32px;padding:0 10px;font-size:13px}
.pro-fact td,.pro-fact th{padding-left:10px;padding-right:10px}
@media (max-width:760px){.pro-fact td:nth-child(3),.pro-fact th:nth-child(3){display:none}}
.lire-aussi li:nth-child(n+5){display:none}

/* écrans de coordonnées : à qui part la demande */
.rq-recap{margin:0 0 14px;padding:10px 12px;border-left:3px solid var(--forest);background:var(--sage);border-radius:0 8px 8px 0;font-size:14px;line-height:1.4}.rq-recap p{margin:0 0 6px}.rq-recap ul{list-style:none;margin:0;padding:0}.rq-recap li{padding:4px 0}.rq-recap li+li{border-top:1px solid rgba(0,0,0,.06)}.rq-recap b{display:block;font-weight:600}.rq-recap small{display:block;color:var(--ink-2);font-size:12.5px}

/* statut de vérification d'une fiche */
.vstat-line{margin:10px 0 0}.vstat{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border-radius:999px;padding:4px 11px;line-height:1.3;white-space:nowrap}
.vstat.ok{background:#D8EF72;color:#14302A}.vstat.no{background:transparent;color:var(--muted);border:1.5px dashed var(--line-2,#cfd9d5);cursor:pointer}
.vstat.no i{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--chip,#eef3f1);font-size:11px}
.vstat-pop{position:relative;display:inline-block;margin:10px 0 0}.vstat-pop summary{list-style:none;cursor:pointer}.vstat-pop summary::-webkit-details-marker{display:none}
.vstat-pop[open] .vstat.no{border-style:solid;color:var(--ink)}.vpop{position:absolute;z-index:20;top:calc(100% + 8px);left:0;width:min(340px,86vw);background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 12px 34px rgba(20,48,42,.14);font-size:14px}
.vpop p{margin:0 0 10px;color:var(--ink-2)}.vpop a{font-weight:700}
.box.vbox-ok{background:var(--sage,#E7EDE5);border-color:transparent}.side-err{margin:12px 2px 0}


.yt-guide{margin:22px 0}.yt-guide h2{margin:0 0 6px}.yt-lite{position:relative;display:block;width:100%;max-width:760px;aspect-ratio:16/9;padding:0;border:0;border-radius:14px;overflow:hidden;background:#0f241f;cursor:pointer}.yt-lite img{width:100%;height:100%;object-fit:cover;display:block}.yt-play{position:absolute;left:50%;top:50%;width:72px;height:50px;margin:-25px 0 0 -36px;border-radius:14px;background:rgba(15,36,31,.88)}.yt-play::after{content:"";position:absolute;left:29px;top:15px;border-style:solid;border-width:10px 0 10px 17px;border-color:transparent transparent transparent #D8EF72}.yt-lite:hover .yt-play{background:#14302A}.yt-lite iframe{width:100%;height:100%;border:0;display:block}
/* bloc « coworking hors de France » (lien vers coworkingprices.com) */
.cpw-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:center;background:var(--white,#fff);border:1px solid var(--line);border-radius:22px;padding:34px}
.cpw-txt h2{margin:6px 0 12px}
.cpw-txt p{color:var(--muted);margin:0 0 20px}
.cpw-link{display:inline-flex;align-items:center;gap:16px;padding:12px 18px 12px 14px;border:1.5px solid var(--line-2,var(--line));border-radius:14px;text-decoration:none;color:var(--ink);font-weight:700;transition:border-color .2s,transform .2s}
.cpw-link:hover{border-color:var(--forest,#14302a);transform:translateY(-2px)}
.cpw-link img{height:44px;width:auto;display:block}
.cpw-link span:after{content:" \2192"}
.cpw-map{margin:0}.cpw-map img{display:block;width:100%;height:auto}
@media (max-width:860px){.cpw-in{grid-template-columns:1fr;padding:24px;gap:22px}}
/* demande en conversation (test A/B « chat », version B) : un écran à la fois, sans défilement interne */
.req-card.cx{position:static}
.req-card.cx .rc-body{padding:16px 18px 18px}
.cx-recap{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.cx-tag{font:inherit;font-size:13.5px;font-weight:650;background:var(--sage);border:1px solid transparent;border-radius:999px;padding:5px 11px;color:var(--ink);cursor:default;line-height:1.3}
button.cx-tag{cursor:pointer}button.cx-tag::after{content:"";display:inline-block;width:6px;height:6px;margin-left:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.55}
button.cx-tag:hover{border-color:var(--forest)}
.cx-note{font-size:14px;color:var(--ink-2);margin:0 0 8px}
.cx-q{font-size:20px;font-weight:800;letter-spacing:-.015em;line-height:1.3;color:var(--ink);margin:0 0 12px}
.cx-q b{font-weight:800}
.cx-est{font-size:14px;color:var(--ink-2);margin:-4px 0 12px;line-height:1.45}
.cx-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cx-grid.g4{grid-template-columns:repeat(4,1fr)}
.cx-opt{display:flex;flex-direction:column;justify-content:center;gap:3px;min-height:64px;background:#fff;border:1.5px solid var(--line-2);border-radius:12px;padding:10px 12px;font:inherit;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.cx-grid.g4 .cx-opt{min-height:52px;text-align:center;align-items:center;padding:8px 4px}
.cx-opt b{font-size:16px;font-weight:750;line-height:1.2}.cx-opt small{font-size:12.5px;color:var(--muted);line-height:1.3}
.cx-opt:hover{border-color:var(--ink)}.cx-opt.on{border-color:var(--forest);background:var(--sage)}
.cx-in{display:flex;gap:8px;margin-top:12px}
.cx-in input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 13px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
.cx-in input:focus{outline:none;border-color:var(--forest)}
.cx-in button{flex:none;border:1.5px solid var(--line-2);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px;font-weight:750;padding:0 14px;cursor:pointer}
.cx-sp{display:grid;gap:8px;margin:0 0 12px}
.cx-card{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line-2);border-radius:12px;padding:9px 12px;font:inherit;color:var(--ink);cursor:pointer}
.cx-card b{display:block;font-size:15px;line-height:1.25}.cx-card small{display:block;font-size:13px;color:var(--muted);margin-top:2px;line-height:1.35}
.cx-card .ck{flex:none;width:18px;height:18px;margin-top:2px;border:1.5px solid var(--line-2);border-radius:5px;background:#fff}
.cx-card.on{border-color:var(--forest)}.cx-card.on .ck{background:var(--forest);border-color:var(--forest);box-shadow:inset 0 0 0 3px #fff}
.cx-card.fix{cursor:default}
.cx-city input{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink)}
.cx-city input:focus{outline:none;border-color:var(--forest)}
.cx-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.cx-row{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.cx-form .fld{margin-bottom:8px}.cx-form .cx-tel input{border-color:var(--forest)}
.cx-joint{font-size:13px;color:var(--muted);margin:2px 0 10px;line-height:1.4}.cx-joint button{font:inherit;font-size:13px;background:none;border:0;padding:0;color:var(--ink-2);text-decoration:underline;cursor:pointer}
.req-card.cx .rq-mention{margin-top:8px}.req-card.cx .fine{margin-top:6px}
.req-card.cx .rq-tel{margin-top:4px}
@media (max-width:480px){.req-card.cx .rc-body{padding:14px 14px 16px}.cx-q{font-size:18.5px}.cx-opt{min-height:58px}}
@media (max-width:340px){.cx-grid.g4{grid-template-columns:1fr 1fr}.cx-row{grid-template-columns:1fr}}
.sticky-cta.cx-off{transform:translateY(140%)}

/* Langues : sélecteur, bandeau, arabe de droite à gauche */
.lang-sel{position:relative;margin-inline-start:6px;flex:none}
.lang-sel summary{list-style:none;cursor:pointer;font-weight:700;font-size:14px;color:var(--ink);padding:8px 10px;border-radius:8px;min-height:44px;display:flex;align-items:center;gap:4px}
.lang-sel summary::-webkit-details-marker{display:none}
.lang-sel summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-inline-start:4px}
.lang-sel summary:hover{background:var(--sage)}
.lang-sel ul{position:absolute;top:100%;inset-inline-end:0;z-index:60;list-style:none;margin:4px 0 0;padding:6px;background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);min-width:160px}
.nav .lang-sel a,.lang-sel a{display:block!important;padding:9px 12px;font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;border-radius:8px}
.lang-sel a:hover{background:var(--sage)}.lang-sel a[aria-current]{font-weight:700;background:var(--chip)}
.lang-ban{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;padding:10px 16px;background:var(--sage);color:var(--ink);font-size:15px;text-align:center}
.lang-ban .btn{min-height:40px;padding:8px 16px}
.lang-ban .lang-x{background:none;border:0;font-size:22px;line-height:1;cursor:pointer;color:var(--ink);min-width:44px;min-height:44px}
[dir="rtl"] body{text-align:right}
[dir="rtl"] .nav{margin-left:0;margin-right:auto}
[dir="rtl"] .nav .btn{margin-left:0;margin-right:6px}
[dir="rtl"] .crumbs li+li::before{transform:scaleX(-1)}
[dir="rtl"] .search-btn kbd{display:none}
[dir="rtl"] .skip{left:auto;right:-999px}
[dir="rtl"] .skip:focus{right:12px;left:auto}

/* réservation en ligne du poste en open space (resa.js) */
.rz-card{background:#fff;border:2px solid var(--forest);border-radius:18px;padding:16px;margin:0 0 16px;scroll-margin-top:84px}
.rz-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 10px}.rz-head b{font-size:18px}
.rz-same{font-size:12px;font-weight:700;background:var(--sage);color:var(--forest);border-radius:999px;padding:4px 10px}
.rz-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}.rz-tabs button{border:1px solid var(--line-2);background:#fff;border-radius:12px;padding:9px 6px;font:inherit;font-weight:700;cursor:pointer;color:var(--ink);display:flex;flex-direction:column;align-items:center;line-height:1.25}
.rz-tabs button small{font-weight:500;color:var(--muted)}.rz-tabs button[aria-selected=true]{background:var(--forest);color:#fff;border-color:var(--forest)}.rz-tabs button[aria-selected=true] small{color:#cfe0d9}
.rz-one{margin:0 0 8px}.rz-q{font-size:14px;color:var(--ink-2);margin:4px 0 8px}
.rz-nav{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px}.rz-nav b{text-transform:capitalize}.rz-nav button{border:0;background:none;font-size:24px;line-height:1;padding:2px 10px;cursor:pointer;color:var(--ink)}.rz-nav button:disabled{opacity:.25;cursor:default}
.rz-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.rz-h{font-size:11px;text-align:center;color:var(--muted)}
.rz-d{position:relative;aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:10px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;color:var(--ink);padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:36px}
.rz-d i{font-style:normal;font-size:9px;font-weight:700;color:#1f7a5c;line-height:1}.rz-d:disabled{background:transparent;border-color:transparent;color:#b6beb9;text-decoration:line-through;cursor:default}
.rz-d.on{background:var(--forest);border-color:var(--forest);color:#fff}.rz-d.on i{color:#D8EF72}.rz-d:focus-visible{outline:2px solid #1f7a5c;outline-offset:1px}
.rz-tip{font-size:13px;margin:8px 0 0;color:#1f7a5c;font-weight:600}.rz-link{border:0;background:none;padding:0;font:inherit;color:#1f7a5c;text-decoration:underline;cursor:pointer;text-align:left}
.rz-sum{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin:12px 0 8px;padding-top:10px}.rz-sum b{font-size:20px}.rz-sum s{color:var(--muted);font-weight:500;font-size:15px}
.rz-cgv{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--ink-2);margin:0 0 10px}.rz-cgv input{margin-top:2px;width:auto}
.rz-go{display:block;width:100%;padding:14px;font-size:17px;font-weight:800}.rz-err{color:#a2361f;font-size:14px;margin:6px 0 0}.rz-err:empty{display:none}.rz-f{margin:10px 0 0}
.tag.resa{background:var(--forest);color:#fff}
/* pages villes : réponse directe sous le H1, section « en chiffres », résumé des critères (31/10/2026) */
.reponse{font-size:16.5px;line-height:1.55;margin:12px 0 4px;font-weight:500}
.vchiffres{margin:22px 0}.vchiffres p{line-height:1.6}.vchiffres h3{margin:18px 0 8px;font-size:1.05rem}
.vc-gares,.crit-resume{margin:6px 0 14px;padding-left:20px;line-height:1.7}

/* encadré « Pour les gérants » de la fiche : sobre, sur fond clair, un seul bouton */
.box.vbox{margin:22px 0;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px;padding:20px 22px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}.vbox-a{flex:1 1 380px;min-width:0}.vbox-k{margin:0;font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--muted)}.vbox-t{margin:2px 0 4px;font-size:17px;font-weight:700;line-height:1.3;color:var(--ink)}.vbox-d{margin:0;font-size:14px;color:var(--ink-2);line-height:1.5}
.box.vbox .vbox-btn{flex:none;background:var(--surface,#fff)!important;color:var(--ink)!important;border:1px solid var(--ink);border-radius:10px;padding:11px 18px}.box.vbox .vbox-btn:hover{background:var(--chip,#eef3f1)!important}
/* fiche : « Non vérifié » en simple mention, sans pastille pointillée */
.vstat.no{border:0;padding:0;font-weight:500;font-size:13px;color:var(--muted)}.vstat.no i{margin-left:2px}

/* ================================================================ fiche espace v2 (31/10/2026, maquettes/fiche-espace-v2.html) : tout est sous .fiche2 */
main:has(.fiche2){background:#fff}main:has(.fiche2) .crumbs{display:none}
.fiche.fiche2{display:block;max-width:1120px;margin:0 auto;--f2-line:#E4E7E2;--f2-line2:#D3D8D0;--f2-soft:#F6F7F4;color:var(--ink);font-size:16px;line-height:1.55}
.fiche2 a{color:inherit}
.fiche2 .f2-i{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fiche2 .f2-star{width:14px;height:14px;fill:var(--ink);stroke:none;vertical-align:-1px;flex:none}
.fiche2 h2{font-size:22px;letter-spacing:-.01em;margin:0 0 18px;font-weight:700;padding:0;border:0;line-height:1.25}
.fiche2 .f2-fine{font-size:13px;color:var(--muted);margin:12px 0 0}
/* haut de fiche */
.f2-top{padding-top:22px}
.f2-fil{font-size:13px;color:var(--muted);margin:0 0 6px}.f2-fil a{text-decoration:none}.f2-fil a:hover{text-decoration:underline}
.fiche2 .f2-top h1{font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:0;font-weight:700;max-width:none}
.f2-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 22px}
.f2-l{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14.5px;margin:0}.f2-l b{font-weight:700}.f2-l a{font-weight:600}.f2-dot{color:var(--muted)}
.f2-vok{display:inline-flex;align-items:center;gap:5px;background:var(--lime);color:var(--forest);border-radius:999px;padding:3px 10px 3px 6px;font-size:13px;font-weight:700}.f2-vok .f2-i{width:16px;height:16px}
.f2-acts{display:flex;gap:4px;position:relative}
.f2-ghost{display:inline-flex;align-items:center;gap:7px;border:0;background:none;font:600 14px var(--font);color:var(--ink);padding:8px 10px;border-radius:8px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.f2-ghost:hover{background:var(--f2-soft)}.f2-ghost .f2-i{width:17px;height:17px}
.f2-ghost[aria-pressed=true] .f2-i{fill:var(--forest)}
.f2-toast{position:absolute;right:0;top:calc(100% + 4px);background:var(--forest);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px;white-space:nowrap;z-index:5}
.fiche2 .f2-top .note{margin:0 0 16px}
/* bandeau : photos ou plan du quartier */
.f2-band{position:relative;height:380px;border-radius:16px;overflow:hidden;background:var(--f2-soft)}
.f2-tiles{position:absolute;left:50%;top:50%;width:0;height:0}.f2-tiles img{position:absolute;width:256px;height:256px;max-width:none;filter:grayscale(.75) brightness(1.04) contrast(.92)}
.fiche2 .leaflet-tile-pane{filter:grayscale(.75) brightness(1.04) contrast(.92)}
.f2-pin{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-53px 0 0 -22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--forest);display:grid;place-items:center;box-shadow:0 6px 14px rgba(0,0,0,.3);border:3px solid #fff}
.f2-pin i{transform:rotate(45deg);color:var(--lime);font:800 15px var(--font);font-style:normal}
.f2-btag{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 6px 20px rgba(0,0,0,.14);display:flex;gap:12px;align-items:center;font-size:14px;max-width:calc(100% - 36px)}
.f2-btag b{display:block;font-size:14.5px}.f2-btag span{color:var(--muted);font-size:13px}
.f2-osm{position:absolute;right:8px;bottom:6px;font-size:11px;color:var(--muted);background:rgba(255,255,255,.8);padding:1px 6px;border-radius:4px}
.f2-ph{display:grid;gap:8px;background:none}.f2-ph img{width:100%;height:100%;object-fit:cover;display:block;background:var(--f2-soft);min-height:0}
.f2-ph.n2{grid-template-columns:1fr 1fr}.f2-ph.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.f2-ph.n3 img:first-child{grid-row:1/3}
.f2-ph.n4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.f2-ph.n4 img:first-child{grid-row:1/3}.f2-ph.n4 img:nth-child(4){grid-column:2/4}
.f2-ph.n5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}.f2-ph.n5 img:first-child{grid-row:1/3}
.f2-allph{position:absolute;right:18px;bottom:18px;display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--ink);border-radius:8px;padding:8px 14px;font:600 13.5px var(--font);color:var(--ink);cursor:pointer}.f2-allph .f2-i{width:16px;height:16px}
.f2-phsrc{position:absolute;left:12px;bottom:10px;font-size:11.5px;color:#fff;background:rgba(20,48,42,.6);padding:2px 8px;border-radius:5px}
.f2-dlg{width:min(960px,96vw);max-height:92vh;border:0;border-radius:14px;padding:44px 16px 16px;display:none}.f2-dlg[open]{display:grid;gap:10px;overflow:auto}
.f2-dlg img{width:100%;border-radius:10px}.f2-dlg::backdrop{background:rgba(13,36,30,.7)}
.f2-dlg-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:28px;line-height:1;cursor:pointer;color:var(--ink)}
/* corps : colonne principale et carte de demande collante */
.f2-grid{display:grid;grid-template-columns:minmax(0,1fr) 372px;grid-template-rows:auto 1fr;column-gap:80px;margin-top:40px}
.f2-a{grid-column:1;grid-row:1}.f2-b{grid-column:1;grid-row:2}.f2-side{grid-column:2;grid-row:1/3;position:relative;min-width:0}
.f2-closed .f2-grid{grid-template-columns:minmax(0,1fr)}
.f2-main{min-width:0}
.f2-sec{padding:32px 0;border-bottom:1px solid var(--f2-line)}.f2-a .f2-sec:first-child{padding-top:0}.f2-sec.f2-last{border:0}
.f2-host{display:flex;align-items:center;justify-content:space-between;gap:16px}
.fiche2 .f2-host h2{margin:0 0 2px;font-size:21px}.f2-host p{margin:0;color:var(--muted);font-size:14.5px}
.f2-host .f2-partner,.f2-host .f2-done{margin-top:8px;color:var(--ink-2)}.f2-done{font-weight:600}
.f2-av{width:52px;height:52px;border-radius:50%;background:var(--forest);color:var(--lime);display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}
.f2-hl{display:grid;gap:22px;list-style:none;margin:0;padding:0}.f2-hl li{display:flex;gap:18px}.f2-hl p{margin:0}.f2-hl b{display:block;font-size:15.5px}.f2-hl span{color:var(--muted);font-size:14.5px}
.fiche2 .prose p{margin:0 0 12px;color:var(--ink-2)}
.f2-unv{display:flex;gap:12px;align-items:flex-start;background:var(--f2-soft);border-radius:12px;padding:14px 16px;font-size:14px;color:var(--ink-2);margin-top:6px}
.f2-unv .f2-i{width:19px;height:19px;margin-top:1px}.f2-unv a{color:var(--muted);white-space:nowrap}
.fiche2 .fp-pro h2{margin-top:28px}
.f2-intro{margin:-8px 0 18px!important}
.f2-forms{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.f2-fc{border:1px solid var(--f2-line2);border-radius:12px;padding:16px 18px;text-align:left;background:#fff;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}
button.f2-fc{cursor:pointer}button.f2-fc:hover,button.f2-fc.on{border-color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.06)}
.f2-fc b{display:block;font-size:15.5px}.f2-fc .p{display:block;font-size:14.5px;margin-top:6px}.f2-fc .m{display:block;font-size:13px;color:var(--muted);margin-top:2px}
.fiche2 .box.tarifs{margin:22px 0 0;background:none;border:0;padding:0;box-shadow:none}.fiche2 .box.tarifs h2{font-size:17px;margin:0 0 12px}
.f2-amen{display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;list-style:none;padding:0;margin:0}
.f2-amen li{display:flex;gap:16px;align-items:center;font-size:15.5px}.f2-amen li::before{content:none}
.f2-amen li.more{display:none}.f2-amen.open li.more{display:flex}
.f2-out{display:inline-block;margin-top:24px;border:1px solid var(--ink);background:#fff;border-radius:8px;padding:12px 22px;font:600 15px var(--font);color:var(--ink);cursor:pointer;text-decoration:none}
.f2-out:hover{background:var(--f2-soft)}
.f2-hours{border-collapse:collapse;font-size:15px;max-width:440px;width:100%}.f2-hours td{padding:4px 0;border:0;vertical-align:top}.f2-hours td:first-child{color:var(--muted);width:170px;padding-right:12px}
.f2-tr{list-style:none;padding:0;margin:0;display:grid;gap:12px}.f2-tr li{display:flex;gap:14px;align-items:center;font-size:15px}
.f2-tr .k{display:inline-grid;place-items:center;min-width:52px;height:24px;padding:0 6px;border-radius:6px;font:700 12px var(--font);color:#fff;background:#3B4D46}
.f2-tr .nm{min-width:0}.f2-tr .nm a{font-size:13.5px;color:var(--muted)}.f2-tr small{color:var(--muted);font-size:14px;margin-left:auto;white-space:nowrap}
.f2-adr{margin:0 0 6px;color:var(--ink-2)}.f2-links{margin:0 0 16px;font-size:14.5px;font-weight:600}
.f2-lmap #map{height:300px;border-radius:14px;overflow:hidden;margin:0}
.f2-rev{display:flex;align-items:center;gap:28px}.f2-rev .big{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1}
.f2-stars{display:flex;gap:3px;margin-bottom:4px}.f2-stars .f2-star{width:16px;height:16px}.f2-rev b{font-size:16px}.f2-rev .f2-fine{margin:4px 0 8px}.f2-rev a{font-weight:600;font-size:14.5px}
.f2-near{display:grid;grid-auto-flow:column;grid-auto-columns:230px;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;overscroll-behavior-x:contain}
.f2-nc{text-decoration:none;display:block}.f2-th{display:block;height:150px;border-radius:12px;background:var(--f2-soft);overflow:hidden;margin-bottom:10px}
.f2-th svg,.f2-th img{width:100%;height:100%;display:block;object-fit:cover}
.f2-nc b{display:flex;justify-content:space-between;gap:8px;font-size:15px}.f2-nc b em{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.f2-nc b span{font-weight:500;white-space:nowrap;display:flex;gap:3px;align-items:center}
.f2-nm{display:block;margin-top:2px;font-size:14px;color:var(--muted)}
.f2-more{margin:18px 0 0;font-weight:600}
.fiche2 .table-wrap{margin:0}
.f2-faq .faq details{border:0;border-bottom:1px solid var(--f2-line);border-radius:0;padding:16px 0;margin:0;background:none;box-shadow:none}.f2-faq .faq details:last-child{border:0}
.f2-faq .faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:0}.f2-faq .faq summary::-webkit-details-marker{display:none}
.f2-faq .faq summary{font:600 16px/1.4 var(--font);letter-spacing:0}.f2-faq .faq summary::after{content:'+';position:static;flex:none;font:400 22px/1 var(--font);color:var(--muted)}.f2-faq .faq details[open] summary::after{content:'\2212'}
.f2-faq .faq details p{margin:10px 0 0;color:var(--ink-2);padding:0}
.f2-mgr{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.f2-mgr b{display:block;font-size:16px}.f2-mgr span{font-size:14.5px;color:var(--muted)}.f2-mgr .f2-out{margin:0}.f2-mgr>div{flex:1 1 260px}
/* carte de demande */
.fiche2 .f2-side .rz-card{margin:0 0 16px}
.fiche2 .req-card.f2-book{position:sticky;top:96px;scroll-margin-top:96px;border:1px solid var(--f2-line2);border-radius:16px;box-shadow:0 6px 22px rgba(0,0,0,.10);max-height:calc(100vh - 112px);overflow:auto;overscroll-behavior:contain}
.f2-bh{padding:24px 24px 0}.f2-price{font-size:22px;font-weight:700;letter-spacing:-.01em}.f2-price small{font-size:15px;font-weight:400;color:var(--muted)}
.f2-ref{font-size:13.5px;color:var(--muted);margin:2px 0 0}
.f2-book .rc-head,.f2-book .rc-bar{display:none}.f2-book:not(.f2-start) .rc-head{display:flex}.f2-book:not(.f2-start) .rc-bar{display:block}.f2-book:not(.f2-start) .f2-bh{display:none}
.f2-book.f2-start .rc-body{padding:18px 24px 0}
.f2-fields{border:1px solid var(--f2-line2);border-radius:10px;overflow:hidden}
.f2-row{display:grid;grid-template-columns:1fr 1fr}.f2-fields>.f2-fld,.f2-row+.f2-fld{border-top:1px solid var(--f2-line2)}
.f2-fld{display:block;padding:10px 14px;position:relative;cursor:pointer;margin:0}.f2-row .f2-fld+.f2-fld{border-left:1px solid var(--f2-line2)}
.f2-fld span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.f2-fld select{appearance:none;-webkit-appearance:none;border:0;background:none;font:400 15px var(--font);color:var(--ink);padding:2px 18px 0 0;width:100%;cursor:pointer;outline:0}
.f2-fld:focus-within{box-shadow:inset 0 0 0 2px var(--ink)}
.f2-fld::after{content:'';position:absolute;right:14px;bottom:17px;width:7px;height:7px;border-right:1.6px solid var(--ink);border-bottom:1.6px solid var(--ink);transform:rotate(45deg);pointer-events:none}
.f2-cta{display:block;width:100%;margin-top:16px;border:0;border-radius:10px;padding:15px;background:var(--forest);color:#fff!important;font:700 16px var(--font);cursor:pointer;text-align:center;text-decoration:none}
.f2-cta:hover{background:#0D241E}
.f2-note{text-align:center;font-size:13.5px;color:var(--muted);margin:12px 24px 20px}.f2-book:not(.f2-start) .f2-note{display:none}
.f2-signal{display:flex;gap:12px;align-items:center;font-size:14px;border-top:1px solid var(--f2-line);margin:0 24px;padding:14px 0 18px}.f2-signal[hidden]{display:none}.f2-signal .f2-i{width:24px;height:24px}
.f2-err{text-align:center;font-size:13px;color:var(--muted);margin-top:16px}
.f2-book .rc-body .back{margin-top:8px}
/* barre fixe sur mobile (classe sticky-cta : elle se retire quand la carte de demande est à l'écran) */
.sticky-cta.f2-mbar{display:none}
@media (max-width:960px){
  .f2-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;margin-top:28px}
  .f2-a,.f2-b,.f2-side{grid-column:1;grid-row:auto}
  .f2-side{padding:32px 0;border-bottom:1px solid var(--f2-line)}
  .fiche2 .req-card.f2-book{position:static;max-height:none;overflow:visible}
  .f2-band{height:260px;border-radius:0;margin:0 -16px}
  .fiche2 .f2-top h1{font-size:25px}.f2-acts{order:-1;width:100%;justify-content:flex-start;margin-left:-10px}
  .f2-forms,.f2-amen{grid-template-columns:1fr}
  .sticky-cta.f2-mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:600;background:#fff!important;color:var(--ink)!important;border-top:1px solid var(--f2-line,#E4E7E2);border-radius:0;box-shadow:0 -6px 18px rgba(0,0,0,.06);padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:14px;text-align:left;font-weight:400;transition:transform .25s}
  .sticky-cta.f2-mbar b{display:block;font-size:15px}.sticky-cta.f2-mbar span{display:block;font-size:13px;color:var(--muted);white-space:nowrap}
  .sticky-cta.f2-mbar .f2-cta{width:auto;margin:0;padding:13px 18px;font-size:15px;white-space:nowrap}
  .sticky-cta.f2-mbar.off{transform:translateY(110%)}
  main:has(.fiche2){padding-bottom:84px}
  .f2-rev{gap:20px}.f2-tr .k{min-width:46px}
}
@media (max-width:420px){.f2-tr li{flex-wrap:wrap;gap:4px 12px}.f2-tr small{margin-left:0;width:100%;padding-left:58px}.f2-ph.n4,.f2-ph.n5{grid-template-columns:2fr 1fr}.f2-ph.n5 img:nth-child(n+4),.f2-ph.n4 img:nth-child(4){display:none}}
.f2-pin.f2-pin-m{position:relative;left:auto;top:auto;margin:0}
.f2-closed .f2-main{max-width:740px}
@media (max-width:440px){.sticky-cta.f2-mbar{gap:10px;padding-left:14px;padding-right:12px}.sticky-cta.f2-mbar b{font-size:14px;white-space:nowrap}.sticky-cta.f2-mbar span{font-size:12.5px}.sticky-cta.f2-mbar .f2-cta{font-size:14px;padding:12px 14px}}
/* fiche v2 : horaires en tuiles (7 jours) et cartes de formules enrichies (photo, capacité, prix à l'heure, date et HT/TTC) */
.f2-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.f2-day{border:1px solid var(--f2-line2);border-radius:12px;padding:10px 4px 12px;text-align:center;background:#fff;min-width:0;display:flex;flex-direction:column;gap:4px}
.f2-day b{font-size:13px;font-weight:800;letter-spacing:.02em}.f2-day abbr{text-decoration:none;border:0}
.f2-day span{font-size:13px;line-height:1.35;color:var(--ink-2);overflow-wrap:anywhere;hyphens:auto}.f2-day span+span{border-top:1px dashed var(--f2-line2);padding-top:4px}
.f2-day.off span{color:var(--muted)}.f2-day.off{background:var(--f2-soft)}
.f2-day.today{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.f2-day.today b::after{content:"aujourd'hui";font-weight:600;color:var(--muted);display:block;font-size:10.5px;letter-spacing:0}
.f2-h24{margin:14px 0 0;font-size:14.5px}
.f2-fc .x{display:block;font-size:13.5px;margin-top:3px;color:var(--ink-2)}.f2-fc .d{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.f2-fcx{padding-top:0;overflow:hidden}.f2-fph{display:block;margin:0 -18px 12px;height:130px;background:var(--f2-soft)}.f2-fph img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:600px){.f2-days{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.f2-day{padding:8px 3px 10px}.f2-day span{font-size:12px;overflow-wrap:anywhere;hyphens:auto}}
.f2-bvok{margin:8px 0 0}

/* ================================================================ gabarit 2026 (maquettes accueil-2026 et ville-2026 validées le 31/10/2026)
   .vx : pages villes et arrondissements ; .hx : accueil. Rien n'y attend une animation pour s'afficher. */
:root{--grad:linear-gradient(100deg,#14302A 0%,#1F6B4F 45%,#7FB539 100%);--soft:#EEF2EA}
/* logo : le nom reste toujours visible (seules les chaises s'animent, plus vite) */
.cct .cct-w>path{animation:none!important;opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:no-preference){.cct .cct-t>rect,.cct .cct-b>rect{animation-delay:.05s!important;animation-duration:.6s!important}}
.js .vx .rv,.js .hx .rv,.js .hx .hv-pt tbody tr,.js .hx .hv-pop a,.js .vx .split .sw>i{opacity:1!important;transform:none!important;animation:none!important;clip-path:none!important}
.vx .spread *,.hx .hv-types{animation:none!important}

/* --- bandeau ville */
.vx-hero{position:relative;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:40px;padding:44px;align-items:end;margin:6px 0 0;min-height:440px;color:#fff;
  background:radial-gradient(120% 140% at 100% 0%,#1F6B4F 0%,#14302A 55%,#0D241E 100%)}
.vx-ph{position:absolute;inset:0;margin:0;z-index:0}
.vx-ph img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.vx-ph figcaption{position:absolute;right:14px;bottom:8px;z-index:3;font-size:11px;color:rgba(255,255,255,.78);margin:0}
.vx-ph figcaption a{color:inherit}
.vx-hasph::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,24,20,.9) 0%,rgba(10,24,20,.62) 55%,rgba(10,24,20,.3) 100%)}
.vx-hl,.vx-rq{position:relative;z-index:2;min-width:0}
.vx-hero h1{color:#fff;font-size:clamp(30px,4.4vw,56px);line-height:1.05;letter-spacing:-.04em;margin:0 0 16px;max-width:680px;overflow-wrap:break-word;font-weight:800}
.vx-hero .reponse{color:rgba(255,255,255,.93);font-size:17px;line-height:1.55;max-width:600px;margin:0;font-weight:500}
.vx-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0}
.vx-facts li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600;line-height:1.3}
.vx-facts a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.5)}
.vx-rq .req-card{position:static;margin:0;color:var(--ink);box-shadow:0 24px 60px -24px rgba(0,0,0,.55);border-color:transparent}
.vx>.box:first-of-type,.vx .vx-hero+.box{margin-top:22px}

/* --- filtres collants, liste et carte */
.vx-lw{margin-top:8px}
.vx-bar{position:sticky;top:var(--hdr,78px);z-index:15;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--line);margin:0 -16px;padding:0 16px}
.vx .vx-tools{display:flex;align-items:center;gap:12px;margin:0;padding:12px 0;min-width:0}
.vx-pills{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0;padding:2px 0}
.vx-pills::-webkit-scrollbar{display:none}
.vx .pill{flex:none;display:inline-flex;align-items:center;border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:8px 14px;font:600 14px/1.2 var(--font);color:var(--ink-2);cursor:pointer;white-space:nowrap}
.vx .pill:hover{border-color:var(--ink)}
.vx .pill.on{background:var(--forest);border-color:var(--forest);color:#fff}
.vx-pills .sep{flex:none;width:1px;background:var(--line);margin:4px 4px}
.vx-sels{display:flex;gap:8px;align-items:center;flex:none}
.vx-sels select{border-radius:999px;padding:8px 12px;font-weight:600;font-size:13.5px}
.vx-sels .count{white-space:nowrap;margin-left:4px}
.vx-split{display:grid;grid-template-columns:minmax(0,1fr) 42%;gap:24px;margin-top:20px;align-items:start}
.vx-listcol{min-width:0}
.vx-listcol .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.vx-mapcol{position:sticky;top:calc(var(--hdr,78px) + 78px);height:calc(100vh - var(--hdr,78px) - 100px);min-height:420px;max-height:860px;border-radius:22px;overflow:hidden;border:1px solid var(--line);background:var(--soft)}
.vx-mapcol #map{height:100%;margin:0;border:0;border-radius:0}
.vx-mapcol .leaflet-tile-pane{filter:grayscale(.7) brightness(1.04) contrast(.92)}
.mk{display:inline-block;transform:translate(-50%,-50%);background:#fff;color:var(--ink);border-radius:999px;padding:5px 10px;font:800 13px/1 var(--font);white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.22);border:1px solid rgba(0,0,0,.06);transition:background .15s,color .15s}
.on>.mk,.leaflet-marker-icon:hover .mk{background:var(--forest);color:#fff}
/* cartes : initiales en pastille (lues dans data-m, aucun texte ajouté à la page) */
.vx .card{position:relative}
.vx .card h3{padding-left:58px;min-height:24px}
.vx .card .addr{padding-left:58px;margin-top:-6px}
.vx .card h3::before{content:attr(data-m);position:absolute;left:18px;top:18px;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font:800 15px/1 var(--font);letter-spacing:0;color:var(--forest);background:#E3EFD2}
.vx .card[data-c="1"] h3::before{background:#DCEAF0}.vx .card[data-c="2"] h3::before{background:#F2E6D6}.vx .card[data-c="3"] h3::before{background:#E9E3F1}

/* --- prix médians */
.vx-meds{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.vx-meds>div{border-radius:20px;background:var(--surface);border:1px solid var(--line);padding:20px 20px 18px;display:flex;flex-direction:column;gap:2px}
.vx-meds span{font-size:13.5px;color:var(--muted);font-weight:600}
.vx-meds b{font:800 32px/1.1 var(--display);letter-spacing:-.04em;margin:6px 0 4px;font-variant-numeric:tabular-nums}
.vx-meds small{font-size:13px;color:var(--muted)}
.vx-meds small.up{color:#8A5A0B;font-weight:600}.vx-meds small.dn,.vx-meds small.eq{color:#1F6B4F;font-weight:600}
.vx .faq details{padding:6px 0}

@media (max-width:1000px){
  .vx-hero{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px 16px 20px;border-radius:0;margin:0 -16px;min-height:0;align-items:start}
  .vx-hasph::before{background:linear-gradient(180deg,rgba(10,24,20,.6) 0%,rgba(10,24,20,.9) 55%,rgba(10,24,20,.95) 100%)}
  .vx-split{grid-template-columns:minmax(0,1fr)}
  .vx-mapcol{position:relative;top:auto;height:300px;min-height:0;order:-1}
  .vx .vx-tools{flex-direction:column;align-items:stretch;gap:8px;padding:10px 0}
  .vx-sels{flex-wrap:wrap}.vx-sels select{flex:1 1 40%;min-width:0}
  .vx-bar{position:relative;top:auto;backdrop-filter:none;background:var(--bg)}
  .vx .vx-tools>.vx-pills,.vx .vx-tools>.vx-sels{width:100%;max-width:100%;align-self:stretch}.vx-sels select{width:0;max-width:100%}
  .vx-meds{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .vx-listcol .cards{grid-template-columns:minmax(0,1fr)}
  .vx-hero h1{font-size:30px}
  .vx-meds b{font-size:26px}
  .vx-sels .count{width:100%;margin:0}
}

/* --- accueil */
.hx{overflow-x:clip}
.hx-hero{text-align:center;padding:52px 0 18px}
.hx-k{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 16px;font:700 13.5px/1.3 var(--font)!important;letter-spacing:0!important;color:var(--ink-2);margin:0}
.hx-title{font:800 clamp(40px,6.2vw,76px)/1.02 var(--display);letter-spacing:-.045em;margin:22px auto 18px;max-width:920px;color:var(--ink)}
.hx-title em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-lead{font-size:19px;color:var(--ink-2);max-width:660px;margin:0 auto}
.hx-finder{max-width:880px;margin:34px auto 0;text-align:left}
.hx-tabs{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.hx-tabs button{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:9px 16px;font:600 14px var(--font);color:var(--ink-2);cursor:pointer}
.hx-tabs button.on{background:var(--forest);border-color:var(--forest);color:#fff}
.hx-i{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hx-bar{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:0 10px 30px -10px rgba(20,48,42,.22),0 2px 6px rgba(20,48,42,.06)}
.hx-bar .hv-f label{padding-left:4px}
.hx-go{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:0;border-radius:14px;background:var(--grad);color:#fff;font:700 15.5px var(--font);padding:0 24px;cursor:pointer}
.hx-go .hx-i{stroke-width:2.4}
.hx-trust{display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;margin:20px 0 0;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.hx-trust b{color:var(--ink)}
.hx-pop{justify-content:center}
.hx-sec{padding:72px 0 0}
.hx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.hx h2{font-size:clamp(28px,3.4vw,40px);letter-spacing:-.035em;line-height:1.08;margin:0;font-weight:800}
.hx-head p{margin:8px 0 0;color:var(--muted)}
.hx-more{font-weight:700;font-size:15px;white-space:nowrap;border-bottom:1.5px solid;text-decoration:none;color:var(--ink)}
.hx-cities{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:240px 240px;gap:16px}
.hx-cities.n1,.hx-cities.n2,.hx-cities.n3{grid-template-rows:300px}
.hx-city{position:relative;border-radius:22px;overflow:hidden;display:block;background:var(--forest);color:#fff;text-decoration:none}
.hx-city:first-child{grid-row:span 2}
.hx-cities.n1 .hx-city:first-child,.hx-cities.n2 .hx-city:first-child,.hx-cities.n3 .hx-city:first-child{grid-row:auto}
.hx-cimg{position:absolute;inset:0;margin:0}
.hx-cimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.hx-city:hover .hx-cimg img{transform:scale(1.04)}
.hx-city::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(10,24,20,.8) 100%)}
.hx-ct{position:absolute;left:22px;right:22px;bottom:20px;z-index:2}
.hx-ct b{display:block;font-size:24px;letter-spacing:-.02em;line-height:1.15}.hx-city:first-child .hx-ct b{font-size:34px}
.hx-ct small{font-size:14px;opacity:.92}
.hx-pill{position:absolute;top:16px;left:16px;z-index:2;background:rgba(255,255,255,.93);color:var(--ink);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}
.hx-clist{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hx-clist a{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:var(--ink)}
.hx-clist a:hover{border-color:var(--ink)}
.hx-clist small{color:var(--muted);font-size:13.5px}
.hx-uses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.hx-use{border-radius:22px;overflow:hidden;background:var(--surface);border:1px solid var(--line);display:block;text-decoration:none;color:var(--ink)}
.hx-uph{margin:0;height:190px;overflow:hidden}.hx-uph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.hx-use:hover .hx-uph img{transform:scale(1.05)}
.hx-ut{display:block;padding:18px 20px 22px}.hx-ut b{display:block;font-size:18px;letter-spacing:-.01em}.hx-ut>span{display:block;font-size:14.5px;color:var(--muted);margin-top:4px}
.hx-ut .hx-p{display:inline-block;margin-top:12px;font-weight:700;font-size:14px;color:var(--ink);background:var(--soft);border-radius:999px;padding:5px 12px}
.hx-how{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hx-how li{border:1px solid var(--line);border-radius:22px;padding:28px;background:var(--surface)}
.hx-how i{font-style:normal;display:block;font-size:56px;font-weight:800;letter-spacing:-.05em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:18px}
.hx-how b{display:block;font-size:19px;letter-spacing:-.01em}.hx-how p{margin:8px 0 0;color:var(--ink-2);font-size:15px}
.hx-why{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:40px;align-items:start}
.hx-big{font:800 clamp(56px,7vw,88px)/1 var(--display);letter-spacing:-.05em;margin:22px 0 8px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-bigt{color:var(--ink-2);margin:0;max-width:460px}
.hx-cta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin:24px 0 0}
.hx-btn{display:inline-flex;background:var(--forest);color:#fff;border-radius:999px;padding:13px 22px;font-weight:700;text-decoration:none}
.hx-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hx-list li{border:1px solid var(--line);border-radius:18px;padding:18px 20px;background:var(--surface)}
.hx-list b{display:block;font-size:16px;margin-bottom:4px}.hx-list span{font-size:14.5px;color:var(--muted)}
.hx-dark{background:var(--forest);color:#fff;border-radius:28px;padding:52px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px 48px;align-items:center}
.hx-dark h2{color:#fff}.hx-dark h3{color:#fff;font-size:18px;margin:0 0 12px}
.hx-med{margin:16px 0 0}.hx-med b{font:800 64px/1 var(--display);letter-spacing:-.05em;color:var(--lime)}.hx-med small{color:#B9CBC4;font-size:18px}
.hx-dl{color:#B9CBC4;margin:14px 0 0}
.hx-acts{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:24px 0 0}
.hx-acts a{color:#fff;font-weight:700}
.hx-lime{display:inline-flex;background:var(--lime)!important;color:var(--forest)!important;font-weight:800;border-radius:999px;padding:14px 22px;text-decoration:none}
.hx-nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hx-nums div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:20px}
.hx-nums b{display:block;font-size:34px;letter-spacing:-.04em;line-height:1.1}.hx-nums span{font-size:13.5px;color:#B9CBC4}
.hx-pl ul{list-style:none;padding:0;margin:0}
.hx-pl li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);position:relative}
.hx-pl li a{color:#fff;font-weight:600}.hx-pl li small{color:#B9CBC4}
.hx-h3{font-size:22px;margin:0 0 16px}
.hx-types{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.hx-types>div{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--surface)}
.hx-pros{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.hx-pph{margin:0;border-radius:22px;overflow:hidden;min-height:300px}.hx-pph img{width:100%;height:100%;object-fit:cover;display:block}
.hx-pt{border-radius:22px;background:var(--soft);padding:40px;display:flex;flex-direction:column;justify-content:center}
.hx-pt p{color:var(--ink-2);margin:14px 0 24px}
.hx-ob{align-self:flex-start;border:1.5px solid var(--ink);border-radius:999px;padding:12px 20px;font-weight:700;text-decoration:none;color:var(--ink)}
.hx-links .hv-h2s:first-child{margin-top:0!important}
.hx-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}
.hx-three>div{border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--surface)}.hx-three h3{font-size:19px;margin:0 0 8px}.hx-three p{margin:0;color:var(--ink-2);font-size:15px}
.hx .cpw{padding-top:72px}
.hx-faq .faq{max-width:none}
.hx-end{margin:72px 0 0;background:var(--forest);color:#fff;border-radius:28px;padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.hx-end h2{color:#fff;font-size:clamp(24px,3vw,34px)}.hx-end p{color:#B9CBC4;margin:8px 0 0}
@media (max-width:900px){
  .hx-hero{padding:34px 0 8px}.hx-lead{font-size:17px}
  .hx-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.hx-bar .hv-fv,.hx-go{grid-column:1/-1}
  .hx-cities{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:none;grid-auto-rows:190px}.hx-city:first-child{grid-column:span 2;grid-row:auto}
  .hx-cities.n1,.hx-cities.n2,.hx-cities.n3{grid-template-rows:none}
  .hx-clist{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-uses{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-uph{height:140px}
  .hx-how,.hx-pros,.hx-why,.hx-three{grid-template-columns:minmax(0,1fr)}
  .hx-dark{grid-template-columns:minmax(0,1fr);padding:32px 22px;gap:28px}
  .hx-types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hx-head{flex-direction:column;align-items:flex-start}
  .hx-end{padding:32px 24px}
}
@media (max-width:520px){
  .hx-uses,.hx-list{grid-template-columns:minmax(0,1fr)}
  .hx-trust{gap:8px 16px}
  .hx-tabs button{padding:8px 12px;font-size:13.5px}
  .hx-pt{padding:28px 22px}
  .hx-med b{font-size:52px}
}

/* accueil : bloc gérants avec réservation et modules (01/11/2026) */
.hx-pl{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px}.hx-pl li{display:block;position:relative;padding-left:26px;color:var(--ink-2);line-height:1.5}.hx-pl li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--accent,#1f7a5c)}.hx-pl b{color:var(--ink)}
.hx-pt>p{margin-bottom:16px}.hx-pa{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}.hx-pl2{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.vx-resa{margin:8px 0 0;color:var(--ink-2);font-size:15px}
.vx-hero .vx-resa{color:rgba(255,255,255,.88);max-width:600px;margin:10px 0 0;font-size:15.5px}
/* bandeau de mesure d'audience (recette du 01/11/2026) : il ne masque plus le bouton « Réserver ». Sur ordinateur, il passe à gauche,
   plus compact (la colonne de réservation est à droite) ; tant qu'il est affiché, la page garde une marge basse de sa hauteur
   et la carte collante de la fiche se raccourcit d'autant, pour que le bas du panier reste visible. */
@media (min-width:900px){.cc{right:auto;margin-left:0;max-width:440px;padding:12px 14px;gap:10px}.cc p{font-size:13px;flex-basis:200px}
  body.cc-on{padding-bottom:calc(var(--cc-h,0px) + 24px)}
  body.cc-on .fiche2 .req-card.f2-book{max-height:calc(100vh - 112px - var(--cc-h,0px) - 24px)}}

/* recette B du 01/11/2026 : sur mobile, quand il recouvrirait le formulaire de demande, le bandeau de mesure d'audience passe en tête de page, dans le flux */
.cc.cc-top{position:relative;left:auto;right:auto;bottom:auto;margin:12px 16px;max-width:none}
/* recette B du 01/11/2026 : sur petit mobile, les champs du moteur de l'accueil (FR et coworkingprices.com) passent sur une colonne,
   pour que « Dès que possible » / « As soon as possible » et leurs traductions ne soient plus coupés */
@media (max-width:480px){.hx-bar{grid-template-columns:minmax(0,1fr)}}

/* accueil : bloc gérants complet, toutes les fonctionnalités de l'espace pro (01/11/2026). Règles nouvelles, préfixe hx-gx (rien d'existant n'est modifié) */
.hx-gx .hx-pt p.hx-gx-log{margin:16px 0 0;font-size:14px;color:var(--muted)}.hx-gx-log a{color:var(--ink);font-weight:600}
.hx-gx-cles{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hx-gx-cles li{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 14px 12px}
.hx-gx-cles b{display:block;font:800 28px/1 var(--display);letter-spacing:-.04em;color:var(--ink)}.hx-gx-cles span{display:block;margin-top:6px;font-size:13px;line-height:1.35;color:var(--muted)}
.hx-gx-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin-top:16px}
.hx-gx-c{grid-column:span 2;border:1px solid var(--line);border-radius:22px;padding:26px 26px 22px;background:var(--surface);display:flex;flex-direction:column}
.hx-gx-c.hx-gx-resa,.hx-gx-c.hx-gx-mod,.hx-gx-c.hx-gx-fiche,.hx-gx-c.hx-gx-dem{grid-column:span 3}
.hx-gx-c.hx-gx-res{grid-column:1/-1}.hx-gx-res ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.hx-gx-c h3{font-size:19px;letter-spacing:-.01em;margin:0}
.hx-gx-prix{margin:6px 0 14px;font-size:12.5px;font-weight:400;line-height:1.4;color:var(--muted)}
.hx-gx-c ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px}
.hx-gx-c li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.5;color:var(--ink-2)}
.hx-gx-c li::before{content:"";position:absolute;left:2px;top:.45em;width:11px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.hx-gx-c li b{color:var(--ink)}
.hx-gx-more{margin-top:auto;align-self:flex-start;color:var(--ink);font-weight:700;font-size:14.5px;text-decoration:underline;text-underline-offset:3px}
.hx-gx-c.hx-gx-resa{background:var(--forest);border-color:var(--forest);color:#fff}
.hx-gx-resa h3,.hx-gx-resa li b{color:#fff}.hx-gx-resa li{color:#D5E0DB}.hx-gx-resa li::before{border-color:var(--lime)}
.hx-gx-resa .hx-gx-prix{color:#B9C9C2}.hx-gx-resa .hx-gx-more{color:var(--lime)}
.hx-gx-note{margin:16px 0 0;font-size:14px;color:var(--muted);max-width:900px}.hx-gx-note a{color:var(--ink);font-weight:600}
@media (max-width:900px){.hx-gx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hx-gx-c.hx-gx-mod,.hx-gx-c.hx-gx-fiche,.hx-gx-c.hx-gx-dem{grid-column:span 1}.hx-gx-c.hx-gx-resa,.hx-gx-c.hx-gx-res{grid-column:1/-1}}
@media (max-width:600px){.hx-gx-grid{grid-template-columns:minmax(0,1fr);gap:12px}.hx-gx-grid>.hx-gx-c{grid-column:auto}.hx-gx-res ul{grid-template-columns:minmax(0,1fr)}.hx-gx-c{padding:22px 20px 18px;border-radius:18px}
  .hx-gx-cles{gap:8px}.hx-gx-cles li{padding:12px 10px 10px;border-radius:14px}.hx-gx-cles b{font-size:24px}.hx-gx-cles span{font-size:12.5px}
  .hx-gx .hx-pph{display:none}}
