/* =========================================================
   Cadexia — direction « Le Cabinet »
   Light, architectural. Grotesque (Archivo) large + un seul
   accent bordeaux. Dossier numéroté, filets de registre,
   chiffres surdimensionnés. Aucune serif éditoriale, aucun
   thème sombre. Les mots de Daniel font le design.
   ========================================================= */
:root{
  --paper:#F4F0E7;
  --paper-2:#ECE6D9;
  --card:#FBF9F3;
  --ink:#16130E;
  --ink-2:#39342B;
  --ink-soft:#5E584C;
  --faint:#938B79;
  --wine:#7E2F38;
  --wine-2:#9A3C46;
  --wine-ink:#5C1F27;
  --rule:rgba(22,19,14,.16);
  --rule-2:rgba(22,19,14,.08);
  --rule-light:rgba(244,240,231,.22);
  --sans:'Archivo', system-ui, -apple-system, sans-serif;
  --maxw:1280px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{
  margin:0; background:var(--paper); color:var(--ink-2);
  font-family:var(--sans); font-size:17px; line-height:1.6; font-weight:400;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
::selection{background:var(--wine); color:var(--paper);}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 clamp(22px,5vw,72px);}

/* ---- type primitives ---- */
.kicker{font-size:11.5px; font-weight:700; letter-spacing:.26em; text-transform:uppercase; color:var(--wine); display:inline-flex; align-items:center; gap:13px;}
.kicker::before{content:""; width:24px; height:2px; background:var(--wine);}
.kicker.plain::before{display:none;}
.kicker.light{color:var(--paper);}
.kicker.light::before{background:var(--paper);}
h1,h2,h3,h4{margin:0; color:var(--ink); font-weight:800; letter-spacing:-.03em; line-height:.98; text-wrap:balance;}
h1{font-size:clamp(54px,9vw,136px); letter-spacing:-.045em;}
.h-xl{font-size:clamp(42px,6.2vw,96px); letter-spacing:-.04em;}
.h-l{font-size:clamp(34px,4.2vw,64px); letter-spacing:-.035em;}
.mark{color:var(--wine);}
.thin{font-weight:300; letter-spacing:-.02em;}
.lede{font-size:clamp(18px,1.6vw,22px); line-height:1.5; color:var(--ink-soft); font-weight:400; text-wrap:pretty;}

/* ====================== HEADER ====================== */
.site-head{position:sticky; top:0; z-index:50; background:rgba(244,240,231,.84); backdrop-filter:blur(12px); border-bottom:1px solid var(--rule);}
.site-head .bar{display:flex; align-items:center; justify-content:space-between; gap:24px; height:80px;}
.brand{display:flex; align-items:baseline; font-size:24px; font-weight:800; color:var(--ink); letter-spacing:-.03em; white-space:nowrap; flex-shrink:0;}
.brand .dot{color:var(--wine);}
.brand small{font-family:var(--sans); font-size:10.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); margin-left:11px; align-self:center; letter-spacing:.18em;}
@media (max-width:760px){.brand small{display:none;}}
.nav{display:flex; align-items:center; gap:11px; flex-wrap:nowrap;}
.nav a{font-size:13px; font-weight:600; color:var(--ink-2); letter-spacing:.005em; transition:color .2s; white-space:nowrap;}
.nav a:hover{color:var(--wine);}
.head-cta{display:inline-flex; align-items:center; gap:9px; font-size:13px; font-weight:700; letter-spacing:.04em; color:var(--paper); background:var(--ink); padding:12px 22px; transition:.2s;}
.head-cta:hover{background:var(--wine);}
.burger{display:none; width:46px; height:46px; border:1px solid var(--rule); background:none; cursor:pointer; position:relative;}
.burger span{position:absolute; left:14px; width:18px; height:2px; background:var(--ink); transition:.25s;}
.burger span:nth-child(1){top:17px;} .burger span:nth-child(2){top:50%; margin-top:-1px;} .burger span:nth-child(3){bottom:17px;}
.burger.open span:nth-child(1){top:50%; margin-top:-1px; transform:rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){bottom:50%; margin-bottom:-1px; transform:rotate(-45deg);}
.mobile-nav{display:none; position:fixed; inset:72px 0 0; background:var(--paper); z-index:49; padding:28px clamp(22px,6vw,40px) 40px; flex-direction:column;}
.mobile-nav.open{display:flex;}
.mobile-nav a{font-size:30px; font-weight:800; letter-spacing:-.03em; color:var(--ink); padding:15px 0; border-bottom:1px solid var(--rule);}
.mobile-nav .m-cta{margin-top:22px; background:var(--ink); color:var(--paper); text-align:center; font-size:16px; font-weight:700; padding:18px; border-bottom:0;}

/* ====================== HERO ====================== */
.hero{padding:clamp(52px,6vw,88px) 0 0; border-bottom:1px solid var(--rule);}
.hero .estd{display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; margin-bottom:clamp(22px,3vw,38px);}
.hero .estd .zl{font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--faint);}
.hero .estd .z{font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); display:inline-flex; align-items:center; gap:8px;}
.hero .estd .z::before{content:""; width:5px; height:5px; background:var(--wine);}
.hero h1{margin:0;}
.hero h1 .l2{display:block; color:var(--wine);}
.hero .grid{display:grid; grid-template-columns:1.3fr .64fr; gap:clamp(34px,5vw,68px); align-items:end; margin-top:clamp(20px,2.5vw,30px);}
.hero .left{padding-bottom:clamp(28px,3.4vw,48px);}
.hero .pair{display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:30px; border-top:2px solid var(--ink);}
.hero .pair .c{padding:18px 24px 4px 0;}
.hero .pair .c+.c{padding-left:26px; border-left:1px solid var(--rule);}
.hero .pair .t{font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine);}
.hero .pair .role{font-size:clamp(19px,1.8vw,23px); font-weight:800; letter-spacing:-.02em; margin:9px 0 5px; color:var(--ink);}
.hero .pair p{font-size:14px; line-height:1.5; color:var(--ink-soft); margin:0;}
.hero .tie{font-size:clamp(17px,1.5vw,20px); line-height:1.45; color:var(--ink-2); margin:24px 0 0; max-width:48ch; font-weight:500;}
.hero .tie b{color:var(--wine); font-weight:800;}
.hero .cta-row{display:flex; flex-wrap:wrap; gap:13px; margin-top:26px;}
.btn{display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:16px; font-weight:700; letter-spacing:.02em; padding:17px 34px; border:2px solid var(--ink); cursor:pointer; transition:.2s; white-space:nowrap;}
.btn .ar{transition:transform .25s;}
.btn.solid{background:var(--ink); color:var(--paper);}
.btn.solid:hover{background:var(--wine); border-color:var(--wine);} .btn.solid:hover .ar{transform:translateX(4px);}
.btn.ghost{background:none; color:var(--ink);}
.btn.ghost:hover{background:var(--ink); color:var(--paper);}
.btn.light{border-color:var(--rule-light); color:var(--paper);}
.btn.light:hover{background:var(--paper); color:var(--ink); border-color:var(--paper);}
.cta-row{display:flex; flex-wrap:wrap; gap:13px;}

