/* Layout : éditorial sobre. Hero en deux colonnes avec la vraie façade, trait rouge repris du logo, méthode en 5 étapes illustrées par les dessins maison. */
:root{
  --paper:#FFFFFF; --mist:#F5F3F3; --ink:#262427; --ink-soft:#5C595D; --rule:#E4E0E0;
  --red:#D3141D; --red-soft:rgba(211,20,29,.08); --on-red:#FFFFFF;
  --display:"EB Garamond","Garamond","Times New Roman",serif;
  --sans:"Jost","Avenir Next","Segoe UI",system-ui,sans-serif;
  --wrap:1180px; --art-filter:none;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#141315; --mist:#1C1B1D; --ink:#EEECEC; --ink-soft:#ABA7AA; --rule:#2F2C2F;
  --red:#FF4B54; --red-soft:rgba(255,75,84,.12); --on-red:#141315; --art-filter:invert(1) hue-rotate(180deg); color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#141315; --mist:#1C1B1D; --ink:#EEECEC; --ink-soft:#ABA7AA; --rule:#2F2C2F;
  --red:#FF4B54; --red-soft:rgba(255,75,84,.12); --on-red:#141315; --art-filter:invert(1) hue-rotate(180deg); color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;text-wrap:balance;margin:0}
h2{font-size:clamp(2rem,4vw,2.9rem)}
p{margin:0}
.lead{font-size:1.125rem;color:var(--ink-soft);max-width:60ch}
.label{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.tbc{display:inline-block;font:600 .68rem/1.4 var(--sans);letter-spacing:.06em;color:var(--red);background:var(--red-soft);padding:.1em .5em;border-radius:3px;vertical-align:.15em;white-space:normal}

/* bandeau maquette */
.proto{background:var(--ink);color:var(--paper);font-size:.8rem;text-align:center;padding:.45rem 16px}

/* en-tête */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand img{height:54px;width:auto}
.logo-dark{display:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-light{display:none!important}:root:not([data-theme="light"]) .logo-dark{display:block!important}}
:root[data-theme="dark"] .logo-light{display:none!important}
:root[data-theme="dark"] .logo-dark{display:block!important}
nav.main{display:flex;align-items:center;gap:28px;font-size:.95rem;font-weight:500}
nav.main a{text-decoration:none;color:var(--ink)}
nav.main a:hover{color:var(--red)}
.btn{display:inline-flex;align-items:center;gap:.5em;font:500 .95rem/1 var(--sans);text-decoration:none;padding:1em 1.6em;border-radius:0;letter-spacing:.02em;border:1.5px solid var(--red);transition:background .2s,color .2s}
.btn-red{background:var(--red);color:var(--on-red)!important}
.btn-red:hover{background:transparent;color:var(--red)!important}
.btn-ghost{color:var(--ink);border-color:var(--rule)}
.btn-ghost:hover{border-color:var(--red);color:var(--red)}
.menu{display:none}
@media (max-width:960px){
  nav.main{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;font-weight:500;padding:.6em 1em;border:1.5px solid var(--rule);border-radius:0}
  .menu summary::-webkit-details-marker{display:none}
  .menu[open] .panel{display:flex}
  .menu .panel{position:absolute;right:0;top:calc(100% + 10px);flex-direction:column;gap:4px;background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:12px;min-width:230px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
  .menu .panel a{text-decoration:none;padding:.55em .7em;border-radius:8px}
  .menu .panel a:hover{background:var(--mist)}
}

/* hero */
.hero{padding-block:clamp(40px,7vw,96px) clamp(48px,7vw,88px)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
.hero h1{display:flex;flex-direction:column;gap:18px}
.hero h1 .k{font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.hero h1 .m{font-size:clamp(2.9rem,7vw,5.4rem);line-height:1;letter-spacing:-.01em}
.swoosh{display:block;width:min(420px,80%);height:18px;margin:22px 0 26px;color:var(--red)}
.hero .lead{font-size:1.2rem}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:40px;padding-top:22px;border-top:1px solid var(--rule);font-size:.92rem;color:var(--ink-soft)}
.facts b{display:block;font-family:var(--display);font-size:1.45rem;font-weight:500;color:var(--ink);line-height:1.2}
.photo{min-width:0}
.frame{position:relative;isolation:isolate}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:62% 50%;border-radius:4px}
.frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:1.5px solid var(--red);border-radius:4px;z-index:-1}
.photo figcaption{margin-top:28px;font-size:.85rem;color:var(--ink-soft)}
.hero .text{min-width:0}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}.photo img{aspect-ratio:4/3}.frame::before{inset:12px -12px -12px 12px}}

section{padding-block:clamp(64px,9vw,120px)}
.head{display:flex;flex-direction:column;gap:16px;margin-bottom:clamp(36px,5vw,56px)}

/* pour qui */
.who{background:var(--mist)}
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.who-card{background:var(--paper);border-radius:6px;padding:clamp(24px,3.5vw,40px);display:flex;flex-direction:column;gap:14px;text-decoration:none;border:1px solid transparent;transition:border-color .2s}
.who-card:hover{border-color:var(--red)}
.who-card h3{font-size:1.9rem}
.who-card p{color:var(--ink-soft)}
.who-card .go{margin-top:auto;padding-top:10px;font-weight:500;color:var(--red)}
@media (max-width:720px){.who-grid{grid-template-columns:1fr}}

