/* Palette retune — ivoire, encre, accent parme (réf. cabinets Borderie / Parme) */
:root{
  --color-bg:#f7f5f1; --color-surface:#eeeae4; --color-text:#1b1a1c;
  --color-accent:#6d4a62; --color-accent-2:#4d5560;
  --color-divider:color-mix(in srgb, #1b1a1c 14%, transparent);
  --color-accent-100:#f4eef2; --color-accent-200:#e7dae3; --color-accent-300:#d3bdcc;
  --color-accent-400:#a97f9c; --color-accent-500:#8b6180; --color-accent-600:#5c3d52;
  --color-accent-700:#4b3143; --color-accent-800:#372435; --color-accent-900:#241825;
  --color-accent-2-100:#eef0f2; --color-accent-2-200:#dfe3e7; --color-accent-2-800:#2f353c; --color-accent-2-900:#1f242a;
  --color-neutral-100:#f4f2ee; --color-neutral-200:#e9e6e0; --color-neutral-300:#d6d2ca;
  --color-neutral-700:#5b5852; --color-neutral-800:#3d3b37; --color-neutral-900:#26241f;
  --font-heading:"Cormorant Garamond", Georgia, serif;
  --font-heading-weight:500;
  --radius-md:10px; --radius-lg:16px;
  --shadow-sm:0 1px 2px color-mix(in srgb, #26241f 10%, transparent);
  --shadow-md:0 3px 12px color-mix(in srgb, #26241f 10%, transparent);
  --shadow-lg:0 16px 40px color-mix(in srgb, #26241f 14%, transparent);
}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.55;font-size:15px}
h1,h2,h3,h4,h6{font-family:var(--font-heading);font-weight:500;letter-spacing:-0.005em;line-height:1.14;margin:0}
h6{font-family:var(--font-body);font-weight:600}
p{margin:0}
a{color:var(--color-accent);text-decoration:none}
.washed{filter:saturate(0.6) contrast(0.85) brightness(1.1) opacity(0.94)}
details > summary{list-style:none}
details > summary::-webkit-details-marker{display:none}
.faq-chevron{transition:transform .2s ease;flex:none}
details[open] .faq-chevron{transform:rotate(180deg)}

.wrap{max-width:1240px;margin:0 auto;padding:0 var(--space-6)}

/* — header — */
.site-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;flex-wrap:wrap;position:sticky;top:0;z-index:20;background:color-mix(in srgb, var(--color-bg) 88%, transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-family:var(--font-heading);font-size:20px;color:var(--color-text)}
.site-nav{display:flex;gap:var(--space-4);align-items:center;font-size:14px}
.site-nav a{color:var(--color-text)}
.site-nav a:hover{color:var(--color-accent)}

/* — pills — */
.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;border-radius:999px;padding:10px 20px;border:1px solid transparent;cursor:pointer;line-height:1.2}
.pill-primary{background:var(--color-accent);color:var(--color-bg)}
.pill-primary:hover{background:var(--color-accent-600)}
.pill-primary:active{background:var(--color-accent-700)}
.pill-outline{color:var(--color-text);border-color:var(--color-divider)}
.pill-outline:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}
.pill-sm{padding:8px 16px}
.pill-lg{font-size:12.5px;padding:14px 28px}
.pill-outline.pill-lg{gap:8px;padding:14px 24px}

.link-arrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent-700)}
.link-arrow:hover{color:var(--color-accent-900)}
.link-arrow.alt{color:var(--color-accent-2-800)}
.link-arrow.alt:hover{color:var(--color-accent-2-900)}

.kicker{font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent-700);margin-bottom:var(--space-2)}
.lead{font-size:17px;opacity:0.85}
section{padding:var(--space-8) 0}

/* — hero — */
.hero{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--space-8);align-items:center;padding:var(--space-8) 0 var(--space-6)}
.badge{display:inline-flex;align-items:center;font-size:11px;letter-spacing:0.02em;padding:3px 12px;border:1px solid var(--color-accent);color:var(--color-accent-700);border-radius:999px;margin-bottom:var(--space-4)}
.hero h1{font-size:52px;margin-bottom:var(--space-4)}
.hero .lead{max-width:520px;margin-bottom:var(--space-6)}
.actions{display:flex;gap:var(--space-3);flex-wrap:wrap}
.hero-visual{position:relative}
.portrait{width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;box-shadow:var(--shadow-lg)}
.floating-tag{position:absolute;bottom:8%;left:-6%;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;font-size:13px}

