@charset "UTF-8";
/* =====================================================
   Cadexia — site-claude · « le dossier »
   Une seule page, six chapitres. Charte stricte :
   vert #074D3A / #053527 / #1A6B4F · papier #F8F4EC /
   #F1ECE2 / #FDFBF6 · or #B08A22 (#D8BC72 sur vert) ·
   encre #0B1F18 / #1E3A2E / #3E5145.
   ===================================================== */
:root{
  --green:#074D3A; --green-deep:#053527; --green-2:#1A6B4F;
  --gold:#B08A22; --gold-light:#D8BC72;
  --ink:#0B1F18; --ink-2:#1E3A2E; --ink-soft:#3E5145;
  --paper:#F8F4EC; --paper-2:#F1ECE2; --card:#FDFBF6;
  --rule:rgba(11,31,24,.16); --rule-2:rgba(11,31,24,.09);
  --rule-inv:rgba(248,244,236,.22); --rule-inv-2:rgba(248,244,236,.12);
  --serif:'Newsreader',Georgia,serif;
  --sans:'Inter',-apple-system,sans-serif;
  --script:'Pinyon Script',cursive;
  --maxw:1180px;
  --pad:clamp(30px,5vw,72px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--paper); color:var(--ink-2); font-family:var(--sans); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--green); color:var(--paper);}
:focus-visible{outline:2px solid var(--green); outline-offset:3px;}

/* ---------- le rail sommaire ---------- */
.rail{position:fixed; inset:0 auto 0 0; width:64px; border-right:1px solid var(--rule); display:flex; flex-direction:column; align-items:center; justify-content:space-between; padding:20px 0; z-index:50; background:var(--paper); transition:background .4s var(--ease), border-color .4s var(--ease);}
.rail .mono{font-family:var(--serif); font-weight:500; font-size:21px; color:var(--green); line-height:1;}
.rail nav{display:flex; flex-direction:column; gap:18px; align-items:center;}
.rail nav a{font-family:var(--serif); font-style:italic; font-size:14px; color:var(--ink-soft); opacity:.55; transition:.2s var(--ease); line-height:1;}
.rail nav a:hover{opacity:1; color:var(--green);}
.rail nav a.on{opacity:1; color:var(--green); font-weight:500; transform:scale(1.25);}
.rail .vert{writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--sans); font-size:9.5px; font-weight:700; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-soft); opacity:.7;}
body.on-dark .rail{background:var(--green-deep); border-color:var(--rule-inv-2);}
body.on-dark .rail .mono{color:var(--gold-light);}
body.on-dark .rail nav a{color:var(--paper);}
body.on-dark .rail nav a.on{color:var(--gold-light);}
body.on-dark .rail .vert{color:var(--paper); opacity:.6;}

.page{margin-left:64px;}
@media(max-width:760px){
  .rail{position:sticky; top:0; inset:auto; width:auto; height:52px; flex-direction:row; padding:0 18px; border-right:0; border-bottom:1px solid var(--rule);}
  .rail nav{flex-direction:row; gap:16px;}
  .rail .vert{display:none;}
  .page{margin-left:0;}
}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 var(--pad);}

/* ---------- typographie ---------- */
.kick{display:inline-flex; align-items:center; gap:14px; font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--gold);}
.kick::before{content:""; width:34px; height:1px; background:var(--gold);}
.chap-n{font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(40px,4.5vw,68px); line-height:1; color:var(--gold); opacity:.85;}
h2.t{font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.6vw,64px); line-height:1.02; letter-spacing:-.022em; color:var(--ink); margin-top:18px; text-wrap:balance;}
h2.t em{font-style:italic; color:var(--green);}
.lede{font-family:var(--serif); font-size:clamp(19px,2vw,24px); line-height:1.55; color:var(--ink-soft); max-width:58ch; text-wrap:pretty;}
p strong{color:var(--ink); font-weight:600;}

/* ---------- chapitres ---------- */
.chap{padding:clamp(72px,9vw,140px) 0; border-top:1px solid var(--rule);}
.chap-head{display:grid; grid-template-columns:auto 1fr; gap:clamp(20px,3vw,44px); align-items:start; margin-bottom:clamp(36px,4.5vw,64px);}
@media(max-width:640px){.chap-head{grid-template-columns:1fr;}}

