/* Previdoc : identite visuelle
   Direction : la lumière d'un atelier bien tenu. Base blanc chaud, encre vert-nuit,
   vert profond pour la confiance, jaune soleil pour l'action. Le livrable imprimé est le héros.
   Titres : Bricolage Grotesque (grotesque humaniste, largeurs vivantes). Corps : Literata (serif lisible, chaleureux). */
:root{
  color-scheme:light;
  --paper:#FFFDFB; --paper-2:#F1F7F3; --paper-3:#FFF8E8; --card:#FFFFFF;
  --ink:#15251E; --ink-2:#4A5C53; --line:#E2E8E2;
  --green:#0E6B52; --green-deep:#0A5240; --green-pale:#DDEDE4;
  --sun:#FFC53D; --sun-deep:#E8A712; --coral:#C6483A; --coral-pale:#FDECE8;
  --shadow:0 2px 4px rgba(21,37,30,.04), 0 12px 28px -12px rgba(14,107,82,.18);
  --shadow-lift:0 4px 10px rgba(21,37,30,.06), 0 24px 48px -20px rgba(14,107,82,.28);
  --r:14px; --maxw:1120px;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Literata,Georgia,serif;font-size:17.5px;line-height:1.68;font-optical-sizing:auto}
h1,h2,h3,h4,.ui,.btn,nav,.q-label,.q-steps,.q-opt,.q-input,.q-help,.q-error,.q-draft,.q-add,.q-del,.price,.ribbon,.chip,.stat b,.brand,summary,dt,.eff-val{font-family:"Bricolage Grotesque","Trebuchet MS",sans-serif;font-variation-settings:"wdth" 100}
h1{font-size:clamp(2.1rem,4.4vw,3.5rem);max-width:19ch;font-weight:800;line-height:1.02;letter-spacing:-.025em;margin:0 0 .55em}
h2{font-size:clamp(1.65rem,3.2vw,2.5rem);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0 0 .6em}
h3{font-size:1.22rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;margin:0 0 .3em}
p{margin:0 0 1.05em;max-width:68ch}
a{color:var(--green);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--green-deep)}
img{max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.lead{font-size:1.2rem;line-height:1.6;color:var(--ink-2);max-width:56ch}

/* en-tête */
header.site{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:14px}
@media(max-width:820px){header.site .wrap{height:64px}header.site .btn{padding:11px 16px;font-size:.95rem;white-space:nowrap}.brand{font-size:1.15rem}}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.brand .disc{width:32px;height:32px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;font-size:.95rem;font-weight:800;flex:none;box-shadow:0 3px 0 var(--green-deep)}
header.site nav{display:flex;align-items:center;gap:26px}
header.site nav a:not(.btn){color:var(--ink-2);text-decoration:none;font-size:.98rem;font-weight:500}
header.site nav a:not(.btn):hover{color:var(--ink)}
header.site nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sun);text-decoration-thickness:3px;text-underline-offset:6px}
@media(max-width:820px){header.site nav a:not(.btn){display:none}}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 24px;border-radius:12px;font-weight:700;font-size:1.02rem;line-height:1.1;text-decoration:none;border:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 3px 0 var(--green-deep)}
.btn-primary:hover{background:var(--green-deep);color:#fff;transform:translateY(-1px)}
.btn-sun{background:var(--sun);color:#2A2008;box-shadow:0 3px 0 var(--sun-deep)}
.btn-sun:hover{transform:translateY(-1px);color:#2A2008}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green)}
.btn[disabled]{opacity:.5;cursor:wait;transform:none}
:focus-visible{outline:3px solid var(--sun);outline-offset:2px;border-radius:4px}

/* sections et rythme de couleur */
section{padding:74px 0}
section.tint{background:var(--paper-2)}
section.sun{background:var(--paper-3)}
@media(max-width:820px){section{padding:52px 0}}

/* hero : le livrable est le héros */
.hero{padding:64px 0 58px}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
@media(max-width:940px){.hero .wrap{grid-template-columns:1fr;gap:38px}}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 14px}
.hero-note{font-size:.98rem;color:var(--ink-2);max-width:44ch}
.hero-note b{color:var(--ink);font-weight:600}
.stack{position:relative;padding:8px 0 22px}
@media(max-width:940px){.stack{padding-top:16px}.stack .s1{width:82%}.stack .s2{width:66%;top:12%}.stack .s3{width:52%}}
img[width][height]{height:auto}
.stack img{display:block;border-radius:8px;background:#fff;box-shadow:var(--shadow-lift)}
.stack .s1{width:74%;position:relative;z-index:3;transform:rotate(-1.6deg)}
.stack .s2{width:62%;position:absolute;right:2%;top:16%;z-index:2;transform:rotate(3deg)}
.stack .s3{width:46%;position:absolute;right:16%;bottom:0;z-index:4;transform:rotate(-4deg)}
.badge{position:absolute;z-index:5;top:2%;right:0;background:var(--sun);color:#2A2008;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:.95rem;padding:11px 15px;border-radius:14px;box-shadow:0 3px 0 var(--sun-deep);transform:rotate(4deg);line-height:1.2;text-align:center}
.badge small{display:block;font-weight:500;font-size:.8rem}

/* voix des clients (citations de situations, pas de témoignages inventés) */
.said{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
@media(max-width:900px){.said{grid-template-columns:1fr;gap:22px}}
.said blockquote{margin:0;font-size:1.1rem;line-height:1.55}
.said blockquote{margin:0;padding-left:20px;border-left:4px solid var(--sun);border-radius:2px}
.said blockquote p:first-child{font-style:italic;color:var(--ink);font-size:1.12rem}
.said cite{display:block;font-style:normal;font-size:.97rem;color:var(--ink-2);border-top:1.5px solid var(--line);padding-top:12px;margin-top:4px}

/* livrables : vignette + texte, pas des cartes identiques */
.delivery{display:grid;grid-template-columns:1fr 1fr;gap:34px 44px;margin-top:8px}
@media(max-width:860px){.delivery{grid-template-columns:1fr;gap:26px}}
.delivery > div{display:grid;grid-template-columns:52px 1fr;gap:18px;align-items:start}
.sheet{width:52px;height:66px;border-radius:5px;background:#fff;box-shadow:0 1px 2px rgba(21,37,30,.1),0 8px 16px -8px rgba(14,107,82,.3);position:relative;overflow:hidden;border-top:7px solid var(--green)}
.sheet::after{content:"";position:absolute;left:8px;right:8px;top:14px;height:3px;background:var(--line);box-shadow:0 8px 0 var(--line),0 16px 0 var(--line),0 24px 0 var(--green-pale)}
.sheet.a{border-top-color:var(--sun)}
.sheet.a::after{background:var(--sun);box-shadow:0 8px 0 var(--line),0 16px 0 var(--line),0 24px 0 var(--line)}
.delivery p{margin:0;font-size:1.02rem;color:var(--ink-2)}

/* la loi, en clair */
.law{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center}
@media(max-width:900px){.law{grid-template-columns:1fr;gap:28px}}
.gauge{background:var(--card);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow)}
.gauge label{display:block;font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.98rem;margin-bottom:6px}
.gauge input[type=range]{width:100%;accent-color:var(--green);margin:6px 0 14px}
.gauge .amount{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:clamp(2rem,4.4vw,2.9rem);line-height:1;letter-spacing:-.03em;color:var(--coral)}
.gauge .amount-sub{font-size:.95rem;color:var(--ink-2);margin:6px 0 0}
.gauge .vs{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:18px;padding-top:16px;border-top:1.5px dashed var(--line)}
.gauge .vs b{font-family:"Bricolage Grotesque",sans-serif;font-size:1.6rem;color:var(--green)}
.src{font-size:.86rem;color:var(--ink-2);margin:14px 0 0}

/* étapes : vraie séquence */
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
@media(max-width:860px){.steps{grid-template-columns:1fr;gap:26px}}
.steps li{counter-increment:s;position:relative;padding-top:20px;border-top:3px solid var(--sun)}
.steps li:nth-child(2){border-top-color:var(--green-pale)}
.steps li:nth-child(3){border-top-color:var(--green)}
.steps li::before{content:counter(s);position:absolute;top:-17px;left:0;width:30px;height:30px;border-radius:9px;background:var(--paper);box-shadow:inset 0 0 0 2px var(--sun);display:grid;place-items:center;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:.95rem}
.steps li:nth-child(2)::before{box-shadow:inset 0 0 0 2px var(--green-pale)}
.steps li:nth-child(3)::before{box-shadow:inset 0 0 0 2px var(--green)}
.steps h3{margin-top:10px}
.steps p{color:var(--ink-2);font-size:1.02rem}

/* exemple */
.sample{display:flex;gap:16px;overflow-x:auto;padding:6px 2px 16px;scroll-snap-type:x mandatory}
.sample img{flex:0 0 auto;width:min(230px,52vw);border-radius:8px;box-shadow:var(--shadow);scroll-snap-align:start;background:#fff}
.sample-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}

/* tarifs */
.plan-wide{background:var(--card);border-radius:var(--r);padding:26px 28px;box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto auto;gap:12px 32px;align-items:center;margin-bottom:18px}
.plan-wide h3{margin-bottom:4px}
.plan-wide p{margin:0;color:var(--ink-2);font-size:1rem;max-width:62ch}
.plan-wide .price{margin:0;font-size:2.15rem;white-space:nowrap}
.plan-wide .ht{font-size:.85rem;color:var(--ink-2);margin:2px 0 0}
@media(max-width:820px){.plan-wide{grid-template-columns:1fr;gap:14px}}
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
@media(max-width:900px){.pricing{grid-template-columns:1fr}}
.plan{background:var(--card);border-radius:var(--r);padding:26px 24px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow);position:relative}
.plan.featured{background:var(--green-pale);box-shadow:var(--shadow-lift)}
.plan.featured{position:relative}
.ribbon{position:absolute;top:-16px;right:-14px;width:68px;height:68px;border-radius:50%;background:var(--sun);color:#2A2008;font-weight:800;font-size:.72rem;line-height:1.12;display:grid;place-items:center;text-align:center;transform:rotate(-10deg);box-shadow:0 4px 10px -4px rgba(21,37,30,.3);padding:5px}
.plan.featured h3{padding-right:52px}
@media(max-width:900px){.ribbon{right:6px;top:-14px}}
.price{font-weight:800;font-size:2.15rem;letter-spacing:-.03em;line-height:1;margin:10px 0 3px}
.price small{font-size:.95rem;font-weight:500;color:var(--ink-2);letter-spacing:0}
.plan .ht{font-size:.85rem;color:var(--ink-2);margin:0 0 14px}
.plan ul{list-style:none;padding:0;margin:0 0 22px;flex:1}
.plan li{position:relative;padding-left:24px;margin-bottom:9px;font-size:.99rem}
.plan li::before{content:"";position:absolute;left:0;top:.52em;width:12px;height:7px;border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.plan .btn{width:100%}
.compare{margin-top:26px;background:var(--card);border-radius:var(--r);padding:20px 24px;box-shadow:var(--shadow);font-size:1rem;color:var(--ink-2)}
.compare b{color:var(--ink)}

/* métiers */
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{background:var(--card);border-radius:999px;padding:8px 16px;font-size:.95rem;font-weight:500;box-shadow:inset 0 0 0 1.5px var(--line)}

/* FAQ */
.faq details{background:var(--card);border-radius:12px;margin-bottom:10px;box-shadow:var(--shadow)}
.faq summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:700;font-size:1.06rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:11px;height:11px;flex:none;border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.faq details[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.faq details p{padding:0 22px 20px;margin:0;color:var(--ink-2)}

/* bande finale */
.band{background:var(--green);color:#fff;padding:66px 0}
.band h2,.band p{color:inherit}
.band h2{max-width:26ch}
.band p{font-size:1.13rem;max-width:52ch;opacity:.92}
.band .btn-sun{margin-top:8px}

/* pied */
footer.site{padding:44px 0 30px;border-top:1px solid var(--line);font-size:.95rem;color:var(--ink-2)}
footer.site a{color:var(--ink-2)}
footer.site a:hover{color:var(--green-deep)}
.pied-grille{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px 36px}
.pied-marque .brand{margin-bottom:10px;display:inline-flex}
.pied-marque p{margin:0 0 8px;max-width:34ch;font-size:.93rem;line-height:1.5}
.pied-col{display:flex;flex-direction:column;gap:7px}
.pied-col h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin:4px 0 4px}
.pied-col a{text-decoration:none;font-size:.93rem}
.pied-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:30px;padding-top:18px;border-top:1px solid var(--line);font-size:.88rem}
@media(max-width:820px){.pied-grille{grid-template-columns:1fr 1fr}.pied-marque{grid-column:1/-1}}
@media(max-width:340px){.pied-grille{grid-template-columns:1fr}}

/* encart d'information */
.notice{background:var(--paper-3);border-radius:12px;padding:16px 20px;font-size:1rem;box-shadow:inset 0 0 0 1.5px var(--sun)}

/* ---------- questionnaire et pages internes ---------- */
.q-layout{display:grid;grid-template-columns:238px minmax(0,1fr);gap:34px;align-items:start}
@media(max-width:900px){.q-layout{grid-template-columns:1fr;gap:18px}}
.q-nav{display:block;position:sticky;top:92px;background:var(--card);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
@media(max-width:900px){.q-nav{position:sticky;top:64px;z-index:6;padding:14px 16px}}
.q-nav-compte{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.95rem;margin:0 0 10px;color:var(--ink)}
.q-nav-titre{display:none}
@media(max-width:900px){.q-nav-titre{display:inline;color:var(--green-deep);font-weight:700;text-align:right}}
.q-jauge{height:7px;border-radius:99px;background:var(--paper-2);overflow:hidden;margin-bottom:16px}
.q-jauge span{display:block;height:100%;border-radius:99px;background:var(--green);transition:width .3s ease}
.q-steps{list-style:none;padding:0;margin:0;display:grid;gap:3px}
.q-steps li{font-family:"Bricolage Grotesque",sans-serif;font-size:.93rem;line-height:1.3;border-left:2.5px solid var(--line);padding:7px 0 7px 12px;color:var(--ink-2)}
.q-steps li.is-done{border-left-color:var(--green);color:var(--ink)}
.q-steps li.is-current{border-left-color:var(--green);color:var(--green-deep);font-weight:700}
.q-steps li.is-locked{opacity:.42}
.q-step-lien{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}
.q-step-lien:hover{color:var(--green);text-decoration:underline}
.q-retour-recap{width:100%;margin-top:16px;padding:10px 14px;font-size:.92rem}
@media(max-width:900px){
  .q-nav{padding:11px 14px;border-radius:12px;box-shadow:0 2px 10px -4px rgba(21,37,30,.25)}
  .q-nav-compte{font-size:.88rem;margin-bottom:7px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}
  .q-jauge{margin-bottom:0;height:6px}
  .q-steps{display:none}
  .q-retour-recap{margin-top:10px;padding:8px 12px;font-size:.88rem}
}
.q-section,.card,.recap .card{background:var(--card);border-radius:var(--r);padding:30px;box-shadow:var(--shadow)}
.q-section{max-width:640px}
@media(max-width:900px){.q-section{max-width:none;padding:24px 20px}}
.q-title{margin-bottom:8px}
.q-intro{color:var(--ink-2);margin-bottom:22px}
.q-field{margin:0 0 22px}
.q-label{display:block;font-weight:600;font-size:1rem;margin-bottom:7px}
.q-help{font-size:.9rem;color:var(--ink-2);margin:-2px 0 9px}
.q-input{width:100%;padding:13px 14px;border:0;border-radius:11px;background:var(--paper-2);color:var(--ink);font-size:1.02rem;font-family:"Bricolage Grotesque",sans-serif;box-shadow:inset 0 0 0 1.5px var(--line)}
.q-input:focus{box-shadow:inset 0 0 0 2px var(--green);outline:none}
.q-textarea{min-height:96px;resize:vertical;line-height:1.5}
.q-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:1100px){.q-options{grid-template-columns:1fr}}
.q-opt{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:11px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;font-size:.99rem;font-weight:500}
.q-opt:has(input:checked){background:var(--green-pale);box-shadow:inset 0 0 0 2px var(--green)}
.q-opt input{margin-top:3px;accent-color:var(--green)}
.q-unite{display:grid;grid-template-columns:1fr minmax(190px,290px) 90px 44px;gap:9px;margin-bottom:9px}
.q-unite .q-type{font-size:.92rem;padding-right:28px}
@media(max-width:620px){.q-unite{grid-template-columns:1fr 88px 44px}.q-unite .q-type{grid-column:1/-1;grid-row:2}.q-unite{padding-bottom:10px;border-bottom:1px solid var(--line)}}
.q-del{border:0;border-radius:11px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;font-size:1.2rem;color:var(--ink-2)}
.q-del:hover{color:var(--coral);box-shadow:inset 0 0 0 1.5px var(--coral)}
.q-add{width:100%;border:0;border-radius:11px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);padding:12px;cursor:pointer;color:var(--green);font-weight:700}
.q-add:hover{box-shadow:inset 0 0 0 1.5px var(--green)}
.q-error{color:var(--coral);font-size:.9rem;margin:7px 0 0;font-weight:600}
.q-invalid .q-input{box-shadow:inset 0 0 0 2px var(--coral)}
.q-actions{display:flex;justify-content:space-between;gap:12px;margin-top:10px}
.q-actions .btn-primary{margin-left:auto}
.q-draft{font-size:.88rem;color:var(--ink-2);margin-top:12px}
.recap{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
@media(max-width:900px){.recap{grid-template-columns:1fr}}
.recap dl{display:grid;grid-template-columns:auto 1fr;gap:9px 16px;margin:0;font-size:1rem}
.recap dt{color:var(--ink-2);font-weight:600;font-size:.94rem}
.recap dd{margin:0}
.preview-box{background:var(--green-pale);border-radius:12px;padding:16px 18px;font-size:1rem;margin-bottom:18px}
.preview-box b{color:var(--green-deep)}
.offer-pick{display:grid;gap:11px}
.offer-pick label{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border-radius:12px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer}
.offer-pick label:has(input:checked){background:var(--green-pale);box-shadow:inset 0 0 0 2px var(--green)}
.offer-pick input{accent-color:var(--green)}
.offer-pick .p{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:1.25rem}
.offer-pick small{display:block;color:var(--ink-2);font-size:.88rem;margin-top:2px}
.order{background:var(--card);border-radius:var(--r);padding:26px;margin-bottom:18px;box-shadow:var(--shadow)}
.order .meta{color:var(--ink-2);font-size:.94rem;margin-bottom:14px}
.files a{display:inline-block;margin:0 12px 9px 0;font-weight:600}
.order .btn{margin:8px 10px 0 0}
.legal{max-width:74ch;margin:0 auto}
.legal h1{max-width:30ch}
.legal h2{font-size:1.35rem;margin-top:1.8em}
.mono{font-family:ui-monospace,monospace;font-size:.9rem;background:var(--paper-2);padding:2px 7px;border-radius:6px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{header.site,footer.site,.q-steps,.q-actions,.q-draft{display:none!important}body{background:#fff;color:#000}}

/* bandeau d'offre de bienvenue */
.promo{background:var(--ink);color:#F4F8F5}
.promo .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;padding:11px 22px;font-family:"Bricolage Grotesque",sans-serif;font-size:.99rem}
.promo b{color:var(--sun)}
.promo .clock{font-variant-numeric:tabular-nums;background:rgba(255,197,61,.16);color:var(--sun);padding:3px 10px;border-radius:8px;font-weight:700}
.promo a{color:#F4F8F5;text-decoration-color:var(--sun)}
.was{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1.5px;font-weight:500;font-size:1.25rem;margin-right:8px}
.save{display:inline-block;background:var(--sun);color:#2A2008;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.82rem;padding:3px 9px;border-radius:7px;margin-left:8px;vertical-align:3px}
.promo-note{font-size:.88rem;color:var(--ink-2);margin:6px 0 0}
/* preuve d'activité */
#toast{position:fixed;left:18px;bottom:18px;z-index:40;max-width:330px;display:grid;gap:10px}
.toast{background:var(--card);border-radius:12px;padding:13px 16px;box-shadow:var(--shadow-lift);font-size:.95rem;display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;animation:toast-in .35s ease both}
.toast .dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-pale)}
.toast b{font-family:"Bricolage Grotesque",sans-serif}
.toast small{display:block;color:var(--ink-2);font-size:.83rem}
@keyframes toast-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:620px){#toast{left:10px;right:10px;bottom:10px;max-width:none}}
@media (prefers-reduced-motion:reduce){.toast{animation:none}}
/* checklist offerte */
.magnet{background:var(--green-pale);border-radius:var(--r);padding:30px 32px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
@media(max-width:860px){.magnet{grid-template-columns:1fr;gap:22px}}
.magnet h2{margin-bottom:.35em}
.magnet p{color:var(--ink-2);margin-bottom:.8em}
.magnet form{display:grid;gap:11px}
.magnet .row{display:flex;gap:10px;flex-wrap:wrap}
.magnet input[type=email]{flex:1;min-width:210px;padding:14px;border:0;border-radius:11px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-family:"Bricolage Grotesque",sans-serif;font-size:1.02rem;color:var(--ink)}
.magnet input[type=email]:focus{box-shadow:inset 0 0 0 2px var(--green);outline:none}
.magnet .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.magnet .fine{font-size:.86rem;color:var(--ink-2)}
.magnet .ok{background:var(--card);border-radius:11px;padding:14px 16px;font-family:"Bricolage Grotesque",sans-serif;font-weight:600}
.magnet-visual{display:flex;gap:12px;justify-content:center}
.magnet-visual img{width:46%;border-radius:8px;box-shadow:var(--shadow-lift);background:#fff}

/* fenêtre de sortie : proposition de la checklist au moment de quitter */
.exit-back{position:fixed;inset:0;z-index:60;background:rgba(21,37,30,.55);display:grid;place-items:center;padding:20px;animation:fade .2s ease both}
.exit{background:var(--card);border-radius:18px;max-width:560px;width:100%;padding:34px 36px 30px;box-shadow:0 30px 70px -20px rgba(21,37,30,.5);position:relative;animation:pop .22s ease both}
.exit h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin-bottom:.4em}
.exit p{color:var(--ink-2);margin-bottom:1em}
.exit form{display:grid;gap:11px}
.exit .row{display:flex;gap:10px;flex-wrap:wrap}
.exit input[type=email]{flex:1;min-width:200px;padding:14px;border:0;border-radius:11px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);font-family:"Bricolage Grotesque",sans-serif;font-size:1.02rem;color:var(--ink)}
.exit input[type=email]:focus{box-shadow:inset 0 0 0 2px var(--green);outline:none}
.exit .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.exit .fine{font-size:.86rem;color:var(--ink-2);margin:0}
.exit .visuals{display:flex;gap:10px;margin:0 0 20px}
.exit .visuals img{width:calc(50% - 5px);border-radius:8px;box-shadow:var(--shadow);background:#fff}
.exit-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:11px;background:var(--paper-2);color:var(--ink-2);font-size:1.3rem;line-height:1;cursor:pointer}
.exit-close:hover{background:var(--green-pale);color:var(--green)}
.exit .ok{background:var(--green-pale);border-radius:11px;padding:16px;font-family:"Bricolage Grotesque",sans-serif;font-weight:600}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.exit-back,.exit{animation:none}}

/* pages de contenu : guides et métiers */
.fil{font-family:"Bricolage Grotesque",sans-serif;font-size:.9rem;color:var(--ink-2);margin-bottom:18px}
.fil a{color:var(--ink-2)}
.chapo{font-size:1.2rem;line-height:1.6;color:var(--ink);max-width:62ch}
.legal h2{font-size:1.4rem;margin-top:1.9em;margin-bottom:.5em}
.sources{font-size:.88rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:14px;margin-top:2.4em}
.encart{background:var(--green-pale);border-radius:var(--r);padding:26px 28px;margin:26px 0}
.encart h2{margin-top:0;font-size:1.3rem}
.encart p:last-child{margin-bottom:0;display:flex;gap:10px;flex-wrap:wrap}
.autres{font-size:.97rem;color:var(--ink-2)}
.cartes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 6px;max-width:none}
@media(max-width:760px){.cartes{grid-template-columns:1fr}}
.carte{background:var(--card);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);display:grid;gap:6px;transition:transform .12s,box-shadow .12s}
.carte:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);color:var(--ink)}
.carte h3{margin:0;font-size:1.1rem;color:var(--green-deep)}
.carte p{margin:0;font-size:.97rem;color:var(--ink-2)}
.carte .lire{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.9rem;color:var(--green)}
/* liens de contenu sur la page d'accueil */
.lire-plus{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:760px){.lire-plus{grid-template-columns:1fr}}
.lire-plus ul{list-style:none;padding:0;margin:0}
.lire-plus li{margin-bottom:8px}
.lire-plus h3{font-size:1.05rem;margin-bottom:10px}

/* accroche sous le titre : case cochée et soulignement tracé */
.claim{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:clamp(1.1rem,1.8vw,1.3rem);line-height:1.5;color:var(--ink);margin:-.15em 0 .75em;max-width:46ch}
.claim .tick{color:var(--green);display:inline-block;vertical-align:-5px;margin-right:7px}
.souligne{position:relative;white-space:nowrap}
.souligne::after{content:"";position:absolute;left:-3px;right:-5px;bottom:-5px;height:9px;background:no-repeat center/100% 100% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12'%3E%3Cpath d='M3 8.6c26-3.1 52-4.6 78-4.9 33-.4 66 1 98 3.4' fill='none' stroke='%23FFC53D' stroke-width='5' stroke-linecap='round'/%3E%3Cpath d='M9 11c30-2.2 60-3.2 90-3.1 31 .1 62 1.2 93 3.3' fill='none' stroke='%23FFC53D' stroke-width='2.4' stroke-linecap='round' opacity='.55'/%3E%3C/svg%3E");pointer-events:none}
/* avis clients */
.avis{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:900px){.avis{grid-template-columns:1fr}}
.avis-item{margin:0;background:var(--card);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);display:grid;gap:12px}
.etoiles{font-size:1.05rem;letter-spacing:2px;color:var(--line)}
.etoiles .on{color:var(--sun)}
.avis-item blockquote{margin:0;border:0;padding:0}
.avis-item blockquote p{margin:0;font-style:italic}
.avis-item figcaption{font-family:"Bricolage Grotesque",sans-serif;font-size:.94rem;display:grid}
.avis-item figcaption span{color:var(--ink-2);font-size:.88rem;font-weight:500}
.avis-note{font-size:.9rem;color:var(--ink-2);margin-top:16px}
/* pile de documents : réaction au survol */
.stack img{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.stack:hover .s1{transform:rotate(-2.6deg) translate(-6px,-4px)}
.stack:hover .s2{transform:rotate(4.6deg) translate(8px,-7px)}
.stack:hover .s3{transform:rotate(-6deg) translate(-4px,7px)}
/* visuels d'illustration : ni enregistrement ni glisser-déposer */
.stack img,.sample img,.magnet-visual img,.exit .visuals img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.sample{cursor:default}
@media (prefers-reduced-motion:reduce){.stack:hover .s1,.stack:hover .s2,.stack:hover .s3{transform:none}}

/* gabarit des pages de contenu : colonne de lecture et colonne latérale */
.legal:has(.article){max-width:1120px;margin:0 auto}
.article{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px;align-items:start}
@media(max-width:980px){.article{grid-template-columns:1fr;gap:34px}}
.article .corps{max-width:none;min-width:0}
.article .corps h1{max-width:26ch}
.article .corps p{max-width:72ch}
.cote{display:grid;gap:16px;position:sticky;top:92px}
@media(max-width:980px){.cote{position:static}}
.cote-bloc{background:var(--card);border-radius:var(--r);padding:22px 24px;box-shadow:var(--shadow)}
.cote-bloc h2{font-size:1.06rem;margin:0 0 8px}
.cote-bloc p{font-size:.95rem;color:var(--ink-2);margin:0 0 14px}
.cote-bloc .btn{width:100%;padding:12px 18px;font-size:.98rem}
.cote-cta{background:var(--green-pale);box-shadow:none}
.cote-cta h2{color:var(--green-deep)}
.cote-magnet{background:var(--paper-3);box-shadow:none}
.cote-liens{list-style:none;padding:0;margin:0}
.cote-liens li{margin-bottom:11px;font-size:.96rem;line-height:1.4}
.cote-liens li:last-child{margin-bottom:0}
.cote-liens a{color:var(--ink);text-decoration-color:var(--line)}
.cote-liens a:hover{color:var(--green)}
.encart-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px!important}
.encart .btn-ghost{background:var(--card);box-shadow:inset 0 0 0 1.5px var(--green)}
.encart .btn-ghost:hover{background:#fff}
.encart-fine{font-size:.88rem;color:var(--ink-2);margin:0!important}
.magnet-inline{background:var(--paper-3);border-radius:var(--r);padding:22px 26px;margin:30px 0;display:grid;grid-template-columns:1fr auto;gap:16px 26px;align-items:center;box-shadow:inset 0 0 0 1.5px var(--sun)}
.magnet-inline h3{margin:0 0 5px;font-size:1.08rem}
.magnet-inline p{margin:0;color:var(--ink-2);font-size:.96rem}
@media(max-width:700px){.magnet-inline{grid-template-columns:1fr}}

/* réponses libres ajoutées par le visiteur */
.q-opt-libre{position:relative}
.q-opt-libre > .q-opt{padding-right:42px}
.q-suppr{position:absolute;right:7px;top:50%;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;font-size:.98rem;line-height:1;padding:6px 7px;border-radius:8px;opacity:0;transition:opacity .12s,background .12s}
.q-opt-libre:hover .q-suppr,.q-opt-libre:focus-within .q-suppr{opacity:.75}
.q-suppr:hover{opacity:1;background:var(--coral-pale)}
@media(hover:none){.q-suppr{opacity:.6}}
.q-opt-ajout{gap:8px;align-items:center;padding:6px 8px 6px 12px;background:transparent;box-shadow:inset 0 0 0 1px var(--line);border-radius:11px}
.q-opt-ajout:focus-within{box-shadow:inset 0 0 0 2px var(--green)}
.q-autre{flex:1;padding:6px 0;font-size:.95rem;background:transparent;box-shadow:none;border:0}
.q-autre:focus{box-shadow:none;outline:none}
.q-plus{border:0;background:var(--green-pale);color:var(--green-deep);width:30px;height:30px;border-radius:9px;font-size:1.15rem;line-height:1;cursor:pointer;flex:none}
.q-plus:hover{background:var(--green);color:#fff}

/* sélecteur d'offres : deux familles nettement séparées */
.offre-groupe{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.92rem;color:var(--green-deep);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 2px;display:grid;gap:1px}
.offre-groupe:first-child{margin-top:0}
.offre-groupe small{font-family:Literata,serif;text-transform:none;letter-spacing:0;font-weight:400;font-size:.88rem;color:var(--ink-2)}
.offer-pick{display:grid;gap:8px}

/* listes répétables génériques (fournisseurs, plats, personnes formées) */
.q-lignes{display:grid;gap:9px}
.q-ligne{display:grid;gap:9px;align-items:stretch}
.q-ligne > .q-input,.q-ligne > .q-multi{min-height:46px}
.q-ligne > .q-del,.q-ligne > .q-dup{align-self:stretch;height:auto;min-height:46px;display:grid;place-items:center}
.q-dup{border:0;border-radius:11px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2);font-size:1rem;cursor:pointer}
.q-dup:hover{background:var(--green-pale);box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green-deep)}
@media(max-width:720px){
  /* chaque ligne devient une petite carte : les champs occupent toute la largeur, les deux boutons se partagent la dernière rangée */
  .q-ligne{grid-template-columns:1fr 1fr!important;gap:7px;background:var(--paper-2);border-radius:12px;padding:10px;box-shadow:inset 0 0 0 1.5px var(--line)}
  .q-ligne > .q-input,.q-ligne > .q-multi{grid-column:1/-1;width:100%;background:var(--card)}
  .q-ligne > .q-del,.q-ligne > .q-dup{min-height:40px;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:6px;background:var(--card)}
  .q-ligne > .q-dup::after{content:"Dupliquer";font-family:"Bricolage Grotesque",sans-serif;font-weight:600}
  .q-ligne > .q-del::after{content:"Supprimer";font-family:"Bricolage Grotesque",sans-serif;font-weight:600}
  .q-ligne > .q-del:only-of-type{grid-column:1/-1}
  .q-multi-pop{position:static;margin-top:2px;max-height:220px;grid-column:1/-1}
}
.q-multi{position:relative;min-height:46px;padding:12px 34px 12px 14px;border-radius:11px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);font-family:"Bricolage Grotesque",sans-serif;font-size:.95rem;cursor:pointer;line-height:1.35}
.q-multi::after{content:"";position:absolute;right:14px;top:50%;width:8px;height:8px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:translateY(-70%) rotate(45deg);transition:transform .15s}
.q-multi-ouvert::after{transform:translateY(-30%) rotate(-135deg)}
.q-multi:focus,.q-multi:hover,.q-multi-ouvert{box-shadow:inset 0 0 0 2px var(--green);outline:none}
.q-multi-vide{color:var(--ink-2)}
.q-ligne{position:relative}
.q-multi-pop{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);background:var(--card);border-radius:12px;padding:10px;box-shadow:var(--shadow-lift);display:grid;gap:4px;max-height:280px;overflow:auto}
.q-multi-opt{padding:5px 8px;border-radius:8px}
.q-multi-opt:hover{background:var(--paper-2)}
.q-multi-opt{display:flex;gap:9px;align-items:center;font-size:.95rem;cursor:pointer}
.q-multi-opt input{accent-color:var(--green)}
.q-coller-box{margin-top:4px}
.q-coller-box summary{cursor:pointer;font-family:"Bricolage Grotesque",sans-serif;font-size:.92rem;color:var(--ink-2);padding:4px 0}
.q-coller{margin:8px 0}
/* aide repliable */
.q-info{margin-left:7px;width:19px;height:19px;border:0;border-radius:50%;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-2);font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.78rem;line-height:1;cursor:pointer;vertical-align:1px}
.q-info:hover,.q-info[aria-expanded="true"]{background:var(--green-pale);box-shadow:inset 0 0 0 1.5px var(--green);color:var(--green-deep)}
/* manquements : un titre de groupe, puis des champs sobres */
.q-groupe{margin:26px 0 4px;padding-top:16px;border-top:2px solid var(--sun)}
.q-groupe-titre{font-size:1.08rem;margin:0 0 5px;color:#7A5406}
.q-groupe-titre::before{content:"⚠ ";font-size:1rem}
.q-groupe-texte{font-size:.94rem;color:var(--ink-2);margin:0;line-height:1.45;max-width:66ch}
.q-alerte{font-size:.9rem;color:#7A5406;margin:0 0 8px;line-height:1.45;max-width:70ch}


/* menu mobile : bouton et panneau latéral */
.burger{display:none;flex:none;width:46px;height:46px;border:0;border-radius:12px;background:var(--paper-2);box-shadow:inset 0 0 0 1.5px var(--line);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.burger span{display:block;width:20px;height:2px;border-radius:2px;background:var(--ink)}
.burger:hover{box-shadow:inset 0 0 0 1.5px var(--green)}
@media(max-width:820px){.burger{display:flex}header.site nav{gap:10px}}
/* petits téléphones : en-tête compacté pour que logo, bouton et menu tiennent sur une ligne */
@media(max-width:440px){header.site .wrap{gap:8px}header.site nav{gap:8px}header.site .btn{padding:9px 12px;font-size:.86rem}.brand{font-size:1.02rem}.burger{width:42px;height:42px}}
/* très petits écrans : libellé court affiché, libellé complet conservé pour les lecteurs d'écran */
@media(max-width:374px){header.site .wrap{padding-left:14px;padding-right:14px}header.site nav .btn{font-size:0;padding:9px 11px}header.site nav .btn::after{content:"Commander";font-size:.84rem}}
.panneau-fond{position:fixed;inset:0;z-index:60;background:rgba(21,37,30,.45);opacity:0;transition:opacity .25s ease}
.panneau-fond.visible{opacity:1}
.panneau{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(86vw,370px);display:flex;flex-direction:column;
  background:var(--paper);box-shadow:-24px 0 60px -24px rgba(21,37,30,.5);transform:translateX(102%);transition:transform .25s ease;
  padding:max(14px,env(safe-area-inset-top)) 22px max(18px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
.panneau.ouvert{transform:none}
body.panneau-actif{overflow:hidden}
.panneau-haut{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.panneau-fermer{width:44px;height:44px;border:0;border-radius:12px;background:var(--paper-2);color:var(--ink);cursor:pointer;display:grid;place-items:center}
.panneau-liens{display:flex;flex-direction:column;padding:8px 0 4px}
.panneau-liens a{display:block;padding:14px 4px;border-bottom:1px solid var(--paper-2);font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:1.12rem;color:var(--ink);text-decoration:none}
.panneau-liens a[aria-current="page"]{color:var(--green-deep);box-shadow:inset 3px 0 0 var(--sun);padding-left:12px}
.panneau-cta{margin-top:18px;text-align:center}
.panneau-bas{margin-top:auto;padding-top:26px;font-size:.84rem;line-height:1.7;color:var(--ink-2)}
.panneau-bas p{margin:0 0 8px}
.panneau-bas a{color:var(--ink-2)}
@media(prefers-reduced-motion:reduce){.panneau,.panneau-fond{transition:none}}

/* carte de mise en avant du PMS : accueil (sous les tarifs) et page de remerciement */
.offre-pms{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .95fr;gap:28px 40px;align-items:center;margin-top:30px;padding:38px 42px;border-radius:22px;
  background:radial-gradient(90% 120% at 100% 0%,rgba(255,197,61,.22),transparent 60%),radial-gradient(70% 90% at 0% 100%,rgba(14,107,82,.55),transparent 70%),var(--ink);
  color:#fff;box-shadow:0 30px 60px -30px rgba(21,37,30,.6)}
.offre-pms[hidden]{display:none}
.offre-pms-sur{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:var(--sun);margin:0 0 10px}
.offre-pms h3{color:#fff;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.18;margin:0 0 12px;max-width:22ch}
.offre-pms-texte > p:not(.offre-pms-sur){color:rgba(255,255,255,.8);margin:0 0 18px;max-width:54ch;line-height:1.55}
.offre-pms-liste{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.offre-pms-liste li{position:relative;padding-left:30px;font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:1rem;color:#fff}
.offre-pms-liste li::before{content:"";position:absolute;left:0;top:.12em;width:20px;height:20px;border-radius:50%;
  background:var(--sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 12.5l4 4L18.5 7.5' fill='none' stroke='%2315251E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.offre-pms-actions{display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap}
.offre-pms-prix{font-family:"Bricolage Grotesque",sans-serif;color:rgba(255,255,255,.75);font-size:.95rem}
.offre-pms-prix b{color:#fff;font-size:1.25rem;margin-right:2px}
.offre-pms-visuel{position:relative;min-height:290px}
.offre-pms-visuel img{position:absolute;display:block;border-radius:8px;background:#fff;box-shadow:0 22px 44px -14px rgba(0,0,0,.6)}
.offre-pms-visuel .s1{width:58%;left:2%;top:6%;transform:rotate(-5deg);z-index:2}
.offre-pms-visuel .s2{width:60%;right:0;top:0;transform:rotate(4deg);z-index:1}
.offre-pms-visuel .s3{width:44%;left:34%;bottom:0;transform:rotate(-1deg);z-index:3}
/* sur une colonne, la zone d'images garde des proportions qui contiennent toujours les vignettes entières */
@media(max-width:880px){.offre-pms{grid-template-columns:1fr;padding:30px 24px 28px}.offre-pms-visuel{min-height:0;aspect-ratio:10/9;max-width:420px;width:100%;margin:6px auto 0}}

/* formulaire de contact : nom et email côte à côte, empilés sur téléphone */
.contact-duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.contact-duo{grid-template-columns:1fr}}

/* pile de documents des cartes de mise en avant : même effet d'éventail au survol que sur l'accueil */
.offre-pms-visuel img{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
.offre-pms:hover .offre-pms-visuel .s1{transform:rotate(-7deg) translate(-10px,-6px)}
.offre-pms:hover .offre-pms-visuel .s2{transform:rotate(6.5deg) translate(10px,-8px)}
.offre-pms:hover .offre-pms-visuel .s3{transform:rotate(-2deg) translate(0,8px) scale(1.03)}
@media(prefers-reduced-motion:reduce){.offre-pms-visuel img{transition:none}}

/* page PMS : métiers concernés */
.concernes-titre{margin:30px 0 12px;font-size:1.05rem}
.concernes{list-style:none;padding:0;margin:0 0 8px;display:flex;flex-wrap:wrap;gap:8px}
.concernes li{padding:7px 14px;border-radius:99px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.92rem}

/* page PMS : le classeur, une carte par document */
.classeur{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:26px 0 22px}
@media(max-width:980px){.classeur{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.classeur{grid-template-columns:1fr}}
.doc-carte{background:var(--card);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.doc-carte:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift)}
.doc-visuel{position:relative;height:200px;display:grid;place-items:center;overflow:hidden;padding-top:30px;
  background:radial-gradient(120% 90% at 50% 110%,var(--green-pale),var(--paper-2))}
.doc-visuel img{width:auto;height:auto;max-width:74%;max-height:150px;border-radius:6px;background:#fff;box-shadow:0 14px 28px -12px rgba(21,37,30,.45);transform:rotate(-2deg);transition:transform .3s ease}
.doc-carte:hover .doc-visuel img{transform:rotate(0) scale(1.05)}
.doc-compte{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:99px;background:var(--ink);color:#fff;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.8rem}
.doc-carte h3{font-size:1.08rem;margin:18px 20px 6px}
.doc-carte p{margin:0 20px 20px;color:var(--ink-2);font-size:.95rem;line-height:1.55}

/* page PMS : l'offre */
.offre-unique{display:grid;grid-template-columns:1.35fr 1fr;gap:0;background:var(--card);border-radius:22px;box-shadow:var(--shadow-lift);overflow:hidden;margin-top:24px}
@media(max-width:860px){.offre-unique{grid-template-columns:1fr}}
.offre-contenu{padding:34px 36px}
.offre-contenu h3{font-size:1.25rem;margin:0 0 18px}
.offre-inclus{list-style:none;padding:0;margin:0;display:grid;gap:13px}
.offre-inclus li{position:relative;padding-left:32px;line-height:1.5;color:var(--ink-2)}
.offre-inclus li b{color:var(--ink)}
.offre-inclus li::before{content:"";position:absolute;left:0;top:.15em;width:21px;height:21px;border-radius:50%;
  background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 12.5l4 4L18.5 7.5' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.offre-prix{position:relative;padding:34px 32px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;
  background:radial-gradient(90% 80% at 100% 0%,rgba(255,197,61,.25),transparent 60%),var(--ink);color:#fff}
.offre-ruban{margin:0 0 6px;padding:5px 13px;border-radius:99px;background:var(--sun);color:#2A2008;font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}
.offre-prix .price{color:#fff;font-size:3.2rem;margin:6px 0 2px}
.offre-prix .price .was{color:rgba(255,255,255,.55)}
.offre-sous{margin:0 0 20px;color:rgba(255,255,255,.75);font-size:.95rem}
.offre-sous .ht{font-size:.8rem;color:rgba(255,255,255,.55)}
.offre-bouton{width:100%;max-width:280px}
.offre-garanties{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:7px;font-size:.9rem;color:rgba(255,255,255,.85)}
.offre-garanties li::before{content:"✓  ";color:var(--sun);font-weight:700}
.offre-comparaison{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
@media(max-width:640px){.offre-comparaison{grid-template-columns:1fr}}
.offre-comparaison div{padding:16px 18px;border-radius:14px;background:var(--card);box-shadow:inset 0 0 0 1.5px var(--line);display:grid;gap:2px}
.offre-comparaison small{font-family:"Bricolage Grotesque",sans-serif;font-size:.8rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}
.offre-comparaison b{font-family:"Bricolage Grotesque",sans-serif;font-size:1.25rem}
.offre-comparaison span{font-size:.9rem;color:var(--ink-2)}
.offre-comparaison .nous{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-pale)}
.offre-comparaison .nous b{color:var(--green-deep)}

/* tarifs de l'accueil : quatre offres par prix croissant, la veille mise en avant */
.pricing-4{grid-template-columns:repeat(4,1fr);margin-top:26px}
@media(max-width:1100px){.pricing-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.pricing-4{grid-template-columns:1fr}}
.pricing-4 .plan.featured{box-shadow:inset 0 0 0 2px var(--green),var(--shadow-lift);transform:translateY(-6px)}
@media(max-width:1100px){.pricing-4 .plan.featured{transform:none}}
.plan-atout{margin:-4px 0 14px;padding:7px 11px;border-radius:9px;background:var(--sun);color:#2A2008;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.88rem;line-height:1.3}
.recommande{font-style:normal;font-size:.75rem;font-weight:800;padding:2px 8px;border-radius:99px;background:var(--sun);color:#2A2008;margin-left:6px;vertical-align:1px}

/* page PMS : légende discrète des visuels */
.legende{font-size:.82rem;color:var(--ink-2);opacity:.85;margin:12px 0 0;font-style:italic}

/* page PMS : chaque atout montré par une démonstration visuelle */
.atouts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:26px}
@media(max-width:780px){.atouts{grid-template-columns:1fr}}
.atout{background:var(--card);border-radius:20px;padding:22px 22px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.atout:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.atout-visuel{border-radius:14px;padding:18px;min-height:156px;margin-bottom:18px;display:flex;flex-direction:column;justify-content:center;gap:8px;
  background:linear-gradient(160deg,var(--paper-2),var(--green-pale))}
.atout h3{font-size:1.15rem;margin:0 0 6px}
.atout p{color:var(--ink-2);margin:0;line-height:1.55}
.mini-releve{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:10px;overflow:hidden;font-size:.82rem;box-shadow:0 8px 20px -12px rgba(21,37,30,.4)}
.mini-releve th{padding:8px 9px;text-align:left;color:#fff;background:var(--green);font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.78rem}
.mini-releve th:first-child{background:#1F4E9C}
.mini-releve td{padding:7px 9px;border-top:1px solid #E6EAE4;font-variant-numeric:tabular-nums}
.mini-releve td:first-child{color:var(--ink-2)}
.mini-procedes{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.mini-procedes li{padding:7px 13px;border-radius:99px;font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.88rem}
.mini-procedes .oui{background:#fff;color:var(--green-deep);box-shadow:inset 0 0 0 1.5px var(--green)}
.mini-procedes .oui::before{content:"✓ "}
.mini-procedes .non{color:#98A1AC;text-decoration:line-through;box-shadow:inset 0 0 0 1.5px #D5D9D3}
.mini-encart{display:grid;gap:2px;padding:10px 14px;border-radius:10px;font-size:.86rem;box-shadow:0 8px 18px -12px rgba(21,37,30,.35)}
.mini-encart b{font-family:"Bricolage Grotesque",sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}
.mini-encart.ambre{background:#FDF3E3;box-shadow:inset 4px 0 0 #E0A93C,0 8px 18px -12px rgba(21,37,30,.35)}
.mini-encart.ambre b{color:#8A5A08}
.mini-encart.vert{background:#F1F7F3;box-shadow:inset 4px 0 0 #2E7D5B,0 8px 18px -12px rgba(21,37,30,.35)}
.mini-encart.vert b{color:#1D6B4F}
.mini-seuils{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.mini-seuils div{background:#fff;border-radius:10px;padding:10px 12px;text-align:center;box-shadow:0 8px 18px -12px rgba(21,37,30,.35)}
.mini-seuils b{display:block;font-family:"Bricolage Grotesque",sans-serif;font-size:1.4rem;color:var(--green-deep);line-height:1.1}
.mini-seuils span{font-size:.8rem;color:var(--ink-2)}
.bandeau-dom{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:15px 18px;border-radius:14px;background:var(--card);box-shadow:inset 4px 0 0 var(--sun),var(--shadow);color:var(--ink-2);font-size:.97rem;line-height:1.5}
.bandeau-dom svg{flex:none;color:var(--green);margin-top:2px}
.bandeau-dom b{color:var(--ink)}

/* page PMS : deux options dans le panneau de prix */
.offre-prix-double{align-items:stretch;text-align:left;gap:14px;padding:24px}
.option-pms{border-radius:16px;padding:18px 20px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:flex-start}
.option-pms .price{font-size:2.3rem;margin:2px 0 2px;color:#fff}
.option-pms .price small{font-size:.95rem;color:rgba(255,255,255,.75);font-weight:500}
.option-pms .offre-sous{margin:0 0 14px;font-size:.88rem}
.option-titre{margin:0;font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1.02rem;color:#fff}
.option-suivi{background:rgba(255,197,61,.09);box-shadow:inset 0 0 0 2px var(--sun)}
.option-suivi .offre-ruban{margin:0 0 8px}
.option-suivi .offre-garanties{text-align:left;margin:0 0 16px}
.option-pms .btn{width:100%}
.btn-clair{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.btn-clair:hover{color:#fff;box-shadow:inset 0 0 0 1.5px #fff}
.offre-rassure{margin:2px 0 0;font-size:.84rem;color:rgba(255,255,255,.7);text-align:center}
.option-pms .btn{max-width:none}
.bandeau-dom{max-width:none}
.offre-contenu{display:flex;flex-direction:column}
.offre-pastilles{list-style:none;padding:22px 0 0;margin:auto 0 0;display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line)}
.offre-contenu .offre-inclus{margin-bottom:26px}
.offre-pastilles li{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:99px;background:var(--green-pale);color:var(--green-deep);font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.88rem}
.offre-pastilles svg{flex:none}
.note-word{margin:9px 0 0;font-size:.84rem;color:var(--ink-2)}