/* Photos : un visuel neutre s'affiche tant que l'image n'est pas fournie */
.photo{position:relative;width:100%;height:100%;background:linear-gradient(145deg,var(--color-accent-200),var(--color-neutral-300));display:flex;align-items:center;justify-content:center}
.photo::before{content:attr(data-monogram);font-family:var(--font-heading);font-size:clamp(48px,9vw,120px);color:var(--color-accent-700);opacity:.55;letter-spacing:.04em}
.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* — domaines — */
.domains h2{font-size:34px;max-width:620px;margin-bottom:var(--space-6)}
.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.audience{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-4)}
.audience .dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent)}
.audience h3{font-size:15px;letter-spacing:0.08em;text-transform:uppercase;color:var(--color-accent-700)}
.audience.alt .dot{background:var(--color-accent-2)}
.audience.alt h3{color:var(--color-accent-2-800)}
.domain-list{display:flex;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-4) var(--space-3);border-radius:calc(var(--radius-lg) * 1.15);background:var(--color-surface)}
.domain-list.alt{background:var(--color-accent-2-100)}
.domain-item{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider)}
.domain-item h4{font-size:19px;font-weight:500}
.domain-icon{width:34px;height:34px;flex:none;border-radius:50%;background:var(--color-accent-100);color:var(--color-accent-700);display:flex;align-items:center;justify-content:center}
.domain-list.alt .domain-icon{background:var(--color-bg);color:var(--color-accent-2-800)}
.domain-list .link-arrow{margin-top:var(--space-3)}

/* — à propos — */
.about{display:grid;grid-template-columns:0.85fr 1.15fr;gap:var(--space-8);align-items:center}
.office{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/5}
.about h2{font-size:30px;margin-bottom:var(--space-4)}
.about .lead{margin-bottom:var(--space-4)}
.about .link-arrow{margin-bottom:var(--space-6)}
.assurances{display:flex;gap:var(--space-6);flex-wrap:wrap}
.assurances div{display:flex;align-items:center;gap:10px;font-size:14px}

/* — FAQ — */
.faq h2{font-size:30px;max-width:600px;margin-bottom:var(--space-6)}
.faq-list{display:flex;flex-direction:column;gap:var(--space-3);max-width:760px}
.faq details{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;font-family:var(--font-heading);font-size:18px}
.faq details p{font-size:14px;opacity:0.8;margin-top:var(--space-3)}

/* — contact — */
.contact{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--space-8)}
.contact-card{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6)}
.contact-card h2{font-size:28px;margin-bottom:var(--space-2)}
.contact-card > p{font-size:14px;opacity:0.8;margin-bottom:var(--space-4)}
.contact-form{display:flex;flex-direction:column;gap:var(--space-3)}
.row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}
.contact-form label{display:block;font-size:12px;margin-bottom:5px;opacity:0.7}
.contact-form input,.contact-form textarea{width:100%;min-height:40px;padding:6px 14px;font:inherit;font-size:14px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:999px}
.contact-form textarea{min-height:110px;padding:12px 14px;border-radius:var(--radius-md);resize:vertical}
.contact-form input:hover,.contact-form textarea:hover{border-color:color-mix(in srgb, var(--color-text) 40%, transparent)}
.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--color-accent);outline-offset:0}
.contact-form button{align-self:flex-start;margin-top:var(--space-2);border:none}
.contact-form button:disabled{opacity:.5;cursor:wait}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:12px;opacity:.65;line-height:1.45}
.form-status{font-size:14px;min-height:1.4em}
.form-status.ok{color:var(--color-accent-2-800)}
.form-status.err{color:#9b2c2c}
.infos{display:flex;flex-direction:column;gap:var(--space-3)}
.info{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface)}
.info svg{flex:none}
.info small{display:block;font-size:12px;opacity:0.6}
.info span{font-size:15px;color:var(--color-text)}