/* ---------- couverture ---------- */
.cover{min-height:100svh; background:var(--green-deep); color:var(--paper); display:flex; flex-direction:column;}
.cover .topbar{display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding-top:26px; font-family:var(--sans);}
.cover .wm{font-family:var(--serif); font-weight:500; font-size:23px; letter-spacing:.01em; color:var(--paper);}
.cover .wm i{font-style:normal; color:var(--gold-light);}
.cover .places{font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-light); text-align:right;}
.cover .mid{flex:1; display:flex; flex-direction:column; justify-content:center; padding-top:clamp(48px,6vw,80px); padding-bottom:clamp(48px,6vw,80px);}
.cover .kick{color:var(--gold-light);}
.cover .kick::before{background:var(--gold-light);}
.cover h1{font-family:var(--serif); font-weight:500; font-size:clamp(44px,7.4vw,108px); line-height:1.0; letter-spacing:-.025em; margin-top:26px; max-width:13ch; text-wrap:balance;}
.cover h1 em{font-style:italic; color:var(--gold-light);}
.cover .sub{font-family:var(--serif); font-style:italic; font-size:clamp(18px,2vw,25px); line-height:1.55; color:rgba(248,244,236,.82); max-width:52ch; margin-top:clamp(22px,2.6vw,34px);}
.cover .cta-row{display:flex; flex-wrap:wrap; gap:14px; margin-top:clamp(30px,3.6vw,48px);}
.btn{display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:15px; font-weight:700; padding:15px 24px; border:1px solid transparent; transition:.2s var(--ease); white-space:nowrap;}
.btn .ar{transition:transform .25s var(--ease);}
.btn:hover .ar{transform:translateX(4px);}
.btn.amber{background:var(--gold-light); color:var(--green-deep); border-color:var(--gold-light);}
.btn.amber:hover{background:var(--paper); border-color:var(--paper);}
.btn.line{border-color:var(--rule-inv); color:var(--paper);}
.btn.line:hover{border-color:var(--paper); background:rgba(248,244,236,.06);}
.btn.ink{background:var(--ink); color:var(--paper); border-color:var(--ink);}
.btn.ink:hover{background:var(--green);border-color:var(--green);}
.btn.ghost{border-color:var(--ink); color:var(--ink);}
.btn.ghost:hover{background:var(--ink); color:var(--paper);}
.cover .ledger{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule-inv-2); border-top:1px solid var(--rule-inv);}
.cover .ledger .c{background:var(--green-deep); padding:22px 26px 30px;}
.cover .ledger .v{font-family:var(--sans); font-weight:800; font-size:clamp(22px,2.4vw,32px); letter-spacing:-.02em; color:var(--paper);}
.cover .ledger .v em{font-style:normal; color:var(--gold-light);}
.cover .ledger .l{font-size:12.5px; line-height:1.5; color:rgba(248,244,236,.66); margin-top:7px;}
@media(max-width:860px){.cover .ledger{grid-template-columns:1fr 1fr;}}

/* ---------- I · l'idée ---------- */
.idea-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.idea-grid .c{background:var(--card); padding:clamp(28px,3.2vw,46px);}
.idea-grid .k{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--gold);}
.idea-grid h3{font-family:var(--serif); font-weight:500; font-size:clamp(22px,2.3vw,30px); line-height:1.12; letter-spacing:-.015em; color:var(--ink); margin:14px 0 0;}
.idea-grid h3 em{font-style:italic; color:var(--green);}
.idea-grid .role{font-family:var(--serif); font-style:italic; font-size:16px; color:var(--ink-soft); margin:8px 0 0;}
.idea-grid p.d{font-size:15.5px; line-height:1.7; color:var(--ink-soft); margin:14px 0 0; text-wrap:pretty;}
.idea-tie{margin-top:clamp(24px,3vw,38px); font-family:var(--serif); font-style:italic; font-size:clamp(19px,2.1vw,26px); line-height:1.5; color:var(--ink); max-width:56ch;}
.idea-tie strong{font-style:italic; color:var(--green); font-weight:600;}
@media(max-width:680px){.idea-grid{grid-template-columns:1fr;}}

/* ---------- II · les chiffres ---------- */
.figures{background:var(--paper-2);}
.fig-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.fig{background:var(--paper-2); padding:clamp(30px,3.6vw,54px);}
.fig .v{font-family:var(--sans); font-weight:800; font-size:clamp(54px,7vw,108px); line-height:.95; letter-spacing:-.04em; color:var(--ink);}
.fig .v em{font-style:normal; color:var(--green); font-size:.55em; font-weight:800; vertical-align:baseline;}
.fig .t{font-family:var(--serif); font-weight:500; font-size:clamp(18px,1.8vw,23px); color:var(--ink); margin-top:16px;}
.fig .d{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin-top:8px; max-width:44ch; text-wrap:pretty;}
@media(max-width:680px){.fig-grid{grid-template-columns:1fr;}}