/* méthode */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,28px);counter-reset:s}
.steps li{display:flex;flex-direction:column;gap:12px;min-width:0;counter-increment:s}
.steps .art{height:150px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1.5px solid var(--ink);padding-bottom:14px;margin-bottom:6px}
.steps .art img{max-height:100%;width:auto;filter:var(--art-filter)}
.steps .n{font-family:var(--display);font-size:1rem;color:var(--red)}
.steps .n::before{content:"Étape " counter(s)}
.steps h3{font-size:1.45rem}
.steps p{font-size:.95rem;color:var(--ink-soft)}
.steps .dur{align-self:flex-start;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--mist);padding:.25em .7em;border-radius:2px}
@media (max-width:1020px){.steps{grid-template-columns:repeat(2,1fr);row-gap:44px}}
@media (max-width:540px){.steps{grid-template-columns:1fr}}

/* expertises */
.exp .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,96px)}
.exp .head{position:sticky;top:110px;align-self:start}
.exp-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.exp-list a{display:grid;grid-template-columns:1fr auto;gap:6px 24px;padding:26px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.exp-list h3{font-size:1.6rem;transition:color .2s}
.exp-list p{grid-column:1;color:var(--ink-soft);font-size:.98rem;max-width:52ch}
.exp-list .arrow{grid-row:1/3;grid-column:2;align-self:center;font-size:1.3rem;color:var(--red);transition:transform .2s}
.exp-list a:hover h3{color:var(--red)}
.exp-list a:hover .arrow{transform:translateX(4px)}
@media (max-width:860px){.exp .wrap{grid-template-columns:1fr}.exp .head{position:static}}

/* cabinet */
.cab{background:var(--mist)}

.cab .art{max-width:340px;justify-self:center}
.cab .art img{filter:var(--art-filter)}
.cab .txt{display:flex;flex-direction:column;gap:20px;min-width:0}
.cab .txt p{color:var(--ink-soft);max-width:58ch}
.values{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:0;list-style:none}
.values li{font-size:.88rem;font-weight:500;border:1px solid var(--rule);background:var(--paper);padding:.45em 1em;border-radius:2px}
.experts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:6px;overflow:hidden;margin-top:12px}
.experts div{background:var(--paper);padding:16px;font-family:var(--display);font-size:1.15rem;text-align:center}
@media (max-width:860px){.cab .art{max-width:240px}}
@media (max-width:540px){.experts{grid-template-columns:1fr 1fr}}

/* faq */
.faq .wrap{max-width:860px}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-family:var(--display);font-size:1.45rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--red);font-family:var(--sans);font-size:1.5rem;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-bottom:24px;color:var(--ink-soft);max-width:65ch}

/* contact */
.contact{background:var(--ink);color:var(--paper)}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px)}
.contact h2{font-size:clamp(2.4rem,5vw,3.6rem)}
.contact .lead{color:color-mix(in srgb,var(--paper) 72%,var(--ink))}
.coords{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:18px}
.coords span{display:block;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--paper) 55%,var(--ink))}
.coords b{font-weight:500;font-size:1.1rem}
form{display:grid;gap:14px;align-content:start}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label{display:grid;gap:6px;font-size:.85rem;font-weight:500}
input,textarea,select{font:inherit;font-size:1rem;color:var(--paper);background:color-mix(in srgb,var(--paper) 7%,var(--ink));border:1px solid color-mix(in srgb,var(--paper) 22%,var(--ink));border-radius:0;padding:.8em .9em;width:100%}
textarea{min-height:110px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:2px solid var(--red);outline-offset:0;border-color:transparent}
.contact .btn-red{justify-self:start;border:none;cursor:pointer;padding:1em 1.8em}
.note{font-size:.8rem;color:color-mix(in srgb,var(--paper) 60%,var(--ink))}
.sent{font-size:.95rem;color:var(--paper);background:color-mix(in srgb,var(--paper) 10%,var(--ink));padding:12px 14px;border-radius:6px}
@media (max-width:860px){.contact .wrap{grid-template-columns:1fr}}
@media (max-width:480px){.row2{grid-template-columns:1fr}}

/* pied */
footer{padding-block:48px 36px;border-top:1px solid var(--rule);font-size:.88rem;color:var(--ink-soft)}
footer .wrap{display:grid;gap:28px}
.f-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.f-top img{height:40px;width:auto}
.f-legal p{margin:0;max-width:90ch}
.f-nav{display:flex;flex-wrap:wrap;gap:8px 24px}
.f-nav a{text-decoration:none}
.f-nav a:hover{color:var(--red)}
.f-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--rule)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* équipe */
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:clamp(40px,5vw,64px);list-style:none;padding:0}
.team li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}
.team .ph{width:112px;height:112px;border-radius:50%;object-fit:cover;margin-bottom:10px;box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--red)}
.team .ini{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:2.2rem;color:var(--red);background:var(--paper);margin-bottom:10px;box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--red)}
.team b{font-family:var(--display);font-weight:500;font-size:1.3rem;line-height:1.2}
.team span{font-size:.88rem;color:var(--ink-soft)}
@media (max-width:1020px){.team{grid-template-columns:repeat(3,1fr);row-gap:36px}}
@media (max-width:560px){.team{grid-template-columns:repeat(2,1fr)}}
.cab-top{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(32px,6vw,88px);align-items:center}
@media (max-width:860px){.cab-top{grid-template-columns:1fr}}