/* — footer — */
.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-6) 0;border-top:1px solid var(--color-divider);margin-top:var(--space-4);font-size:13px;opacity:0.75}
.site-footer nav{display:flex;gap:var(--space-4);flex-wrap:wrap}
.site-footer a{color:inherit}
.site-footer a:hover{color:var(--color-accent-700)}

/* — pages légales — */
.legal{max-width:760px;padding:var(--space-8) 0}
.legal h1{font-size:40px;margin-bottom:var(--space-6)}
.legal h2{font-size:24px;margin:var(--space-6) 0 var(--space-2)}
.legal p,.legal li{font-size:15px;opacity:.85;margin-bottom:var(--space-2)}
.todo{background:var(--color-accent-100);color:var(--color-accent-800);padding:0 4px;border-radius:4px}

/* — responsive — */
@media (max-width:900px){
  .hero,.domain-grid,.about,.contact{grid-template-columns:1fr}
  .hero{gap:var(--space-6)}
  .hero h1{font-size:40px}
  .hero-visual{max-width:380px;margin:0 auto var(--space-4);width:100%}
  .floating-tag{left:0}
  .about .office{max-width:420px}
  .site-nav{display:none}
}
@media (max-width:560px){
  .wrap{padding:0 16px}
  .site-header{gap:var(--space-2)}
  .brand{font-size:18px}
  .site-header .pill{display:none}
  .hero h1{font-size:34px}
  .domains h2{font-size:28px}
  .row-2{grid-template-columns:1fr}
  .contact-card{padding:var(--space-4)}
}

/* ===== Pages intérieures (v2) ===== */
.site-nav a[aria-current="page"]{color:var(--color-accent)}
.menu{display:none;position:relative}
.menu summary{cursor:pointer;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--color-divider)}
.menu-panel{position:absolute;right:0;top:48px;min-width:230px;display:flex;flex-direction:column;padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}
.menu-panel a{padding:10px 12px;border-radius:8px;color:var(--color-text);font-size:15px}
.menu-panel a:hover{background:var(--color-surface)}
.menu-panel .pill{margin-top:var(--space-2);justify-content:center;color:var(--color-bg)}

.page-hero{padding:var(--space-8) 0 var(--space-6);max-width:820px}
.page-hero h1{font-size:46px;margin-bottom:var(--space-4)}
.page-hero .lead{margin-bottom:var(--space-6);max-width:680px}
.badge.alt{border-color:var(--color-accent-2);color:var(--color-accent-2-800)}
.breadcrumb{font-size:13px;opacity:.7;margin-bottom:var(--space-4)}
.breadcrumb a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.prose{max-width:760px}
.prose p{font-size:16px;line-height:1.7;opacity:.9;margin-bottom:var(--space-4)}
.prose h2{font-size:28px;margin:var(--space-6) 0 var(--space-3)}
.prose ul{padding-left:1.2em;margin:0 0 var(--space-4)}
.prose li{font-size:16px;line-height:1.65;opacity:.9;margin-bottom:6px}
.prose table{border-collapse:collapse;width:100%;margin:0 0 var(--space-4);font-size:15px}
.prose th,.prose td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--color-divider)}
.prose th{font-weight:600;background:var(--color-surface)}
.note{font-size:13px;opacity:.7;border-top:1px solid var(--color-divider);padding-top:var(--space-3);margin-top:var(--space-6)}

.section-head{margin-bottom:var(--space-6);max-width:680px}
.section-head h2{font-size:32px;margin-bottom:var(--space-3)}
.section-head p{opacity:.8}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.step{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4)}
.step .num{font-family:var(--font-heading);font-size:40px;color:var(--color-accent-400);line-height:1}
.step small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);margin:var(--space-3) 0 var(--space-2)}
.step h3{font-size:22px;margin-bottom:var(--space-2)}
.step p{font-size:14.5px;opacity:.85;line-height:1.6}
.alt-theme .step small{color:var(--color-accent-2-800)}
.alt-theme .step .num{color:#8a929c}
.alt-theme .step{background:var(--color-accent-2-100)}

.checklist{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-6);max-width:960px}
.checklist div{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.5;padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider)}
.checklist svg{flex:none;margin-top:2px}