/* ---------- III · Daniel ---------- */
.founder-grid{display:grid; grid-template-columns:.85fr 1.3fr; gap:clamp(32px,4.5vw,70px); align-items:start;}
.founder-grid figure{position:relative;}
.founder-grid img{filter:grayscale(1) contrast(1.04); border:1px solid var(--rule); width:100%;}
.founder-grid figcaption{display:flex; justify-content:space-between; gap:12px; padding:12px 2px 0; font-family:var(--sans); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);}
.founder-grid figcaption b{font-weight:700; color:var(--ink);}
.letter p{font-family:var(--serif); font-size:clamp(18px,1.9vw,23px); line-height:1.62; color:var(--ink-2); text-wrap:pretty;}
.letter p + p{margin-top:18px;}
.letter blockquote{margin:clamp(26px,3vw,40px) 0; padding:0 0 0 clamp(20px,2.4vw,32px); border-left:2px solid var(--gold); font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(21px,2.3vw,29px); line-height:1.4; color:var(--ink);}
.letter blockquote em{color:var(--green);}
.signoff{margin-top:clamp(26px,3vw,40px); display:flex; align-items:baseline; gap:18px; flex-wrap:wrap;}
.signoff .sig{font-family:var(--script); font-size:clamp(38px,4vw,54px); line-height:1; color:var(--green);}
.signoff .meta{font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);}
@media(max-width:760px){.founder-grid{grid-template-columns:1fr;} .founder-grid figure{max-width:380px;}}