/* conseils */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.post{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--rule);min-width:0}
.post h3{font-size:1.45rem}
.post p{font-size:.95rem;color:var(--ink-soft)}
.post .soon{margin-top:auto;padding-top:8px;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
@media (max-width:900px){.posts{grid-template-columns:1fr}}

/* v3 : expertises illustrées */
.exp-list a{grid-template-columns:88px 1fr auto;align-items:center}
.exp-list .ico{grid-row:1/3;grid-column:1;width:88px;height:80px;object-fit:contain;filter:var(--art-filter)}
.exp-list h3,.exp-list p{grid-column:2}
.exp-list .arrow{grid-column:3}
.exp-list a:hover .ico{transform:rotate(-3deg)}
.exp-list .ico{transition:transform .25s}
@media (max-width:480px){.exp-list a{grid-template-columns:64px 1fr auto}.exp-list .ico{width:64px;height:60px}}

/* v3 : principes et experts */
.creed{margin-top:clamp(48px,6vw,80px);padding-block:clamp(28px,4vw,40px);border-block:1px solid var(--rule)}
.creed .label{display:block;margin-bottom:14px}
.creed ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-family:var(--display);font-size:clamp(1.6rem,3.6vw,2.6rem);line-height:1.25}
.creed li:not(:last-child)::after{content:"·";color:var(--red);margin-inline:.35em}
.network{margin-top:clamp(40px,5vw,64px);display:grid;grid-template-columns:.8fr 2.2fr;gap:clamp(24px,4vw,56px)}
.network h3{font-size:clamp(1.6rem,3vw,2.1rem)}
.network>div>p{color:var(--ink-soft);margin-top:12px}
.net-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.net-list li{border-top:2px solid var(--red);padding-top:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.net-list b{font-family:var(--display);font-weight:500;font-size:1.35rem;line-height:1.2}
.net-list span{font-size:.92rem;color:var(--ink-soft)}
@media (max-width:960px){.network{grid-template-columns:1fr}.net-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:440px){.net-list{grid-template-columns:1fr}}

/* v3 : conseils */
.posts{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense}
.post{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s;background:var(--paper)}
.post:hover{border-color:var(--red)}
.post .top-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.post .top-line img{width:56px;height:50px;object-fit:contain;filter:var(--art-filter)}
.post .more{margin-top:auto;padding-top:8px;font-weight:500;color:var(--red);font-size:.92rem}
.post.feat{grid-column:span 2;background:var(--mist);border-color:transparent}
.post.feat h3{font-size:clamp(1.7rem,2.6vw,2.2rem)}
.post.feat .top-line img{width:96px;height:84px}
@media (max-width:900px){.posts{grid-template-columns:1fr 1fr}.post.feat{grid-column:span 2}}
@media (max-width:600px){.posts{grid-template-columns:1fr}.post.feat{grid-column:auto}}

/* v3 : formulaire détaillé */
.contact .wrap{grid-template-columns:.85fr 1.15fr}
fieldset{border:0;margin:0;padding:0;display:grid;gap:14px}
legend{font-family:var(--display);font-size:1.35rem;margin-bottom:12px;padding:0}
fieldset+fieldset{margin-top:16px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--paper) 16%,var(--ink))}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.opt{font-weight:400;opacity:.65}
.choice{display:flex;flex-wrap:wrap;gap:8px}
.choice label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.95rem;border:1px solid color-mix(in srgb,var(--paper) 22%,var(--ink));padding:.6em .9em;cursor:pointer}
.choice input{width:auto;accent-color:var(--red)}
.prefilled{outline:2px solid var(--red)!important;transition:outline-color 1.2s}
.coords .hours{font-size:.95rem}
@media (max-width:960px){.contact .wrap{grid-template-columns:1fr}}
@media (max-width:620px){.row3{grid-template-columns:1fr}}

/* v3 : pages conseils */
.art-head{padding-block:clamp(40px,6vw,72px) 24px}
.art-head .wrap,.art-body .wrap{max-width:780px}
.page-head{padding-block:clamp(40px,6vw,72px) 8px}
.page-head h1{font-size:clamp(2.1rem,5vw,3.3rem);margin-top:14px}
.crumb{font-size:.88rem;color:var(--ink-soft);margin-bottom:24px;display:flex;gap:8px;flex-wrap:wrap}
.crumb a{text-decoration:none;color:var(--ink-soft)}
.crumb a:hover{color:var(--red)}
.art-head h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-top:14px}
.art-head .meta{display:flex;align-items:center;gap:18px;margin-top:22px;color:var(--ink-soft);font-size:.92rem}
.art-head .meta img{width:84px;height:74px;object-fit:contain;filter:var(--art-filter)}
.art-body{padding-block:8px clamp(56px,8vw,96px)}
.prose{font-size:1.08rem;line-height:1.75}
.prose p,.prose ul{margin:0 0 1.1em}
.prose h2{font-size:1.7rem;margin:1.6em 0 .5em}
.prose li{margin-bottom:.45em}
.keep{margin-top:40px;background:var(--mist);padding:clamp(22px,3vw,32px);border-left:3px solid var(--red)}
.keep h2{font-size:1.4rem;margin-bottom:12px}
.keep ul{margin:0;padding-left:1.2em}
.keep li{margin-bottom:.4em}
.art-cta{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:28px;border:1px solid var(--rule)}
.art-cta p{font-family:var(--display);font-size:1.45rem;line-height:1.25;max-width:30ch}
.disclaimer{margin-top:28px;font-size:.82rem;color:var(--ink-soft)}
.related{margin-top:56px}
.related h2{font-size:1.6rem;margin-bottom:18px}
.related .posts{grid-template-columns:1fr 1fr}
@media (max-width:600px){.related .posts{grid-template-columns:1fr}}
.coords .tbc{display:inline-block;letter-spacing:.06em;color:var(--red);text-transform:none}