.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--space-4)}
.card{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4) var(--space-4);color:var(--color-text);transition:transform .15s ease, box-shadow .15s ease}
a.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.card .tag{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700)}
.card .tag.alt{color:var(--color-accent-2-800)}
.card h3{font-size:22px}
.card p{font-size:14.5px;opacity:.82;line-height:1.55;flex:1}
.card .link-arrow{margin-top:var(--space-3)}
.card.alt{background:var(--color-accent-2-100)}

.audiences{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.audience-card{border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-8) var(--space-6);background:var(--color-accent-100);color:var(--color-text);display:flex;flex-direction:column;gap:var(--space-3)}
.audience-card.alt{background:var(--color-accent-2-100)}
.audience-card h3{font-size:30px}
.audience-card p{opacity:.85;flex:1}

.cta-band{background:var(--color-accent-800);color:var(--color-bg);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-8) var(--space-6);display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin:var(--space-6) 0}
.cta-band h2{font-size:32px;max-width:560px}
.cta-band p{opacity:.8;margin-top:var(--space-2);max-width:560px}
.cta-band .pill-primary{background:var(--color-bg);color:var(--color-accent-800)}
.cta-band .pill-primary:hover{background:var(--color-accent-100)}

.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-6)}
.filters button{font:inherit;font-size:13px;padding:8px 16px;border-radius:999px;border:1px solid var(--color-divider);background:transparent;color:var(--color-text);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}

.contact-form select{width:100%;min-height:40px;padding:6px 14px;font:inherit;font-size:14px;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-divider);border-radius:999px;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d4a62' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.domain-item{color:var(--color-text)}
a.domain-item:hover h4{color:var(--color-accent-700)}
.domain-list.alt a.domain-item:hover h4{color:var(--color-accent-2-800)}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-6);padding:var(--space-8) 0 var(--space-6);border-top:1px solid var(--color-divider);margin-top:var(--space-8);font-size:14px}
.footer-grid h4{font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:var(--space-3);opacity:.65}
.footer-grid nav{display:flex;flex-direction:column;gap:8px}
.footer-grid a{color:var(--color-text)}
.footer-grid a:hover{color:var(--color-accent-700)}
.footer-grid p{opacity:.75;line-height:1.6;margin-bottom:var(--space-3)}
.footer-grid + .site-footer{border-top:none;margin-top:0;padding-top:0}