/* ---------- IV · la méthode (panneau encre) ---------- */
.method{background:var(--ink); color:var(--paper); border-top:0;}
.method .chap-n{color:#E5A86F;}
.method h2.t{color:var(--paper);}
.method h2.t em{color:#E5A86F;}
.method .lede{color:rgba(248,244,236,.78);}
.acts{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule-inv-2); border:1px solid var(--rule-inv-2);}
.acts .act{background:var(--ink); padding:clamp(26px,2.8vw,40px) clamp(22px,2.4vw,32px); display:flex; flex-direction:column;}
.acts .rn{font-family:var(--serif); font-style:italic; font-size:clamp(28px,3vw,42px); line-height:1; color:#E5A86F;}
.acts h3{font-family:var(--serif); font-weight:500; font-size:clamp(19px,1.8vw,24px); line-height:1.15; color:var(--paper); margin:18px 0 0;}
.acts p{font-family:var(--serif); font-style:italic; font-size:15.5px; line-height:1.6; color:rgba(248,244,236,.72); margin:10px 0 0; flex:1;}
.acts .tag{margin-top:18px; font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(248,244,236,.5);}
.method .foot-line{margin-top:clamp(26px,3vw,40px); font-family:var(--serif); font-style:italic; font-size:clamp(17px,1.8vw,22px); color:rgba(248,244,236,.8); max-width:64ch;}
.method .foot-line strong{color:#E5A86F; font-weight:600;}
@media(max-width:980px){.acts{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.acts{grid-template-columns:1fr;}}

/* ---------- V · garanties ---------- */
.vows3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.vows3 .vow{background:var(--card); padding:clamp(26px,3vw,42px);}
.vows3 .n{font-family:var(--serif); font-style:italic; font-size:19px; color:var(--gold);}
.vows3 h3{font-family:var(--serif); font-weight:500; font-size:clamp(20px,2vw,26px); line-height:1.15; letter-spacing:-.012em; color:var(--ink); margin:14px 0 0;}
.vows3 h3 em{font-style:italic; color:var(--green);}
.vows3 p{font-size:14.5px; line-height:1.7; color:var(--ink-soft); margin:12px 0 0; text-wrap:pretty;}
.verif{display:flex; flex-wrap:wrap; gap:1px; background:var(--rule); border:1px solid var(--rule); border-top:0;}
.verif .v{flex:1 1 210px; background:var(--paper-2); padding:16px 22px; font-size:12.5px; line-height:1.55; color:var(--ink-soft);}
.verif .v b{display:block; font-size:13px; font-weight:700; color:var(--ink);}
.verif a.v:hover{background:var(--paper);}
.verif a.v b::after{content:" ↗"; color:var(--green);}
@media(max-width:820px){.vows3{grid-template-columns:1fr;}}

/* ---------- VI · contact (panneau vert) ---------- */
.contact{background:var(--green); color:var(--paper); border-top:0;}
.contact .chap-n{color:var(--gold-light);}
.contact h2.t{color:var(--paper);}
.contact h2.t em{color:var(--gold-light);}
.contact .lede{color:rgba(248,244,236,.8);}
.doors{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule-inv-2); border:1px solid var(--rule-inv);}
.door{background:var(--green); padding:clamp(24px,2.6vw,38px) clamp(20px,2.2vw,30px); display:flex; flex-direction:column; transition:background .2s var(--ease);}
.door:hover{background:var(--green-2);}
.door .rn{font-family:var(--serif); font-style:italic; font-size:24px; color:var(--gold-light);}
.door h3{font-family:var(--serif); font-weight:500; font-size:clamp(19px,1.7vw,23px); color:var(--paper); margin:14px 0 0;}
.door p{font-family:var(--serif); font-style:italic; font-size:14.5px; line-height:1.55; color:rgba(248,244,236,.72); margin:8px 0 0; flex:1;}
.door .val{margin-top:18px; font-family:var(--sans); font-size:13.5px; font-weight:700; color:var(--gold-light);}
.door .val .ar{display:inline-block; transition:transform .25s var(--ease);}
.door:hover .val .ar{transform:translateX(4px);}
@media(max-width:920px){.doors{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.doors{grid-template-columns:1fr;}}
.contact .signline{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; margin-top:clamp(30px,3.6vw,48px);}
.contact .signline .sig{font-family:var(--script); font-size:clamp(34px,3.6vw,46px); color:var(--gold-light); line-height:1;}
.contact .signline .m{font-family:var(--serif); font-style:italic; font-size:16px; color:rgba(248,244,236,.75);}

/* ---------- footer légal ---------- */
.legal{background:var(--green-deep); color:rgba(248,244,236,.6); padding:26px 0 30px; font-size:12px; line-height:1.7;}
.legal .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 28px;}
.legal a{color:rgba(248,244,236,.85); text-decoration:underline; text-underline-offset:3px;}
.legal a:hover{color:var(--gold-light);}

/* ---------- VI · presse ---------- */
.press-card{display:grid; grid-template-columns:.85fr 1.5fr; border:1px solid var(--rule); background:var(--card); transition:border-color .25s var(--ease);}
.press-card:hover{border-color:var(--ink);}
.press-card .pm{background:var(--paper-2); border-right:1px solid var(--rule); padding:clamp(26px,3vw,44px); display:flex; flex-direction:column; justify-content:center; gap:16px;}
.press-card .pm img{height:32px; width:auto; mix-blend-mode:multiply; align-self:flex-start;}
.press-card .pm .rule{width:34px; height:2px; background:var(--gold);}
.press-card .pm .tag{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft);}
.press-card .pb{padding:clamp(26px,3vw,44px);}
.press-card .pb .meta{display:block; font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:12px;}
.press-card h3{font-family:var(--serif); font-weight:500; font-size:clamp(23px,2.4vw,32px); line-height:1.1; letter-spacing:-.018em; color:var(--ink);}
.press-card h3 em{font-style:italic; color:var(--green);}
.press-card .pb p{font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.8vw,21px); line-height:1.6; color:var(--ink-soft); margin:14px 0 0; max-width:56ch;}
.press-card .go{display:inline-flex; align-items:center; gap:8px; margin-top:18px; font-family:var(--sans); font-size:14px; font-weight:700; color:var(--green);}
.press-card .go .ar{transition:transform .25s var(--ease);}
.press-card:hover .go .ar{transform:translateX(4px);}
@media(max-width:720px){.press-card{grid-template-columns:1fr;} .press-card .pm{border-right:0; border-bottom:1px solid var(--rule); flex-direction:row; align-items:center; justify-content:space-between;} .press-card .pm .rule{display:none;}}

/* ---------- VII · les voix ---------- */
.voices{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.voices .tc{background:var(--card); padding:clamp(26px,3vw,42px); display:flex; flex-direction:column;}
.voices .star{font-family:var(--sans); font-size:13px; letter-spacing:.14em; color:var(--gold);}
.voices blockquote{font-family:var(--serif); font-style:italic; font-size:clamp(17px,1.8vw,22px); line-height:1.6; color:var(--ink-2); margin:14px 0 0; flex:1; text-wrap:pretty;}
.voices blockquote em{color:var(--green); font-weight:500;}
.voices .attr{margin-top:18px; font-family:var(--sans);}
.voices .attr .name{font-size:14px; font-weight:700; color:var(--ink);}
.voices .attr .role{font-size:12.5px; color:var(--ink-soft); margin-top:2px;}
@media(max-width:680px){.voices{grid-template-columns:1fr;}}
.voices-note{margin-top:clamp(20px,2.4vw,30px); font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.7vw,20px); color:var(--ink-soft); max-width:64ch;}
.voices-note strong{color:var(--green); font-weight:600; font-style:italic;}

/* ---------- VIII · le partage ---------- */
.refer{display:grid; grid-template-columns:1.35fr .9fr; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.refer .c{background:var(--card); padding:clamp(28px,3.2vw,46px);}
.refer h3{font-family:var(--serif); font-weight:500; font-size:clamp(21px,2.2vw,28px); line-height:1.15; letter-spacing:-.012em; color:var(--ink);}
.refer h3 em{font-style:italic; color:var(--green);}
.refer p{font-family:var(--serif); font-size:clamp(16px,1.7vw,20px); line-height:1.62; color:var(--ink-soft); margin:14px 0 0; text-wrap:pretty;}
.refer ul{list-style:none; margin:18px 0 0; display:flex; flex-direction:column; gap:10px;}
.refer ul li{font-family:var(--sans); font-size:14.5px; font-weight:600; color:var(--ink-soft); display:flex; align-items:baseline; gap:10px;}
.refer ul li::before{content:""; width:5px; height:5px; background:var(--gold); flex:0 0 auto; transform:translateY(-2px);}
.refer .side{background:var(--paper-2); display:flex; flex-direction:column; justify-content:center;}
.refer .side blockquote{font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.7vw,20px); line-height:1.6; color:var(--ink-2);}
.refer .side blockquote strong{font-style:italic; color:var(--green); font-weight:600;}
.refer .side .by{margin-top:14px; font-family:var(--sans); font-size:13px; font-weight:700; color:var(--ink);}
.refer .side .by .stars{color:var(--gold); letter-spacing:.12em; margin-right:8px;}
@media(max-width:780px){.refer{grid-template-columns:1fr;}}

/* ---------- IX · les questions ---------- */
.faq{border:1px solid var(--rule); background:var(--card);}
.faq details{border-bottom:1px solid var(--rule-2);}
.faq details:last-child{border-bottom:0;}
.faq summary{cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:baseline; gap:18px; padding:clamp(18px,2vw,26px) clamp(22px,2.6vw,38px); font-family:var(--serif); font-weight:500; font-size:clamp(18px,1.9vw,24px); color:var(--ink); transition:color .2s;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary:hover{color:var(--green);}
.faq summary .pm{font-family:var(--serif); font-style:italic; color:var(--gold); flex:0 0 auto;}
.faq summary .pm::before{content:"+";}
.faq details[open] summary .pm::before{content:"–";}
.faq .ans{padding:0 clamp(22px,2.6vw,38px) clamp(20px,2.2vw,30px); font-family:var(--serif); font-size:clamp(16px,1.7vw,20px); line-height:1.65; color:var(--ink-soft); max-width:72ch;}
.faq .ans strong{color:var(--ink); font-weight:600;}

/* ---------- documents / espace client ---------- */
.docs{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule-inv-2); border:1px solid var(--rule-inv); margin-top:clamp(26px,3vw,40px);}
.docs a{background:var(--green); padding:clamp(20px,2.2vw,30px) clamp(18px,2vw,26px); display:flex; flex-direction:column; transition:background .2s var(--ease);}
.docs a:hover{background:var(--green-2);}
.docs .k{font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-light);}
.docs .t{font-family:var(--serif); font-weight:500; font-size:clamp(16px,1.5vw,19px); line-height:1.25; color:var(--paper); margin:10px 0 0; flex:1;}
.docs .g{margin-top:14px; font-family:var(--sans); font-size:12.5px; font-weight:700; color:var(--gold-light);}
@media(max-width:920px){.docs{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.docs{grid-template-columns:1fr;}}

/* ---------- révélation ---------- */
@media (prefers-reduced-motion: no-preference){
  .rv{opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
  .rv.in{opacity:1; transform:none;}
}


/* =====================================================
   PAGES INTÉRIEURES — extension « dossier » multi-pages
   ===================================================== */

/* ---------- barre de navigation ---------- */
.topnav{border-bottom:1px solid var(--rule); background:var(--paper);}
.topnav .row{display:flex; align-items:center; gap:10px 26px; flex-wrap:wrap; padding:15px 0;}
.topnav .wm{font-family:var(--serif); font-weight:500; font-size:21px; color:var(--ink); margin-right:auto;}
.topnav .wm i{font-style:normal; color:var(--gold);}
.topnav nav{display:flex; flex-wrap:wrap; gap:6px 22px; align-items:baseline;}
.topnav nav a{font-family:var(--sans); font-size:13.5px; font-weight:600; color:var(--ink-soft); transition:color .2s var(--ease);}
.topnav nav a:hover{color:var(--green);}
.topnav nav a.here{color:var(--green); font-weight:700; border-bottom:2px solid var(--gold); padding-bottom:2px;}
.topnav .tel{font-family:var(--sans); font-size:13.5px; font-weight:700; color:var(--green); white-space:nowrap;}
.topnav .tel:hover{color:var(--gold);}

/* ---------- couverture courte (pages intérieures) ---------- */
.cover.short{min-height:0;}
.cover.short .mid{padding-top:clamp(54px,7vw,104px); padding-bottom:clamp(46px,6vw,88px);}
.cover.short h1{font-size:clamp(36px,5.4vw,74px); max-width:18ch;}

/* ---------- cartes génériques ---------- */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.cards.two{grid-template-columns:repeat(2,1fr);}
.cardx{background:var(--card); padding:clamp(24px,2.8vw,40px); display:flex; flex-direction:column; transition:background .2s var(--ease);}
a.cardx:hover{background:var(--paper-2);}
.cardx .rn{font-family:var(--serif); font-style:italic; font-size:21px; color:var(--gold); line-height:1;}
.cardx h3{font-family:var(--serif); font-weight:500; font-size:clamp(20px,1.9vw,25px); line-height:1.15; letter-spacing:-.012em; color:var(--ink); margin:12px 0 0;}
.cardx h3 em{font-style:italic; color:var(--green);}
.cardx p{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin:10px 0 0; flex:1; text-wrap:pretty;}
.cardx .tags{margin-top:16px; font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold);}
.cardx .go{margin-top:12px; font-family:var(--sans); font-size:13.5px; font-weight:700; color:var(--green);}
.cardx .go .ar{display:inline-block; transition:transform .25s var(--ease);}
a.cardx:hover .go .ar{transform:translateX(4px);}
@media(max-width:960px){.cards{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.cards,.cards.two{grid-template-columns:1fr;}}

/* ---------- prose + encadré ---------- */
.split{display:grid; grid-template-columns:1.5fr .9fr; gap:clamp(28px,4vw,64px); align-items:start;}
@media(max-width:820px){.split{grid-template-columns:1fr;}}
.prose p{font-family:var(--serif); font-size:clamp(17px,1.8vw,21px); line-height:1.65; color:var(--ink-2); max-width:62ch; text-wrap:pretty;}
.prose p + p{margin-top:16px;}
.prose .pull{margin:22px 0; padding-left:clamp(18px,2.2vw,28px); border-left:2px solid var(--gold); font-family:var(--serif); font-style:italic; font-weight:500; font-size:clamp(19px,2vw,25px); line-height:1.45; color:var(--ink);}
.prose .pull em{color:var(--green);}
.asidebox{border:1px solid var(--rule); background:var(--card); padding:clamp(22px,2.4vw,34px);}
.asidebox .k{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);}
.asidebox h3{font-family:var(--serif); font-weight:500; font-size:clamp(20px,2vw,26px); line-height:1.15; color:var(--ink); margin:12px 0 0;}
.asidebox p{font-size:14.5px; line-height:1.65; color:var(--ink-soft); margin:10px 0 18px;}

/* ---------- prose d'article ---------- */
.prose h3{font-family:var(--serif); font-weight:500; font-size:clamp(20px,2.1vw,27px); line-height:1.15; letter-spacing:-.012em; color:var(--ink); margin:28px 0 0;}
.prose h3 em{font-style:italic; color:var(--green);}
.prose h3 + p{margin-top:10px;}
.prose ul{margin:14px 0 0 0; padding:0 0 0 2px; list-style:none; display:flex; flex-direction:column; gap:9px;}
.prose ul li{font-family:var(--serif); font-size:clamp(16px,1.7vw,20px); line-height:1.55; color:var(--ink-2); display:flex; gap:12px; align-items:baseline;}
.prose ul li::before{content:""; width:5px; height:5px; background:var(--gold); flex:0 0 auto; transform:translateY(-2px);}
.byline{display:flex; align-items:baseline; gap:8px 18px; flex-wrap:wrap; margin-top:clamp(22px,2.6vw,34px); padding-top:18px; border-top:1px solid var(--rule);}
.byline .sig{font-family:var(--script); font-size:clamp(30px,3.2vw,40px); line-height:1; color:var(--green);}
.byline .m{font-family:var(--sans); font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}

/* ---------- index des analyses ---------- */
.idx{border-top:2px solid var(--ink);}
.idx a{display:grid; grid-template-columns:auto 1fr auto; gap:clamp(16px,3vw,40px); align-items:baseline; padding:clamp(20px,2.2vw,28px) 0; border-bottom:1px solid var(--rule); transition:background .2s var(--ease), padding .2s var(--ease);}
.idx a:hover{background:var(--card); padding-left:14px; padding-right:14px;}
.idx .dn{font-family:var(--serif); font-style:italic; font-size:21px; color:var(--gold); line-height:1;}
.idx h4{font-family:var(--serif); font-weight:500; font-size:clamp(19px,2vw,26px); line-height:1.12; letter-spacing:-.015em; color:var(--ink); margin:0;}
.idx h4 em{font-style:italic; color:var(--green);}
.idx p{margin:8px 0 0; font-size:14.5px; line-height:1.55; color:var(--ink-soft); max-width:64ch;}
.idx .cat{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); white-space:nowrap; align-self:center;}
.idx a:hover .cat{color:var(--green);}
@media(max-width:640px){.idx a{grid-template-columns:auto 1fr;} .idx .cat{display:none;}}