/* v4 : équipe */
.team-head{margin-top:clamp(48px,6vw,80px);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 40px}
.team-head h3{font-size:clamp(1.6rem,3vw,2.1rem)}
.team-head p{color:var(--ink-soft);max-width:52ch}
.people{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.person{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;background:var(--paper);padding:24px;min-width:0}
.person img{width:120px;height:120px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px var(--paper),0 0 0 4.5px var(--red)}
.person div{display:flex;flex-direction:column;gap:6px;min-width:0}
.person b{font-family:var(--display);font-weight:500;font-size:1.5rem;line-height:1.15}
.person .role{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.person p{color:var(--ink-soft);font-size:.95rem;margin-top:4px}
.li{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:.9rem;font-weight:500;text-decoration:none;color:var(--ink)}
.li:hover{color:var(--red)}
@media (max-width:860px){.people{grid-template-columns:1fr}}
@media (max-width:440px){.person{grid-template-columns:1fr}.person img{width:96px;height:96px}}

/* v4 : avis */
.reviews{padding-block:clamp(56px,7vw,88px);background:var(--red-soft)}
.reviews .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(24px,4vw,56px);align-items:center}
.stars{display:flex;gap:2px;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--red);line-height:1}
.rv-text{display:flex;flex-direction:column;gap:12px;min-width:0}
.rv-text h2{font-size:clamp(1.8rem,3.4vw,2.5rem)}
.rv-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch}
@media (max-width:960px){.reviews .wrap{grid-template-columns:1fr}.rv-cta{flex-direction:row;flex-wrap:wrap;align-items:center}}