@media (max-width:900px){
  .menu{display:block}
  .steps,.audiences{grid-template-columns:1fr}
  .checklist{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .page-hero h1{font-size:38px}
}
@media (max-width:560px){
  .site-header .menu-panel .pill{display:inline-flex}
  .page-hero h1{font-size:32px}
  .section-head h2,.cta-band h2{font-size:26px}
  .cta-band{padding:var(--space-6) var(--space-4)}
  .audience-card{padding:var(--space-6) var(--space-4)}
  .footer-grid{grid-template-columns:1fr}
}
.card[hidden]{display:none}
.menu-panel .pill{white-space:nowrap}

/* ===== Simulateurs ===== */
.outil-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:start}
.outil{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6)}
.outil.alt{background:var(--color-accent-2-100)}
.outil select{width:100%}
.champ-groupe{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent-700);margin-top:var(--space-3)}
.outil.alt .champ-groupe{color:var(--color-accent-2-800)}
.champ-aide{font-size:13px;line-height:1.5;opacity:.7;margin:-4px 0 0}
.res-avert{background:var(--color-accent-2-100);border-left:3px solid var(--color-accent-800);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:14px;line-height:1.55;margin:0 0 var(--space-5)}
.res-vigil{font-size:14px;line-height:1.55;margin:0 0 var(--space-5)}
.res-note{font-size:13px;opacity:.75;margin:-8px 0 var(--space-5)}
.case{display:flex!important;gap:10px;align-items:flex-start;font-size:14px!important;opacity:1!important;line-height:1.45;cursor:pointer;margin:0!important}
.case input{width:18px!important;min-height:18px!important;height:18px;margin:1px 0 0;flex:none;accent-color:var(--color-accent)}
.resultat,.resultat-attente{position:sticky;top:88px;border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6);border:1px solid var(--color-divider);background:var(--color-bg)}
.resultat:not([hidden]) + .resultat-attente{display:none}
.resultat-attente p{opacity:.7;font-size:15px}
.res-lines{margin:0 0 var(--space-6)}
.res-lines div{display:flex;justify-content:space-between;gap:var(--space-4);padding:10px 0;border-bottom:1px solid var(--color-divider);font-size:14.5px}
.res-lines dt{opacity:.8}
.res-lines dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.res-lines .total{border-bottom:none;padding:var(--space-3) 0}
.res-lines .total dt{opacity:1;font-weight:600}
.res-lines .total dd{font-family:var(--font-heading);font-size:26px;font-weight:500;color:var(--color-accent-800)}
.res-lines .risque{background:var(--color-accent-2-100);border-radius:var(--radius-md);padding:var(--space-3);border-bottom:none;margin-top:6px}
.res-lines .alerte dd,.res-lines .alerte dt{color:#9b2c2c;opacity:1}
.res-lines .niveau dd{font-family:var(--font-heading);font-size:26px;font-weight:500}
.niveau-eleve dd{color:#9b2c2c}
.niveau-significatif dd{color:#9a5b13}
.niveau-modere dd{color:var(--color-accent-700)}
.niveau-limite dd{color:var(--color-accent-2-800)}
.resultat h4{font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:var(--space-3);color:var(--color-accent-700)}
.vigil{margin:0 0 var(--space-6);padding-left:1.1em}
.vigil li{font-size:14px;line-height:1.55;margin-bottom:8px;opacity:.9}
.res-cta{background:var(--color-accent-800);color:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-4)}
.res-cta p{font-size:14px;opacity:.9;margin-bottom:var(--space-3)}
.res-cta .pill-primary{background:var(--color-bg);color:var(--color-accent-800)}
.res-err{color:#9b2c2c;font-size:14.5px}
@media (max-width:900px){
  .outil-grid{grid-template-columns:1fr}
  .resultat,.resultat-attente{position:static}
  .resultat-attente{display:none}
}
@media (max-width:560px){
  .outil,.resultat{padding:var(--space-4)}
  .res-lines div{flex-direction:column;gap:2px}
  .res-lines dd{text-align:left}
}

/* ===== Accompagnements : cas concrets et encart « Mon accompagnement » ===== */
.intentions p{font-size:13px;opacity:.75;margin-bottom:var(--space-2)}
.intentions div{display:flex;gap:var(--space-2);flex-wrap:wrap}
.intentions .pill{background:var(--color-bg)}
.intentions .pill:hover{border-color:var(--color-accent);color:var(--color-accent-700)}
.service-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-8);align-items:start}
.service-grid .prose h2{font-size:26px}
.prose strong{font-weight:600;color:var(--color-accent-800)}
.cas{padding-left:var(--space-4);border-left:2px solid var(--color-accent-300)}
.encart{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6) var(--space-4)}
.encart.alt{background:var(--color-accent-2-100)}
.encart h3{font-size:22px;margin-bottom:var(--space-4)}
.encart h4{font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent-700);margin:var(--space-6) 0 var(--space-3)}
.encart.alt h4{color:var(--color-accent-2-800)}
.encart ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.encart li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.encart li svg{flex:none;margin-top:1px}
.prix{padding:var(--space-3) 0;border-top:1px solid var(--color-divider)}
.prix strong{display:block;font-family:var(--font-heading);font-weight:400;font-size:24px;color:var(--color-accent-800);line-height:1.2}
.prix span{display:block;font-size:13.5px;opacity:.8;line-height:1.5;margin-top:4px}
.encart-actions{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);margin-top:var(--space-4)}
.renvoi{background:var(--color-accent-100);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-6)}
.renvoi.alt{background:var(--color-accent-2-100)}
.renvoi p{margin:0}
.renvoi a{color:var(--color-accent-800);text-decoration:underline;text-underline-offset:3px;font-weight:600}

