
  /* ============================================================
     Maquette V6 — Johanna Triquet · Conseil végétal indépendant
     V5 (29/07/2026) : photos fournies (Shutterstock), cas clients nominatifs,
     offre pro, boutons Réserver, chiffres, GA4.
     V6 (17/08/2026) — retours cliente : coordonnées réelles (bonjour@jtconseil-vegetal.fr,
     06 15 48 98 54, @jt_conseilvegetal, domaine jtconseil-vegetal.fr) ; correction du
     chevauchement du logo en en-tête ; nouveaux tarifs et durées particuliers/pros ;
     nouveau bloc Collectivités sur devis ; 6 ans de co-direction ; bandeau cookies
     conditionnant le chargement de GA4.
     Palette : papier chaud + accent eucalyptus (cohérent avec le logo).
     ============================================================ */
  :root{
    --paper:#F1EFE7;--surface:#F8F6F0;--raised:#FCFBF6;--ink:#22231C;--stone:#5E5B4C;--faint:#918C7B;--line:#E4DFD2;
    --accent:#3B6D2F;--accent-ink:#2E5424;--tint:#E8ECDF;
    --shadow:0 1px 2px rgba(30,32,22,.05),0 14px 36px -14px rgba(30,32,22,.16);--shadow-lg:0 30px 70px -30px rgba(30,32,22,.42);
    --serif:ui-serif,"New York","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
    --sans:-apple-system,BlinkMacSystemFont,ui-sans-serif,"Segoe UI",Helvetica,Arial,sans-serif;
    --mono:ui-monospace,"SF Mono","SFMono-Regular",Menlo,Consolas,monospace;
    --measure:60ch;--gutter:clamp(1.15rem,5vw,5.5rem);--shell:1240px;--head-h:76px;
  }
  @media (prefers-color-scheme:dark){:root{--paper:#14150F;--surface:#1A1B13;--raised:#212217;--ink:#EDEADD;--stone:#AAA48F;--faint:#7C7864;--line:#2C2D21;--accent:#8CB878;--accent-ink:#AACF98;--tint:#232619;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 44px -18px rgba(0,0,0,.65);--shadow-lg:0 40px 90px -40px rgba(0,0,0,.8)}}
  :root[data-theme="light"]{--paper:#F1EFE7;--surface:#F8F6F0;--raised:#FCFBF6;--ink:#22231C;--stone:#5E5B4C;--faint:#918C7B;--line:#E4DFD2;--accent:#3B6D2F;--accent-ink:#2E5424;--tint:#E8ECDF;--shadow:0 1px 2px rgba(30,32,22,.05),0 14px 36px -14px rgba(30,32,22,.16);--shadow-lg:0 30px 70px -30px rgba(30,32,22,.42)}
  :root[data-theme="dark"]{--paper:#14150F;--surface:#1A1B13;--raised:#212217;--ink:#EDEADD;--stone:#AAA48F;--faint:#7C7864;--line:#2C2D21;--accent:#8CB878;--accent-ink:#AACF98;--tint:#232619;--shadow:0 1px 2px rgba(0,0,0,.35),0 18px 44px -18px rgba(0,0,0,.65);--shadow-lg:0 40px 90px -40px rgba(0,0,0,.8)}

  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
  body.no-scroll{overflow:hidden}
  ::selection{background:var(--accent);color:#fff}
  a{color:inherit}
  img,svg{display:block;max-width:100%}
  :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:500;letter-spacing:-.014em;text-wrap:balance;margin:0}
  p{margin:0}
  section{scroll-margin-top:calc(var(--head-h) + 12px)}
  .eyebrow{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.22em;color:var(--accent);font-weight:600;display:inline-flex;align-items:center;gap:.6rem}
  .eyebrow::before{content:"";width:1.6rem;height:1px;background:currentColor;opacity:.6}
  .lede{font-size:clamp(1.05rem,1.6vw,1.24rem);color:var(--stone);max-width:var(--measure);line-height:1.6}
  .container{max-width:var(--shell);margin:0 auto;padding-inline:var(--gutter)}
  .section{padding-block:clamp(4rem,10vh,8rem)}
  .section--tint{background:var(--surface);border-block:1px solid var(--line)}
  .section-head{max-width:var(--measure);display:grid;gap:1rem;margin-bottom:clamp(2rem,5vw,3.5rem)}
  .section-head h2{font-size:clamp(2rem,4vw,3.15rem);line-height:1.05}

  .btn{appearance:none;cursor:pointer;font:inherit;font-size:.95rem;letter-spacing:.01em;border-radius:100px;padding:.85rem 1.5rem;text-decoration:none;display:inline-flex;align-items:center;gap:.55rem;border:1px solid transparent;transition:transform .18s,background .2s,border-color .2s,color .2s,box-shadow .2s}
  .btn:active{transform:translateY(1px)}
  .btn--primary{background:var(--accent);color:#F6F7EF}
  :root[data-theme="dark"] .btn--primary{color:#14150F}
  @media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn--primary{color:#14150F}}
  .btn--primary:hover{background:var(--accent-ink);box-shadow:0 10px 24px -12px var(--accent)}
  .btn--ghost{border-color:var(--line);color:var(--ink);background:transparent}
  .btn--ghost:hover{border-color:var(--ink);background:var(--surface)}
  .btn--light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  .btn--light:hover{background:rgba(255,255,255,.24)}
  .btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translateX(3px)}

  /* Loader */
  #loader{position:fixed;inset:0;z-index:200;background:var(--paper);display:grid;place-items:center;transition:opacity .7s ease,visibility .7s}
  body.loaded #loader{opacity:0;visibility:hidden}
  .loader-in{display:grid;justify-items:center;gap:1.2rem;text-align:center}
  .loader-in svg{width:44px;height:44px}
  .loader-in b{font-family:var(--serif);font-weight:500;font-size:1.4rem;letter-spacing:.01em}
  .loader-in span{font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
  .loader-bar{width:min(220px,54vw);height:2px;background:var(--line);border-radius:2px;overflow:hidden}
  .loader-bar i{display:block;height:100%;width:0;background:var(--accent);animation:load 1.5s cubic-bezier(.5,0,.1,1) forwards}
  @keyframes load{to{width:100%}}

  /* Logo — lockup HTML (plus de texte tracé dans le SVG : supprime tout risque
     de chevauchement selon la police disponible sur le poste du visiteur) */
  .brand-mark{width:21px;height:29px;flex:0 0 auto}
  .brand-mark path,.brand-mark line{stroke:var(--accent)}
  .brand-name{font-family:var(--serif);font-weight:500;font-size:clamp(1.14rem,2.1vw,1.46rem);line-height:1.05;letter-spacing:.004em;white-space:nowrap}
  .brand-tag{display:block;margin-top:.35rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}
  .site-header[data-over="true"] .brand{text-shadow:0 2px 14px rgba(0,0,0,.5)}
  .site-header[data-over="true"] .brand-mark path,.site-header[data-over="true"] .brand-mark line{stroke:#fff}
  @media (max-width:560px){
    .brand-mark{width:18px;height:25px}
    .brand-name{font-size:1.06rem}
    /* on libère la place du CTA : thème et Instagram restent accessibles
       via le menu et le pied de page */
    .site-header #theme-toggle,.site-header #ig-btn{display:none}
    .site-header .btn--primary{padding:.55rem .9rem;font-size:.82rem}
  }

  /* Media (couleur) */
  .media{position:relative;overflow:hidden;background:var(--tint);isolation:isolate}
  .media img{width:100%;height:100%;object-fit:cover;filter:saturate(1.03) contrast(1.02);transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .6s}
  .media::after{content:"";position:absolute;inset:0;z-index:1;background:var(--accent);mix-blend-mode:multiply;opacity:.07;transition:opacity .6s;pointer-events:none}
  .media::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 42%,color-mix(in srgb,var(--ink) 24%,transparent));pointer-events:none}

  /* Header */
  .site-header{position:fixed;inset:0 0 auto 0;z-index:120;height:var(--head-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);transition:background .35s,border-color .35s,color .35s;border-bottom:1px solid transparent;color:var(--ink)}
  .site-header[data-solid="true"]{background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);border-bottom-color:var(--line)}
  .site-header[data-over="true"]{color:#fff}
  .brand{display:inline-flex;align-items:center;gap:.62rem;text-decoration:none;color:inherit;min-width:0}
  .primary-nav{display:flex;align-items:center;gap:clamp(.35rem,1.3vw,1.35rem)}
  .primary-nav a{position:relative;text-decoration:none;color:inherit;font-size:.92rem;padding:.35rem .1rem;white-space:nowrap;opacity:.85;transition:opacity .2s,color .2s}
  .primary-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:currentColor;transition:right .28s}
  .primary-nav a:hover{opacity:1}.primary-nav a.active{opacity:1}
  .site-header:not([data-over="true"]) .primary-nav a.active{color:var(--accent-ink)}
  .primary-nav a.active::after,.primary-nav a:hover::after{right:0}
  .header-tools{display:inline-flex;align-items:center;gap:.55rem}
  .icon-btn{appearance:none;background:transparent;border:1px solid color-mix(in srgb,currentColor 30%,transparent);color:inherit;width:2.35rem;height:2.35rem;border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:border-color .2s,background .2s}
  .icon-btn:hover{border-color:currentColor}
  .burger{display:none}

  /* Overlay */
  .overlay{position:fixed;inset:0;z-index:140;background:var(--paper);color:var(--ink);display:grid;grid-template-rows:var(--head-h) 1fr auto;padding-inline:var(--gutter);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s,transform .35s,visibility .35s}
  .overlay.open{opacity:1;visibility:visible;transform:none}
  .overlay-top{display:flex;align-items:center;justify-content:space-between}
  .overlay nav{align-self:center;display:flex;flex-direction:column;gap:.15rem;padding:1.5rem 0}
  .overlay nav a{font-family:var(--serif);font-size:clamp(1.9rem,8vw,3.1rem);text-decoration:none;color:var(--ink);opacity:.55;line-height:1.2;transition:opacity .2s,color .2s}
  .overlay nav a:hover{opacity:1;color:var(--accent-ink)}
  .overlay-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:1.3rem 0;color:var(--stone);font-size:.9rem}

  /* Hero slider */
  .hero{position:relative;height:100svh;height:100dvh;min-height:600px;overflow:hidden;color:#fff}
  .hero .topfade{position:absolute;top:0;left:0;right:0;height:170px;z-index:2;background:linear-gradient(to bottom,rgba(10,14,7,.5),rgba(10,14,7,.12) 55%,transparent);pointer-events:none}
  .slides{position:absolute;inset:0}
  .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
  .slide.on{opacity:1}
  .slide .media{position:absolute;inset:0}
  .slide .media::after{opacity:.12;mix-blend-mode:normal;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 30%,transparent),transparent 60%)}
  .slide .media::before{background:linear-gradient(90deg,rgba(16,22,12,.7),rgba(16,22,12,.28) 44%,rgba(16,22,12,.08) 72%),linear-gradient(0deg,rgba(16,22,12,.6),transparent 46%)}
  .slide.on .media img{animation:ken 7.5s ease-out forwards}
  @keyframes ken{from{transform:scale(1.03)}to{transform:scale(1.15)}}
  .hero-inner{position:relative;z-index:3;height:100%;max-width:var(--shell);margin:0 auto;padding:0 var(--gutter) clamp(4.5rem,11vh,7rem);display:flex;flex-direction:column;justify-content:flex-end;gap:1.35rem}
  .hero .eyebrow{color:#d5e6c8}.hero .eyebrow::before{background:#d5e6c8}
  .hero h1{font-size:clamp(2.6rem,6.4vw,5.4rem);line-height:1.0;max-width:17ch;text-shadow:0 2px 40px rgba(0,0,0,.35)}
  .hero .lede{color:rgba(255,255,255,.94);max-width:52ch;font-size:clamp(1.08rem,1.7vw,1.32rem)}
  .hero-cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.3rem}
  .slide-cap{position:absolute;right:var(--gutter);bottom:clamp(4.5rem,11vh,7rem);z-index:3;text-align:right;max-width:16rem}
  .slide-cap .k{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.72)}
  .slide-cap b{font-family:var(--serif);font-weight:500;font-size:1.15rem;display:block;color:#fff}
  .hero-controls{position:absolute;left:var(--gutter);bottom:1.5rem;z-index:4;display:flex;align-items:center;gap:.9rem}
  .dots{display:flex;gap:.5rem}
  .dots button{width:26px;height:3px;border-radius:2px;border:0;background:rgba(255,255,255,.35);cursor:pointer;padding:0;transition:background .3s}
  .dots button.on{background:#fff}
  .hero-controls .arrows{display:flex;gap:.4rem}
  .hero-controls .arrows .icon-btn{color:#fff;border-color:rgba(255,255,255,.4);width:2.2rem;height:2.2rem}
  .scroll-cue{position:absolute;left:50%;bottom:1.5rem;transform:translateX(-50%);z-index:4;color:rgba(255,255,255,.8);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;display:grid;justify-items:center;gap:.35rem}
  .scroll-cue .m{width:19px;height:30px;border:1.5px solid currentColor;border-radius:11px;position:relative}
  .scroll-cue .m::after{content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;border-radius:2px;background:currentColor;transform:translateX(-50%);animation:wheel 1.6s infinite}
  @keyframes wheel{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}60%{opacity:1;transform:translate(-50%,7px)}100%{opacity:0;transform:translate(-50%,10px)}}
  @media (max-width:620px){.slide-cap{display:none}}

  .trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 2.4rem;padding-block:1.6rem;border-bottom:1px solid var(--line);color:var(--faint);font-size:.9rem}
  .trust span{font-family:var(--serif);font-size:1.05rem;color:var(--stone);opacity:.9}
  .trust .lbl{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}

  /* Réalisations */
  .gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem}
  .project{grid-column:span 6;position:relative;border:0;background:transparent;padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left;display:block;border-radius:14px;overflow:hidden}
  .project .media{aspect-ratio:16/10;height:100%}
  .project:hover .media img{transform:scale(1.06)}
  .project:hover .media::after{opacity:0}
  .project .cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.3rem;display:grid;gap:.25rem;color:#fff}
  .project .cap .k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.85)}
  .project .cap b{font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.15}
  .project .cap i{font-style:normal;font-size:.9rem;color:rgba(255,255,255,.82)}
  .project .plus{position:absolute;top:1rem;right:1rem;z-index:2;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(255,255,255,.16);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.35);transition:background .25s,transform .25s}
  .project:hover .plus{background:var(--accent);transform:rotate(90deg)}
  @media (max-width:760px){.project{grid-column:span 12}}

  /* Project view */
  .pv{position:fixed;inset:0;z-index:150;background:var(--paper);overflow-y:auto;transform:translateY(100%);transition:transform .55s cubic-bezier(.66,0,.2,1);visibility:hidden}
  .pv.open{transform:none;visibility:visible}
  .pv-load{position:fixed;inset:0;z-index:2;background:var(--paper);display:grid;place-items:center;transition:opacity .5s;pointer-events:none}
  .pv-load i{width:34px;height:34px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
  .pv:not(.loading) .pv-load{opacity:0}
  @keyframes spin{to{transform:rotate(360deg)}}
  .pv-bar{position:sticky;top:0;z-index:3;height:var(--head-h);display:flex;align-items:center;justify-content:space-between;padding-inline:var(--gutter);background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .pv-bar .lbl{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
  .pv-hero{position:relative}
  .pv-hero .media{height:min(58vh,500px)}
  .pv-hero .media::after{opacity:.1}
  .pv-hero .cap{position:absolute;left:0;bottom:0;z-index:2;padding:clamp(1.5rem,4vw,3rem);color:#fff;display:grid;gap:.5rem}
  .pv-hero .cap .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.82)}
  .pv-hero .cap h2{font-size:clamp(2rem,4.5vw,3.2rem);color:#fff;max-width:20ch}
  .pv-body{max-width:940px;margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) var(--gutter)}
  .pv-intro{font-size:clamp(1.15rem,2vw,1.4rem);color:var(--ink);font-family:var(--serif);line-height:1.5;max-width:46ch;margin-bottom:2.5rem}
  .pv-meta{display:flex;flex-wrap:wrap;gap:1.2rem 2.5rem;border-block:1px solid var(--line);padding-block:1.3rem;margin-bottom:2.8rem}
  .pv-meta div span{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:.2rem}
  .pv-meta div b{font-family:var(--serif);font-weight:500;font-size:1.1rem}
  .cycle-head{margin-bottom:1.6rem}.cycle-head .eyebrow{margin-bottom:.7rem}.cycle-head h3{font-size:clamp(1.5rem,3vw,2.1rem)}
  .cycle{display:grid;gap:0}
  .cstep{display:grid;grid-template-columns:auto 1fr;gap:1.4rem;padding:1.5rem 0;border-top:1px solid var(--line)}
  .cstep:last-child{border-bottom:1px solid var(--line)}
  .cstep .n{font-family:var(--mono);font-size:.82rem;color:var(--accent);padding-top:.3rem}
  .cstep h4{font-size:1.25rem;margin-bottom:.4rem}
  .cstep p{color:var(--stone);font-size:.98rem;max-width:62ch}
  .pv-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;flex-wrap:wrap}

  /* Approche */
  .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.4rem}
  .step{padding-top:1.4rem;border-top:2px solid var(--ink);display:grid;gap:.6rem}
  .step .n{font-family:var(--mono);font-size:.8rem;color:var(--accent)}
  .step h3{font-size:1.5rem}.step p{color:var(--stone);font-size:.98rem}

  /* Services */
  .svc-group{margin-top:clamp(2rem,5vw,3.2rem)}
  .svc-group:first-of-type{margin-top:0}
  .svc-head{display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.6rem}
  .svc-head h3{font-size:clamp(1.4rem,2.6vw,1.9rem)}
  .svc-head .tagpill{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:100px;padding:.28rem .7rem}
  .svc-intro{color:var(--stone);max-width:var(--measure);margin-bottom:1.6rem;font-size:.98rem}
  .offer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.1rem}
  .offer{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem;box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s,border-color .25s}
  .offer:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
  .offer .who{font-size:.76rem;letter-spacing:.02em;color:var(--accent);font-weight:600;text-transform:uppercase;line-height:1.35}
  .offer .meta span{display:block;width:100%}
  .offer h4{font-size:1.3rem}
  .offer .meta{display:flex;flex-wrap:wrap;gap:.3rem .7rem;font-size:.84rem;color:var(--stone)}
  .offer .price{margin-top:auto;display:flex;align-items:baseline;gap:.5rem;justify-content:space-between;border-top:1px solid var(--line);padding-top:.9rem}
  .offer .price b{font-family:var(--serif);font-size:1.6rem;font-weight:500}
  .offer .price small{color:var(--faint);font-size:.74rem}
  .offer .cta{font-size:.82rem;color:var(--accent);text-decoration:none;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
  .price-note{font-size:.82rem;color:var(--faint);margin-top:1.4rem}
  .quote-card{background:var(--raised);border:1px solid var(--line);border-radius:14px;padding:clamp(1.4rem,3vw,2rem);box-shadow:var(--shadow);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem}
  .quote-card h4{font-size:1.3rem;margin-bottom:.5rem}
  .quote-card p{color:var(--stone);font-size:.98rem;max-width:58ch}
  .field.flash input,.field.flash select,.field.flash textarea{border-color:var(--accent);box-shadow:0 0 0 3px var(--tint)}

  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem}
  .stat{display:grid;gap:.3rem}
  .stat b{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.6rem);font-weight:500;line-height:1;color:var(--accent-ink)}
  .stat span{color:var(--stone);font-size:.92rem}

  /* À propos */
  .about-banner{position:relative;height:min(42vh,380px);border-radius:16px;overflow:hidden;margin-bottom:clamp(2rem,5vw,3.5rem);box-shadow:var(--shadow-lg)}
  .about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
  .about-portrait{aspect-ratio:4/5;border-radius:16px;box-shadow:var(--shadow-lg)}
  .about-body{display:grid;gap:1.3rem;max-width:var(--measure)}
  .about-body p{color:var(--stone)}
  .about-body p.first{color:var(--ink);font-size:1.18rem;line-height:1.55}
  .about-body p.sig{font-family:var(--serif);font-size:1.5rem;color:var(--ink);opacity:.9}
  .values{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:.4rem}
  .value h4{font-size:1.05rem;margin-bottom:.25rem}.value p{font-size:.88rem;color:var(--stone)}
  .value .num{font-family:var(--mono);font-size:.72rem;color:var(--accent)}

  /* Témoignages (état vide) */
  .empty-state{border:1px dashed var(--line);border-radius:16px;padding:clamp(2rem,5vw,3.2rem);text-align:center;background:var(--raised);display:grid;gap:.7rem;justify-items:center}
  .empty-state svg{color:var(--accent);opacity:.7}
  .empty-state p{color:var(--stone);max-width:44ch}
  .empty-state .k{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}

  /* Blog */
  .post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.4rem}
  .post{text-align:left;background:transparent;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;display:grid;gap:.9rem}
  .post .media{aspect-ratio:3/2;border-radius:12px}
  .post:hover .media img{transform:scale(1.05)}
  .post .p-meta{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
  .post h3{font-size:1.3rem;transition:color .2s}.post:hover h3{color:var(--accent-ink)}
  .post p{font-size:.95rem;color:var(--stone)}
  .post .more{font-size:.85rem;color:var(--faint);display:inline-flex;gap:.35rem;align-items:center}

  /* Contact */
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
  .field{display:grid;gap:.45rem;margin-bottom:1rem}
  .field label{font-size:.82rem;color:var(--stone);font-weight:600}
  .field input,.field textarea,.field select{font:inherit;font-size:.98rem;color:var(--ink);background:var(--raised);border:1px solid var(--line);border-radius:9px;padding:.8rem .9rem;width:100%;transition:border-color .2s,box-shadow .2s}
  .field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--tint)}
  .field textarea{resize:vertical;min-height:120px}
  .consent{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-size:.84rem;color:var(--stone);margin:.3rem 0 1.1rem}
  .consent input{margin-top:.2rem;accent-color:var(--accent);width:1rem;height:1rem}.consent a{color:var(--accent)}
  .contact-aside{display:grid;gap:1rem;align-content:start}
  .contact-card{border:1px solid var(--line);border-radius:12px;padding:1.3rem;background:var(--surface)}
  .contact-card h4{font-family:var(--sans);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em;color:var(--faint);margin-bottom:.5rem;font-weight:700}
  .contact-card a,.contact-card p{font-size:1.02rem;color:var(--ink);text-decoration:none}.contact-card p{color:var(--stone)}
  .ig-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--ink);text-decoration:none;font-size:1rem}
  .ig-link:hover{color:var(--accent-ink)}

  .site-footer{border-top:1px solid var(--line);background:var(--surface)}
  .footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem;padding-block:clamp(2.5rem,6vw,4rem);max-width:var(--shell);margin:0 auto;padding-inline:var(--gutter)}
  .footer-top .fb .brand{margin-bottom:.9rem;align-items:flex-start}
  .footer-top .fb p{color:var(--stone);font-size:.92rem;max-width:36ch}
  .fcol h5{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--faint);margin-bottom:.9rem;font-weight:700}
  .fcol a,.fcol button{display:block;background:transparent;border:0;padding:0;text-align:left;font:inherit;color:var(--stone);text-decoration:none;font-size:.92rem;margin-bottom:.5rem;cursor:pointer}
  .fcol a:hover,.fcol button:hover{color:var(--ink)}
  .footer-bar{border-top:1px solid var(--line);padding-block:1.2rem;font-size:.8rem;color:var(--faint)}
  .footer-bar .in{max-width:var(--shell);margin:0 auto;padding-inline:var(--gutter);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem}

  .toast{position:fixed;left:50%;bottom:1.6rem;transform:translate(-50%,150%);z-index:180;background:var(--ink);color:var(--paper);padding:.85rem 1.2rem;border-radius:100px;font-size:.9rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.6rem;transition:transform .4s cubic-bezier(.2,.8,.2,1);max-width:90vw}
  .toast.show{transform:translate(-50%,0)}.toast svg{color:var(--accent);flex:0 0 auto}
  .modal-back{position:fixed;inset:0;z-index:170;background:color-mix(in srgb,var(--ink) 55%,transparent);display:grid;place-items:center;padding:1.5rem;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
  .modal-back.open{opacity:1;visibility:visible}
  .modal{background:var(--paper);border:1px solid var(--line);border-radius:16px;max-width:640px;width:100%;max-height:86vh;overflow:auto;padding:1.9rem;box-shadow:var(--shadow-lg)}
  .modal .close{float:right;margin-left:1rem}
  .modal .a-meta{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
  .modal h3{font-size:1.7rem;margin-bottom:.8rem;line-height:1.1}
  .modal .m-body{display:grid;gap:1rem}.modal .m-body p{color:var(--stone);font-size:.98rem}.modal .m-body p:first-of-type{color:var(--ink);font-size:1.1rem}.modal .m-body h4{font-size:1.2rem;margin-top:.5rem}
  .cookiebar{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:175;width:min(880px,calc(100vw - 2rem));background:var(--raised);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);padding:1.15rem 1.3rem}
  .cookiebar[hidden]{display:none}
  .cookiebar-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.1rem}
  .cookiebar b{font-family:var(--serif);font-weight:500;font-size:1.06rem;display:block;margin-bottom:.25rem}
  .cookiebar p{font-size:.87rem;color:var(--stone);max-width:60ch}
  .cookiebar .ck-link{background:none;border:0;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}
  .cookiebar-actions{display:flex;gap:.6rem;flex-wrap:wrap}
  .cookiebar-actions .btn{padding:.6rem 1.2rem;font-size:.88rem}
  body.ck-open .demo-pill{bottom:auto;top:calc(var(--head-h) + .8rem)}
  @media (max-width:640px){.cookiebar-actions{width:100%}.cookiebar-actions .btn{flex:1;justify-content:center}}
  .demo-pill{position:fixed;left:1rem;bottom:1rem;max-width:calc(100vw - 2rem);z-index:160;display:inline-flex;align-items:center;gap:.55rem;background:var(--raised);border:1px solid var(--line);color:var(--stone);font-size:.74rem;padding:.45rem .5rem .45rem .8rem;border-radius:100px;box-shadow:var(--shadow)}
  .demo-pill .d{width:.5rem;height:.5rem;border-radius:50%;background:var(--accent)}
  .demo-pill button{appearance:none;border:0;background:var(--tint);color:var(--stone);width:1.35rem;height:1.35rem;border-radius:50%;cursor:pointer;display:grid;place-items:center}
  .demo-pill button:hover{color:var(--ink)}

  @media (max-width:940px){.about-grid{grid-template-columns:1fr}.about-portrait{max-width:400px}.contact-grid{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr}}
  @media (max-width:820px){.primary-nav{display:none}.burger{display:inline-flex}.values{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr}}
  @media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.slide{transition:none}}