/* v4 : zone */
.zone .wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(32px,5vw,72px);align-items:center}
.zone-text{display:flex;flex-direction:column;gap:18px;min-width:0}
.check{display:grid;gap:10px;margin-top:8px}
.check label{font-size:.85rem;font-weight:600}
.check-row{display:flex;gap:0}
.check-row input{flex:1;min-width:0;font:inherit;padding:.9em 1em;border:1.5px solid var(--rule);border-right:0;background:var(--paper);color:var(--ink)}
.check-row input:focus{outline:2px solid var(--red);outline-offset:-2px}
.check-res{min-height:1.6em;font-weight:500}
.check-res.ok{color:var(--ok)}
.check-res.ko{color:var(--red)}
.maplink{font-weight:500;color:var(--red);text-decoration:none}
.map-wrap{position:relative;min-width:0}
#map{height:clamp(320px,42vw,460px);background:var(--mist);border:1px solid var(--rule)}
.map-fallback{position:absolute;inset:auto 16px 16px 16px;background:var(--paper);border:1px solid var(--rule);padding:12px 14px;font-size:.88rem;color:var(--ink-soft)}
.map-fallback[hidden]{display:none}
.pin{display:flex;align-items:center;gap:6px;white-space:nowrap;font:600 12px/1 var(--sans);color:#262427}
.pin i{display:block;width:16px;height:16px;border-radius:50%;background:#D3141D;border:3px solid #fff;box-shadow:0 0 0 1.5px #D3141D}
.pin span{background:#fff;padding:4px 6px;box-shadow:0 1px 4px rgba(0,0,0,.25)}
@media (max-width:900px){.zone .wrap{grid-template-columns:1fr}}

/* Leaflet, styles minimaux */
.leaflet-container{overflow:hidden;font:inherit;-webkit-tap-highlight-color:transparent}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}
.leaflet-tile,.leaflet-marker-icon{user-select:none;-webkit-user-drag:none}
.leaflet-container img.leaflet-tile,.leaflet-container .leaflet-marker-icon{max-width:none!important;max-height:none!important;width:auto;padding:0}
.leaflet-container img.leaflet-tile{width:256px;height:256px}
.leaflet-tile{visibility:hidden}.leaflet-tile-loaded{visibility:inherit}
.leaflet-zoom-animated{transform-origin:0 0}
.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}
.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-marker-pane{z-index:600}
.leaflet-overlay-pane svg{overflow:visible}
.leaflet-interactive{cursor:pointer}
.leaflet-grab{cursor:grab}
.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}
.leaflet-top{top:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-right{right:0}
.leaflet-control{position:relative;z-index:800;pointer-events:auto;float:left;clear:both}
.leaflet-right .leaflet-control{float:right}
.leaflet-top .leaflet-control{margin-top:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}
.leaflet-bar{background:#fff;box-shadow:0 1px 5px rgba(0,0,0,.3)}
.leaflet-bar a{display:block;width:32px;height:32px;line-height:32px;text-align:center;text-decoration:none;color:#262427;font:600 18px/32px var(--sans);border-bottom:1px solid #ddd}
.leaflet-bar a:last-child{border-bottom:0}
.leaflet-control-attribution{background:rgba(255,255,255,.85);padding:2px 6px;font-size:11px;color:#333}
.leaflet-control-attribution a{color:#333}

/* v4 : formulaire */
.cover{font-size:.92rem;font-weight:500;min-height:0}
.cover.ok{color:var(--ok-on-ink)}
.cover.ko{color:color-mix(in srgb,var(--paper) 80%,var(--ink))}
.hint{font-size:.8rem;color:color-mix(in srgb,var(--paper) 58%,var(--ink))}
.row2.cp{grid-template-columns:.6fr 1.4fr}
.risk{display:grid;gap:10px;padding:16px;border:1px solid color-mix(in srgb,var(--paper) 18%,var(--ink))}
.risk-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.rlabel{font-size:.85rem;font-weight:500}
.r-reset{font:inherit;font-size:.8rem;background:none;border:0;color:color-mix(in srgb,var(--paper) 70%,var(--ink));text-decoration:underline;cursor:pointer}
.risk-body{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
.rfigs{width:120px;height:105px;color:var(--paper);display:grid;place-items:center}
.rfig{width:100%;height:100%}
.rfig svg{width:100%;height:100%}
.rfig-empty{display:grid;place-items:center;font-family:var(--display);font-size:3rem;color:color-mix(in srgb,var(--paper) 40%,var(--ink));border:1.5px dashed color-mix(in srgb,var(--paper) 30%,var(--ink));border-radius:50%;width:84px;height:84px}
.rfig[hidden]{display:none}
.risk-ctrl{min-width:0}
.risk input[type=range]{width:100%;padding:0;border:0;background:none;accent-color:var(--red);height:28px}
.ticks,.ends{display:flex;justify-content:space-between;font-size:.75rem;color:color-mix(in srgb,var(--paper) 62%,var(--ink))}
.ticks{padding-inline:6px}
.ends{margin-top:2px;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}
.r-desc{margin-top:10px;font-size:.92rem;min-height:2.8em}
.r-desc b{font-family:var(--display);font-weight:500;font-size:1.2rem;margin-right:6px}
.r-note{font-size:.78rem;color:color-mix(in srgb,var(--paper) 58%,var(--ink))}
.risk.unset input[type=range]{opacity:.55}
.note a{color:inherit}
@media (max-width:520px){.risk-body{grid-template-columns:1fr}.rfigs{margin-inline:auto}}

/* v4 : pages légales */
.legal-page .prose h2{font-size:1.5rem}
.legal-page .prose h3{font-size:1.2rem;margin:1.2em 0 .4em;font-family:var(--display);font-weight:500}
.legal-page .prose ul{padding-left:1.2em}

/* v5 : barre d'appel mobile */
.callbar{display:none}
@media (max-width:720px){
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:1px solid var(--rule);box-shadow:0 -6px 20px rgba(0,0,0,.08)}
  .callbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 10px;font-weight:600;text-decoration:none;font-size:.98rem}
  .cb-call{color:var(--ink)}
  .cb-rdv{background:var(--red);color:var(--on-red)}
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
}

/* v5 : comparatif */
.compare{background:var(--mist)}
.cmp-wrap{overflow-x:auto}
.cmp{width:100%;border-collapse:collapse;min-width:620px;background:var(--paper)}
.cmp th,.cmp td{text-align:left;padding:18px 20px;border-bottom:1px solid var(--rule);vertical-align:top}
.cmp thead th{font-family:var(--display);font-weight:500;font-size:1.35rem;border-bottom:2px solid var(--ink)}
.cmp tbody th{font-weight:600;font-size:.92rem;width:24%}
.cmp td{color:var(--ink-soft)}
.cmp .us{background:var(--red-soft);color:var(--ink)}
.cmp thead .us{color:var(--red);border-bottom-color:var(--red)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* v5 : avis affichés */
.rv-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.rv{margin:0;background:var(--paper);padding:22px;display:flex;flex-direction:column;gap:10px}
.rv-stars{color:var(--red);letter-spacing:2px}
.rv blockquote{margin:0;font-family:var(--display);font-size:1.15rem;line-height:1.4}
.rv figcaption{font-size:.85rem;color:var(--ink-soft)}
@media (max-width:860px){.rv-list{grid-template-columns:1fr}}

/* v5 : réservation et checklist */
.booking{margin-top:36px;display:grid;gap:12px}
.booking p{font-size:.95rem;color:color-mix(in srgb,var(--paper) 72%,var(--ink))}
.bk{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--paper) 18%,var(--ink))}
.bk img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.bk div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bk b{font-weight:500}
.bk-btn{color:var(--red);font-weight:600;text-decoration:none;font-size:.92rem}
.dl{margin-top:20px;display:flex;align-items:center;gap:12px;padding:14px;background:color-mix(in srgb,var(--paper) 8%,var(--ink));text-decoration:none;color:var(--paper)}
.dl span{display:flex;flex-direction:column}
.dl small{font-size:.8rem;color:color-mix(in srgb,var(--paper) 62%,var(--ink))}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* v5 : teaser simulateurs */
.sim-teaser{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:clamp(22px,3vw,32px);border:1.5px solid var(--ink);text-decoration:none;color:inherit}
.sim-teaser h3{font-size:1.7rem;margin:6px 0}
.sim-teaser p{color:var(--ink-soft)}
.sim-teaser:hover{border-color:var(--red)}

/* v5 : pages internes (simulateurs, recommander, recrutement) */
.page-head{padding-block:clamp(40px,6vw,72px) 8px}
.page-head h1{font-size:clamp(2.3rem,5vw,3.6rem);margin-top:14px}
.page-head .lead{margin-top:16px}
.sims{display:grid;gap:28px;padding-block:24px clamp(56px,8vw,96px)}
[hidden]{display:none!important}
.sim{border:1px solid var(--rule);display:grid;grid-template-columns:1fr 1fr;padding:0}
.sim-in{padding:clamp(22px,3vw,36px);display:grid;gap:14px;align-content:start}
.sim-in h2{font-size:1.8rem}
.sim-in p.intro{color:var(--ink-soft)}
.sim-in label{display:grid;gap:6px;font-size:.88rem;font-weight:500}
.sim-in input,.sim-in select{font:inherit;font-size:1rem;padding:.75em .9em;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0;width:100%}
.sim-in input[type=range]{padding:0;border:0;accent-color:var(--red)}
.sim-out{background:var(--mist);padding:clamp(22px,3vw,36px);display:grid;gap:14px;align-content:start}
.big{font-family:var(--display);font-size:clamp(2.2rem,4vw,3rem);line-height:1.05;color:var(--red)}
.sim-out p{color:var(--ink-soft)}
.sim-out .msg{color:var(--ink);font-weight:500}
.sim-out .btn{justify-self:start}
.bar{height:10px;background:var(--rule);position:relative;overflow:hidden}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--red);transition:width .3s}
.disc{font-size:.8rem;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:10px}
@media (max-width:860px){.sim{grid-template-columns:1fr}}
.simple-form{display:grid;gap:14px;max-width:760px;padding-block:24px clamp(56px,8vw,96px)}
.simple-form fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}
.simple-form legend{font-family:var(--display);font-size:1.5rem;margin-bottom:10px}
.simple-form label{display:grid;gap:6px;font-size:.88rem;font-weight:500}
.simple-form input,.simple-form select,.simple-form textarea{font:inherit;font-size:1rem;padding:.8em .9em;border:1.5px solid var(--rule);background:var(--paper);color:var(--ink);border-radius:0;width:100%}
.simple-form textarea{min-height:100px}
.simple-form .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.simple-form .consent input{width:auto;margin-top:4px;accent-color:var(--red)}
.simple-form .btn{justify-self:start;border:0;cursor:pointer}
.okmsg{background:var(--mist);padding:14px 16px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:600px){.two{grid-template-columns:1fr}}
.job{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(28px,5vw,72px);padding-block:24px clamp(56px,8vw,96px)}
.job aside{background:var(--mist);padding:28px;display:grid;gap:14px;align-content:start}
.job aside img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media (max-width:860px){.job{grid-template-columns:1fr}}

