/* Guide Un bon courtier — feuille de style partagée.
   Direction : fond blanc, texte noir, accent rouge (esprit Engel & Völkers), filet rouge aux deux tiers sous les titres d'articles.
   Polices : Arapey (titres) + Heebo (texte), comme unboncourtier.com. */
:root{
  --bg:#FFFFFF; --surface:#FFFFFF; --soft:#F5F5F5; --ink:#1A1A1A; --ink-2:#555555; --line:#E2E2E2;
  --black:#111111; --red:#E2001A; --red-ink:#B80015;
  --display:"Arapey",Georgia,"Times New Roman",serif;
  --body:"Heebo","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --maxw:72rem; --read:44rem;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-underline-offset:3px;text-decoration-color:var(--red)}
a:hover{color:var(--red-ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--red);outline-offset:3px}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;margin:0;text-wrap:balance;color:var(--black)}
h1{font-size:clamp(2.1rem,5.5vw,3.4rem)}
h2{font-size:clamp(1.55rem,3.2vw,2.1rem)}
h3{font-size:1.2rem;font-family:var(--body);font-weight:600;color:var(--ink)}
.eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:600}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:20px}
.read{max-width:var(--read)}
.skip{position:absolute;left:-999px;top:0;background:var(--black);color:#fff;padding:8px 12px}
.skip:focus{left:12px;top:12px;z-index:50}
/* Filet rouge aux deux tiers sous un titre */
.rule::after{content:"";display:block;width:66%;max-width:22rem;height:2px;background:var(--red);margin-top:14px}

/* En-tête */
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;flex-wrap:wrap;padding-block:12px}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none}
.brand img{height:44px;width:auto}
.brand span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.nav{display:flex;gap:10px 22px;flex-wrap:wrap;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
.nav a{color:var(--ink);text-decoration:none;border-bottom:2px solid transparent;padding-bottom:2px}
.nav a:hover,.nav a[aria-current]{border-color:var(--red);color:var(--ink)}

/* Accueil */
.hero{background:#fff;padding-block:56px 64px}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.3rem,5.5vw,3.8rem)}
.hero p{color:var(--ink-2);font-size:1.1rem;max-width:36rem}
.hero img{height:clamp(380px,38vw,480px);width:auto;max-height:none;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;justify-self:end}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-block;padding:12px 20px;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid var(--black);color:var(--black);background:transparent;cursor:pointer;font-family:var(--body)}
.btn.solid{background:var(--black);color:#fff}
.btn.red{background:var(--red);color:#fff;border-color:var(--red)}
.btn:hover{background:var(--red);color:#fff;border-color:var(--red)}

.section{padding-block:56px}
.section + .section{border-top:1px solid var(--line)}
.section-head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.card{background:var(--surface);border:1px solid var(--line);padding:22px 22px 20px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card .eyebrow{color:var(--ink-2)}
.card h3{font-family:var(--display);font-weight:400;font-size:1.35rem;line-height:1.2;color:var(--black)}
.card h3::after{content:"";display:block;width:66%;height:2px;background:var(--red);margin-top:10px}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--red-ink)}
.card p{color:var(--ink-2);font-size:15.5px;margin:0}
.card .more{margin-top:auto;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--black)}
.card.soon{border-style:dashed;background:transparent}
.card.soon h3::after{background:var(--line)}
.card.soon .more{color:var(--ink-2)}

/* Rapport du marché mis en avant */
.report{background:var(--soft);padding-block:48px;border-bottom:1px solid var(--line)}
.report .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.report h2{font-size:clamp(1.8rem,3.6vw,2.5rem)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:14px;margin-top:22px}
.stat{background:#fff;border:1px solid var(--line);padding:14px 16px}
.stat b{display:block;font-family:var(--display);font-size:1.9rem;line-height:1.1;color:var(--black);font-weight:400;font-variant-numeric:tabular-nums}
.stat span{display:block;font-size:13px;color:var(--ink-2);margin-top:4px}
.stat small{display:block;font-size:12px;color:var(--red-ink);margin-top:2px}
.note{font-size:13px;color:var(--ink-2)}

/* Formulaire du rapport */
.lead-form{background:#fff;border:1px solid var(--line);border-top:3px solid var(--red);padding:24px}
.lead-form h3{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--black)}
.lead-form p{font-size:15px;color:var(--ink-2)}
.lead-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lead-form label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}
.lead-form input,.lead-form select{width:100%;padding:11px 12px;border:1px solid #C9C9C9;background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.lead-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--ink-2);margin-top:14px;font-weight:400}
.lead-form .consent input{width:auto;margin-top:4px}
.lead-form button{margin-top:16px;width:100%}
.lead-form .fine{font-size:12px;color:var(--ink-2);margin:10px 0 0}
.lead-form .done{display:none;padding:16px;background:var(--soft);border:1px solid var(--line)}
.lead-form.sent form{display:none}
.lead-form.sent .done{display:block}
.lead-form .done p{margin:0;font-size:15px;color:var(--ink)}
.lead-form .done .si-perso,.lead-form .done .si-general{display:none}
.lead-form.perso .done .si-perso,.lead-form.general .done .si-general{display:block}

.about{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start}
.about img{width:200px;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}
.about dl{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;margin:14px 0 0;font-size:15px}
.about dt{color:var(--ink-2)}
.about dd{margin:0;min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* Article */
.article-head{background:#fff;border-bottom:1px solid var(--line);padding-block:40px 36px}
.crumbs{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.crumbs a{color:inherit;text-decoration:none}
.crumbs a:hover{color:var(--red-ink)}
.byline{color:var(--ink-2);font-size:15px;margin-top:14px}
.byline b{color:var(--ink);font-weight:600}
.answer{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--red);padding:22px 24px;margin-block:36px 10px}
.answer .eyebrow{display:block;margin-bottom:8px}
.answer p{margin:0;font-size:1.05rem}
article{padding-block:16px 56px;display:flex;flex-direction:column;gap:38px}
article section{display:flex;flex-direction:column;gap:14px}
article section p{margin:0}
article h2{margin-bottom:4px}
article ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.lead{font-weight:600;margin:0}
.tablebox{overflow-x:auto;border:1px solid var(--line);background:#fff}
table{border-collapse:collapse;width:100%;min-width:34rem;font-size:15px;line-height:1.5}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-weight:600;background:var(--soft)}
tr:last-child td{border-bottom:0}
td:first-child{font-weight:600;white-space:nowrap}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.faq{display:flex;flex-direction:column;gap:18px}
.faq div{border-top:1px solid var(--line);padding-top:16px}
.faq h3{margin-bottom:6px}
.faq p{margin:0}
.author{background:var(--soft);border:1px solid var(--line);padding:22px 24px;display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start}
.author img{width:120px;aspect-ratio:3/4;object-fit:cover;object-position:center 30%}
.author .name{font-family:var(--display);font-size:1.5rem;color:var(--black)}
.author p{margin:6px 0 0;font-size:15.5px}
.author dl{display:grid;grid-template-columns:auto 1fr;gap:3px 16px;margin:10px 0 0;font-size:14.5px}
.author dt{color:var(--ink-2)}
.author dd{margin:0;min-width:0;overflow-wrap:anywhere}
.sources{font-size:14px;color:var(--ink-2)}
.sources ul{margin:6px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:4px}
.cta-band{background:var(--black);color:#fff;padding-block:44px}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.cta-band h2{color:#fff}
.cta-band p{color:#CFCFCF;margin:6px 0 0}
.cta-band .btn{border-color:#fff;color:#fff}
.cta-band .btn.red{background:var(--red);border-color:var(--red)}
.cta-band .btn:hover{background:#fff;color:var(--black);border-color:#fff}

/* Pied de page */
.site-footer{background:#111111;color:#BDBDBD;font-size:14px;padding-block:32px}
.site-footer .wrap{display:flex;flex-direction:column;gap:10px}
.site-footer a{color:#fff}
.site-footer .legal{color:#8F8F8F}

@media (max-width:760px){
  .hero .wrap,.report .wrap{grid-template-columns:1fr}
  .hero img{justify-self:start;height:360px}
  .about{grid-template-columns:1fr}
  .about img{width:160px}
  .author{grid-template-columns:1fr}
  .lead-form .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
