/* Maison Ilé Ifè — V9.3 · mobile-first pour TOUTE la page.
   Base téléphone (280–599px), tablette (600–1099px), desktop (1100px+).
   Le contenu du dossier et les images ne sont pas changés. */
:root{
  --mf-ink:#143024;
  --mf-green:#0b2b20;
  --mf-green-2:#174031;
  --mf-cream:#f7f6f1;
  --mf-coral:#b65238;
  --mf-text-light:#f7fbf7;
  --mf-text-muted:#d8e6db;
  --mf-rule:#d9dfd6;
  --mf-gutter:clamp(16px,4.6vw,28px);
  --gutter:var(--mf-gutter);
}
html{scroll-padding-top:calc(var(--header-h,68px) + 16px)}
body{overflow-x:clip;font-size:1rem;line-height:1.62}
*,*::before,*::after{box-sizing:border-box}
:is(.section,.hero,.footer) :is(p,h1,h2,h3,h4,li,dt,dd,span,a){overflow-wrap:break-word}
:is(.section,.hero,.footer) :is(img,picture,svg,video){max-width:100%}
img{height:auto}
.wrap,.wrap--narrow{width:100%;max-width:calc(1200px + var(--mf-gutter)*2);margin-inline:auto;padding-inline:var(--mf-gutter)}
.wrap--narrow{max-width:calc(900px + var(--mf-gutter)*2)}
.section,.hero,.footer{min-width:0}
.section{padding-block:48px}
.section__head{max-width:100%;margin-bottom:24px}
.h1{font-size:clamp(2.6rem,11vw,3.8rem);line-height:1.07;max-width:100%}
.h2{font-size:clamp(1.85rem,7.4vw,2.5rem);line-height:1.14;max-width:24ch}
.h3{font-size:clamp(1.28rem,5vw,1.65rem);line-height:1.24}
.h4{font-size:1.04rem}
.lead{font-size:1rem;line-height:1.63;max-width:65ch}
.section__eyebrow{margin-bottom:12px!important;line-height:1.4;letter-spacing:.095em;flex-wrap:wrap}
.credit{font-size:.79rem;line-height:1.5}
.btn{min-height:46px;white-space:normal;text-align:center;line-height:1.35;padding:11px 16px}
.btn--coral,.btn--ink,.btn--coral *,.btn--ink *{color:#fff!important}
:is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid #f3a17e;outline-offset:3px}
:is(.split,.gallery,.plan,.plans,.formulas,.sim,.tr,.stress,.includes,.duo,.climate__grid,.section__head) > *{min-width:0}

/* Navigation d'abord téléphone */
.site-header .site-header__in{gap:14px}
.site-header .brand__logo{max-width:min(38vw,150px);height:auto}
.site-header .burger{min-width:44px;min-height:44px}
.site-header .nav{max-width:calc(100vw - 2*var(--mf-gutter));max-height:calc(100dvh - var(--header-h,68px) - 16px);overflow:auto;overscroll-behavior:contain}
.site-header .nav a{min-height:44px;display:flex;align-items:center}

/* 00. Accueil : ordre logique texte → architecture → chiffres. */
.hero{padding-top:calc(var(--header-h,68px) + 22px)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:25px}
.hero__copy{min-width:0}
.hero__lead{font-size:1.05rem;line-height:1.6;margin-top:17px}
.hero__eyebrow{font-size:.75rem;line-height:1.55}
.hero__coverline{font-size:.88rem;line-height:1.58}
.hero__cta--v9{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}
.hero__cta--v9 .btn{width:100%;min-height:50px;justify-content:center;white-space:normal}
.hero__file{font-size:.87rem;margin-top:13px}
.hero__file a{min-height:44px;max-width:100%}
.hero__arch{width:min(100%,420px);max-width:420px;justify-self:center;margin:0}
.hero__arch .credit{margin-top:10px;text-align:center}
.hero__stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0;border-top:1px solid #315344!important}
.hero__stats>div{padding:17px 10px 16px 0;min-width:0}
.hero__stats>div:nth-child(2n){padding-left:13px}
.hero__stats>div:nth-child(n+3){border-top:1px solid #315344}
.hero__stats dd{font-size:clamp(1.42rem,6vw,1.93rem);line-height:1.19;overflow-wrap:normal}
.hero__stats dt{font-size:.82rem;line-height:1.43}

/* 01. Projet : financement bien lisible, pas de cartes empilées dans des cartes. */
.split,.split--wide,.split--eco,.split--loc,.split--porteur,.split--form{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
.steps3{max-width:none;margin-top:22px}
.steps3 li{line-height:1.55;padding:14px 0 14px 42px}
.steps3 li::before{left:3px}
.fund{width:100%;max-width:100%;padding:21px;border-radius:8px}
.fund__bar{max-width:100%;overflow:hidden}
.fund__seg strong{font-size:clamp(1.2rem,5.4vw,1.6rem)}
.fund__legend{display:grid;gap:12px}
.fund__legend li{min-width:0;line-height:1.52}

/* 02. Architecture : image vedette, miniatures utilisables au doigt. */
#concept .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
#concept .section__head{margin-bottom:21px}
#concept .gallery{width:100%;margin:0;min-width:0}
.gallery__stage{aspect-ratio:4/3;min-width:0}
.gallery__nav{width:44px;height:44px}
.gallery__thumbs{display:flex;flex-wrap:nowrap;gap:7px;max-width:100%;overflow-x:auto;padding:5px 2px 12px;scroll-snap-type:x proximity;scrollbar-width:thin}
.gallery__thumbs li{flex:0 0 74px;scroll-snap-align:start}
.gallery__thumbs .thumb{width:74px;height:58px}
.gallery__bottom{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.gallery__tour{min-height:44px;color:#fff!important}
#concept .concept__cols{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
#concept .concept__col{min-width:0}
#concept .roles{display:flex;flex-wrap:wrap;gap:10px 20px;line-height:1.55;margin-top:16px}

/* 03. Éco-construction : arguments séquentiels, image entière. */
#ecologie .earth{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;margin-top:22px}
#ecologie .eco__fig{margin:0}
#ecologie .eco__fig img{width:100%;aspect-ratio:4/3;object-fit:cover}
#ecologie .quote{margin-top:27px}

/* 04. Climat : onglets fluides, schéma non rogné, comparaison en lignes. */
#climat .climate__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
#climat .climate__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-items:start}
#climat .ctab{min-width:0;min-height:50px;line-height:1.4;white-space:normal;padding:11px 9px}
#climat .climate__text{grid-column:1/-1;line-height:1.6;min-height:0}
#climat .climate__fig{min-width:0}
#climat .climate__svg{display:block;width:100%;height:auto;max-height:none;overflow:visible}
#climat .climate__legend{display:flex;flex-wrap:wrap;gap:8px 15px;line-height:1.45}
#climat .compare{margin-top:31px}
#climat .compare__head{display:grid;gap:14px}
#climat .seg{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
#climat .seg__b{width:100%;min-width:0;white-space:normal;min-height:44px;text-align:center}
#climat .compare__table,#climat .compare__table tbody,#climat .compare__table tr,#climat .compare__table th,#climat .compare__table td{display:block;width:100%!important;max-width:100%;min-width:0}
#climat .compare__table thead{display:none}
#climat .compare__table tbody tr{margin:0;padding:15px 0;border-bottom:1px solid #42614e}
#climat .compare__table tbody th{padding:0 0 9px;font-size:.99rem;color:#fff!important;border:0;text-align:left}
#climat .compare__table tbody td{padding:7px 0;border:0;line-height:1.55;color:#e3eee6!important;text-align:left;overflow-wrap:break-word}
#climat .compare__table td.c-classic::before,#climat .compare__table td.c-ile::before{display:block;font-size:.79rem;letter-spacing:.01em;margin-bottom:3px;font-weight:800;color:#ffb9a1}
#climat .compare__table td.c-classic::before{content:'Construction classique en parpaing'}
#climat .compare__table td.c-ile::before{content:'Maison Ilé Ifè'}
#climat .duo{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}

/* 05. Plans : image puis chambres; surfaces en deux colonnes. */
#plans .facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
#plans .facts>div{min-width:0;padding:13px 10px 14px 0}
#plans .facts>div+div{padding-left:0;border-left:0}
#plans .facts>div:nth-child(2n){padding-left:12px;border-left:1px solid var(--mf-rule)}
#plans .facts>div:nth-child(n+3){border-top:1px solid var(--mf-rule)}
#plans .facts dd{font-size:clamp(1.65rem,6vw,2.15rem);line-height:1.2}
#plans .plans{margin-top:24px}
#plans .plans__tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:100%}
#plans .ptab{min-height:46px;width:100%;padding:10px;border-radius:6px;white-space:normal}
#plans .plan{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
#plans .plan__fig,#plans .plan__stage{width:100%;max-width:none;min-width:0;margin:0}
#plans .plan__stage img{display:block;width:100%;height:100%;object-fit:contain}
#plans .pin{width:44px;height:44px;min-width:44px;min-height:44px}
#plans .pin__tip{max-width:185px;white-space:normal;z-index:2;line-height:1.25}
#plans .rooms{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;align-content:start}
#plans .rooms li{min-width:0}
#plans .rooms li button{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:9px;min-height:46px;padding:11px 12px}
#plans .rooms li button span{min-width:0;overflow-wrap:break-word}
#plans .rooms li button b{display:inline-block;white-space:normal;text-align:right;flex:0 0 auto;font-size:.75rem}
#plans .includes{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:27px}
#plans .ticks{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
#plans .includes__fig{margin:0}
#plans .includes__fig img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* 06. Localisation : trajets et perspective. */
#localisation .ladder{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
#localisation .ladder__top{display:flex;flex-wrap:wrap;gap:5px 12px;justify-content:space-between;align-items:baseline}
#localisation .ladder__name{min-width:0}
#localisation .loc__fig{margin:0}
#localisation .loc__img{width:100%;aspect-ratio:4/3;object-fit:cover}
#localisation .callout{padding:17px 18px;max-width:none}

/* 07. Investissement : en mobile une pile lisible sans tableau écrasé. */
#investir .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
#investir .section__head{margin-bottom:0}
#investir .formulas{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:0;width:100%;max-width:100%;min-width:0}
#investir .formula__body{width:100%;padding:18px}
#investir .formula__stake{font-size:clamp(1.78rem,7vw,2.5rem);line-height:1.2}
#investir .formula__rows span{gap:8px;align-items:baseline}
#investir .sim{width:100%;max-width:100%;min-width:0;padding:18px 16px;overflow:visible;border-radius:6px}
#investir .sim__read{min-height:0}
#investir .chart__plot{height:clamp(190px,53vw,250px)}
#investir .chart__years{min-width:0}
#investir .chart__legend{display:flex;flex-wrap:wrap;gap:8px 17px}
#investir .sim__controls{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#investir .sim__controls label{white-space:normal}
#investir .sim__controls .btn{justify-self:start}
#investir .kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
#investir .kpis>div{min-width:0;padding:14px 8px}
#investir .kpis dd{font-size:clamp(.99rem,4vw,1.24rem);overflow-wrap:break-word}
#investir .sim__cta{display:grid;gap:9px;grid-template-columns:minmax(0,1fr)}
#investir .sim__cta .btn{width:100%}
#investir .schedule-more{margin-top:19px}
#investir .schedule-desktop{display:none!important}
#investir .schedule-mobile{display:grid!important;gap:10px}
#investir .sched-card{min-width:0;padding:13px}
#investir .sched-card__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
#investir .sched-card__col{min-width:0}
#investir .tr{width:100%;max-width:100%;min-width:0;padding:18px 16px;margin:0}
#investir .tr__bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
#investir .tr__seg{min-width:0;min-height:82px;padding:10px!important}
#investir .tr__name{display:block;font-size:.8rem}
#investir .tr__pct{font-size:1.35rem}
#investir .tr__amts{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
#investir .journey--h{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin:5px 0 0}
#investir .journey--h li{min-width:0}

/* 08. Rentabilité : graphiques et données détaillées accessibles. */
#rentabilite .stress{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:19px 16px}
#rentabilite .range label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;white-space:normal}
#rentabilite .stress__out{min-width:0}
#rentabilite .stress__out>div{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between}
#rentabilite .stress__out dt,#rentabilite .stress__out dd{overflow-wrap:break-word;max-width:100%}
#rentabilite .duo{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
#rentabilite .tbl--yields,#rentabilite .tbl--yields tbody,#rentabilite .tbl--yields tr,#rentabilite .tbl--yields th,#rentabilite .tbl--yields td{display:block;width:100%;min-width:0;max-width:100%}
#rentabilite .tbl--yields thead{display:none}
#rentabilite .tbl--yields tbody tr{padding:12px 0;border-bottom:1px solid #41604f}
#rentabilite .tbl--yields tbody th,#rentabilite .tbl--yields tbody td{padding:4px 0;border:0;text-align:left;overflow-wrap:break-word;white-space:normal}
#rentabilite .tbl--yields .hide-s{display:block!important;color:#d8e7dd!important;font-size:.82rem}
#rentabilite .tbl--yields th,#rentabilite .tbl--yields .num{color:#fff!important}
#rentabilite .table-more--dark{max-width:100%;min-width:0}
#rentabilite .table-more--dark .table-scroll{max-width:100%;min-width:0;overflow:visible}
#rentabilite .table-more--dark .tbl,#rentabilite .table-more--dark .tbl thead,#rentabilite .table-more--dark .tbl tbody,#rentabilite .table-more--dark .tbl tr,#rentabilite .table-more--dark .tbl th,#rentabilite .table-more--dark .tbl td{display:block;width:100%;max-width:100%;min-width:0}
#rentabilite .table-more--dark .tbl thead{display:none}
#rentabilite .table-more--dark .tbl tbody tr{padding:15px 0;border-bottom:1px solid #446453}
#rentabilite .table-more--dark .tbl tbody th{padding:0 0 7px;color:#fff!important;font-size:.97rem}
#rentabilite .table-more--dark .tbl tbody td{padding:5px 0;border:0;text-align:left;color:#f7fbf7!important;overflow-wrap:break-word}
#rentabilite .table-more--dark .tbl tbody td::before{display:block;margin-bottom:2px;font-size:.75rem;font-weight:750;color:#f2b6a0}
#rentabilite .table-more--dark .tbl tbody td:nth-child(2)::before{content:'Par villa et par mois'}
#rentabilite .table-more--dark .tbl tbody td:nth-child(3)::before{content:'Par villa et par an'}
#rentabilite .table-more--dark .tbl tbody td:nth-child(4)::before{content:'2 villas par an'}

/* 09. Équipe : timeline en lecture verticale. */
#porteur .split--porteur{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
#porteur .facts--tight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
#porteur .facts--tight>div{min-width:0;padding:13px 11px 13px 0}
#porteur .facts--tight>div+div{padding-left:0;border-left:0}
#porteur .facts--tight>div:nth-child(2n){padding-left:12px;border-left:1px solid var(--mf-rule)}
#porteur .facts--tight>div:nth-child(n+3){border-top:1px solid var(--mf-rule)}
#porteur .facts--tight dd{font-size:clamp(1.45rem,5.4vw,2rem)}
#porteur .journey--v{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
#porteur .duo{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}

/* 10. Pourquoi investir + ODD : jamais quatre cases microscopiques. */
#pourquoi .why{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
#pourquoi .odd__title{margin-top:30px}
#pourquoi .odd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#pourquoi .odd__item{min-height:116px;min-width:0;padding:12px;border-radius:6px}
#pourquoi .odd__item span{font-size:.78rem;line-height:1.48;overflow-wrap:break-word}

/* 11. FAQ : zones tactiles et réponse lisible. */
#faq .faq{margin-top:20px}
#faq .faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:50px;padding:15px 8px;font-size:.99rem;line-height:1.5}
#faq .faq__item summary span{flex:1;min-width:0}
#faq .faq__ico{flex:none}
#faq .faq__item p{font-size:.95rem;line-height:1.65}

/* 12. Formulaire : une colonne avant toute mise en grille. */
#reserver .reserve .wrap,#reserver .split--form{display:grid;grid-template-columns:minmax(0,1fr);gap:26px}
#reserver .formcard{width:100%;max-width:100%;min-width:0;padding:20px 16px}
#reserver .form__formula{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}
#reserver .form__formula .pill{min-width:0}
#reserver .form__formula .pill span{display:flex;justify-content:center;min-height:45px;text-align:center}
#reserver .field-row{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
#reserver .field input,#reserver .field textarea,#reserver .field select{width:100%;max-width:100%}
#reserver .contact li,#reserver .contact a,#reserver .contact__addr{max-width:100%;min-width:0}
#reserver .check{display:flex;align-items:flex-start;gap:10px}
#reserver .check input{flex:0 0 20px;width:20px;height:20px;min-height:20px!important;margin:3px 0 0}
#reserver .check span{min-width:0;overflow-wrap:break-word}

/* Le footer V9.2 reste mobile-first, les barres flottantes évitent les contacts. */
.dock{max-width:calc(100vw - 24px);padding:7px 8px;gap:7px}
.dock .btn{min-width:0;min-height:43px;font-size:.83rem;padding:9px 11px}
.wa{right:16px;bottom:calc(86px + env(safe-area-inset-bottom,0px));width:48px;height:48px}
.footer.footer--v91{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}

/* Tablette : deux colonnes seulement lorsque la place le permet. */
@media (min-width:600px){
  .section{padding-block:58px}
  .h2{font-size:clamp(2.15rem,4.4vw,2.65rem)}
  .hero__cta--v9{display:flex;flex-wrap:wrap}
  .hero__cta--v9 .btn{width:auto}
  .hero__stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .hero__stats>div{padding:18px 14px!important;border-top:0!important}
  .hero__stats>div+div{border-left:1px solid #315344;padding-left:15px!important}
  #ecologie .earth{grid-template-columns:repeat(2,minmax(0,1fr))}
  #plans .rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
  #plans .plan{gap:23px}
  #plans .ticks{grid-template-columns:repeat(2,minmax(0,1fr))}
  #investir .formulas{grid-template-columns:repeat(2,minmax(0,1fr))}
  #investir .sched-card__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #investir .tr__bar{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  #investir .tr__seg{min-height:94px}
  #investir .tr__amts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #investir .journey--h{grid-template-columns:repeat(2,minmax(0,1fr))}
  #porteur .facts--tight{grid-template-columns:repeat(3,minmax(0,1fr))}
  #porteur .facts--tight>div{padding:13px 12px!important;border-top:0!important}
  #porteur .facts--tight>div+div{border-left:1px solid var(--mf-rule)}
  #pourquoi .why{grid-template-columns:repeat(2,minmax(0,1fr))}
  #reserver .form__formula{grid-template-columns:repeat(3,minmax(0,1fr))}
  #reserver .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer.footer--v91{padding-bottom:32px}
  .wa{bottom:24px}
}
@media (min-width:760px){
  .section{padding-block:64px}
  #concept .concept__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
  #climat .seg{display:flex;flex-wrap:wrap;width:auto;gap:8px}
  #climat .seg__b{width:auto}
  #climat .compare__table{display:table;width:100%;table-layout:fixed;border-collapse:collapse}
  #climat .compare__table thead{display:table-header-group}
  #climat .compare__table tbody{display:table-row-group}
  #climat .compare__table tr{display:table-row}
  #climat .compare__table th,#climat .compare__table td{display:table-cell;width:auto!important;padding:12px 13px!important;vertical-align:top;overflow-wrap:break-word}
  #climat .compare__table tbody th{width:23%!important}
  #climat .compare__table td.c-classic::before,#climat .compare__table td.c-ile::before{display:none}
  #plans .facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  #plans .facts>div{padding:14px 12px!important;border-top:0!important}
  #plans .facts>div+div{border-left:1px solid var(--mf-rule)}
  #investir .sim{padding:26px}
  #investir .sim__controls{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
  #investir .sim__cta{grid-template-columns:auto minmax(0,1fr);align-items:center}
  #investir .sim__cta .btn{width:auto}
  #rentabilite .stress{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;padding:26px}
  #rentabilite .duo,#porteur .duo{grid-template-columns:repeat(2,minmax(0,1fr))}
  #pourquoi .odd{grid-template-columns:repeat(4,minmax(0,1fr))}
  #reserver .formcard{padding:26px}
}
@media (min-width:1024px){
  .section{padding-block:72px}
  .hero__grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:45px;padding-bottom:35px}
  .hero__arch{max-width:480px}
  .split--wide{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:45px}
  #concept .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);grid-template-areas:'head head' 'gallery cols' 'gallery roles';gap:18px 42px;align-items:start}
  #concept .section__head{grid-area:head}
  #concept .gallery{grid-area:gallery}
  #concept .concept__cols{grid-area:cols;grid-template-columns:minmax(0,1fr);margin-top:0}
  #concept .roles{grid-area:roles}
  .split--eco,.split--loc,.split--porteur{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px}
  #ecologie .eco__fig img{aspect-ratio:4/5}
  #climat .climate__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:35px}
  #plans .plan{grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);gap:30px}
  #plans .rooms{grid-template-columns:minmax(0,1fr)}
  #plans .includes{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px}
  #reserver .split--form{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:40px}
}
@media (min-width:1200px){
  #investir .wrap{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);grid-template-areas:'head head' 'formulas tr' 'sim sim' 'journey journey';align-items:start;gap:26px 32px}
  #investir .section__head{grid-area:head}
  #investir .formulas{grid-area:formulas}
  #investir .tr{grid-area:tr}
  #investir .sim{grid-area:sim}
  #investir .journey--h{grid-area:journey;grid-template-columns:repeat(4,minmax(0,1fr))}
  #investir .schedule-desktop{display:block!important}
  #investir .schedule-mobile{display:none!important}
  #investir .schedule-desktop .table-scroll{width:100%;max-width:100%;overflow-x:visible}
  #investir .tbl--schedule{width:100%;table-layout:fixed;min-width:0!important}
  #investir .tbl--schedule th,#investir .tbl--schedule td{white-space:normal;overflow-wrap:break-word;word-break:normal;font-size:.9rem;padding:12px 10px}
  #investir .tbl--schedule tbody th{min-width:0!important;width:22%}
  #investir .tbl--schedule thead th:first-child{width:22%}
  #investir .tbl--schedule thead th:not(:first-child){width:15.6%}
  #rentabilite .tbl--yields{display:table;width:100%}
  #rentabilite .tbl--yields thead{display:table-header-group}
  #rentabilite .tbl--yields tbody{display:table-row-group}
  #rentabilite .tbl--yields tr{display:table-row}
  #rentabilite .tbl--yields th,#rentabilite .tbl--yields td{display:table-cell;width:auto;padding:11px 12px}
  #rentabilite .tbl--yields .hide-s{display:table-cell!important}
  #rentabilite .table-more--dark .table-scroll{overflow-x:auto}
  #rentabilite .table-more--dark .tbl{display:table;min-width:760px}
  #rentabilite .table-more--dark .tbl thead{display:table-header-group}
  #rentabilite .table-more--dark .tbl tbody{display:table-row-group}
  #rentabilite .table-more--dark .tbl tr{display:table-row}
  #rentabilite .table-more--dark .tbl th,#rentabilite .table-more--dark .tbl td{display:table-cell;width:auto;padding:11px 12px}
  #rentabilite .table-more--dark .tbl tbody td::before{display:none}
  #pourquoi .why{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:359px){
  #climat .climate__tabs{grid-template-columns:minmax(0,1fr)}
  #investir .kpis{grid-template-columns:minmax(0,1fr)}
  #plans .rooms li button b{font-size:.7rem}
  #pourquoi .odd{grid-template-columns:minmax(0,1fr)}
  .hero__stats dd{font-size:1.37rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Bouton Lecture du simulateur : fond blanc, texte vert foncé. */
#investir .sim .btn--ink,#investir .sim .btn--ink *{background-color:#fff!important;color:#0b2b20!important}
#investir .sim .btn--ink:hover{background-color:#eaf1eb!important}
/* Desktop : l'en-tête peut grandir lorsque la police est augmentée.
   Sticky plutôt que fixed = aucun lien coupé ou superposé au contenu. */
@media (min-width:1061px){
  .site-header{position:sticky;inset:auto;top:0;height:auto;min-height:var(--header-h,68px)}
  .site-header__in{height:auto;min-height:var(--header-h,68px);padding-block:8px;flex-wrap:wrap;gap:8px 16px}
  .site-header .nav{display:flex;flex:1 1 620px;flex-wrap:wrap;min-width:0;max-width:100%;gap:5px 14px;justify-content:flex-end;align-content:center}
  .site-header .nav a{flex:0 0 auto;min-height:40px}
  .hero{padding-top:40px}
}
