/* ALEM Patrimoine – feuille de styles de l'univers Patrimoine (préversion) */
@font-face{font-family:"Cormorant Garamond";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/source-sans-3-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Source Sans 3";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/source-sans-3-latin-600-normal.woff2) format("woff2")}

:root{
  --vert:#173C35; --vert-fonce:#10302A; --champagne:#C9AF85; --champagne-fonce:#7D6640;
  --ivoire:#FAF7F0; --beige:#EAE3D6; --ligne:#D9CDB8; --texte2:#3E4F49; --texte3:#56635E; --clair:#CFDAD5;
  --serif:"Cormorant Garamond",Georgia,serif; --sans:"Source Sans 3",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ivoire);color:var(--vert);font-family:var(--sans);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--vert)}a:hover{color:var(--champagne-fonce)}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.serif{font-family:var(--serif);font-weight:500}
.sur{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:3px;font-weight:600;text-transform:uppercase}
.sur::before{content:"";width:28px;height:1px;background:currentColor;display:inline-block}
.btn{display:inline-block;padding:15px 26px;border-radius:6px;font-weight:600;text-decoration:none;transition:opacity .3s}
.btn:hover{opacity:.9}
.btn-or{background:var(--champagne);color:var(--vert)}
.btn-or:hover{color:var(--vert)}
.btn-ligne{border:1px solid var(--ivoire);color:var(--ivoire)}
.btn-ligne:hover{color:var(--ivoire)}

/* En-tête et héros */
.hero{position:relative;min-height:720px;display:flex;flex-direction:column;color:var(--ivoire);overflow:hidden}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .voile{position:absolute;top:0;bottom:0;left:0;width:min(100%,calc((100% - 1200px) / 2 + 640px));background:var(--vert);opacity:.84}
.entete{position:relative}
.entete .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:22px;padding-bottom:22px}
.logo{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--champagne)}
.logo:hover{color:var(--champagne)}
.logo b{font-family:var(--serif);font-size:44px;font-weight:500;letter-spacing:4px;line-height:1}
.logo span{font-size:12px;letter-spacing:9px;margin-top:4px}
.logo small{font-size:9px;letter-spacing:2px;margin-top:4px;color:var(--ivoire)}
.menu{display:flex;flex-wrap:wrap;gap:8px 28px;font-family:var(--serif);font-size:19px}
.menu a{color:var(--ivoire);text-decoration:none;text-shadow:0 1px 6px rgba(16,48,42,.75)}
.menu a:hover{color:var(--champagne)}
.hero-texte{position:relative;flex:1;width:100%;display:flex;flex-direction:column;justify-content:center;gap:22px;padding-top:48px;padding-bottom:36px}
.hero h1{margin:0;max-width:540px;font-family:var(--serif);font-weight:500;font-size:clamp(42px,4.6vw,66px);line-height:1.04}
.hero p{margin:0;max-width:500px;font-size:19px;color:#EDE8DD}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.domaines{list-style:none;margin:40px 0 0;padding:0;max-width:600px;display:flex;flex-wrap:wrap;gap:10px 12px;font-size:12.5px;letter-spacing:1.5px;font-weight:600}
.domaines li+li::before{content:"|";color:var(--champagne);margin-right:12px}

/* Conviction et cartes */
.section{padding:80px 0}
.centre{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:48px}
.h2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(34px,3.6vw,48px);line-height:1.1}
.sous{margin:0;font-family:var(--serif);font-size:24px}
.intro{margin:8px 0 0;max-width:620px;color:var(--texte2)}
.cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.carte{background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:32px}
.carte img{width:100%;aspect-ratio:16/7;object-fit:cover}
.pastille{margin-top:-28px;width:56px;height:56px;border-radius:50%;background:var(--vert);display:flex;align-items:center;justify-content:center;position:relative}
.carte h3{margin:18px 0 6px;font-family:var(--serif);font-weight:600;font-size:24px;letter-spacing:2px}
.trait{width:28px;height:1px;background:var(--vert);margin-bottom:14px}
.carte p{margin:0 28px 18px;font-size:16px;color:var(--texte2)}
.lien{font-weight:600}

/* Approche */
.approche{display:flex;flex-wrap:wrap;background:var(--vert);color:var(--ivoire)}
.approche .txt{flex:1 1 480px;min-width:0;padding:72px clamp(24px,6vw,96px);display:flex;flex-direction:column;justify-content:center;gap:20px}
.approche .sur{color:var(--champagne)}
.approche p{margin:0;max-width:480px;color:var(--clair)}
.approche img{flex:1 1 420px;min-width:0;min-height:460px;object-fit:cover}