/* ===== Tarifs ===== */
.tarifs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.tarif{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4)}
.tarif.alt{background:var(--color-accent-2-100)}
.tarif .tag{padding:0;background:none;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700)}
.tarif .tag.alt{color:var(--color-accent-2-800)}
.tarif h3{font-size:24px}
.tarif > p{font-size:14.5px;opacity:.82;line-height:1.55;margin-bottom:var(--space-2)}
.tarif .pill{align-self:flex-start;margin-top:auto}
.tarif .prix:last-of-type{margin-bottom:var(--space-4)}

/* ===== Prise de rendez-vous ===== */
.rdv{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);align-items:start}
.rdv-form{background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6);gap:var(--space-6)}
.rdv-form fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3);min-width:0}
.rdv-form legend{display:flex;align-items:center;gap:10px;font-family:var(--font-heading);font-size:22px;margin-bottom:var(--space-3);padding:0}
.rdv-form legend span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--color-accent);color:var(--color-bg);font-family:var(--font-body);font-size:14px;font-weight:600}
.rdv-form legend small{font-family:var(--font-body);font-size:13px;opacity:.65}
.motifs,.modalites{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.motifs .champ-groupe{flex-basis:100%;margin:var(--space-2) 0 0}
.motifs .champ-groupe:first-child{margin-top:0}
.contact-form .choix-motif{margin:0;opacity:1;cursor:pointer}
.choix-motif input,.jour input{position:absolute;opacity:0;width:1px;height:1px}
.choix-motif span{display:inline-block;padding:9px 16px;border-radius:999px;border:1px solid var(--color-divider);background:var(--color-bg);font-size:14px}
.choix-motif:hover span{border-color:var(--color-accent)}
.choix-motif input:checked + span{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.choix-motif.alt input:checked + span{background:var(--color-accent-2-700);border-color:var(--color-accent-2-700)}
.choix-motif input:focus-visible + span,.jour input:focus-visible + span{outline:2px solid var(--color-accent);outline-offset:2px}
.creneaux{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}
.jour{display:flex;flex-direction:column;gap:6px;background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-3) var(--space-2)}
.jour p{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;margin-bottom:2px}
.contact-form .jour label{margin:0;opacity:1;font-size:13px;cursor:pointer}
.jour span{display:block;text-align:center;padding:7px 4px;border-radius:999px;border:1px solid var(--color-divider)}
.jour label:hover span{border-color:var(--color-accent)}
.jour input:checked + span{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}
.jour input:disabled + span{opacity:.35;cursor:not-allowed}
.resume{position:sticky;top:88px}
.resume dl{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--space-6)}
.resume dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent-700);margin-top:var(--space-3)}
.resume dd{margin:0;font-size:15px;line-height:1.5}
.resume ul{margin-bottom:var(--space-4)}

@media (max-width:900px){
  .service-grid,.rdv,.tarifs{grid-template-columns:1fr}
  .resume{position:static}
  .creneaux{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .rdv-form{padding:var(--space-4)}
}

/* ===== Espaces salarié et employeur : onglets internes ===== */
.sous-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:var(--space-2);padding:6px;border-radius:999px;background:var(--color-accent-100);font-size:13.5px}
.sous-nav.alt{background:var(--color-accent-2-100)}
.sous-nav span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--color-accent-700);padding:0 10px 0 12px}
.sous-nav.alt span{color:var(--color-accent-2-800)}
.sous-nav a{color:var(--color-text);padding:7px 14px;border-radius:999px}
.sous-nav a:hover{background:var(--color-bg)}
.sous-nav a[aria-current="page"]{background:var(--color-bg);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.kicker.alt{color:var(--color-accent-2-800)}

/* espace salarié */
.portes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.porte{display:flex;gap:var(--space-4);align-items:flex-start;background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4);color:var(--color-text);transition:transform .15s ease, box-shadow .15s ease}
.porte:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.porte .no,.pilier .no,.cadre .no,.vigil-item .no,.etape .no{font-family:var(--font-heading);font-size:34px;line-height:1;color:var(--color-accent-400)}
.porte h3{font-size:24px;margin-bottom:var(--space-2)}
.porte p{font-size:14.5px;opacity:.82;line-height:1.55}
.porte > svg{margin-left:auto;flex:none;margin-top:8px;color:var(--color-accent-700)}
.tarif-bandeau{display:grid;grid-template-columns:1fr 1.3fr auto;gap:var(--space-6);align-items:center;background:var(--color-accent-100);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-6);margin:var(--space-6) 0}
.tarif-bandeau h3{font-size:26px;margin-bottom:var(--space-2)}
.tarif-bandeau p{font-size:14.5px;opacity:.8}
.tarif-bandeau-prix .prix:first-child{border-top:none;padding-top:0}