.hero .portrait{position:relative; align-self:end; max-width:330px; margin-left:auto; width:100%;}
.hero .portrait img{width:100%; aspect-ratio:4/4.6; object-fit:cover; object-position:50% 16%; filter:grayscale(1) contrast(1.04);}
.hero .portrait .tag{position:absolute; left:0; right:0; bottom:0; padding:52px 22px 20px; background:linear-gradient(0deg,rgba(12,10,7,.9),transparent); color:var(--paper);}
.hero .portrait .tag .nm{font-size:11.5px; font-weight:800; letter-spacing:.18em; text-transform:uppercase;}
.hero .portrait .tag .ro{font-size:18px; font-weight:600; margin-top:5px; letter-spacing:-.01em;}
.hero .portrait .seal{position:absolute; top:18px; left:-26px; width:160px; height:160px; border-radius:50%; background:var(--wine); color:var(--paper); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;}
.hero .portrait .seal b{font-size:52px; font-weight:800; line-height:1; letter-spacing:-.04em;}
.hero .portrait .seal span{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-top:5px; max-width:110px; line-height:1.25;}

/* ====================== KPI ledger ====================== */
.kpi{background:var(--paper); border-bottom:1px solid var(--rule);}
.kpi .row{display:grid; grid-template-columns:repeat(4,1fr);}
.kpi .k{padding:36px clamp(20px,2.4vw,36px); border-right:1px solid var(--rule-2);}
.kpi .k:last-child{border-right:0;}
.kpi .k .v{font-size:clamp(46px,5vw,78px); font-weight:800; line-height:.88; color:var(--ink); letter-spacing:-.045em;}
.kpi .k .v em{font-style:normal; color:var(--wine);}
.kpi .k .l{font-size:13px; color:var(--ink-soft); margin-top:12px; line-height:1.4; font-weight:500;}

/* ====================== SECTION + dossier index ====================== */
.sec{counter-increment:sec; padding:clamp(80px,10vw,152px) 0; border-bottom:1px solid var(--rule);}
.sec-head{position:relative; max-width:66ch;}
.sec-head .num{font-size:13px; font-weight:800; letter-spacing:.1em; color:var(--wine); display:block; margin-bottom:16px;}
.sec-head h2{margin:0;}
.sec-head p{margin:20px 0 0; color:var(--ink-soft); font-size:clamp(18px,1.5vw,21px); line-height:1.5; max-width:60ch; font-weight:500;}

/* publics */
.audiences{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(38px,4vw,56px);}
.aud{background:var(--card); padding:clamp(36px,4vw,62px); display:flex; flex-direction:column; transition:background .2s;}
.aud:hover{background:#FDFBF6;}
.aud .k{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine);}
.aud h3{font-size:clamp(26px,2.9vw,40px); font-weight:800; letter-spacing:-.03em; line-height:1.0; margin:16px 0 0;}
.aud h3 em{font-style:normal; color:var(--wine);}
.aud p{margin:16px 0 0; color:var(--ink-soft); font-size:16px; line-height:1.6;}
.aud .chips{list-style:none; padding:0; margin:22px 0 0; display:flex; flex-wrap:wrap; gap:8px;}
.aud .chips li{font-size:12.5px; font-weight:600; color:var(--ink-2); border:1px solid var(--rule); padding:6px 13px; white-space:nowrap;}
.aud .go{margin-top:auto; padding-top:26px; display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:800; color:var(--wine);}
.aud .go .ar{transition:transform .25s;} .aud:hover .go .ar{transform:translateX(4px);}

/* marché — panneau bordeaux */
.wine-panel{background:var(--wine); color:var(--paper); border-bottom:1px solid var(--wine-ink); position:relative; overflow:hidden;}
.wine-panel h2{color:var(--paper);}
.wine-panel .sec-head .num{color:var(--paper);}
.wine-panel .sec-head p{color:rgba(244,240,231,.82);}
.wine-panel h2 .mark{color:#F2C9A0;}
.market{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule-light); border:1px solid var(--rule-light); margin-top:clamp(42px,4vw,62px);}
.market .m{background:var(--wine); padding:clamp(34px,3.6vw,56px);}
.market .m .v{font-size:clamp(60px,7vw,110px); font-weight:800; line-height:.84; color:var(--paper); letter-spacing:-.05em;}
.market .m .t{font-size:clamp(18px,1.7vw,22px); font-weight:700; color:#F2C9A0; margin-top:14px; letter-spacing:-.01em;}
.market .m .d{font-size:14.5px; line-height:1.55; color:rgba(244,240,231,.78); margin-top:13px;}
.bank-vs{margin-top:clamp(36px,4vw,54px); padding-top:28px; border-top:1px solid var(--rule-light);}
.bank-vs .q{font-size:clamp(24px,2.8vw,42px); font-weight:300; color:var(--paper); line-height:1.18; letter-spacing:-.02em;}
.bank-vs .q b{font-weight:800; color:#F2C9A0;}

/* engagements */
.vows{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(22px,3vw,44px); margin-top:clamp(42px,4vw,60px);}
.vow{border-top:3px solid var(--wine); padding-top:26px;}
.vow .n{font-size:34px; font-weight:800; color:var(--wine); letter-spacing:-.03em;}
.vow h3{font-size:clamp(22px,2.3vw,30px); font-weight:800; letter-spacing:-.03em; line-height:1.04; margin:12px 0 0;}
.vow h3 em{font-style:normal; color:var(--wine);}
.vow p{margin:14px 0 0; color:var(--ink-soft); font-size:15.5px; line-height:1.6;}
.vow .vow-note{margin-top:14px; padding-top:14px; border-top:1px solid var(--rule); font-size:15px; line-height:1.6; color:var(--ink-soft);}
.vow .vow-note strong{color:var(--wine); font-weight:800;}

/* méthode */
.acts{display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:clamp(42px,4vw,60px); border-top:2px solid var(--ink);}
.act{padding:28px clamp(14px,1.6vw,26px) 32px; border-right:1px solid var(--rule-2);}
.act:last-child{border-right:0;}
@media (max-width:1024px){
  .acts{grid-template-columns:1fr 1fr;}
  .act:nth-child(2){border-right:0;}
  .act:nth-child(1),.act:nth-child(2){border-bottom:1px solid var(--rule-2);}
}
.act .rn{font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--wine);}
.act h3{font-size:clamp(21px,2vw,27px); font-weight:800; letter-spacing:-.03em; line-height:1.05; margin:12px 0 0;}
.act h3 em{font-style:normal; color:var(--wine);}
.act .when{display:block; margin-top:16px; font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--faint);}
.act .when em{display:block; font-style:normal; font-weight:500; font-size:14px; letter-spacing:0; text-transform:none; color:var(--ink-soft); margin-top:6px;}