/* Engagements */
.engagements{list-style:none;margin:0;padding:48px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;text-align:center;font-size:16px}
.engagements li{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 16px}
@media (min-width:960px){.engagements li+li{border-left:1px solid var(--ligne)}}

/* Ancrage local */
.local{display:flex;flex-wrap:wrap;background:var(--beige)}
.local .txt{flex:1 1 460px;padding:72px clamp(24px,6vw,96px);display:flex;flex-direction:column;justify-content:center;gap:18px}
.local .sur{color:var(--champagne-fonce)}
.local p{margin:0;max-width:500px;color:var(--texte2)}
.local .photo{flex:1 1 460px;position:relative;min-height:460px}
.local .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.etiquette{position:absolute;top:20px;right:20px;background:var(--ivoire);padding:8px 14px;border-radius:6px;font-size:12px;letter-spacing:1px}
.citation{position:absolute;left:24px;right:24px;bottom:24px;background:var(--vert);color:var(--ivoire);padding:24px 28px;border-radius:6px}
.citation q{font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.35;quotes:"« " " »"}
.citation cite{display:block;margin-top:12px;font-style:normal;font-size:14px;color:var(--champagne)}

/* Comprendre */
.guides{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:28px}
.guides a{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--champagne);padding-top:16px;text-decoration:none}
.guides small{font-size:12px;letter-spacing:3px;color:var(--champagne-fonce)}
.guides strong{font-family:var(--serif);font-weight:600;font-size:23px;line-height:1.2}

/* FAQ */
.faq{background:var(--beige)}
.faq .wrap{max-width:900px}
.faq details{border-top:1px solid var(--champagne);padding:18px 0}
.faq details:last-child{border-bottom:1px solid var(--champagne)}
.faq summary{cursor:pointer;font-weight:600}
.faq details p{margin:10px 0 0;color:var(--texte2)}