/* ---------- pages villes ---------- */
.loc-line{font-family:var(--serif); font-style:italic; font-size:clamp(17px,2vw,24px); line-height:1.75; color:var(--ink-2); max-width:74ch;}
.loc-line .sep{color:var(--gold); font-style:normal;}

/* ---------- liste d'identité (cabinet) ---------- */
.id-list{list-style:none; border:1px solid var(--rule); background:var(--card); margin:0; padding:0;}
.id-list li{display:grid; grid-template-columns:220px 1fr; gap:18px; padding:16px clamp(20px,2.4vw,32px); border-bottom:1px solid var(--rule-2);}
.id-list li:last-child{border-bottom:0;}
.id-list .tn{font-family:var(--sans); font-size:13px; font-weight:700; color:var(--green);}
.id-list .td{font-size:14.5px; line-height:1.6; color:var(--ink-soft);}
.id-list .td small{display:block; font-size:12.5px; opacity:.85; margin-top:3px;}
.id-list .td a{color:var(--green); text-decoration:underline; text-underline-offset:3px;}
@media(max-width:640px){.id-list li{grid-template-columns:1fr; gap:4px;}}

/* ---------- deux exigences (méthode) ---------- */
.duties{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.duties .duty{background:var(--card); padding:clamp(26px,3vw,44px);}
.duties .dn{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);}
.duties h3{font-family:var(--serif); font-weight:500; font-size:clamp(21px,2.2vw,28px); letter-spacing:-.012em; color:var(--ink); margin:12px 0 0;}
.duties p{font-size:15px; line-height:1.68; color:var(--ink-soft); margin:12px 0 0; text-wrap:pretty;}
@media(max-width:680px){.duties{grid-template-columns:1fr;}}