/* garantie */
.guard{display:grid; grid-template-columns:auto 1fr; gap:clamp(28px,4vw,64px); align-items:center;}
.guard .big{font-size:clamp(72px,11vw,158px); font-weight:800; line-height:.82; color:var(--wine); letter-spacing:-.05em; white-space:nowrap;}
.guard .big small{display:block; font-size:12.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-top:16px;}
.guard .txt h2{margin:0 0 14px;}
.guard .txt p{margin:0; color:var(--ink-soft); font-size:17px; line-height:1.65; max-width:54ch;}
.guard .txt p strong{color:var(--ink);}
.guard .txt .more{margin-top:20px; display:inline-flex; gap:9px; align-items:center; font-size:14px; font-weight:800; color:var(--wine);}
.guard-targets{list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:14px;}
.guard-targets li{position:relative; padding-left:22px; font-size:15.5px; line-height:1.55; color:var(--ink-soft);}
.guard-targets li::before{content:"—"; position:absolute; left:0; color:var(--wine); font-weight:800;}
.guard-targets li strong{color:var(--ink); font-weight:700;}

/* fondateur */
.founder{display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(34px,5vw,72px); align-items:center;}
.founder .pic{position:relative;}
.founder .pic img{width:100%; aspect-ratio:4/4.7; object-fit:cover; filter:grayscale(1) contrast(1.04);}
.founder .pic .fr{position:absolute; inset:13px; border:1px solid var(--wine); opacity:.6; pointer-events:none;}
.founder .opener{font-size:clamp(23px,2.4vw,33px); font-weight:800; letter-spacing:-.03em; line-height:1.1; color:var(--ink); margin:18px 0 0;}
.founder p{margin:18px 0 0; color:var(--ink-soft); font-size:16.5px; line-height:1.75; max-width:58ch;}
.founder p strong{color:var(--ink); font-weight:700;}
.founder blockquote{margin:24px 0 0; padding-left:24px; border-left:3px solid var(--wine); font-size:clamp(20px,2vw,27px); font-weight:600; line-height:1.3; color:var(--ink); letter-spacing:-.02em;}
.founder-proof{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin:26px 0 0;}
.founder-proof .fp{background:var(--card); padding:20px 22px; display:flex; flex-direction:column; gap:4px;}
.founder-proof .fp-v{font-family:var(--serif); font-weight:300; font-size:34px; line-height:1; color:var(--wine);}
.founder-proof .fp-t{font-size:14px; font-weight:800; letter-spacing:.02em; color:var(--ink); margin-top:6px;}
.founder-proof .fp-d{font-size:13px; line-height:1.45; color:var(--ink-soft);}
@media (max-width:560px){.founder-proof{grid-template-columns:1fr;}}
.founder blockquote em{font-style:normal; color:var(--wine);}
.founder-head .id-card{margin-top:18px; border-top:1px solid var(--rule); padding-top:18px;}
.founder-head .id-card .ms{font-size:24px; font-weight:800; letter-spacing:-.03em; color:var(--ink); display:block;}
.founder-head .id-card .id-name{display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;}
.founder-head .id-card .ms-sign{font-family:'Pinyon Script', cursive; font-size:29px; line-height:.85; color:var(--wine); white-space:nowrap;}
.founder-head .id-card .ms-meta{display:block; font-size:13px; color:var(--ink-soft); margin-top:4px; font-weight:600;}
.founder-head .id-card .creds{display:flex; flex-wrap:wrap; gap:7px; margin-top:16px;}
.founder-head .id-card .creds span{font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-soft); border:1px solid var(--rule); padding:6px 11px;}
.founder-head .id-card .creds span b{color:var(--wine);}
.founder-note{margin:22px 0 0; background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--wine); padding:20px 24px;}
.founder-note .fn-k{font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:8px;}
.founder-note p{margin:0; font-size:17.5px; line-height:1.62; color:var(--ink-soft);}
.founder-note p + p{margin-top:14px;}
.founder-note p strong{color:var(--ink); font-weight:700;}
.tiers{list-style:none; padding:0; margin:20px 0 0; display:flex; flex-direction:column; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.tiers li{background:var(--card); padding:13px 18px; display:flex; align-items:center; gap:14px; position:relative;}
.tiers li::before{content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--wine);}
.tiers li:nth-child(1)::before{opacity:.25;}
.tiers li:nth-child(2)::before{opacity:.5;}
.tiers li:nth-child(3)::before{opacity:.75;}
.tiers li:nth-child(4)::before{opacity:1;}
.tiers .tn{font-size:16.5px; font-weight:800; color:var(--ink); letter-spacing:-.01em; min-width:172px;}
.tiers .td{font-size:15.5px; color:var(--ink-soft);}
.founder-pt{position:relative; padding-left:42px;}
.founder-pt .pn{position:absolute; left:0; top:1px; width:28px; height:28px; border-radius:50%; background:var(--wine); color:#fff; font-size:14px; font-weight:800; display:flex; align-items:center; justify-content:center;}
/* — mise en page magazine — */
.founder-head{display:block;}
.founder-head .fh-lead{max-width:74ch;}
.founder-head .lead-q{font-size:clamp(20px,2vw,26px); font-weight:700; line-height:1.3; letter-spacing:-.02em; color:var(--ink); margin:18px 0 0;}
.founder-head .lead-q em{font-style:normal; color:var(--wine);}
.founder-head .intro{margin:16px 0 0; color:var(--ink-soft); font-size:16.5px; line-height:1.7;}
.founder-head .intro strong{color:var(--ink); font-weight:700;}
.founder-secrets{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(30px,3.5vw,48px);}
.secret{background:var(--card); padding:clamp(32px,3.4vw,50px); display:flex; flex-direction:column;}
.secret .sk{font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--wine);}
.secret h3{font-size:clamp(20px,2vw,26px); font-weight:800; letter-spacing:-.03em; line-height:1.1; margin:12px 0 0; color:var(--ink);}
.secret p{margin:13px 0 0; font-size:17.5px; line-height:1.62; color:var(--ink-soft);}
.secret p strong{color:var(--ink); font-weight:700;}
.secret .secret-q{font-weight:700; color:var(--ink); font-size:18px; line-height:1.5;}
.secret .secret-q em{font-style:normal; color:var(--wine);}
.secret .stat-line{display:flex; gap:24px; margin-top:auto; padding-top:22px;}
.secret .stat-line .s .v{font-family:var(--serif); font-weight:300; font-size:clamp(30px,3vw,42px); line-height:1; color:var(--wine);}
.secret .stat-line .s .l{font-size:14px; color:var(--ink-soft); margin-top:5px; line-height:1.35;}
.secret .stat-src{margin:12px 0 0; font-size:11px; color:var(--faint); letter-spacing:.02em;}
.founder-result{margin-top:clamp(30px,3.5vw,48px);}
.founder-result .rlead{font-size:clamp(18px,1.7vw,22px); font-weight:700; letter-spacing:-.02em; color:var(--ink); max-width:60ch;}
.founder-result .rlead strong{color:var(--wine);}
.founder-close{display:block; margin-top:clamp(30px,3.5vw,48px);}
.founder-close .fc-lead-k{display:block; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); margin-bottom:10px;}
.founder-close .fc-title{font-size:clamp(26px,3vw,40px); font-weight:800; letter-spacing:-.03em; line-height:1.05; color:var(--ink); margin:0 0 18px;}
.founder-close .rlead{font-size:clamp(17px,1.6vw,20px); font-weight:600; color:var(--ink); max-width:62ch; margin:0 0 20px;}
.founder-close .rlead strong{color:var(--wine); font-weight:800;}
.founder-close .duties{display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:2px solid var(--ink); margin:6px 0 24px;}
.founder-close .duty{padding:22px 28px 6px 0;}
.founder-close .duty + .duty{padding-left:28px; border-left:1px solid var(--rule);}
.founder-close .duty .dn{font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--wine);}
.founder-close .duty h3{font-size:clamp(19px,1.9vw,24px); font-weight:800; letter-spacing:-.02em; color:var(--ink); margin:10px 0 0; line-height:1.1;}
.founder-close .duty p{font-size:17.5px; line-height:1.6; color:var(--ink-soft); margin:12px 0 0; font-weight:400;}
.founder-close .twist{border-left:3px solid var(--wine); padding-left:22px; font-weight:700; color:var(--ink);}
@media (max-width:680px){.founder-close .duties{grid-template-columns:1fr;} .founder-close .duty + .duty{padding-left:0; border-left:0; border-top:1px solid var(--rule); margin-top:4px;}}
.founder-signoff{margin-top:22px; display:flex; flex-direction:column; gap:2px;}
.founder-signoff .sig-line{display:flex; align-items:center; flex-wrap:wrap; gap:10px 0;}
.founder-signoff .sig-mot{font-family:var(--sans); font-style:italic; font-weight:500; font-size:18px; line-height:1.35; color:var(--wine); white-space:nowrap; margin-left:28px; padding-left:28px; border-left:1px solid var(--rule);}
.founder-signoff .sig{font-family:'Pinyon Script', cursive; font-size:clamp(40px,4.6vw,58px); line-height:.9; color:var(--wine); padding-left:2px; white-space:nowrap;}
.founder-signoff .sig-meta{font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); margin-top:8px;}
.founder-close blockquote{margin:0; max-width:64ch; padding-left:24px; border-left:3px solid var(--wine); font-size:clamp(20px,2.2vw,30px); font-weight:800; line-height:1.25; color:var(--ink); letter-spacing:-.02em;}
.founder-close blockquote em{font-style:normal; color:var(--wine);}
.founder-bank{margin-top:clamp(24px,3vw,40px); background:var(--card); border:1px solid var(--rule); padding:clamp(26px,3vw,40px);}
.founder-bank .fn-k{font-size:15px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:24px;}
.founder-bank .fb-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,3vw,44px);}
.founder-bank .fb-col h4{font-size:clamp(20px,2vw,26px); font-weight:800; letter-spacing:-.02em; color:var(--ink); margin:0;}
.founder-bank .fb-col p{margin:10px 0 0; font-size:20px; line-height:1.62; color:var(--ink-soft);}
.founder-bank .fb-col p strong{color:var(--ink); font-weight:700;}
@media (max-width:760px){.founder-bank .fb-grid{grid-template-columns:1fr; gap:22px;}}
.founder-sep{height:2px; width:64px; background:var(--wine); margin:clamp(40px,5vw,64px) auto;}
.founder-confession{position:relative; margin-top:clamp(30px,3.5vw,48px); background:var(--wine); color:var(--paper); padding:clamp(30px,4vw,52px) clamp(30px,4vw,56px);}
.founder-confession .fc-q{position:absolute; top:6px; left:clamp(18px,2.5vw,32px); font-size:84px; line-height:1; color:#F2C9A0; opacity:.5; font-weight:800;}
.founder-confession p{margin:0; font-size:clamp(20px,2.3vw,31px); font-weight:700; line-height:1.32; letter-spacing:-.02em; color:var(--paper); max-width:48ch;}
.founder-confession p strong{color:#F2C9A0; font-weight:800;}
.founder-confession .fc-att{display:block; margin-top:20px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(244,240,231,.7);}
.founder-evidence{margin-top:clamp(30px,3.5vw,48px); max-width:66ch;}
.founder-evidence h3{font-size:clamp(24px,2.8vw,38px); font-weight:800; letter-spacing:-.03em; line-height:1.05; color:var(--ink);}
.founder-evidence h3 em{font-style:normal; color:var(--wine);}
.founder-evidence p{margin:16px 0 0; color:var(--ink-soft); font-size:16.5px; line-height:1.7;}
.founder-evidence p strong{color:var(--ink); font-weight:700;}
.founder-evidence .punch{font-size:clamp(17px,1.7vw,21px); font-weight:700; color:var(--ink); border-left:3px solid var(--wine); padding-left:22px; margin-top:24px; line-height:1.4;}
.founder-evidence .punch strong{color:var(--wine); font-weight:800;}
.ev-compare{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:24px;}
.ev-cell{background:var(--card); padding:24px 26px;}
.ev-cell.perm{background:var(--wine);}
.ev-cell .ev-k{font-size:11.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--wine); display:block;}
.ev-cell.perm .ev-k{color:#F2C9A0;}
.ev-cell .ev-v{font-size:clamp(20px,2.2vw,29px); font-weight:800; letter-spacing:-.03em; color:var(--ink); margin-top:9px; display:block; line-height:1.08;}
.ev-cell.perm .ev-v{color:var(--paper);}
@media (max-width:560px){.ev-compare{grid-template-columns:1fr;}}
@media (max-width:880px){.founder-head{grid-template-columns:1fr; gap:30px;} .founder-head .pic{max-width:340px;} .founder-secrets{grid-template-columns:1fr;} .founder-close{grid-template-columns:1fr; gap:24px;}}
@media (max-width:560px){.tiers li{flex-direction:column; gap:2px;} .tiers .tn{min-width:0;}}
.founder .sign{margin-top:28px;}
.founder .sign .ms{font-size:26px; font-weight:800; letter-spacing:-.03em; color:var(--ink);}
.founder .sign .ms-meta{display:block; font-size:13px; color:var(--ink-soft); margin-top:8px; line-height:1.5; font-weight:500;}
.founder .creds{display:flex; flex-wrap:wrap; gap:8px; margin-top:24px;}
.founder .creds span{font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); border:1px solid var(--rule); padding:7px 13px;}
.founder .creds span b{color:var(--wine);}

/* presse */
.press-head{display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px;}
.press-head > div{max-width:62ch;}
.press-head p{margin:16px 0 0; font-size:16px; line-height:1.6; color:var(--ink-soft);}
.press-head p strong{color:var(--ink); font-weight:700;}
.pc .meta{display:flex; align-items:center; gap:8px;}
.pc .meta img{height:20px; width:auto;}
/* tableau familles de placements */
.fam-wrap{margin-top:clamp(30px,3.5vw,48px); overflow-x:auto; border:1px solid var(--rule);}
.fam-table{width:100%; border-collapse:collapse; min-width:680px; background:var(--card);}
.fam-table thead th{font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); text-align:left; padding:16px 18px; border-bottom:1px solid var(--rule); background:var(--paper-2);}
.fam-table thead th.num{text-align:right;}
.fam-table tbody td{padding:15px 18px; border-bottom:1px solid var(--rule-2); vertical-align:middle; font-size:14.5px; color:var(--ink-soft);}
.fam-table tbody tr:last-child td{border-bottom:0;}
.fam-table .name{font-weight:800; color:var(--ink); font-size:15px;}
.fam-table .name em{font-style:normal; color:var(--wine);}
.fam-table .yield{font-weight:800; color:var(--wine); text-align:right; white-space:nowrap;}
.fam-table .horizon, .fam-table .min{white-space:nowrap;}
.fam-table .risk{display:inline-flex; align-items:center; gap:7px;}
.fam-table .pip{width:9px; height:9px; border-radius:50%; flex-shrink:0;}
.fam-table .pip.low{background:#2A7558;}
.fam-table .pip.mid{background:#C8902F;}
.fam-table .pip.high{background:var(--wine);}
.fam-note{margin:14px 0 0; font-size:12.5px; color:var(--faint); line-height:1.6;}
.fam-table.perf .yield{font-variant-numeric:tabular-nums;}
.fam-table.perf .muted{color:var(--faint); font-weight:600;}
.fam-table.perf td.muted{color:var(--faint); font-weight:600;}
.fam-table.perf tr.ref td{background:rgba(7,77,58,.06); border-bottom:1px solid var(--rule);}
.fam-table.perf tr.ref .name em{font-style:italic;}
.fam-table.perf tr.ref .yield{color:var(--ink);}
.fam-table.perf .yr{display:block; font-size:10px; font-weight:600; letter-spacing:.04em; color:var(--faint); margin-top:2px; text-transform:none;}
.fam-choose{margin-top:clamp(24px,3vw,40px); background:var(--wine); color:var(--paper); padding:clamp(26px,3vw,40px);}
.fam-choose .fc-k{font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#F2C9A0; display:block; margin-bottom:12px;}
.fam-choose p{margin:0 0 20px; font-size:clamp(16px,1.7vw,20px); line-height:1.5; color:var(--paper); max-width:64ch;}
.fam-choose p strong{color:#fff;}
.fam-choose p em{font-style:normal; color:#F2C9A0;}
.fam-choose .btn.solid{background:var(--paper); color:var(--wine); border-color:var(--paper);}
.fam-choose .btn.solid:hover{background:#FDFBF6;}
.press-head img{height:74px; width:auto; mix-blend-mode:multiply;}
.pc .meta img{mix-blend-mode:multiply;}
.cap-logo{display:inline-flex; align-items:flex-end; gap:0;}
.cap-logo .tld{font-weight:800; color:var(--wine); letter-spacing:-.02em; line-height:1; font-size:30px; padding-bottom:9px; margin-left:-56px;}
.cap-logo.sm{transform:translateY(2px);}
.cap-logo.sm .tld{font-size:13px; padding-bottom:2px; margin-left:-15px;}
.press-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(36px,4vw,54px);}
.press-all{display:inline-flex; align-items:center; gap:10px; margin-top:clamp(24px,3vw,36px); font-size:15px; font-weight:800; letter-spacing:.02em; color:var(--paper); background:var(--wine); padding:15px 28px;}
.press-all:hover{background:var(--wine-2);}
.press-all .ar{transition:transform .25s;}
.press-all:hover .ar{transform:translateX(4px);}
.pc{background:var(--card); padding:clamp(26px,2.6vw,40px); display:flex; flex-direction:column; min-height:240px; transition:background .2s;}
.pc:hover{background:#FDFBF6;}
.pc .meta{font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--wine);}
.pc h3{font-size:clamp(21px,1.9vw,26px); font-weight:800; letter-spacing:-.03em; line-height:1.08; margin:16px 0 0;}
.pc h3 em{font-style:normal; color:var(--wine);}
.pc .read{margin-top:auto; padding-top:22px; font-size:13.5px; font-weight:800; color:var(--ink); display:inline-flex; gap:8px;}
.pc:hover .read{color:var(--wine);}

/* preuve */
.proof{display:grid; grid-template-columns:1fr .9fr; gap:clamp(34px,5vw,72px); align-items:center;}
.proof .lead blockquote{margin:0; font-size:clamp(27px,3.2vw,46px); font-weight:800; line-height:1.1; color:var(--ink); letter-spacing:-.035em;}
.proof .lead blockquote em{font-style:normal; color:var(--wine);}
.proof .lead .by{margin-top:24px; font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); display:flex; align-items:center; gap:12px;}
.proof .lead .by .stars{color:var(--wine); letter-spacing:.1em;}
.proof .score{border:2px solid var(--ink); background:var(--card); padding:clamp(36px,4vw,58px); text-align:center;}
.proof .score .v{font-size:clamp(76px,10vw,132px); font-weight:800; line-height:.84; color:var(--wine); letter-spacing:-.05em;}
.proof .score .v small{font-size:.4em; color:var(--faint);}
.proof .score .d{font-size:14px; color:var(--ink-soft); margin-top:12px;}
.proof .score .rule{height:1px; background:var(--rule); margin:22px 0;}
.proof .score .badges{display:flex; flex-direction:column; gap:7px; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:var(--ink-2); text-transform:uppercase;}
.proof .score-note{margin:18px 0 0; padding-top:16px; border-top:1px solid var(--rule); font-size:13.5px; line-height:1.6; color:var(--ink-soft); font-style:italic; text-align:left;}
.proof-apport{margin-top:clamp(28px,3.5vw,48px); background:var(--card); border:1px solid var(--rule); border-left:3px solid var(--wine); padding:clamp(26px,3vw,40px);}
.proof-apport .pa-k{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:14px;}
.proof-apport blockquote{margin:0; font-size:clamp(18px,1.9vw,24px); font-weight:600; line-height:1.35; color:var(--ink); letter-spacing:-.02em; max-width:70ch;}
.proof-apport blockquote em{font-style:normal; color:var(--wine);}
.proof-apport .pa-by{margin-top:18px; font-size:14px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.proof-apport .pa-by .stars{color:var(--wine); letter-spacing:.1em;}
.proof-apport .pa-by a{text-transform:none; letter-spacing:0; font-weight:800; color:var(--wine);}
.proof-apport .pa-by .pa-verif{text-transform:none; letter-spacing:0; font-weight:600; font-size:12px; color:var(--faint);}

.proof-cards{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin-top:clamp(30px,4vw,52px);}
.proof-cards .tc{background:var(--card); padding:clamp(24px,2.6vw,34px); display:flex; flex-direction:column;}
.proof-cards .tc .star{color:var(--wine); letter-spacing:.22em; font-size:12px; margin-bottom:16px;}
.proof-cards .tc blockquote{margin:0 0 22px; font-size:16.5px; line-height:1.55; color:var(--ink-2); letter-spacing:-.01em;}
.proof-cards .tc blockquote em{font-style:normal; color:var(--wine); font-weight:700;}
.proof-cards .tc .attr{margin-top:auto; border-top:1px solid var(--rule); padding-top:14px;}
.proof-cards .tc .name{font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink);}
.proof-cards .tc .role{font-size:13.5px; color:var(--ink-soft); margin-top:3px;}
@media(max-width:680px){.proof-cards{grid-template-columns:1fr;}}

/* faq */
.faq{margin-top:clamp(32px,3vw,46px); border-top:2px solid var(--ink);}
.faq details{border-bottom:1px solid var(--rule);}
.faq summary{list-style:none; cursor:pointer; padding:26px 0; display:flex; align-items:flex-start; justify-content:space-between; gap:24px; font-size:clamp(20px,1.9vw,27px); font-weight:800; letter-spacing:-.025em; color:var(--ink); line-height:1.18;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary .pm{flex-shrink:0; width:30px; height:30px; border:2px solid var(--ink); position:relative; transition:.25s; margin-top:2px;}
.faq summary .pm::before,.faq summary .pm::after{content:""; position:absolute; background:var(--ink); transition:.25s;}
.faq summary .pm::before{left:7px; right:7px; top:50%; height:2px; margin-top:-1px;}
.faq summary .pm::after{top:7px; bottom:7px; left:50%; width:2px; margin-left:-1px;}
.faq details[open] summary{color:var(--wine);}
.faq details[open] summary .pm{background:var(--wine); border-color:var(--wine);}
.faq details[open] summary .pm::before,.faq details[open] summary .pm::after{background:var(--paper);}
.faq details[open] summary .pm::after{opacity:0;}
.faq .ans{padding:0 54px 28px 0; margin:0; color:var(--ink-soft); font-size:16px; line-height:1.7;}
.faq .ans strong{color:var(--ink);}

/* contact — panneau ink */
.contact{background:var(--ink); color:var(--paper); border-bottom:0; position:relative;}
.contact h2{color:var(--paper);}
.contact .sec-head .num{color:#E5A86F;}
.contact .sec-head p{color:rgba(244,240,231,.78);}
.contact h2 .mark{color:#E5A86F;}
.doors{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule-light); border:1px solid var(--rule-light); margin-top:clamp(40px,4vw,58px);}
.door{background:var(--ink); padding:clamp(34px,3.6vw,52px) clamp(26px,2.8vw,38px); display:flex; flex-direction:column; transition:background .2s;}
.door:hover{background:#221d16;}
.door .rn{font-size:14px; font-weight:800; color:#E5A86F;}
.door .ico{width:30px; height:30px; stroke:#E5A86F; margin:16px 0 0;}
.door h3{font-size:clamp(22px,2.2vw,28px); font-weight:800; letter-spacing:-.03em; color:var(--paper); margin:16px 0 0;}
.door p{font-size:14.5px; line-height:1.55; color:rgba(244,240,231,.62); margin:11px 0 0;}
.door .val{margin-top:auto; padding-top:22px; font-size:15px; font-weight:800; color:var(--paper); display:inline-flex; gap:8px; align-items:center;}
.door:hover .val{color:#E5A86F;}
.contact .sign-off{display:flex; flex-wrap:wrap; align-items:baseline; gap:10px 18px; margin-top:32px;}
.contact .sign-off .ms{font-size:26px; font-weight:800; letter-spacing:-.03em; color:var(--paper);}
.contact .sign-off .ms-meta{font-size:13px; color:rgba(244,240,231,.6);}

/* footer */
.foot{background:#100D09; color:rgba(244,240,231,.6); padding:clamp(68px,8vw,112px) 0 48px;}
.foot .top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(28px,3vw,48px);}
.foot .brand{color:var(--paper); margin-bottom:18px;}
.foot .brand .dot{color:#E5A86F;}
.foot .about{font-size:14px; line-height:1.7; max-width:34ch;}
.foot .addr{font-size:14px; line-height:1.8; margin-top:16px; color:rgba(244,240,231,.5);}
.foot .addr a:hover{color:#E5A86F;}
.foot h4{font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#E5A86F; margin:0 0 16px;}
.foot ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px;}
.foot ul a{font-size:14px; color:rgba(244,240,231,.66);}
.foot ul a:hover{color:var(--paper);}
.foot .legal{margin-top:clamp(40px,4vw,58px); padding-top:24px; border-top:1px solid rgba(244,240,231,.14); display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; font-size:12.5px; letter-spacing:.02em; color:rgba(244,240,231,.42);}

/* voix client */
.voice{border-bottom:1px solid var(--rule); padding:clamp(34px,4.2vw,60px) 0;}
.voice .wrap{display:grid; grid-template-columns:auto 1fr; gap:clamp(18px,2.6vw,38px); align-items:start;}
.voice .vq{font-size:clamp(64px,7vw,108px); line-height:.7; color:var(--wine); font-weight:800;}
.voice blockquote{margin:0; font-size:clamp(22px,2.7vw,40px); font-weight:800; letter-spacing:-.03em; line-height:1.12; color:var(--ink); max-width:24ch;}
.voice blockquote em{font-style:normal; color:var(--wine);}
.voice .by{grid-column:2; margin-top:16px; font-size:13.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft); display:flex; align-items:center; gap:12px;}
.voice .by .stars{color:var(--wine); letter-spacing:.1em;}
@media (max-width:560px){.voice .wrap{grid-template-columns:1fr; gap:6px;} .voice .by{grid-column:1;}}

/* reveal */
.rv{opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.rv{opacity:1; transform:none; transition:none;}}

/* ====================== PAGES INTERNES ====================== */
.page-hero{padding:clamp(52px,6vw,92px) 0 clamp(56px,6vw,84px); border-bottom:1px solid var(--rule); background:var(--paper);}
.crumb{display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--faint); margin-bottom:clamp(20px,2.4vw,32px);}
.crumb a:hover{color:var(--wine);}
.crumb .sep{opacity:.5;}
.crumb .here{color:var(--wine);}
.page-hero .kln{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:18px;}
.page-hero h1{font-size:clamp(40px,6.4vw,92px);}
.page-hero h1 .mark{color:var(--wine);}
.page-hero .lede{margin:24px 0 0; max-width:62ch;}
.page-hero .cta-row{margin-top:30px;}

.section{padding:clamp(72px,9vw,136px) 0; border-bottom:1px solid var(--rule);}
.section.tint{background:var(--paper-2);}
.section .head{max-width:64ch; margin-bottom:clamp(34px,4vw,54px);}
.section .head .kln{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--wine); display:block; margin-bottom:14px;}
.section .head h2{margin:0;}
.section .head p{margin:18px 0 0; color:var(--ink-soft); font-size:clamp(18px,1.5vw,21px); line-height:1.5; max-width:60ch; font-weight:500;}

/* contenu riche */
.prose{max-width:64ch;}
.prose > * + *{margin-top:20px;}
.prose p{color:var(--ink-2); font-size:17px; line-height:1.75;}
.prose h3{font-size:clamp(22px,2.2vw,30px); font-weight:800; letter-spacing:-.03em; color:var(--ink); margin-top:40px;}
.prose strong{color:var(--ink); font-weight:700;}
.prose .pull{font-size:clamp(22px,2.4vw,32px); font-weight:800; letter-spacing:-.03em; line-height:1.18; color:var(--ink); border-left:3px solid var(--wine); padding-left:22px; margin:34px 0;}
.prose .pull em{font-style:normal; color:var(--wine);}

/* grille de prestations (cartes) */
.offers{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule);}
.offer{background:var(--card); padding:clamp(32px,3.4vw,50px); display:flex; flex-direction:column;}
.offer .rn{font-size:13px; font-weight:800; color:var(--wine); letter-spacing:.04em;}
.offer h3{font-size:clamp(21px,2vw,27px); font-weight:800; letter-spacing:-.03em; line-height:1.06; margin:12px 0 0;}
.offer h3 em{font-style:normal; color:var(--wine);}
.offer p{margin:13px 0 0; color:var(--ink-soft); font-size:15.5px; line-height:1.6;}
.offer .go{margin-top:auto; padding-top:22px; font-size:13.5px; font-weight:800; color:var(--wine); display:inline-flex; gap:8px;}
.offers.cols-2{grid-template-columns:1fr 1fr;}
@media (max-width:860px){.offers{grid-template-columns:1fr 1fr;} .offer:nth-child(2n){border-right:0;}}
@media (max-width:560px){.offers{grid-template-columns:1fr;}}

/* split contenu + aparté */
.split{display:grid; grid-template-columns:1.25fr .75fr; gap:clamp(34px,5vw,68px); align-items:start;}
.aside{border:2px solid var(--ink); padding:clamp(26px,3vw,38px); position:sticky; top:96px;}
.aside .k{font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--wine);}
.aside h3{font-size:clamp(22px,2.2vw,28px); font-weight:800; letter-spacing:-.03em; margin:12px 0 0; line-height:1.06;}
.aside p{margin:12px 0 0; font-size:15px; line-height:1.6; color:var(--ink-soft);}
.aside .btn{margin-top:20px; width:100%; justify-content:center;}
@media (max-width:860px){.split{grid-template-columns:1fr; gap:30px;} .aside{position:static;}}

/* liste pas-à-pas / inclus */
.ticks{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--rule); border:1px solid var(--rule);}
.ticks li{background:var(--card); padding:20px 24px 20px 46px; position:relative; font-size:16px; color:var(--ink-2); line-height:1.6;}
.ticks li::before{content:"—"; position:absolute; left:24px; top:20px; color:var(--wine); font-weight:800;}
.ticks li strong{color:var(--ink); font-weight:700;}
@media (max-width:640px){.ticks{grid-template-columns:1fr;}}

/* bande d'appel */
.skip-link{position:absolute; left:-9999px; top:0; background:var(--ink); color:var(--paper); padding:10px 16px; z-index:1000; font-weight:700; border-radius:0 0 4px 0;}
.skip-link:focus{left:0; top:0;}
.cta-band{padding:clamp(48px,6vw,88px) 0; background:var(--ink); color:var(--paper); border-bottom:0;}
.cta-band.wine{background:var(--wine);}
.cta-band .in{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px;}
.cta-band h2{color:var(--paper); font-size:clamp(28px,3.4vw,48px); max-width:18ch;}
.cta-band h2 .mark{color:#E5A86F;}
.cta-band.wine h2 .mark{color:#F2C9A0;}
.cta-band .btn.light{border-color:var(--paper); color:var(--paper);}
.cta-band .btn.light:hover{background:var(--paper); color:var(--ink);}
.cta-band .sub{font-size:15px; color:rgba(244,240,231,.7); margin-top:10px;}

/* ====================== SIMULATEURS ====================== */
.sim{display:grid; grid-template-columns:1.05fr .95fr; gap:1px; background:var(--rule); border:1px solid var(--ink);}
.sim-controls{background:var(--card); padding:clamp(28px,3.4vw,46px); display:flex; flex-direction:column; gap:28px; justify-content:center;}
.sim-ctrl .lab{display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:14px;}
.sim-ctrl .lab span{font-size:14.5px; font-weight:600; color:var(--ink-soft);}
.sim-ctrl .lab b{font-size:24px; font-weight:800; color:var(--wine); letter-spacing:-.02em; white-space:nowrap;}
.sim-ctrl input[type=range]{-webkit-appearance:none; appearance:none; width:100%; height:3px; background:var(--rule); outline:none;}
.sim-ctrl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none; appearance:none; width:24px; height:24px; border-radius:50%; background:var(--wine); cursor:pointer; border:4px solid var(--card); box-shadow:0 0 0 1px var(--wine);}
.sim-ctrl input[type=range]::-moz-range-thumb{width:24px; height:24px; border-radius:50%; background:var(--wine); cursor:pointer; border:4px solid var(--card); box-shadow:0 0 0 1px var(--wine);}
.sim-ctrl .note{font-size:13px; color:var(--ink-soft); margin:4px 0 0;}
.sim-ctrl .note strong{color:var(--wine);}
.sim-out{background:var(--ink); color:var(--paper); padding:clamp(28px,3.4vw,46px); display:flex; flex-direction:column; justify-content:center;}
.sim-big{padding-bottom:22px; border-bottom:1px solid rgba(244,240,231,.18);}
.sim-big .k{font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#E5A86F;}
.sim-big .v{font-size:clamp(48px,6vw,78px); font-weight:800; line-height:.9; letter-spacing:-.05em; color:var(--paper); margin-top:8px;}
.sim-row{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:14px 0; border-bottom:1px solid rgba(244,240,231,.1);}
.sim-row span{font-size:14.5px; color:rgba(244,240,231,.7);}
.sim-row b{font-size:20px; font-weight:800; color:var(--paper); letter-spacing:-.02em;}
.sim-out .btn{margin-top:24px; align-self:flex-start; border-color:#E5A86F; color:#E5A86F;}
.sim-out .btn:hover{background:#E5A86F; color:var(--ink);}
.sim-note{font-size:13px; line-height:1.6; color:var(--ink-soft); margin:18px 0 0; max-width:84ch;}
.sim-tabs{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:clamp(28px,3vw,40px);}
.sim-tab{font-size:14px; font-weight:700; color:var(--ink-2); background:none; border:1.5px solid var(--rule); padding:11px 20px; cursor:pointer; transition:.18s;}
.sim-tab:hover{border-color:var(--ink);}
.sim-tab.on{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.sim-block{display:none;}
.sim-block.on{display:block; animation:simfade .35s ease;}
@keyframes simfade{from{opacity:0; transform:translateY(8px);}to{opacity:1; transform:none;}}
@media (max-width:720px){.sim{grid-template-columns:1fr;}}

/* responsive */
/* nav collapses to burger when the 7-item bar can't fit comfortably */
@media (max-width:1240px){
  .nav,.head-cta{display:none;} .burger{display:flex; align-items:center; justify-content:center;}
}
@media (max-width:1100px){
  .hero .grid{grid-template-columns:1fr; gap:32px; align-items:stretch;}
  .hero .portrait{order:-1; max-width:300px; margin:0 auto;}
  .hero .portrait img{aspect-ratio:1/1; object-position:50% 16%;}
  .hero .portrait .seal{left:14px; top:14px; width:104px; height:104px;}
  .hero .portrait .seal b{font-size:34px;}
  .hero .portrait .seal span{font-size:8.5px; max-width:74px;}
  .founder{grid-template-columns:1fr; gap:32px;} .founder .pic{max-width:360px;}
  .proof{grid-template-columns:1fr; gap:30px;}
}
@media (max-width:860px){
  .kpi .row{grid-template-columns:1fr 1fr;}
  .kpi .k:nth-child(2){border-right:0;}
  .kpi .k:nth-child(1),.kpi .k:nth-child(2){border-bottom:1px solid var(--rule-2);}
  .audiences,.market,.press-grid{grid-template-columns:1fr;}
  .vows{grid-template-columns:1fr; gap:0;} .vow{border-top:1px solid var(--rule); padding:26px 0;} .vow:first-child{border-top:3px solid var(--wine);}
  .acts{grid-template-columns:1fr 1fr;} .act:nth-child(2){border-right:0;} .act:nth-child(1),.act:nth-child(2){border-bottom:1px solid var(--rule-2);}
  .doors{grid-template-columns:1fr 1fr;} .door:nth-child(2){border-right:0;}
  .guard{grid-template-columns:1fr; gap:18px;}
  .foot .top{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .hero .portrait{max-width:none; width:100%; margin:0;}
  .hero .portrait .seal{width:96px; height:96px; top:14px; left:14px;}
  .hero .portrait .seal b{font-size:33px;}
  .hero .portrait .seal span{font-size:8px; max-width:70px; margin-top:3px; letter-spacing:.1em;}
  .hero .portrait img{aspect-ratio:4/3.1; object-position:50% 42%;}
  .hero .portrait .tag{position:absolute; background:linear-gradient(0deg,rgba(12,10,7,.9),transparent); color:var(--paper); padding:46px 20px 18px; text-align:left;}
  .hero .portrait .tag .nm{color:var(--paper);}
  .hero .portrait .tag .ro{color:var(--paper); font-size:18px;}
  .hero .pair{grid-template-columns:1fr;} .hero .pair .c+.c{padding-left:0; border-left:0; border-top:1px solid var(--rule);}
  .hero .cta-row .btn{width:100%; justify-content:center;}
  .acts{grid-template-columns:1fr;} .act{border-right:0; border-bottom:1px solid var(--rule-2);}
  .doors{grid-template-columns:1fr;} .door{border-right:0; border-bottom:1px solid var(--rule-light);}
  .foot .top{grid-template-columns:1fr;}
  .proof .lead blockquote{font-size:26px;}
  .kpi .k .v{font-size:30px;}
  .kpi .k{padding:22px 16px;}
  .guard .big{font-size:clamp(34px,9vw,76px); white-space:normal;}
  .guard, .guard .big, .guard .txt{min-width:0;}
}

/* écrans larges mais bas (laptops type ThinkPad) : le hero tient en un écran */
@media (min-width:1100px) and (max-height:820px){
  .hero{padding-top:26px;}
  .hero h1{font-size:clamp(44px,5.4vw,76px);}
  .hero .estd{margin-bottom:16px;}
  .hero .grid{margin-top:16px; align-items:end;}
  .hero .left{padding-bottom:20px;}
  .hero .pair{margin-top:18px;}
  .hero .pair .c{padding-top:12px;}
  .hero .tie{margin-top:16px;}
  .hero .cta-row{margin-top:18px;}
  .hero .portrait{max-width:248px;}
  .hero .portrait .seal{width:120px; height:120px; top:12px; left:-16px;}
  .hero .portrait .seal b{font-size:40px;}
  .hero .portrait .seal span{font-size:9.5px; max-width:84px;}
}
@media (min-width:1100px) and (max-height:680px){
  .hero h1{font-size:clamp(40px,4.6vw,62px);}
  .hero .portrait{max-width:215px;}
}