/* Rendez-vous et pied de page */
.rdv{background:var(--vert);color:var(--ivoire);text-align:center}
.rdv .wrap{max-width:900px;padding-top:88px;padding-bottom:88px;display:flex;flex-direction:column;align-items:center;gap:18px}
.rdv p{margin:0;max-width:560px;color:var(--clair)}
.filet{width:72px;height:1px;background:var(--champagne)}
.pied{background:var(--vert-fonce);color:#B8C7C1;font-size:13px}
.pied .wrap{padding-top:28px;padding-bottom:28px;display:flex;flex-direction:column;gap:6px}
.pied a{color:#B8C7C1}

/* Bulle Alix */
.alix{position:fixed;right:20px;bottom:20px;z-index:50;display:flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;background:var(--vert);border:1px solid var(--champagne);border-radius:999px;text-decoration:none;color:var(--ivoire);font-size:14px;line-height:1.3}
.alix:hover{color:var(--ivoire)}
.alix img{width:52px;height:52px;border-radius:50%;border:2px solid var(--champagne);object-fit:cover}

/* Apparitions douces */
@media (prefers-reduced-motion:no-preference){
  .apparait{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
  .apparait.vu{opacity:1;transform:none}
}
@media (max-width:640px){
  .hero{min-height:640px}
  .menu{font-size:17px;gap:6px 18px}
  .alix span{display:none}
  .alix{padding:6px}
}

/* Bandeau Transmettre (Bastille) */
.histoire{position:relative;min-height:560px;display:flex;align-items:flex-end;color:var(--ivoire);overflow:hidden}
.histoire>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 6%}
.histoire .voile-bas{position:absolute;inset:0;background:linear-gradient(to top,rgba(16,48,42,.92) 0%,rgba(16,48,42,.55) 45%,rgba(16,48,42,0) 75%)}
.histoire .etiquette{color:var(--vert);z-index:1}
.histoire-texte{position:relative;width:100%;padding-top:64px;padding-bottom:64px;display:flex;flex-direction:column;gap:16px}
.histoire .sur{color:var(--champagne)}
.histoire p{margin:0;max-width:560px;color:#EDE8DD}
.histoire .btn{align-self:flex-start}

/* Bandeau rendez-vous (République) */
.rdv-photo{position:relative;overflow:hidden}
.rdv-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 0%}
.rdv-photo .voile-rdv{position:absolute;inset:0;background:var(--vert);opacity:.74}
.rdv-photo .wrap{position:relative}
.rdv-photo .etiquette{color:var(--vert);z-index:1}

/* ===== Pages intérieures ===== */
.page-tete{background:var(--vert);color:var(--ivoire);position:relative;overflow:hidden}
.page-tete::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:1px solid rgba(201,175,133,.35);border-radius:50%}
.page-tete .titre{position:relative;z-index:1;padding-top:56px;padding-bottom:72px;display:flex;flex-direction:column;gap:18px}
.page-tete .fil{font-size:13px;letter-spacing:1px;color:var(--clair)}
.page-tete .fil a{color:var(--champagne);text-decoration:none}
.page-tete h1{margin:0;max-width:760px;font-family:var(--serif);font-weight:500;font-size:clamp(38px,4.4vw,60px);line-height:1.06}
.page-tete p{margin:0;max-width:640px;font-size:19px;color:#EDE8DD}
.menu a[aria-current="page"]{color:var(--champagne);border-bottom:1px solid var(--champagne)}
.sur-or{color:var(--champagne-fonce)}
.texte-max{max-width:760px}
.texte-max p{color:var(--texte2)}

/* Profils (Votre situation) */
.profils{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.profil{background:#fff;padding:32px 30px;display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--champagne)}
.profil h3{margin:0;font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15}
.profil p{margin:0;font-size:16px;color:var(--texte2)}
.profil ul{margin:4px 0 0;padding-left:18px;font-size:15.5px;color:var(--texte2)}
.profil li{margin:4px 0}
.profil a{margin-top:auto;padding-top:8px;font-weight:600}

/* Lignes alternées (Expertises) */
.ligne-exp{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding:40px 0;border-bottom:1px solid var(--ligne)}
.ligne-exp:nth-child(even){flex-direction:row-reverse}
.ligne-exp img{flex:1 1 360px;min-width:0;max-width:520px;aspect-ratio:4/3;object-fit:cover}
.ligne-exp .txt{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:12px}
.ligne-exp h2{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(30px,3vw,40px);line-height:1.1}
.ligne-exp p{margin:0;color:var(--texte2)}
.ligne-exp ul{margin:0;padding-left:18px;color:var(--texte2)}
.ligne-exp li{margin:4px 0}
.duo{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.duo .profil{background:var(--ivoire)}

/* Simulateurs */
.simus{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px}
.simu{background:#fff;padding:32px 28px;display:flex;flex-direction:column;gap:14px;border-top:3px solid var(--vert)}
.simu h2{margin:0;font-family:var(--serif);font-weight:600;font-size:28px;line-height:1.1}
.simu label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--texte2)}
.simu input,.simu select{font:inherit;font-size:16px;padding:11px 12px;border:1px solid var(--ligne);border-radius:6px;background:var(--ivoire);color:var(--vert)}
.simu input:focus,.simu select:focus{outline:2px solid var(--champagne);outline-offset:1px}
.resultat{margin-top:6px;background:var(--vert);color:var(--ivoire);padding:18px 20px;border-radius:6px;display:flex;flex-direction:column;gap:4px}
.resultat strong{font-family:var(--serif);font-size:34px;font-weight:600;color:var(--champagne);line-height:1.1}
.resultat span{font-size:14px;color:var(--clair)}
.mention{font-size:13px;color:var(--texte3);margin:0}
.mention-forte{font-size:14px;font-weight:600;color:var(--vert);margin:0}

/* Comprendre */
.lexique{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px 36px}
.lexique dt{font-family:var(--serif);font-weight:600;font-size:22px;margin-top:8px}
.lexique dd{margin:4px 0 0;color:var(--texte2);font-size:16px}
.lexique div{border-top:1px solid var(--ligne);padding-top:10px}

/* Le cabinet */
.etapes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px;counter-reset:e}
.etapes li{counter-increment:e;background:#fff;padding:28px 24px;display:flex;flex-direction:column;gap:8px}
.etapes li::before{content:"0" counter(e);font-family:var(--serif);font-size:40px;color:var(--champagne);line-height:1}
.etapes strong{font-family:var(--serif);font-size:23px;font-weight:600}
.etapes span{font-size:15.5px;color:var(--texte2)}
.partenaires{display:flex;flex-wrap:wrap;gap:16px}
.partenaires span{padding:14px 26px;border:1px solid var(--champagne);border-radius:6px;font-family:var(--serif);font-size:22px;font-weight:600;background:#fff}
.encadre{background:var(--beige);padding:28px 30px;border-left:3px solid var(--champagne)}
.encadre p{margin:0 0 8px;color:var(--texte2);font-size:16px}
.encadre p:last-child{margin:0}

/* Lien vers ALEM Courtage dans le menu (mise en ligne 24/10/2026) */
.entete .menu .vers-courtage{font-size:.82em;padding:3px 11px!important}
@media (max-width:1280px){.entete .menu{column-gap:18px;font-size:17px}}