/* ---------- précision temporelle des actes ---------- */
.acts .when{display:block; margin-top:10px; font-family:var(--sans); font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#E5A86F;}
.acts .when em{display:block; font-family:var(--serif); font-style:italic; font-weight:400; text-transform:none; letter-spacing:0; font-size:14px; color:rgba(248,244,236,.6); margin-top:3px;}

/* ---------- bande d'appel finale ---------- */
.cta-band{background:var(--green-deep); color:var(--paper); padding:clamp(44px,5.5vw,80px) 0;}
.cta-band .row{display:flex; flex-wrap:wrap; align-items:center; gap:24px 40px; justify-content:space-between;}
.cta-band h2{font-family:var(--serif); font-weight:500; font-size:clamp(26px,3.2vw,44px); line-height:1.08; letter-spacing:-.02em; margin:0;}
.cta-band h2 em{font-style:italic; color:var(--gold-light);}
.cta-band .sub{font-family:var(--serif); font-style:italic; font-size:clamp(16px,1.7vw,20px); color:rgba(248,244,236,.78); margin:10px 0 0;}

/* ---------- pied de page plan du site ---------- */
.footnav{background:var(--green-deep); color:rgba(248,244,236,.75); padding:clamp(40px,5vw,64px) 0 clamp(28px,3vw,40px); border-bottom:1px solid var(--rule-inv-2);}
.footnav .grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px;}
.footnav h4{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-light); margin:0 0 14px;}
.footnav ul{list-style:none; display:flex; flex-direction:column; gap:9px; margin:0; padding:0;}
.footnav a{font-size:13.5px; color:rgba(248,244,236,.8);}
.footnav a:hover{color:var(--gold-light);}
.footnav .wm{font-family:var(--serif); font-size:22px; color:var(--paper);}
.footnav .wm i{font-style:normal; color:var(--gold-light);}
.footnav .tagline{font-family:var(--serif); font-style:italic; font-size:15px; color:rgba(248,244,236,.65); margin-top:10px; max-width:30ch; line-height:1.5;}
@media(max-width:860px){.footnav .grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.footnav .grid{grid-template-columns:1fr;}}