/* espace employeur */
.hero-employeur h1 em{color:var(--color-accent-2-700);font-style:italic}
.piliers{display:flex;flex-direction:column;gap:var(--space-3)}
.pilier{display:grid;grid-template-columns:70px 1fr auto;gap:var(--space-4);align-items:center;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-bg);border:1px solid var(--color-divider);color:var(--color-text);transition:background .15s ease}
.pilier:nth-child(2){background:var(--color-accent-2-100);border-color:transparent}
.pilier:nth-child(3){background:var(--color-accent-2-800);border-color:transparent;color:var(--color-bg)}
.pilier:nth-child(3) .link-arrow{color:var(--color-bg)}
.pilier:nth-child(3) .no{color:var(--color-accent-2-300)}
.pilier .no{color:var(--color-accent-2-500);font-size:44px}
.pilier h3{font-size:28px;margin-bottom:var(--space-2)}
.pilier p{font-size:15px;opacity:.82;line-height:1.55;max-width:620px}
.pilier:hover{filter:brightness(.98)}
.pratique{background:var(--color-accent-2-800);color:var(--color-bg);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-8) var(--space-6);margin:var(--space-8) 0}
.pratique .kicker{color:var(--color-accent-2-200)}
.domaines{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}
.domaine{border:1px solid color-mix(in srgb, var(--color-bg) 25%, transparent);border-radius:var(--radius-md);padding:var(--space-4)}
.domaine small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-2-200);margin-bottom:var(--space-2)}
.domaine h3{font-size:21px;margin-bottom:var(--space-2)}
.domaine p{font-size:14px;opacity:.85;line-height:1.55}
.reperes{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-6)}
.reperes div{padding:var(--space-4) var(--space-3)}
.reperes div + div{border-left:1px solid var(--color-divider)}
.reperes small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-2-800);margin-bottom:4px}
.reperes span{font-size:14.5px;font-weight:500}
.cadres{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.cadre{background:var(--color-accent-2-100);border-radius:var(--radius-lg);padding:var(--space-6) var(--space-4)}
.cadre .no,.vigil-item .no,.etape .no{color:var(--color-accent-2-500)}
.cadre h3,.vigil-item h3,.etape h3{font-size:21px;margin:var(--space-3) 0 var(--space-2)}
.cadre p,.vigil-item p,.etape p{font-size:14.5px;opacity:.85;line-height:1.55}
.vigilances{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.vigil-item{border-top:2px solid var(--color-accent-2-500);padding-top:var(--space-4)}
.etapes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);counter-reset:e}
.etape{padding:var(--space-4) 0;border-top:1px solid var(--color-divider)}
.honoraires-bloc{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-8);align-items:center;background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-8) var(--space-6);margin:var(--space-6) 0}
.honoraires-bloc h2{font-size:30px;margin-bottom:var(--space-3)}
.honoraires-bloc > div > p{opacity:.85;margin-bottom:var(--space-4);line-height:1.6}
.honoraires-bloc ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.honoraires-bloc li{display:flex;gap:10px;font-size:14.5px}
.honoraires-carte{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-6)}
.honoraires-carte small{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-2-800)}
.honoraires-carte strong{font-family:var(--font-heading);font-weight:400;font-size:30px;line-height:1.15}
.honoraires-carte span{font-size:14px;opacity:.75;margin-bottom:var(--space-3)}