/* v6 : illustrations */
.ill{color:var(--ink);display:block;overflow:visible}
.ill image{image-rendering:auto}
.frame .ill-hero{position:absolute;left:-140px;bottom:-26px;width:220px;z-index:2}
.frame .ill-hero{animation:none}
@media (prefers-reduced-motion:no-preference){.ill-hero{transform-origin:70px 180px;animation:sway 4s ease-in-out infinite}}
@keyframes sway{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg)}}
@media (max-width:860px){.frame .ill-hero{left:-6px;bottom:-34px;width:150px}}
.cmp-ill{display:grid;grid-template-columns:24% 1fr 1fr;align-items:end;margin-bottom:-2px}
.cmp-ill .ill{width:min(220px,90%);margin-inline:auto}
@media (max-width:700px){.cmp-ill{grid-template-columns:1fr 1fr}.cmp-ill>span{display:none}}
.net-list .ill-exp{width:64px;height:72px;margin-bottom:4px}
.reviews .wrap{grid-template-columns:auto 1fr auto}
.reviews .ill-rv{width:170px}
@media (max-width:960px){.reviews .ill-rv{width:120px}}
.zone-text .ill-car{width:200px;margin-top:4px}
@media (prefers-reduced-motion:no-preference){.zone-text .ill-car{animation:drive 3.2s ease-in-out infinite}}
@keyframes drive{0%,100%{transform:translateX(0)}50%{transform:translateX(10px)}}
.carpin svg{width:64px;height:38px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));color:#262427}
.carpin{--paper:#fff;--red:#D3141D;--ink:#262427}
/* titres : trait rouge repris du logo */
.sw{position:relative;white-space:nowrap}
.sw::after{content:"";position:absolute;left:-2%;right:-2%;bottom:-.08em;height:.32em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 18' preserveAspectRatio='none'%3E%3Cpath d='M0 14 C 120 4, 300 2, 420 9 C 300 7, 140 9, 0 14 Z' fill='%23D3141D'/%3E%3C/svg%3E") no-repeat center/100% 100%;z-index:-1;opacity:.9}
h2 .sw{z-index:0}
@media (min-width:861px){.hero .facts{padding-right:84px}}

.rv-sum{grid-column:1/-1;font-family:var(--display);font-size:1.4rem}
.rv-note{grid-column:1/-1;font-size:.85rem;color:var(--ink-soft)}
.rv-note a{color:var(--red)}
.cmp-ill{min-width:620px}
.cmp td{width:38%}

/* v7 */
.hand{font-family:"Caveat",cursive;font-weight:600;color:var(--red);line-height:1.1}
.frame .ill-hero{left:-170px;bottom:-30px;width:240px}
@media (max-width:860px){.frame .ill-hero{left:-8px;bottom:-40px;width:170px}}
.ill-cmp{max-height:180px}
.reviews .ill-rv{width:180px}
.zone-text .ill-car{width:240px}
/* équipe v7 */
.duo{margin-top:22px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.duo .hand{font-size:clamp(1.6rem,3vw,2.2rem)}
.duo .vs{font-family:var(--display);font-size:1.6rem;color:var(--ink-soft)}
.duo p{flex-basis:100%;color:var(--ink-soft)}
.person img{width:132px;height:132px;border-radius:50%;object-fit:cover;box-shadow:none}
.person{grid-template-columns:132px 1fr}
.person .p-links{flex-direction:row}
.p-links{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:8px}
@media (max-width:440px){.person img{width:110px;height:110px}}
.bk{text-decoration:none;color:inherit}
.bk img{width:52px;height:52px;border-radius:50%}
.bk:hover{border-color:var(--red)}
/* signature */
.sign{padding-block:clamp(48px,6vw,72px) 8px;text-align:center}
.sign .wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.ill-sign{width:min(360px,90%)}
.sign .hand{font-size:clamp(1.8rem,4vw,2.6rem)}
/* animation du trait */
@media (prefers-reduced-motion:no-preference){
  .hero .swoosh{clip-path:inset(0 100% 0 0);animation:draw 1.1s .35s cubic-bezier(.6,0,.2,1) forwards}
  @keyframes draw{to{clip-path:inset(0 0 0 0)}}
}
/* annotations manuscrites */
.note-hand{display:inline-flex;align-items:center;gap:6px;font-family:"Caveat",cursive;font-weight:600;font-size:1.45rem;color:var(--red);transform:rotate(-3deg)}
.note-hand svg{width:42px;height:26px}
/* mini-jeu */
.game{margin-top:clamp(40px,6vw,64px);border:1.5px solid var(--ink);grid-column:1/-1}
.game-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px 24px;padding:22px 24px}
.game-head h3{font-size:1.8rem;margin:4px 0}
.game-head p{color:var(--ink-soft);max-width:60ch}
.game-keys{font-size:.85rem}
.game-stage{position:relative}
#game{display:block;width:100%;height:240px;touch-action:manipulation;outline:none}
.game-over{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:rgba(255,255,255,.72);text-align:center;color:#262427;padding:16px}
.game-over p{font-size:1.1rem}
.game-over a{color:#D3141D;font-weight:600}

/* v8 : personnages plus discrets */
.frame .ill-hero{left:-118px;bottom:-14px;width:128px}
@media (max-width:860px){.frame .ill-hero{left:-4px;bottom:-30px;width:104px}}
.ill-cmp{max-height:128px}
.reviews .ill-rv{width:118px}
@media (max-width:960px){.reviews .ill-rv{width:96px}}
.zone-text .ill-car{width:190px}
.ill-sign{width:min(250px,80%)}
@media (prefers-reduced-motion:no-preference){.ill-hero{transform-origin:52px 206px;animation:sway 5s ease-in-out infinite}}

/* v9 : bobbleheads */
.frame .ill-hero{left:-120px;bottom:-12px;width:132px}
@media (max-width:860px){.frame .ill-hero{left:-4px;bottom:-28px;width:104px}}
.ill-cmp{max-height:132px}
.reviews .ill-rv{width:112px}
@media (max-width:960px){.reviews .ill-rv{width:92px}}
.zone-text .ill-car{width:230px}
.ill-sign{width:min(270px,82%)}
@media (prefers-reduced-motion:no-preference){
  .bob{animation:bob 2.6s ease-in-out infinite;transform-box:view-box}
  .bob.b2{animation-duration:3.1s;animation-delay:-.8s}
  @keyframes bob{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
  .ill-car .wh{animation:spin 1.2s linear infinite;transform-box:view-box}
  @keyframes spin{to{transform:rotate(360deg)}}
  .ill-hero{animation:none}
}

/* v8 : jeu */
#game{height:300px}
.pedal{position:absolute;bottom:14px;width:78px;height:62px;border:0;font:600 .9rem var(--sans);color:#fff;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 3px 0 rgba(0,0,0,.25)}
.pedal.brake{left:14px;background:#5C595D}
.pedal.gas{right:14px;background:#D3141D}
.pedal.on{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.game-over{z-index:3}

/* v8 : bloc essentiel, pages SEO */
.facts-box{padding-block:clamp(48px,7vw,88px)}
.fbx{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;border-top:1px solid var(--rule)}
.fbx div{display:grid;grid-template-columns:180px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule);padding-right:24px}
.fbx dt{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red);padding-top:3px}
.fbx dd{margin:0;color:var(--ink)}
@media (max-width:860px){.fbx{grid-template-columns:1fr}.fbx div{grid-template-columns:1fr;gap:4px}}
.svc{padding-block:8px clamp(56px,8vw,96px)}
.svc .wrap{max-width:860px}
.svc-lead{font-size:1.2rem;line-height:1.6;border-left:3px solid var(--red);padding-left:18px;margin:8px 0 28px}
.svc h2{font-size:1.8rem;margin:1.6em 0 .6em}
.svc ul.svc-list{list-style:none;padding:0;display:grid;gap:10px}
.svc ul.svc-list li{padding-left:28px;position:relative}
.svc ul.svc-list li::before{content:"";position:absolute;left:0;top:.55em;width:14px;height:2px;background:var(--red)}
.svc .faq details{border-bottom:1px solid var(--rule)}
.svc .faq summary{cursor:pointer;padding:16px 0;font-family:var(--display);font-size:1.3rem}
.svc .faq p{padding-bottom:16px;color:var(--ink-soft)}
.svc .links{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.svc .links a{border:1px solid var(--rule);padding:16px;text-decoration:none;display:flex;flex-direction:column;gap:4px}
.svc .links a:hover{border-color:var(--red)}
.svc .links small{color:var(--red);font-weight:600;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.svc .cta-box{margin-top:40px;background:var(--ink);color:var(--paper);padding:28px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.svc .cta-box p{font-family:var(--display);font-size:1.5rem;max-width:30ch}
.towns{display:grid;gap:12px}
.towns div{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.towns b{font-weight:600}
@media (max-width:640px){.towns div{grid-template-columns:1fr}}
.tldr{background:var(--mist);border-left:3px solid var(--red);padding:18px 22px;margin:8px 0 28px}
.tldr b{display:block;font-family:var(--display);font-weight:500;font-size:1.2rem;margin-bottom:6px}
.tldr ul{margin:0;padding-left:1.1em}
.pubdate{font-size:.85rem;color:var(--ink-soft)}

.f-seo{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:28px 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);margin-top:28px}
.f-seo nav{display:flex;flex-direction:column;gap:6px}
.f-seo b{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.f-seo a{text-decoration:none;opacity:.85;font-size:.92rem}
.f-seo a:hover{opacity:1;text-decoration:underline}
@media (max-width:640px){.f-seo{grid-template-columns:1fr}}
.exp-link{margin-top:28px;font-weight:500}
.exp-link a{color:var(--red)}

/* v9 : accessibilité, confort */
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--red);color:#fff;padding:10px 16px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.coords .open-now,.open-now{font-style:normal;display:inline-block;width:auto;margin:8px 0 0;font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:none;padding:3px 9px;line-height:1.4}
.open-now.is-open::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:7px;vertical-align:1px}
.open-now.is-open{background:var(--ok);color:#fff}
.open-now.is-closed{background:color-mix(in srgb,currentColor 16%,transparent);color:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) svg.ill{filter:drop-shadow(0 0 .6px rgba(255,255,255,.55))}}
:root[data-theme="dark"] svg.ill{filter:drop-shadow(0 0 .6px rgba(255,255,255,.55))}
.coords b a{color:inherit;text-decoration:none}.coords b a:hover{text-decoration:underline}
.links404{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.duo{border-left:3px solid var(--red);padding:6px 0 6px 20px;align-items:center}
.duo .hand{font-size:clamp(2rem,4vw,2.8rem);color:var(--red)}
.duo .faces{display:flex}
.duo .faces img{width:54px;height:54px;border-radius:50%;object-fit:cover;border:3px solid var(--paper)}
.duo .faces img+img{margin-left:-14px}
.f-nap{font-style:normal;display:flex;flex-wrap:wrap;gap:4px 18px}
.f-nap a{text-decoration:none}
@media print{header.top,.callbar,.game,.proto,footer .f-seo,.skip{display:none!important}body{background:#fff;color:#000}a{color:#000}}

/* v10 : checklist contre email */
.gate{flex-direction:column;align-items:stretch;gap:14px}
.gate-top{display:flex;gap:12px;align-items:flex-start}
.gate-top span{display:flex;flex-direction:column}
.gate-form{display:grid;gap:10px}
.gate-mail{display:grid;gap:4px;font-size:.85rem}
.gate-mail input{padding:11px 12px;border:1px solid color-mix(in srgb,var(--paper) 30%,var(--ink));background:var(--paper);color:var(--ink);font:inherit}
.gate-ok{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;color:color-mix(in srgb,var(--paper) 70%,var(--ink))}
.gate .gate-ok{display:flex;grid-template-columns:none}
.gate .gate-ok input{width:16px;height:16px;flex:none;margin:2px 0 0;padding:0}
.gate-legal{font-size:.75rem;color:color-mix(in srgb,var(--paper) 60%,var(--ink))}.gate-legal a{color:inherit}
.gate-msg{margin:0;font-size:.88rem;min-height:1.2em}
.gate-msg a{color:inherit}
.gate .btn{justify-self:start}
.flash{animation:flash 1.6s ease}
@keyframes flash{0%,40%{box-shadow:0 0 0 3px var(--red)}100%{box-shadow:0 0 0 0 transparent}}
.zfill{display:inline-block;margin-top:10px;font-weight:600}

/* v10 : jeu */
#game{height:320px;display:block;width:100%;touch-action:none}
.game-stage{position:relative;overflow:hidden}
.pedal{position:absolute;bottom:12px;width:82px;height:62px;border:0;font:600 .9rem var(--sans);color:#fff;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 3px 0 rgba(0,0,0,.25);z-index:2}
.pedal.brake{left:12px;background:#5C595D}
.pedal.gas{right:12px;background:#D3141D}
.pedal.on{transform:translateY(2px);box-shadow:0 1px 0 rgba(0,0,0,.25)}
.route-pick{position:absolute;top:58px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:2}
.route-pick button{border:0;background:rgba(255,255,255,.95);color:#25242C;padding:8px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;font:inherit;box-shadow:0 2px 0 rgba(0,0,0,.2);border-left:4px solid #D3141D}
.route-pick button b{font-size:.9rem}
.route-pick small{font-size:.72rem;color:#55545E}
.route-pick button:hover{background:#fff}
.game-over{z-index:3;background:rgba(250,248,245,.86)}
.g-title{font-family:var(--display);font-size:1.6rem;margin:0}
.g-rules{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:4px;font-size:.95rem}
.g-stars{font-size:2rem;color:#F2B705;margin:0;letter-spacing:.1em}
.g-stars span{color:#ccc}
.g-sum,.g-score{margin:0;font-size:.95rem}
@media (max-width:520px){.route-pick{top:50px;width:calc(100% - 20px)}.route-pick button{flex:1;padding:6px 8px}.route-pick small{display:none}.pedal{width:70px;height:54px}}

:root{--ok:#1F7A3E;--ok-on-ink:#86DDA4}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ok:#6FD392;--ok-on-ink:#1F7A3E}}
:root[data-theme="dark"]{--ok:#6FD392;--ok-on-ink:#1F7A3E}