/* ---------- la note « premier échange » sous les boutons de couverture ---------- */
.cover .call-note{font-family:var(--serif); font-style:italic; font-size:clamp(15px,1.6vw,17.5px); line-height:1.65; color:rgba(248,244,236,.82); max-width:58ch; margin:18px 0 0;}
.cover .call-note strong{color:#D8BC72; font-weight:500;}

/* ---------- « à lire ensuite » ---------- */
.next-read{background:var(--paper); border-top:1px solid var(--rule); padding:clamp(34px,4vw,56px) 0;}
.next-read .nr-kick{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:18px;}
.next-read .nr-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(16px,2vw,28px);}
.next-read .nr-card{display:flex; flex-direction:column; gap:8px; padding:clamp(20px,2.4vw,30px); background:var(--card); border:1px solid var(--rule); transition:border-color .25s, box-shadow .25s;}
.next-read .nr-card .k{font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft);}
.next-read .nr-card .t{font-family:var(--serif); font-weight:500; font-size:clamp(18px,1.9vw,24px); line-height:1.25; letter-spacing:-.014em; color:var(--ink);}
.next-read .nr-card .t em{font-style:italic; color:var(--green);}
.next-read .nr-card .go{font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--green); margin-top:auto; padding-top:8px;}
.next-read .nr-card .go .ar{display:inline-block; transition:transform .25s;}
.next-read .nr-card:hover{border-color:var(--green); box-shadow:0 12px 36px -26px rgba(11,31,24,.4);}
.next-read .nr-card:hover .go .ar{transform:translateX(5px);}
@media(max-width:760px){ .next-read .nr-grid{grid-template-columns:1fr;} }

