/* Proposition 2 « Suisse » (Pascal 09/10) : moins zoomé, tout en Inter, graisses légères, capitales espacées */
.shell{zoom:.86}
body,.h1,.h2,.h3,h1,h2,h3,.nav a,.b1,.b2,.btn,input,select,button,.sl b,.logo{font-family:'Inter',system-ui,sans-serif!important}
.h1{font-weight:300!important;font-size:46px!important;letter-spacing:-1.2px!important}
.h2,.h3{font-weight:400!important;letter-spacing:-.4px!important}
.piliers .ca .h3{font-weight:500!important;font-size:24px!important;letter-spacing:-.6px!important}
.sl b{font-weight:500!important;letter-spacing:-.3px}
.nav a{font-weight:500!important;font-size:13.5px!important}
b,strong,.tab b{font-weight:500!important}
.etq,.onglet,.tab-t,.badge-sp,.etat,.pill{text-transform:uppercase;letter-spacing:.16em!important;font-size:10px!important;font-weight:500!important}
.b1,.b2{height:40px!important;font-size:13px!important;font-weight:500!important;letter-spacing:.02em}
.ca,.tete,.side{border-radius:18px!important}

/* Pages produit plus lisibles, sans en faire trop (Pascal 09/10 : « trop plat ») */
.h1{font-weight:400!important;color:var(--titre,var(--ink))}
.h2{font-weight:400!important}
.chapo{color:var(--titre,var(--ink))!important;opacity:.82}
.ban{background:linear-gradient(135deg,rgba(201,162,75,.10),rgba(255,255,255,.55) 60%)!important;border:1px solid rgba(201,162,75,.6)!important;box-shadow:0 2px 4px rgba(31,52,94,.05),0 16px 36px -18px rgba(31,52,94,.28)!important}
.ban .t{font-weight:500!important}
.ban .t span{font-weight:400}
.ban .pas{background:#0F1E3D!important;color:#fff!important;border:0!important;font-weight:500!important}
.ban .pas span{color:#E3C489!important}
.ban .onglet{font-weight:600!important}
:root[data-theme="sombre"] .ban{background:linear-gradient(135deg,rgba(227,196,137,.10),rgba(255,255,255,.05) 60%)!important;border-color:rgba(227,196,137,.45)!important}
:root[data-theme="sombre"] .ban .pas{background:#E3C489!important;color:#0b1322!important}
:root[data-theme="sombre"] .ban .pas span{color:#0b1322!important}

/* CTA principal visible dès l'arrivée (Pascal 09/10) : « Ouvrir mon … avec OP-Invests ».
   Tant que le partenariat n'est pas signé, il reste sous cadenas, mais en bouton plein, bien visible. */
.tete .btns{flex-wrap:wrap}
.tete .verrou.plein{min-height:48px;padding:10px 22px;border-radius:999px;background:#0F1E3D!important;border:0!important;color:#fff!important;font-size:14.5px;font-weight:500;opacity:1}
.tete .verrou.plein em{background:rgba(227,196,137,.2);color:#E3C489}
:root[data-theme="sombre"] .tete .verrou.plein{background:#eef2f9!important;color:#0b1322!important}
:root[data-theme="sombre"] .tete .verrou.plein em{background:rgba(15,30,61,.12);color:#8a6a1f}

/* Menu : plus large et plus lisible (Pascal 09/10 : « trop petit ») */
.side{width:292px!important;padding-left:14px!important;padding-right:14px!important}
.side .nav a{font-size:15px!important;padding:10px 12px!important;gap:12px}
.side .nav a svg{width:19px!important;height:19px!important}
.side .nav .pill{text-transform:none!important;letter-spacing:0!important;font-size:11px!important;padding:2px 8px!important;flex:none}
.side .logo{font-size:18px!important}

/* ── AV luxembourgeoise : schéma en triangle (Pascal 09/10) ── */
.tri-g{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:28px;align-items:center}
.tri{position:relative;margin:0;aspect-ratio:640/520;border-radius:26px;background:var(--verre);border:1px solid rgba(201,162,75,.45);box-shadow:var(--ombre);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.tri svg{position:absolute;inset:0;width:100%;height:100%}
.tri-arete{font:500 13px Inter,sans-serif;fill:#A8822F;text-anchor:middle;letter-spacing:.06em;text-transform:uppercase}
.tri-s{position:absolute;width:30%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:12px 14px;border-radius:16px;background:var(--verre-fort);border:1px solid var(--bord);box-shadow:0 10px 24px -14px rgba(15,30,61,.35)}
.tri-s b{font-size:15px;font-weight:600;color:var(--titre,var(--ink))}
.tri-s span:not(.tri-n){font-size:12px;line-height:1.45;color:var(--muted)}
.tri-n{width:26px;height:26px;border-radius:50%;background:#0F1E3D;color:#E3C489;font-size:12.5px;font-weight:600;display:grid;place-items:center;margin-bottom:2px}
.tri-s.haut{left:35%;top:1%}
.tri-s.gauche{left:1%;bottom:12%}
.tri-s.droite{right:1%;bottom:12%}
.tri-c{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);width:28%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:16px;border-radius:50%/40%;background:#0F1E3D;color:#C9D1E1;box-shadow:0 18px 40px -16px rgba(15,30,61,.6)}
.tri-c b{font-size:18px;font-weight:600;color:#E3C489}
.tri-c span{font-size:11.5px;line-height:1.45}
.tri-savoir{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.tri-savoir li{font-size:13.5px;line-height:1.5;color:var(--txt);padding:12px 16px;border-radius:14px;background:var(--verre-fort);border:1px solid var(--bord)}
.tri-savoir b{color:var(--titre,var(--ink));font-weight:600}
:root[data-theme="sombre"] .tri-n{background:#E3C489;color:#0b1322}
:root[data-theme="sombre"] .tri-c{background:#1a2742;border:1px solid rgba(227,196,137,.4)}
:root[data-theme="sombre"] .tri-arete{fill:#E3C489}
@media (max-width:1100px){.tri-g{grid-template-columns:1fr}}
@media (max-width:700px){.tri{aspect-ratio:auto;display:flex;flex-direction:column;gap:10px;padding:16px}.tri svg{display:none}.tri-s,.tri-c{position:static;width:auto;transform:none;border-radius:16px}}
.tri-s,.tri-c{z-index:2}
.tri-s{background:#fbfcfe!important;border-color:rgba(201,162,75,.45)!important}
:root[data-theme="sombre"] .tri-s{background:#16223a!important}
.tri-s.gauche,.tri-s.droite{bottom:auto!important;top:64%}

/* CTA principal d'en-tête : même gabarit sur toutes les pages (Pascal 09/10 : « la page SCPI n'a pas la même taille ») */
.tete .b1.cta{height:48px!important;padding:0 24px!important;font-size:14.5px!important;border-radius:999px}

/* ── HARMONISATION DES EN-TÊTES (Pascal 09/10 : « quand tu changes de page, ça fait mal aux yeux ») ──
   Même hauteur d'en-tête et même titre sur toutes les pages : le contenu ne saute plus d'une page à l'autre. */
.tete{min-height:500px;box-sizing:border-box;display:flex;flex-direction:column}
.tete>.wrap{flex:1;display:flex;flex-direction:column}
.tete .fil{margin-top:0!important;margin-bottom:22px!important;min-height:43px}
.tete .hero{flex:1;align-items:center!important;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important}
.tete .h1,.salut .h1{font-size:40px!important;line-height:1.15!important;letter-spacing:-1px!important;margin:0 0 16px!important}
.tete .etq{margin-bottom:14px!important}
.tete .chapo{font-size:15.5px!important;line-height:1.6!important;margin:0 0 22px!important;max-width:560px}
.tete .btns{gap:10px!important}
/* les deux bannières de droite : même hauteur sur toutes les pages produit */
.tete .ban.un{min-height:150px!important}
.tete .ban.deux{min-height:110px!important}
/* titre toujours au même endroit : contenu calé en haut, en-tête d'une hauteur unique */
.tete{min-height:600px}
.tete .hero{align-items:start!important;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)!important}
/* Simulateurs : le menu des simulateurs vit sur la ligne du fil d'Ariane, le titre reste au même endroit */
.fil .simus{margin:0 0 0 24px!important;flex-wrap:nowrap;gap:8px}
.fil .simus a{padding:8px 14px;font-size:13.5px;box-shadow:none}
/* Accueil : la ligne du haut a la même hauteur que sur les autres pages */
.tete .fil:has(.topbar){margin-bottom:22px!important;min-height:43px;align-items:center}
.tete .fil .topbar{margin:0 0 0 auto!important}
.tete:has(.actus-rot){padding-top:26px!important;padding-bottom:44px!important}
.tete:has(.actus-rot) .etq{margin-top:4px}
/* hauteur commune réduite au plus juste (accueil et pages courtes sans grand vide) */
.tete{min-height:520px}
.tete .h1,.salut .h1{font-size:36px!important}
.tete{min-height:582px}
.tete:has(.actus-rot){min-height:0!important}
/* correctif : dans l'en-tête en colonne, le contenu reprend toute la largeur (les marges automatiques le resserraient) */
.tete>.wrap{width:100%!important;margin:0!important;box-sizing:border-box}
/* Actus : la zone prend la hauteur de l'actu la plus longue, quelle que soit la largeur d'écran */
.rot{display:grid;min-height:0!important}
.sl{position:relative!important;inset:auto!important;grid-area:1/1}

/* ══ MOBILE (Pascal 09/10 : « 90 % des clients vont le faire via mobile ») ══════════════
   Une seule colonne, textes à taille de lecture (pas de dézoom), menu en tiroir, barre en bas. */
.barre-m,.voile-m{display:none}
@media (max-width:820px){
  .shell{zoom:1!important}
  body{font-size:15.5px}
  .main{padding-bottom:96px!important}
  .tete{min-height:0!important;margin:10px 10px 22px!important;width:auto!important;padding:20px 0 26px!important;border-radius:24px!important}
  .tete>.wrap{padding:0 18px!important}
  .tete .hero,.hero{grid-template-columns:1fr!important;gap:22px!important}
  .tete .h1,.salut .h1,.h1{font-size:30px!important;line-height:1.15!important}
  .tete .fil{min-height:0;flex-wrap:wrap;gap:8px}
  .fil .simus{margin:8px 0 0!important;width:100%;overflow-x:auto;flex-wrap:nowrap}
  .tete .btns{flex-direction:column;align-items:stretch}
  .tete .btns>*{width:100%;justify-content:center}
  .tete .verrou.plein{height:auto;padding:12px 18px}
  .ban .t{max-width:none!important}
  .ban.deux svg{width:70px}
  .wrap{padding:0 14px!important}
  .piliers,.une,.simple,.s-acces,.acqs,.tri-g,.conf-g,.duo,.g4,.g3,.bloc,.fin,.faq,.deuxc{grid-template-columns:1fr!important}
  .piliers .ca{transform:none!important}
  .bloc,.bande,.etapes,.oubli,.pan{padding:24px 18px!important;border-radius:22px!important}
  .actus-rot{padding:34px 18px 14px}
  /* menu de gauche → tiroir */
  .side{display:flex!important;position:fixed!important;top:0!important;left:0;bottom:0;margin:0!important;height:100%!important;width:84%!important;max-width:320px;z-index:90;border-radius:0 24px 24px 0!important;transform:translateX(-105%);transition:transform .25s ease;overflow-y:auto}
  body.menu-ouvert .side{transform:none}
  .voile-m{position:fixed;inset:0;z-index:85;background:rgba(11,19,34,.45);backdrop-filter:blur(2px)}
  body.menu-ouvert .voile-m{display:block}
  /* barre du bas */
  .barre-m{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:80;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-radius:22px;background:var(--verre-fort);border:1px solid var(--bord);box-shadow:0 10px 30px -10px rgba(15,30,61,.35);backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%)}
  .barre-m a,.barre-m button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:0;background:none;border-radius:14px;font:500 11.5px Inter,sans-serif;color:var(--muted);text-decoration:none;cursor:pointer}
  .barre-m svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  .barre-m a.on{color:#FF5A00}
  .bascule{position:static}
  .demo{font-size:9px}
}
@media (max-width:820px){
  /* titres des cartes piliers : la pastille passe sous le titre au lieu de le serrer */
  .piliers .ca .ent{flex-wrap:wrap}
  .piliers .ca .h3{white-space:normal!important}
  /* ligne du haut de l'accueil : les petits boutons à droite, sans « Bientôt » orphelin */
  .tete .fil .topbar .btn.ghost .lbl{display:none}
}
@media (max-width:820px){
  /* le tiroir doit passer AU-DESSUS du voile : on sort le menu de l'empilement de la page */
  body.menu-ouvert .shell{position:static!important;z-index:auto!important}
  .side{z-index:95!important}
  .voile-m{z-index:90!important}
  body.menu-ouvert .side{box-shadow:0 0 50px rgba(11,19,34,.4)}
}
@media (max-width:820px){
  details.deroul{margin:0 0 12px;border-radius:20px;background:var(--verre);border:1px solid var(--bord);box-shadow:var(--ombre);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);overflow:hidden}
  details.deroul>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-size:16.5px;font-weight:600;color:var(--titre,var(--ink))}
  details.deroul>summary::-webkit-details-marker{display:none}
  details.deroul>summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid #FF5A00;border-bottom:2px solid #FF5A00;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
  details.deroul[open]>summary::after{transform:rotate(-135deg);margin-top:4px}
  details.deroul>section{margin:0!important;padding:0 14px 16px}
  details.deroul>section.bloc,details.deroul>section.bande,details.deroul>section .bloc{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
}
@media (max-width:820px){
  /* Portefeuille : les chiffres d'abord (titre, puis « en bref », puis les boutons) */
  .tete .hero:has(.synth){display:flex!important;flex-direction:column}
  .tete .hero:has(.synth)>div:first-child{display:contents}
  .tete .hero:has(.synth) .etq{order:1}.tete .hero:has(.synth) .h1{order:2}
  .tete .hero:has(.synth)>div:last-child{order:3}
  .tete .hero:has(.synth) .chapo{order:4}.tete .hero:has(.synth) .btns{order:5}.tete .hero:has(.synth) .conf{order:6}
}