/* cabinet et accueil */
.parcours{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}
.parcours h2{font-size:28px;margin-bottom:var(--space-4)}
.parcours p{opacity:.85;line-height:1.6}
.frise{list-style:none;padding:0;margin:0;border-left:2px solid var(--color-accent-200)}
.frise li{position:relative;padding:0 0 var(--space-4) var(--space-4)}
.frise li::before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--color-accent)}
.frise small{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-700);margin-bottom:2px}
.frise span{font-size:16px}
.assurances-bande{display:flex;justify-content:center;gap:var(--space-8);flex-wrap:wrap;padding:var(--space-6) 0}
.assurances-bande div{display:flex;align-items:center;gap:10px;font-size:14px}
.page-hero .filters{margin:0}

@media (max-width:900px){
  .portes,.cadres,.vigilances,.etapes,.domaines,.parcours,.honoraires-bloc,.tarif-bandeau{grid-template-columns:1fr}
  .reperes{grid-template-columns:1fr 1fr}
  .reperes div:nth-child(3){border-left:none}
  .pilier{grid-template-columns:1fr}
  .pratique{padding:var(--space-6) var(--space-4)}
  .honoraires-bloc{padding:var(--space-6) var(--space-4)}
  .sous-nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
  .sous-nav::-webkit-scrollbar{display:none}
  .sous-nav span{display:none}
}

/* ===== Espace client et premier rendez-vous ===== */
.lien-client{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text);opacity:.8}
.lien-client:hover{opacity:1;color:var(--color-accent-700)}
.suite{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.suite h3{font-size:20px}
.suite p{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:14px;line-height:1.5}
.resume .prix{margin-bottom:var(--space-4)}
.espace-client{max-width:1100px}
.espace-client > .contact-card{max-width:560px}
.espace-client [hidden]{display:none!important}
.espace-grille{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--space-8);align-items:start}
.depot-zone{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:var(--space-6) var(--space-4);border:2px dashed var(--color-divider);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer;text-align:center;opacity:1!important}
.depot-zone:hover{border-color:var(--color-accent)}
.depot-zone input{position:absolute;opacity:0;width:1px;height:1px}
.depot-zone strong{font-size:15px;color:var(--color-accent-800)}
.depot-zone span{font-size:13px;opacity:.7}
.depot-zone:focus-within{outline:2px solid var(--color-accent);outline-offset:2px}
.liste-choisis{list-style:none;padding:0;margin:0;font-size:14px;display:flex;flex-direction:column;gap:4px}
.liste-choisis small{opacity:.6}
.connecte{font-size:14px;margin-bottom:var(--space-4);word-break:break-all}
.historique{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}
.historique li{display:flex;flex-direction:column;font-size:14px;word-break:break-word}
.historique small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent-700)}
.historique .vide{opacity:.65}
#deconnexion{background:none;border:none;padding:0;cursor:pointer}
@media (max-width:1100px){ .lien-client{display:none} }
@media (max-width:900px){ .espace-grille{grid-template-columns:1fr} }

/* ===== Espace salarié : expertises et exemples de dossiers ===== */
.expertises{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.expertise{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-surface);border-radius:calc(var(--radius-lg) * 1.15);padding:var(--space-8) var(--space-6);color:var(--color-text);transition:transform .15s ease, box-shadow .15s ease}
.expertise:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.expertise .no{font-family:var(--font-heading);font-size:40px;line-height:1;color:var(--color-accent-400)}
.expertise h3{font-size:32px}
.expertise > p{font-size:15px;opacity:.85;line-height:1.6}
.expertise ul{list-style:none;padding:0;margin:var(--space-2) 0 var(--space-3);display:flex;flex-wrap:wrap;gap:8px}
.expertise li{font-size:13px;padding:6px 12px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-divider)}
.expertise .link-arrow{margin-top:auto}
.dossiers{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}
.dossier{border-top:2px solid var(--color-accent-400);padding-top:var(--space-4)}
.dossier small{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-700);margin-bottom:var(--space-2)}
.dossier h3{font-size:21px;margin-bottom:var(--space-2)}
.dossier p{font-size:14.5px;opacity:.85;line-height:1.6}
@media (max-width:900px){
  .expertises,.dossiers{grid-template-columns:1fr}
  .expertise{padding:var(--space-6) var(--space-4)}
}