/* =========================================================
   Phrases de transition — mises en valeur (pages dossier)
   ========================================================= */
.chap-head .lede{font-style:italic; color:var(--ink-2);}
.method .chap-head .lede{color:rgba(248,244,236,.82);}
.contact .chap-head .lede{color:rgba(248,244,236,.85);}

/* =========================================================
   Confort téléphone — lisibilité & débordements
   ========================================================= */
@media (max-width:760px){
  html, body{overflow-x:clip;}
  .btn{white-space:normal;}
}
@media (max-width:640px){
  body{font-size:17.5px; line-height:1.62;}
  .lede{font-size:19.5px; line-height:1.55;}
  .kick{font-size:12px;}
  .cover .sub{font-size:19px;}
  .cover .call-note{font-size:17px; line-height:1.6;}
  .cover .ledger .l{font-size:14px;}
  .vows3 p{font-size:16px; line-height:1.62;}
  .fig .d{font-size:16px; line-height:1.62;}
  .idx p{font-size:16px; line-height:1.6;}
  .cardx p{font-size:16px; line-height:1.6;}
  .acts p{font-size:16.5px;}
  .door p{font-size:16px;}
  .duties p{font-size:16.5px;}
  .verif .v{font-size:13.5px;} .verif .v b{font-size:14.5px;}
  .faq .ans{font-size:17.5px;}
  .prose p{font-size:18px;}
  .press-card .pb p{font-size:17px;}
  .id-list .td small{font-size:13.5px;}
  .legal{font-size:13px;}
  /* tableaux : jamais de débordement, défilement doux si besoin */
  table{display:block; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch;}
}
